vulkan: Update XML and headers to 1.4.303

Also fix vk_cmd_queue generation for dropped KHR suffixes

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32433>
This commit is contained in:
Faith Ekstrand 2024-12-02 09:32:21 -06:00 committed by Marge Bot
parent 2fae75b278
commit 218fff2d5c
6 changed files with 2115 additions and 1292 deletions

File diff suppressed because it is too large Load diff

View file

@ -80,7 +80,7 @@ lvp_nv_dgc_token_to_cmd_type(const VkIndirectCommandsLayoutTokenNV *token)
assert(!"unknown token type!");
break;
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV:
return VK_CMD_PUSH_CONSTANTS2_KHR;
return VK_CMD_PUSH_CONSTANTS2;
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV:
return VK_CMD_BIND_INDEX_BUFFER;
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV:
@ -343,9 +343,9 @@ lvp_ext_dgc_token_to_cmd_type(const struct lvp_indirect_command_layout_ext *elay
return VK_CMD_BIND_VERTEX_BUFFERS2;
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT:
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT:
return VK_CMD_PUSH_CONSTANTS2_KHR;
return VK_CMD_PUSH_CONSTANTS2;
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT:
return VK_CMD_BIND_INDEX_BUFFER2_KHR;
return VK_CMD_BIND_INDEX_BUFFER2;
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXT:
return elayout->vk.is_shaders ? VK_CMD_BIND_SHADERS_EXT : VK_CMD_BIND_PIPELINE;
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_EXT:
@ -380,7 +380,7 @@ lvp_ext_dgc_token_size(const struct lvp_indirect_command_layout_ext *elayout, co
enum vk_cmd_type type = lvp_ext_dgc_token_to_cmd_type(elayout, token);
size_t size = vk_cmd_queue_type_sizes[type];
if (token->type == VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT || token->type == VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT) {
size += sizeof(*cmd->u.push_constants2_khr.push_constants_info);
size += sizeof(*cmd->u.push_constants2.push_constants_info);
size += token->data.pPushConstant->updateRange.size;
return size;
}

View file

@ -1331,7 +1331,7 @@ handle_descriptor_sets(VkBindDescriptorSetsInfoKHR *bds, struct rendering_state
static void
handle_descriptor_sets_cmd(struct vk_cmd_queue_entry *cmd, struct rendering_state *state)
{
VkBindDescriptorSetsInfoKHR *bds = cmd->u.bind_descriptor_sets2_khr.bind_descriptor_sets_info;
VkBindDescriptorSetsInfoKHR *bds = cmd->u.bind_descriptor_sets2.bind_descriptor_sets_info;
handle_descriptor_sets(bds, state);
}
@ -1964,7 +1964,7 @@ static void handle_end_rendering(struct vk_cmd_queue_entry *cmd,
static void
handle_rendering_attachment_locations(struct vk_cmd_queue_entry *cmd, struct rendering_state *state)
{
VkRenderingAttachmentLocationInfoKHR *set = cmd->u.set_rendering_attachment_locations_khr.location_info;
VkRenderingAttachmentLocationInfoKHR *set = cmd->u.set_rendering_attachment_locations.location_info;
state->fb_remapped = true;
memset(state->fb_map, PIPE_MAX_COLOR_BUFS, sizeof(state->fb_map));
assert(state->color_att_count == set->colorAttachmentCount);
@ -2742,7 +2742,7 @@ static void handle_index_buffer(struct vk_cmd_queue_entry *cmd,
static void handle_index_buffer2(struct vk_cmd_queue_entry *cmd,
struct rendering_state *state)
{
struct vk_cmd_bind_index_buffer2_khr *ib = &cmd->u.bind_index_buffer2_khr;
struct vk_cmd_bind_index_buffer2 *ib = &cmd->u.bind_index_buffer2;
if (ib->buffer) {
state->index_size = vk_index_type_to_bytes(ib->index_type);
@ -2796,7 +2796,7 @@ static void handle_dispatch_indirect(struct vk_cmd_queue_entry *cmd,
static void handle_push_constants(struct vk_cmd_queue_entry *cmd,
struct rendering_state *state)
{
VkPushConstantsInfoKHR *pci = cmd->u.push_constants2_khr.push_constants_info;
VkPushConstantsInfoKHR *pci = cmd->u.push_constants2.push_constants_info;
memcpy(state->push_constants + pci->offset, pci->pValues, pci->size);
VkShaderStageFlags stage_flags = pci->stageFlags;
@ -3286,7 +3286,7 @@ static void handle_draw_indirect_count(struct vk_cmd_queue_entry *cmd,
static void handle_push_descriptor_set(struct vk_cmd_queue_entry *cmd,
struct rendering_state *state)
{
VkPushDescriptorSetInfoKHR *pds = cmd->u.push_descriptor_set2_khr.push_descriptor_set_info;
VkPushDescriptorSetInfoKHR *pds = cmd->u.push_descriptor_set2.push_descriptor_set_info;
LVP_FROM_HANDLE(lvp_pipeline_layout, layout, pds->layout);
struct lvp_descriptor_set_layout *set_layout = (struct lvp_descriptor_set_layout *)layout->vk.set_layouts[pds->set];
@ -3323,7 +3323,7 @@ static void handle_push_descriptor_set(struct vk_cmd_queue_entry *cmd,
static void handle_push_descriptor_set_with_template(struct vk_cmd_queue_entry *cmd,
struct rendering_state *state)
{
VkPushDescriptorSetWithTemplateInfoKHR *pds = cmd->u.push_descriptor_set_with_template2_khr.push_descriptor_set_with_template_info;
VkPushDescriptorSetWithTemplateInfoKHR *pds = cmd->u.push_descriptor_set_with_template2.push_descriptor_set_with_template_info;
LVP_FROM_HANDLE(vk_descriptor_update_template, templ, pds->descriptorUpdateTemplate);
LVP_FROM_HANDLE(lvp_pipeline_layout, layout, pds->layout);
struct lvp_descriptor_set_layout *set_layout = (struct lvp_descriptor_set_layout *)layout->vk.set_layouts[pds->set];
@ -3578,8 +3578,8 @@ static void handle_set_stencil_op(struct vk_cmd_queue_entry *cmd,
static void handle_set_line_stipple(struct vk_cmd_queue_entry *cmd,
struct rendering_state *state)
{
state->rs_state.line_stipple_factor = cmd->u.set_line_stipple_khr.line_stipple_factor - 1;
state->rs_state.line_stipple_pattern = cmd->u.set_line_stipple_khr.line_stipple_pattern;
state->rs_state.line_stipple_factor = cmd->u.set_line_stipple.line_stipple_factor - 1;
state->rs_state.line_stipple_pattern = cmd->u.set_line_stipple.line_stipple_pattern;
state->rs_dirty = true;
}
@ -3993,8 +3993,8 @@ process_sequence(struct rendering_state *state,
cmd_size += token->pushconstantSize + sizeof(VkPushConstantsInfoKHR);
if (max_size < size + cmd_size)
abort();
cmd->u.push_constants2_khr.push_constants_info = (void*)cmdptr;
VkPushConstantsInfoKHR *pci = cmd->u.push_constants2_khr.push_constants_info;
cmd->u.push_constants2.push_constants_info = (void*)cmdptr;
VkPushConstantsInfoKHR *pci = cmd->u.push_constants2.push_constants_info;
pci->layout = token->pushconstantPipelineLayout;
pci->stageFlags = token->pushconstantShaderStageFlags;
pci->offset = token->pushconstantOffset;
@ -4219,8 +4219,8 @@ process_sequence_ext(struct rendering_state *state,
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT: {
uint32_t *data = input;
const VkIndirectCommandsPushConstantTokenEXT *info = token->data.pPushConstant;
cmd->u.push_constants2_khr.push_constants_info = (void*)cmdptr;
VkPushConstantsInfoKHR *pci = cmd->u.push_constants2_khr.push_constants_info;
cmd->u.push_constants2.push_constants_info = (void*)cmdptr;
VkPushConstantsInfoKHR *pci = cmd->u.push_constants2.push_constants_info;
pci->layout = elayout->vk.layout;
pci->stageFlags = VK_SHADER_STAGE_ALL;
pci->offset = info->updateRange.offset;
@ -4239,26 +4239,26 @@ process_sequence_ext(struct rendering_state *state,
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT: {
const VkIndirectCommandsIndexBufferTokenEXT *info = token->data.pIndexBuffer;
VkBindIndexBufferIndirectCommandEXT *data = input;
cmd->u.bind_index_buffer2_khr.offset = 0;
cmd->u.bind_index_buffer2.offset = 0;
if (data->bufferAddress)
cmd->u.bind_index_buffer2_khr.buffer = get_buffer(state, (void*)(uintptr_t)data->bufferAddress, (size_t*)&cmd->u.bind_index_buffer.offset);
cmd->u.bind_index_buffer2.buffer = get_buffer(state, (void*)(uintptr_t)data->bufferAddress, (size_t*)&cmd->u.bind_index_buffer.offset);
else
cmd->u.bind_index_buffer2_khr.buffer = VK_NULL_HANDLE;
cmd->u.bind_index_buffer2.buffer = VK_NULL_HANDLE;
if (info->mode == VK_INDIRECT_COMMANDS_INPUT_MODE_VULKAN_INDEX_BUFFER_EXT) {
cmd->u.bind_index_buffer2_khr.index_type = data->indexType;
cmd->u.bind_index_buffer2.index_type = data->indexType;
} else {
switch ((int)data->indexType) {
case DXGI_FORMAT_R32_UINT:
cmd->u.bind_index_buffer2_khr.index_type = VK_INDEX_TYPE_UINT32;
cmd->u.bind_index_buffer2.index_type = VK_INDEX_TYPE_UINT32;
break;
case DXGI_FORMAT_R16_UINT:
cmd->u.bind_index_buffer2_khr.index_type = VK_INDEX_TYPE_UINT16;
cmd->u.bind_index_buffer2.index_type = VK_INDEX_TYPE_UINT16;
break;
default:
unreachable("unknown DXGI index type!");
}
}
cmd->u.bind_index_buffer2_khr.size = data->size;
cmd->u.bind_index_buffer2.size = data->size;
break;
}
case VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXT: {
@ -5129,13 +5129,13 @@ static void lvp_execute_cmd_buffer(struct list_head *cmds,
case VK_CMD_SET_STENCIL_REFERENCE:
handle_set_stencil_reference(cmd, state);
break;
case VK_CMD_BIND_DESCRIPTOR_SETS2_KHR:
case VK_CMD_BIND_DESCRIPTOR_SETS2:
handle_descriptor_sets_cmd(cmd, state);
break;
case VK_CMD_BIND_INDEX_BUFFER:
handle_index_buffer(cmd, state);
break;
case VK_CMD_BIND_INDEX_BUFFER2_KHR:
case VK_CMD_BIND_INDEX_BUFFER2:
handle_index_buffer2(cmd, state);
break;
case VK_CMD_BIND_VERTEX_BUFFERS2:
@ -5235,7 +5235,7 @@ static void lvp_execute_cmd_buffer(struct list_head *cmds,
case VK_CMD_COPY_QUERY_POOL_RESULTS:
handle_copy_query_pool_results(cmd, state);
break;
case VK_CMD_PUSH_CONSTANTS2_KHR:
case VK_CMD_PUSH_CONSTANTS2:
handle_push_constants(cmd, state);
break;
case VK_CMD_EXECUTE_COMMANDS:
@ -5249,10 +5249,10 @@ static void lvp_execute_cmd_buffer(struct list_head *cmds,
emit_state(state);
handle_draw_indirect_count(cmd, state, true);
break;
case VK_CMD_PUSH_DESCRIPTOR_SET2_KHR:
case VK_CMD_PUSH_DESCRIPTOR_SET2:
handle_push_descriptor_set(cmd, state);
break;
case VK_CMD_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE2_KHR:
case VK_CMD_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE2:
handle_push_descriptor_set_with_template(cmd, state);
break;
case VK_CMD_BIND_TRANSFORM_FEEDBACK_BUFFERS_EXT:
@ -5304,7 +5304,7 @@ static void lvp_execute_cmd_buffer(struct list_head *cmds,
case VK_CMD_SET_STENCIL_OP:
handle_set_stencil_op(cmd, state);
break;
case VK_CMD_SET_LINE_STIPPLE_KHR:
case VK_CMD_SET_LINE_STIPPLE:
handle_set_line_stipple(cmd, state);
break;
case VK_CMD_SET_DEPTH_BIAS_ENABLE:
@ -5446,10 +5446,10 @@ static void lvp_execute_cmd_buffer(struct list_head *cmds,
handle_dispatch_graph(cmd, state);
break;
#endif
case VK_CMD_SET_RENDERING_ATTACHMENT_LOCATIONS_KHR:
case VK_CMD_SET_RENDERING_ATTACHMENT_LOCATIONS:
handle_rendering_attachment_locations(cmd, state);
break;
case VK_CMD_SET_RENDERING_INPUT_ATTACHMENT_INDICES_KHR:
case VK_CMD_SET_RENDERING_INPUT_ATTACHMENT_INDICES:
handle_rendering_input_attachment_indices(cmd, state);
break;
case VK_CMD_COPY_ACCELERATION_STRUCTURE_KHR:

File diff suppressed because it is too large Load diff

View file

@ -61,15 +61,15 @@ vk_descriptor_type_update_size(VkDescriptorType type)
}
static void
vk_cmd_push_descriptor_set_with_template2_khr_free(
vk_cmd_push_descriptor_set_with_template2_free(
struct vk_cmd_queue *queue, struct vk_cmd_queue_entry *cmd)
{
struct vk_command_buffer *cmd_buffer =
container_of(queue, struct vk_command_buffer, cmd_queue);
struct vk_device *device = cmd_buffer->base.device;
struct vk_cmd_push_descriptor_set_with_template2_khr *info_ =
&cmd->u.push_descriptor_set_with_template2_khr;
struct vk_cmd_push_descriptor_set_with_template2 *info_ =
&cmd->u.push_descriptor_set_with_template2;
VkPushDescriptorSetWithTemplateInfoKHR *info =
info_->push_descriptor_set_with_template_info;
@ -91,7 +91,7 @@ vk_cmd_push_descriptor_set_with_template2_khr_free(
}
VKAPI_ATTR void VKAPI_CALL
vk_cmd_enqueue_CmdPushDescriptorSetWithTemplate2KHR(
vk_cmd_enqueue_CmdPushDescriptorSetWithTemplate2(
VkCommandBuffer commandBuffer,
const VkPushDescriptorSetWithTemplateInfoKHR *pPushDescriptorSetWithTemplateInfo)
{
@ -105,8 +105,8 @@ vk_cmd_enqueue_CmdPushDescriptorSetWithTemplate2KHR(
if (!cmd)
return;
cmd->type = VK_CMD_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE2_KHR;
cmd->driver_free_cb = vk_cmd_push_descriptor_set_with_template2_khr_free;
cmd->type = VK_CMD_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE2;
cmd->driver_free_cb = vk_cmd_push_descriptor_set_with_template2_free;
list_addtail(&cmd->cmd_link, &cmd_buffer->cmd_queue.cmds);
VkPushDescriptorSetWithTemplateInfoKHR *info =
@ -114,7 +114,7 @@ vk_cmd_enqueue_CmdPushDescriptorSetWithTemplate2KHR(
sizeof(VkPushDescriptorSetWithTemplateInfoKHR), 8,
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
cmd->u.push_descriptor_set_with_template2_khr
cmd->u.push_descriptor_set_with_template2
.push_descriptor_set_with_template_info = info;
/* From the application's perspective, the vk_cmd_queue_entry can outlive the
@ -244,13 +244,13 @@ vk_cmd_enqueue_CmdPushDescriptorSetWithTemplate2KHR(
err:
if (cmd)
vk_cmd_push_descriptor_set_with_template2_khr_free(queue, cmd);
vk_cmd_push_descriptor_set_with_template2_free(queue, cmd);
vk_command_buffer_set_error(cmd_buffer, VK_ERROR_OUT_OF_HOST_MEMORY);
}
VKAPI_ATTR void VKAPI_CALL
vk_cmd_enqueue_CmdPushDescriptorSetWithTemplateKHR(
vk_cmd_enqueue_CmdPushDescriptorSetWithTemplate(
VkCommandBuffer commandBuffer,
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
VkPipelineLayout layout,
@ -265,7 +265,7 @@ vk_cmd_enqueue_CmdPushDescriptorSetWithTemplateKHR(
.pData = pData,
};
vk_cmd_enqueue_CmdPushDescriptorSetWithTemplate2KHR(commandBuffer, &two);
vk_cmd_enqueue_CmdPushDescriptorSetWithTemplate2(commandBuffer, &two);
}
VKAPI_ATTR void VKAPI_CALL
@ -363,7 +363,7 @@ push_descriptors_set_free(struct vk_cmd_queue *queue,
{
struct vk_command_buffer *cmd_buffer =
container_of(queue, struct vk_command_buffer, cmd_queue);
struct vk_cmd_push_descriptor_set_khr *pds = &cmd->u.push_descriptor_set_khr;
struct vk_cmd_push_descriptor_set *pds = &cmd->u.push_descriptor_set;
VK_FROM_HANDLE(vk_pipeline_layout, vk_layout, pds->layout);
vk_pipeline_layout_unref(cmd_buffer->base.device, vk_layout);
@ -394,15 +394,15 @@ push_descriptors_set_free(struct vk_cmd_queue *queue,
}
VKAPI_ATTR void VKAPI_CALL
vk_cmd_enqueue_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
VkPipelineLayout layout,
uint32_t set,
uint32_t descriptorWriteCount,
const VkWriteDescriptorSet *pDescriptorWrites)
vk_cmd_enqueue_CmdPushDescriptorSet(VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
VkPipelineLayout layout,
uint32_t set,
uint32_t descriptorWriteCount,
const VkWriteDescriptorSet *pDescriptorWrites)
{
VK_FROM_HANDLE(vk_command_buffer, cmd_buffer, commandBuffer);
struct vk_cmd_push_descriptor_set_khr *pds;
struct vk_cmd_push_descriptor_set *pds;
struct vk_cmd_queue_entry *cmd =
vk_zalloc(cmd_buffer->cmd_queue.alloc, sizeof(*cmd), 8,
@ -410,9 +410,9 @@ vk_cmd_enqueue_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,
if (!cmd)
return;
pds = &cmd->u.push_descriptor_set_khr;
pds = &cmd->u.push_descriptor_set;
cmd->type = VK_CMD_PUSH_DESCRIPTOR_SET_KHR;
cmd->type = VK_CMD_PUSH_DESCRIPTOR_SET;
cmd->driver_free_cb = push_descriptors_set_free;
list_addtail(&cmd->cmd_link, &cmd_buffer->cmd_queue.cmds);
@ -723,19 +723,19 @@ err:
vk_command_buffer_set_error(cmd_buffer, VK_ERROR_OUT_OF_HOST_MEMORY);
}
VKAPI_ATTR void VKAPI_CALL vk_cmd_enqueue_CmdPushConstants2KHR(
VKAPI_ATTR void VKAPI_CALL vk_cmd_enqueue_CmdPushConstants2(
VkCommandBuffer commandBuffer,
const VkPushConstantsInfoKHR* pPushConstantsInfo)
{
VK_FROM_HANDLE(vk_command_buffer, cmd_buffer, commandBuffer);
struct vk_cmd_queue *queue = &cmd_buffer->cmd_queue;
struct vk_cmd_queue_entry *cmd = vk_zalloc(queue->alloc, vk_cmd_queue_type_sizes[VK_CMD_PUSH_CONSTANTS2_KHR], 8,
struct vk_cmd_queue_entry *cmd = vk_zalloc(queue->alloc, vk_cmd_queue_type_sizes[VK_CMD_PUSH_CONSTANTS2], 8,
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
if (!cmd)
return;
cmd->type = VK_CMD_PUSH_CONSTANTS2_KHR;
cmd->type = VK_CMD_PUSH_CONSTANTS2;
VkPushConstantsInfoKHR *info = vk_zalloc(queue->alloc, sizeof(*info), 8,
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
@ -745,37 +745,37 @@ VKAPI_ATTR void VKAPI_CALL vk_cmd_enqueue_CmdPushConstants2KHR(
memcpy(info, pPushConstantsInfo, sizeof(*info));
memcpy(pValues, pPushConstantsInfo->pValues, pPushConstantsInfo->size);
cmd->u.push_constants2_khr.push_constants_info = info;
cmd->u.push_constants2.push_constants_info = info;
info->pValues = pValues;
list_addtail(&cmd->cmd_link, &cmd_buffer->cmd_queue.cmds);
}
static void
vk_free_cmd_push_descriptor_set2_khr(struct vk_cmd_queue *queue,
struct vk_cmd_queue_entry *cmd)
vk_free_cmd_push_descriptor_set2(struct vk_cmd_queue *queue,
struct vk_cmd_queue_entry *cmd)
{
ralloc_free(cmd->driver_data);
}
VKAPI_ATTR void VKAPI_CALL vk_cmd_enqueue_CmdPushDescriptorSet2KHR(
VKAPI_ATTR void VKAPI_CALL vk_cmd_enqueue_CmdPushDescriptorSet2(
VkCommandBuffer commandBuffer,
const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo)
{
VK_FROM_HANDLE(vk_command_buffer, cmd_buffer, commandBuffer);
struct vk_cmd_queue_entry *cmd = vk_zalloc(cmd_buffer->cmd_queue.alloc, vk_cmd_queue_type_sizes[VK_CMD_PUSH_DESCRIPTOR_SET2_KHR], 8,
struct vk_cmd_queue_entry *cmd = vk_zalloc(cmd_buffer->cmd_queue.alloc, vk_cmd_queue_type_sizes[VK_CMD_PUSH_DESCRIPTOR_SET2], 8,
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
cmd->type = VK_CMD_PUSH_DESCRIPTOR_SET2_KHR;
cmd->driver_free_cb = vk_free_cmd_push_descriptor_set2_khr;
cmd->type = VK_CMD_PUSH_DESCRIPTOR_SET2;
cmd->driver_free_cb = vk_free_cmd_push_descriptor_set2;
void *ctx = cmd->driver_data = ralloc_context(NULL);
if (pPushDescriptorSetInfo) {
cmd->u.push_descriptor_set2_khr.push_descriptor_set_info = vk_zalloc(cmd_buffer->cmd_queue.alloc, sizeof(VkPushDescriptorSetInfoKHR), 8,
cmd->u.push_descriptor_set2.push_descriptor_set_info = vk_zalloc(cmd_buffer->cmd_queue.alloc, sizeof(VkPushDescriptorSetInfoKHR), 8,
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
memcpy((void*)cmd->u.push_descriptor_set2_khr.push_descriptor_set_info, pPushDescriptorSetInfo, sizeof(VkPushDescriptorSetInfoKHR));
VkPushDescriptorSetInfoKHR *tmp_dst1 = (void *) cmd->u.push_descriptor_set2_khr.push_descriptor_set_info; (void) tmp_dst1;
memcpy((void*)cmd->u.push_descriptor_set2.push_descriptor_set_info, pPushDescriptorSetInfo, sizeof(VkPushDescriptorSetInfoKHR));
VkPushDescriptorSetInfoKHR *tmp_dst1 = (void *) cmd->u.push_descriptor_set2.push_descriptor_set_info; (void) tmp_dst1;
VkPushDescriptorSetInfoKHR *tmp_src1 = (void *) pPushDescriptorSetInfo; (void) tmp_src1;
const VkBaseInStructure *pnext = tmp_dst1->pNext;

View file

@ -39,7 +39,7 @@ from vk_extensions import filter_api, get_all_required
# These have hand-typed implementations in vk_cmd_enqueue.c
MANUAL_COMMANDS = [
# This script doesn't know how to copy arrays in structs in arrays
'CmdPushDescriptorSetKHR',
'CmdPushDescriptorSet',
# The size of the elements is specified in a stride param
'CmdDrawMultiEXT',
@ -53,10 +53,10 @@ MANUAL_COMMANDS = [
'CmdBuildAccelerationStructuresKHR',
# pData's size cannot be calculated from the xml
'CmdPushDescriptorSetWithTemplate2KHR',
'CmdPushDescriptorSetWithTemplateKHR',
'CmdPushConstants2KHR',
'CmdPushDescriptorSet2KHR',
'CmdPushDescriptorSetWithTemplate2',
'CmdPushDescriptorSetWithTemplate',
'CmdPushConstants2',
'CmdPushDescriptorSet2',
# VkDispatchGraphCountInfoAMDX::infos is an array of
# VkDispatchGraphInfoAMDX, but the xml specifies that it is a