Commit 74e6ec1e authored by Georg Lehmann's avatar Georg Lehmann Committed by Alexandre Julliard

winevulkan: Update to VK spec version 1.3.226.

parent 5ac5e287
......@@ -838,6 +838,29 @@ void WINAPI vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer, VkBuffer bu
p_vk_direct_unix_call(unix_handle, unix_vkCmdDrawIndirectCountKHR, &params);
}
void WINAPI vkCmdDrawMeshTasksEXT(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
{
struct vkCmdDrawMeshTasksEXT_params params;
params.commandBuffer = commandBuffer;
params.groupCountX = groupCountX;
params.groupCountY = groupCountY;
params.groupCountZ = groupCountZ;
p_vk_direct_unix_call(unix_handle, unix_vkCmdDrawMeshTasksEXT, &params);
}
void WINAPI vkCmdDrawMeshTasksIndirectCountEXT(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
{
struct vkCmdDrawMeshTasksIndirectCountEXT_params params;
params.commandBuffer = commandBuffer;
params.buffer = buffer;
params.offset = offset;
params.countBuffer = countBuffer;
params.countBufferOffset = countBufferOffset;
params.maxDrawCount = maxDrawCount;
params.stride = stride;
p_vk_direct_unix_call(unix_handle, unix_vkCmdDrawMeshTasksIndirectCountEXT, &params);
}
void WINAPI vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
{
struct vkCmdDrawMeshTasksIndirectCountNV_params params;
......@@ -851,6 +874,17 @@ void WINAPI vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer, VkB
p_vk_direct_unix_call(unix_handle, unix_vkCmdDrawMeshTasksIndirectCountNV, &params);
}
void WINAPI vkCmdDrawMeshTasksIndirectEXT(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
{
struct vkCmdDrawMeshTasksIndirectEXT_params params;
params.commandBuffer = commandBuffer;
params.buffer = buffer;
params.offset = offset;
params.drawCount = drawCount;
params.stride = stride;
p_vk_direct_unix_call(unix_handle, unix_vkCmdDrawMeshTasksIndirectEXT, &params);
}
void WINAPI vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
{
struct vkCmdDrawMeshTasksIndirectNV_params params;
......@@ -4407,7 +4441,10 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkCmdDrawIndirectCount", vkCmdDrawIndirectCount},
{"vkCmdDrawIndirectCountAMD", vkCmdDrawIndirectCountAMD},
{"vkCmdDrawIndirectCountKHR", vkCmdDrawIndirectCountKHR},
{"vkCmdDrawMeshTasksEXT", vkCmdDrawMeshTasksEXT},
{"vkCmdDrawMeshTasksIndirectCountEXT", vkCmdDrawMeshTasksIndirectCountEXT},
{"vkCmdDrawMeshTasksIndirectCountNV", vkCmdDrawMeshTasksIndirectCountNV},
{"vkCmdDrawMeshTasksIndirectEXT", vkCmdDrawMeshTasksIndirectEXT},
{"vkCmdDrawMeshTasksIndirectNV", vkCmdDrawMeshTasksIndirectNV},
{"vkCmdDrawMeshTasksNV", vkCmdDrawMeshTasksNV},
{"vkCmdDrawMultiEXT", vkCmdDrawMultiEXT},
......
......@@ -98,7 +98,10 @@ enum unix_call
unix_vkCmdDrawIndirectCount,
unix_vkCmdDrawIndirectCountAMD,
unix_vkCmdDrawIndirectCountKHR,
unix_vkCmdDrawMeshTasksEXT,
unix_vkCmdDrawMeshTasksIndirectCountEXT,
unix_vkCmdDrawMeshTasksIndirectCountNV,
unix_vkCmdDrawMeshTasksIndirectEXT,
unix_vkCmdDrawMeshTasksIndirectNV,
unix_vkCmdDrawMeshTasksNV,
unix_vkCmdDrawMultiEXT,
......@@ -1142,6 +1145,25 @@ struct vkCmdDrawIndirectCountKHR_params
uint32_t stride;
};
struct vkCmdDrawMeshTasksEXT_params
{
VkCommandBuffer commandBuffer;
uint32_t groupCountX;
uint32_t groupCountY;
uint32_t groupCountZ;
};
struct vkCmdDrawMeshTasksIndirectCountEXT_params
{
VkCommandBuffer commandBuffer;
VkBuffer buffer;
VkDeviceSize offset;
VkBuffer countBuffer;
VkDeviceSize countBufferOffset;
uint32_t maxDrawCount;
uint32_t stride;
};
struct vkCmdDrawMeshTasksIndirectCountNV_params
{
VkCommandBuffer commandBuffer;
......@@ -1153,6 +1175,15 @@ struct vkCmdDrawMeshTasksIndirectCountNV_params
uint32_t stride;
};
struct vkCmdDrawMeshTasksIndirectEXT_params
{
VkCommandBuffer commandBuffer;
VkBuffer buffer;
VkDeviceSize offset;
uint32_t drawCount;
uint32_t stride;
};
struct vkCmdDrawMeshTasksIndirectNV_params
{
VkCommandBuffer commandBuffer;
......
......@@ -64,7 +64,7 @@ from enum import Enum
LOGGER = logging.Logger("vulkan")
LOGGER.addHandler(logging.StreamHandler())
VK_XML_VERSION = "1.3.224"
VK_XML_VERSION = "1.3.226"
WINE_VK_VERSION = (1, 3)
# Filenames to create.
......
......@@ -3554,6 +3554,26 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT:
{
const VkPhysicalDeviceMeshShaderFeaturesEXT *in = (const VkPhysicalDeviceMeshShaderFeaturesEXT *)in_header;
VkPhysicalDeviceMeshShaderFeaturesEXT *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->taskShader = in->taskShader;
out->meshShader = in->meshShader;
out->multiviewMeshShader = in->multiviewMeshShader;
out->primitiveFragmentShadingRateMeshShader = in->primitiveFragmentShadingRateMeshShader;
out->meshShaderQueries = in->meshShaderQueries;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR:
{
const VkPhysicalDeviceAccelerationStructureFeaturesKHR *in = (const VkPhysicalDeviceAccelerationStructureFeaturesKHR *)in_header;
......@@ -4824,10 +4844,10 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM:
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT:
{
const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM *in = (const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM *)in_header;
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM *out;
const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT *in = (const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT *)in_header;
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
......@@ -5068,6 +5088,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT:
{
const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *in = (const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *)in_header;
VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->depthClampZeroOne = in->depthClampZeroOne;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
default:
FIXME("Application requested a linked structure of type %u.\n", in_header->sType);
}
......@@ -6253,6 +6289,22 @@ static NTSTATUS wine_vkCmdDrawIndirectCountKHR(void *args)
return STATUS_SUCCESS;
}
static NTSTATUS wine_vkCmdDrawMeshTasksEXT(void *args)
{
struct vkCmdDrawMeshTasksEXT_params *params = args;
TRACE("%p, %u, %u, %u\n", params->commandBuffer, params->groupCountX, params->groupCountY, params->groupCountZ);
params->commandBuffer->device->funcs.p_vkCmdDrawMeshTasksEXT(params->commandBuffer->command_buffer, params->groupCountX, params->groupCountY, params->groupCountZ);
return STATUS_SUCCESS;
}
static NTSTATUS wine_vkCmdDrawMeshTasksIndirectCountEXT(void *args)
{
struct vkCmdDrawMeshTasksIndirectCountEXT_params *params = args;
TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params->commandBuffer, wine_dbgstr_longlong(params->buffer), wine_dbgstr_longlong(params->offset), wine_dbgstr_longlong(params->countBuffer), wine_dbgstr_longlong(params->countBufferOffset), params->maxDrawCount, params->stride);
params->commandBuffer->device->funcs.p_vkCmdDrawMeshTasksIndirectCountEXT(params->commandBuffer->command_buffer, params->buffer, params->offset, params->countBuffer, params->countBufferOffset, params->maxDrawCount, params->stride);
return STATUS_SUCCESS;
}
static NTSTATUS wine_vkCmdDrawMeshTasksIndirectCountNV(void *args)
{
struct vkCmdDrawMeshTasksIndirectCountNV_params *params = args;
......@@ -6261,6 +6313,14 @@ static NTSTATUS wine_vkCmdDrawMeshTasksIndirectCountNV(void *args)
return STATUS_SUCCESS;
}
static NTSTATUS wine_vkCmdDrawMeshTasksIndirectEXT(void *args)
{
struct vkCmdDrawMeshTasksIndirectEXT_params *params = args;
TRACE("%p, 0x%s, 0x%s, %u, %u\n", params->commandBuffer, wine_dbgstr_longlong(params->buffer), wine_dbgstr_longlong(params->offset), params->drawCount, params->stride);
params->commandBuffer->device->funcs.p_vkCmdDrawMeshTasksIndirectEXT(params->commandBuffer->command_buffer, params->buffer, params->offset, params->drawCount, params->stride);
return STATUS_SUCCESS;
}
static NTSTATUS wine_vkCmdDrawMeshTasksIndirectNV(void *args)
{
struct vkCmdDrawMeshTasksIndirectNV_params *params = args;
......@@ -10019,6 +10079,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_conservative_rasterization",
"VK_EXT_custom_border_color",
"VK_EXT_debug_marker",
"VK_EXT_depth_clamp_zero_one",
"VK_EXT_depth_clip_control",
"VK_EXT_depth_clip_enable",
"VK_EXT_depth_range_unrestricted",
......@@ -10046,6 +10107,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_load_store_op_none",
"VK_EXT_memory_budget",
"VK_EXT_memory_priority",
"VK_EXT_mesh_shader",
"VK_EXT_multi_draw",
"VK_EXT_multisampled_render_to_single_sampled",
"VK_EXT_non_seamless_cube_map",
......@@ -10061,6 +10123,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_private_data",
"VK_EXT_provoking_vertex",
"VK_EXT_queue_family_foreign",
"VK_EXT_rasterization_order_attachment_access",
"VK_EXT_rgba10x6_formats",
"VK_EXT_robustness2",
"VK_EXT_sample_locations",
......@@ -10372,7 +10435,10 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
wine_vkCmdDrawIndirectCount,
wine_vkCmdDrawIndirectCountAMD,
wine_vkCmdDrawIndirectCountKHR,
wine_vkCmdDrawMeshTasksEXT,
wine_vkCmdDrawMeshTasksIndirectCountEXT,
wine_vkCmdDrawMeshTasksIndirectCountNV,
wine_vkCmdDrawMeshTasksIndirectEXT,
wine_vkCmdDrawMeshTasksIndirectNV,
wine_vkCmdDrawMeshTasksNV,
wine_vkCmdDrawMultiEXT,
......
......@@ -1910,7 +1910,10 @@ struct vulkan_device_funcs
void (*p_vkCmdDrawIndirectCount)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
void (*p_vkCmdDrawIndirectCountAMD)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
void (*p_vkCmdDrawIndirectCountKHR)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
void (*p_vkCmdDrawMeshTasksEXT)(VkCommandBuffer, uint32_t, uint32_t, uint32_t);
void (*p_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
void (*p_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
void (*p_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
void (*p_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
void (*p_vkCmdDrawMeshTasksNV)(VkCommandBuffer, uint32_t, uint32_t);
void (*p_vkCmdDrawMultiEXT)(VkCommandBuffer, uint32_t, const VkMultiDrawInfoEXT *, uint32_t, uint32_t, uint32_t);
......@@ -2367,7 +2370,10 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkCmdDrawIndirectCount) \
USE_VK_FUNC(vkCmdDrawIndirectCountAMD) \
USE_VK_FUNC(vkCmdDrawIndirectCountKHR) \
USE_VK_FUNC(vkCmdDrawMeshTasksEXT) \
USE_VK_FUNC(vkCmdDrawMeshTasksIndirectCountEXT) \
USE_VK_FUNC(vkCmdDrawMeshTasksIndirectCountNV) \
USE_VK_FUNC(vkCmdDrawMeshTasksIndirectEXT) \
USE_VK_FUNC(vkCmdDrawMeshTasksIndirectNV) \
USE_VK_FUNC(vkCmdDrawMeshTasksNV) \
USE_VK_FUNC(vkCmdDrawMultiEXT) \
......
......@@ -2,6 +2,6 @@
"file_format_version": "1.0.0",
"ICD": {
"library_path": ".\\winevulkan.dll",
"api_version": "1.3.224"
"api_version": "1.3.226"
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment