winevulkan: Update to VK spec version 1.3.259.

This commit is contained in:
Georg Lehmann 2023-07-22 16:46:06 +02:00 committed by Alexandre Julliard
parent 330ef7a10b
commit b5e19a33c9
7 changed files with 291 additions and 6 deletions

View file

@ -2329,6 +2329,15 @@ void WINAPI vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer,
UNIX_CALL(vkCmdUpdateBuffer, &params);
}
void WINAPI vkCmdUpdatePipelineIndirectBufferNV(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
{
struct vkCmdUpdatePipelineIndirectBufferNV_params params;
params.commandBuffer = commandBuffer;
params.pipelineBindPoint = pipelineBindPoint;
params.pipeline = pipeline;
UNIX_CALL(vkCmdUpdatePipelineIndirectBufferNV, &params);
}
void WINAPI vkCmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent *pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier *pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier *pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier *pImageMemoryBarriers)
{
struct vkCmdWaitEvents_params params;
@ -4993,6 +5002,28 @@ VkResult WINAPI vkGetPipelineExecutableStatisticsKHR(VkDevice device, const VkPi
return params.result;
}
VkDeviceAddress WINAPI vkGetPipelineIndirectDeviceAddressNV(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV *pInfo)
{
struct vkGetPipelineIndirectDeviceAddressNV_params params;
NTSTATUS status;
params.device = device;
params.pInfo = pInfo;
status = UNIX_CALL(vkGetPipelineIndirectDeviceAddressNV, &params);
assert(!status && "vkGetPipelineIndirectDeviceAddressNV");
return params.result;
}
void WINAPI vkGetPipelineIndirectMemoryRequirementsNV(VkDevice device, const VkComputePipelineCreateInfo *pCreateInfo, VkMemoryRequirements2 *pMemoryRequirements)
{
struct vkGetPipelineIndirectMemoryRequirementsNV_params params;
NTSTATUS status;
params.device = device;
params.pCreateInfo = pCreateInfo;
params.pMemoryRequirements = pMemoryRequirements;
status = UNIX_CALL(vkGetPipelineIndirectMemoryRequirementsNV, &params);
assert(!status && "vkGetPipelineIndirectMemoryRequirementsNV");
}
VkResult WINAPI vkGetPipelinePropertiesEXT(VkDevice device, const VkPipelineInfoEXT *pPipelineInfo, VkBaseOutStructure *pPipelineProperties)
{
struct vkGetPipelinePropertiesEXT_params params;
@ -6092,6 +6123,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkCmdTraceRaysKHR", vkCmdTraceRaysKHR},
{"vkCmdTraceRaysNV", vkCmdTraceRaysNV},
{"vkCmdUpdateBuffer", vkCmdUpdateBuffer},
{"vkCmdUpdatePipelineIndirectBufferNV", vkCmdUpdatePipelineIndirectBufferNV},
{"vkCmdWaitEvents", vkCmdWaitEvents},
{"vkCmdWaitEvents2", vkCmdWaitEvents2},
{"vkCmdWaitEvents2KHR", vkCmdWaitEvents2KHR},
@ -6266,6 +6298,8 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkGetPipelineExecutableInternalRepresentationsKHR", vkGetPipelineExecutableInternalRepresentationsKHR},
{"vkGetPipelineExecutablePropertiesKHR", vkGetPipelineExecutablePropertiesKHR},
{"vkGetPipelineExecutableStatisticsKHR", vkGetPipelineExecutableStatisticsKHR},
{"vkGetPipelineIndirectDeviceAddressNV", vkGetPipelineIndirectDeviceAddressNV},
{"vkGetPipelineIndirectMemoryRequirementsNV", vkGetPipelineIndirectMemoryRequirementsNV},
{"vkGetPipelinePropertiesEXT", vkGetPipelinePropertiesEXT},
{"vkGetPrivateData", vkGetPrivateData},
{"vkGetPrivateDataEXT", vkGetPrivateDataEXT},

View file

@ -256,6 +256,7 @@ enum unix_call
unix_vkCmdTraceRaysKHR,
unix_vkCmdTraceRaysNV,
unix_vkCmdUpdateBuffer,
unix_vkCmdUpdatePipelineIndirectBufferNV,
unix_vkCmdWaitEvents,
unix_vkCmdWaitEvents2,
unix_vkCmdWaitEvents2KHR,
@ -492,6 +493,8 @@ enum unix_call
unix_vkGetPipelineExecutableInternalRepresentationsKHR,
unix_vkGetPipelineExecutablePropertiesKHR,
unix_vkGetPipelineExecutableStatisticsKHR,
unix_vkGetPipelineIndirectDeviceAddressNV,
unix_vkGetPipelineIndirectMemoryRequirementsNV,
unix_vkGetPipelinePropertiesEXT,
unix_vkGetPrivateData,
unix_vkGetPrivateDataEXT,
@ -2374,6 +2377,13 @@ struct vkCmdUpdateBuffer_params
const void *pData;
};
struct vkCmdUpdatePipelineIndirectBufferNV_params
{
VkCommandBuffer commandBuffer;
VkPipelineBindPoint pipelineBindPoint;
VkPipeline DECLSPEC_ALIGN(8) pipeline;
};
struct vkCmdWaitEvents_params
{
VkCommandBuffer commandBuffer;
@ -4244,6 +4254,20 @@ struct vkGetPipelineExecutableStatisticsKHR_params
VkResult result;
};
struct vkGetPipelineIndirectDeviceAddressNV_params
{
VkDevice device;
const VkPipelineIndirectDeviceAddressInfoNV *pInfo;
VkDeviceAddress result;
};
struct vkGetPipelineIndirectMemoryRequirementsNV_params
{
VkDevice device;
const VkComputePipelineCreateInfo *pCreateInfo;
VkMemoryRequirements2 *pMemoryRequirements;
};
struct vkGetPipelinePropertiesEXT_params
{
VkDevice device;

View file

@ -65,7 +65,7 @@ from enum import Enum
LOGGER = logging.Logger("vulkan")
LOGGER.addHandler(logging.StreamHandler())
VK_XML_VERSION = "1.3.258"
VK_XML_VERSION = "1.3.259"
WINE_VK_VERSION = (1, 3)
# Filenames to create.
@ -123,9 +123,6 @@ UNSUPPORTED_EXTENSIONS = [
# Deprecated extensions
"VK_NV_external_memory_capabilities",
"VK_NV_external_memory_win32",
# Likely broken: https://github.com/KhronosGroup/Vulkan-Docs/issues/2171
"VK_NV_device_generated_commands_compute",
]
# Either internal extensions which aren't present on the win32 platform which

View file

@ -1584,6 +1584,15 @@ typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV32
VkBool32 deviceGeneratedCommands;
} VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV32;
typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV32
{
VkStructureType sType;
PTR32 pNext;
VkBool32 deviceGeneratedCompute;
VkBool32 deviceGeneratedComputePipelines;
VkBool32 deviceGeneratedComputeCaptureReplay;
} VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV32;
typedef struct VkDevicePrivateDataCreateInfo32
{
VkStructureType sType;
@ -6073,6 +6082,14 @@ typedef struct VkPipelineExecutableStatisticKHR32
VkPipelineExecutableStatisticValueKHR32 DECLSPEC_ALIGN(8) value;
} VkPipelineExecutableStatisticKHR32;
typedef struct VkPipelineIndirectDeviceAddressInfoNV32
{
VkStructureType sType;
PTR32 pNext;
VkPipelineBindPoint pipelineBindPoint;
VkPipeline DECLSPEC_ALIGN(8) pipeline;
} VkPipelineIndirectDeviceAddressInfoNV32;
typedef struct VkCheckpointData2NV32
{
@ -10218,6 +10235,19 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV:
{
VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV *in_ext = (const VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV;
out_ext->pNext = NULL;
out_ext->deviceGeneratedCompute = in_ext->deviceGeneratedCompute;
out_ext->deviceGeneratedComputePipelines = in_ext->deviceGeneratedComputePipelines;
out_ext->deviceGeneratedComputeCaptureReplay = in_ext->deviceGeneratedComputeCaptureReplay;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO:
{
VkDevicePrivateDataCreateInfo *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
@ -12218,6 +12248,19 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV:
{
VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV32 *in_ext = (const VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV;
out_ext->pNext = NULL;
out_ext->deviceGeneratedCompute = in_ext->deviceGeneratedCompute;
out_ext->deviceGeneratedComputePipelines = in_ext->deviceGeneratedComputePipelines;
out_ext->deviceGeneratedComputeCaptureReplay = in_ext->deviceGeneratedComputeCaptureReplay;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO:
{
VkDevicePrivateDataCreateInfo *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
@ -18961,6 +19004,19 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV:
{
VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV32 *in_ext = (const VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV;
out_ext->pNext = NULL;
out_ext->deviceGeneratedCompute = in_ext->deviceGeneratedCompute;
out_ext->deviceGeneratedComputePipelines = in_ext->deviceGeneratedComputePipelines;
out_ext->deviceGeneratedComputeCaptureReplay = in_ext->deviceGeneratedComputeCaptureReplay;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES:
{
VkPhysicalDevicePrivateDataFeatures *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
@ -20880,6 +20936,17 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV:
{
VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV);
const VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV *in_ext = (const VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV;
out_ext->deviceGeneratedCompute = in_ext->deviceGeneratedCompute;
out_ext->deviceGeneratedComputePipelines = in_ext->deviceGeneratedComputePipelines;
out_ext->deviceGeneratedComputeCaptureReplay = in_ext->deviceGeneratedComputeCaptureReplay;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES:
{
VkPhysicalDevicePrivateDataFeatures32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES);
@ -25649,6 +25716,18 @@ static inline void convert_VkPipelineExecutableStatisticKHR_array_host_to_win32(
}
}
static inline void convert_VkPipelineIndirectDeviceAddressInfoNV_win32_to_host(const VkPipelineIndirectDeviceAddressInfoNV32 *in, VkPipelineIndirectDeviceAddressInfoNV *out)
{
if (!in) return;
out->sType = in->sType;
out->pNext = NULL;
out->pipelineBindPoint = in->pipelineBindPoint;
out->pipeline = in->pipeline;
if (in->pNext)
FIXME("Unexpected pNext\n");
}
static inline void convert_VkPipelineInfoEXT_win32_to_host(const VkPipelineInfoEXT32 *in, VkPipelineInfoEXT *out)
{
if (!in) return;
@ -32657,6 +32736,27 @@ static void thunk32_vkCmdUpdateBuffer(void *args)
wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->device->funcs.p_vkCmdUpdateBuffer(wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->command_buffer, params->dstBuffer, params->dstOffset, params->dataSize, (const void *)UlongToPtr(params->pData));
}
#ifdef _WIN64
static void thunk64_vkCmdUpdatePipelineIndirectBufferNV(void *args)
{
struct vkCmdUpdatePipelineIndirectBufferNV_params *params = args;
wine_cmd_buffer_from_handle(params->commandBuffer)->device->funcs.p_vkCmdUpdatePipelineIndirectBufferNV(wine_cmd_buffer_from_handle(params->commandBuffer)->command_buffer, params->pipelineBindPoint, params->pipeline);
}
#endif /* _WIN64 */
static void thunk32_vkCmdUpdatePipelineIndirectBufferNV(void *args)
{
struct
{
PTR32 commandBuffer;
VkPipelineBindPoint pipelineBindPoint;
VkPipeline DECLSPEC_ALIGN(8) pipeline;
} *params = args;
wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->device->funcs.p_vkCmdUpdatePipelineIndirectBufferNV(wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->command_buffer, params->pipelineBindPoint, params->pipeline);
}
#ifdef _WIN64
static void thunk64_vkCmdWaitEvents(void *args)
{
@ -40089,6 +40189,78 @@ static NTSTATUS thunk32_vkGetPipelineExecutableStatisticsKHR(void *args)
return STATUS_SUCCESS;
}
#ifdef _WIN64
static NTSTATUS thunk64_vkGetPipelineIndirectDeviceAddressNV(void *args)
{
struct vkGetPipelineIndirectDeviceAddressNV_params *params = args;
TRACE("%p, %p\n", params->device, params->pInfo);
params->result = wine_device_from_handle(params->device)->funcs.p_vkGetPipelineIndirectDeviceAddressNV(wine_device_from_handle(params->device)->device, params->pInfo);
return STATUS_SUCCESS;
}
#endif /* _WIN64 */
static NTSTATUS thunk32_vkGetPipelineIndirectDeviceAddressNV(void *args)
{
struct
{
PTR32 device;
PTR32 pInfo;
VkDeviceAddress result;
} *params = args;
VkPipelineIndirectDeviceAddressInfoNV pInfo_host;
TRACE("%#x, %#x\n", params->device, params->pInfo);
convert_VkPipelineIndirectDeviceAddressInfoNV_win32_to_host((const VkPipelineIndirectDeviceAddressInfoNV32 *)UlongToPtr(params->pInfo), &pInfo_host);
params->result = wine_device_from_handle((VkDevice)UlongToPtr(params->device))->funcs.p_vkGetPipelineIndirectDeviceAddressNV(wine_device_from_handle((VkDevice)UlongToPtr(params->device))->device, &pInfo_host);
return STATUS_SUCCESS;
}
#ifdef _WIN64
static NTSTATUS thunk64_vkGetPipelineIndirectMemoryRequirementsNV(void *args)
{
struct vkGetPipelineIndirectMemoryRequirementsNV_params *params = args;
VkComputePipelineCreateInfo pCreateInfo_host;
struct conversion_context local_ctx;
struct conversion_context *ctx = &local_ctx;
TRACE("%p, %p, %p\n", params->device, params->pCreateInfo, params->pMemoryRequirements);
init_conversion_context(ctx);
convert_VkComputePipelineCreateInfo_win64_to_host(ctx, params->pCreateInfo, &pCreateInfo_host);
wine_device_from_handle(params->device)->funcs.p_vkGetPipelineIndirectMemoryRequirementsNV(wine_device_from_handle(params->device)->device, &pCreateInfo_host, params->pMemoryRequirements);
free_conversion_context(ctx);
return STATUS_SUCCESS;
}
#endif /* _WIN64 */
static NTSTATUS thunk32_vkGetPipelineIndirectMemoryRequirementsNV(void *args)
{
struct
{
PTR32 device;
PTR32 pCreateInfo;
PTR32 pMemoryRequirements;
} *params = args;
VkComputePipelineCreateInfo pCreateInfo_host;
VkMemoryRequirements2 pMemoryRequirements_host;
struct conversion_context local_ctx;
struct conversion_context *ctx = &local_ctx;
TRACE("%#x, %#x, %#x\n", params->device, params->pCreateInfo, params->pMemoryRequirements);
init_conversion_context(ctx);
convert_VkComputePipelineCreateInfo_win32_to_host(ctx, (const VkComputePipelineCreateInfo32 *)UlongToPtr(params->pCreateInfo), &pCreateInfo_host);
convert_VkMemoryRequirements2_win32_to_host(ctx, (VkMemoryRequirements232 *)UlongToPtr(params->pMemoryRequirements), &pMemoryRequirements_host);
wine_device_from_handle((VkDevice)UlongToPtr(params->device))->funcs.p_vkGetPipelineIndirectMemoryRequirementsNV(wine_device_from_handle((VkDevice)UlongToPtr(params->device))->device, &pCreateInfo_host, &pMemoryRequirements_host);
convert_VkComputePipelineCreateInfo_host_to_win32(&pCreateInfo_host, (const VkComputePipelineCreateInfo32 *)UlongToPtr(params->pCreateInfo));
convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host, (VkMemoryRequirements232 *)UlongToPtr(params->pMemoryRequirements));
free_conversion_context(ctx);
return STATUS_SUCCESS;
}
#ifdef _WIN64
static NTSTATUS thunk64_vkGetPipelinePropertiesEXT(void *args)
{
@ -42459,6 +42631,7 @@ static const char * const vk_device_extensions[] =
"VK_NV_device_diagnostic_checkpoints",
"VK_NV_device_diagnostics_config",
"VK_NV_device_generated_commands",
"VK_NV_device_generated_commands_compute",
"VK_NV_fill_rectangle",
"VK_NV_fragment_coverage_to_color",
"VK_NV_fragment_shader_barycentric",
@ -42801,6 +42974,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
(void *)thunk64_vkCmdTraceRaysKHR,
(void *)thunk64_vkCmdTraceRaysNV,
(void *)thunk64_vkCmdUpdateBuffer,
(void *)thunk64_vkCmdUpdatePipelineIndirectBufferNV,
(void *)thunk64_vkCmdWaitEvents,
(void *)thunk64_vkCmdWaitEvents2,
(void *)thunk64_vkCmdWaitEvents2KHR,
@ -43037,6 +43211,8 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
thunk64_vkGetPipelineExecutableInternalRepresentationsKHR,
thunk64_vkGetPipelineExecutablePropertiesKHR,
thunk64_vkGetPipelineExecutableStatisticsKHR,
thunk64_vkGetPipelineIndirectDeviceAddressNV,
thunk64_vkGetPipelineIndirectMemoryRequirementsNV,
thunk64_vkGetPipelinePropertiesEXT,
thunk64_vkGetPrivateData,
thunk64_vkGetPrivateDataEXT,
@ -43361,6 +43537,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
(void *)thunk32_vkCmdTraceRaysKHR,
(void *)thunk32_vkCmdTraceRaysNV,
(void *)thunk32_vkCmdUpdateBuffer,
(void *)thunk32_vkCmdUpdatePipelineIndirectBufferNV,
(void *)thunk32_vkCmdWaitEvents,
(void *)thunk32_vkCmdWaitEvents2,
(void *)thunk32_vkCmdWaitEvents2KHR,
@ -43597,6 +43774,8 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
thunk32_vkGetPipelineExecutableInternalRepresentationsKHR,
thunk32_vkGetPipelineExecutablePropertiesKHR,
thunk32_vkGetPipelineExecutableStatisticsKHR,
thunk32_vkGetPipelineIndirectDeviceAddressNV,
thunk32_vkGetPipelineIndirectMemoryRequirementsNV,
thunk32_vkGetPipelinePropertiesEXT,
thunk32_vkGetPrivateData,
thunk32_vkGetPrivateDataEXT,

View file

@ -303,6 +303,7 @@ struct vulkan_device_funcs
void (*p_vkCmdTraceRaysKHR)(VkCommandBuffer, const VkStridedDeviceAddressRegionKHR *, const VkStridedDeviceAddressRegionKHR *, const VkStridedDeviceAddressRegionKHR *, const VkStridedDeviceAddressRegionKHR *, uint32_t, uint32_t, uint32_t);
void (*p_vkCmdTraceRaysNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, VkDeviceSize, VkBuffer, VkDeviceSize, VkDeviceSize, VkBuffer, VkDeviceSize, VkDeviceSize, uint32_t, uint32_t, uint32_t);
void (*p_vkCmdUpdateBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkDeviceSize, const void *);
void (*p_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer, VkPipelineBindPoint, VkPipeline);
void (*p_vkCmdWaitEvents)(VkCommandBuffer, uint32_t, const VkEvent *, VkPipelineStageFlags, VkPipelineStageFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier *, uint32_t, const VkImageMemoryBarrier *);
void (*p_vkCmdWaitEvents2)(VkCommandBuffer, uint32_t, const VkEvent *, const VkDependencyInfo *);
void (*p_vkCmdWaitEvents2KHR)(VkCommandBuffer, uint32_t, const VkEvent *, const VkDependencyInfo *);
@ -476,6 +477,8 @@ struct vulkan_device_funcs
VkResult (*p_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice, const VkPipelineExecutableInfoKHR *, uint32_t *, VkPipelineExecutableInternalRepresentationKHR *);
VkResult (*p_vkGetPipelineExecutablePropertiesKHR)(VkDevice, const VkPipelineInfoKHR *, uint32_t *, VkPipelineExecutablePropertiesKHR *);
VkResult (*p_vkGetPipelineExecutableStatisticsKHR)(VkDevice, const VkPipelineExecutableInfoKHR *, uint32_t *, VkPipelineExecutableStatisticKHR *);
VkDeviceAddress (*p_vkGetPipelineIndirectDeviceAddressNV)(VkDevice, const VkPipelineIndirectDeviceAddressInfoNV *);
void (*p_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice, const VkComputePipelineCreateInfo *, VkMemoryRequirements2 *);
VkResult (*p_vkGetPipelinePropertiesEXT)(VkDevice, const VkPipelineInfoEXT *, VkBaseOutStructure *);
void (*p_vkGetPrivateData)(VkDevice, VkObjectType, uint64_t, VkPrivateDataSlot, uint64_t *);
void (*p_vkGetPrivateDataEXT)(VkDevice, VkObjectType, uint64_t, VkPrivateDataSlot, uint64_t *);
@ -847,6 +850,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkCmdTraceRaysKHR) \
USE_VK_FUNC(vkCmdTraceRaysNV) \
USE_VK_FUNC(vkCmdUpdateBuffer) \
USE_VK_FUNC(vkCmdUpdatePipelineIndirectBufferNV) \
USE_VK_FUNC(vkCmdWaitEvents) \
USE_VK_FUNC(vkCmdWaitEvents2) \
USE_VK_FUNC(vkCmdWaitEvents2KHR) \
@ -1020,6 +1024,8 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkGetPipelineExecutableInternalRepresentationsKHR) \
USE_VK_FUNC(vkGetPipelineExecutablePropertiesKHR) \
USE_VK_FUNC(vkGetPipelineExecutableStatisticsKHR) \
USE_VK_FUNC(vkGetPipelineIndirectDeviceAddressNV) \
USE_VK_FUNC(vkGetPipelineIndirectMemoryRequirementsNV) \
USE_VK_FUNC(vkGetPipelinePropertiesEXT) \
USE_VK_FUNC(vkGetPrivateData) \
USE_VK_FUNC(vkGetPrivateDataEXT) \

View file

@ -2,6 +2,6 @@
"file_format_version": "1.0.0",
"ICD": {
"library_path": ".\\winevulkan.dll",
"api_version": "1.3.258"
"api_version": "1.3.259"
}
}

View file

@ -561,6 +561,8 @@
#define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect"
#define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1
#define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression"
#define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2
#define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute"
#define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
#define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment"
#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1
@ -633,7 +635,7 @@
#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)
#define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)
#define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)
#define VK_HEADER_VERSION 258
#define VK_HEADER_VERSION 259
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
#define VK_USE_64_BIT_PTR_DEFINES 0
@ -1641,6 +1643,7 @@ typedef enum VkDescriptorSetLayoutCreateFlagBits
VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004,
VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010,
VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020,
VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080,
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT,
VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
@ -2718,6 +2721,8 @@ typedef enum VkIndirectCommandsTokenTypeNV
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_NV_MAX_ENUM = 0x7fffffff,
} VkIndirectCommandsTokenTypeNV;
@ -4409,6 +4414,9 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000,
VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001,
VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000,
@ -5136,6 +5144,11 @@ typedef struct VkBindIndexBufferIndirectCommandNV
VkIndexType indexType;
} VkBindIndexBufferIndirectCommandNV;
typedef struct VkBindPipelineIndirectCommandNV
{
VkDeviceAddress WINE_VK_ALIGN(8) pipelineAddress;
} VkBindPipelineIndirectCommandNV;
typedef struct VkBindShaderGroupIndirectCommandNV
{
uint32_t groupIndex;
@ -5399,6 +5412,15 @@ typedef struct VkComponentMapping
VkComponentSwizzle a;
} VkComponentMapping;
typedef struct VkComputePipelineIndirectBufferInfoNV
{
VkStructureType sType;
const void *pNext;
VkDeviceAddress WINE_VK_ALIGN(8) deviceAddress;
VkDeviceSize WINE_VK_ALIGN(8) size;
VkDeviceAddress WINE_VK_ALIGN(8) pipelineDeviceAddressCaptureReplay;
} VkComputePipelineIndirectBufferInfoNV;
typedef struct VkConditionalRenderingBeginInfoEXT
{
VkStructureType sType;
@ -7375,6 +7397,15 @@ typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
VkBool32 descriptorSetHostMapping;
} VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV
{
VkStructureType sType;
void *pNext;
VkBool32 deviceGeneratedCompute;
VkBool32 deviceGeneratedComputePipelines;
VkBool32 deviceGeneratedComputeCaptureReplay;
} VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV;
typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
{
VkStructureType sType;
@ -9685,6 +9716,14 @@ typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR
VkFragmentShadingRateCombinerOpKHR combinerOps[2];
} VkPipelineFragmentShadingRateStateCreateInfoKHR;
typedef struct VkPipelineIndirectDeviceAddressInfoNV
{
VkStructureType sType;
const void *pNext;
VkPipelineBindPoint pipelineBindPoint;
VkPipeline WINE_VK_ALIGN(8) pipeline;
} VkPipelineIndirectDeviceAddressInfoNV;
typedef struct VkPipelineInfoKHR
{
@ -12311,6 +12350,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer, const V
typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer, const VkStridedDeviceAddressRegionKHR *, const VkStridedDeviceAddressRegionKHR *, const VkStridedDeviceAddressRegionKHR *, const VkStridedDeviceAddressRegionKHR *, uint32_t, uint32_t, uint32_t);
typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, VkDeviceSize, VkBuffer, VkDeviceSize, VkDeviceSize, VkBuffer, VkDeviceSize, VkDeviceSize, uint32_t, uint32_t, uint32_t);
typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkDeviceSize, const void *);
typedef void (VKAPI_PTR *PFN_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer, VkPipelineBindPoint, VkPipeline);
typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer, uint32_t, const VkEvent *, VkPipelineStageFlags, VkPipelineStageFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier *, uint32_t, const VkImageMemoryBarrier *);
typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer, uint32_t, const VkEvent *, const VkDependencyInfo *);
typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer, uint32_t, const VkEvent *, const VkDependencyInfo *);
@ -12552,6 +12592,8 @@ typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice, VkPipelineCac
typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice, const VkPipelineExecutableInfoKHR *, uint32_t *, VkPipelineExecutableInternalRepresentationKHR *);
typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice, const VkPipelineInfoKHR *, uint32_t *, VkPipelineExecutablePropertiesKHR *);
typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice, const VkPipelineExecutableInfoKHR *, uint32_t *, VkPipelineExecutableStatisticKHR *);
typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetPipelineIndirectDeviceAddressNV)(VkDevice, const VkPipelineIndirectDeviceAddressInfoNV *);
typedef void (VKAPI_PTR *PFN_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice, const VkComputePipelineCreateInfo *, VkMemoryRequirements2 *);
typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice, const VkPipelineInfoEXT *, VkBaseOutStructure *);
typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice, VkObjectType, uint64_t, VkPrivateDataSlot, uint64_t *);
typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice, VkObjectType, uint64_t, VkPrivateDataSlot, uint64_t *);
@ -12864,6 +12906,7 @@ void VKAPI_CALL vkCmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer, const V
void VKAPI_CALL vkCmdTraceRaysKHR(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR *pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR *pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR *pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR *pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth);
void VKAPI_CALL vkCmdTraceRaysNV(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth);
void VKAPI_CALL vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void *pData);
void VKAPI_CALL vkCmdUpdatePipelineIndirectBufferNV(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
void VKAPI_CALL vkCmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent *pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier *pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier *pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier *pImageMemoryBarriers);
void VKAPI_CALL vkCmdWaitEvents2(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent *pEvents, const VkDependencyInfo *pDependencyInfos);
void VKAPI_CALL vkCmdWaitEvents2KHR(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent *pEvents, const VkDependencyInfo *pDependencyInfos);
@ -13105,6 +13148,8 @@ VkResult VKAPI_CALL vkGetPipelineCacheData(VkDevice device, VkPipelineCache pipe
VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(VkDevice device, const VkPipelineExecutableInfoKHR *pExecutableInfo, uint32_t *pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR *pInternalRepresentations);
VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(VkDevice device, const VkPipelineInfoKHR *pPipelineInfo, uint32_t *pExecutableCount, VkPipelineExecutablePropertiesKHR *pProperties);
VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(VkDevice device, const VkPipelineExecutableInfoKHR *pExecutableInfo, uint32_t *pStatisticCount, VkPipelineExecutableStatisticKHR *pStatistics);
VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV *pInfo);
void VKAPI_CALL vkGetPipelineIndirectMemoryRequirementsNV(VkDevice device, const VkComputePipelineCreateInfo *pCreateInfo, VkMemoryRequirements2 *pMemoryRequirements);
VkResult VKAPI_CALL vkGetPipelinePropertiesEXT(VkDevice device, const VkPipelineInfoEXT *pPipelineInfo, VkBaseOutStructure *pPipelineProperties);
void VKAPI_CALL vkGetPrivateData(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t *pData);
void VKAPI_CALL vkGetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t *pData);