From 207c9ec65a75c54d56916f2db3c0ded172ed369b Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Fri, 14 Feb 2025 19:37:24 -0800 Subject: [PATCH] venus: sync protocol for v1.4.307 release and update promoted entries Signed-off-by: Yiwei Zhang Part-of: --- .../venus-protocol/vn_protocol_driver.h | 2 +- .../vn_protocol_driver_buffer.h | 24 +- .../vn_protocol_driver_buffer_view.h | 8 +- .../vn_protocol_driver_command_buffer.h | 1003 ++++- .../vn_protocol_driver_defines.h | 49 +- .../vn_protocol_driver_device.h | 3728 +++++++++++++++-- .../vn_protocol_driver_device_memory.h | 152 + .../venus-protocol/vn_protocol_driver_image.h | 753 +++- .../venus-protocol/vn_protocol_driver_info.h | 20 +- .../vn_protocol_driver_pipeline.h | 263 +- .../vn_protocol_driver_pipeline_layout.h | 105 - .../vn_protocol_driver_render_pass.h | 64 +- .../vn_protocol_driver_structs.h | 410 +- .../venus-protocol/vn_protocol_driver_types.h | 147 +- src/virtio/vulkan/vn_command_buffer.c | 40 +- src/virtio/vulkan/vn_image.c | 25 +- src/virtio/vulkan/vn_render_pass.c | 10 +- 17 files changed, 5955 insertions(+), 848 deletions(-) diff --git a/src/virtio/venus-protocol/vn_protocol_driver.h b/src/virtio/venus-protocol/vn_protocol_driver.h index 73979079216..24ed5631181 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver.h +++ b/src/virtio/venus-protocol/vn_protocol_driver.h @@ -1,4 +1,4 @@ -/* This file is generated by venus-protocol git-f770d7df. */ +/* This file is generated by venus-protocol git-de61e4ea. */ /* * Copyright 2020 Google LLC diff --git a/src/virtio/venus-protocol/vn_protocol_driver_buffer.h b/src/virtio/venus-protocol/vn_protocol_driver_buffer.h index 88f16b8d71b..324e11a7231 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_buffer.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_buffer.h @@ -127,13 +127,13 @@ vn_sizeof_VkBufferCreateInfo_pnext(const void *val) while (pnext) { switch ((int32_t)pnext->sType) { - case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkBufferCreateInfo_pnext(pnext->pNext); - size += vn_sizeof_VkBufferUsageFlags2CreateInfoKHR_self((const VkBufferUsageFlags2CreateInfoKHR *)pnext); + size += vn_sizeof_VkBufferUsageFlags2CreateInfo_self((const VkBufferUsageFlags2CreateInfo *)pnext); return size; case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: size += vn_sizeof_simple_pointer(pnext); @@ -195,13 +195,13 @@ vn_encode_VkBufferCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) while (pnext) { switch ((int32_t)pnext->sType) { - case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkBufferCreateInfo_pnext(enc, pnext->pNext); - vn_encode_VkBufferUsageFlags2CreateInfoKHR_self(enc, (const VkBufferUsageFlags2CreateInfoKHR *)pnext); + vn_encode_VkBufferUsageFlags2CreateInfo_self(enc, (const VkBufferUsageFlags2CreateInfo *)pnext); return; case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: vn_encode_simple_pointer(enc, pnext); @@ -332,6 +332,14 @@ vn_sizeof_VkBindBufferMemoryInfo_pnext(const void *val) size += vn_sizeof_VkBindBufferMemoryInfo_pnext(pnext->pNext); size += vn_sizeof_VkBindBufferMemoryDeviceGroupInfo_self((const VkBindBufferMemoryDeviceGroupInfo *)pnext); return size; + case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkBindBufferMemoryInfo_pnext(pnext->pNext); + size += vn_sizeof_VkBindMemoryStatus_self((const VkBindMemoryStatus *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -378,6 +386,14 @@ vn_encode_VkBindBufferMemoryInfo_pnext(struct vn_cs_encoder *enc, const void *va vn_encode_VkBindBufferMemoryInfo_pnext(enc, pnext->pNext); vn_encode_VkBindBufferMemoryDeviceGroupInfo_self(enc, (const VkBindBufferMemoryDeviceGroupInfo *)pnext); return; + case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkBindBufferMemoryInfo_pnext(enc, pnext->pNext); + vn_encode_VkBindMemoryStatus_self(enc, (const VkBindMemoryStatus *)pnext); + return; default: /* ignore unknown/unsupported struct */ break; diff --git a/src/virtio/venus-protocol/vn_protocol_driver_buffer_view.h b/src/virtio/venus-protocol/vn_protocol_driver_buffer_view.h index ef469b79f26..ead9a7bb4e6 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_buffer_view.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_buffer_view.h @@ -21,13 +21,13 @@ vn_sizeof_VkBufferViewCreateInfo_pnext(const void *val) while (pnext) { switch ((int32_t)pnext->sType) { - case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkBufferViewCreateInfo_pnext(pnext->pNext); - size += vn_sizeof_VkBufferUsageFlags2CreateInfoKHR_self((const VkBufferUsageFlags2CreateInfoKHR *)pnext); + size += vn_sizeof_VkBufferUsageFlags2CreateInfo_self((const VkBufferUsageFlags2CreateInfo *)pnext); return size; default: /* ignore unknown/unsupported struct */ @@ -71,13 +71,13 @@ vn_encode_VkBufferViewCreateInfo_pnext(struct vn_cs_encoder *enc, const void *va while (pnext) { switch ((int32_t)pnext->sType) { - case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkBufferViewCreateInfo_pnext(enc, pnext->pNext); - vn_encode_VkBufferUsageFlags2CreateInfoKHR_self(enc, (const VkBufferUsageFlags2CreateInfoKHR *)pnext); + vn_encode_VkBufferUsageFlags2CreateInfo_self(enc, (const VkBufferUsageFlags2CreateInfo *)pnext); return; default: /* ignore unknown/unsupported struct */ diff --git a/src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h b/src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h index 743543c2813..893c043c018 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h @@ -14,7 +14,8 @@ /* * These structs/unions/commands are not included * - * vkCmdPushDescriptorSetWithTemplateKHR + * vkCmdPushDescriptorSetWithTemplate + * vkCmdPushDescriptorSetWithTemplate2 */ /* struct VkCommandBufferAllocateInfo chain */ @@ -228,6 +229,22 @@ vn_sizeof_VkCommandBufferInheritanceInfo_pnext(const void *val) size += vn_sizeof_VkCommandBufferInheritanceInfo_pnext(pnext->pNext); size += vn_sizeof_VkCommandBufferInheritanceRenderingInfo_self((const VkCommandBufferInheritanceRenderingInfo *)pnext); return size; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkCommandBufferInheritanceInfo_pnext(pnext->pNext); + size += vn_sizeof_VkRenderingAttachmentLocationInfo_self((const VkRenderingAttachmentLocationInfo *)pnext); + return size; + case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkCommandBufferInheritanceInfo_pnext(pnext->pNext); + size += vn_sizeof_VkRenderingInputAttachmentIndexInfo_self((const VkRenderingInputAttachmentIndexInfo *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -287,6 +304,22 @@ vn_encode_VkCommandBufferInheritanceInfo_pnext(struct vn_cs_encoder *enc, const vn_encode_VkCommandBufferInheritanceInfo_pnext(enc, pnext->pNext); vn_encode_VkCommandBufferInheritanceRenderingInfo_self(enc, (const VkCommandBufferInheritanceRenderingInfo *)pnext); return; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkCommandBufferInheritanceInfo_pnext(enc, pnext->pNext); + vn_encode_VkRenderingAttachmentLocationInfo_self(enc, (const VkRenderingAttachmentLocationInfo *)pnext); + return; + case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkCommandBufferInheritanceInfo_pnext(enc, pnext->pNext); + vn_encode_VkRenderingInputAttachmentIndexInfo_self(enc, (const VkRenderingInputAttachmentIndexInfo *)pnext); + return; default: /* ignore unknown/unsupported struct */ break; @@ -520,28 +553,6 @@ vn_encode_VkBufferCopy(struct vn_cs_encoder *enc, const VkBufferCopy *val) vn_encode_VkDeviceSize(enc, &val->size); } -/* struct VkImageSubresourceLayers */ - -static inline size_t -vn_sizeof_VkImageSubresourceLayers(const VkImageSubresourceLayers *val) -{ - size_t size = 0; - size += vn_sizeof_VkFlags(&val->aspectMask); - size += vn_sizeof_uint32_t(&val->mipLevel); - size += vn_sizeof_uint32_t(&val->baseArrayLayer); - size += vn_sizeof_uint32_t(&val->layerCount); - return size; -} - -static inline void -vn_encode_VkImageSubresourceLayers(struct vn_cs_encoder *enc, const VkImageSubresourceLayers *val) -{ - vn_encode_VkFlags(enc, &val->aspectMask); - vn_encode_uint32_t(enc, &val->mipLevel); - vn_encode_uint32_t(enc, &val->baseArrayLayer); - vn_encode_uint32_t(enc, &val->layerCount); -} - /* struct VkImageCopy */ static inline size_t @@ -1811,67 +1822,6 @@ vn_encode_VkCopyBufferInfo2(struct vn_cs_encoder *enc, const VkCopyBufferInfo2 * vn_encode_VkCopyBufferInfo2_self(enc, val); } -/* struct VkImageCopy2 chain */ - -static inline size_t -vn_sizeof_VkImageCopy2_pnext(const void *val) -{ - /* no known/supported struct */ - return vn_sizeof_simple_pointer(NULL); -} - -static inline size_t -vn_sizeof_VkImageCopy2_self(const VkImageCopy2 *val) -{ - size_t size = 0; - /* skip val->{sType,pNext} */ - size += vn_sizeof_VkImageSubresourceLayers(&val->srcSubresource); - size += vn_sizeof_VkOffset3D(&val->srcOffset); - size += vn_sizeof_VkImageSubresourceLayers(&val->dstSubresource); - size += vn_sizeof_VkOffset3D(&val->dstOffset); - size += vn_sizeof_VkExtent3D(&val->extent); - return size; -} - -static inline size_t -vn_sizeof_VkImageCopy2(const VkImageCopy2 *val) -{ - size_t size = 0; - - size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkImageCopy2_pnext(val->pNext); - size += vn_sizeof_VkImageCopy2_self(val); - - return size; -} - -static inline void -vn_encode_VkImageCopy2_pnext(struct vn_cs_encoder *enc, const void *val) -{ - /* no known/supported struct */ - vn_encode_simple_pointer(enc, NULL); -} - -static inline void -vn_encode_VkImageCopy2_self(struct vn_cs_encoder *enc, const VkImageCopy2 *val) -{ - /* skip val->{sType,pNext} */ - vn_encode_VkImageSubresourceLayers(enc, &val->srcSubresource); - vn_encode_VkOffset3D(enc, &val->srcOffset); - vn_encode_VkImageSubresourceLayers(enc, &val->dstSubresource); - vn_encode_VkOffset3D(enc, &val->dstOffset); - vn_encode_VkExtent3D(enc, &val->extent); -} - -static inline void -vn_encode_VkImageCopy2(struct vn_cs_encoder *enc, const VkImageCopy2 *val) -{ - assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_COPY_2); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_COPY_2 }); - vn_encode_VkImageCopy2_pnext(enc, val->pNext); - vn_encode_VkImageCopy2_self(enc, val); -} - /* struct VkCopyImageInfo2 chain */ static inline size_t @@ -3143,6 +3093,336 @@ vn_encode_VkRenderingInfo(struct vn_cs_encoder *enc, const VkRenderingInfo *val) vn_encode_VkRenderingInfo_self(enc, val); } +/* struct VkBindDescriptorSetsInfo chain */ + +static inline size_t +vn_sizeof_VkBindDescriptorSetsInfo_pnext(const void *val) +{ + const VkBaseInStructure *pnext = val; + size_t size = 0; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkBindDescriptorSetsInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPipelineLayoutCreateInfo_self((const VkPipelineLayoutCreateInfo *)pnext); + return size; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkBindDescriptorSetsInfo_self(const VkBindDescriptorSetsInfo *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkFlags(&val->stageFlags); + size += vn_sizeof_VkPipelineLayout(&val->layout); + size += vn_sizeof_uint32_t(&val->firstSet); + size += vn_sizeof_uint32_t(&val->descriptorSetCount); + if (val->pDescriptorSets) { + size += vn_sizeof_array_size(val->descriptorSetCount); + for (uint32_t i = 0; i < val->descriptorSetCount; i++) + size += vn_sizeof_VkDescriptorSet(&val->pDescriptorSets[i]); + } else { + size += vn_sizeof_array_size(0); + } + size += vn_sizeof_uint32_t(&val->dynamicOffsetCount); + if (val->pDynamicOffsets) { + size += vn_sizeof_array_size(val->dynamicOffsetCount); + size += vn_sizeof_uint32_t_array(val->pDynamicOffsets, val->dynamicOffsetCount); + } else { + size += vn_sizeof_array_size(0); + } + return size; +} + +static inline size_t +vn_sizeof_VkBindDescriptorSetsInfo(const VkBindDescriptorSetsInfo *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkBindDescriptorSetsInfo_pnext(val->pNext); + size += vn_sizeof_VkBindDescriptorSetsInfo_self(val); + + return size; +} + +static inline void +vn_encode_VkBindDescriptorSetsInfo_pnext(struct vn_cs_encoder *enc, const void *val) +{ + const VkBaseInStructure *pnext = val; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkBindDescriptorSetsInfo_pnext(enc, pnext->pNext); + vn_encode_VkPipelineLayoutCreateInfo_self(enc, (const VkPipelineLayoutCreateInfo *)pnext); + return; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkBindDescriptorSetsInfo_self(struct vn_cs_encoder *enc, const VkBindDescriptorSetsInfo *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkFlags(enc, &val->stageFlags); + vn_encode_VkPipelineLayout(enc, &val->layout); + vn_encode_uint32_t(enc, &val->firstSet); + vn_encode_uint32_t(enc, &val->descriptorSetCount); + if (val->pDescriptorSets) { + vn_encode_array_size(enc, val->descriptorSetCount); + for (uint32_t i = 0; i < val->descriptorSetCount; i++) + vn_encode_VkDescriptorSet(enc, &val->pDescriptorSets[i]); + } else { + vn_encode_array_size(enc, 0); + } + vn_encode_uint32_t(enc, &val->dynamicOffsetCount); + if (val->pDynamicOffsets) { + vn_encode_array_size(enc, val->dynamicOffsetCount); + vn_encode_uint32_t_array(enc, val->pDynamicOffsets, val->dynamicOffsetCount); + } else { + vn_encode_array_size(enc, 0); + } +} + +static inline void +vn_encode_VkBindDescriptorSetsInfo(struct vn_cs_encoder *enc, const VkBindDescriptorSetsInfo *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO }); + vn_encode_VkBindDescriptorSetsInfo_pnext(enc, val->pNext); + vn_encode_VkBindDescriptorSetsInfo_self(enc, val); +} + +/* struct VkPushConstantsInfo chain */ + +static inline size_t +vn_sizeof_VkPushConstantsInfo_pnext(const void *val) +{ + const VkBaseInStructure *pnext = val; + size_t size = 0; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPushConstantsInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPipelineLayoutCreateInfo_self((const VkPipelineLayoutCreateInfo *)pnext); + return size; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPushConstantsInfo_self(const VkPushConstantsInfo *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkPipelineLayout(&val->layout); + size += vn_sizeof_VkFlags(&val->stageFlags); + size += vn_sizeof_uint32_t(&val->offset); + size += vn_sizeof_uint32_t(&val->size); + if (val->pValues) { + size += vn_sizeof_array_size(val->size); + size += vn_sizeof_blob_array(val->pValues, val->size); + } else { + size += vn_sizeof_array_size(0); + } + return size; +} + +static inline size_t +vn_sizeof_VkPushConstantsInfo(const VkPushConstantsInfo *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPushConstantsInfo_pnext(val->pNext); + size += vn_sizeof_VkPushConstantsInfo_self(val); + + return size; +} + +static inline void +vn_encode_VkPushConstantsInfo_pnext(struct vn_cs_encoder *enc, const void *val) +{ + const VkBaseInStructure *pnext = val; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPushConstantsInfo_pnext(enc, pnext->pNext); + vn_encode_VkPipelineLayoutCreateInfo_self(enc, (const VkPipelineLayoutCreateInfo *)pnext); + return; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPushConstantsInfo_self(struct vn_cs_encoder *enc, const VkPushConstantsInfo *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkPipelineLayout(enc, &val->layout); + vn_encode_VkFlags(enc, &val->stageFlags); + vn_encode_uint32_t(enc, &val->offset); + vn_encode_uint32_t(enc, &val->size); + if (val->pValues) { + vn_encode_array_size(enc, val->size); + vn_encode_blob_array(enc, val->pValues, val->size); + } else { + vn_encode_array_size(enc, 0); + } +} + +static inline void +vn_encode_VkPushConstantsInfo(struct vn_cs_encoder *enc, const VkPushConstantsInfo *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO }); + vn_encode_VkPushConstantsInfo_pnext(enc, val->pNext); + vn_encode_VkPushConstantsInfo_self(enc, val); +} + +/* struct VkPushDescriptorSetInfo chain */ + +static inline size_t +vn_sizeof_VkPushDescriptorSetInfo_pnext(const void *val) +{ + const VkBaseInStructure *pnext = val; + size_t size = 0; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPushDescriptorSetInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPipelineLayoutCreateInfo_self((const VkPipelineLayoutCreateInfo *)pnext); + return size; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPushDescriptorSetInfo_self(const VkPushDescriptorSetInfo *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkFlags(&val->stageFlags); + size += vn_sizeof_VkPipelineLayout(&val->layout); + size += vn_sizeof_uint32_t(&val->set); + size += vn_sizeof_uint32_t(&val->descriptorWriteCount); + if (val->pDescriptorWrites) { + size += vn_sizeof_array_size(val->descriptorWriteCount); + for (uint32_t i = 0; i < val->descriptorWriteCount; i++) + size += vn_sizeof_VkWriteDescriptorSet(&val->pDescriptorWrites[i]); + } else { + size += vn_sizeof_array_size(0); + } + return size; +} + +static inline size_t +vn_sizeof_VkPushDescriptorSetInfo(const VkPushDescriptorSetInfo *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPushDescriptorSetInfo_pnext(val->pNext); + size += vn_sizeof_VkPushDescriptorSetInfo_self(val); + + return size; +} + +static inline void +vn_encode_VkPushDescriptorSetInfo_pnext(struct vn_cs_encoder *enc, const void *val) +{ + const VkBaseInStructure *pnext = val; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPushDescriptorSetInfo_pnext(enc, pnext->pNext); + vn_encode_VkPipelineLayoutCreateInfo_self(enc, (const VkPipelineLayoutCreateInfo *)pnext); + return; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPushDescriptorSetInfo_self(struct vn_cs_encoder *enc, const VkPushDescriptorSetInfo *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkFlags(enc, &val->stageFlags); + vn_encode_VkPipelineLayout(enc, &val->layout); + vn_encode_uint32_t(enc, &val->set); + vn_encode_uint32_t(enc, &val->descriptorWriteCount); + if (val->pDescriptorWrites) { + vn_encode_array_size(enc, val->descriptorWriteCount); + for (uint32_t i = 0; i < val->descriptorWriteCount; i++) + vn_encode_VkWriteDescriptorSet(enc, &val->pDescriptorWrites[i]); + } else { + vn_encode_array_size(enc, 0); + } +} + +static inline void +vn_encode_VkPushDescriptorSetInfo(struct vn_cs_encoder *enc, const VkPushDescriptorSetInfo *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO }); + vn_encode_VkPushDescriptorSetInfo_pnext(enc, val->pNext); + vn_encode_VkPushDescriptorSetInfo_self(enc, val); +} + static inline size_t vn_sizeof_vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) { const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT; @@ -6405,9 +6685,9 @@ static inline void vn_decode_vkCmdExecuteCommands_reply(struct vn_cs_decoder *de /* skip pCommandBuffers */ } -static inline size_t vn_sizeof_vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) +static inline size_t vn_sizeof_vkCmdPushDescriptorSet(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushDescriptorSetKHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushDescriptorSet_EXT; const VkFlags cmd_flags = 0; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); @@ -6427,9 +6707,9 @@ static inline size_t vn_sizeof_vkCmdPushDescriptorSetKHR(VkCommandBuffer command return cmd_size; } -static inline void vn_encode_vkCmdPushDescriptorSetKHR(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) +static inline void vn_encode_vkCmdPushDescriptorSet(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushDescriptorSetKHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushDescriptorSet_EXT; vn_encode_VkCommandTypeEXT(enc, &cmd_type); vn_encode_VkFlags(enc, &cmd_flags); @@ -6448,9 +6728,9 @@ static inline void vn_encode_vkCmdPushDescriptorSetKHR(struct vn_cs_encoder *enc } } -static inline size_t vn_sizeof_vkCmdPushDescriptorSetKHR_reply(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) +static inline size_t vn_sizeof_vkCmdPushDescriptorSet_reply(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushDescriptorSetKHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushDescriptorSet_EXT; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); /* skip commandBuffer */ @@ -6463,11 +6743,11 @@ static inline size_t vn_sizeof_vkCmdPushDescriptorSetKHR_reply(VkCommandBuffer c return cmd_size; } -static inline void vn_decode_vkCmdPushDescriptorSetKHR_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) +static inline void vn_decode_vkCmdPushDescriptorSet_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) { VkCommandTypeEXT command_type; vn_decode_VkCommandTypeEXT(dec, &command_type); - assert(command_type == VK_COMMAND_TYPE_vkCmdPushDescriptorSetKHR_EXT); + assert(command_type == VK_COMMAND_TYPE_vkCmdPushDescriptorSet_EXT); /* skip commandBuffer */ /* skip pipelineBindPoint */ @@ -7335,9 +7615,9 @@ static inline void vn_decode_vkCmdDrawIndirectByteCountEXT_reply(struct vn_cs_de /* skip vertexStride */ } -static inline size_t vn_sizeof_vkCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) +static inline size_t vn_sizeof_vkCmdSetLineStipple(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineStippleKHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineStipple_EXT; const VkFlags cmd_flags = 0; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); @@ -7348,9 +7628,9 @@ static inline size_t vn_sizeof_vkCmdSetLineStippleKHR(VkCommandBuffer commandBuf return cmd_size; } -static inline void vn_encode_vkCmdSetLineStippleKHR(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) +static inline void vn_encode_vkCmdSetLineStipple(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineStippleKHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineStipple_EXT; vn_encode_VkCommandTypeEXT(enc, &cmd_type); vn_encode_VkFlags(enc, &cmd_flags); @@ -7360,9 +7640,9 @@ static inline void vn_encode_vkCmdSetLineStippleKHR(struct vn_cs_encoder *enc, V vn_encode_uint16_t(enc, &lineStipplePattern); } -static inline size_t vn_sizeof_vkCmdSetLineStippleKHR_reply(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) +static inline size_t vn_sizeof_vkCmdSetLineStipple_reply(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineStippleKHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineStipple_EXT; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); /* skip commandBuffer */ @@ -7372,11 +7652,11 @@ static inline size_t vn_sizeof_vkCmdSetLineStippleKHR_reply(VkCommandBuffer comm return cmd_size; } -static inline void vn_decode_vkCmdSetLineStippleKHR_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) +static inline void vn_decode_vkCmdSetLineStipple_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) { VkCommandTypeEXT command_type; vn_decode_VkCommandTypeEXT(dec, &command_type); - assert(command_type == VK_COMMAND_TYPE_vkCmdSetLineStippleKHR_EXT); + assert(command_type == VK_COMMAND_TYPE_vkCmdSetLineStipple_EXT); /* skip commandBuffer */ /* skip lineStippleFactor */ @@ -7635,9 +7915,9 @@ static inline void vn_decode_vkCmdSetScissorWithCount_reply(struct vn_cs_decoder /* skip pScissors */ } -static inline size_t vn_sizeof_vkCmdBindIndexBuffer2KHR(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) +static inline size_t vn_sizeof_vkCmdBindIndexBuffer2(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer2KHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer2_EXT; const VkFlags cmd_flags = 0; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); @@ -7650,9 +7930,9 @@ static inline size_t vn_sizeof_vkCmdBindIndexBuffer2KHR(VkCommandBuffer commandB return cmd_size; } -static inline void vn_encode_vkCmdBindIndexBuffer2KHR(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) +static inline void vn_encode_vkCmdBindIndexBuffer2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer2KHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer2_EXT; vn_encode_VkCommandTypeEXT(enc, &cmd_type); vn_encode_VkFlags(enc, &cmd_flags); @@ -7664,9 +7944,9 @@ static inline void vn_encode_vkCmdBindIndexBuffer2KHR(struct vn_cs_encoder *enc, vn_encode_VkIndexType(enc, &indexType); } -static inline size_t vn_sizeof_vkCmdBindIndexBuffer2KHR_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) +static inline size_t vn_sizeof_vkCmdBindIndexBuffer2_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer2KHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer2_EXT; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); /* skip commandBuffer */ @@ -7678,11 +7958,11 @@ static inline size_t vn_sizeof_vkCmdBindIndexBuffer2KHR_reply(VkCommandBuffer co return cmd_size; } -static inline void vn_decode_vkCmdBindIndexBuffer2KHR_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) +static inline void vn_decode_vkCmdBindIndexBuffer2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) { VkCommandTypeEXT command_type; vn_decode_VkCommandTypeEXT(dec, &command_type); - assert(command_type == VK_COMMAND_TYPE_vkCmdBindIndexBuffer2KHR_EXT); + assert(command_type == VK_COMMAND_TYPE_vkCmdBindIndexBuffer2_EXT); /* skip commandBuffer */ /* skip buffer */ @@ -9181,19 +9461,19 @@ static inline void vn_decode_vkCmdSetProvokingVertexModeEXT_reply(struct vn_cs_d /* skip provokingVertexMode */ } -static inline size_t vn_sizeof_vkCmdSetLineRasterizationModeEXT(VkCommandBuffer commandBuffer, VkLineRasterizationModeKHR lineRasterizationMode) +static inline size_t vn_sizeof_vkCmdSetLineRasterizationModeEXT(VkCommandBuffer commandBuffer, VkLineRasterizationMode lineRasterizationMode) { const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineRasterizationModeEXT_EXT; const VkFlags cmd_flags = 0; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer); - cmd_size += vn_sizeof_VkLineRasterizationModeKHR(&lineRasterizationMode); + cmd_size += vn_sizeof_VkLineRasterizationMode(&lineRasterizationMode); return cmd_size; } -static inline void vn_encode_vkCmdSetLineRasterizationModeEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkLineRasterizationModeKHR lineRasterizationMode) +static inline void vn_encode_vkCmdSetLineRasterizationModeEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkLineRasterizationMode lineRasterizationMode) { const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineRasterizationModeEXT_EXT; @@ -9201,10 +9481,10 @@ static inline void vn_encode_vkCmdSetLineRasterizationModeEXT(struct vn_cs_encod vn_encode_VkFlags(enc, &cmd_flags); vn_encode_VkCommandBuffer(enc, &commandBuffer); - vn_encode_VkLineRasterizationModeKHR(enc, &lineRasterizationMode); + vn_encode_VkLineRasterizationMode(enc, &lineRasterizationMode); } -static inline size_t vn_sizeof_vkCmdSetLineRasterizationModeEXT_reply(VkCommandBuffer commandBuffer, VkLineRasterizationModeKHR lineRasterizationMode) +static inline size_t vn_sizeof_vkCmdSetLineRasterizationModeEXT_reply(VkCommandBuffer commandBuffer, VkLineRasterizationMode lineRasterizationMode) { const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineRasterizationModeEXT_EXT; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); @@ -9215,7 +9495,7 @@ static inline size_t vn_sizeof_vkCmdSetLineRasterizationModeEXT_reply(VkCommandB return cmd_size; } -static inline void vn_decode_vkCmdSetLineRasterizationModeEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkLineRasterizationModeKHR lineRasterizationMode) +static inline void vn_decode_vkCmdSetLineRasterizationModeEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkLineRasterizationMode lineRasterizationMode) { VkCommandTypeEXT command_type; vn_decode_VkCommandTypeEXT(dec, &command_type); @@ -10147,6 +10427,241 @@ static inline void vn_decode_vkCmdEndRendering_reply(struct vn_cs_decoder *dec, /* skip commandBuffer */ } +static inline size_t vn_sizeof_vkCmdBindDescriptorSets2(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindDescriptorSets2_EXT; + const VkFlags cmd_flags = 0; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); + + cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer); + cmd_size += vn_sizeof_simple_pointer(pBindDescriptorSetsInfo); + if (pBindDescriptorSetsInfo) + cmd_size += vn_sizeof_VkBindDescriptorSetsInfo(pBindDescriptorSetsInfo); + + return cmd_size; +} + +static inline void vn_encode_vkCmdBindDescriptorSets2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindDescriptorSets2_EXT; + + vn_encode_VkCommandTypeEXT(enc, &cmd_type); + vn_encode_VkFlags(enc, &cmd_flags); + + vn_encode_VkCommandBuffer(enc, &commandBuffer); + if (vn_encode_simple_pointer(enc, pBindDescriptorSetsInfo)) + vn_encode_VkBindDescriptorSetsInfo(enc, pBindDescriptorSetsInfo); +} + +static inline size_t vn_sizeof_vkCmdBindDescriptorSets2_reply(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindDescriptorSets2_EXT; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); + + /* skip commandBuffer */ + /* skip pBindDescriptorSetsInfo */ + + return cmd_size; +} + +static inline void vn_decode_vkCmdBindDescriptorSets2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo) +{ + VkCommandTypeEXT command_type; + vn_decode_VkCommandTypeEXT(dec, &command_type); + assert(command_type == VK_COMMAND_TYPE_vkCmdBindDescriptorSets2_EXT); + + /* skip commandBuffer */ + /* skip pBindDescriptorSetsInfo */ +} + +static inline size_t vn_sizeof_vkCmdPushConstants2(VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushConstants2_EXT; + const VkFlags cmd_flags = 0; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); + + cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer); + cmd_size += vn_sizeof_simple_pointer(pPushConstantsInfo); + if (pPushConstantsInfo) + cmd_size += vn_sizeof_VkPushConstantsInfo(pPushConstantsInfo); + + return cmd_size; +} + +static inline void vn_encode_vkCmdPushConstants2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushConstants2_EXT; + + vn_encode_VkCommandTypeEXT(enc, &cmd_type); + vn_encode_VkFlags(enc, &cmd_flags); + + vn_encode_VkCommandBuffer(enc, &commandBuffer); + if (vn_encode_simple_pointer(enc, pPushConstantsInfo)) + vn_encode_VkPushConstantsInfo(enc, pPushConstantsInfo); +} + +static inline size_t vn_sizeof_vkCmdPushConstants2_reply(VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushConstants2_EXT; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); + + /* skip commandBuffer */ + /* skip pPushConstantsInfo */ + + return cmd_size; +} + +static inline void vn_decode_vkCmdPushConstants2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo) +{ + VkCommandTypeEXT command_type; + vn_decode_VkCommandTypeEXT(dec, &command_type); + assert(command_type == VK_COMMAND_TYPE_vkCmdPushConstants2_EXT); + + /* skip commandBuffer */ + /* skip pPushConstantsInfo */ +} + +static inline size_t vn_sizeof_vkCmdPushDescriptorSet2(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushDescriptorSet2_EXT; + const VkFlags cmd_flags = 0; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); + + cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer); + cmd_size += vn_sizeof_simple_pointer(pPushDescriptorSetInfo); + if (pPushDescriptorSetInfo) + cmd_size += vn_sizeof_VkPushDescriptorSetInfo(pPushDescriptorSetInfo); + + return cmd_size; +} + +static inline void vn_encode_vkCmdPushDescriptorSet2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushDescriptorSet2_EXT; + + vn_encode_VkCommandTypeEXT(enc, &cmd_type); + vn_encode_VkFlags(enc, &cmd_flags); + + vn_encode_VkCommandBuffer(enc, &commandBuffer); + if (vn_encode_simple_pointer(enc, pPushDescriptorSetInfo)) + vn_encode_VkPushDescriptorSetInfo(enc, pPushDescriptorSetInfo); +} + +static inline size_t vn_sizeof_vkCmdPushDescriptorSet2_reply(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushDescriptorSet2_EXT; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); + + /* skip commandBuffer */ + /* skip pPushDescriptorSetInfo */ + + return cmd_size; +} + +static inline void vn_decode_vkCmdPushDescriptorSet2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo) +{ + VkCommandTypeEXT command_type; + vn_decode_VkCommandTypeEXT(dec, &command_type); + assert(command_type == VK_COMMAND_TYPE_vkCmdPushDescriptorSet2_EXT); + + /* skip commandBuffer */ + /* skip pPushDescriptorSetInfo */ +} + +static inline size_t vn_sizeof_vkCmdSetRenderingAttachmentLocations(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetRenderingAttachmentLocations_EXT; + const VkFlags cmd_flags = 0; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); + + cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer); + cmd_size += vn_sizeof_simple_pointer(pLocationInfo); + if (pLocationInfo) + cmd_size += vn_sizeof_VkRenderingAttachmentLocationInfo(pLocationInfo); + + return cmd_size; +} + +static inline void vn_encode_vkCmdSetRenderingAttachmentLocations(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetRenderingAttachmentLocations_EXT; + + vn_encode_VkCommandTypeEXT(enc, &cmd_type); + vn_encode_VkFlags(enc, &cmd_flags); + + vn_encode_VkCommandBuffer(enc, &commandBuffer); + if (vn_encode_simple_pointer(enc, pLocationInfo)) + vn_encode_VkRenderingAttachmentLocationInfo(enc, pLocationInfo); +} + +static inline size_t vn_sizeof_vkCmdSetRenderingAttachmentLocations_reply(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetRenderingAttachmentLocations_EXT; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); + + /* skip commandBuffer */ + /* skip pLocationInfo */ + + return cmd_size; +} + +static inline void vn_decode_vkCmdSetRenderingAttachmentLocations_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo) +{ + VkCommandTypeEXT command_type; + vn_decode_VkCommandTypeEXT(dec, &command_type); + assert(command_type == VK_COMMAND_TYPE_vkCmdSetRenderingAttachmentLocations_EXT); + + /* skip commandBuffer */ + /* skip pLocationInfo */ +} + +static inline size_t vn_sizeof_vkCmdSetRenderingInputAttachmentIndices(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetRenderingInputAttachmentIndices_EXT; + const VkFlags cmd_flags = 0; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); + + cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer); + cmd_size += vn_sizeof_simple_pointer(pInputAttachmentIndexInfo); + if (pInputAttachmentIndexInfo) + cmd_size += vn_sizeof_VkRenderingInputAttachmentIndexInfo(pInputAttachmentIndexInfo); + + return cmd_size; +} + +static inline void vn_encode_vkCmdSetRenderingInputAttachmentIndices(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetRenderingInputAttachmentIndices_EXT; + + vn_encode_VkCommandTypeEXT(enc, &cmd_type); + vn_encode_VkFlags(enc, &cmd_flags); + + vn_encode_VkCommandBuffer(enc, &commandBuffer); + if (vn_encode_simple_pointer(enc, pInputAttachmentIndexInfo)) + vn_encode_VkRenderingInputAttachmentIndexInfo(enc, pInputAttachmentIndexInfo); +} + +static inline size_t vn_sizeof_vkCmdSetRenderingInputAttachmentIndices_reply(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetRenderingInputAttachmentIndices_EXT; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); + + /* skip commandBuffer */ + /* skip pInputAttachmentIndexInfo */ + + return cmd_size; +} + +static inline void vn_decode_vkCmdSetRenderingInputAttachmentIndices_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo) +{ + VkCommandTypeEXT command_type; + vn_decode_VkCommandTypeEXT(dec, &command_type); + assert(command_type == VK_COMMAND_TYPE_vkCmdSetRenderingInputAttachmentIndices_EXT); + + /* skip commandBuffer */ + /* skip pInputAttachmentIndexInfo */ +} + static inline void vn_submit_vkAllocateCommandBuffers(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers, struct vn_ring_submit_command *submit) { uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; @@ -11260,21 +11775,21 @@ static inline void vn_submit_vkCmdExecuteCommands(struct vn_ring *vn_ring, VkCom } } -static inline void vn_submit_vkCmdPushDescriptorSetKHR(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, struct vn_ring_submit_command *submit) +static inline void vn_submit_vkCmdPushDescriptorSet(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, struct vn_ring_submit_command *submit) { uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; void *cmd_data = local_cmd_data; - size_t cmd_size = vn_sizeof_vkCmdPushDescriptorSetKHR(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); + size_t cmd_size = vn_sizeof_vkCmdPushDescriptorSet(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); if (cmd_size > sizeof(local_cmd_data)) { cmd_data = malloc(cmd_size); if (!cmd_data) cmd_size = 0; } - const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdPushDescriptorSetKHR_reply(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites) : 0; + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdPushDescriptorSet_reply(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites) : 0; struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); if (cmd_size) { - vn_encode_vkCmdPushDescriptorSetKHR(enc, cmd_flags, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); + vn_encode_vkCmdPushDescriptorSet(enc, cmd_flags, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); vn_ring_submit_command(vn_ring, submit); if (cmd_data != local_cmd_data) free(cmd_data); @@ -11575,21 +12090,21 @@ static inline void vn_submit_vkCmdDrawIndirectByteCountEXT(struct vn_ring *vn_ri } } -static inline void vn_submit_vkCmdSetLineStippleKHR(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, struct vn_ring_submit_command *submit) +static inline void vn_submit_vkCmdSetLineStipple(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, struct vn_ring_submit_command *submit) { uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; void *cmd_data = local_cmd_data; - size_t cmd_size = vn_sizeof_vkCmdSetLineStippleKHR(commandBuffer, lineStippleFactor, lineStipplePattern); + size_t cmd_size = vn_sizeof_vkCmdSetLineStipple(commandBuffer, lineStippleFactor, lineStipplePattern); if (cmd_size > sizeof(local_cmd_data)) { cmd_data = malloc(cmd_size); if (!cmd_data) cmd_size = 0; } - const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetLineStippleKHR_reply(commandBuffer, lineStippleFactor, lineStipplePattern) : 0; + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetLineStipple_reply(commandBuffer, lineStippleFactor, lineStipplePattern) : 0; struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); if (cmd_size) { - vn_encode_vkCmdSetLineStippleKHR(enc, cmd_flags, commandBuffer, lineStippleFactor, lineStipplePattern); + vn_encode_vkCmdSetLineStipple(enc, cmd_flags, commandBuffer, lineStippleFactor, lineStipplePattern); vn_ring_submit_command(vn_ring, submit); if (cmd_data != local_cmd_data) free(cmd_data); @@ -11701,21 +12216,21 @@ static inline void vn_submit_vkCmdSetScissorWithCount(struct vn_ring *vn_ring, V } } -static inline void vn_submit_vkCmdBindIndexBuffer2KHR(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType, struct vn_ring_submit_command *submit) +static inline void vn_submit_vkCmdBindIndexBuffer2(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType, struct vn_ring_submit_command *submit) { uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; void *cmd_data = local_cmd_data; - size_t cmd_size = vn_sizeof_vkCmdBindIndexBuffer2KHR(commandBuffer, buffer, offset, size, indexType); + size_t cmd_size = vn_sizeof_vkCmdBindIndexBuffer2(commandBuffer, buffer, offset, size, indexType); if (cmd_size > sizeof(local_cmd_data)) { cmd_data = malloc(cmd_size); if (!cmd_data) cmd_size = 0; } - const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindIndexBuffer2KHR_reply(commandBuffer, buffer, offset, size, indexType) : 0; + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindIndexBuffer2_reply(commandBuffer, buffer, offset, size, indexType) : 0; struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); if (cmd_size) { - vn_encode_vkCmdBindIndexBuffer2KHR(enc, cmd_flags, commandBuffer, buffer, offset, size, indexType); + vn_encode_vkCmdBindIndexBuffer2(enc, cmd_flags, commandBuffer, buffer, offset, size, indexType); vn_ring_submit_command(vn_ring, submit); if (cmd_data != local_cmd_data) free(cmd_data); @@ -12352,7 +12867,7 @@ static inline void vn_submit_vkCmdSetProvokingVertexModeEXT(struct vn_ring *vn_r } } -static inline void vn_submit_vkCmdSetLineRasterizationModeEXT(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkLineRasterizationModeKHR lineRasterizationMode, struct vn_ring_submit_command *submit) +static inline void vn_submit_vkCmdSetLineRasterizationModeEXT(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkLineRasterizationMode lineRasterizationMode, struct vn_ring_submit_command *submit) { uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; void *cmd_data = local_cmd_data; @@ -12751,6 +13266,111 @@ static inline void vn_submit_vkCmdEndRendering(struct vn_ring *vn_ring, VkComman } } +static inline void vn_submit_vkCmdBindDescriptorSets2(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo, struct vn_ring_submit_command *submit) +{ + uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; + void *cmd_data = local_cmd_data; + size_t cmd_size = vn_sizeof_vkCmdBindDescriptorSets2(commandBuffer, pBindDescriptorSetsInfo); + if (cmd_size > sizeof(local_cmd_data)) { + cmd_data = malloc(cmd_size); + if (!cmd_data) + cmd_size = 0; + } + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindDescriptorSets2_reply(commandBuffer, pBindDescriptorSetsInfo) : 0; + + struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); + if (cmd_size) { + vn_encode_vkCmdBindDescriptorSets2(enc, cmd_flags, commandBuffer, pBindDescriptorSetsInfo); + vn_ring_submit_command(vn_ring, submit); + if (cmd_data != local_cmd_data) + free(cmd_data); + } +} + +static inline void vn_submit_vkCmdPushConstants2(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo, struct vn_ring_submit_command *submit) +{ + uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; + void *cmd_data = local_cmd_data; + size_t cmd_size = vn_sizeof_vkCmdPushConstants2(commandBuffer, pPushConstantsInfo); + if (cmd_size > sizeof(local_cmd_data)) { + cmd_data = malloc(cmd_size); + if (!cmd_data) + cmd_size = 0; + } + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdPushConstants2_reply(commandBuffer, pPushConstantsInfo) : 0; + + struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); + if (cmd_size) { + vn_encode_vkCmdPushConstants2(enc, cmd_flags, commandBuffer, pPushConstantsInfo); + vn_ring_submit_command(vn_ring, submit); + if (cmd_data != local_cmd_data) + free(cmd_data); + } +} + +static inline void vn_submit_vkCmdPushDescriptorSet2(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo, struct vn_ring_submit_command *submit) +{ + uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; + void *cmd_data = local_cmd_data; + size_t cmd_size = vn_sizeof_vkCmdPushDescriptorSet2(commandBuffer, pPushDescriptorSetInfo); + if (cmd_size > sizeof(local_cmd_data)) { + cmd_data = malloc(cmd_size); + if (!cmd_data) + cmd_size = 0; + } + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdPushDescriptorSet2_reply(commandBuffer, pPushDescriptorSetInfo) : 0; + + struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); + if (cmd_size) { + vn_encode_vkCmdPushDescriptorSet2(enc, cmd_flags, commandBuffer, pPushDescriptorSetInfo); + vn_ring_submit_command(vn_ring, submit); + if (cmd_data != local_cmd_data) + free(cmd_data); + } +} + +static inline void vn_submit_vkCmdSetRenderingAttachmentLocations(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo, struct vn_ring_submit_command *submit) +{ + uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; + void *cmd_data = local_cmd_data; + size_t cmd_size = vn_sizeof_vkCmdSetRenderingAttachmentLocations(commandBuffer, pLocationInfo); + if (cmd_size > sizeof(local_cmd_data)) { + cmd_data = malloc(cmd_size); + if (!cmd_data) + cmd_size = 0; + } + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetRenderingAttachmentLocations_reply(commandBuffer, pLocationInfo) : 0; + + struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); + if (cmd_size) { + vn_encode_vkCmdSetRenderingAttachmentLocations(enc, cmd_flags, commandBuffer, pLocationInfo); + vn_ring_submit_command(vn_ring, submit); + if (cmd_data != local_cmd_data) + free(cmd_data); + } +} + +static inline void vn_submit_vkCmdSetRenderingInputAttachmentIndices(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo, struct vn_ring_submit_command *submit) +{ + uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; + void *cmd_data = local_cmd_data; + size_t cmd_size = vn_sizeof_vkCmdSetRenderingInputAttachmentIndices(commandBuffer, pInputAttachmentIndexInfo); + if (cmd_size > sizeof(local_cmd_data)) { + cmd_data = malloc(cmd_size); + if (!cmd_data) + cmd_size = 0; + } + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetRenderingInputAttachmentIndices_reply(commandBuffer, pInputAttachmentIndexInfo) : 0; + + struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); + if (cmd_size) { + vn_encode_vkCmdSetRenderingInputAttachmentIndices(enc, cmd_flags, commandBuffer, pInputAttachmentIndexInfo); + vn_ring_submit_command(vn_ring, submit); + if (cmd_data != local_cmd_data) + free(cmd_data); + } +} + static inline VkResult vn_call_vkAllocateCommandBuffers(struct vn_ring *vn_ring, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) { VN_TRACE_FUNC(); @@ -13770,23 +14390,23 @@ static inline void vn_async_vkCmdExecuteCommands(struct vn_ring *vn_ring, VkComm vn_submit_vkCmdExecuteCommands(vn_ring, 0, commandBuffer, commandBufferCount, pCommandBuffers, &submit); } -static inline void vn_call_vkCmdPushDescriptorSetKHR(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) +static inline void vn_call_vkCmdPushDescriptorSet(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) { VN_TRACE_FUNC(); struct vn_ring_submit_command submit; - vn_submit_vkCmdPushDescriptorSetKHR(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites, &submit); + vn_submit_vkCmdPushDescriptorSet(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites, &submit); struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); if (dec) { - vn_decode_vkCmdPushDescriptorSetKHR_reply(dec, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); + vn_decode_vkCmdPushDescriptorSet_reply(dec, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); vn_ring_free_command_reply(vn_ring, &submit); } } -static inline void vn_async_vkCmdPushDescriptorSetKHR(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) +static inline void vn_async_vkCmdPushDescriptorSet(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) { struct vn_ring_submit_command submit; - vn_submit_vkCmdPushDescriptorSetKHR(vn_ring, 0, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites, &submit); + vn_submit_vkCmdPushDescriptorSet(vn_ring, 0, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites, &submit); } static inline void vn_call_vkCmdSetDeviceMask(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, uint32_t deviceMask) @@ -14055,23 +14675,23 @@ static inline void vn_async_vkCmdDrawIndirectByteCountEXT(struct vn_ring *vn_rin vn_submit_vkCmdDrawIndirectByteCountEXT(vn_ring, 0, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride, &submit); } -static inline void vn_call_vkCmdSetLineStippleKHR(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) +static inline void vn_call_vkCmdSetLineStipple(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) { VN_TRACE_FUNC(); struct vn_ring_submit_command submit; - vn_submit_vkCmdSetLineStippleKHR(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, lineStippleFactor, lineStipplePattern, &submit); + vn_submit_vkCmdSetLineStipple(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, lineStippleFactor, lineStipplePattern, &submit); struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); if (dec) { - vn_decode_vkCmdSetLineStippleKHR_reply(dec, commandBuffer, lineStippleFactor, lineStipplePattern); + vn_decode_vkCmdSetLineStipple_reply(dec, commandBuffer, lineStippleFactor, lineStipplePattern); vn_ring_free_command_reply(vn_ring, &submit); } } -static inline void vn_async_vkCmdSetLineStippleKHR(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) +static inline void vn_async_vkCmdSetLineStipple(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) { struct vn_ring_submit_command submit; - vn_submit_vkCmdSetLineStippleKHR(vn_ring, 0, commandBuffer, lineStippleFactor, lineStipplePattern, &submit); + vn_submit_vkCmdSetLineStipple(vn_ring, 0, commandBuffer, lineStippleFactor, lineStipplePattern, &submit); } static inline void vn_call_vkCmdSetCullMode(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) @@ -14169,23 +14789,23 @@ static inline void vn_async_vkCmdSetScissorWithCount(struct vn_ring *vn_ring, Vk vn_submit_vkCmdSetScissorWithCount(vn_ring, 0, commandBuffer, scissorCount, pScissors, &submit); } -static inline void vn_call_vkCmdBindIndexBuffer2KHR(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) +static inline void vn_call_vkCmdBindIndexBuffer2(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) { VN_TRACE_FUNC(); struct vn_ring_submit_command submit; - vn_submit_vkCmdBindIndexBuffer2KHR(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, size, indexType, &submit); + vn_submit_vkCmdBindIndexBuffer2(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, size, indexType, &submit); struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); if (dec) { - vn_decode_vkCmdBindIndexBuffer2KHR_reply(dec, commandBuffer, buffer, offset, size, indexType); + vn_decode_vkCmdBindIndexBuffer2_reply(dec, commandBuffer, buffer, offset, size, indexType); vn_ring_free_command_reply(vn_ring, &submit); } } -static inline void vn_async_vkCmdBindIndexBuffer2KHR(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) +static inline void vn_async_vkCmdBindIndexBuffer2(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) { struct vn_ring_submit_command submit; - vn_submit_vkCmdBindIndexBuffer2KHR(vn_ring, 0, commandBuffer, buffer, offset, size, indexType, &submit); + vn_submit_vkCmdBindIndexBuffer2(vn_ring, 0, commandBuffer, buffer, offset, size, indexType, &submit); } static inline void vn_call_vkCmdBindVertexBuffers2(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) @@ -14758,7 +15378,7 @@ static inline void vn_async_vkCmdSetProvokingVertexModeEXT(struct vn_ring *vn_ri vn_submit_vkCmdSetProvokingVertexModeEXT(vn_ring, 0, commandBuffer, provokingVertexMode, &submit); } -static inline void vn_call_vkCmdSetLineRasterizationModeEXT(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkLineRasterizationModeKHR lineRasterizationMode) +static inline void vn_call_vkCmdSetLineRasterizationModeEXT(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkLineRasterizationMode lineRasterizationMode) { VN_TRACE_FUNC(); @@ -14771,7 +15391,7 @@ static inline void vn_call_vkCmdSetLineRasterizationModeEXT(struct vn_ring *vn_r } } -static inline void vn_async_vkCmdSetLineRasterizationModeEXT(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkLineRasterizationModeKHR lineRasterizationMode) +static inline void vn_async_vkCmdSetLineRasterizationModeEXT(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, VkLineRasterizationMode lineRasterizationMode) { struct vn_ring_submit_command submit; vn_submit_vkCmdSetLineRasterizationModeEXT(vn_ring, 0, commandBuffer, lineRasterizationMode, &submit); @@ -15119,4 +15739,99 @@ static inline void vn_async_vkCmdEndRendering(struct vn_ring *vn_ring, VkCommand vn_submit_vkCmdEndRendering(vn_ring, 0, commandBuffer, &submit); } +static inline void vn_call_vkCmdBindDescriptorSets2(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo) +{ + VN_TRACE_FUNC(); + + struct vn_ring_submit_command submit; + vn_submit_vkCmdBindDescriptorSets2(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pBindDescriptorSetsInfo, &submit); + struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); + if (dec) { + vn_decode_vkCmdBindDescriptorSets2_reply(dec, commandBuffer, pBindDescriptorSetsInfo); + vn_ring_free_command_reply(vn_ring, &submit); + } +} + +static inline void vn_async_vkCmdBindDescriptorSets2(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo) +{ + struct vn_ring_submit_command submit; + vn_submit_vkCmdBindDescriptorSets2(vn_ring, 0, commandBuffer, pBindDescriptorSetsInfo, &submit); +} + +static inline void vn_call_vkCmdPushConstants2(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo) +{ + VN_TRACE_FUNC(); + + struct vn_ring_submit_command submit; + vn_submit_vkCmdPushConstants2(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pPushConstantsInfo, &submit); + struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); + if (dec) { + vn_decode_vkCmdPushConstants2_reply(dec, commandBuffer, pPushConstantsInfo); + vn_ring_free_command_reply(vn_ring, &submit); + } +} + +static inline void vn_async_vkCmdPushConstants2(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo) +{ + struct vn_ring_submit_command submit; + vn_submit_vkCmdPushConstants2(vn_ring, 0, commandBuffer, pPushConstantsInfo, &submit); +} + +static inline void vn_call_vkCmdPushDescriptorSet2(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo) +{ + VN_TRACE_FUNC(); + + struct vn_ring_submit_command submit; + vn_submit_vkCmdPushDescriptorSet2(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pPushDescriptorSetInfo, &submit); + struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); + if (dec) { + vn_decode_vkCmdPushDescriptorSet2_reply(dec, commandBuffer, pPushDescriptorSetInfo); + vn_ring_free_command_reply(vn_ring, &submit); + } +} + +static inline void vn_async_vkCmdPushDescriptorSet2(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo) +{ + struct vn_ring_submit_command submit; + vn_submit_vkCmdPushDescriptorSet2(vn_ring, 0, commandBuffer, pPushDescriptorSetInfo, &submit); +} + +static inline void vn_call_vkCmdSetRenderingAttachmentLocations(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo) +{ + VN_TRACE_FUNC(); + + struct vn_ring_submit_command submit; + vn_submit_vkCmdSetRenderingAttachmentLocations(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pLocationInfo, &submit); + struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); + if (dec) { + vn_decode_vkCmdSetRenderingAttachmentLocations_reply(dec, commandBuffer, pLocationInfo); + vn_ring_free_command_reply(vn_ring, &submit); + } +} + +static inline void vn_async_vkCmdSetRenderingAttachmentLocations(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo) +{ + struct vn_ring_submit_command submit; + vn_submit_vkCmdSetRenderingAttachmentLocations(vn_ring, 0, commandBuffer, pLocationInfo, &submit); +} + +static inline void vn_call_vkCmdSetRenderingInputAttachmentIndices(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo) +{ + VN_TRACE_FUNC(); + + struct vn_ring_submit_command submit; + vn_submit_vkCmdSetRenderingInputAttachmentIndices(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pInputAttachmentIndexInfo, &submit); + struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); + if (dec) { + vn_decode_vkCmdSetRenderingInputAttachmentIndices_reply(dec, commandBuffer, pInputAttachmentIndexInfo); + vn_ring_free_command_reply(vn_ring, &submit); + } +} + +static inline void vn_async_vkCmdSetRenderingInputAttachmentIndices(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo) +{ + struct vn_ring_submit_command submit; + vn_submit_vkCmdSetRenderingInputAttachmentIndices(vn_ring, 0, commandBuffer, pInputAttachmentIndexInfo, &submit); +} + #endif /* VN_PROTOCOL_DRIVER_COMMAND_BUFFER_H */ diff --git a/src/virtio/venus-protocol/vn_protocol_driver_defines.h b/src/virtio/venus-protocol/vn_protocol_driver_defines.h index 96b7a53c315..7be22791173 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_defines.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_defines.h @@ -319,6 +319,46 @@ typedef enum VkCommandTypeEXT { VK_COMMAND_TYPE_vkGetDeviceImageMemoryRequirementsKHR_EXT = 231, VK_COMMAND_TYPE_vkGetDeviceImageSparseMemoryRequirements_EXT = 232, VK_COMMAND_TYPE_vkGetDeviceImageSparseMemoryRequirementsKHR_EXT = 232, + VK_COMMAND_TYPE_vkCmdSetLineStipple_EXT = 237, + VK_COMMAND_TYPE_vkCmdSetLineStippleKHR_EXT = 237, + VK_COMMAND_TYPE_vkCmdSetLineStippleEXT_EXT = 237, + VK_COMMAND_TYPE_vkMapMemory2_EXT = 285, + VK_COMMAND_TYPE_vkMapMemory2KHR_EXT = 285, + VK_COMMAND_TYPE_vkUnmapMemory2_EXT = 286, + VK_COMMAND_TYPE_vkUnmapMemory2KHR_EXT = 286, + VK_COMMAND_TYPE_vkCmdBindIndexBuffer2_EXT = 279, + VK_COMMAND_TYPE_vkCmdBindIndexBuffer2KHR_EXT = 279, + VK_COMMAND_TYPE_vkGetRenderingAreaGranularity_EXT = 280, + VK_COMMAND_TYPE_vkGetRenderingAreaGranularityKHR_EXT = 280, + VK_COMMAND_TYPE_vkGetDeviceImageSubresourceLayout_EXT = 281, + VK_COMMAND_TYPE_vkGetDeviceImageSubresourceLayoutKHR_EXT = 281, + VK_COMMAND_TYPE_vkGetImageSubresourceLayout2_EXT = 282, + VK_COMMAND_TYPE_vkGetImageSubresourceLayout2KHR_EXT = 282, + VK_COMMAND_TYPE_vkGetImageSubresourceLayout2EXT_EXT = 282, + VK_COMMAND_TYPE_vkCmdPushDescriptorSet_EXT = 249, + VK_COMMAND_TYPE_vkCmdPushDescriptorSetKHR_EXT = 249, + VK_COMMAND_TYPE_vkCmdPushDescriptorSetWithTemplate_EXT = 250, + VK_COMMAND_TYPE_vkCmdPushDescriptorSetWithTemplateKHR_EXT = 250, + VK_COMMAND_TYPE_vkCmdSetRenderingAttachmentLocations_EXT = 287, + VK_COMMAND_TYPE_vkCmdSetRenderingAttachmentLocationsKHR_EXT = 287, + VK_COMMAND_TYPE_vkCmdSetRenderingInputAttachmentIndices_EXT = 288, + VK_COMMAND_TYPE_vkCmdSetRenderingInputAttachmentIndicesKHR_EXT = 288, + VK_COMMAND_TYPE_vkCmdBindDescriptorSets2_EXT = 289, + VK_COMMAND_TYPE_vkCmdBindDescriptorSets2KHR_EXT = 289, + VK_COMMAND_TYPE_vkCmdPushConstants2_EXT = 290, + VK_COMMAND_TYPE_vkCmdPushConstants2KHR_EXT = 290, + VK_COMMAND_TYPE_vkCmdPushDescriptorSet2_EXT = 291, + VK_COMMAND_TYPE_vkCmdPushDescriptorSet2KHR_EXT = 291, + VK_COMMAND_TYPE_vkCmdPushDescriptorSetWithTemplate2_EXT = 292, + VK_COMMAND_TYPE_vkCmdPushDescriptorSetWithTemplate2KHR_EXT = 292, + VK_COMMAND_TYPE_vkCopyMemoryToImage_EXT = 293, + VK_COMMAND_TYPE_vkCopyMemoryToImageEXT_EXT = 293, + VK_COMMAND_TYPE_vkCopyImageToMemory_EXT = 294, + VK_COMMAND_TYPE_vkCopyImageToMemoryEXT_EXT = 294, + VK_COMMAND_TYPE_vkCopyImageToImage_EXT = 295, + VK_COMMAND_TYPE_vkCopyImageToImageEXT_EXT = 295, + VK_COMMAND_TYPE_vkTransitionImageLayout_EXT = 296, + VK_COMMAND_TYPE_vkTransitionImageLayoutEXT_EXT = 296, VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT = 181, VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT = 182, VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT = 183, @@ -329,8 +369,6 @@ typedef enum VkCommandTypeEXT { VK_COMMAND_TYPE_vkGetMemoryFdPropertiesKHR_EXT = 194, VK_COMMAND_TYPE_vkImportSemaphoreFdKHR_EXT = 242, VK_COMMAND_TYPE_vkGetSemaphoreFdKHR_EXT = 243, - VK_COMMAND_TYPE_vkCmdPushDescriptorSetKHR_EXT = 249, - VK_COMMAND_TYPE_vkCmdPushDescriptorSetWithTemplateKHR_EXT = 250, VK_COMMAND_TYPE_vkCmdBeginConditionalRenderingEXT_EXT = 240, VK_COMMAND_TYPE_vkCmdEndConditionalRenderingEXT_EXT = 241, VK_COMMAND_TYPE_vkImportFenceFdKHR_EXT = 238, @@ -344,8 +382,6 @@ typedef enum VkCommandTypeEXT { VK_COMMAND_TYPE_vkGetCalibratedTimestampsEXT_EXT = 236, VK_COMMAND_TYPE_vkGetPhysicalDeviceFragmentShadingRatesKHR_EXT = 277, VK_COMMAND_TYPE_vkCmdSetFragmentShadingRateKHR_EXT = 278, - VK_COMMAND_TYPE_vkCmdSetLineStippleKHR_EXT = 237, - VK_COMMAND_TYPE_vkCmdSetLineStippleEXT_EXT = 237, VK_COMMAND_TYPE_vkCmdSetVertexInputEXT_EXT = 255, VK_COMMAND_TYPE_vkCmdSetPatchControlPointsEXT_EXT = 233, VK_COMMAND_TYPE_vkCmdSetLogicOpEXT_EXT = 234, @@ -373,11 +409,6 @@ typedef enum VkCommandTypeEXT { VK_COMMAND_TYPE_vkCmdSetLineRasterizationModeEXT_EXT = 274, VK_COMMAND_TYPE_vkCmdSetLineStippleEnableEXT_EXT = 275, VK_COMMAND_TYPE_vkCmdSetDepthClipNegativeOneToOneEXT_EXT = 276, - VK_COMMAND_TYPE_vkCmdBindIndexBuffer2KHR_EXT = 279, - VK_COMMAND_TYPE_vkGetRenderingAreaGranularityKHR_EXT = 280, - VK_COMMAND_TYPE_vkGetDeviceImageSubresourceLayoutKHR_EXT = 281, - VK_COMMAND_TYPE_vkGetImageSubresourceLayout2KHR_EXT = 282, - VK_COMMAND_TYPE_vkGetImageSubresourceLayout2EXT_EXT = 282, VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT = 178, VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT = 179, VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT = 180, diff --git a/src/virtio/venus-protocol/vn_protocol_driver_device.h b/src/virtio/venus-protocol/vn_protocol_driver_device.h index a440583d045..07e2990e011 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_device.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_device.h @@ -1169,12 +1169,84 @@ vn_encode_VkImageFormatProperties_partial(struct vn_cs_encoder *enc, const VkIma /* skip val->maxResourceSize */ } +/* struct VkDeviceQueueGlobalPriorityCreateInfo chain */ + +static inline size_t +vn_sizeof_VkDeviceQueueGlobalPriorityCreateInfo_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkDeviceQueueGlobalPriorityCreateInfo_self(const VkDeviceQueueGlobalPriorityCreateInfo *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkQueueGlobalPriority(&val->globalPriority); + return size; +} + +static inline size_t +vn_sizeof_VkDeviceQueueGlobalPriorityCreateInfo(const VkDeviceQueueGlobalPriorityCreateInfo *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkDeviceQueueGlobalPriorityCreateInfo_pnext(val->pNext); + size += vn_sizeof_VkDeviceQueueGlobalPriorityCreateInfo_self(val); + + return size; +} + +static inline void +vn_encode_VkDeviceQueueGlobalPriorityCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkDeviceQueueGlobalPriorityCreateInfo_self(struct vn_cs_encoder *enc, const VkDeviceQueueGlobalPriorityCreateInfo *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkQueueGlobalPriority(enc, &val->globalPriority); +} + +static inline void +vn_encode_VkDeviceQueueGlobalPriorityCreateInfo(struct vn_cs_encoder *enc, const VkDeviceQueueGlobalPriorityCreateInfo *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO }); + vn_encode_VkDeviceQueueGlobalPriorityCreateInfo_pnext(enc, val->pNext); + vn_encode_VkDeviceQueueGlobalPriorityCreateInfo_self(enc, val); +} + /* struct VkDeviceQueueCreateInfo chain */ static inline size_t vn_sizeof_VkDeviceQueueCreateInfo_pnext(const void *val) { - /* no known/supported struct */ + const VkBaseInStructure *pnext = val; + size_t size = 0; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO: + if (!vn_cs_renderer_protocol_has_extension(175 /* VK_EXT_global_priority */) && !vn_cs_renderer_protocol_has_extension(189 /* VK_KHR_global_priority */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkDeviceQueueCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkDeviceQueueGlobalPriorityCreateInfo_self((const VkDeviceQueueGlobalPriorityCreateInfo *)pnext); + return size; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + return vn_sizeof_simple_pointer(NULL); } @@ -1210,7 +1282,25 @@ vn_sizeof_VkDeviceQueueCreateInfo(const VkDeviceQueueCreateInfo *val) static inline void vn_encode_VkDeviceQueueCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) { - /* no known/supported struct */ + const VkBaseInStructure *pnext = val; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO: + if (!vn_cs_renderer_protocol_has_extension(175 /* VK_EXT_global_priority */) && !vn_cs_renderer_protocol_has_extension(189 /* VK_KHR_global_priority */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkDeviceQueueCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkDeviceQueueGlobalPriorityCreateInfo_self(enc, (const VkDeviceQueueGlobalPriorityCreateInfo *)pnext); + return; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + vn_encode_simple_pointer(enc, NULL); } @@ -2767,17 +2857,17 @@ vn_encode_VkPhysicalDeviceMaintenance4Features_partial(struct vn_cs_encoder *enc vn_encode_VkPhysicalDeviceMaintenance4Features_self_partial(enc, val); } -/* struct VkPhysicalDeviceMaintenance5FeaturesKHR chain */ +/* struct VkPhysicalDeviceMaintenance5Features chain */ static inline size_t -vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_pnext(const void *val) +vn_sizeof_VkPhysicalDeviceMaintenance5Features_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_self(const VkPhysicalDeviceMaintenance5FeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceMaintenance5Features_self(const VkPhysicalDeviceMaintenance5Features *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -2786,42 +2876,42 @@ vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_self(const VkPhysicalDeviceMai } static inline size_t -vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR(const VkPhysicalDeviceMaintenance5FeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceMaintenance5Features(const VkPhysicalDeviceMaintenance5Features *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_pnext(val->pNext); - size += vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_self(val); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Features_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Features_self(val); return size; } static inline void -vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR_pnext(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPhysicalDeviceMaintenance5Features_pnext(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance5FeaturesKHR *val) +vn_encode_VkPhysicalDeviceMaintenance5Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance5Features *val) { /* skip val->{sType,pNext} */ vn_encode_VkBool32(enc, &val->maintenance5); } static inline void -vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance5FeaturesKHR *val) +vn_encode_VkPhysicalDeviceMaintenance5Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance5Features *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR }); - vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR_pnext(enc, val->pNext); - vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR_self(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES }); + vn_encode_VkPhysicalDeviceMaintenance5Features_pnext(enc, val->pNext); + vn_encode_VkPhysicalDeviceMaintenance5Features_self(enc, val); } static inline void -vn_decode_VkPhysicalDeviceMaintenance5FeaturesKHR_pnext(struct vn_cs_decoder *dec, const void *val) +vn_decode_VkPhysicalDeviceMaintenance5Features_pnext(struct vn_cs_decoder *dec, const void *val) { /* no known/supported struct */ if (vn_decode_simple_pointer(dec)) @@ -2829,33 +2919,33 @@ vn_decode_VkPhysicalDeviceMaintenance5FeaturesKHR_pnext(struct vn_cs_decoder *de } static inline void -vn_decode_VkPhysicalDeviceMaintenance5FeaturesKHR_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance5FeaturesKHR *val) +vn_decode_VkPhysicalDeviceMaintenance5Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance5Features *val) { /* skip val->{sType,pNext} */ vn_decode_VkBool32(dec, &val->maintenance5); } static inline void -vn_decode_VkPhysicalDeviceMaintenance5FeaturesKHR(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance5FeaturesKHR *val) +vn_decode_VkPhysicalDeviceMaintenance5Features(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance5Features *val) { VkStructureType stype; vn_decode_VkStructureType(dec, &stype); - assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES); assert(val->sType == stype); - vn_decode_VkPhysicalDeviceMaintenance5FeaturesKHR_pnext(dec, val->pNext); - vn_decode_VkPhysicalDeviceMaintenance5FeaturesKHR_self(dec, val); + vn_decode_VkPhysicalDeviceMaintenance5Features_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceMaintenance5Features_self(dec, val); } static inline size_t -vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_pnext_partial(const void *val) +vn_sizeof_VkPhysicalDeviceMaintenance5Features_pnext_partial(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_self_partial(const VkPhysicalDeviceMaintenance5FeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceMaintenance5Features_self_partial(const VkPhysicalDeviceMaintenance5Features *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -2864,38 +2954,169 @@ vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_self_partial(const VkPhysicalD } static inline size_t -vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_partial(const VkPhysicalDeviceMaintenance5FeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceMaintenance5Features_partial(const VkPhysicalDeviceMaintenance5Features *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_pnext_partial(val->pNext); - size += vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_self_partial(val); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Features_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Features_self_partial(val); return size; } static inline void -vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR_pnext_partial(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPhysicalDeviceMaintenance5Features_pnext_partial(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance5FeaturesKHR *val) +vn_encode_VkPhysicalDeviceMaintenance5Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance5Features *val) { /* skip val->{sType,pNext} */ /* skip val->maintenance5 */ } static inline void -vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance5FeaturesKHR *val) +vn_encode_VkPhysicalDeviceMaintenance5Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance5Features *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR }); - vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR_pnext_partial(enc, val->pNext); - vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR_self_partial(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES }); + vn_encode_VkPhysicalDeviceMaintenance5Features_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceMaintenance5Features_self_partial(enc, val); +} + +/* struct VkPhysicalDeviceMaintenance6Features chain */ + +static inline size_t +vn_sizeof_VkPhysicalDeviceMaintenance6Features_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceMaintenance6Features_self(const VkPhysicalDeviceMaintenance6Features *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkBool32(&val->maintenance6); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceMaintenance6Features(const VkPhysicalDeviceMaintenance6Features *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Features_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Features_self(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceMaintenance6Features_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceMaintenance6Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance6Features *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkBool32(enc, &val->maintenance6); +} + +static inline void +vn_encode_VkPhysicalDeviceMaintenance6Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance6Features *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES }); + vn_encode_VkPhysicalDeviceMaintenance6Features_pnext(enc, val->pNext); + vn_encode_VkPhysicalDeviceMaintenance6Features_self(enc, val); +} + +static inline void +vn_decode_VkPhysicalDeviceMaintenance6Features_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDeviceMaintenance6Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance6Features *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkBool32(dec, &val->maintenance6); +} + +static inline void +vn_decode_VkPhysicalDeviceMaintenance6Features(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance6Features *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDeviceMaintenance6Features_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceMaintenance6Features_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceMaintenance6Features_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceMaintenance6Features_self_partial(const VkPhysicalDeviceMaintenance6Features *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->maintenance6 */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceMaintenance6Features_partial(const VkPhysicalDeviceMaintenance6Features *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Features_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Features_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceMaintenance6Features_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceMaintenance6Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance6Features *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->maintenance6 */ +} + +static inline void +vn_encode_VkPhysicalDeviceMaintenance6Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance6Features *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES }); + vn_encode_VkPhysicalDeviceMaintenance6Features_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceMaintenance6Features_self_partial(enc, val); } /* struct VkPhysicalDeviceShaderDrawParametersFeatures chain */ @@ -3296,6 +3517,137 @@ vn_encode_VkPhysicalDeviceHostQueryResetFeatures_partial(struct vn_cs_encoder *e vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self_partial(enc, val); } +/* struct VkPhysicalDeviceGlobalPriorityQueryFeatures chain */ + +static inline size_t +vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures_self(const VkPhysicalDeviceGlobalPriorityQueryFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkBool32(&val->globalPriorityQuery); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures(const VkPhysicalDeviceGlobalPriorityQueryFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures_self(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceGlobalPriorityQueryFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkBool32(enc, &val->globalPriorityQuery); +} + +static inline void +vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceGlobalPriorityQueryFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES }); + vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures_pnext(enc, val->pNext); + vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures_self(enc, val); +} + +static inline void +vn_decode_VkPhysicalDeviceGlobalPriorityQueryFeatures_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDeviceGlobalPriorityQueryFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceGlobalPriorityQueryFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkBool32(dec, &val->globalPriorityQuery); +} + +static inline void +vn_decode_VkPhysicalDeviceGlobalPriorityQueryFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceGlobalPriorityQueryFeatures *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDeviceGlobalPriorityQueryFeatures_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceGlobalPriorityQueryFeatures_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures_self_partial(const VkPhysicalDeviceGlobalPriorityQueryFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->globalPriorityQuery */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures_partial(const VkPhysicalDeviceGlobalPriorityQueryFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceGlobalPriorityQueryFeatures *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->globalPriorityQuery */ +} + +static inline void +vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceGlobalPriorityQueryFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES }); + vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures_self_partial(enc, val); +} + /* struct VkPhysicalDeviceDescriptorIndexingFeatures chain */ static inline size_t @@ -4207,17 +4559,17 @@ vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_partial(struct vn_cs_encoder vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(enc, val); } -/* struct VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR chain */ +/* struct VkPhysicalDeviceVertexAttributeDivisorFeatures chain */ static inline size_t -vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_pnext(const void *val) +vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self(const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures_self(const VkPhysicalDeviceVertexAttributeDivisorFeatures *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -4227,26 +4579,26 @@ vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self(const VkPhysica } static inline size_t -vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR(const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures(const VkPhysicalDeviceVertexAttributeDivisorFeatures *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_pnext(val->pNext); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self(val); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures_self(val); return size; } static inline void -vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_pnext(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures_pnext(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *val) +vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeatures *val) { /* skip val->{sType,pNext} */ vn_encode_VkBool32(enc, &val->vertexAttributeInstanceRateDivisor); @@ -4254,16 +4606,16 @@ vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self(struct vn_cs_en } static inline void -vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *val) +vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeatures *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR }); - vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_pnext(enc, val->pNext); - vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES }); + vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures_pnext(enc, val->pNext); + vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures_self(enc, val); } static inline void -vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_pnext(struct vn_cs_decoder *dec, const void *val) +vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeatures_pnext(struct vn_cs_decoder *dec, const void *val) { /* no known/supported struct */ if (vn_decode_simple_pointer(dec)) @@ -4271,7 +4623,7 @@ vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_pnext(struct vn_cs_d } static inline void -vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *val) +vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorFeatures *val) { /* skip val->{sType,pNext} */ vn_decode_VkBool32(dec, &val->vertexAttributeInstanceRateDivisor); @@ -4279,26 +4631,26 @@ vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self(struct vn_cs_de } static inline void -vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *val) +vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorFeatures *val) { VkStructureType stype; vn_decode_VkStructureType(dec, &stype); - assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES); assert(val->sType == stype); - vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_pnext(dec, val->pNext); - vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self(dec, val); + vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeatures_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeatures_self(dec, val); } static inline size_t -vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_pnext_partial(const void *val) +vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures_pnext_partial(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self_partial(const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures_self_partial(const VkPhysicalDeviceVertexAttributeDivisorFeatures *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -4308,26 +4660,26 @@ vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self_partial(const V } static inline size_t -vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_partial(const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures_partial(const VkPhysicalDeviceVertexAttributeDivisorFeatures *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_pnext_partial(val->pNext); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self_partial(val); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures_self_partial(val); return size; } static inline void -vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_pnext_partial(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *val) +vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeatures *val) { /* skip val->{sType,pNext} */ /* skip val->vertexAttributeInstanceRateDivisor */ @@ -4335,12 +4687,12 @@ vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self_partial(struct } static inline void -vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *val) +vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeatures *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR }); - vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_pnext_partial(enc, val->pNext); - vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self_partial(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES }); + vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures_self_partial(enc, val); } /* struct VkPhysicalDeviceTransformFeedbackFeaturesEXT chain */ @@ -5411,17 +5763,17 @@ vn_encode_VkPhysicalDeviceShaderClockFeaturesKHR_partial(struct vn_cs_encoder *e vn_encode_VkPhysicalDeviceShaderClockFeaturesKHR_self_partial(enc, val); } -/* struct VkPhysicalDeviceIndexTypeUint8FeaturesKHR chain */ +/* struct VkPhysicalDeviceIndexTypeUint8Features chain */ static inline size_t -vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_pnext(const void *val) +vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self(const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features_self(const VkPhysicalDeviceIndexTypeUint8Features *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -5430,42 +5782,42 @@ vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self(const VkPhysicalDeviceI } static inline size_t -vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR(const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features(const VkPhysicalDeviceIndexTypeUint8Features *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_pnext(val->pNext); - size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self(val); + size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features_self(val); return size; } static inline void -vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_pnext(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPhysicalDeviceIndexTypeUint8Features_pnext(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *val) +vn_encode_VkPhysicalDeviceIndexTypeUint8Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceIndexTypeUint8Features *val) { /* skip val->{sType,pNext} */ vn_encode_VkBool32(enc, &val->indexTypeUint8); } static inline void -vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR(struct vn_cs_encoder *enc, const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *val) +vn_encode_VkPhysicalDeviceIndexTypeUint8Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceIndexTypeUint8Features *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR }); - vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_pnext(enc, val->pNext); - vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES }); + vn_encode_VkPhysicalDeviceIndexTypeUint8Features_pnext(enc, val->pNext); + vn_encode_VkPhysicalDeviceIndexTypeUint8Features_self(enc, val); } static inline void -vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_pnext(struct vn_cs_decoder *dec, const void *val) +vn_decode_VkPhysicalDeviceIndexTypeUint8Features_pnext(struct vn_cs_decoder *dec, const void *val) { /* no known/supported struct */ if (vn_decode_simple_pointer(dec)) @@ -5473,33 +5825,33 @@ vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_pnext(struct vn_cs_decoder * } static inline void -vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self(struct vn_cs_decoder *dec, VkPhysicalDeviceIndexTypeUint8FeaturesKHR *val) +vn_decode_VkPhysicalDeviceIndexTypeUint8Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceIndexTypeUint8Features *val) { /* skip val->{sType,pNext} */ vn_decode_VkBool32(dec, &val->indexTypeUint8); } static inline void -vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR(struct vn_cs_decoder *dec, VkPhysicalDeviceIndexTypeUint8FeaturesKHR *val) +vn_decode_VkPhysicalDeviceIndexTypeUint8Features(struct vn_cs_decoder *dec, VkPhysicalDeviceIndexTypeUint8Features *val) { VkStructureType stype; vn_decode_VkStructureType(dec, &stype); - assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES); assert(val->sType == stype); - vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_pnext(dec, val->pNext); - vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self(dec, val); + vn_decode_VkPhysicalDeviceIndexTypeUint8Features_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceIndexTypeUint8Features_self(dec, val); } static inline size_t -vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_pnext_partial(const void *val) +vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features_pnext_partial(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self_partial(const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features_self_partial(const VkPhysicalDeviceIndexTypeUint8Features *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -5508,38 +5860,38 @@ vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self_partial(const VkPhysica } static inline size_t -vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_partial(const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features_partial(const VkPhysicalDeviceIndexTypeUint8Features *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_pnext_partial(val->pNext); - size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self_partial(val); + size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features_self_partial(val); return size; } static inline void -vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_pnext_partial(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPhysicalDeviceIndexTypeUint8Features_pnext_partial(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *val) +vn_encode_VkPhysicalDeviceIndexTypeUint8Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceIndexTypeUint8Features *val) { /* skip val->{sType,pNext} */ /* skip val->indexTypeUint8 */ } static inline void -vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *val) +vn_encode_VkPhysicalDeviceIndexTypeUint8Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceIndexTypeUint8Features *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR }); - vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_pnext_partial(enc, val->pNext); - vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self_partial(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES }); + vn_encode_VkPhysicalDeviceIndexTypeUint8Features_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceIndexTypeUint8Features_self_partial(enc, val); } /* struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT chain */ @@ -6348,17 +6700,17 @@ vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures_partial(struct vn_cs_encod vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures_self_partial(enc, val); } -/* struct VkPhysicalDeviceLineRasterizationFeaturesKHR chain */ +/* struct VkPhysicalDeviceLineRasterizationFeatures chain */ static inline size_t -vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_pnext(const void *val) +vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_self(const VkPhysicalDeviceLineRasterizationFeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures_self(const VkPhysicalDeviceLineRasterizationFeatures *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -6372,26 +6724,26 @@ vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_self(const VkPhysicalDevi } static inline size_t -vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR(const VkPhysicalDeviceLineRasterizationFeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures(const VkPhysicalDeviceLineRasterizationFeatures *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_pnext(val->pNext); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_self(val); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures_self(val); return size; } static inline void -vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_pnext(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPhysicalDeviceLineRasterizationFeatures_pnext(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationFeaturesKHR *val) +vn_encode_VkPhysicalDeviceLineRasterizationFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationFeatures *val) { /* skip val->{sType,pNext} */ vn_encode_VkBool32(enc, &val->rectangularLines); @@ -6403,16 +6755,16 @@ vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self(struct vn_cs_encoder } static inline void -vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationFeaturesKHR *val) +vn_encode_VkPhysicalDeviceLineRasterizationFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationFeatures *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR }); - vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_pnext(enc, val->pNext); - vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES }); + vn_encode_VkPhysicalDeviceLineRasterizationFeatures_pnext(enc, val->pNext); + vn_encode_VkPhysicalDeviceLineRasterizationFeatures_self(enc, val); } static inline void -vn_decode_VkPhysicalDeviceLineRasterizationFeaturesKHR_pnext(struct vn_cs_decoder *dec, const void *val) +vn_decode_VkPhysicalDeviceLineRasterizationFeatures_pnext(struct vn_cs_decoder *dec, const void *val) { /* no known/supported struct */ if (vn_decode_simple_pointer(dec)) @@ -6420,7 +6772,7 @@ vn_decode_VkPhysicalDeviceLineRasterizationFeaturesKHR_pnext(struct vn_cs_decode } static inline void -vn_decode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationFeaturesKHR *val) +vn_decode_VkPhysicalDeviceLineRasterizationFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationFeatures *val) { /* skip val->{sType,pNext} */ vn_decode_VkBool32(dec, &val->rectangularLines); @@ -6432,26 +6784,26 @@ vn_decode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self(struct vn_cs_decoder } static inline void -vn_decode_VkPhysicalDeviceLineRasterizationFeaturesKHR(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationFeaturesKHR *val) +vn_decode_VkPhysicalDeviceLineRasterizationFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationFeatures *val) { VkStructureType stype; vn_decode_VkStructureType(dec, &stype); - assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES); assert(val->sType == stype); - vn_decode_VkPhysicalDeviceLineRasterizationFeaturesKHR_pnext(dec, val->pNext); - vn_decode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self(dec, val); + vn_decode_VkPhysicalDeviceLineRasterizationFeatures_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceLineRasterizationFeatures_self(dec, val); } static inline size_t -vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_pnext_partial(const void *val) +vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures_pnext_partial(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_self_partial(const VkPhysicalDeviceLineRasterizationFeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures_self_partial(const VkPhysicalDeviceLineRasterizationFeatures *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -6465,26 +6817,26 @@ vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_self_partial(const VkPhys } static inline size_t -vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_partial(const VkPhysicalDeviceLineRasterizationFeaturesKHR *val) +vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures_partial(const VkPhysicalDeviceLineRasterizationFeatures *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_pnext_partial(val->pNext); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_self_partial(val); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures_self_partial(val); return size; } static inline void -vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_pnext_partial(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPhysicalDeviceLineRasterizationFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationFeaturesKHR *val) +vn_encode_VkPhysicalDeviceLineRasterizationFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationFeatures *val) { /* skip val->{sType,pNext} */ /* skip val->rectangularLines */ @@ -6496,12 +6848,12 @@ vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self_partial(struct vn_cs } static inline void -vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationFeaturesKHR *val) +vn_encode_VkPhysicalDeviceLineRasterizationFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationFeatures *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR }); - vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_pnext_partial(enc, val->pNext); - vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self_partial(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES }); + vn_encode_VkPhysicalDeviceLineRasterizationFeatures_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceLineRasterizationFeatures_self_partial(enc, val); } /* struct VkPhysicalDevicePipelineCreationCacheControlFeatures chain */ @@ -7383,6 +7735,237 @@ vn_encode_VkPhysicalDeviceVulkan13Features_partial(struct vn_cs_encoder *enc, co vn_encode_VkPhysicalDeviceVulkan13Features_self_partial(enc, val); } +/* struct VkPhysicalDeviceVulkan14Features chain */ + +static inline size_t +vn_sizeof_VkPhysicalDeviceVulkan14Features_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceVulkan14Features_self(const VkPhysicalDeviceVulkan14Features *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkBool32(&val->globalPriorityQuery); + size += vn_sizeof_VkBool32(&val->shaderSubgroupRotate); + size += vn_sizeof_VkBool32(&val->shaderSubgroupRotateClustered); + size += vn_sizeof_VkBool32(&val->shaderFloatControls2); + size += vn_sizeof_VkBool32(&val->shaderExpectAssume); + size += vn_sizeof_VkBool32(&val->rectangularLines); + size += vn_sizeof_VkBool32(&val->bresenhamLines); + size += vn_sizeof_VkBool32(&val->smoothLines); + size += vn_sizeof_VkBool32(&val->stippledRectangularLines); + size += vn_sizeof_VkBool32(&val->stippledBresenhamLines); + size += vn_sizeof_VkBool32(&val->stippledSmoothLines); + size += vn_sizeof_VkBool32(&val->vertexAttributeInstanceRateDivisor); + size += vn_sizeof_VkBool32(&val->vertexAttributeInstanceRateZeroDivisor); + size += vn_sizeof_VkBool32(&val->indexTypeUint8); + size += vn_sizeof_VkBool32(&val->dynamicRenderingLocalRead); + size += vn_sizeof_VkBool32(&val->maintenance5); + size += vn_sizeof_VkBool32(&val->maintenance6); + size += vn_sizeof_VkBool32(&val->pipelineProtectedAccess); + size += vn_sizeof_VkBool32(&val->pipelineRobustness); + size += vn_sizeof_VkBool32(&val->hostImageCopy); + size += vn_sizeof_VkBool32(&val->pushDescriptor); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceVulkan14Features(const VkPhysicalDeviceVulkan14Features *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceVulkan14Features_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceVulkan14Features_self(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceVulkan14Features_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceVulkan14Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan14Features *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkBool32(enc, &val->globalPriorityQuery); + vn_encode_VkBool32(enc, &val->shaderSubgroupRotate); + vn_encode_VkBool32(enc, &val->shaderSubgroupRotateClustered); + vn_encode_VkBool32(enc, &val->shaderFloatControls2); + vn_encode_VkBool32(enc, &val->shaderExpectAssume); + vn_encode_VkBool32(enc, &val->rectangularLines); + vn_encode_VkBool32(enc, &val->bresenhamLines); + vn_encode_VkBool32(enc, &val->smoothLines); + vn_encode_VkBool32(enc, &val->stippledRectangularLines); + vn_encode_VkBool32(enc, &val->stippledBresenhamLines); + vn_encode_VkBool32(enc, &val->stippledSmoothLines); + vn_encode_VkBool32(enc, &val->vertexAttributeInstanceRateDivisor); + vn_encode_VkBool32(enc, &val->vertexAttributeInstanceRateZeroDivisor); + vn_encode_VkBool32(enc, &val->indexTypeUint8); + vn_encode_VkBool32(enc, &val->dynamicRenderingLocalRead); + vn_encode_VkBool32(enc, &val->maintenance5); + vn_encode_VkBool32(enc, &val->maintenance6); + vn_encode_VkBool32(enc, &val->pipelineProtectedAccess); + vn_encode_VkBool32(enc, &val->pipelineRobustness); + vn_encode_VkBool32(enc, &val->hostImageCopy); + vn_encode_VkBool32(enc, &val->pushDescriptor); +} + +static inline void +vn_encode_VkPhysicalDeviceVulkan14Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan14Features *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES }); + vn_encode_VkPhysicalDeviceVulkan14Features_pnext(enc, val->pNext); + vn_encode_VkPhysicalDeviceVulkan14Features_self(enc, val); +} + +static inline void +vn_decode_VkPhysicalDeviceVulkan14Features_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDeviceVulkan14Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan14Features *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkBool32(dec, &val->globalPriorityQuery); + vn_decode_VkBool32(dec, &val->shaderSubgroupRotate); + vn_decode_VkBool32(dec, &val->shaderSubgroupRotateClustered); + vn_decode_VkBool32(dec, &val->shaderFloatControls2); + vn_decode_VkBool32(dec, &val->shaderExpectAssume); + vn_decode_VkBool32(dec, &val->rectangularLines); + vn_decode_VkBool32(dec, &val->bresenhamLines); + vn_decode_VkBool32(dec, &val->smoothLines); + vn_decode_VkBool32(dec, &val->stippledRectangularLines); + vn_decode_VkBool32(dec, &val->stippledBresenhamLines); + vn_decode_VkBool32(dec, &val->stippledSmoothLines); + vn_decode_VkBool32(dec, &val->vertexAttributeInstanceRateDivisor); + vn_decode_VkBool32(dec, &val->vertexAttributeInstanceRateZeroDivisor); + vn_decode_VkBool32(dec, &val->indexTypeUint8); + vn_decode_VkBool32(dec, &val->dynamicRenderingLocalRead); + vn_decode_VkBool32(dec, &val->maintenance5); + vn_decode_VkBool32(dec, &val->maintenance6); + vn_decode_VkBool32(dec, &val->pipelineProtectedAccess); + vn_decode_VkBool32(dec, &val->pipelineRobustness); + vn_decode_VkBool32(dec, &val->hostImageCopy); + vn_decode_VkBool32(dec, &val->pushDescriptor); +} + +static inline void +vn_decode_VkPhysicalDeviceVulkan14Features(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan14Features *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDeviceVulkan14Features_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceVulkan14Features_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceVulkan14Features_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceVulkan14Features_self_partial(const VkPhysicalDeviceVulkan14Features *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->globalPriorityQuery */ + /* skip val->shaderSubgroupRotate */ + /* skip val->shaderSubgroupRotateClustered */ + /* skip val->shaderFloatControls2 */ + /* skip val->shaderExpectAssume */ + /* skip val->rectangularLines */ + /* skip val->bresenhamLines */ + /* skip val->smoothLines */ + /* skip val->stippledRectangularLines */ + /* skip val->stippledBresenhamLines */ + /* skip val->stippledSmoothLines */ + /* skip val->vertexAttributeInstanceRateDivisor */ + /* skip val->vertexAttributeInstanceRateZeroDivisor */ + /* skip val->indexTypeUint8 */ + /* skip val->dynamicRenderingLocalRead */ + /* skip val->maintenance5 */ + /* skip val->maintenance6 */ + /* skip val->pipelineProtectedAccess */ + /* skip val->pipelineRobustness */ + /* skip val->hostImageCopy */ + /* skip val->pushDescriptor */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceVulkan14Features_partial(const VkPhysicalDeviceVulkan14Features *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceVulkan14Features_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceVulkan14Features_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceVulkan14Features_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceVulkan14Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan14Features *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->globalPriorityQuery */ + /* skip val->shaderSubgroupRotate */ + /* skip val->shaderSubgroupRotateClustered */ + /* skip val->shaderFloatControls2 */ + /* skip val->shaderExpectAssume */ + /* skip val->rectangularLines */ + /* skip val->bresenhamLines */ + /* skip val->smoothLines */ + /* skip val->stippledRectangularLines */ + /* skip val->stippledBresenhamLines */ + /* skip val->stippledSmoothLines */ + /* skip val->vertexAttributeInstanceRateDivisor */ + /* skip val->vertexAttributeInstanceRateZeroDivisor */ + /* skip val->indexTypeUint8 */ + /* skip val->dynamicRenderingLocalRead */ + /* skip val->maintenance5 */ + /* skip val->maintenance6 */ + /* skip val->pipelineProtectedAccess */ + /* skip val->pipelineRobustness */ + /* skip val->hostImageCopy */ + /* skip val->pushDescriptor */ +} + +static inline void +vn_encode_VkPhysicalDeviceVulkan14Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan14Features *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES }); + vn_encode_VkPhysicalDeviceVulkan14Features_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceVulkan14Features_self_partial(enc, val); +} + /* struct VkPhysicalDeviceCustomBorderColorFeaturesEXT chain */ static inline size_t @@ -9810,6 +10393,137 @@ vn_encode_VkPhysicalDeviceSynchronization2Features_partial(struct vn_cs_encoder vn_encode_VkPhysicalDeviceSynchronization2Features_self_partial(enc, val); } +/* struct VkPhysicalDeviceHostImageCopyFeatures chain */ + +static inline size_t +vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures_self(const VkPhysicalDeviceHostImageCopyFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkBool32(&val->hostImageCopy); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures(const VkPhysicalDeviceHostImageCopyFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures_self(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceHostImageCopyFeatures_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceHostImageCopyFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostImageCopyFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkBool32(enc, &val->hostImageCopy); +} + +static inline void +vn_encode_VkPhysicalDeviceHostImageCopyFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostImageCopyFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES }); + vn_encode_VkPhysicalDeviceHostImageCopyFeatures_pnext(enc, val->pNext); + vn_encode_VkPhysicalDeviceHostImageCopyFeatures_self(enc, val); +} + +static inline void +vn_decode_VkPhysicalDeviceHostImageCopyFeatures_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDeviceHostImageCopyFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceHostImageCopyFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkBool32(dec, &val->hostImageCopy); +} + +static inline void +vn_decode_VkPhysicalDeviceHostImageCopyFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceHostImageCopyFeatures *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDeviceHostImageCopyFeatures_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceHostImageCopyFeatures_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures_self_partial(const VkPhysicalDeviceHostImageCopyFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->hostImageCopy */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures_partial(const VkPhysicalDeviceHostImageCopyFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceHostImageCopyFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceHostImageCopyFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostImageCopyFeatures *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->hostImageCopy */ +} + +static inline void +vn_encode_VkPhysicalDeviceHostImageCopyFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostImageCopyFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES }); + vn_encode_VkPhysicalDeviceHostImageCopyFeatures_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceHostImageCopyFeatures_self_partial(enc, val); +} + /* struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT chain */ static inline size_t @@ -9951,6 +10665,137 @@ vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_partial(struct vn_ vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self_partial(enc, val); } +/* struct VkPhysicalDevicePipelineProtectedAccessFeatures chain */ + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures_self(const VkPhysicalDevicePipelineProtectedAccessFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkBool32(&val->pipelineProtectedAccess); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures(const VkPhysicalDevicePipelineProtectedAccessFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures_self(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDevicePipelineProtectedAccessFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkBool32(enc, &val->pipelineProtectedAccess); +} + +static inline void +vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures(struct vn_cs_encoder *enc, const VkPhysicalDevicePipelineProtectedAccessFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES }); + vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures_pnext(enc, val->pNext); + vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures_self(enc, val); +} + +static inline void +vn_decode_VkPhysicalDevicePipelineProtectedAccessFeatures_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDevicePipelineProtectedAccessFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDevicePipelineProtectedAccessFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkBool32(dec, &val->pipelineProtectedAccess); +} + +static inline void +vn_decode_VkPhysicalDevicePipelineProtectedAccessFeatures(struct vn_cs_decoder *dec, VkPhysicalDevicePipelineProtectedAccessFeatures *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDevicePipelineProtectedAccessFeatures_pnext(dec, val->pNext); + vn_decode_VkPhysicalDevicePipelineProtectedAccessFeatures_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures_self_partial(const VkPhysicalDevicePipelineProtectedAccessFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->pipelineProtectedAccess */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures_partial(const VkPhysicalDevicePipelineProtectedAccessFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePipelineProtectedAccessFeatures *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->pipelineProtectedAccess */ +} + +static inline void +vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePipelineProtectedAccessFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES }); + vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures_self_partial(enc, val); +} + /* struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT chain */ static inline size_t @@ -11014,6 +11859,137 @@ vn_encode_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT_partial(struct vn_cs_enc vn_encode_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT_self_partial(enc, val); } +/* struct VkPhysicalDevicePipelineRobustnessFeatures chain */ + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures_self(const VkPhysicalDevicePipelineRobustnessFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkBool32(&val->pipelineRobustness); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures(const VkPhysicalDevicePipelineRobustnessFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures_self(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDevicePipelineRobustnessFeatures_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDevicePipelineRobustnessFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDevicePipelineRobustnessFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkBool32(enc, &val->pipelineRobustness); +} + +static inline void +vn_encode_VkPhysicalDevicePipelineRobustnessFeatures(struct vn_cs_encoder *enc, const VkPhysicalDevicePipelineRobustnessFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES }); + vn_encode_VkPhysicalDevicePipelineRobustnessFeatures_pnext(enc, val->pNext); + vn_encode_VkPhysicalDevicePipelineRobustnessFeatures_self(enc, val); +} + +static inline void +vn_decode_VkPhysicalDevicePipelineRobustnessFeatures_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDevicePipelineRobustnessFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDevicePipelineRobustnessFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkBool32(dec, &val->pipelineRobustness); +} + +static inline void +vn_decode_VkPhysicalDevicePipelineRobustnessFeatures(struct vn_cs_decoder *dec, VkPhysicalDevicePipelineRobustnessFeatures *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDevicePipelineRobustnessFeatures_pnext(dec, val->pNext); + vn_decode_VkPhysicalDevicePipelineRobustnessFeatures_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures_self_partial(const VkPhysicalDevicePipelineRobustnessFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->pipelineRobustness */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures_partial(const VkPhysicalDevicePipelineRobustnessFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDevicePipelineRobustnessFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDevicePipelineRobustnessFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePipelineRobustnessFeatures *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->pipelineRobustness */ +} + +static inline void +vn_encode_VkPhysicalDevicePipelineRobustnessFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePipelineRobustnessFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES }); + vn_encode_VkPhysicalDevicePipelineRobustnessFeatures_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDevicePipelineRobustnessFeatures_self_partial(enc, val); +} + /* struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT chain */ static inline size_t @@ -11276,6 +12252,535 @@ vn_encode_VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT_partial(s vn_encode_VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT_self_partial(enc, val); } +/* struct VkPhysicalDeviceShaderSubgroupRotateFeatures chain */ + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures_self(const VkPhysicalDeviceShaderSubgroupRotateFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkBool32(&val->shaderSubgroupRotate); + size += vn_sizeof_VkBool32(&val->shaderSubgroupRotateClustered); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures(const VkPhysicalDeviceShaderSubgroupRotateFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures_self(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupRotateFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkBool32(enc, &val->shaderSubgroupRotate); + vn_encode_VkBool32(enc, &val->shaderSubgroupRotateClustered); +} + +static inline void +vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupRotateFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES }); + vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures_pnext(enc, val->pNext); + vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures_self(enc, val); +} + +static inline void +vn_decode_VkPhysicalDeviceShaderSubgroupRotateFeatures_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDeviceShaderSubgroupRotateFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderSubgroupRotateFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkBool32(dec, &val->shaderSubgroupRotate); + vn_decode_VkBool32(dec, &val->shaderSubgroupRotateClustered); +} + +static inline void +vn_decode_VkPhysicalDeviceShaderSubgroupRotateFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderSubgroupRotateFeatures *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDeviceShaderSubgroupRotateFeatures_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceShaderSubgroupRotateFeatures_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures_self_partial(const VkPhysicalDeviceShaderSubgroupRotateFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->shaderSubgroupRotate */ + /* skip val->shaderSubgroupRotateClustered */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures_partial(const VkPhysicalDeviceShaderSubgroupRotateFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupRotateFeatures *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->shaderSubgroupRotate */ + /* skip val->shaderSubgroupRotateClustered */ +} + +static inline void +vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupRotateFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES }); + vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures_self_partial(enc, val); +} + +/* struct VkPhysicalDeviceShaderExpectAssumeFeatures chain */ + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures_self(const VkPhysicalDeviceShaderExpectAssumeFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkBool32(&val->shaderExpectAssume); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures(const VkPhysicalDeviceShaderExpectAssumeFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures_self(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderExpectAssumeFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkBool32(enc, &val->shaderExpectAssume); +} + +static inline void +vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderExpectAssumeFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES }); + vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures_pnext(enc, val->pNext); + vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures_self(enc, val); +} + +static inline void +vn_decode_VkPhysicalDeviceShaderExpectAssumeFeatures_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDeviceShaderExpectAssumeFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderExpectAssumeFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkBool32(dec, &val->shaderExpectAssume); +} + +static inline void +vn_decode_VkPhysicalDeviceShaderExpectAssumeFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderExpectAssumeFeatures *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDeviceShaderExpectAssumeFeatures_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceShaderExpectAssumeFeatures_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures_self_partial(const VkPhysicalDeviceShaderExpectAssumeFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->shaderExpectAssume */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures_partial(const VkPhysicalDeviceShaderExpectAssumeFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderExpectAssumeFeatures *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->shaderExpectAssume */ +} + +static inline void +vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderExpectAssumeFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES }); + vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures_self_partial(enc, val); +} + +/* struct VkPhysicalDeviceShaderFloatControls2Features chain */ + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features_self(const VkPhysicalDeviceShaderFloatControls2Features *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkBool32(&val->shaderFloatControls2); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features(const VkPhysicalDeviceShaderFloatControls2Features *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features_self(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceShaderFloatControls2Features_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceShaderFloatControls2Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloatControls2Features *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkBool32(enc, &val->shaderFloatControls2); +} + +static inline void +vn_encode_VkPhysicalDeviceShaderFloatControls2Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloatControls2Features *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES }); + vn_encode_VkPhysicalDeviceShaderFloatControls2Features_pnext(enc, val->pNext); + vn_encode_VkPhysicalDeviceShaderFloatControls2Features_self(enc, val); +} + +static inline void +vn_decode_VkPhysicalDeviceShaderFloatControls2Features_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDeviceShaderFloatControls2Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderFloatControls2Features *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkBool32(dec, &val->shaderFloatControls2); +} + +static inline void +vn_decode_VkPhysicalDeviceShaderFloatControls2Features(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderFloatControls2Features *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDeviceShaderFloatControls2Features_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceShaderFloatControls2Features_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features_self_partial(const VkPhysicalDeviceShaderFloatControls2Features *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->shaderFloatControls2 */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features_partial(const VkPhysicalDeviceShaderFloatControls2Features *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceShaderFloatControls2Features_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceShaderFloatControls2Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloatControls2Features *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->shaderFloatControls2 */ +} + +static inline void +vn_encode_VkPhysicalDeviceShaderFloatControls2Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloatControls2Features *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES }); + vn_encode_VkPhysicalDeviceShaderFloatControls2Features_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceShaderFloatControls2Features_self_partial(enc, val); +} + +/* struct VkPhysicalDeviceDynamicRenderingLocalReadFeatures chain */ + +static inline size_t +vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self(const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkBool32(&val->dynamicRenderingLocalRead); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkBool32(enc, &val->dynamicRenderingLocalRead); +} + +static inline void +vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES }); + vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_pnext(enc, val->pNext); + vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self(enc, val); +} + +static inline void +vn_decode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDynamicRenderingLocalReadFeatures *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkBool32(dec, &val->dynamicRenderingLocalRead); +} + +static inline void +vn_decode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceDynamicRenderingLocalReadFeatures *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self_partial(const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->dynamicRenderingLocalRead */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_partial(const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->dynamicRenderingLocalRead */ +} + +static inline void +vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES }); + vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self_partial(enc, val); +} + /* struct VkPhysicalDeviceFeatures2 chain */ static inline size_t @@ -11362,13 +12867,21 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceMaintenance4Features_self((const VkPhysicalDeviceMaintenance4Features *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_self((const VkPhysicalDeviceMaintenance5FeaturesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Features_self((const VkPhysicalDeviceMaintenance5Features *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Features_self((const VkPhysicalDeviceMaintenance6Features *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: size += vn_sizeof_simple_pointer(pnext); @@ -11388,6 +12901,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self((const VkPhysicalDeviceHostQueryResetFeatures *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(189 /* VK_KHR_global_priority */) && !vn_cs_renderer_protocol_has_extension(389 /* VK_EXT_global_priority_query */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures_self((const VkPhysicalDeviceGlobalPriorityQueryFeatures *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); @@ -11426,13 +12947,13 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: if (!vn_cs_renderer_protocol_has_extension(191 /* VK_EXT_vertex_attribute_divisor */) && !vn_cs_renderer_protocol_has_extension(526 /* VK_KHR_vertex_attribute_divisor */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self((const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures_self((const VkPhysicalDeviceVertexAttributeDivisorFeatures *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(29 /* VK_EXT_transform_feedback */)) @@ -11490,13 +13011,13 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceShaderClockFeaturesKHR_self((const VkPhysicalDeviceShaderClockFeaturesKHR *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: if (!vn_cs_renderer_protocol_has_extension(266 /* VK_EXT_index_type_uint8 */) && !vn_cs_renderer_protocol_has_extension(534 /* VK_KHR_index_type_uint8 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self((const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features_self((const VkPhysicalDeviceIndexTypeUint8Features *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(252 /* VK_EXT_fragment_shader_interlock */)) @@ -11544,13 +13065,13 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceSubgroupSizeControlFeatures_self((const VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: if (!vn_cs_renderer_protocol_has_extension(260 /* VK_EXT_line_rasterization */) && !vn_cs_renderer_protocol_has_extension(535 /* VK_KHR_line_rasterization */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_self((const VkPhysicalDeviceLineRasterizationFeaturesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures_self((const VkPhysicalDeviceLineRasterizationFeatures *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: if (!vn_cs_renderer_protocol_has_extension(298 /* VK_EXT_pipeline_creation_cache_control */)) @@ -11580,6 +13101,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceVulkan13Features_self((const VkPhysicalDeviceVulkan13Features *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: + if (!vn_cs_renderer_protocol_has_api_version(VK_API_VERSION_1_4)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceVulkan14Features_self((const VkPhysicalDeviceVulkan14Features *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(288 /* VK_EXT_custom_border_color */)) break; @@ -11716,6 +13245,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceSynchronization2Features_self((const VkPhysicalDeviceSynchronization2Features *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures_self((const VkPhysicalDeviceHostImageCopyFeatures *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(383 /* VK_EXT_primitives_generated_query */)) break; @@ -11724,6 +13261,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self((const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(467 /* VK_EXT_pipeline_protected_access */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures_self((const VkPhysicalDevicePipelineProtectedAccessFeatures *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(331 /* VK_EXT_ycbcr_2plane_444_formats */)) break; @@ -11788,6 +13333,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT_self((const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures_self((const VkPhysicalDevicePipelineRobustnessFeatures *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(340 /* VK_EXT_attachment_feedback_loop_layout */)) break; @@ -11804,6 +13357,38 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT_self((const VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(417 /* VK_KHR_shader_subgroup_rotate */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures_self((const VkPhysicalDeviceShaderSubgroupRotateFeatures *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(545 /* VK_KHR_shader_expect_assume */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures_self((const VkPhysicalDeviceShaderExpectAssumeFeatures *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(529 /* VK_KHR_shader_float_controls2 */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features_self((const VkPhysicalDeviceShaderFloatControls2Features *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self((const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -11918,13 +13503,21 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceMaintenance4Features_self(enc, (const VkPhysicalDeviceMaintenance4Features *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR_self(enc, (const VkPhysicalDeviceMaintenance5FeaturesKHR *)pnext); + vn_encode_VkPhysicalDeviceMaintenance5Features_self(enc, (const VkPhysicalDeviceMaintenance5Features *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceMaintenance6Features_self(enc, (const VkPhysicalDeviceMaintenance6Features *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: vn_encode_simple_pointer(enc, pnext); @@ -11944,6 +13537,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(189 /* VK_KHR_global_priority */) && !vn_cs_renderer_protocol_has_extension(389 /* VK_EXT_global_priority_query */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures_self(enc, (const VkPhysicalDeviceGlobalPriorityQueryFeatures *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); @@ -11982,13 +13583,13 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: if (!vn_cs_renderer_protocol_has_extension(191 /* VK_EXT_vertex_attribute_divisor */) && !vn_cs_renderer_protocol_has_extension(526 /* VK_KHR_vertex_attribute_divisor */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self(enc, (const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *)pnext); + vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures_self(enc, (const VkPhysicalDeviceVertexAttributeDivisorFeatures *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(29 /* VK_EXT_transform_feedback */)) @@ -12046,13 +13647,13 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceShaderClockFeaturesKHR_self(enc, (const VkPhysicalDeviceShaderClockFeaturesKHR *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: if (!vn_cs_renderer_protocol_has_extension(266 /* VK_EXT_index_type_uint8 */) && !vn_cs_renderer_protocol_has_extension(534 /* VK_KHR_index_type_uint8 */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self(enc, (const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *)pnext); + vn_encode_VkPhysicalDeviceIndexTypeUint8Features_self(enc, (const VkPhysicalDeviceIndexTypeUint8Features *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(252 /* VK_EXT_fragment_shader_interlock */)) @@ -12100,13 +13701,13 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures_self(enc, (const VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: if (!vn_cs_renderer_protocol_has_extension(260 /* VK_EXT_line_rasterization */) && !vn_cs_renderer_protocol_has_extension(535 /* VK_KHR_line_rasterization */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self(enc, (const VkPhysicalDeviceLineRasterizationFeaturesKHR *)pnext); + vn_encode_VkPhysicalDeviceLineRasterizationFeatures_self(enc, (const VkPhysicalDeviceLineRasterizationFeatures *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: if (!vn_cs_renderer_protocol_has_extension(298 /* VK_EXT_pipeline_creation_cache_control */)) @@ -12136,6 +13737,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceVulkan13Features_self(enc, (const VkPhysicalDeviceVulkan13Features *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: + if (!vn_cs_renderer_protocol_has_api_version(VK_API_VERSION_1_4)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceVulkan14Features_self(enc, (const VkPhysicalDeviceVulkan14Features *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(288 /* VK_EXT_custom_border_color */)) break; @@ -12272,6 +13881,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceSynchronization2Features_self(enc, (const VkPhysicalDeviceSynchronization2Features *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceHostImageCopyFeatures_self(enc, (const VkPhysicalDeviceHostImageCopyFeatures *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(383 /* VK_EXT_primitives_generated_query */)) break; @@ -12280,6 +13897,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self(enc, (const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(467 /* VK_EXT_pipeline_protected_access */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures_self(enc, (const VkPhysicalDevicePipelineProtectedAccessFeatures *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(331 /* VK_EXT_ycbcr_2plane_444_formats */)) break; @@ -12344,6 +13969,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT_self(enc, (const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDevicePipelineRobustnessFeatures_self(enc, (const VkPhysicalDevicePipelineRobustnessFeatures *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(340 /* VK_EXT_attachment_feedback_loop_layout */)) break; @@ -12360,6 +13993,38 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT_self(enc, (const VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(417 /* VK_KHR_shader_subgroup_rotate */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures_self(enc, (const VkPhysicalDeviceShaderSubgroupRotateFeatures *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(545 /* VK_KHR_shader_expect_assume */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures_self(enc, (const VkPhysicalDeviceShaderExpectAssumeFeatures *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(529 /* VK_KHR_shader_float_controls2 */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceShaderFloatControls2Features_self(enc, (const VkPhysicalDeviceShaderFloatControls2Features *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self(enc, (const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *)pnext); + return; default: /* ignore unknown/unsupported struct */ break; @@ -12449,9 +14114,13 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceMaintenance4Features_self(dec, (VkPhysicalDeviceMaintenance4Features *)pnext); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); - vn_decode_VkPhysicalDeviceMaintenance5FeaturesKHR_self(dec, (VkPhysicalDeviceMaintenance5FeaturesKHR *)pnext); + vn_decode_VkPhysicalDeviceMaintenance5Features_self(dec, (VkPhysicalDeviceMaintenance5Features *)pnext); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: + vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDeviceMaintenance6Features_self(dec, (VkPhysicalDeviceMaintenance6Features *)pnext); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); @@ -12465,6 +14134,10 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self(dec, (VkPhysicalDeviceHostQueryResetFeatures *)pnext); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES: + vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDeviceGlobalPriorityQueryFeatures_self(dec, (VkPhysicalDeviceGlobalPriorityQueryFeatures *)pnext); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self(dec, (VkPhysicalDeviceDescriptorIndexingFeatures *)pnext); @@ -12489,9 +14162,9 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self(dec, (VkPhysicalDeviceShaderAtomicInt64Features *)pnext); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); - vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self(dec, (VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *)pnext); + vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeatures_self(dec, (VkPhysicalDeviceVertexAttributeDivisorFeatures *)pnext); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); @@ -12525,9 +14198,9 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceShaderClockFeaturesKHR_self(dec, (VkPhysicalDeviceShaderClockFeaturesKHR *)pnext); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); - vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self(dec, (VkPhysicalDeviceIndexTypeUint8FeaturesKHR *)pnext); + vn_decode_VkPhysicalDeviceIndexTypeUint8Features_self(dec, (VkPhysicalDeviceIndexTypeUint8Features *)pnext); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); @@ -12553,9 +14226,9 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_self(dec, (VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); - vn_decode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self(dec, (VkPhysicalDeviceLineRasterizationFeaturesKHR *)pnext); + vn_decode_VkPhysicalDeviceLineRasterizationFeatures_self(dec, (VkPhysicalDeviceLineRasterizationFeatures *)pnext); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); @@ -12573,6 +14246,10 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceVulkan13Features_self(dec, (VkPhysicalDeviceVulkan13Features *)pnext); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: + vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDeviceVulkan14Features_self(dec, (VkPhysicalDeviceVulkan14Features *)pnext); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(dec, (VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext); @@ -12641,10 +14318,18 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceSynchronization2Features_self(dec, (VkPhysicalDeviceSynchronization2Features *)pnext); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: + vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDeviceHostImageCopyFeatures_self(dec, (VkPhysicalDeviceHostImageCopyFeatures *)pnext); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self(dec, (VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: + vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDevicePipelineProtectedAccessFeatures_self(dec, (VkPhysicalDevicePipelineProtectedAccessFeatures *)pnext); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self(dec, (VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *)pnext); @@ -12677,6 +14362,10 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT_self(dec, (VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *)pnext); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: + vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDevicePipelineRobustnessFeatures_self(dec, (VkPhysicalDevicePipelineRobustnessFeatures *)pnext); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT_self(dec, (VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT *)pnext); @@ -12685,6 +14374,22 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT_self(dec, (VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT *)pnext); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: + vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDeviceShaderSubgroupRotateFeatures_self(dec, (VkPhysicalDeviceShaderSubgroupRotateFeatures *)pnext); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: + vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDeviceShaderExpectAssumeFeatures_self(dec, (VkPhysicalDeviceShaderExpectAssumeFeatures *)pnext); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: + vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDeviceShaderFloatControls2Features_self(dec, (VkPhysicalDeviceShaderFloatControls2Features *)pnext); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: + vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self(dec, (VkPhysicalDeviceDynamicRenderingLocalReadFeatures *)pnext); + break; default: assert(false); break; @@ -12794,13 +14499,21 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceMaintenance4Features_self_partial((const VkPhysicalDeviceMaintenance4Features *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_self_partial((const VkPhysicalDeviceMaintenance5FeaturesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Features_self_partial((const VkPhysicalDeviceMaintenance5Features *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Features_self_partial((const VkPhysicalDeviceMaintenance6Features *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: size += vn_sizeof_simple_pointer(pnext); @@ -12820,6 +14533,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self_partial((const VkPhysicalDeviceHostQueryResetFeatures *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(189 /* VK_KHR_global_priority */) && !vn_cs_renderer_protocol_has_extension(389 /* VK_EXT_global_priority_query */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures_self_partial((const VkPhysicalDeviceGlobalPriorityQueryFeatures *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); @@ -12858,13 +14579,13 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self_partial((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: if (!vn_cs_renderer_protocol_has_extension(191 /* VK_EXT_vertex_attribute_divisor */) && !vn_cs_renderer_protocol_has_extension(526 /* VK_KHR_vertex_attribute_divisor */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self_partial((const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures_self_partial((const VkPhysicalDeviceVertexAttributeDivisorFeatures *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(29 /* VK_EXT_transform_feedback */)) @@ -12922,13 +14643,13 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceShaderClockFeaturesKHR_self_partial((const VkPhysicalDeviceShaderClockFeaturesKHR *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: if (!vn_cs_renderer_protocol_has_extension(266 /* VK_EXT_index_type_uint8 */) && !vn_cs_renderer_protocol_has_extension(534 /* VK_KHR_index_type_uint8 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self_partial((const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features_self_partial((const VkPhysicalDeviceIndexTypeUint8Features *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(252 /* VK_EXT_fragment_shader_interlock */)) @@ -12976,13 +14697,13 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceSubgroupSizeControlFeatures_self_partial((const VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: if (!vn_cs_renderer_protocol_has_extension(260 /* VK_EXT_line_rasterization */) && !vn_cs_renderer_protocol_has_extension(535 /* VK_KHR_line_rasterization */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_self_partial((const VkPhysicalDeviceLineRasterizationFeaturesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures_self_partial((const VkPhysicalDeviceLineRasterizationFeatures *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: if (!vn_cs_renderer_protocol_has_extension(298 /* VK_EXT_pipeline_creation_cache_control */)) @@ -13012,6 +14733,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceVulkan13Features_self_partial((const VkPhysicalDeviceVulkan13Features *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: + if (!vn_cs_renderer_protocol_has_api_version(VK_API_VERSION_1_4)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceVulkan14Features_self_partial((const VkPhysicalDeviceVulkan14Features *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(288 /* VK_EXT_custom_border_color */)) break; @@ -13148,6 +14877,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceSynchronization2Features_self_partial((const VkPhysicalDeviceSynchronization2Features *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures_self_partial((const VkPhysicalDeviceHostImageCopyFeatures *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(383 /* VK_EXT_primitives_generated_query */)) break; @@ -13156,6 +14893,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self_partial((const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(467 /* VK_EXT_pipeline_protected_access */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures_self_partial((const VkPhysicalDevicePipelineProtectedAccessFeatures *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(331 /* VK_EXT_ycbcr_2plane_444_formats */)) break; @@ -13220,6 +14965,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT_self_partial((const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures_self_partial((const VkPhysicalDevicePipelineRobustnessFeatures *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(340 /* VK_EXT_attachment_feedback_loop_layout */)) break; @@ -13236,6 +14989,38 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT_self_partial((const VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(417 /* VK_KHR_shader_subgroup_rotate */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures_self_partial((const VkPhysicalDeviceShaderSubgroupRotateFeatures *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(545 /* VK_KHR_shader_expect_assume */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures_self_partial((const VkPhysicalDeviceShaderExpectAssumeFeatures *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(529 /* VK_KHR_shader_float_controls2 */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features_self_partial((const VkPhysicalDeviceShaderFloatControls2Features *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self_partial((const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -13350,13 +15135,21 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, con vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceMaintenance4Features_self_partial(enc, (const VkPhysicalDeviceMaintenance4Features *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR_self_partial(enc, (const VkPhysicalDeviceMaintenance5FeaturesKHR *)pnext); + vn_encode_VkPhysicalDeviceMaintenance5Features_self_partial(enc, (const VkPhysicalDeviceMaintenance5Features *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceMaintenance6Features_self_partial(enc, (const VkPhysicalDeviceMaintenance6Features *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: vn_encode_simple_pointer(enc, pnext); @@ -13376,6 +15169,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, con vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self_partial(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(189 /* VK_KHR_global_priority */) && !vn_cs_renderer_protocol_has_extension(389 /* VK_EXT_global_priority_query */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures_self_partial(enc, (const VkPhysicalDeviceGlobalPriorityQueryFeatures *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); @@ -13414,13 +15215,13 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, con vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: if (!vn_cs_renderer_protocol_has_extension(191 /* VK_EXT_vertex_attribute_divisor */) && !vn_cs_renderer_protocol_has_extension(526 /* VK_KHR_vertex_attribute_divisor */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self_partial(enc, (const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *)pnext); + vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures_self_partial(enc, (const VkPhysicalDeviceVertexAttributeDivisorFeatures *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(29 /* VK_EXT_transform_feedback */)) @@ -13478,13 +15279,13 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, con vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceShaderClockFeaturesKHR_self_partial(enc, (const VkPhysicalDeviceShaderClockFeaturesKHR *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: if (!vn_cs_renderer_protocol_has_extension(266 /* VK_EXT_index_type_uint8 */) && !vn_cs_renderer_protocol_has_extension(534 /* VK_KHR_index_type_uint8 */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self_partial(enc, (const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *)pnext); + vn_encode_VkPhysicalDeviceIndexTypeUint8Features_self_partial(enc, (const VkPhysicalDeviceIndexTypeUint8Features *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(252 /* VK_EXT_fragment_shader_interlock */)) @@ -13532,13 +15333,13 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, con vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures_self_partial(enc, (const VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: if (!vn_cs_renderer_protocol_has_extension(260 /* VK_EXT_line_rasterization */) && !vn_cs_renderer_protocol_has_extension(535 /* VK_KHR_line_rasterization */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self_partial(enc, (const VkPhysicalDeviceLineRasterizationFeaturesKHR *)pnext); + vn_encode_VkPhysicalDeviceLineRasterizationFeatures_self_partial(enc, (const VkPhysicalDeviceLineRasterizationFeatures *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: if (!vn_cs_renderer_protocol_has_extension(298 /* VK_EXT_pipeline_creation_cache_control */)) @@ -13568,6 +15369,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, con vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceVulkan13Features_self_partial(enc, (const VkPhysicalDeviceVulkan13Features *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: + if (!vn_cs_renderer_protocol_has_api_version(VK_API_VERSION_1_4)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceVulkan14Features_self_partial(enc, (const VkPhysicalDeviceVulkan14Features *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(288 /* VK_EXT_custom_border_color */)) break; @@ -13704,6 +15513,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, con vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceSynchronization2Features_self_partial(enc, (const VkPhysicalDeviceSynchronization2Features *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceHostImageCopyFeatures_self_partial(enc, (const VkPhysicalDeviceHostImageCopyFeatures *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(383 /* VK_EXT_primitives_generated_query */)) break; @@ -13712,6 +15529,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, con vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self_partial(enc, (const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(467 /* VK_EXT_pipeline_protected_access */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures_self_partial(enc, (const VkPhysicalDevicePipelineProtectedAccessFeatures *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(331 /* VK_EXT_ycbcr_2plane_444_formats */)) break; @@ -13776,6 +15601,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, con vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT_self_partial(enc, (const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDevicePipelineRobustnessFeatures_self_partial(enc, (const VkPhysicalDevicePipelineRobustnessFeatures *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(340 /* VK_EXT_attachment_feedback_loop_layout */)) break; @@ -13792,6 +15625,38 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, con vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT_self_partial(enc, (const VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(417 /* VK_KHR_shader_subgroup_rotate */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures_self_partial(enc, (const VkPhysicalDeviceShaderSubgroupRotateFeatures *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(545 /* VK_KHR_shader_expect_assume */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures_self_partial(enc, (const VkPhysicalDeviceShaderExpectAssumeFeatures *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(529 /* VK_KHR_shader_float_controls2 */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceShaderFloatControls2Features_self_partial(enc, (const VkPhysicalDeviceShaderFloatControls2Features *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self_partial(enc, (const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *)pnext); + return; default: /* ignore unknown/unsupported struct */ break; @@ -13991,13 +15856,21 @@ vn_sizeof_VkDeviceCreateInfo_pnext(const void *val) size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceMaintenance4Features_self((const VkPhysicalDeviceMaintenance4Features *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceMaintenance5FeaturesKHR_self((const VkPhysicalDeviceMaintenance5FeaturesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Features_self((const VkPhysicalDeviceMaintenance5Features *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Features_self((const VkPhysicalDeviceMaintenance6Features *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: size += vn_sizeof_simple_pointer(pnext); @@ -14017,6 +15890,14 @@ vn_sizeof_VkDeviceCreateInfo_pnext(const void *val) size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self((const VkPhysicalDeviceHostQueryResetFeatures *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(189 /* VK_KHR_global_priority */) && !vn_cs_renderer_protocol_has_extension(389 /* VK_EXT_global_priority_query */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceGlobalPriorityQueryFeatures_self((const VkPhysicalDeviceGlobalPriorityQueryFeatures *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); @@ -14055,13 +15936,13 @@ vn_sizeof_VkDeviceCreateInfo_pnext(const void *val) size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: if (!vn_cs_renderer_protocol_has_extension(191 /* VK_EXT_vertex_attribute_divisor */) && !vn_cs_renderer_protocol_has_extension(526 /* VK_KHR_vertex_attribute_divisor */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self((const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeatures_self((const VkPhysicalDeviceVertexAttributeDivisorFeatures *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(29 /* VK_EXT_transform_feedback */)) @@ -14119,13 +16000,13 @@ vn_sizeof_VkDeviceCreateInfo_pnext(const void *val) size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceShaderClockFeaturesKHR_self((const VkPhysicalDeviceShaderClockFeaturesKHR *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: if (!vn_cs_renderer_protocol_has_extension(266 /* VK_EXT_index_type_uint8 */) && !vn_cs_renderer_protocol_has_extension(534 /* VK_KHR_index_type_uint8 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self((const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceIndexTypeUint8Features_self((const VkPhysicalDeviceIndexTypeUint8Features *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(252 /* VK_EXT_fragment_shader_interlock */)) @@ -14173,13 +16054,13 @@ vn_sizeof_VkDeviceCreateInfo_pnext(const void *val) size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceSubgroupSizeControlFeatures_self((const VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: if (!vn_cs_renderer_protocol_has_extension(260 /* VK_EXT_line_rasterization */) && !vn_cs_renderer_protocol_has_extension(535 /* VK_KHR_line_rasterization */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeaturesKHR_self((const VkPhysicalDeviceLineRasterizationFeaturesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationFeatures_self((const VkPhysicalDeviceLineRasterizationFeatures *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: if (!vn_cs_renderer_protocol_has_extension(298 /* VK_EXT_pipeline_creation_cache_control */)) @@ -14209,6 +16090,14 @@ vn_sizeof_VkDeviceCreateInfo_pnext(const void *val) size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceVulkan13Features_self((const VkPhysicalDeviceVulkan13Features *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: + if (!vn_cs_renderer_protocol_has_api_version(VK_API_VERSION_1_4)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceVulkan14Features_self((const VkPhysicalDeviceVulkan14Features *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(288 /* VK_EXT_custom_border_color */)) break; @@ -14345,6 +16234,14 @@ vn_sizeof_VkDeviceCreateInfo_pnext(const void *val) size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceSynchronization2Features_self((const VkPhysicalDeviceSynchronization2Features *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyFeatures_self((const VkPhysicalDeviceHostImageCopyFeatures *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(383 /* VK_EXT_primitives_generated_query */)) break; @@ -14353,6 +16250,14 @@ vn_sizeof_VkDeviceCreateInfo_pnext(const void *val) size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self((const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(467 /* VK_EXT_pipeline_protected_access */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineProtectedAccessFeatures_self((const VkPhysicalDevicePipelineProtectedAccessFeatures *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(331 /* VK_EXT_ycbcr_2plane_444_formats */)) break; @@ -14417,6 +16322,14 @@ vn_sizeof_VkDeviceCreateInfo_pnext(const void *val) size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT_self((const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessFeatures_self((const VkPhysicalDevicePipelineRobustnessFeatures *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(340 /* VK_EXT_attachment_feedback_loop_layout */)) break; @@ -14433,6 +16346,38 @@ vn_sizeof_VkDeviceCreateInfo_pnext(const void *val) size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT_self((const VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(417 /* VK_KHR_shader_subgroup_rotate */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderSubgroupRotateFeatures_self((const VkPhysicalDeviceShaderSubgroupRotateFeatures *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(545 /* VK_KHR_shader_expect_assume */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderExpectAssumeFeatures_self((const VkPhysicalDeviceShaderExpectAssumeFeatures *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(529 /* VK_KHR_shader_float_controls2 */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceShaderFloatControls2Features_self((const VkPhysicalDeviceShaderFloatControls2Features *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self((const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -14600,13 +16545,21 @@ vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceMaintenance4Features_self(enc, (const VkPhysicalDeviceMaintenance4Features *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceMaintenance5FeaturesKHR_self(enc, (const VkPhysicalDeviceMaintenance5FeaturesKHR *)pnext); + vn_encode_VkPhysicalDeviceMaintenance5Features_self(enc, (const VkPhysicalDeviceMaintenance5Features *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceMaintenance6Features_self(enc, (const VkPhysicalDeviceMaintenance6Features *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: vn_encode_simple_pointer(enc, pnext); @@ -14626,6 +16579,14 @@ vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(189 /* VK_KHR_global_priority */) && !vn_cs_renderer_protocol_has_extension(389 /* VK_EXT_global_priority_query */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceGlobalPriorityQueryFeatures_self(enc, (const VkPhysicalDeviceGlobalPriorityQueryFeatures *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); @@ -14664,13 +16625,13 @@ vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: if (!vn_cs_renderer_protocol_has_extension(191 /* VK_EXT_vertex_attribute_divisor */) && !vn_cs_renderer_protocol_has_extension(526 /* VK_KHR_vertex_attribute_divisor */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR_self(enc, (const VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR *)pnext); + vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeatures_self(enc, (const VkPhysicalDeviceVertexAttributeDivisorFeatures *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(29 /* VK_EXT_transform_feedback */)) @@ -14728,13 +16689,13 @@ vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceShaderClockFeaturesKHR_self(enc, (const VkPhysicalDeviceShaderClockFeaturesKHR *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: if (!vn_cs_renderer_protocol_has_extension(266 /* VK_EXT_index_type_uint8 */) && !vn_cs_renderer_protocol_has_extension(534 /* VK_KHR_index_type_uint8 */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesKHR_self(enc, (const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *)pnext); + vn_encode_VkPhysicalDeviceIndexTypeUint8Features_self(enc, (const VkPhysicalDeviceIndexTypeUint8Features *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(252 /* VK_EXT_fragment_shader_interlock */)) @@ -14782,13 +16743,13 @@ vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures_self(enc, (const VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: if (!vn_cs_renderer_protocol_has_extension(260 /* VK_EXT_line_rasterization */) && !vn_cs_renderer_protocol_has_extension(535 /* VK_KHR_line_rasterization */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceLineRasterizationFeaturesKHR_self(enc, (const VkPhysicalDeviceLineRasterizationFeaturesKHR *)pnext); + vn_encode_VkPhysicalDeviceLineRasterizationFeatures_self(enc, (const VkPhysicalDeviceLineRasterizationFeatures *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: if (!vn_cs_renderer_protocol_has_extension(298 /* VK_EXT_pipeline_creation_cache_control */)) @@ -14818,6 +16779,14 @@ vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceVulkan13Features_self(enc, (const VkPhysicalDeviceVulkan13Features *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: + if (!vn_cs_renderer_protocol_has_api_version(VK_API_VERSION_1_4)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceVulkan14Features_self(enc, (const VkPhysicalDeviceVulkan14Features *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(288 /* VK_EXT_custom_border_color */)) break; @@ -14954,6 +16923,14 @@ vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceSynchronization2Features_self(enc, (const VkPhysicalDeviceSynchronization2Features *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceHostImageCopyFeatures_self(enc, (const VkPhysicalDeviceHostImageCopyFeatures *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(383 /* VK_EXT_primitives_generated_query */)) break; @@ -14962,6 +16939,14 @@ vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self(enc, (const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(467 /* VK_EXT_pipeline_protected_access */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDevicePipelineProtectedAccessFeatures_self(enc, (const VkPhysicalDevicePipelineProtectedAccessFeatures *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(331 /* VK_EXT_ycbcr_2plane_444_formats */)) break; @@ -15026,6 +17011,14 @@ vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT_self(enc, (const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDevicePipelineRobustnessFeatures_self(enc, (const VkPhysicalDevicePipelineRobustnessFeatures *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: if (!vn_cs_renderer_protocol_has_extension(340 /* VK_EXT_attachment_feedback_loop_layout */)) break; @@ -15042,6 +17035,38 @@ vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT_self(enc, (const VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(417 /* VK_KHR_shader_subgroup_rotate */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceShaderSubgroupRotateFeatures_self(enc, (const VkPhysicalDeviceShaderSubgroupRotateFeatures *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(545 /* VK_KHR_shader_expect_assume */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceShaderExpectAssumeFeatures_self(enc, (const VkPhysicalDeviceShaderExpectAssumeFeatures *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(529 /* VK_KHR_shader_float_controls2 */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceShaderFloatControls2Features_self(enc, (const VkPhysicalDeviceShaderFloatControls2Features *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceDynamicRenderingLocalReadFeatures_self(enc, (const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *)pnext); + return; default: /* ignore unknown/unsupported struct */ break; @@ -15208,17 +17233,17 @@ vn_encode_VkPhysicalDeviceMultiDrawPropertiesEXT_partial(struct vn_cs_encoder *e vn_encode_VkPhysicalDeviceMultiDrawPropertiesEXT_self_partial(enc, val); } -/* struct VkPhysicalDevicePushDescriptorPropertiesKHR chain */ +/* struct VkPhysicalDevicePushDescriptorProperties chain */ static inline size_t -vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext(const void *val) +vn_sizeof_VkPhysicalDevicePushDescriptorProperties_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_self(const VkPhysicalDevicePushDescriptorPropertiesKHR *val) +vn_sizeof_VkPhysicalDevicePushDescriptorProperties_self(const VkPhysicalDevicePushDescriptorProperties *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -15227,19 +17252,19 @@ vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_self(const VkPhysicalDevic } static inline size_t -vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR(const VkPhysicalDevicePushDescriptorPropertiesKHR *val) +vn_sizeof_VkPhysicalDevicePushDescriptorProperties(const VkPhysicalDevicePushDescriptorProperties *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext(val->pNext); - size += vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_self(val); + size += vn_sizeof_VkPhysicalDevicePushDescriptorProperties_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDevicePushDescriptorProperties_self(val); return size; } static inline void -vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext(struct vn_cs_decoder *dec, const void *val) +vn_decode_VkPhysicalDevicePushDescriptorProperties_pnext(struct vn_cs_decoder *dec, const void *val) { /* no known/supported struct */ if (vn_decode_simple_pointer(dec)) @@ -15247,33 +17272,33 @@ vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext(struct vn_cs_decoder } static inline void -vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_self(struct vn_cs_decoder *dec, VkPhysicalDevicePushDescriptorPropertiesKHR *val) +vn_decode_VkPhysicalDevicePushDescriptorProperties_self(struct vn_cs_decoder *dec, VkPhysicalDevicePushDescriptorProperties *val) { /* skip val->{sType,pNext} */ vn_decode_uint32_t(dec, &val->maxPushDescriptors); } static inline void -vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR(struct vn_cs_decoder *dec, VkPhysicalDevicePushDescriptorPropertiesKHR *val) +vn_decode_VkPhysicalDevicePushDescriptorProperties(struct vn_cs_decoder *dec, VkPhysicalDevicePushDescriptorProperties *val) { VkStructureType stype; vn_decode_VkStructureType(dec, &stype); - assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES); assert(val->sType == stype); - vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext(dec, val->pNext); - vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_self(dec, val); + vn_decode_VkPhysicalDevicePushDescriptorProperties_pnext(dec, val->pNext); + vn_decode_VkPhysicalDevicePushDescriptorProperties_self(dec, val); } static inline size_t -vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext_partial(const void *val) +vn_sizeof_VkPhysicalDevicePushDescriptorProperties_pnext_partial(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_self_partial(const VkPhysicalDevicePushDescriptorPropertiesKHR *val) +vn_sizeof_VkPhysicalDevicePushDescriptorProperties_self_partial(const VkPhysicalDevicePushDescriptorProperties *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -15282,38 +17307,38 @@ vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_self_partial(const VkPhysi } static inline size_t -vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_partial(const VkPhysicalDevicePushDescriptorPropertiesKHR *val) +vn_sizeof_VkPhysicalDevicePushDescriptorProperties_partial(const VkPhysicalDevicePushDescriptorProperties *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext_partial(val->pNext); - size += vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_self_partial(val); + size += vn_sizeof_VkPhysicalDevicePushDescriptorProperties_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDevicePushDescriptorProperties_self_partial(val); return size; } static inline void -vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext_partial(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPhysicalDevicePushDescriptorProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePushDescriptorPropertiesKHR *val) +vn_encode_VkPhysicalDevicePushDescriptorProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePushDescriptorProperties *val) { /* skip val->{sType,pNext} */ /* skip val->maxPushDescriptors */ } static inline void -vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePushDescriptorPropertiesKHR *val) +vn_encode_VkPhysicalDevicePushDescriptorProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePushDescriptorProperties *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR }); - vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext_partial(enc, val->pNext); - vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_self_partial(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES }); + vn_encode_VkPhysicalDevicePushDescriptorProperties_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDevicePushDescriptorProperties_self_partial(enc, val); } /* struct VkConformanceVersion */ @@ -16782,17 +18807,17 @@ vn_encode_VkPhysicalDeviceMaintenance4Properties_partial(struct vn_cs_encoder *e vn_encode_VkPhysicalDeviceMaintenance4Properties_self_partial(enc, val); } -/* struct VkPhysicalDeviceMaintenance5PropertiesKHR chain */ +/* struct VkPhysicalDeviceMaintenance5Properties chain */ static inline size_t -vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_pnext(const void *val) +vn_sizeof_VkPhysicalDeviceMaintenance5Properties_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_self(const VkPhysicalDeviceMaintenance5PropertiesKHR *val) +vn_sizeof_VkPhysicalDeviceMaintenance5Properties_self(const VkPhysicalDeviceMaintenance5Properties *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -16806,19 +18831,19 @@ vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_self(const VkPhysicalDeviceM } static inline size_t -vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR(const VkPhysicalDeviceMaintenance5PropertiesKHR *val) +vn_sizeof_VkPhysicalDeviceMaintenance5Properties(const VkPhysicalDeviceMaintenance5Properties *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_pnext(val->pNext); - size += vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_self(val); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Properties_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Properties_self(val); return size; } static inline void -vn_decode_VkPhysicalDeviceMaintenance5PropertiesKHR_pnext(struct vn_cs_decoder *dec, const void *val) +vn_decode_VkPhysicalDeviceMaintenance5Properties_pnext(struct vn_cs_decoder *dec, const void *val) { /* no known/supported struct */ if (vn_decode_simple_pointer(dec)) @@ -16826,7 +18851,7 @@ vn_decode_VkPhysicalDeviceMaintenance5PropertiesKHR_pnext(struct vn_cs_decoder * } static inline void -vn_decode_VkPhysicalDeviceMaintenance5PropertiesKHR_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance5PropertiesKHR *val) +vn_decode_VkPhysicalDeviceMaintenance5Properties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance5Properties *val) { /* skip val->{sType,pNext} */ vn_decode_VkBool32(dec, &val->earlyFragmentMultisampleCoverageAfterSampleCounting); @@ -16838,26 +18863,26 @@ vn_decode_VkPhysicalDeviceMaintenance5PropertiesKHR_self(struct vn_cs_decoder *d } static inline void -vn_decode_VkPhysicalDeviceMaintenance5PropertiesKHR(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance5PropertiesKHR *val) +vn_decode_VkPhysicalDeviceMaintenance5Properties(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance5Properties *val) { VkStructureType stype; vn_decode_VkStructureType(dec, &stype); - assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES); assert(val->sType == stype); - vn_decode_VkPhysicalDeviceMaintenance5PropertiesKHR_pnext(dec, val->pNext); - vn_decode_VkPhysicalDeviceMaintenance5PropertiesKHR_self(dec, val); + vn_decode_VkPhysicalDeviceMaintenance5Properties_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceMaintenance5Properties_self(dec, val); } static inline size_t -vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_pnext_partial(const void *val) +vn_sizeof_VkPhysicalDeviceMaintenance5Properties_pnext_partial(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_self_partial(const VkPhysicalDeviceMaintenance5PropertiesKHR *val) +vn_sizeof_VkPhysicalDeviceMaintenance5Properties_self_partial(const VkPhysicalDeviceMaintenance5Properties *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -16871,26 +18896,26 @@ vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_self_partial(const VkPhysica } static inline size_t -vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_partial(const VkPhysicalDeviceMaintenance5PropertiesKHR *val) +vn_sizeof_VkPhysicalDeviceMaintenance5Properties_partial(const VkPhysicalDeviceMaintenance5Properties *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_pnext_partial(val->pNext); - size += vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_self_partial(val); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Properties_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Properties_self_partial(val); return size; } static inline void -vn_encode_VkPhysicalDeviceMaintenance5PropertiesKHR_pnext_partial(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPhysicalDeviceMaintenance5Properties_pnext_partial(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPhysicalDeviceMaintenance5PropertiesKHR_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance5PropertiesKHR *val) +vn_encode_VkPhysicalDeviceMaintenance5Properties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance5Properties *val) { /* skip val->{sType,pNext} */ /* skip val->earlyFragmentMultisampleCoverageAfterSampleCounting */ @@ -16902,12 +18927,128 @@ vn_encode_VkPhysicalDeviceMaintenance5PropertiesKHR_self_partial(struct vn_cs_en } static inline void -vn_encode_VkPhysicalDeviceMaintenance5PropertiesKHR_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance5PropertiesKHR *val) +vn_encode_VkPhysicalDeviceMaintenance5Properties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance5Properties *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR }); - vn_encode_VkPhysicalDeviceMaintenance5PropertiesKHR_pnext_partial(enc, val->pNext); - vn_encode_VkPhysicalDeviceMaintenance5PropertiesKHR_self_partial(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES }); + vn_encode_VkPhysicalDeviceMaintenance5Properties_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceMaintenance5Properties_self_partial(enc, val); +} + +/* struct VkPhysicalDeviceMaintenance6Properties chain */ + +static inline size_t +vn_sizeof_VkPhysicalDeviceMaintenance6Properties_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceMaintenance6Properties_self(const VkPhysicalDeviceMaintenance6Properties *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkBool32(&val->blockTexelViewCompatibleMultipleLayers); + size += vn_sizeof_uint32_t(&val->maxCombinedImageSamplerDescriptorCount); + size += vn_sizeof_VkBool32(&val->fragmentShadingRateClampCombinerInputs); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceMaintenance6Properties(const VkPhysicalDeviceMaintenance6Properties *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Properties_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Properties_self(val); + + return size; +} + +static inline void +vn_decode_VkPhysicalDeviceMaintenance6Properties_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDeviceMaintenance6Properties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance6Properties *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkBool32(dec, &val->blockTexelViewCompatibleMultipleLayers); + vn_decode_uint32_t(dec, &val->maxCombinedImageSamplerDescriptorCount); + vn_decode_VkBool32(dec, &val->fragmentShadingRateClampCombinerInputs); +} + +static inline void +vn_decode_VkPhysicalDeviceMaintenance6Properties(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance6Properties *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDeviceMaintenance6Properties_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceMaintenance6Properties_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceMaintenance6Properties_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceMaintenance6Properties_self_partial(const VkPhysicalDeviceMaintenance6Properties *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->blockTexelViewCompatibleMultipleLayers */ + /* skip val->maxCombinedImageSamplerDescriptorCount */ + /* skip val->fragmentShadingRateClampCombinerInputs */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceMaintenance6Properties_partial(const VkPhysicalDeviceMaintenance6Properties *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Properties_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Properties_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceMaintenance6Properties_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceMaintenance6Properties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance6Properties *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->blockTexelViewCompatibleMultipleLayers */ + /* skip val->maxCombinedImageSamplerDescriptorCount */ + /* skip val->fragmentShadingRateClampCombinerInputs */ +} + +static inline void +vn_encode_VkPhysicalDeviceMaintenance6Properties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance6Properties *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES }); + vn_encode_VkPhysicalDeviceMaintenance6Properties_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceMaintenance6Properties_self_partial(enc, val); } /* struct VkPhysicalDeviceFloatControlsProperties chain */ @@ -17634,17 +19775,17 @@ vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_partial(struct vn_ vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial(enc, val); } -/* struct VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR chain */ +/* struct VkPhysicalDeviceVertexAttributeDivisorProperties chain */ static inline size_t -vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_pnext(const void *val) +vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorProperties_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self(const VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *val) +vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorProperties_self(const VkPhysicalDeviceVertexAttributeDivisorProperties *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -17654,19 +19795,19 @@ vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self(const VkPhysi } static inline size_t -vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR(const VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *val) +vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorProperties(const VkPhysicalDeviceVertexAttributeDivisorProperties *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_pnext(val->pNext); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self(val); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorProperties_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorProperties_self(val); return size; } static inline void -vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_pnext(struct vn_cs_decoder *dec, const void *val) +vn_decode_VkPhysicalDeviceVertexAttributeDivisorProperties_pnext(struct vn_cs_decoder *dec, const void *val) { /* no known/supported struct */ if (vn_decode_simple_pointer(dec)) @@ -17674,7 +19815,7 @@ vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_pnext(struct vn_cs } static inline void -vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *val) +vn_decode_VkPhysicalDeviceVertexAttributeDivisorProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorProperties *val) { /* skip val->{sType,pNext} */ vn_decode_uint32_t(dec, &val->maxVertexAttribDivisor); @@ -17682,26 +19823,26 @@ vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self(struct vn_cs_ } static inline void -vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *val) +vn_decode_VkPhysicalDeviceVertexAttributeDivisorProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorProperties *val) { VkStructureType stype; vn_decode_VkStructureType(dec, &stype); - assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES); assert(val->sType == stype); - vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_pnext(dec, val->pNext); - vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self(dec, val); + vn_decode_VkPhysicalDeviceVertexAttributeDivisorProperties_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceVertexAttributeDivisorProperties_self(dec, val); } static inline size_t -vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_pnext_partial(const void *val) +vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorProperties_pnext_partial(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self_partial(const VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *val) +vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorProperties_self_partial(const VkPhysicalDeviceVertexAttributeDivisorProperties *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -17711,26 +19852,26 @@ vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self_partial(const } static inline size_t -vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_partial(const VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *val) +vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorProperties_partial(const VkPhysicalDeviceVertexAttributeDivisorProperties *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_pnext_partial(val->pNext); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self_partial(val); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorProperties_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorProperties_self_partial(val); return size; } static inline void -vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_pnext_partial(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPhysicalDeviceVertexAttributeDivisorProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *val) +vn_encode_VkPhysicalDeviceVertexAttributeDivisorProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorProperties *val) { /* skip val->{sType,pNext} */ /* skip val->maxVertexAttribDivisor */ @@ -17738,12 +19879,12 @@ vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self_partial(struc } static inline void -vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *val) +vn_encode_VkPhysicalDeviceVertexAttributeDivisorProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorProperties *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR }); - vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_pnext_partial(enc, val->pNext); - vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self_partial(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES }); + vn_encode_VkPhysicalDeviceVertexAttributeDivisorProperties_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceVertexAttributeDivisorProperties_self_partial(enc, val); } /* struct VkPhysicalDevicePCIBusInfoPropertiesEXT chain */ @@ -18370,17 +20511,17 @@ vn_encode_VkPhysicalDeviceSubgroupSizeControlProperties_partial(struct vn_cs_enc vn_encode_VkPhysicalDeviceSubgroupSizeControlProperties_self_partial(enc, val); } -/* struct VkPhysicalDeviceLineRasterizationPropertiesKHR chain */ +/* struct VkPhysicalDeviceLineRasterizationProperties chain */ static inline size_t -vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_pnext(const void *val) +vn_sizeof_VkPhysicalDeviceLineRasterizationProperties_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_self(const VkPhysicalDeviceLineRasterizationPropertiesKHR *val) +vn_sizeof_VkPhysicalDeviceLineRasterizationProperties_self(const VkPhysicalDeviceLineRasterizationProperties *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -18389,19 +20530,19 @@ vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_self(const VkPhysicalDe } static inline size_t -vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR(const VkPhysicalDeviceLineRasterizationPropertiesKHR *val) +vn_sizeof_VkPhysicalDeviceLineRasterizationProperties(const VkPhysicalDeviceLineRasterizationProperties *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_pnext(val->pNext); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_self(val); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationProperties_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationProperties_self(val); return size; } static inline void -vn_decode_VkPhysicalDeviceLineRasterizationPropertiesKHR_pnext(struct vn_cs_decoder *dec, const void *val) +vn_decode_VkPhysicalDeviceLineRasterizationProperties_pnext(struct vn_cs_decoder *dec, const void *val) { /* no known/supported struct */ if (vn_decode_simple_pointer(dec)) @@ -18409,33 +20550,33 @@ vn_decode_VkPhysicalDeviceLineRasterizationPropertiesKHR_pnext(struct vn_cs_deco } static inline void -vn_decode_VkPhysicalDeviceLineRasterizationPropertiesKHR_self(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationPropertiesKHR *val) +vn_decode_VkPhysicalDeviceLineRasterizationProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationProperties *val) { /* skip val->{sType,pNext} */ vn_decode_uint32_t(dec, &val->lineSubPixelPrecisionBits); } static inline void -vn_decode_VkPhysicalDeviceLineRasterizationPropertiesKHR(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationPropertiesKHR *val) +vn_decode_VkPhysicalDeviceLineRasterizationProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationProperties *val) { VkStructureType stype; vn_decode_VkStructureType(dec, &stype); - assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES); assert(val->sType == stype); - vn_decode_VkPhysicalDeviceLineRasterizationPropertiesKHR_pnext(dec, val->pNext); - vn_decode_VkPhysicalDeviceLineRasterizationPropertiesKHR_self(dec, val); + vn_decode_VkPhysicalDeviceLineRasterizationProperties_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceLineRasterizationProperties_self(dec, val); } static inline size_t -vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_pnext_partial(const void *val) +vn_sizeof_VkPhysicalDeviceLineRasterizationProperties_pnext_partial(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_self_partial(const VkPhysicalDeviceLineRasterizationPropertiesKHR *val) +vn_sizeof_VkPhysicalDeviceLineRasterizationProperties_self_partial(const VkPhysicalDeviceLineRasterizationProperties *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -18444,38 +20585,38 @@ vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_self_partial(const VkPh } static inline size_t -vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_partial(const VkPhysicalDeviceLineRasterizationPropertiesKHR *val) +vn_sizeof_VkPhysicalDeviceLineRasterizationProperties_partial(const VkPhysicalDeviceLineRasterizationProperties *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_pnext_partial(val->pNext); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_self_partial(val); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationProperties_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationProperties_self_partial(val); return size; } static inline void -vn_encode_VkPhysicalDeviceLineRasterizationPropertiesKHR_pnext_partial(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPhysicalDeviceLineRasterizationProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPhysicalDeviceLineRasterizationPropertiesKHR_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationPropertiesKHR *val) +vn_encode_VkPhysicalDeviceLineRasterizationProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationProperties *val) { /* skip val->{sType,pNext} */ /* skip val->lineSubPixelPrecisionBits */ } static inline void -vn_encode_VkPhysicalDeviceLineRasterizationPropertiesKHR_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationPropertiesKHR *val) +vn_encode_VkPhysicalDeviceLineRasterizationProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationProperties *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR }); - vn_encode_VkPhysicalDeviceLineRasterizationPropertiesKHR_pnext_partial(enc, val->pNext); - vn_encode_VkPhysicalDeviceLineRasterizationPropertiesKHR_self_partial(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES }); + vn_encode_VkPhysicalDeviceLineRasterizationProperties_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceLineRasterizationProperties_self_partial(enc, val); } /* struct VkPhysicalDeviceVulkan11Properties chain */ @@ -19258,6 +21399,236 @@ vn_encode_VkPhysicalDeviceVulkan13Properties_partial(struct vn_cs_encoder *enc, vn_encode_VkPhysicalDeviceVulkan13Properties_self_partial(enc, val); } +/* struct VkPhysicalDeviceVulkan14Properties chain */ + +static inline size_t +vn_sizeof_VkPhysicalDeviceVulkan14Properties_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceVulkan14Properties_self(const VkPhysicalDeviceVulkan14Properties *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_uint32_t(&val->lineSubPixelPrecisionBits); + size += vn_sizeof_uint32_t(&val->maxVertexAttribDivisor); + size += vn_sizeof_VkBool32(&val->supportsNonZeroFirstInstance); + size += vn_sizeof_uint32_t(&val->maxPushDescriptors); + size += vn_sizeof_VkBool32(&val->dynamicRenderingLocalReadDepthStencilAttachments); + size += vn_sizeof_VkBool32(&val->dynamicRenderingLocalReadMultisampledAttachments); + size += vn_sizeof_VkBool32(&val->earlyFragmentMultisampleCoverageAfterSampleCounting); + size += vn_sizeof_VkBool32(&val->earlyFragmentSampleMaskTestBeforeSampleCounting); + size += vn_sizeof_VkBool32(&val->depthStencilSwizzleOneSupport); + size += vn_sizeof_VkBool32(&val->polygonModePointSize); + size += vn_sizeof_VkBool32(&val->nonStrictSinglePixelWideLinesUseParallelogram); + size += vn_sizeof_VkBool32(&val->nonStrictWideLinesUseParallelogram); + size += vn_sizeof_VkBool32(&val->blockTexelViewCompatibleMultipleLayers); + size += vn_sizeof_uint32_t(&val->maxCombinedImageSamplerDescriptorCount); + size += vn_sizeof_VkBool32(&val->fragmentShadingRateClampCombinerInputs); + size += vn_sizeof_VkPipelineRobustnessBufferBehavior(&val->defaultRobustnessStorageBuffers); + size += vn_sizeof_VkPipelineRobustnessBufferBehavior(&val->defaultRobustnessUniformBuffers); + size += vn_sizeof_VkPipelineRobustnessBufferBehavior(&val->defaultRobustnessVertexInputs); + size += vn_sizeof_VkPipelineRobustnessImageBehavior(&val->defaultRobustnessImages); + size += vn_sizeof_uint32_t(&val->copySrcLayoutCount); + if (val->pCopySrcLayouts) { + size += vn_sizeof_array_size(val->copySrcLayoutCount); + size += vn_sizeof_VkImageLayout_array(val->pCopySrcLayouts, val->copySrcLayoutCount); + } else { + size += vn_sizeof_array_size(0); + } + size += vn_sizeof_uint32_t(&val->copyDstLayoutCount); + if (val->pCopyDstLayouts) { + size += vn_sizeof_array_size(val->copyDstLayoutCount); + size += vn_sizeof_VkImageLayout_array(val->pCopyDstLayouts, val->copyDstLayoutCount); + } else { + size += vn_sizeof_array_size(0); + } + size += vn_sizeof_array_size(VK_UUID_SIZE); + size += vn_sizeof_uint8_t_array(val->optimalTilingLayoutUUID, VK_UUID_SIZE); + size += vn_sizeof_VkBool32(&val->identicalMemoryTypeRequirements); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceVulkan14Properties(const VkPhysicalDeviceVulkan14Properties *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceVulkan14Properties_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceVulkan14Properties_self(val); + + return size; +} + +static inline void +vn_decode_VkPhysicalDeviceVulkan14Properties_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDeviceVulkan14Properties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan14Properties *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_uint32_t(dec, &val->lineSubPixelPrecisionBits); + vn_decode_uint32_t(dec, &val->maxVertexAttribDivisor); + vn_decode_VkBool32(dec, &val->supportsNonZeroFirstInstance); + vn_decode_uint32_t(dec, &val->maxPushDescriptors); + vn_decode_VkBool32(dec, &val->dynamicRenderingLocalReadDepthStencilAttachments); + vn_decode_VkBool32(dec, &val->dynamicRenderingLocalReadMultisampledAttachments); + vn_decode_VkBool32(dec, &val->earlyFragmentMultisampleCoverageAfterSampleCounting); + vn_decode_VkBool32(dec, &val->earlyFragmentSampleMaskTestBeforeSampleCounting); + vn_decode_VkBool32(dec, &val->depthStencilSwizzleOneSupport); + vn_decode_VkBool32(dec, &val->polygonModePointSize); + vn_decode_VkBool32(dec, &val->nonStrictSinglePixelWideLinesUseParallelogram); + vn_decode_VkBool32(dec, &val->nonStrictWideLinesUseParallelogram); + vn_decode_VkBool32(dec, &val->blockTexelViewCompatibleMultipleLayers); + vn_decode_uint32_t(dec, &val->maxCombinedImageSamplerDescriptorCount); + vn_decode_VkBool32(dec, &val->fragmentShadingRateClampCombinerInputs); + vn_decode_VkPipelineRobustnessBufferBehavior(dec, &val->defaultRobustnessStorageBuffers); + vn_decode_VkPipelineRobustnessBufferBehavior(dec, &val->defaultRobustnessUniformBuffers); + vn_decode_VkPipelineRobustnessBufferBehavior(dec, &val->defaultRobustnessVertexInputs); + vn_decode_VkPipelineRobustnessImageBehavior(dec, &val->defaultRobustnessImages); + vn_decode_uint32_t(dec, &val->copySrcLayoutCount); + if (vn_peek_array_size(dec)) { + const size_t array_size = vn_decode_array_size(dec, val->copySrcLayoutCount); + vn_decode_VkImageLayout_array(dec, val->pCopySrcLayouts, array_size); + } else { + vn_decode_array_size_unchecked(dec); + val->pCopySrcLayouts = NULL; + } + vn_decode_uint32_t(dec, &val->copyDstLayoutCount); + if (vn_peek_array_size(dec)) { + const size_t array_size = vn_decode_array_size(dec, val->copyDstLayoutCount); + vn_decode_VkImageLayout_array(dec, val->pCopyDstLayouts, array_size); + } else { + vn_decode_array_size_unchecked(dec); + val->pCopyDstLayouts = NULL; + } + { + const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE); + vn_decode_uint8_t_array(dec, val->optimalTilingLayoutUUID, array_size); + } + vn_decode_VkBool32(dec, &val->identicalMemoryTypeRequirements); +} + +static inline void +vn_decode_VkPhysicalDeviceVulkan14Properties(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan14Properties *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDeviceVulkan14Properties_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceVulkan14Properties_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceVulkan14Properties_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceVulkan14Properties_self_partial(const VkPhysicalDeviceVulkan14Properties *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->lineSubPixelPrecisionBits */ + /* skip val->maxVertexAttribDivisor */ + /* skip val->supportsNonZeroFirstInstance */ + /* skip val->maxPushDescriptors */ + /* skip val->dynamicRenderingLocalReadDepthStencilAttachments */ + /* skip val->dynamicRenderingLocalReadMultisampledAttachments */ + /* skip val->earlyFragmentMultisampleCoverageAfterSampleCounting */ + /* skip val->earlyFragmentSampleMaskTestBeforeSampleCounting */ + /* skip val->depthStencilSwizzleOneSupport */ + /* skip val->polygonModePointSize */ + /* skip val->nonStrictSinglePixelWideLinesUseParallelogram */ + /* skip val->nonStrictWideLinesUseParallelogram */ + /* skip val->blockTexelViewCompatibleMultipleLayers */ + /* skip val->maxCombinedImageSamplerDescriptorCount */ + /* skip val->fragmentShadingRateClampCombinerInputs */ + /* skip val->defaultRobustnessStorageBuffers */ + /* skip val->defaultRobustnessUniformBuffers */ + /* skip val->defaultRobustnessVertexInputs */ + /* skip val->defaultRobustnessImages */ + size += vn_sizeof_uint32_t(&val->copySrcLayoutCount); + size += vn_sizeof_simple_pointer(val->pCopySrcLayouts); /* out */ + size += vn_sizeof_uint32_t(&val->copyDstLayoutCount); + size += vn_sizeof_simple_pointer(val->pCopyDstLayouts); /* out */ + /* skip val->optimalTilingLayoutUUID */ + /* skip val->identicalMemoryTypeRequirements */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceVulkan14Properties_partial(const VkPhysicalDeviceVulkan14Properties *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceVulkan14Properties_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceVulkan14Properties_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceVulkan14Properties_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceVulkan14Properties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan14Properties *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->lineSubPixelPrecisionBits */ + /* skip val->maxVertexAttribDivisor */ + /* skip val->supportsNonZeroFirstInstance */ + /* skip val->maxPushDescriptors */ + /* skip val->dynamicRenderingLocalReadDepthStencilAttachments */ + /* skip val->dynamicRenderingLocalReadMultisampledAttachments */ + /* skip val->earlyFragmentMultisampleCoverageAfterSampleCounting */ + /* skip val->earlyFragmentSampleMaskTestBeforeSampleCounting */ + /* skip val->depthStencilSwizzleOneSupport */ + /* skip val->polygonModePointSize */ + /* skip val->nonStrictSinglePixelWideLinesUseParallelogram */ + /* skip val->nonStrictWideLinesUseParallelogram */ + /* skip val->blockTexelViewCompatibleMultipleLayers */ + /* skip val->maxCombinedImageSamplerDescriptorCount */ + /* skip val->fragmentShadingRateClampCombinerInputs */ + /* skip val->defaultRobustnessStorageBuffers */ + /* skip val->defaultRobustnessUniformBuffers */ + /* skip val->defaultRobustnessVertexInputs */ + /* skip val->defaultRobustnessImages */ + vn_encode_uint32_t(enc, &val->copySrcLayoutCount); + vn_encode_array_size(enc, val->pCopySrcLayouts ? val->copySrcLayoutCount : 0); /* out */ + vn_encode_uint32_t(enc, &val->copyDstLayoutCount); + vn_encode_array_size(enc, val->pCopyDstLayouts ? val->copyDstLayoutCount : 0); /* out */ + /* skip val->optimalTilingLayoutUUID */ + /* skip val->identicalMemoryTypeRequirements */ +} + +static inline void +vn_encode_VkPhysicalDeviceVulkan14Properties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan14Properties *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES }); + vn_encode_VkPhysicalDeviceVulkan14Properties_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceVulkan14Properties_self_partial(enc, val); +} + /* struct VkPhysicalDeviceCustomBorderColorPropertiesEXT chain */ static inline size_t @@ -19758,6 +22129,160 @@ vn_encode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_partial(struct vn_cs_ vn_encode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self_partial(enc, val); } +/* struct VkPhysicalDeviceHostImageCopyProperties chain */ + +static inline size_t +vn_sizeof_VkPhysicalDeviceHostImageCopyProperties_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceHostImageCopyProperties_self(const VkPhysicalDeviceHostImageCopyProperties *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_uint32_t(&val->copySrcLayoutCount); + if (val->pCopySrcLayouts) { + size += vn_sizeof_array_size(val->copySrcLayoutCount); + size += vn_sizeof_VkImageLayout_array(val->pCopySrcLayouts, val->copySrcLayoutCount); + } else { + size += vn_sizeof_array_size(0); + } + size += vn_sizeof_uint32_t(&val->copyDstLayoutCount); + if (val->pCopyDstLayouts) { + size += vn_sizeof_array_size(val->copyDstLayoutCount); + size += vn_sizeof_VkImageLayout_array(val->pCopyDstLayouts, val->copyDstLayoutCount); + } else { + size += vn_sizeof_array_size(0); + } + size += vn_sizeof_array_size(VK_UUID_SIZE); + size += vn_sizeof_uint8_t_array(val->optimalTilingLayoutUUID, VK_UUID_SIZE); + size += vn_sizeof_VkBool32(&val->identicalMemoryTypeRequirements); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceHostImageCopyProperties(const VkPhysicalDeviceHostImageCopyProperties *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyProperties_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyProperties_self(val); + + return size; +} + +static inline void +vn_decode_VkPhysicalDeviceHostImageCopyProperties_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDeviceHostImageCopyProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceHostImageCopyProperties *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_uint32_t(dec, &val->copySrcLayoutCount); + if (vn_peek_array_size(dec)) { + const size_t array_size = vn_decode_array_size(dec, val->copySrcLayoutCount); + vn_decode_VkImageLayout_array(dec, val->pCopySrcLayouts, array_size); + } else { + vn_decode_array_size_unchecked(dec); + val->pCopySrcLayouts = NULL; + } + vn_decode_uint32_t(dec, &val->copyDstLayoutCount); + if (vn_peek_array_size(dec)) { + const size_t array_size = vn_decode_array_size(dec, val->copyDstLayoutCount); + vn_decode_VkImageLayout_array(dec, val->pCopyDstLayouts, array_size); + } else { + vn_decode_array_size_unchecked(dec); + val->pCopyDstLayouts = NULL; + } + { + const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE); + vn_decode_uint8_t_array(dec, val->optimalTilingLayoutUUID, array_size); + } + vn_decode_VkBool32(dec, &val->identicalMemoryTypeRequirements); +} + +static inline void +vn_decode_VkPhysicalDeviceHostImageCopyProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceHostImageCopyProperties *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDeviceHostImageCopyProperties_pnext(dec, val->pNext); + vn_decode_VkPhysicalDeviceHostImageCopyProperties_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceHostImageCopyProperties_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceHostImageCopyProperties_self_partial(const VkPhysicalDeviceHostImageCopyProperties *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_uint32_t(&val->copySrcLayoutCount); + size += vn_sizeof_simple_pointer(val->pCopySrcLayouts); /* out */ + size += vn_sizeof_uint32_t(&val->copyDstLayoutCount); + size += vn_sizeof_simple_pointer(val->pCopyDstLayouts); /* out */ + /* skip val->optimalTilingLayoutUUID */ + /* skip val->identicalMemoryTypeRequirements */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDeviceHostImageCopyProperties_partial(const VkPhysicalDeviceHostImageCopyProperties *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyProperties_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyProperties_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDeviceHostImageCopyProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDeviceHostImageCopyProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostImageCopyProperties *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_uint32_t(enc, &val->copySrcLayoutCount); + vn_encode_array_size(enc, val->pCopySrcLayouts ? val->copySrcLayoutCount : 0); /* out */ + vn_encode_uint32_t(enc, &val->copyDstLayoutCount); + vn_encode_array_size(enc, val->pCopyDstLayouts ? val->copyDstLayoutCount : 0); /* out */ + /* skip val->optimalTilingLayoutUUID */ + /* skip val->identicalMemoryTypeRequirements */ +} + +static inline void +vn_encode_VkPhysicalDeviceHostImageCopyProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostImageCopyProperties *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES }); + vn_encode_VkPhysicalDeviceHostImageCopyProperties_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDeviceHostImageCopyProperties_self_partial(enc, val); +} + /* struct VkPhysicalDeviceProvokingVertexPropertiesEXT chain */ static inline size_t @@ -20206,6 +22731,126 @@ vn_encode_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT_partial(struct vn vn_encode_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT_self_partial(enc, val); } +/* struct VkPhysicalDevicePipelineRobustnessProperties chain */ + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineRobustnessProperties_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineRobustnessProperties_self(const VkPhysicalDevicePipelineRobustnessProperties *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkPipelineRobustnessBufferBehavior(&val->defaultRobustnessStorageBuffers); + size += vn_sizeof_VkPipelineRobustnessBufferBehavior(&val->defaultRobustnessUniformBuffers); + size += vn_sizeof_VkPipelineRobustnessBufferBehavior(&val->defaultRobustnessVertexInputs); + size += vn_sizeof_VkPipelineRobustnessImageBehavior(&val->defaultRobustnessImages); + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineRobustnessProperties(const VkPhysicalDevicePipelineRobustnessProperties *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessProperties_pnext(val->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessProperties_self(val); + + return size; +} + +static inline void +vn_decode_VkPhysicalDevicePipelineRobustnessProperties_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkPhysicalDevicePipelineRobustnessProperties_self(struct vn_cs_decoder *dec, VkPhysicalDevicePipelineRobustnessProperties *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkPipelineRobustnessBufferBehavior(dec, &val->defaultRobustnessStorageBuffers); + vn_decode_VkPipelineRobustnessBufferBehavior(dec, &val->defaultRobustnessUniformBuffers); + vn_decode_VkPipelineRobustnessBufferBehavior(dec, &val->defaultRobustnessVertexInputs); + vn_decode_VkPipelineRobustnessImageBehavior(dec, &val->defaultRobustnessImages); +} + +static inline void +vn_decode_VkPhysicalDevicePipelineRobustnessProperties(struct vn_cs_decoder *dec, VkPhysicalDevicePipelineRobustnessProperties *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES); + + assert(val->sType == stype); + vn_decode_VkPhysicalDevicePipelineRobustnessProperties_pnext(dec, val->pNext); + vn_decode_VkPhysicalDevicePipelineRobustnessProperties_self(dec, val); +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineRobustnessProperties_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineRobustnessProperties_self_partial(const VkPhysicalDevicePipelineRobustnessProperties *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->defaultRobustnessStorageBuffers */ + /* skip val->defaultRobustnessUniformBuffers */ + /* skip val->defaultRobustnessVertexInputs */ + /* skip val->defaultRobustnessImages */ + return size; +} + +static inline size_t +vn_sizeof_VkPhysicalDevicePipelineRobustnessProperties_partial(const VkPhysicalDevicePipelineRobustnessProperties *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessProperties_pnext_partial(val->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessProperties_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkPhysicalDevicePipelineRobustnessProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPhysicalDevicePipelineRobustnessProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePipelineRobustnessProperties *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->defaultRobustnessStorageBuffers */ + /* skip val->defaultRobustnessUniformBuffers */ + /* skip val->defaultRobustnessVertexInputs */ + /* skip val->defaultRobustnessImages */ +} + +static inline void +vn_encode_VkPhysicalDevicePipelineRobustnessProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePipelineRobustnessProperties *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES }); + vn_encode_VkPhysicalDevicePipelineRobustnessProperties_pnext_partial(enc, val->pNext); + vn_encode_VkPhysicalDevicePipelineRobustnessProperties_self_partial(enc, val); +} + /* struct VkPhysicalDeviceProperties2 chain */ static inline size_t @@ -20224,13 +22869,13 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceMultiDrawPropertiesEXT_self((const VkPhysicalDeviceMultiDrawPropertiesEXT *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: if (!vn_cs_renderer_protocol_has_extension(81 /* VK_KHR_push_descriptor */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); - size += vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_self((const VkPhysicalDevicePushDescriptorPropertiesKHR *)pnext); + size += vn_sizeof_VkPhysicalDevicePushDescriptorProperties_self((const VkPhysicalDevicePushDescriptorProperties *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: size += vn_sizeof_simple_pointer(pnext); @@ -20312,13 +22957,21 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceMaintenance4Properties_self((const VkPhysicalDeviceMaintenance4Properties *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_self((const VkPhysicalDeviceMaintenance5PropertiesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Properties_self((const VkPhysicalDeviceMaintenance5Properties *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Properties_self((const VkPhysicalDeviceMaintenance6Properties *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: size += vn_sizeof_simple_pointer(pnext); @@ -20354,13 +23007,13 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self((const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES: if (!vn_cs_renderer_protocol_has_extension(526 /* VK_KHR_vertex_attribute_divisor */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self((const VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorProperties_self((const VkPhysicalDeviceVertexAttributeDivisorProperties *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: if (!vn_cs_renderer_protocol_has_extension(213 /* VK_EXT_pci_bus_info */)) @@ -20400,13 +23053,13 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceSubgroupSizeControlProperties_self((const VkPhysicalDeviceSubgroupSizeControlProperties *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES: if (!vn_cs_renderer_protocol_has_extension(260 /* VK_EXT_line_rasterization */) && !vn_cs_renderer_protocol_has_extension(535 /* VK_KHR_line_rasterization */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_self((const VkPhysicalDeviceLineRasterizationPropertiesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationProperties_self((const VkPhysicalDeviceLineRasterizationProperties *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: size += vn_sizeof_simple_pointer(pnext); @@ -20428,6 +23081,14 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceVulkan13Properties_self((const VkPhysicalDeviceVulkan13Properties *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES: + if (!vn_cs_renderer_protocol_has_api_version(VK_API_VERSION_1_4)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceVulkan14Properties_self((const VkPhysicalDeviceVulkan14Properties *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: if (!vn_cs_renderer_protocol_has_extension(288 /* VK_EXT_custom_border_color */)) break; @@ -20460,6 +23121,14 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self((const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyProperties_self((const VkPhysicalDeviceHostImageCopyProperties *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: if (!vn_cs_renderer_protocol_has_extension(255 /* VK_EXT_provoking_vertex */)) break; @@ -20484,6 +23153,14 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT_self((const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessProperties_self((const VkPhysicalDevicePipelineRobustnessProperties *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -20538,9 +23215,9 @@ vn_decode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_decoder *dec, const voi vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceMultiDrawPropertiesEXT_self(dec, (VkPhysicalDeviceMultiDrawPropertiesEXT *)pnext); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); - vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_self(dec, (VkPhysicalDevicePushDescriptorPropertiesKHR *)pnext); + vn_decode_VkPhysicalDevicePushDescriptorProperties_self(dec, (VkPhysicalDevicePushDescriptorProperties *)pnext); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); @@ -20590,9 +23267,13 @@ vn_decode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_decoder *dec, const voi vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceMaintenance4Properties_self(dec, (VkPhysicalDeviceMaintenance4Properties *)pnext); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); - vn_decode_VkPhysicalDeviceMaintenance5PropertiesKHR_self(dec, (VkPhysicalDeviceMaintenance5PropertiesKHR *)pnext); + vn_decode_VkPhysicalDeviceMaintenance5Properties_self(dec, (VkPhysicalDeviceMaintenance5Properties *)pnext); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: + vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDeviceMaintenance6Properties_self(dec, (VkPhysicalDeviceMaintenance6Properties *)pnext); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); @@ -20614,9 +23295,9 @@ vn_decode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_decoder *dec, const voi vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self(dec, (VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *)pnext); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES: vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); - vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self(dec, (VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *)pnext); + vn_decode_VkPhysicalDeviceVertexAttributeDivisorProperties_self(dec, (VkPhysicalDeviceVertexAttributeDivisorProperties *)pnext); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); @@ -20638,9 +23319,9 @@ vn_decode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_decoder *dec, const voi vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceSubgroupSizeControlProperties_self(dec, (VkPhysicalDeviceSubgroupSizeControlProperties *)pnext); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES: vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); - vn_decode_VkPhysicalDeviceLineRasterizationPropertiesKHR_self(dec, (VkPhysicalDeviceLineRasterizationPropertiesKHR *)pnext); + vn_decode_VkPhysicalDeviceLineRasterizationProperties_self(dec, (VkPhysicalDeviceLineRasterizationProperties *)pnext); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); @@ -20654,6 +23335,10 @@ vn_decode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_decoder *dec, const voi vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceVulkan13Properties_self(dec, (VkPhysicalDeviceVulkan13Properties *)pnext); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES: + vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDeviceVulkan14Properties_self(dec, (VkPhysicalDeviceVulkan14Properties *)pnext); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(dec, (VkPhysicalDeviceCustomBorderColorPropertiesEXT *)pnext); @@ -20670,6 +23355,10 @@ vn_decode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_decoder *dec, const voi vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self(dec, (VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)pnext); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: + vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDeviceHostImageCopyProperties_self(dec, (VkPhysicalDeviceHostImageCopyProperties *)pnext); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceProvokingVertexPropertiesEXT_self(dec, (VkPhysicalDeviceProvokingVertexPropertiesEXT *)pnext); @@ -20682,6 +23371,10 @@ vn_decode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_decoder *dec, const voi vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); vn_decode_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT_self(dec, (VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT *)pnext); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: + vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext); + vn_decode_VkPhysicalDevicePipelineRobustnessProperties_self(dec, (VkPhysicalDevicePipelineRobustnessProperties *)pnext); + break; default: assert(false); break; @@ -20723,13 +23416,13 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceMultiDrawPropertiesEXT_self_partial((const VkPhysicalDeviceMultiDrawPropertiesEXT *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: if (!vn_cs_renderer_protocol_has_extension(81 /* VK_KHR_push_descriptor */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); - size += vn_sizeof_VkPhysicalDevicePushDescriptorPropertiesKHR_self_partial((const VkPhysicalDevicePushDescriptorPropertiesKHR *)pnext); + size += vn_sizeof_VkPhysicalDevicePushDescriptorProperties_self_partial((const VkPhysicalDevicePushDescriptorProperties *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: size += vn_sizeof_simple_pointer(pnext); @@ -20811,13 +23504,21 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceMaintenance4Properties_self_partial((const VkPhysicalDeviceMaintenance4Properties *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceMaintenance5PropertiesKHR_self_partial((const VkPhysicalDeviceMaintenance5PropertiesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceMaintenance5Properties_self_partial((const VkPhysicalDeviceMaintenance5Properties *)pnext); + return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceMaintenance6Properties_self_partial((const VkPhysicalDeviceMaintenance6Properties *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: size += vn_sizeof_simple_pointer(pnext); @@ -20853,13 +23554,13 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial((const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES: if (!vn_cs_renderer_protocol_has_extension(526 /* VK_KHR_vertex_attribute_divisor */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self_partial((const VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorProperties_self_partial((const VkPhysicalDeviceVertexAttributeDivisorProperties *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: if (!vn_cs_renderer_protocol_has_extension(213 /* VK_EXT_pci_bus_info */)) @@ -20899,13 +23600,13 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceSubgroupSizeControlProperties_self_partial((const VkPhysicalDeviceSubgroupSizeControlProperties *)pnext); return size; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES: if (!vn_cs_renderer_protocol_has_extension(260 /* VK_EXT_line_rasterization */) && !vn_cs_renderer_protocol_has_extension(535 /* VK_KHR_line_rasterization */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); - size += vn_sizeof_VkPhysicalDeviceLineRasterizationPropertiesKHR_self_partial((const VkPhysicalDeviceLineRasterizationPropertiesKHR *)pnext); + size += vn_sizeof_VkPhysicalDeviceLineRasterizationProperties_self_partial((const VkPhysicalDeviceLineRasterizationProperties *)pnext); return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: size += vn_sizeof_simple_pointer(pnext); @@ -20927,6 +23628,14 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceVulkan13Properties_self_partial((const VkPhysicalDeviceVulkan13Properties *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES: + if (!vn_cs_renderer_protocol_has_api_version(VK_API_VERSION_1_4)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceVulkan14Properties_self_partial((const VkPhysicalDeviceVulkan14Properties *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: if (!vn_cs_renderer_protocol_has_extension(288 /* VK_EXT_custom_border_color */)) break; @@ -20959,6 +23668,14 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self_partial((const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDeviceHostImageCopyProperties_self_partial((const VkPhysicalDeviceHostImageCopyProperties *)pnext); + return size; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: if (!vn_cs_renderer_protocol_has_extension(255 /* VK_EXT_provoking_vertex */)) break; @@ -20983,6 +23700,14 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(const void *val) size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); size += vn_sizeof_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT_self_partial((const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT *)pnext); return size; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkPhysicalDevicePipelineRobustnessProperties_self_partial((const VkPhysicalDevicePipelineRobustnessProperties *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -21029,13 +23754,13 @@ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(struct vn_cs_encoder *enc, c vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceMultiDrawPropertiesEXT_self_partial(enc, (const VkPhysicalDeviceMultiDrawPropertiesEXT *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: if (!vn_cs_renderer_protocol_has_extension(81 /* VK_KHR_push_descriptor */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); - vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_self_partial(enc, (const VkPhysicalDevicePushDescriptorPropertiesKHR *)pnext); + vn_encode_VkPhysicalDevicePushDescriptorProperties_self_partial(enc, (const VkPhysicalDevicePushDescriptorProperties *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: vn_encode_simple_pointer(enc, pnext); @@ -21117,13 +23842,21 @@ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(struct vn_cs_encoder *enc, c vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceMaintenance4Properties_self_partial(enc, (const VkPhysicalDeviceMaintenance4Properties *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceMaintenance5PropertiesKHR_self_partial(enc, (const VkPhysicalDeviceMaintenance5PropertiesKHR *)pnext); + vn_encode_VkPhysicalDeviceMaintenance5Properties_self_partial(enc, (const VkPhysicalDeviceMaintenance5Properties *)pnext); + return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceMaintenance6Properties_self_partial(enc, (const VkPhysicalDeviceMaintenance6Properties *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: vn_encode_simple_pointer(enc, pnext); @@ -21159,13 +23892,13 @@ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(struct vn_cs_encoder *enc, c vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial(enc, (const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES: if (!vn_cs_renderer_protocol_has_extension(526 /* VK_KHR_vertex_attribute_divisor */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR_self_partial(enc, (const VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *)pnext); + vn_encode_VkPhysicalDeviceVertexAttributeDivisorProperties_self_partial(enc, (const VkPhysicalDeviceVertexAttributeDivisorProperties *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: if (!vn_cs_renderer_protocol_has_extension(213 /* VK_EXT_pci_bus_info */)) @@ -21205,13 +23938,13 @@ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(struct vn_cs_encoder *enc, c vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceSubgroupSizeControlProperties_self_partial(enc, (const VkPhysicalDeviceSubgroupSizeControlProperties *)pnext); return; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES: if (!vn_cs_renderer_protocol_has_extension(260 /* VK_EXT_line_rasterization */) && !vn_cs_renderer_protocol_has_extension(535 /* VK_KHR_line_rasterization */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); - vn_encode_VkPhysicalDeviceLineRasterizationPropertiesKHR_self_partial(enc, (const VkPhysicalDeviceLineRasterizationPropertiesKHR *)pnext); + vn_encode_VkPhysicalDeviceLineRasterizationProperties_self_partial(enc, (const VkPhysicalDeviceLineRasterizationProperties *)pnext); return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: vn_encode_simple_pointer(enc, pnext); @@ -21233,6 +23966,14 @@ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(struct vn_cs_encoder *enc, c vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceVulkan13Properties_self_partial(enc, (const VkPhysicalDeviceVulkan13Properties *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES: + if (!vn_cs_renderer_protocol_has_api_version(VK_API_VERSION_1_4)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceVulkan14Properties_self_partial(enc, (const VkPhysicalDeviceVulkan14Properties *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: if (!vn_cs_renderer_protocol_has_extension(288 /* VK_EXT_custom_border_color */)) break; @@ -21265,6 +24006,14 @@ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(struct vn_cs_encoder *enc, c vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self_partial(enc, (const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDeviceHostImageCopyProperties_self_partial(enc, (const VkPhysicalDeviceHostImageCopyProperties *)pnext); + return; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: if (!vn_cs_renderer_protocol_has_extension(255 /* VK_EXT_provoking_vertex */)) break; @@ -21289,6 +24038,14 @@ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(struct vn_cs_encoder *enc, c vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); vn_encode_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT_self_partial(enc, (const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT *)pnext); return; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext); + vn_encode_VkPhysicalDevicePipelineRobustnessProperties_self_partial(enc, (const VkPhysicalDevicePipelineRobustnessProperties *)pnext); + return; default: /* ignore unknown/unsupported struct */ break; @@ -22532,6 +25289,118 @@ vn_encode_VkSamplerYcbcrConversionImageFormatProperties_partial(struct vn_cs_enc vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self_partial(enc, val); } +/* struct VkHostImageCopyDevicePerformanceQuery chain */ + +static inline size_t +vn_sizeof_VkHostImageCopyDevicePerformanceQuery_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkHostImageCopyDevicePerformanceQuery_self(const VkHostImageCopyDevicePerformanceQuery *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkBool32(&val->optimalDeviceAccess); + size += vn_sizeof_VkBool32(&val->identicalMemoryLayout); + return size; +} + +static inline size_t +vn_sizeof_VkHostImageCopyDevicePerformanceQuery(const VkHostImageCopyDevicePerformanceQuery *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkHostImageCopyDevicePerformanceQuery_pnext(val->pNext); + size += vn_sizeof_VkHostImageCopyDevicePerformanceQuery_self(val); + + return size; +} + +static inline void +vn_decode_VkHostImageCopyDevicePerformanceQuery_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkHostImageCopyDevicePerformanceQuery_self(struct vn_cs_decoder *dec, VkHostImageCopyDevicePerformanceQuery *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkBool32(dec, &val->optimalDeviceAccess); + vn_decode_VkBool32(dec, &val->identicalMemoryLayout); +} + +static inline void +vn_decode_VkHostImageCopyDevicePerformanceQuery(struct vn_cs_decoder *dec, VkHostImageCopyDevicePerformanceQuery *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY); + + assert(val->sType == stype); + vn_decode_VkHostImageCopyDevicePerformanceQuery_pnext(dec, val->pNext); + vn_decode_VkHostImageCopyDevicePerformanceQuery_self(dec, val); +} + +static inline size_t +vn_sizeof_VkHostImageCopyDevicePerformanceQuery_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkHostImageCopyDevicePerformanceQuery_self_partial(const VkHostImageCopyDevicePerformanceQuery *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->optimalDeviceAccess */ + /* skip val->identicalMemoryLayout */ + return size; +} + +static inline size_t +vn_sizeof_VkHostImageCopyDevicePerformanceQuery_partial(const VkHostImageCopyDevicePerformanceQuery *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkHostImageCopyDevicePerformanceQuery_pnext_partial(val->pNext); + size += vn_sizeof_VkHostImageCopyDevicePerformanceQuery_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkHostImageCopyDevicePerformanceQuery_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkHostImageCopyDevicePerformanceQuery_self_partial(struct vn_cs_encoder *enc, const VkHostImageCopyDevicePerformanceQuery *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->optimalDeviceAccess */ + /* skip val->identicalMemoryLayout */ +} + +static inline void +vn_encode_VkHostImageCopyDevicePerformanceQuery_partial(struct vn_cs_encoder *enc, const VkHostImageCopyDevicePerformanceQuery *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY }); + vn_encode_VkHostImageCopyDevicePerformanceQuery_pnext_partial(enc, val->pNext); + vn_encode_VkHostImageCopyDevicePerformanceQuery_self_partial(enc, val); +} + /* struct VkImageFormatProperties2 chain */ static inline size_t @@ -22554,6 +25423,14 @@ vn_sizeof_VkImageFormatProperties2_pnext(const void *val) size += vn_sizeof_VkImageFormatProperties2_pnext(pnext->pNext); size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self((const VkSamplerYcbcrConversionImageFormatProperties *)pnext); return size; + case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkImageFormatProperties2_pnext(pnext->pNext); + size += vn_sizeof_VkHostImageCopyDevicePerformanceQuery_self((const VkHostImageCopyDevicePerformanceQuery *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -22612,6 +25489,10 @@ vn_decode_VkImageFormatProperties2_pnext(struct vn_cs_decoder *dec, const void * vn_decode_VkImageFormatProperties2_pnext(dec, pnext->pNext); vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self(dec, (VkSamplerYcbcrConversionImageFormatProperties *)pnext); break; + case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: + vn_decode_VkImageFormatProperties2_pnext(dec, pnext->pNext); + vn_decode_VkHostImageCopyDevicePerformanceQuery_self(dec, (VkHostImageCopyDevicePerformanceQuery *)pnext); + break; default: assert(false); break; @@ -22657,6 +25538,14 @@ vn_sizeof_VkImageFormatProperties2_pnext_partial(const void *val) size += vn_sizeof_VkImageFormatProperties2_pnext_partial(pnext->pNext); size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self_partial((const VkSamplerYcbcrConversionImageFormatProperties *)pnext); return size; + case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkImageFormatProperties2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkHostImageCopyDevicePerformanceQuery_self_partial((const VkHostImageCopyDevicePerformanceQuery *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -22707,6 +25596,14 @@ vn_encode_VkImageFormatProperties2_pnext_partial(struct vn_cs_encoder *enc, cons vn_encode_VkImageFormatProperties2_pnext_partial(enc, pnext->pNext); vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self_partial(enc, (const VkSamplerYcbcrConversionImageFormatProperties *)pnext); return; + case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkImageFormatProperties2_pnext_partial(enc, pnext->pNext); + vn_encode_VkHostImageCopyDevicePerformanceQuery_self_partial(enc, (const VkHostImageCopyDevicePerformanceQuery *)pnext); + return; default: /* ignore unknown/unsupported struct */ break; @@ -22733,12 +25630,147 @@ vn_encode_VkImageFormatProperties2_partial(struct vn_cs_encoder *enc, const VkIm vn_encode_VkImageFormatProperties2_self_partial(enc, val); } +/* struct VkQueueFamilyGlobalPriorityProperties chain */ + +static inline size_t +vn_sizeof_VkQueueFamilyGlobalPriorityProperties_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkQueueFamilyGlobalPriorityProperties_self(const VkQueueFamilyGlobalPriorityProperties *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_uint32_t(&val->priorityCount); + size += vn_sizeof_array_size(VK_MAX_GLOBAL_PRIORITY_SIZE); + size += vn_sizeof_VkQueueGlobalPriority_array(val->priorities, VK_MAX_GLOBAL_PRIORITY_SIZE); + return size; +} + +static inline size_t +vn_sizeof_VkQueueFamilyGlobalPriorityProperties(const VkQueueFamilyGlobalPriorityProperties *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkQueueFamilyGlobalPriorityProperties_pnext(val->pNext); + size += vn_sizeof_VkQueueFamilyGlobalPriorityProperties_self(val); + + return size; +} + +static inline void +vn_decode_VkQueueFamilyGlobalPriorityProperties_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkQueueFamilyGlobalPriorityProperties_self(struct vn_cs_decoder *dec, VkQueueFamilyGlobalPriorityProperties *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_uint32_t(dec, &val->priorityCount); + { + const size_t array_size = vn_decode_array_size(dec, VK_MAX_GLOBAL_PRIORITY_SIZE); + vn_decode_VkQueueGlobalPriority_array(dec, val->priorities, array_size); + } +} + +static inline void +vn_decode_VkQueueFamilyGlobalPriorityProperties(struct vn_cs_decoder *dec, VkQueueFamilyGlobalPriorityProperties *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES); + + assert(val->sType == stype); + vn_decode_VkQueueFamilyGlobalPriorityProperties_pnext(dec, val->pNext); + vn_decode_VkQueueFamilyGlobalPriorityProperties_self(dec, val); +} + +static inline size_t +vn_sizeof_VkQueueFamilyGlobalPriorityProperties_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkQueueFamilyGlobalPriorityProperties_self_partial(const VkQueueFamilyGlobalPriorityProperties *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->priorityCount */ + /* skip val->priorities */ + return size; +} + +static inline size_t +vn_sizeof_VkQueueFamilyGlobalPriorityProperties_partial(const VkQueueFamilyGlobalPriorityProperties *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkQueueFamilyGlobalPriorityProperties_pnext_partial(val->pNext); + size += vn_sizeof_VkQueueFamilyGlobalPriorityProperties_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkQueueFamilyGlobalPriorityProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkQueueFamilyGlobalPriorityProperties_self_partial(struct vn_cs_encoder *enc, const VkQueueFamilyGlobalPriorityProperties *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->priorityCount */ + /* skip val->priorities */ +} + +static inline void +vn_encode_VkQueueFamilyGlobalPriorityProperties_partial(struct vn_cs_encoder *enc, const VkQueueFamilyGlobalPriorityProperties *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES }); + vn_encode_VkQueueFamilyGlobalPriorityProperties_pnext_partial(enc, val->pNext); + vn_encode_VkQueueFamilyGlobalPriorityProperties_self_partial(enc, val); +} + /* struct VkQueueFamilyProperties2 chain */ static inline size_t vn_sizeof_VkQueueFamilyProperties2_pnext(const void *val) { - /* no known/supported struct */ + const VkBaseInStructure *pnext = val; + size_t size = 0; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES: + if (!vn_cs_renderer_protocol_has_extension(189 /* VK_KHR_global_priority */) && !vn_cs_renderer_protocol_has_extension(389 /* VK_EXT_global_priority_query */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkQueueFamilyProperties2_pnext(pnext->pNext); + size += vn_sizeof_VkQueueFamilyGlobalPriorityProperties_self((const VkQueueFamilyGlobalPriorityProperties *)pnext); + return size; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + return vn_sizeof_simple_pointer(NULL); } @@ -22766,9 +25798,30 @@ vn_sizeof_VkQueueFamilyProperties2(const VkQueueFamilyProperties2 *val) static inline void vn_decode_VkQueueFamilyProperties2_pnext(struct vn_cs_decoder *dec, const void *val) { - /* no known/supported struct */ - if (vn_decode_simple_pointer(dec)) + VkBaseOutStructure *pnext = (VkBaseOutStructure *)val; + VkStructureType stype; + + if (!vn_decode_simple_pointer(dec)) + return; + + vn_decode_VkStructureType(dec, &stype); + while (true) { + assert(pnext); + if (pnext->sType == stype) + break; + + pnext = pnext->pNext; + } + + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES: + vn_decode_VkQueueFamilyProperties2_pnext(dec, pnext->pNext); + vn_decode_VkQueueFamilyGlobalPriorityProperties_self(dec, (VkQueueFamilyGlobalPriorityProperties *)pnext); + break; + default: assert(false); + break; + } } static inline void @@ -22793,7 +25846,26 @@ vn_decode_VkQueueFamilyProperties2(struct vn_cs_decoder *dec, VkQueueFamilyPrope static inline size_t vn_sizeof_VkQueueFamilyProperties2_pnext_partial(const void *val) { - /* no known/supported struct */ + const VkBaseInStructure *pnext = val; + size_t size = 0; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES: + if (!vn_cs_renderer_protocol_has_extension(189 /* VK_KHR_global_priority */) && !vn_cs_renderer_protocol_has_extension(389 /* VK_EXT_global_priority_query */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkQueueFamilyProperties2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkQueueFamilyGlobalPriorityProperties_self_partial((const VkQueueFamilyGlobalPriorityProperties *)pnext); + return size; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + return vn_sizeof_simple_pointer(NULL); } @@ -22821,7 +25893,25 @@ vn_sizeof_VkQueueFamilyProperties2_partial(const VkQueueFamilyProperties2 *val) static inline void vn_encode_VkQueueFamilyProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val) { - /* no known/supported struct */ + const VkBaseInStructure *pnext = val; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES: + if (!vn_cs_renderer_protocol_has_extension(189 /* VK_KHR_global_priority */) && !vn_cs_renderer_protocol_has_extension(389 /* VK_EXT_global_priority_query */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkQueueFamilyProperties2_pnext_partial(enc, pnext->pNext); + vn_encode_VkQueueFamilyGlobalPriorityProperties_self_partial(enc, (const VkQueueFamilyGlobalPriorityProperties *)pnext); + return; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + vn_encode_simple_pointer(enc, NULL); } @@ -23325,13 +26415,13 @@ vn_sizeof_VkPhysicalDeviceExternalBufferInfo_pnext(const void *val) while (pnext) { switch ((int32_t)pnext->sType) { - case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPhysicalDeviceExternalBufferInfo_pnext(pnext->pNext); - size += vn_sizeof_VkBufferUsageFlags2CreateInfoKHR_self((const VkBufferUsageFlags2CreateInfoKHR *)pnext); + size += vn_sizeof_VkBufferUsageFlags2CreateInfo_self((const VkBufferUsageFlags2CreateInfo *)pnext); return size; default: /* ignore unknown/unsupported struct */ @@ -23373,13 +26463,13 @@ vn_encode_VkPhysicalDeviceExternalBufferInfo_pnext(struct vn_cs_encoder *enc, co while (pnext) { switch ((int32_t)pnext->sType) { - case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPhysicalDeviceExternalBufferInfo_pnext(enc, pnext->pNext); - vn_encode_VkBufferUsageFlags2CreateInfoKHR_self(enc, (const VkBufferUsageFlags2CreateInfoKHR *)pnext); + vn_encode_VkBufferUsageFlags2CreateInfo_self(enc, (const VkBufferUsageFlags2CreateInfo *)pnext); return; default: /* ignore unknown/unsupported struct */ diff --git a/src/virtio/venus-protocol/vn_protocol_driver_device_memory.h b/src/virtio/venus-protocol/vn_protocol_driver_device_memory.h index 334337e5b64..4e232467fa6 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_device_memory.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_device_memory.h @@ -18,6 +18,7 @@ * vkMapMemory * vkGetMemoryFdKHR * vkGetMemoryFdPropertiesKHR + * vkMapMemory2 */ /* struct VkExportMemoryAllocateInfo chain */ @@ -537,6 +538,61 @@ vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo(struct vn_cs_encoder *enc, cons vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(enc, val); } +/* struct VkMemoryUnmapInfo chain */ + +static inline size_t +vn_sizeof_VkMemoryUnmapInfo_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkMemoryUnmapInfo_self(const VkMemoryUnmapInfo *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkFlags(&val->flags); + size += vn_sizeof_VkDeviceMemory(&val->memory); + return size; +} + +static inline size_t +vn_sizeof_VkMemoryUnmapInfo(const VkMemoryUnmapInfo *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkMemoryUnmapInfo_pnext(val->pNext); + size += vn_sizeof_VkMemoryUnmapInfo_self(val); + + return size; +} + +static inline void +vn_encode_VkMemoryUnmapInfo_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkMemoryUnmapInfo_self(struct vn_cs_encoder *enc, const VkMemoryUnmapInfo *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkFlags(enc, &val->flags); + vn_encode_VkDeviceMemory(enc, &val->memory); +} + +static inline void +vn_encode_VkMemoryUnmapInfo(struct vn_cs_encoder *enc, const VkMemoryUnmapInfo *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO }); + vn_encode_VkMemoryUnmapInfo_pnext(enc, val->pNext); + vn_encode_VkMemoryUnmapInfo_self(enc, val); +} + /* struct VkMemoryResourceAllocationSizePropertiesMESA chain */ static inline size_t @@ -1231,6 +1287,59 @@ static inline uint64_t vn_decode_vkGetDeviceMemoryOpaqueCaptureAddress_reply(str return ret; } +static inline size_t vn_sizeof_vkUnmapMemory2(VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUnmapMemory2_EXT; + const VkFlags cmd_flags = 0; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); + + cmd_size += vn_sizeof_VkDevice(&device); + cmd_size += vn_sizeof_simple_pointer(pMemoryUnmapInfo); + if (pMemoryUnmapInfo) + cmd_size += vn_sizeof_VkMemoryUnmapInfo(pMemoryUnmapInfo); + + return cmd_size; +} + +static inline void vn_encode_vkUnmapMemory2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUnmapMemory2_EXT; + + vn_encode_VkCommandTypeEXT(enc, &cmd_type); + vn_encode_VkFlags(enc, &cmd_flags); + + vn_encode_VkDevice(enc, &device); + if (vn_encode_simple_pointer(enc, pMemoryUnmapInfo)) + vn_encode_VkMemoryUnmapInfo(enc, pMemoryUnmapInfo); +} + +static inline size_t vn_sizeof_vkUnmapMemory2_reply(VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUnmapMemory2_EXT; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); + + VkResult ret; + cmd_size += vn_sizeof_VkResult(&ret); + /* skip device */ + /* skip pMemoryUnmapInfo */ + + return cmd_size; +} + +static inline VkResult vn_decode_vkUnmapMemory2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo) +{ + VkCommandTypeEXT command_type; + vn_decode_VkCommandTypeEXT(dec, &command_type); + assert(command_type == VK_COMMAND_TYPE_vkUnmapMemory2_EXT); + + VkResult ret; + vn_decode_VkResult(dec, &ret); + /* skip device */ + /* skip pMemoryUnmapInfo */ + + return ret; +} + static inline size_t vn_sizeof_vkGetMemoryResourcePropertiesMESA(VkDevice device, uint32_t resourceId, VkMemoryResourcePropertiesMESA* pMemoryResourceProperties) { const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetMemoryResourcePropertiesMESA_EXT; @@ -1441,6 +1550,27 @@ static inline void vn_submit_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_rin } } +static inline void vn_submit_vkUnmapMemory2(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo, struct vn_ring_submit_command *submit) +{ + uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; + void *cmd_data = local_cmd_data; + size_t cmd_size = vn_sizeof_vkUnmapMemory2(device, pMemoryUnmapInfo); + if (cmd_size > sizeof(local_cmd_data)) { + cmd_data = malloc(cmd_size); + if (!cmd_data) + cmd_size = 0; + } + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkUnmapMemory2_reply(device, pMemoryUnmapInfo) : 0; + + struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); + if (cmd_size) { + vn_encode_vkUnmapMemory2(enc, cmd_flags, device, pMemoryUnmapInfo); + vn_ring_submit_command(vn_ring, submit); + if (cmd_data != local_cmd_data) + free(cmd_data); + } +} + static inline void vn_submit_vkGetMemoryResourcePropertiesMESA(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t resourceId, VkMemoryResourcePropertiesMESA* pMemoryResourceProperties, struct vn_ring_submit_command *submit) { uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; @@ -1607,6 +1737,28 @@ static inline void vn_async_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_ring vn_submit_vkGetDeviceMemoryOpaqueCaptureAddress(vn_ring, 0, device, pInfo, &submit); } +static inline VkResult vn_call_vkUnmapMemory2(struct vn_ring *vn_ring, VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo) +{ + VN_TRACE_FUNC(); + + struct vn_ring_submit_command submit; + vn_submit_vkUnmapMemory2(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pMemoryUnmapInfo, &submit); + struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); + if (dec) { + const VkResult ret = vn_decode_vkUnmapMemory2_reply(dec, device, pMemoryUnmapInfo); + vn_ring_free_command_reply(vn_ring, &submit); + return ret; + } else { + return VK_ERROR_OUT_OF_HOST_MEMORY; + } +} + +static inline void vn_async_vkUnmapMemory2(struct vn_ring *vn_ring, VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo) +{ + struct vn_ring_submit_command submit; + vn_submit_vkUnmapMemory2(vn_ring, 0, device, pMemoryUnmapInfo, &submit); +} + static inline VkResult vn_call_vkGetMemoryResourcePropertiesMESA(struct vn_ring *vn_ring, VkDevice device, uint32_t resourceId, VkMemoryResourcePropertiesMESA* pMemoryResourceProperties) { VN_TRACE_FUNC(); diff --git a/src/virtio/venus-protocol/vn_protocol_driver_image.h b/src/virtio/venus-protocol/vn_protocol_driver_image.h index 9ab1a39716c..9eb3789d1bc 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_image.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_image.h @@ -11,6 +11,13 @@ #include "vn_ring.h" #include "vn_protocol_driver_structs.h" +/* + * These structs/unions/commands are not included + * + * vkCopyMemoryToImage + * vkCopyImageToMemory + */ + /* struct VkSparseImageMemoryRequirements */ static inline size_t @@ -632,6 +639,14 @@ vn_sizeof_VkBindImageMemoryInfo_pnext(const void *val) size += vn_sizeof_VkBindImageMemoryInfo_pnext(pnext->pNext); size += vn_sizeof_VkBindImagePlaneMemoryInfo_self((const VkBindImagePlaneMemoryInfo *)pnext); return size; + case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkBindImageMemoryInfo_pnext(pnext->pNext); + size += vn_sizeof_VkBindMemoryStatus_self((const VkBindMemoryStatus *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -684,6 +699,14 @@ vn_encode_VkBindImageMemoryInfo_pnext(struct vn_cs_encoder *enc, const void *val vn_encode_VkBindImageMemoryInfo_pnext(enc, pnext->pNext); vn_encode_VkBindImagePlaneMemoryInfo_self(enc, (const VkBindImagePlaneMemoryInfo *)pnext); return; + case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: + if (!vn_cs_renderer_protocol_has_extension(546 /* VK_KHR_maintenance6 */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkBindImageMemoryInfo_pnext(enc, pnext->pNext); + vn_encode_VkBindMemoryStatus_self(enc, (const VkBindMemoryStatus *)pnext); + return; default: /* ignore unknown/unsupported struct */ break; @@ -1178,17 +1201,153 @@ vn_encode_VkImageDrmFormatModifierPropertiesEXT_partial(struct vn_cs_encoder *en vn_encode_VkImageDrmFormatModifierPropertiesEXT_self_partial(enc, val); } -/* struct VkImageSubresource2KHR chain */ +/* struct VkCopyImageToImageInfo chain */ static inline size_t -vn_sizeof_VkImageSubresource2KHR_pnext(const void *val) +vn_sizeof_VkCopyImageToImageInfo_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkImageSubresource2KHR_self(const VkImageSubresource2KHR *val) +vn_sizeof_VkCopyImageToImageInfo_self(const VkCopyImageToImageInfo *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkFlags(&val->flags); + size += vn_sizeof_VkImage(&val->srcImage); + size += vn_sizeof_VkImageLayout(&val->srcImageLayout); + size += vn_sizeof_VkImage(&val->dstImage); + size += vn_sizeof_VkImageLayout(&val->dstImageLayout); + size += vn_sizeof_uint32_t(&val->regionCount); + if (val->pRegions) { + size += vn_sizeof_array_size(val->regionCount); + for (uint32_t i = 0; i < val->regionCount; i++) + size += vn_sizeof_VkImageCopy2(&val->pRegions[i]); + } else { + size += vn_sizeof_array_size(0); + } + return size; +} + +static inline size_t +vn_sizeof_VkCopyImageToImageInfo(const VkCopyImageToImageInfo *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkCopyImageToImageInfo_pnext(val->pNext); + size += vn_sizeof_VkCopyImageToImageInfo_self(val); + + return size; +} + +static inline void +vn_encode_VkCopyImageToImageInfo_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkCopyImageToImageInfo_self(struct vn_cs_encoder *enc, const VkCopyImageToImageInfo *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkFlags(enc, &val->flags); + vn_encode_VkImage(enc, &val->srcImage); + vn_encode_VkImageLayout(enc, &val->srcImageLayout); + vn_encode_VkImage(enc, &val->dstImage); + vn_encode_VkImageLayout(enc, &val->dstImageLayout); + vn_encode_uint32_t(enc, &val->regionCount); + if (val->pRegions) { + vn_encode_array_size(enc, val->regionCount); + for (uint32_t i = 0; i < val->regionCount; i++) + vn_encode_VkImageCopy2(enc, &val->pRegions[i]); + } else { + vn_encode_array_size(enc, 0); + } +} + +static inline void +vn_encode_VkCopyImageToImageInfo(struct vn_cs_encoder *enc, const VkCopyImageToImageInfo *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO }); + vn_encode_VkCopyImageToImageInfo_pnext(enc, val->pNext); + vn_encode_VkCopyImageToImageInfo_self(enc, val); +} + +/* struct VkHostImageLayoutTransitionInfo chain */ + +static inline size_t +vn_sizeof_VkHostImageLayoutTransitionInfo_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkHostImageLayoutTransitionInfo_self(const VkHostImageLayoutTransitionInfo *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkImage(&val->image); + size += vn_sizeof_VkImageLayout(&val->oldLayout); + size += vn_sizeof_VkImageLayout(&val->newLayout); + size += vn_sizeof_VkImageSubresourceRange(&val->subresourceRange); + return size; +} + +static inline size_t +vn_sizeof_VkHostImageLayoutTransitionInfo(const VkHostImageLayoutTransitionInfo *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkHostImageLayoutTransitionInfo_pnext(val->pNext); + size += vn_sizeof_VkHostImageLayoutTransitionInfo_self(val); + + return size; +} + +static inline void +vn_encode_VkHostImageLayoutTransitionInfo_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkHostImageLayoutTransitionInfo_self(struct vn_cs_encoder *enc, const VkHostImageLayoutTransitionInfo *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkImage(enc, &val->image); + vn_encode_VkImageLayout(enc, &val->oldLayout); + vn_encode_VkImageLayout(enc, &val->newLayout); + vn_encode_VkImageSubresourceRange(enc, &val->subresourceRange); +} + +static inline void +vn_encode_VkHostImageLayoutTransitionInfo(struct vn_cs_encoder *enc, const VkHostImageLayoutTransitionInfo *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO }); + vn_encode_VkHostImageLayoutTransitionInfo_pnext(enc, val->pNext); + vn_encode_VkHostImageLayoutTransitionInfo_self(enc, val); +} + +/* struct VkImageSubresource2 chain */ + +static inline size_t +vn_sizeof_VkImageSubresource2_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkImageSubresource2_self(const VkImageSubresource2 *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -1197,51 +1356,178 @@ vn_sizeof_VkImageSubresource2KHR_self(const VkImageSubresource2KHR *val) } static inline size_t -vn_sizeof_VkImageSubresource2KHR(const VkImageSubresource2KHR *val) +vn_sizeof_VkImageSubresource2(const VkImageSubresource2 *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkImageSubresource2KHR_pnext(val->pNext); - size += vn_sizeof_VkImageSubresource2KHR_self(val); + size += vn_sizeof_VkImageSubresource2_pnext(val->pNext); + size += vn_sizeof_VkImageSubresource2_self(val); return size; } static inline void -vn_encode_VkImageSubresource2KHR_pnext(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkImageSubresource2_pnext(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkImageSubresource2KHR_self(struct vn_cs_encoder *enc, const VkImageSubresource2KHR *val) +vn_encode_VkImageSubresource2_self(struct vn_cs_encoder *enc, const VkImageSubresource2 *val) { /* skip val->{sType,pNext} */ vn_encode_VkImageSubresource(enc, &val->imageSubresource); } static inline void -vn_encode_VkImageSubresource2KHR(struct vn_cs_encoder *enc, const VkImageSubresource2KHR *val) +vn_encode_VkImageSubresource2(struct vn_cs_encoder *enc, const VkImageSubresource2 *val) { - assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR }); - vn_encode_VkImageSubresource2KHR_pnext(enc, val->pNext); - vn_encode_VkImageSubresource2KHR_self(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2 }); + vn_encode_VkImageSubresource2_pnext(enc, val->pNext); + vn_encode_VkImageSubresource2_self(enc, val); } -/* struct VkSubresourceLayout2KHR chain */ +/* struct VkSubresourceHostMemcpySize chain */ static inline size_t -vn_sizeof_VkSubresourceLayout2KHR_pnext(const void *val) +vn_sizeof_VkSubresourceHostMemcpySize_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkSubresourceLayout2KHR_self(const VkSubresourceLayout2KHR *val) +vn_sizeof_VkSubresourceHostMemcpySize_self(const VkSubresourceHostMemcpySize *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkDeviceSize(&val->size); + return size; +} + +static inline size_t +vn_sizeof_VkSubresourceHostMemcpySize(const VkSubresourceHostMemcpySize *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkSubresourceHostMemcpySize_pnext(val->pNext); + size += vn_sizeof_VkSubresourceHostMemcpySize_self(val); + + return size; +} + +static inline void +vn_decode_VkSubresourceHostMemcpySize_pnext(struct vn_cs_decoder *dec, const void *val) +{ + /* no known/supported struct */ + if (vn_decode_simple_pointer(dec)) + assert(false); +} + +static inline void +vn_decode_VkSubresourceHostMemcpySize_self(struct vn_cs_decoder *dec, VkSubresourceHostMemcpySize *val) +{ + /* skip val->{sType,pNext} */ + vn_decode_VkDeviceSize(dec, &val->size); +} + +static inline void +vn_decode_VkSubresourceHostMemcpySize(struct vn_cs_decoder *dec, VkSubresourceHostMemcpySize *val) +{ + VkStructureType stype; + vn_decode_VkStructureType(dec, &stype); + assert(stype == VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE); + + assert(val->sType == stype); + vn_decode_VkSubresourceHostMemcpySize_pnext(dec, val->pNext); + vn_decode_VkSubresourceHostMemcpySize_self(dec, val); +} + +static inline size_t +vn_sizeof_VkSubresourceHostMemcpySize_pnext_partial(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkSubresourceHostMemcpySize_self_partial(const VkSubresourceHostMemcpySize *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + /* skip val->size */ + return size; +} + +static inline size_t +vn_sizeof_VkSubresourceHostMemcpySize_partial(const VkSubresourceHostMemcpySize *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkSubresourceHostMemcpySize_pnext_partial(val->pNext); + size += vn_sizeof_VkSubresourceHostMemcpySize_self_partial(val); + + return size; +} + +static inline void +vn_encode_VkSubresourceHostMemcpySize_pnext_partial(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkSubresourceHostMemcpySize_self_partial(struct vn_cs_encoder *enc, const VkSubresourceHostMemcpySize *val) +{ + /* skip val->{sType,pNext} */ + /* skip val->size */ +} + +static inline void +vn_encode_VkSubresourceHostMemcpySize_partial(struct vn_cs_encoder *enc, const VkSubresourceHostMemcpySize *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE }); + vn_encode_VkSubresourceHostMemcpySize_pnext_partial(enc, val->pNext); + vn_encode_VkSubresourceHostMemcpySize_self_partial(enc, val); +} + +/* struct VkSubresourceLayout2 chain */ + +static inline size_t +vn_sizeof_VkSubresourceLayout2_pnext(const void *val) +{ + const VkBaseInStructure *pnext = val; + size_t size = 0; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkSubresourceLayout2_pnext(pnext->pNext); + size += vn_sizeof_VkSubresourceHostMemcpySize_self((const VkSubresourceHostMemcpySize *)pnext); + return size; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkSubresourceLayout2_self(const VkSubresourceLayout2 *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -1250,53 +1536,93 @@ vn_sizeof_VkSubresourceLayout2KHR_self(const VkSubresourceLayout2KHR *val) } static inline size_t -vn_sizeof_VkSubresourceLayout2KHR(const VkSubresourceLayout2KHR *val) +vn_sizeof_VkSubresourceLayout2(const VkSubresourceLayout2 *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkSubresourceLayout2KHR_pnext(val->pNext); - size += vn_sizeof_VkSubresourceLayout2KHR_self(val); + size += vn_sizeof_VkSubresourceLayout2_pnext(val->pNext); + size += vn_sizeof_VkSubresourceLayout2_self(val); return size; } static inline void -vn_decode_VkSubresourceLayout2KHR_pnext(struct vn_cs_decoder *dec, const void *val) +vn_decode_VkSubresourceLayout2_pnext(struct vn_cs_decoder *dec, const void *val) { - /* no known/supported struct */ - if (vn_decode_simple_pointer(dec)) + VkBaseOutStructure *pnext = (VkBaseOutStructure *)val; + VkStructureType stype; + + if (!vn_decode_simple_pointer(dec)) + return; + + vn_decode_VkStructureType(dec, &stype); + while (true) { + assert(pnext); + if (pnext->sType == stype) + break; + + pnext = pnext->pNext; + } + + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE: + vn_decode_VkSubresourceLayout2_pnext(dec, pnext->pNext); + vn_decode_VkSubresourceHostMemcpySize_self(dec, (VkSubresourceHostMemcpySize *)pnext); + break; + default: assert(false); + break; + } } static inline void -vn_decode_VkSubresourceLayout2KHR_self(struct vn_cs_decoder *dec, VkSubresourceLayout2KHR *val) +vn_decode_VkSubresourceLayout2_self(struct vn_cs_decoder *dec, VkSubresourceLayout2 *val) { /* skip val->{sType,pNext} */ vn_decode_VkSubresourceLayout(dec, &val->subresourceLayout); } static inline void -vn_decode_VkSubresourceLayout2KHR(struct vn_cs_decoder *dec, VkSubresourceLayout2KHR *val) +vn_decode_VkSubresourceLayout2(struct vn_cs_decoder *dec, VkSubresourceLayout2 *val) { VkStructureType stype; vn_decode_VkStructureType(dec, &stype); - assert(stype == VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR); + assert(stype == VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2); assert(val->sType == stype); - vn_decode_VkSubresourceLayout2KHR_pnext(dec, val->pNext); - vn_decode_VkSubresourceLayout2KHR_self(dec, val); + vn_decode_VkSubresourceLayout2_pnext(dec, val->pNext); + vn_decode_VkSubresourceLayout2_self(dec, val); } static inline size_t -vn_sizeof_VkSubresourceLayout2KHR_pnext_partial(const void *val) +vn_sizeof_VkSubresourceLayout2_pnext_partial(const void *val) { - /* no known/supported struct */ + const VkBaseInStructure *pnext = val; + size_t size = 0; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkSubresourceLayout2_pnext_partial(pnext->pNext); + size += vn_sizeof_VkSubresourceHostMemcpySize_self_partial((const VkSubresourceHostMemcpySize *)pnext); + return size; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkSubresourceLayout2KHR_self_partial(const VkSubresourceLayout2KHR *val) +vn_sizeof_VkSubresourceLayout2_self_partial(const VkSubresourceLayout2 *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -1305,51 +1631,69 @@ vn_sizeof_VkSubresourceLayout2KHR_self_partial(const VkSubresourceLayout2KHR *va } static inline size_t -vn_sizeof_VkSubresourceLayout2KHR_partial(const VkSubresourceLayout2KHR *val) +vn_sizeof_VkSubresourceLayout2_partial(const VkSubresourceLayout2 *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkSubresourceLayout2KHR_pnext_partial(val->pNext); - size += vn_sizeof_VkSubresourceLayout2KHR_self_partial(val); + size += vn_sizeof_VkSubresourceLayout2_pnext_partial(val->pNext); + size += vn_sizeof_VkSubresourceLayout2_self_partial(val); return size; } static inline void -vn_encode_VkSubresourceLayout2KHR_pnext_partial(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkSubresourceLayout2_pnext_partial(struct vn_cs_encoder *enc, const void *val) { - /* no known/supported struct */ + const VkBaseInStructure *pnext = val; + + while (pnext) { + switch ((int32_t)pnext->sType) { + case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE: + if (!vn_cs_renderer_protocol_has_extension(271 /* VK_EXT_host_image_copy */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkSubresourceLayout2_pnext_partial(enc, pnext->pNext); + vn_encode_VkSubresourceHostMemcpySize_self_partial(enc, (const VkSubresourceHostMemcpySize *)pnext); + return; + default: + /* ignore unknown/unsupported struct */ + break; + } + pnext = pnext->pNext; + } + vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkSubresourceLayout2KHR_self_partial(struct vn_cs_encoder *enc, const VkSubresourceLayout2KHR *val) +vn_encode_VkSubresourceLayout2_self_partial(struct vn_cs_encoder *enc, const VkSubresourceLayout2 *val) { /* skip val->{sType,pNext} */ vn_encode_VkSubresourceLayout_partial(enc, &val->subresourceLayout); } static inline void -vn_encode_VkSubresourceLayout2KHR_partial(struct vn_cs_encoder *enc, const VkSubresourceLayout2KHR *val) +vn_encode_VkSubresourceLayout2_partial(struct vn_cs_encoder *enc, const VkSubresourceLayout2 *val) { - assert(val->sType == VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR }); - vn_encode_VkSubresourceLayout2KHR_pnext_partial(enc, val->pNext); - vn_encode_VkSubresourceLayout2KHR_self_partial(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2 }); + vn_encode_VkSubresourceLayout2_pnext_partial(enc, val->pNext); + vn_encode_VkSubresourceLayout2_self_partial(enc, val); } -/* struct VkDeviceImageSubresourceInfoKHR chain */ +/* struct VkDeviceImageSubresourceInfo chain */ static inline size_t -vn_sizeof_VkDeviceImageSubresourceInfoKHR_pnext(const void *val) +vn_sizeof_VkDeviceImageSubresourceInfo_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkDeviceImageSubresourceInfoKHR_self(const VkDeviceImageSubresourceInfoKHR *val) +vn_sizeof_VkDeviceImageSubresourceInfo_self(const VkDeviceImageSubresourceInfo *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -1358,46 +1702,46 @@ vn_sizeof_VkDeviceImageSubresourceInfoKHR_self(const VkDeviceImageSubresourceInf size += vn_sizeof_VkImageCreateInfo(val->pCreateInfo); size += vn_sizeof_simple_pointer(val->pSubresource); if (val->pSubresource) - size += vn_sizeof_VkImageSubresource2KHR(val->pSubresource); + size += vn_sizeof_VkImageSubresource2(val->pSubresource); return size; } static inline size_t -vn_sizeof_VkDeviceImageSubresourceInfoKHR(const VkDeviceImageSubresourceInfoKHR *val) +vn_sizeof_VkDeviceImageSubresourceInfo(const VkDeviceImageSubresourceInfo *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkDeviceImageSubresourceInfoKHR_pnext(val->pNext); - size += vn_sizeof_VkDeviceImageSubresourceInfoKHR_self(val); + size += vn_sizeof_VkDeviceImageSubresourceInfo_pnext(val->pNext); + size += vn_sizeof_VkDeviceImageSubresourceInfo_self(val); return size; } static inline void -vn_encode_VkDeviceImageSubresourceInfoKHR_pnext(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkDeviceImageSubresourceInfo_pnext(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkDeviceImageSubresourceInfoKHR_self(struct vn_cs_encoder *enc, const VkDeviceImageSubresourceInfoKHR *val) +vn_encode_VkDeviceImageSubresourceInfo_self(struct vn_cs_encoder *enc, const VkDeviceImageSubresourceInfo *val) { /* skip val->{sType,pNext} */ if (vn_encode_simple_pointer(enc, val->pCreateInfo)) vn_encode_VkImageCreateInfo(enc, val->pCreateInfo); if (vn_encode_simple_pointer(enc, val->pSubresource)) - vn_encode_VkImageSubresource2KHR(enc, val->pSubresource); + vn_encode_VkImageSubresource2(enc, val->pSubresource); } static inline void -vn_encode_VkDeviceImageSubresourceInfoKHR(struct vn_cs_encoder *enc, const VkDeviceImageSubresourceInfoKHR *val) +vn_encode_VkDeviceImageSubresourceInfo(struct vn_cs_encoder *enc, const VkDeviceImageSubresourceInfo *val) { - assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR }); - vn_encode_VkDeviceImageSubresourceInfoKHR_pnext(enc, val->pNext); - vn_encode_VkDeviceImageSubresourceInfoKHR_self(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO }); + vn_encode_VkDeviceImageSubresourceInfo_pnext(enc, val->pNext); + vn_encode_VkDeviceImageSubresourceInfo_self(enc, val); } static inline size_t vn_sizeof_vkGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) @@ -2216,9 +2560,128 @@ static inline VkResult vn_decode_vkGetImageDrmFormatModifierPropertiesEXT_reply( return ret; } -static inline size_t vn_sizeof_vkGetImageSubresourceLayout2KHR(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout) +static inline size_t vn_sizeof_vkCopyImageToImage(VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout2KHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCopyImageToImage_EXT; + const VkFlags cmd_flags = 0; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); + + cmd_size += vn_sizeof_VkDevice(&device); + cmd_size += vn_sizeof_simple_pointer(pCopyImageToImageInfo); + if (pCopyImageToImageInfo) + cmd_size += vn_sizeof_VkCopyImageToImageInfo(pCopyImageToImageInfo); + + return cmd_size; +} + +static inline void vn_encode_vkCopyImageToImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCopyImageToImage_EXT; + + vn_encode_VkCommandTypeEXT(enc, &cmd_type); + vn_encode_VkFlags(enc, &cmd_flags); + + vn_encode_VkDevice(enc, &device); + if (vn_encode_simple_pointer(enc, pCopyImageToImageInfo)) + vn_encode_VkCopyImageToImageInfo(enc, pCopyImageToImageInfo); +} + +static inline size_t vn_sizeof_vkCopyImageToImage_reply(VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCopyImageToImage_EXT; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); + + VkResult ret; + cmd_size += vn_sizeof_VkResult(&ret); + /* skip device */ + /* skip pCopyImageToImageInfo */ + + return cmd_size; +} + +static inline VkResult vn_decode_vkCopyImageToImage_reply(struct vn_cs_decoder *dec, VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo) +{ + VkCommandTypeEXT command_type; + vn_decode_VkCommandTypeEXT(dec, &command_type); + assert(command_type == VK_COMMAND_TYPE_vkCopyImageToImage_EXT); + + VkResult ret; + vn_decode_VkResult(dec, &ret); + /* skip device */ + /* skip pCopyImageToImageInfo */ + + return ret; +} + +static inline size_t vn_sizeof_vkTransitionImageLayout(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkTransitionImageLayout_EXT; + const VkFlags cmd_flags = 0; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); + + cmd_size += vn_sizeof_VkDevice(&device); + cmd_size += vn_sizeof_uint32_t(&transitionCount); + if (pTransitions) { + cmd_size += vn_sizeof_array_size(transitionCount); + for (uint32_t i = 0; i < transitionCount; i++) + cmd_size += vn_sizeof_VkHostImageLayoutTransitionInfo(&pTransitions[i]); + } else { + cmd_size += vn_sizeof_array_size(0); + } + + return cmd_size; +} + +static inline void vn_encode_vkTransitionImageLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkTransitionImageLayout_EXT; + + vn_encode_VkCommandTypeEXT(enc, &cmd_type); + vn_encode_VkFlags(enc, &cmd_flags); + + vn_encode_VkDevice(enc, &device); + vn_encode_uint32_t(enc, &transitionCount); + if (pTransitions) { + vn_encode_array_size(enc, transitionCount); + for (uint32_t i = 0; i < transitionCount; i++) + vn_encode_VkHostImageLayoutTransitionInfo(enc, &pTransitions[i]); + } else { + vn_encode_array_size(enc, 0); + } +} + +static inline size_t vn_sizeof_vkTransitionImageLayout_reply(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkTransitionImageLayout_EXT; + size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); + + VkResult ret; + cmd_size += vn_sizeof_VkResult(&ret); + /* skip device */ + /* skip transitionCount */ + /* skip pTransitions */ + + return cmd_size; +} + +static inline VkResult vn_decode_vkTransitionImageLayout_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions) +{ + VkCommandTypeEXT command_type; + vn_decode_VkCommandTypeEXT(dec, &command_type); + assert(command_type == VK_COMMAND_TYPE_vkTransitionImageLayout_EXT); + + VkResult ret; + vn_decode_VkResult(dec, &ret); + /* skip device */ + /* skip transitionCount */ + /* skip pTransitions */ + + return ret; +} + +static inline size_t vn_sizeof_vkGetImageSubresourceLayout2(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout) +{ + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout2_EXT; const VkFlags cmd_flags = 0; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); @@ -2226,17 +2689,17 @@ static inline size_t vn_sizeof_vkGetImageSubresourceLayout2KHR(VkDevice device, cmd_size += vn_sizeof_VkImage(&image); cmd_size += vn_sizeof_simple_pointer(pSubresource); if (pSubresource) - cmd_size += vn_sizeof_VkImageSubresource2KHR(pSubresource); + cmd_size += vn_sizeof_VkImageSubresource2(pSubresource); cmd_size += vn_sizeof_simple_pointer(pLayout); if (pLayout) - cmd_size += vn_sizeof_VkSubresourceLayout2KHR_partial(pLayout); + cmd_size += vn_sizeof_VkSubresourceLayout2_partial(pLayout); return cmd_size; } -static inline void vn_encode_vkGetImageSubresourceLayout2KHR(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout) +static inline void vn_encode_vkGetImageSubresourceLayout2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout2KHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout2_EXT; vn_encode_VkCommandTypeEXT(enc, &cmd_type); vn_encode_VkFlags(enc, &cmd_flags); @@ -2244,14 +2707,14 @@ static inline void vn_encode_vkGetImageSubresourceLayout2KHR(struct vn_cs_encode vn_encode_VkDevice(enc, &device); vn_encode_VkImage(enc, &image); if (vn_encode_simple_pointer(enc, pSubresource)) - vn_encode_VkImageSubresource2KHR(enc, pSubresource); + vn_encode_VkImageSubresource2(enc, pSubresource); if (vn_encode_simple_pointer(enc, pLayout)) - vn_encode_VkSubresourceLayout2KHR_partial(enc, pLayout); + vn_encode_VkSubresourceLayout2_partial(enc, pLayout); } -static inline size_t vn_sizeof_vkGetImageSubresourceLayout2KHR_reply(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout) +static inline size_t vn_sizeof_vkGetImageSubresourceLayout2_reply(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout2KHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout2_EXT; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); /* skip device */ @@ -2259,82 +2722,82 @@ static inline size_t vn_sizeof_vkGetImageSubresourceLayout2KHR_reply(VkDevice de /* skip pSubresource */ cmd_size += vn_sizeof_simple_pointer(pLayout); if (pLayout) - cmd_size += vn_sizeof_VkSubresourceLayout2KHR(pLayout); + cmd_size += vn_sizeof_VkSubresourceLayout2(pLayout); return cmd_size; } -static inline void vn_decode_vkGetImageSubresourceLayout2KHR_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout) +static inline void vn_decode_vkGetImageSubresourceLayout2_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout) { VkCommandTypeEXT command_type; vn_decode_VkCommandTypeEXT(dec, &command_type); - assert(command_type == VK_COMMAND_TYPE_vkGetImageSubresourceLayout2KHR_EXT); + assert(command_type == VK_COMMAND_TYPE_vkGetImageSubresourceLayout2_EXT); /* skip device */ /* skip image */ /* skip pSubresource */ if (vn_decode_simple_pointer(dec)) { - vn_decode_VkSubresourceLayout2KHR(dec, pLayout); + vn_decode_VkSubresourceLayout2(dec, pLayout); } else { pLayout = NULL; } } -static inline size_t vn_sizeof_vkGetDeviceImageSubresourceLayoutKHR(VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout) +static inline size_t vn_sizeof_vkGetDeviceImageSubresourceLayout(VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceImageSubresourceLayoutKHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceImageSubresourceLayout_EXT; const VkFlags cmd_flags = 0; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); cmd_size += vn_sizeof_VkDevice(&device); cmd_size += vn_sizeof_simple_pointer(pInfo); if (pInfo) - cmd_size += vn_sizeof_VkDeviceImageSubresourceInfoKHR(pInfo); + cmd_size += vn_sizeof_VkDeviceImageSubresourceInfo(pInfo); cmd_size += vn_sizeof_simple_pointer(pLayout); if (pLayout) - cmd_size += vn_sizeof_VkSubresourceLayout2KHR_partial(pLayout); + cmd_size += vn_sizeof_VkSubresourceLayout2_partial(pLayout); return cmd_size; } -static inline void vn_encode_vkGetDeviceImageSubresourceLayoutKHR(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout) +static inline void vn_encode_vkGetDeviceImageSubresourceLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceImageSubresourceLayoutKHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceImageSubresourceLayout_EXT; vn_encode_VkCommandTypeEXT(enc, &cmd_type); vn_encode_VkFlags(enc, &cmd_flags); vn_encode_VkDevice(enc, &device); if (vn_encode_simple_pointer(enc, pInfo)) - vn_encode_VkDeviceImageSubresourceInfoKHR(enc, pInfo); + vn_encode_VkDeviceImageSubresourceInfo(enc, pInfo); if (vn_encode_simple_pointer(enc, pLayout)) - vn_encode_VkSubresourceLayout2KHR_partial(enc, pLayout); + vn_encode_VkSubresourceLayout2_partial(enc, pLayout); } -static inline size_t vn_sizeof_vkGetDeviceImageSubresourceLayoutKHR_reply(VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout) +static inline size_t vn_sizeof_vkGetDeviceImageSubresourceLayout_reply(VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceImageSubresourceLayoutKHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceImageSubresourceLayout_EXT; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); /* skip device */ /* skip pInfo */ cmd_size += vn_sizeof_simple_pointer(pLayout); if (pLayout) - cmd_size += vn_sizeof_VkSubresourceLayout2KHR(pLayout); + cmd_size += vn_sizeof_VkSubresourceLayout2(pLayout); return cmd_size; } -static inline void vn_decode_vkGetDeviceImageSubresourceLayoutKHR_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout) +static inline void vn_decode_vkGetDeviceImageSubresourceLayout_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout) { VkCommandTypeEXT command_type; vn_decode_VkCommandTypeEXT(dec, &command_type); - assert(command_type == VK_COMMAND_TYPE_vkGetDeviceImageSubresourceLayoutKHR_EXT); + assert(command_type == VK_COMMAND_TYPE_vkGetDeviceImageSubresourceLayout_EXT); /* skip device */ /* skip pInfo */ if (vn_decode_simple_pointer(dec)) { - vn_decode_VkSubresourceLayout2KHR(dec, pLayout); + vn_decode_VkSubresourceLayout2(dec, pLayout); } else { pLayout = NULL; } @@ -2592,42 +3055,84 @@ static inline void vn_submit_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_ } } -static inline void vn_submit_vkGetImageSubresourceLayout2KHR(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout, struct vn_ring_submit_command *submit) +static inline void vn_submit_vkCopyImageToImage(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo, struct vn_ring_submit_command *submit) { uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; void *cmd_data = local_cmd_data; - size_t cmd_size = vn_sizeof_vkGetImageSubresourceLayout2KHR(device, image, pSubresource, pLayout); + size_t cmd_size = vn_sizeof_vkCopyImageToImage(device, pCopyImageToImageInfo); if (cmd_size > sizeof(local_cmd_data)) { cmd_data = malloc(cmd_size); if (!cmd_data) cmd_size = 0; } - const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageSubresourceLayout2KHR_reply(device, image, pSubresource, pLayout) : 0; + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCopyImageToImage_reply(device, pCopyImageToImageInfo) : 0; struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); if (cmd_size) { - vn_encode_vkGetImageSubresourceLayout2KHR(enc, cmd_flags, device, image, pSubresource, pLayout); + vn_encode_vkCopyImageToImage(enc, cmd_flags, device, pCopyImageToImageInfo); vn_ring_submit_command(vn_ring, submit); if (cmd_data != local_cmd_data) free(cmd_data); } } -static inline void vn_submit_vkGetDeviceImageSubresourceLayoutKHR(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout, struct vn_ring_submit_command *submit) +static inline void vn_submit_vkTransitionImageLayout(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions, struct vn_ring_submit_command *submit) { uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; void *cmd_data = local_cmd_data; - size_t cmd_size = vn_sizeof_vkGetDeviceImageSubresourceLayoutKHR(device, pInfo, pLayout); + size_t cmd_size = vn_sizeof_vkTransitionImageLayout(device, transitionCount, pTransitions); if (cmd_size > sizeof(local_cmd_data)) { cmd_data = malloc(cmd_size); if (!cmd_data) cmd_size = 0; } - const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceImageSubresourceLayoutKHR_reply(device, pInfo, pLayout) : 0; + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkTransitionImageLayout_reply(device, transitionCount, pTransitions) : 0; struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); if (cmd_size) { - vn_encode_vkGetDeviceImageSubresourceLayoutKHR(enc, cmd_flags, device, pInfo, pLayout); + vn_encode_vkTransitionImageLayout(enc, cmd_flags, device, transitionCount, pTransitions); + vn_ring_submit_command(vn_ring, submit); + if (cmd_data != local_cmd_data) + free(cmd_data); + } +} + +static inline void vn_submit_vkGetImageSubresourceLayout2(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout, struct vn_ring_submit_command *submit) +{ + uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; + void *cmd_data = local_cmd_data; + size_t cmd_size = vn_sizeof_vkGetImageSubresourceLayout2(device, image, pSubresource, pLayout); + if (cmd_size > sizeof(local_cmd_data)) { + cmd_data = malloc(cmd_size); + if (!cmd_data) + cmd_size = 0; + } + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageSubresourceLayout2_reply(device, image, pSubresource, pLayout) : 0; + + struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); + if (cmd_size) { + vn_encode_vkGetImageSubresourceLayout2(enc, cmd_flags, device, image, pSubresource, pLayout); + vn_ring_submit_command(vn_ring, submit); + if (cmd_data != local_cmd_data) + free(cmd_data); + } +} + +static inline void vn_submit_vkGetDeviceImageSubresourceLayout(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout, struct vn_ring_submit_command *submit) +{ + uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; + void *cmd_data = local_cmd_data; + size_t cmd_size = vn_sizeof_vkGetDeviceImageSubresourceLayout(device, pInfo, pLayout); + if (cmd_size > sizeof(local_cmd_data)) { + cmd_data = malloc(cmd_size); + if (!cmd_data) + cmd_size = 0; + } + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceImageSubresourceLayout_reply(device, pInfo, pLayout) : 0; + + struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); + if (cmd_size) { + vn_encode_vkGetDeviceImageSubresourceLayout(enc, cmd_flags, device, pInfo, pLayout); vn_ring_submit_command(vn_ring, submit); if (cmd_data != local_cmd_data) free(cmd_data); @@ -2874,42 +3379,86 @@ static inline void vn_async_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_r vn_submit_vkGetImageDrmFormatModifierPropertiesEXT(vn_ring, 0, device, image, pProperties, &submit); } -static inline void vn_call_vkGetImageSubresourceLayout2KHR(struct vn_ring *vn_ring, VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout) +static inline VkResult vn_call_vkCopyImageToImage(struct vn_ring *vn_ring, VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo) { VN_TRACE_FUNC(); struct vn_ring_submit_command submit; - vn_submit_vkGetImageSubresourceLayout2KHR(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pSubresource, pLayout, &submit); + vn_submit_vkCopyImageToImage(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCopyImageToImageInfo, &submit); struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); if (dec) { - vn_decode_vkGetImageSubresourceLayout2KHR_reply(dec, device, image, pSubresource, pLayout); + const VkResult ret = vn_decode_vkCopyImageToImage_reply(dec, device, pCopyImageToImageInfo); vn_ring_free_command_reply(vn_ring, &submit); + return ret; + } else { + return VK_ERROR_OUT_OF_HOST_MEMORY; } } -static inline void vn_async_vkGetImageSubresourceLayout2KHR(struct vn_ring *vn_ring, VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout) +static inline void vn_async_vkCopyImageToImage(struct vn_ring *vn_ring, VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo) { struct vn_ring_submit_command submit; - vn_submit_vkGetImageSubresourceLayout2KHR(vn_ring, 0, device, image, pSubresource, pLayout, &submit); + vn_submit_vkCopyImageToImage(vn_ring, 0, device, pCopyImageToImageInfo, &submit); } -static inline void vn_call_vkGetDeviceImageSubresourceLayoutKHR(struct vn_ring *vn_ring, VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout) +static inline VkResult vn_call_vkTransitionImageLayout(struct vn_ring *vn_ring, VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions) { VN_TRACE_FUNC(); struct vn_ring_submit_command submit; - vn_submit_vkGetDeviceImageSubresourceLayoutKHR(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, pLayout, &submit); + vn_submit_vkTransitionImageLayout(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, transitionCount, pTransitions, &submit); struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); if (dec) { - vn_decode_vkGetDeviceImageSubresourceLayoutKHR_reply(dec, device, pInfo, pLayout); + const VkResult ret = vn_decode_vkTransitionImageLayout_reply(dec, device, transitionCount, pTransitions); + vn_ring_free_command_reply(vn_ring, &submit); + return ret; + } else { + return VK_ERROR_OUT_OF_HOST_MEMORY; + } +} + +static inline void vn_async_vkTransitionImageLayout(struct vn_ring *vn_ring, VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions) +{ + struct vn_ring_submit_command submit; + vn_submit_vkTransitionImageLayout(vn_ring, 0, device, transitionCount, pTransitions, &submit); +} + +static inline void vn_call_vkGetImageSubresourceLayout2(struct vn_ring *vn_ring, VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout) +{ + VN_TRACE_FUNC(); + + struct vn_ring_submit_command submit; + vn_submit_vkGetImageSubresourceLayout2(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pSubresource, pLayout, &submit); + struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); + if (dec) { + vn_decode_vkGetImageSubresourceLayout2_reply(dec, device, image, pSubresource, pLayout); vn_ring_free_command_reply(vn_ring, &submit); } } -static inline void vn_async_vkGetDeviceImageSubresourceLayoutKHR(struct vn_ring *vn_ring, VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout) +static inline void vn_async_vkGetImageSubresourceLayout2(struct vn_ring *vn_ring, VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout) { struct vn_ring_submit_command submit; - vn_submit_vkGetDeviceImageSubresourceLayoutKHR(vn_ring, 0, device, pInfo, pLayout, &submit); + vn_submit_vkGetImageSubresourceLayout2(vn_ring, 0, device, image, pSubresource, pLayout, &submit); +} + +static inline void vn_call_vkGetDeviceImageSubresourceLayout(struct vn_ring *vn_ring, VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout) +{ + VN_TRACE_FUNC(); + + struct vn_ring_submit_command submit; + vn_submit_vkGetDeviceImageSubresourceLayout(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, pLayout, &submit); + struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); + if (dec) { + vn_decode_vkGetDeviceImageSubresourceLayout_reply(dec, device, pInfo, pLayout); + vn_ring_free_command_reply(vn_ring, &submit); + } +} + +static inline void vn_async_vkGetDeviceImageSubresourceLayout(struct vn_ring *vn_ring, VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout) +{ + struct vn_ring_submit_command submit; + vn_submit_vkGetDeviceImageSubresourceLayout(vn_ring, 0, device, pInfo, pLayout, &submit); } #endif /* VN_PROTOCOL_DRIVER_IMAGE_H */ diff --git a/src/virtio/venus-protocol/vn_protocol_driver_info.h b/src/virtio/venus-protocol/vn_protocol_driver_info.h index fa67be16033..9855c038cb1 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_info.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_info.h @@ -10,7 +10,7 @@ #include "vn_protocol_driver_defines.h" -#define VN_INFO_EXTENSION_MAX_NUMBER (544) +#define VN_INFO_EXTENSION_MAX_NUMBER (546) struct vn_info_extension { const char *name; @@ -19,8 +19,8 @@ struct vn_info_extension { }; /* sorted by extension names for bsearch */ -static const uint32_t _vn_info_extension_count = 125; -static const struct vn_info_extension _vn_info_extensions[125] = { +static const uint32_t _vn_info_extension_count = 137; +static const struct vn_info_extension _vn_info_extensions[137] = { { "VK_EXT_4444_formats", 341, 1 }, { "VK_EXT_attachment_feedback_loop_layout", 340, 2 }, { "VK_EXT_blend_operation_advanced", 149, 2 }, @@ -41,7 +41,10 @@ static const struct vn_info_extension _vn_info_extensions[125] = { { "VK_EXT_external_memory_acquire_unmodified", 454, 1 }, { "VK_EXT_external_memory_dma_buf", 126, 1 }, { "VK_EXT_fragment_shader_interlock", 252, 1 }, + { "VK_EXT_global_priority", 175, 2 }, + { "VK_EXT_global_priority_query", 389, 1 }, { "VK_EXT_graphics_pipeline_library", 321, 1 }, + { "VK_EXT_host_image_copy", 271, 1 }, { "VK_EXT_host_query_reset", 262, 1 }, { "VK_EXT_image_2d_view_of_3d", 394, 1 }, { "VK_EXT_image_drm_format_modifier", 159, 2 }, @@ -58,6 +61,8 @@ static const struct vn_info_extension _vn_info_extensions[125] = { { "VK_EXT_pci_bus_info", 213, 2 }, { "VK_EXT_pipeline_creation_cache_control", 298, 3 }, { "VK_EXT_pipeline_creation_feedback", 193, 1 }, + { "VK_EXT_pipeline_protected_access", 467, 1 }, + { "VK_EXT_pipeline_robustness", 69, 1 }, { "VK_EXT_primitive_topology_list_restart", 357, 1 }, { "VK_EXT_primitives_generated_query", 383, 1 }, { "VK_EXT_private_data", 296, 1 }, @@ -96,6 +101,7 @@ static const struct vn_info_extension _vn_info_extensions[125] = { { "VK_KHR_draw_indirect_count", 170, 1 }, { "VK_KHR_driver_properties", 197, 1 }, { "VK_KHR_dynamic_rendering", 45, 1 }, + { "VK_KHR_dynamic_rendering_local_read", 233, 1 }, { "VK_KHR_external_fence", 114, 1 }, { "VK_KHR_external_fence_capabilities", 113, 1 }, { "VK_KHR_external_fence_fd", 116, 1 }, @@ -109,6 +115,7 @@ static const struct vn_info_extension _vn_info_extensions[125] = { { "VK_KHR_fragment_shading_rate", 227, 2 }, { "VK_KHR_get_memory_requirements2", 147, 1 }, { "VK_KHR_get_physical_device_properties2", 60, 2 }, + { "VK_KHR_global_priority", 189, 1 }, { "VK_KHR_image_format_list", 148, 1 }, { "VK_KHR_imageless_framebuffer", 109, 1 }, { "VK_KHR_index_type_uint8", 534, 1 }, @@ -119,6 +126,8 @@ static const struct vn_info_extension _vn_info_extensions[125] = { { "VK_KHR_maintenance3", 169, 1 }, { "VK_KHR_maintenance4", 414, 2 }, { "VK_KHR_maintenance5", 471, 1 }, + { "VK_KHR_maintenance6", 546, 1 }, + { "VK_KHR_map_memory2", 272, 1 }, { "VK_KHR_multiview", 54, 1 }, { "VK_KHR_pipeline_library", 291, 1 }, { "VK_KHR_push_descriptor", 81, 2 }, @@ -129,11 +138,14 @@ static const struct vn_info_extension _vn_info_extensions[125] = { { "VK_KHR_shader_atomic_int64", 181, 1 }, { "VK_KHR_shader_clock", 182, 1 }, { "VK_KHR_shader_draw_parameters", 64, 1 }, + { "VK_KHR_shader_expect_assume", 545, 1 }, { "VK_KHR_shader_float16_int8", 83, 1 }, { "VK_KHR_shader_float_controls", 198, 4 }, + { "VK_KHR_shader_float_controls2", 529, 1 }, { "VK_KHR_shader_integer_dot_product", 281, 1 }, { "VK_KHR_shader_non_semantic_info", 294, 1 }, { "VK_KHR_shader_subgroup_extended_types", 176, 1 }, + { "VK_KHR_shader_subgroup_rotate", 417, 2 }, { "VK_KHR_shader_terminate_invocation", 216, 1 }, { "VK_KHR_spirv_1_4", 237, 1 }, { "VK_KHR_storage_buffer_storage_class", 132, 1 }, @@ -157,7 +169,7 @@ vn_info_wire_format_version(void) static inline uint32_t vn_info_vk_xml_version(void) { - return VK_MAKE_API_VERSION(0, 1, 3, 302); + return VK_MAKE_API_VERSION(0, 1, 4, 307); } static inline int diff --git a/src/virtio/venus-protocol/vn_protocol_driver_pipeline.h b/src/virtio/venus-protocol/vn_protocol_driver_pipeline.h index 2f3196e6cc7..c57ffb5c688 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_pipeline.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_pipeline.h @@ -128,6 +128,65 @@ vn_encode_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(struct vn_cs_encod vn_encode_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo_self(enc, val); } +/* struct VkPipelineRobustnessCreateInfo chain */ + +static inline size_t +vn_sizeof_VkPipelineRobustnessCreateInfo_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPipelineRobustnessCreateInfo_self(const VkPipelineRobustnessCreateInfo *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkPipelineRobustnessBufferBehavior(&val->storageBuffers); + size += vn_sizeof_VkPipelineRobustnessBufferBehavior(&val->uniformBuffers); + size += vn_sizeof_VkPipelineRobustnessBufferBehavior(&val->vertexInputs); + size += vn_sizeof_VkPipelineRobustnessImageBehavior(&val->images); + return size; +} + +static inline size_t +vn_sizeof_VkPipelineRobustnessCreateInfo(const VkPipelineRobustnessCreateInfo *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPipelineRobustnessCreateInfo_pnext(val->pNext); + size += vn_sizeof_VkPipelineRobustnessCreateInfo_self(val); + + return size; +} + +static inline void +vn_encode_VkPipelineRobustnessCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPipelineRobustnessCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineRobustnessCreateInfo *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkPipelineRobustnessBufferBehavior(enc, &val->storageBuffers); + vn_encode_VkPipelineRobustnessBufferBehavior(enc, &val->uniformBuffers); + vn_encode_VkPipelineRobustnessBufferBehavior(enc, &val->vertexInputs); + vn_encode_VkPipelineRobustnessImageBehavior(enc, &val->images); +} + +static inline void +vn_encode_VkPipelineRobustnessCreateInfo(struct vn_cs_encoder *enc, const VkPipelineRobustnessCreateInfo *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO }); + vn_encode_VkPipelineRobustnessCreateInfo_pnext(enc, val->pNext); + vn_encode_VkPipelineRobustnessCreateInfo_self(enc, val); +} + /* struct VkPipelineShaderStageCreateInfo chain */ static inline size_t @@ -152,6 +211,14 @@ vn_sizeof_VkPipelineShaderStageCreateInfo_pnext(const void *val) size += vn_sizeof_VkPipelineShaderStageCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo_self((const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo *)pnext); return size; + case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkPipelineShaderStageCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPipelineRobustnessCreateInfo_self((const VkPipelineRobustnessCreateInfo *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -216,6 +283,14 @@ vn_encode_VkPipelineShaderStageCreateInfo_pnext(struct vn_cs_encoder *enc, const vn_encode_VkPipelineShaderStageCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo_self(enc, (const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo *)pnext); return; + case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkPipelineShaderStageCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPipelineRobustnessCreateInfo_self(enc, (const VkPipelineRobustnessCreateInfo *)pnext); + return; default: /* ignore unknown/unsupported struct */ break; @@ -295,10 +370,10 @@ vn_encode_VkVertexInputAttributeDescription(struct vn_cs_encoder *enc, const VkV vn_encode_uint32_t(enc, &val->offset); } -/* struct VkVertexInputBindingDivisorDescriptionKHR */ +/* struct VkVertexInputBindingDivisorDescription */ static inline size_t -vn_sizeof_VkVertexInputBindingDivisorDescriptionKHR(const VkVertexInputBindingDivisorDescriptionKHR *val) +vn_sizeof_VkVertexInputBindingDivisorDescription(const VkVertexInputBindingDivisorDescription *val) { size_t size = 0; size += vn_sizeof_uint32_t(&val->binding); @@ -307,23 +382,23 @@ vn_sizeof_VkVertexInputBindingDivisorDescriptionKHR(const VkVertexInputBindingDi } static inline void -vn_encode_VkVertexInputBindingDivisorDescriptionKHR(struct vn_cs_encoder *enc, const VkVertexInputBindingDivisorDescriptionKHR *val) +vn_encode_VkVertexInputBindingDivisorDescription(struct vn_cs_encoder *enc, const VkVertexInputBindingDivisorDescription *val) { vn_encode_uint32_t(enc, &val->binding); vn_encode_uint32_t(enc, &val->divisor); } -/* struct VkPipelineVertexInputDivisorStateCreateInfoKHR chain */ +/* struct VkPipelineVertexInputDivisorStateCreateInfo chain */ static inline size_t -vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfoKHR_pnext(const void *val) +vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfo_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfoKHR_self(const VkPipelineVertexInputDivisorStateCreateInfoKHR *val) +vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfo_self(const VkPipelineVertexInputDivisorStateCreateInfo *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -331,7 +406,7 @@ vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfoKHR_self(const VkPipelineVe if (val->pVertexBindingDivisors) { size += vn_sizeof_array_size(val->vertexBindingDivisorCount); for (uint32_t i = 0; i < val->vertexBindingDivisorCount; i++) - size += vn_sizeof_VkVertexInputBindingDivisorDescriptionKHR(&val->pVertexBindingDivisors[i]); + size += vn_sizeof_VkVertexInputBindingDivisorDescription(&val->pVertexBindingDivisors[i]); } else { size += vn_sizeof_array_size(0); } @@ -339,45 +414,45 @@ vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfoKHR_self(const VkPipelineVe } static inline size_t -vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfoKHR(const VkPipelineVertexInputDivisorStateCreateInfoKHR *val) +vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfo(const VkPipelineVertexInputDivisorStateCreateInfo *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfoKHR_pnext(val->pNext); - size += vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfoKHR_self(val); + size += vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfo_pnext(val->pNext); + size += vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfo_self(val); return size; } static inline void -vn_encode_VkPipelineVertexInputDivisorStateCreateInfoKHR_pnext(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPipelineVertexInputDivisorStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPipelineVertexInputDivisorStateCreateInfoKHR_self(struct vn_cs_encoder *enc, const VkPipelineVertexInputDivisorStateCreateInfoKHR *val) +vn_encode_VkPipelineVertexInputDivisorStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineVertexInputDivisorStateCreateInfo *val) { /* skip val->{sType,pNext} */ vn_encode_uint32_t(enc, &val->vertexBindingDivisorCount); if (val->pVertexBindingDivisors) { vn_encode_array_size(enc, val->vertexBindingDivisorCount); for (uint32_t i = 0; i < val->vertexBindingDivisorCount; i++) - vn_encode_VkVertexInputBindingDivisorDescriptionKHR(enc, &val->pVertexBindingDivisors[i]); + vn_encode_VkVertexInputBindingDivisorDescription(enc, &val->pVertexBindingDivisors[i]); } else { vn_encode_array_size(enc, 0); } } static inline void -vn_encode_VkPipelineVertexInputDivisorStateCreateInfoKHR(struct vn_cs_encoder *enc, const VkPipelineVertexInputDivisorStateCreateInfoKHR *val) +vn_encode_VkPipelineVertexInputDivisorStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineVertexInputDivisorStateCreateInfo *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR }); - vn_encode_VkPipelineVertexInputDivisorStateCreateInfoKHR_pnext(enc, val->pNext); - vn_encode_VkPipelineVertexInputDivisorStateCreateInfoKHR_self(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO }); + vn_encode_VkPipelineVertexInputDivisorStateCreateInfo_pnext(enc, val->pNext); + vn_encode_VkPipelineVertexInputDivisorStateCreateInfo_self(enc, val); } /* struct VkPipelineVertexInputStateCreateInfo chain */ @@ -390,13 +465,13 @@ vn_sizeof_VkPipelineVertexInputStateCreateInfo_pnext(const void *val) while (pnext) { switch ((int32_t)pnext->sType) { - case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(191 /* VK_EXT_vertex_attribute_divisor */) && !vn_cs_renderer_protocol_has_extension(526 /* VK_KHR_vertex_attribute_divisor */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPipelineVertexInputStateCreateInfo_pnext(pnext->pNext); - size += vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfoKHR_self((const VkPipelineVertexInputDivisorStateCreateInfoKHR *)pnext); + size += vn_sizeof_VkPipelineVertexInputDivisorStateCreateInfo_self((const VkPipelineVertexInputDivisorStateCreateInfo *)pnext); return size; default: /* ignore unknown/unsupported struct */ @@ -452,13 +527,13 @@ vn_encode_VkPipelineVertexInputStateCreateInfo_pnext(struct vn_cs_encoder *enc, while (pnext) { switch ((int32_t)pnext->sType) { - case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(191 /* VK_EXT_vertex_attribute_divisor */) && !vn_cs_renderer_protocol_has_extension(526 /* VK_KHR_vertex_attribute_divisor */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPipelineVertexInputStateCreateInfo_pnext(enc, pnext->pNext); - vn_encode_VkPipelineVertexInputDivisorStateCreateInfoKHR_self(enc, (const VkPipelineVertexInputDivisorStateCreateInfoKHR *)pnext); + vn_encode_VkPipelineVertexInputDivisorStateCreateInfo_self(enc, (const VkPipelineVertexInputDivisorStateCreateInfo *)pnext); return; default: /* ignore unknown/unsupported struct */ @@ -1042,21 +1117,21 @@ vn_encode_VkPipelineRasterizationDepthClipStateCreateInfoEXT(struct vn_cs_encode vn_encode_VkPipelineRasterizationDepthClipStateCreateInfoEXT_self(enc, val); } -/* struct VkPipelineRasterizationLineStateCreateInfoKHR chain */ +/* struct VkPipelineRasterizationLineStateCreateInfo chain */ static inline size_t -vn_sizeof_VkPipelineRasterizationLineStateCreateInfoKHR_pnext(const void *val) +vn_sizeof_VkPipelineRasterizationLineStateCreateInfo_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPipelineRasterizationLineStateCreateInfoKHR_self(const VkPipelineRasterizationLineStateCreateInfoKHR *val) +vn_sizeof_VkPipelineRasterizationLineStateCreateInfo_self(const VkPipelineRasterizationLineStateCreateInfo *val) { size_t size = 0; /* skip val->{sType,pNext} */ - size += vn_sizeof_VkLineRasterizationModeKHR(&val->lineRasterizationMode); + size += vn_sizeof_VkLineRasterizationMode(&val->lineRasterizationMode); size += vn_sizeof_VkBool32(&val->stippledLineEnable); size += vn_sizeof_uint32_t(&val->lineStippleFactor); size += vn_sizeof_uint16_t(&val->lineStipplePattern); @@ -1064,41 +1139,41 @@ vn_sizeof_VkPipelineRasterizationLineStateCreateInfoKHR_self(const VkPipelineRas } static inline size_t -vn_sizeof_VkPipelineRasterizationLineStateCreateInfoKHR(const VkPipelineRasterizationLineStateCreateInfoKHR *val) +vn_sizeof_VkPipelineRasterizationLineStateCreateInfo(const VkPipelineRasterizationLineStateCreateInfo *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPipelineRasterizationLineStateCreateInfoKHR_pnext(val->pNext); - size += vn_sizeof_VkPipelineRasterizationLineStateCreateInfoKHR_self(val); + size += vn_sizeof_VkPipelineRasterizationLineStateCreateInfo_pnext(val->pNext); + size += vn_sizeof_VkPipelineRasterizationLineStateCreateInfo_self(val); return size; } static inline void -vn_encode_VkPipelineRasterizationLineStateCreateInfoKHR_pnext(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPipelineRasterizationLineStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPipelineRasterizationLineStateCreateInfoKHR_self(struct vn_cs_encoder *enc, const VkPipelineRasterizationLineStateCreateInfoKHR *val) +vn_encode_VkPipelineRasterizationLineStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineRasterizationLineStateCreateInfo *val) { /* skip val->{sType,pNext} */ - vn_encode_VkLineRasterizationModeKHR(enc, &val->lineRasterizationMode); + vn_encode_VkLineRasterizationMode(enc, &val->lineRasterizationMode); vn_encode_VkBool32(enc, &val->stippledLineEnable); vn_encode_uint32_t(enc, &val->lineStippleFactor); vn_encode_uint16_t(enc, &val->lineStipplePattern); } static inline void -vn_encode_VkPipelineRasterizationLineStateCreateInfoKHR(struct vn_cs_encoder *enc, const VkPipelineRasterizationLineStateCreateInfoKHR *val) +vn_encode_VkPipelineRasterizationLineStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineRasterizationLineStateCreateInfo *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR }); - vn_encode_VkPipelineRasterizationLineStateCreateInfoKHR_pnext(enc, val->pNext); - vn_encode_VkPipelineRasterizationLineStateCreateInfoKHR_self(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO }); + vn_encode_VkPipelineRasterizationLineStateCreateInfo_pnext(enc, val->pNext); + vn_encode_VkPipelineRasterizationLineStateCreateInfo_self(enc, val); } /* struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT chain */ @@ -1188,13 +1263,13 @@ vn_sizeof_VkPipelineRasterizationStateCreateInfo_pnext(const void *val) size += vn_sizeof_VkPipelineRasterizationStateCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPipelineRasterizationDepthClipStateCreateInfoEXT_self((const VkPipelineRasterizationDepthClipStateCreateInfoEXT *)pnext); return size; - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(260 /* VK_EXT_line_rasterization */) && !vn_cs_renderer_protocol_has_extension(535 /* VK_KHR_line_rasterization */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkPipelineRasterizationStateCreateInfo_pnext(pnext->pNext); - size += vn_sizeof_VkPipelineRasterizationLineStateCreateInfoKHR_self((const VkPipelineRasterizationLineStateCreateInfoKHR *)pnext); + size += vn_sizeof_VkPipelineRasterizationLineStateCreateInfo_self((const VkPipelineRasterizationLineStateCreateInfo *)pnext); return size; case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: if (!vn_cs_renderer_protocol_has_extension(255 /* VK_EXT_provoking_vertex */)) @@ -1276,13 +1351,13 @@ vn_encode_VkPipelineRasterizationStateCreateInfo_pnext(struct vn_cs_encoder *enc vn_encode_VkPipelineRasterizationStateCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPipelineRasterizationDepthClipStateCreateInfoEXT_self(enc, (const VkPipelineRasterizationDepthClipStateCreateInfoEXT *)pnext); return; - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(260 /* VK_EXT_line_rasterization */) && !vn_cs_renderer_protocol_has_extension(535 /* VK_KHR_line_rasterization */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkPipelineRasterizationStateCreateInfo_pnext(enc, pnext->pNext); - vn_encode_VkPipelineRasterizationLineStateCreateInfoKHR_self(enc, (const VkPipelineRasterizationLineStateCreateInfoKHR *)pnext); + vn_encode_VkPipelineRasterizationLineStateCreateInfo_self(enc, (const VkPipelineRasterizationLineStateCreateInfo *)pnext); return; case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: if (!vn_cs_renderer_protocol_has_extension(255 /* VK_EXT_provoking_vertex */)) @@ -1943,17 +2018,17 @@ vn_encode_VkPipelineDynamicStateCreateInfo(struct vn_cs_encoder *enc, const VkPi vn_encode_VkPipelineDynamicStateCreateInfo_self(enc, val); } -/* struct VkPipelineCreateFlags2CreateInfoKHR chain */ +/* struct VkPipelineCreateFlags2CreateInfo chain */ static inline size_t -vn_sizeof_VkPipelineCreateFlags2CreateInfoKHR_pnext(const void *val) +vn_sizeof_VkPipelineCreateFlags2CreateInfo_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkPipelineCreateFlags2CreateInfoKHR_self(const VkPipelineCreateFlags2CreateInfoKHR *val) +vn_sizeof_VkPipelineCreateFlags2CreateInfo_self(const VkPipelineCreateFlags2CreateInfo *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -1962,38 +2037,38 @@ vn_sizeof_VkPipelineCreateFlags2CreateInfoKHR_self(const VkPipelineCreateFlags2C } static inline size_t -vn_sizeof_VkPipelineCreateFlags2CreateInfoKHR(const VkPipelineCreateFlags2CreateInfoKHR *val) +vn_sizeof_VkPipelineCreateFlags2CreateInfo(const VkPipelineCreateFlags2CreateInfo *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPipelineCreateFlags2CreateInfoKHR_pnext(val->pNext); - size += vn_sizeof_VkPipelineCreateFlags2CreateInfoKHR_self(val); + size += vn_sizeof_VkPipelineCreateFlags2CreateInfo_pnext(val->pNext); + size += vn_sizeof_VkPipelineCreateFlags2CreateInfo_self(val); return size; } static inline void -vn_encode_VkPipelineCreateFlags2CreateInfoKHR_pnext(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkPipelineCreateFlags2CreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkPipelineCreateFlags2CreateInfoKHR_self(struct vn_cs_encoder *enc, const VkPipelineCreateFlags2CreateInfoKHR *val) +vn_encode_VkPipelineCreateFlags2CreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineCreateFlags2CreateInfo *val) { /* skip val->{sType,pNext} */ vn_encode_VkFlags64(enc, &val->flags); } static inline void -vn_encode_VkPipelineCreateFlags2CreateInfoKHR(struct vn_cs_encoder *enc, const VkPipelineCreateFlags2CreateInfoKHR *val) +vn_encode_VkPipelineCreateFlags2CreateInfo(struct vn_cs_encoder *enc, const VkPipelineCreateFlags2CreateInfo *val) { - assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR }); - vn_encode_VkPipelineCreateFlags2CreateInfoKHR_pnext(enc, val->pNext); - vn_encode_VkPipelineCreateFlags2CreateInfoKHR_self(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO }); + vn_encode_VkPipelineCreateFlags2CreateInfo_pnext(enc, val->pNext); + vn_encode_VkPipelineCreateFlags2CreateInfo_self(enc, val); } /* struct VkPipelineLibraryCreateInfoKHR chain */ @@ -2344,13 +2419,13 @@ vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(const void *val) while (pnext) { switch ((int32_t)pnext->sType) { - case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(pnext->pNext); - size += vn_sizeof_VkPipelineCreateFlags2CreateInfoKHR_self((const VkPipelineCreateFlags2CreateInfoKHR *)pnext); + size += vn_sizeof_VkPipelineCreateFlags2CreateInfo_self((const VkPipelineCreateFlags2CreateInfo *)pnext); return size; case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: if (!vn_cs_renderer_protocol_has_extension(291 /* VK_KHR_pipeline_library */)) @@ -2392,6 +2467,30 @@ vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(const void *val) size += vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkGraphicsPipelineLibraryCreateInfoEXT_self((const VkGraphicsPipelineLibraryCreateInfoEXT *)pnext); return size; + case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPipelineRobustnessCreateInfo_self((const VkPipelineRobustnessCreateInfo *)pnext); + return size; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkRenderingAttachmentLocationInfo_self((const VkRenderingAttachmentLocationInfo *)pnext); + return size; + case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkRenderingInputAttachmentIndexInfo_self((const VkRenderingInputAttachmentIndexInfo *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -2470,13 +2569,13 @@ vn_encode_VkGraphicsPipelineCreateInfo_pnext(struct vn_cs_encoder *enc, const vo while (pnext) { switch ((int32_t)pnext->sType) { - case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkGraphicsPipelineCreateInfo_pnext(enc, pnext->pNext); - vn_encode_VkPipelineCreateFlags2CreateInfoKHR_self(enc, (const VkPipelineCreateFlags2CreateInfoKHR *)pnext); + vn_encode_VkPipelineCreateFlags2CreateInfo_self(enc, (const VkPipelineCreateFlags2CreateInfo *)pnext); return; case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: if (!vn_cs_renderer_protocol_has_extension(291 /* VK_KHR_pipeline_library */)) @@ -2518,6 +2617,30 @@ vn_encode_VkGraphicsPipelineCreateInfo_pnext(struct vn_cs_encoder *enc, const vo vn_encode_VkGraphicsPipelineCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkGraphicsPipelineLibraryCreateInfoEXT_self(enc, (const VkGraphicsPipelineLibraryCreateInfoEXT *)pnext); return; + case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkGraphicsPipelineCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPipelineRobustnessCreateInfo_self(enc, (const VkPipelineRobustnessCreateInfo *)pnext); + return; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkGraphicsPipelineCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkRenderingAttachmentLocationInfo_self(enc, (const VkRenderingAttachmentLocationInfo *)pnext); + return; + case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO: + if (!vn_cs_renderer_protocol_has_extension(233 /* VK_KHR_dynamic_rendering_local_read */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkGraphicsPipelineCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkRenderingInputAttachmentIndexInfo_self(enc, (const VkRenderingInputAttachmentIndexInfo *)pnext); + return; default: /* ignore unknown/unsupported struct */ break; @@ -2585,13 +2708,13 @@ vn_sizeof_VkComputePipelineCreateInfo_pnext(const void *val) while (pnext) { switch ((int32_t)pnext->sType) { - case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; size += vn_sizeof_simple_pointer(pnext); size += vn_sizeof_VkStructureType(&pnext->sType); size += vn_sizeof_VkComputePipelineCreateInfo_pnext(pnext->pNext); - size += vn_sizeof_VkPipelineCreateFlags2CreateInfoKHR_self((const VkPipelineCreateFlags2CreateInfoKHR *)pnext); + size += vn_sizeof_VkPipelineCreateFlags2CreateInfo_self((const VkPipelineCreateFlags2CreateInfo *)pnext); return size; case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(193 /* VK_EXT_pipeline_creation_feedback */)) @@ -2601,6 +2724,14 @@ vn_sizeof_VkComputePipelineCreateInfo_pnext(const void *val) size += vn_sizeof_VkComputePipelineCreateInfo_pnext(pnext->pNext); size += vn_sizeof_VkPipelineCreationFeedbackCreateInfo_self((const VkPipelineCreationFeedbackCreateInfo *)pnext); return size; + case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + size += vn_sizeof_simple_pointer(pnext); + size += vn_sizeof_VkStructureType(&pnext->sType); + size += vn_sizeof_VkComputePipelineCreateInfo_pnext(pnext->pNext); + size += vn_sizeof_VkPipelineRobustnessCreateInfo_self((const VkPipelineRobustnessCreateInfo *)pnext); + return size; default: /* ignore unknown/unsupported struct */ break; @@ -2643,13 +2774,13 @@ vn_encode_VkComputePipelineCreateInfo_pnext(struct vn_cs_encoder *enc, const voi while (pnext) { switch ((int32_t)pnext->sType) { - case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: + case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(471 /* VK_KHR_maintenance5 */)) break; vn_encode_simple_pointer(enc, pnext); vn_encode_VkStructureType(enc, &pnext->sType); vn_encode_VkComputePipelineCreateInfo_pnext(enc, pnext->pNext); - vn_encode_VkPipelineCreateFlags2CreateInfoKHR_self(enc, (const VkPipelineCreateFlags2CreateInfoKHR *)pnext); + vn_encode_VkPipelineCreateFlags2CreateInfo_self(enc, (const VkPipelineCreateFlags2CreateInfo *)pnext); return; case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: if (!vn_cs_renderer_protocol_has_extension(193 /* VK_EXT_pipeline_creation_feedback */)) @@ -2659,6 +2790,14 @@ vn_encode_VkComputePipelineCreateInfo_pnext(struct vn_cs_encoder *enc, const voi vn_encode_VkComputePipelineCreateInfo_pnext(enc, pnext->pNext); vn_encode_VkPipelineCreationFeedbackCreateInfo_self(enc, (const VkPipelineCreationFeedbackCreateInfo *)pnext); return; + case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: + if (!vn_cs_renderer_protocol_has_extension(69 /* VK_EXT_pipeline_robustness */)) + break; + vn_encode_simple_pointer(enc, pnext); + vn_encode_VkStructureType(enc, &pnext->sType); + vn_encode_VkComputePipelineCreateInfo_pnext(enc, pnext->pNext); + vn_encode_VkPipelineRobustnessCreateInfo_self(enc, (const VkPipelineRobustnessCreateInfo *)pnext); + return; default: /* ignore unknown/unsupported struct */ break; diff --git a/src/virtio/venus-protocol/vn_protocol_driver_pipeline_layout.h b/src/virtio/venus-protocol/vn_protocol_driver_pipeline_layout.h index 5e1b7cd523e..700731808fc 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_pipeline_layout.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_pipeline_layout.h @@ -11,111 +11,6 @@ #include "vn_ring.h" #include "vn_protocol_driver_structs.h" -/* struct VkPushConstantRange */ - -static inline size_t -vn_sizeof_VkPushConstantRange(const VkPushConstantRange *val) -{ - size_t size = 0; - size += vn_sizeof_VkFlags(&val->stageFlags); - size += vn_sizeof_uint32_t(&val->offset); - size += vn_sizeof_uint32_t(&val->size); - return size; -} - -static inline void -vn_encode_VkPushConstantRange(struct vn_cs_encoder *enc, const VkPushConstantRange *val) -{ - vn_encode_VkFlags(enc, &val->stageFlags); - vn_encode_uint32_t(enc, &val->offset); - vn_encode_uint32_t(enc, &val->size); -} - -/* struct VkPipelineLayoutCreateInfo chain */ - -static inline size_t -vn_sizeof_VkPipelineLayoutCreateInfo_pnext(const void *val) -{ - /* no known/supported struct */ - return vn_sizeof_simple_pointer(NULL); -} - -static inline size_t -vn_sizeof_VkPipelineLayoutCreateInfo_self(const VkPipelineLayoutCreateInfo *val) -{ - size_t size = 0; - /* skip val->{sType,pNext} */ - size += vn_sizeof_VkFlags(&val->flags); - size += vn_sizeof_uint32_t(&val->setLayoutCount); - if (val->pSetLayouts) { - size += vn_sizeof_array_size(val->setLayoutCount); - for (uint32_t i = 0; i < val->setLayoutCount; i++) - size += vn_sizeof_VkDescriptorSetLayout(&val->pSetLayouts[i]); - } else { - size += vn_sizeof_array_size(0); - } - size += vn_sizeof_uint32_t(&val->pushConstantRangeCount); - if (val->pPushConstantRanges) { - size += vn_sizeof_array_size(val->pushConstantRangeCount); - for (uint32_t i = 0; i < val->pushConstantRangeCount; i++) - size += vn_sizeof_VkPushConstantRange(&val->pPushConstantRanges[i]); - } else { - size += vn_sizeof_array_size(0); - } - return size; -} - -static inline size_t -vn_sizeof_VkPipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo *val) -{ - size_t size = 0; - - size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkPipelineLayoutCreateInfo_pnext(val->pNext); - size += vn_sizeof_VkPipelineLayoutCreateInfo_self(val); - - return size; -} - -static inline void -vn_encode_VkPipelineLayoutCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) -{ - /* no known/supported struct */ - vn_encode_simple_pointer(enc, NULL); -} - -static inline void -vn_encode_VkPipelineLayoutCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineLayoutCreateInfo *val) -{ - /* skip val->{sType,pNext} */ - vn_encode_VkFlags(enc, &val->flags); - vn_encode_uint32_t(enc, &val->setLayoutCount); - if (val->pSetLayouts) { - vn_encode_array_size(enc, val->setLayoutCount); - for (uint32_t i = 0; i < val->setLayoutCount; i++) - vn_encode_VkDescriptorSetLayout(enc, &val->pSetLayouts[i]); - } else { - vn_encode_array_size(enc, 0); - } - vn_encode_uint32_t(enc, &val->pushConstantRangeCount); - if (val->pPushConstantRanges) { - vn_encode_array_size(enc, val->pushConstantRangeCount); - for (uint32_t i = 0; i < val->pushConstantRangeCount; i++) - vn_encode_VkPushConstantRange(enc, &val->pPushConstantRanges[i]); - } else { - vn_encode_array_size(enc, 0); - } -} - -static inline void -vn_encode_VkPipelineLayoutCreateInfo(struct vn_cs_encoder *enc, const VkPipelineLayoutCreateInfo *val) -{ - assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO }); - vn_encode_VkPipelineLayoutCreateInfo_pnext(enc, val->pNext); - vn_encode_VkPipelineLayoutCreateInfo_self(enc, val); -} - static inline size_t vn_sizeof_vkCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) { const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineLayout_EXT; diff --git a/src/virtio/venus-protocol/vn_protocol_driver_render_pass.h b/src/virtio/venus-protocol/vn_protocol_driver_render_pass.h index aaa744c2d93..52a2d52e9cd 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_render_pass.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_render_pass.h @@ -498,17 +498,17 @@ vn_encode_VkRenderPassCreateInfo(struct vn_cs_encoder *enc, const VkRenderPassCr vn_encode_VkRenderPassCreateInfo_self(enc, val); } -/* struct VkRenderingAreaInfoKHR chain */ +/* struct VkRenderingAreaInfo chain */ static inline size_t -vn_sizeof_VkRenderingAreaInfoKHR_pnext(const void *val) +vn_sizeof_VkRenderingAreaInfo_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkRenderingAreaInfoKHR_self(const VkRenderingAreaInfoKHR *val) +vn_sizeof_VkRenderingAreaInfo_self(const VkRenderingAreaInfo *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -526,26 +526,26 @@ vn_sizeof_VkRenderingAreaInfoKHR_self(const VkRenderingAreaInfoKHR *val) } static inline size_t -vn_sizeof_VkRenderingAreaInfoKHR(const VkRenderingAreaInfoKHR *val) +vn_sizeof_VkRenderingAreaInfo(const VkRenderingAreaInfo *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkRenderingAreaInfoKHR_pnext(val->pNext); - size += vn_sizeof_VkRenderingAreaInfoKHR_self(val); + size += vn_sizeof_VkRenderingAreaInfo_pnext(val->pNext); + size += vn_sizeof_VkRenderingAreaInfo_self(val); return size; } static inline void -vn_encode_VkRenderingAreaInfoKHR_pnext(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkRenderingAreaInfo_pnext(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkRenderingAreaInfoKHR_self(struct vn_cs_encoder *enc, const VkRenderingAreaInfoKHR *val) +vn_encode_VkRenderingAreaInfo_self(struct vn_cs_encoder *enc, const VkRenderingAreaInfo *val) { /* skip val->{sType,pNext} */ vn_encode_uint32_t(enc, &val->viewMask); @@ -561,12 +561,12 @@ vn_encode_VkRenderingAreaInfoKHR_self(struct vn_cs_encoder *enc, const VkRenderi } static inline void -vn_encode_VkRenderingAreaInfoKHR(struct vn_cs_encoder *enc, const VkRenderingAreaInfoKHR *val) +vn_encode_VkRenderingAreaInfo(struct vn_cs_encoder *enc, const VkRenderingAreaInfo *val) { - assert(val->sType == VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR }); - vn_encode_VkRenderingAreaInfoKHR_pnext(enc, val->pNext); - vn_encode_VkRenderingAreaInfoKHR_self(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_RENDERING_AREA_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDERING_AREA_INFO }); + vn_encode_VkRenderingAreaInfo_pnext(enc, val->pNext); + vn_encode_VkRenderingAreaInfo_self(enc, val); } /* struct VkAttachmentDescriptionStencilLayout chain */ @@ -1558,16 +1558,16 @@ static inline void vn_decode_vkGetRenderAreaGranularity_reply(struct vn_cs_decod } } -static inline size_t vn_sizeof_vkGetRenderingAreaGranularityKHR(VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity) +static inline size_t vn_sizeof_vkGetRenderingAreaGranularity(VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetRenderingAreaGranularityKHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetRenderingAreaGranularity_EXT; const VkFlags cmd_flags = 0; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags); cmd_size += vn_sizeof_VkDevice(&device); cmd_size += vn_sizeof_simple_pointer(pRenderingAreaInfo); if (pRenderingAreaInfo) - cmd_size += vn_sizeof_VkRenderingAreaInfoKHR(pRenderingAreaInfo); + cmd_size += vn_sizeof_VkRenderingAreaInfo(pRenderingAreaInfo); cmd_size += vn_sizeof_simple_pointer(pGranularity); if (pGranularity) cmd_size += vn_sizeof_VkExtent2D_partial(pGranularity); @@ -1575,23 +1575,23 @@ static inline size_t vn_sizeof_vkGetRenderingAreaGranularityKHR(VkDevice device, return cmd_size; } -static inline void vn_encode_vkGetRenderingAreaGranularityKHR(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity) +static inline void vn_encode_vkGetRenderingAreaGranularity(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetRenderingAreaGranularityKHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetRenderingAreaGranularity_EXT; vn_encode_VkCommandTypeEXT(enc, &cmd_type); vn_encode_VkFlags(enc, &cmd_flags); vn_encode_VkDevice(enc, &device); if (vn_encode_simple_pointer(enc, pRenderingAreaInfo)) - vn_encode_VkRenderingAreaInfoKHR(enc, pRenderingAreaInfo); + vn_encode_VkRenderingAreaInfo(enc, pRenderingAreaInfo); if (vn_encode_simple_pointer(enc, pGranularity)) vn_encode_VkExtent2D_partial(enc, pGranularity); } -static inline size_t vn_sizeof_vkGetRenderingAreaGranularityKHR_reply(VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity) +static inline size_t vn_sizeof_vkGetRenderingAreaGranularity_reply(VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity) { - const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetRenderingAreaGranularityKHR_EXT; + const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetRenderingAreaGranularity_EXT; size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type); /* skip device */ @@ -1603,11 +1603,11 @@ static inline size_t vn_sizeof_vkGetRenderingAreaGranularityKHR_reply(VkDevice d return cmd_size; } -static inline void vn_decode_vkGetRenderingAreaGranularityKHR_reply(struct vn_cs_decoder *dec, VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity) +static inline void vn_decode_vkGetRenderingAreaGranularity_reply(struct vn_cs_decoder *dec, VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity) { VkCommandTypeEXT command_type; vn_decode_VkCommandTypeEXT(dec, &command_type); - assert(command_type == VK_COMMAND_TYPE_vkGetRenderingAreaGranularityKHR_EXT); + assert(command_type == VK_COMMAND_TYPE_vkGetRenderingAreaGranularity_EXT); /* skip device */ /* skip pRenderingAreaInfo */ @@ -1754,21 +1754,21 @@ static inline void vn_submit_vkGetRenderAreaGranularity(struct vn_ring *vn_ring, } } -static inline void vn_submit_vkGetRenderingAreaGranularityKHR(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity, struct vn_ring_submit_command *submit) +static inline void vn_submit_vkGetRenderingAreaGranularity(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity, struct vn_ring_submit_command *submit) { uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE]; void *cmd_data = local_cmd_data; - size_t cmd_size = vn_sizeof_vkGetRenderingAreaGranularityKHR(device, pRenderingAreaInfo, pGranularity); + size_t cmd_size = vn_sizeof_vkGetRenderingAreaGranularity(device, pRenderingAreaInfo, pGranularity); if (cmd_size > sizeof(local_cmd_data)) { cmd_data = malloc(cmd_size); if (!cmd_data) cmd_size = 0; } - const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetRenderingAreaGranularityKHR_reply(device, pRenderingAreaInfo, pGranularity) : 0; + const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetRenderingAreaGranularity_reply(device, pRenderingAreaInfo, pGranularity) : 0; struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size); if (cmd_size) { - vn_encode_vkGetRenderingAreaGranularityKHR(enc, cmd_flags, device, pRenderingAreaInfo, pGranularity); + vn_encode_vkGetRenderingAreaGranularity(enc, cmd_flags, device, pRenderingAreaInfo, pGranularity); vn_ring_submit_command(vn_ring, submit); if (cmd_data != local_cmd_data) free(cmd_data); @@ -1856,23 +1856,23 @@ static inline void vn_async_vkGetRenderAreaGranularity(struct vn_ring *vn_ring, vn_submit_vkGetRenderAreaGranularity(vn_ring, 0, device, renderPass, pGranularity, &submit); } -static inline void vn_call_vkGetRenderingAreaGranularityKHR(struct vn_ring *vn_ring, VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity) +static inline void vn_call_vkGetRenderingAreaGranularity(struct vn_ring *vn_ring, VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity) { VN_TRACE_FUNC(); struct vn_ring_submit_command submit; - vn_submit_vkGetRenderingAreaGranularityKHR(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pRenderingAreaInfo, pGranularity, &submit); + vn_submit_vkGetRenderingAreaGranularity(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pRenderingAreaInfo, pGranularity, &submit); struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit); if (dec) { - vn_decode_vkGetRenderingAreaGranularityKHR_reply(dec, device, pRenderingAreaInfo, pGranularity); + vn_decode_vkGetRenderingAreaGranularity_reply(dec, device, pRenderingAreaInfo, pGranularity); vn_ring_free_command_reply(vn_ring, &submit); } } -static inline void vn_async_vkGetRenderingAreaGranularityKHR(struct vn_ring *vn_ring, VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity) +static inline void vn_async_vkGetRenderingAreaGranularity(struct vn_ring *vn_ring, VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity) { struct vn_ring_submit_command submit; - vn_submit_vkGetRenderingAreaGranularityKHR(vn_ring, 0, device, pRenderingAreaInfo, pGranularity, &submit); + vn_submit_vkGetRenderingAreaGranularity(vn_ring, 0, device, pRenderingAreaInfo, pGranularity, &submit); } static inline VkResult vn_call_vkCreateRenderPass2(struct vn_ring *vn_ring, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) diff --git a/src/virtio/venus-protocol/vn_protocol_driver_structs.h b/src/virtio/venus-protocol/vn_protocol_driver_structs.h index bfc02d70386..1ce1e4f14e7 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_structs.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_structs.h @@ -329,17 +329,17 @@ vn_encode_VkSemaphoreTypeCreateInfo(struct vn_cs_encoder *enc, const VkSemaphore vn_encode_VkSemaphoreTypeCreateInfo_self(enc, val); } -/* struct VkBufferUsageFlags2CreateInfoKHR chain */ +/* struct VkBufferUsageFlags2CreateInfo chain */ static inline size_t -vn_sizeof_VkBufferUsageFlags2CreateInfoKHR_pnext(const void *val) +vn_sizeof_VkBufferUsageFlags2CreateInfo_pnext(const void *val) { /* no known/supported struct */ return vn_sizeof_simple_pointer(NULL); } static inline size_t -vn_sizeof_VkBufferUsageFlags2CreateInfoKHR_self(const VkBufferUsageFlags2CreateInfoKHR *val) +vn_sizeof_VkBufferUsageFlags2CreateInfo_self(const VkBufferUsageFlags2CreateInfo *val) { size_t size = 0; /* skip val->{sType,pNext} */ @@ -348,38 +348,38 @@ vn_sizeof_VkBufferUsageFlags2CreateInfoKHR_self(const VkBufferUsageFlags2CreateI } static inline size_t -vn_sizeof_VkBufferUsageFlags2CreateInfoKHR(const VkBufferUsageFlags2CreateInfoKHR *val) +vn_sizeof_VkBufferUsageFlags2CreateInfo(const VkBufferUsageFlags2CreateInfo *val) { size_t size = 0; size += vn_sizeof_VkStructureType(&val->sType); - size += vn_sizeof_VkBufferUsageFlags2CreateInfoKHR_pnext(val->pNext); - size += vn_sizeof_VkBufferUsageFlags2CreateInfoKHR_self(val); + size += vn_sizeof_VkBufferUsageFlags2CreateInfo_pnext(val->pNext); + size += vn_sizeof_VkBufferUsageFlags2CreateInfo_self(val); return size; } static inline void -vn_encode_VkBufferUsageFlags2CreateInfoKHR_pnext(struct vn_cs_encoder *enc, const void *val) +vn_encode_VkBufferUsageFlags2CreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) { /* no known/supported struct */ vn_encode_simple_pointer(enc, NULL); } static inline void -vn_encode_VkBufferUsageFlags2CreateInfoKHR_self(struct vn_cs_encoder *enc, const VkBufferUsageFlags2CreateInfoKHR *val) +vn_encode_VkBufferUsageFlags2CreateInfo_self(struct vn_cs_encoder *enc, const VkBufferUsageFlags2CreateInfo *val) { /* skip val->{sType,pNext} */ vn_encode_VkFlags64(enc, &val->usage); } static inline void -vn_encode_VkBufferUsageFlags2CreateInfoKHR(struct vn_cs_encoder *enc, const VkBufferUsageFlags2CreateInfoKHR *val) +vn_encode_VkBufferUsageFlags2CreateInfo(struct vn_cs_encoder *enc, const VkBufferUsageFlags2CreateInfo *val) { - assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR); - vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR }); - vn_encode_VkBufferUsageFlags2CreateInfoKHR_pnext(enc, val->pNext); - vn_encode_VkBufferUsageFlags2CreateInfoKHR_self(enc, val); + assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO }); + vn_encode_VkBufferUsageFlags2CreateInfo_pnext(enc, val->pNext); + vn_encode_VkBufferUsageFlags2CreateInfo_self(enc, val); } /* struct VkImageFormatListCreateInfo chain */ @@ -933,6 +933,251 @@ vn_encode_VkSampleLocationsInfoEXT(struct vn_cs_encoder *enc, const VkSampleLoca vn_encode_VkSampleLocationsInfoEXT_self(enc, val); } +/* struct VkRenderingAttachmentLocationInfo chain */ + +static inline size_t +vn_sizeof_VkRenderingAttachmentLocationInfo_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkRenderingAttachmentLocationInfo_self(const VkRenderingAttachmentLocationInfo *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_uint32_t(&val->colorAttachmentCount); + if (val->pColorAttachmentLocations) { + size += vn_sizeof_array_size(val->colorAttachmentCount); + size += vn_sizeof_uint32_t_array(val->pColorAttachmentLocations, val->colorAttachmentCount); + } else { + size += vn_sizeof_array_size(0); + } + return size; +} + +static inline size_t +vn_sizeof_VkRenderingAttachmentLocationInfo(const VkRenderingAttachmentLocationInfo *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkRenderingAttachmentLocationInfo_pnext(val->pNext); + size += vn_sizeof_VkRenderingAttachmentLocationInfo_self(val); + + return size; +} + +static inline void +vn_encode_VkRenderingAttachmentLocationInfo_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkRenderingAttachmentLocationInfo_self(struct vn_cs_encoder *enc, const VkRenderingAttachmentLocationInfo *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_uint32_t(enc, &val->colorAttachmentCount); + if (val->pColorAttachmentLocations) { + vn_encode_array_size(enc, val->colorAttachmentCount); + vn_encode_uint32_t_array(enc, val->pColorAttachmentLocations, val->colorAttachmentCount); + } else { + vn_encode_array_size(enc, 0); + } +} + +static inline void +vn_encode_VkRenderingAttachmentLocationInfo(struct vn_cs_encoder *enc, const VkRenderingAttachmentLocationInfo *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO }); + vn_encode_VkRenderingAttachmentLocationInfo_pnext(enc, val->pNext); + vn_encode_VkRenderingAttachmentLocationInfo_self(enc, val); +} + +/* struct VkRenderingInputAttachmentIndexInfo chain */ + +static inline size_t +vn_sizeof_VkRenderingInputAttachmentIndexInfo_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkRenderingInputAttachmentIndexInfo_self(const VkRenderingInputAttachmentIndexInfo *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_uint32_t(&val->colorAttachmentCount); + if (val->pColorAttachmentInputIndices) { + size += vn_sizeof_array_size(val->colorAttachmentCount); + size += vn_sizeof_uint32_t_array(val->pColorAttachmentInputIndices, val->colorAttachmentCount); + } else { + size += vn_sizeof_array_size(0); + } + size += vn_sizeof_simple_pointer(val->pDepthInputAttachmentIndex); + if (val->pDepthInputAttachmentIndex) + size += vn_sizeof_uint32_t(val->pDepthInputAttachmentIndex); + size += vn_sizeof_simple_pointer(val->pStencilInputAttachmentIndex); + if (val->pStencilInputAttachmentIndex) + size += vn_sizeof_uint32_t(val->pStencilInputAttachmentIndex); + return size; +} + +static inline size_t +vn_sizeof_VkRenderingInputAttachmentIndexInfo(const VkRenderingInputAttachmentIndexInfo *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkRenderingInputAttachmentIndexInfo_pnext(val->pNext); + size += vn_sizeof_VkRenderingInputAttachmentIndexInfo_self(val); + + return size; +} + +static inline void +vn_encode_VkRenderingInputAttachmentIndexInfo_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkRenderingInputAttachmentIndexInfo_self(struct vn_cs_encoder *enc, const VkRenderingInputAttachmentIndexInfo *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_uint32_t(enc, &val->colorAttachmentCount); + if (val->pColorAttachmentInputIndices) { + vn_encode_array_size(enc, val->colorAttachmentCount); + vn_encode_uint32_t_array(enc, val->pColorAttachmentInputIndices, val->colorAttachmentCount); + } else { + vn_encode_array_size(enc, 0); + } + if (vn_encode_simple_pointer(enc, val->pDepthInputAttachmentIndex)) + vn_encode_uint32_t(enc, val->pDepthInputAttachmentIndex); + if (vn_encode_simple_pointer(enc, val->pStencilInputAttachmentIndex)) + vn_encode_uint32_t(enc, val->pStencilInputAttachmentIndex); +} + +static inline void +vn_encode_VkRenderingInputAttachmentIndexInfo(struct vn_cs_encoder *enc, const VkRenderingInputAttachmentIndexInfo *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO }); + vn_encode_VkRenderingInputAttachmentIndexInfo_pnext(enc, val->pNext); + vn_encode_VkRenderingInputAttachmentIndexInfo_self(enc, val); +} + +/* struct VkPushConstantRange */ + +static inline size_t +vn_sizeof_VkPushConstantRange(const VkPushConstantRange *val) +{ + size_t size = 0; + size += vn_sizeof_VkFlags(&val->stageFlags); + size += vn_sizeof_uint32_t(&val->offset); + size += vn_sizeof_uint32_t(&val->size); + return size; +} + +static inline void +vn_encode_VkPushConstantRange(struct vn_cs_encoder *enc, const VkPushConstantRange *val) +{ + vn_encode_VkFlags(enc, &val->stageFlags); + vn_encode_uint32_t(enc, &val->offset); + vn_encode_uint32_t(enc, &val->size); +} + +/* struct VkPipelineLayoutCreateInfo chain */ + +static inline size_t +vn_sizeof_VkPipelineLayoutCreateInfo_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkPipelineLayoutCreateInfo_self(const VkPipelineLayoutCreateInfo *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkFlags(&val->flags); + size += vn_sizeof_uint32_t(&val->setLayoutCount); + if (val->pSetLayouts) { + size += vn_sizeof_array_size(val->setLayoutCount); + for (uint32_t i = 0; i < val->setLayoutCount; i++) + size += vn_sizeof_VkDescriptorSetLayout(&val->pSetLayouts[i]); + } else { + size += vn_sizeof_array_size(0); + } + size += vn_sizeof_uint32_t(&val->pushConstantRangeCount); + if (val->pPushConstantRanges) { + size += vn_sizeof_array_size(val->pushConstantRangeCount); + for (uint32_t i = 0; i < val->pushConstantRangeCount; i++) + size += vn_sizeof_VkPushConstantRange(&val->pPushConstantRanges[i]); + } else { + size += vn_sizeof_array_size(0); + } + return size; +} + +static inline size_t +vn_sizeof_VkPipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkPipelineLayoutCreateInfo_pnext(val->pNext); + size += vn_sizeof_VkPipelineLayoutCreateInfo_self(val); + + return size; +} + +static inline void +vn_encode_VkPipelineLayoutCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkPipelineLayoutCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineLayoutCreateInfo *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkFlags(enc, &val->flags); + vn_encode_uint32_t(enc, &val->setLayoutCount); + if (val->pSetLayouts) { + vn_encode_array_size(enc, val->setLayoutCount); + for (uint32_t i = 0; i < val->setLayoutCount; i++) + vn_encode_VkDescriptorSetLayout(enc, &val->pSetLayouts[i]); + } else { + vn_encode_array_size(enc, 0); + } + vn_encode_uint32_t(enc, &val->pushConstantRangeCount); + if (val->pPushConstantRanges) { + vn_encode_array_size(enc, val->pushConstantRangeCount); + for (uint32_t i = 0; i < val->pushConstantRangeCount; i++) + vn_encode_VkPushConstantRange(enc, &val->pPushConstantRanges[i]); + } else { + vn_encode_array_size(enc, 0); + } +} + +static inline void +vn_encode_VkPipelineLayoutCreateInfo(struct vn_cs_encoder *enc, const VkPipelineLayoutCreateInfo *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO }); + vn_encode_VkPipelineLayoutCreateInfo_pnext(enc, val->pNext); + vn_encode_VkPipelineLayoutCreateInfo_self(enc, val); +} + /* union VkClearColorValue */ static inline size_t @@ -1334,6 +1579,84 @@ vn_encode_VkWriteDescriptorSet(struct vn_cs_encoder *enc, const VkWriteDescripto vn_encode_VkWriteDescriptorSet_self(enc, val); } +/* struct VkImageSubresourceLayers */ + +static inline size_t +vn_sizeof_VkImageSubresourceLayers(const VkImageSubresourceLayers *val) +{ + size_t size = 0; + size += vn_sizeof_VkFlags(&val->aspectMask); + size += vn_sizeof_uint32_t(&val->mipLevel); + size += vn_sizeof_uint32_t(&val->baseArrayLayer); + size += vn_sizeof_uint32_t(&val->layerCount); + return size; +} + +static inline void +vn_encode_VkImageSubresourceLayers(struct vn_cs_encoder *enc, const VkImageSubresourceLayers *val) +{ + vn_encode_VkFlags(enc, &val->aspectMask); + vn_encode_uint32_t(enc, &val->mipLevel); + vn_encode_uint32_t(enc, &val->baseArrayLayer); + vn_encode_uint32_t(enc, &val->layerCount); +} + +/* struct VkBindMemoryStatus chain */ + +static inline size_t +vn_sizeof_VkBindMemoryStatus_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkBindMemoryStatus_self(const VkBindMemoryStatus *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_simple_pointer(val->pResult); + if (val->pResult) + size += vn_sizeof_VkResult(val->pResult); + return size; +} + +static inline size_t +vn_sizeof_VkBindMemoryStatus(const VkBindMemoryStatus *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkBindMemoryStatus_pnext(val->pNext); + size += vn_sizeof_VkBindMemoryStatus_self(val); + + return size; +} + +static inline void +vn_encode_VkBindMemoryStatus_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkBindMemoryStatus_self(struct vn_cs_encoder *enc, const VkBindMemoryStatus *val) +{ + /* skip val->{sType,pNext} */ + if (vn_encode_simple_pointer(enc, val->pResult)) + vn_encode_VkResult(enc, val->pResult); +} + +static inline void +vn_encode_VkBindMemoryStatus(struct vn_cs_encoder *enc, const VkBindMemoryStatus *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS }); + vn_encode_VkBindMemoryStatus_pnext(enc, val->pNext); + vn_encode_VkBindMemoryStatus_self(enc, val); +} + /* struct VkMemoryDedicatedRequirements chain */ static inline size_t @@ -1684,4 +2007,65 @@ vn_encode_VkMemoryBarrier2(struct vn_cs_encoder *enc, const VkMemoryBarrier2 *va vn_encode_VkMemoryBarrier2_self(enc, val); } +/* struct VkImageCopy2 chain */ + +static inline size_t +vn_sizeof_VkImageCopy2_pnext(const void *val) +{ + /* no known/supported struct */ + return vn_sizeof_simple_pointer(NULL); +} + +static inline size_t +vn_sizeof_VkImageCopy2_self(const VkImageCopy2 *val) +{ + size_t size = 0; + /* skip val->{sType,pNext} */ + size += vn_sizeof_VkImageSubresourceLayers(&val->srcSubresource); + size += vn_sizeof_VkOffset3D(&val->srcOffset); + size += vn_sizeof_VkImageSubresourceLayers(&val->dstSubresource); + size += vn_sizeof_VkOffset3D(&val->dstOffset); + size += vn_sizeof_VkExtent3D(&val->extent); + return size; +} + +static inline size_t +vn_sizeof_VkImageCopy2(const VkImageCopy2 *val) +{ + size_t size = 0; + + size += vn_sizeof_VkStructureType(&val->sType); + size += vn_sizeof_VkImageCopy2_pnext(val->pNext); + size += vn_sizeof_VkImageCopy2_self(val); + + return size; +} + +static inline void +vn_encode_VkImageCopy2_pnext(struct vn_cs_encoder *enc, const void *val) +{ + /* no known/supported struct */ + vn_encode_simple_pointer(enc, NULL); +} + +static inline void +vn_encode_VkImageCopy2_self(struct vn_cs_encoder *enc, const VkImageCopy2 *val) +{ + /* skip val->{sType,pNext} */ + vn_encode_VkImageSubresourceLayers(enc, &val->srcSubresource); + vn_encode_VkOffset3D(enc, &val->srcOffset); + vn_encode_VkImageSubresourceLayers(enc, &val->dstSubresource); + vn_encode_VkOffset3D(enc, &val->dstOffset); + vn_encode_VkExtent3D(enc, &val->extent); +} + +static inline void +vn_encode_VkImageCopy2(struct vn_cs_encoder *enc, const VkImageCopy2 *val) +{ + assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_COPY_2); + vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_COPY_2 }); + vn_encode_VkImageCopy2_pnext(enc, val->pNext); + vn_encode_VkImageCopy2_self(enc, val); +} + #endif /* VN_PROTOCOL_DRIVER_STRUCTS_H */ diff --git a/src/virtio/venus-protocol/vn_protocol_driver_types.h b/src/virtio/venus-protocol/vn_protocol_driver_types.h index 9d02454a1ff..67c4b007f0f 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_types.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_types.h @@ -1384,6 +1384,27 @@ vn_decode_VkMemoryMapFlagBits(struct vn_cs_decoder *dec, VkMemoryMapFlagBits *va vn_decode_int32_t(dec, (int32_t *)val); } +/* enum VkMemoryUnmapFlagBits */ + +static inline size_t +vn_sizeof_VkMemoryUnmapFlagBits(const VkMemoryUnmapFlagBits *val) +{ + assert(sizeof(*val) == sizeof(int32_t)); + return vn_sizeof_int32_t((const int32_t *)val); +} + +static inline void +vn_encode_VkMemoryUnmapFlagBits(struct vn_cs_encoder *enc, const VkMemoryUnmapFlagBits *val) +{ + vn_encode_int32_t(enc, (const int32_t *)val); +} + +static inline void +vn_decode_VkMemoryUnmapFlagBits(struct vn_cs_decoder *dec, VkMemoryUnmapFlagBits *val) +{ + vn_decode_int32_t(dec, (int32_t *)val); +} + /* enum VkImageAspectFlagBits */ static inline size_t @@ -1780,44 +1801,44 @@ vn_decode_VkRenderingFlagBits(struct vn_cs_decoder *dec, VkRenderingFlagBits *va vn_decode_int32_t(dec, (int32_t *)val); } -/* typedef VkFlags64 VkPipelineCreateFlagBits2KHR */ +/* typedef VkFlags64 VkPipelineCreateFlagBits2 */ static inline size_t -vn_sizeof_VkPipelineCreateFlagBits2KHR(const VkPipelineCreateFlagBits2KHR *val) +vn_sizeof_VkPipelineCreateFlagBits2(const VkPipelineCreateFlagBits2 *val) { assert(sizeof(*val) == sizeof(uint64_t)); return vn_sizeof_uint64_t((const uint64_t *)val); } static inline void -vn_encode_VkPipelineCreateFlagBits2KHR(struct vn_cs_encoder *enc, const VkPipelineCreateFlagBits2KHR *val) +vn_encode_VkPipelineCreateFlagBits2(struct vn_cs_encoder *enc, const VkPipelineCreateFlagBits2 *val) { vn_encode_uint64_t(enc, (const uint64_t *)val); } static inline void -vn_decode_VkPipelineCreateFlagBits2KHR(struct vn_cs_decoder *dec, VkPipelineCreateFlagBits2KHR *val) +vn_decode_VkPipelineCreateFlagBits2(struct vn_cs_decoder *dec, VkPipelineCreateFlagBits2 *val) { vn_decode_uint64_t(dec, (uint64_t *)val); } -/* typedef VkFlags64 VkBufferUsageFlagBits2KHR */ +/* typedef VkFlags64 VkBufferUsageFlagBits2 */ static inline size_t -vn_sizeof_VkBufferUsageFlagBits2KHR(const VkBufferUsageFlagBits2KHR *val) +vn_sizeof_VkBufferUsageFlagBits2(const VkBufferUsageFlagBits2 *val) { assert(sizeof(*val) == sizeof(uint64_t)); return vn_sizeof_uint64_t((const uint64_t *)val); } static inline void -vn_encode_VkBufferUsageFlagBits2KHR(struct vn_cs_encoder *enc, const VkBufferUsageFlagBits2KHR *val) +vn_encode_VkBufferUsageFlagBits2(struct vn_cs_encoder *enc, const VkBufferUsageFlagBits2 *val) { vn_encode_uint64_t(enc, (const uint64_t *)val); } static inline void -vn_decode_VkBufferUsageFlagBits2KHR(struct vn_cs_decoder *dec, VkBufferUsageFlagBits2KHR *val) +vn_decode_VkBufferUsageFlagBits2(struct vn_cs_decoder *dec, VkBufferUsageFlagBits2 *val) { vn_decode_uint64_t(dec, (uint64_t *)val); } @@ -2137,6 +2158,27 @@ vn_decode_VkSubmitFlagBits(struct vn_cs_decoder *dec, VkSubmitFlagBits *val) vn_decode_int32_t(dec, (int32_t *)val); } +/* enum VkHostImageCopyFlagBits */ + +static inline size_t +vn_sizeof_VkHostImageCopyFlagBits(const VkHostImageCopyFlagBits *val) +{ + assert(sizeof(*val) == sizeof(int32_t)); + return vn_sizeof_int32_t((const int32_t *)val); +} + +static inline void +vn_encode_VkHostImageCopyFlagBits(struct vn_cs_encoder *enc, const VkHostImageCopyFlagBits *val) +{ + vn_encode_int32_t(enc, (const int32_t *)val); +} + +static inline void +vn_decode_VkHostImageCopyFlagBits(struct vn_cs_decoder *dec, VkHostImageCopyFlagBits *val) +{ + vn_decode_int32_t(dec, (int32_t *)val); +} + /* enum VkGraphicsPipelineLibraryFlagBitsEXT */ static inline size_t @@ -3061,6 +3103,45 @@ vn_decode_VkPointClippingBehavior(struct vn_cs_decoder *dec, VkPointClippingBeha vn_decode_int32_t(dec, (int32_t *)val); } +/* enum VkQueueGlobalPriority */ + +static inline size_t +vn_sizeof_VkQueueGlobalPriority(const VkQueueGlobalPriority *val) +{ + assert(sizeof(*val) == sizeof(int32_t)); + return vn_sizeof_int32_t((const int32_t *)val); +} + +static inline void +vn_encode_VkQueueGlobalPriority(struct vn_cs_encoder *enc, const VkQueueGlobalPriority *val) +{ + vn_encode_int32_t(enc, (const int32_t *)val); +} + +static inline void +vn_decode_VkQueueGlobalPriority(struct vn_cs_decoder *dec, VkQueueGlobalPriority *val) +{ + vn_decode_int32_t(dec, (int32_t *)val); +} + +static inline size_t +vn_sizeof_VkQueueGlobalPriority_array(const VkQueueGlobalPriority *val, uint32_t count) +{ + return vn_sizeof_int32_t_array((const int32_t *)val, count); +} + +static inline void +vn_encode_VkQueueGlobalPriority_array(struct vn_cs_encoder *enc, const VkQueueGlobalPriority *val, uint32_t count) +{ + vn_encode_int32_t_array(enc, (const int32_t *)val, count); +} + +static inline void +vn_decode_VkQueueGlobalPriority_array(struct vn_cs_decoder *dec, VkQueueGlobalPriority *val, uint32_t count) +{ + vn_decode_int32_t_array(dec, (int32_t *)val, count); +} + /* enum VkTimeDomainKHR */ static inline size_t @@ -3142,23 +3223,23 @@ vn_decode_VkSemaphoreType(struct vn_cs_decoder *dec, VkSemaphoreType *val) vn_decode_int32_t(dec, (int32_t *)val); } -/* enum VkLineRasterizationModeKHR */ +/* enum VkLineRasterizationMode */ static inline size_t -vn_sizeof_VkLineRasterizationModeKHR(const VkLineRasterizationModeKHR *val) +vn_sizeof_VkLineRasterizationMode(const VkLineRasterizationMode *val) { assert(sizeof(*val) == sizeof(int32_t)); return vn_sizeof_int32_t((const int32_t *)val); } static inline void -vn_encode_VkLineRasterizationModeKHR(struct vn_cs_encoder *enc, const VkLineRasterizationModeKHR *val) +vn_encode_VkLineRasterizationMode(struct vn_cs_encoder *enc, const VkLineRasterizationMode *val) { vn_encode_int32_t(enc, (const int32_t *)val); } static inline void -vn_decode_VkLineRasterizationModeKHR(struct vn_cs_decoder *dec, VkLineRasterizationModeKHR *val) +vn_decode_VkLineRasterizationMode(struct vn_cs_decoder *dec, VkLineRasterizationMode *val) { vn_decode_int32_t(dec, (int32_t *)val); } @@ -3184,6 +3265,48 @@ vn_decode_VkProvokingVertexModeEXT(struct vn_cs_decoder *dec, VkProvokingVertexM vn_decode_int32_t(dec, (int32_t *)val); } +/* enum VkPipelineRobustnessBufferBehavior */ + +static inline size_t +vn_sizeof_VkPipelineRobustnessBufferBehavior(const VkPipelineRobustnessBufferBehavior *val) +{ + assert(sizeof(*val) == sizeof(int32_t)); + return vn_sizeof_int32_t((const int32_t *)val); +} + +static inline void +vn_encode_VkPipelineRobustnessBufferBehavior(struct vn_cs_encoder *enc, const VkPipelineRobustnessBufferBehavior *val) +{ + vn_encode_int32_t(enc, (const int32_t *)val); +} + +static inline void +vn_decode_VkPipelineRobustnessBufferBehavior(struct vn_cs_decoder *dec, VkPipelineRobustnessBufferBehavior *val) +{ + vn_decode_int32_t(dec, (int32_t *)val); +} + +/* enum VkPipelineRobustnessImageBehavior */ + +static inline size_t +vn_sizeof_VkPipelineRobustnessImageBehavior(const VkPipelineRobustnessImageBehavior *val) +{ + assert(sizeof(*val) == sizeof(int32_t)); + return vn_sizeof_int32_t((const int32_t *)val); +} + +static inline void +vn_encode_VkPipelineRobustnessImageBehavior(struct vn_cs_encoder *enc, const VkPipelineRobustnessImageBehavior *val) +{ + vn_encode_int32_t(enc, (const int32_t *)val); +} + +static inline void +vn_decode_VkPipelineRobustnessImageBehavior(struct vn_cs_decoder *dec, VkPipelineRobustnessImageBehavior *val) +{ + vn_decode_int32_t(dec, (int32_t *)val); +} + /* enum VkTessellationDomainOrigin */ static inline size_t diff --git a/src/virtio/vulkan/vn_command_buffer.c b/src/virtio/vulkan/vn_command_buffer.c index c8c423442ca..9a11d1079b9 100644 --- a/src/virtio/vulkan/vn_command_buffer.c +++ b/src/virtio/vulkan/vn_command_buffer.c @@ -1252,14 +1252,14 @@ vn_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, } void -vn_CmdBindIndexBuffer2KHR(VkCommandBuffer commandBuffer, - VkBuffer buffer, - VkDeviceSize offset, - VkDeviceSize size, - VkIndexType indexType) +vn_CmdBindIndexBuffer2(VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkDeviceSize size, + VkIndexType indexType) { - VN_CMD_ENQUEUE(vkCmdBindIndexBuffer2KHR, commandBuffer, buffer, offset, - size, indexType); + VN_CMD_ENQUEUE(vkCmdBindIndexBuffer2, commandBuffer, buffer, offset, size, + indexType); } void @@ -2005,11 +2005,11 @@ vn_CmdDispatchBase(VkCommandBuffer commandBuffer, } void -vn_CmdSetLineStippleKHR(VkCommandBuffer commandBuffer, - uint32_t lineStippleFactor, - uint16_t lineStipplePattern) +vn_CmdSetLineStipple(VkCommandBuffer commandBuffer, + uint32_t lineStippleFactor, + uint16_t lineStipplePattern) { - VN_CMD_ENQUEUE(vkCmdSetLineStippleKHR, commandBuffer, lineStippleFactor, + VN_CMD_ENQUEUE(vkCmdSetLineStipple, commandBuffer, lineStippleFactor, lineStipplePattern); } @@ -2275,12 +2275,12 @@ vn_CmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer, } void -vn_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, - VkPipelineBindPoint pipelineBindPoint, - VkPipelineLayout layout, - uint32_t set, - uint32_t descriptorWriteCount, - const VkWriteDescriptorSet *pDescriptorWrites) +vn_CmdPushDescriptorSet(VkCommandBuffer commandBuffer, + VkPipelineBindPoint pipelineBindPoint, + VkPipelineLayout layout, + uint32_t set, + uint32_t descriptorWriteCount, + const VkWriteDescriptorSet *pDescriptorWrites) { const uint32_t img_info_count = vn_descriptor_set_count_write_images( descriptorWriteCount, pDescriptorWrites); @@ -2294,7 +2294,7 @@ vn_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, pDescriptorWrites = vn_descriptor_set_get_writes( descriptorWriteCount, pDescriptorWrites, layout, &local); - VN_CMD_ENQUEUE(vkCmdPushDescriptorSetKHR, commandBuffer, pipelineBindPoint, + VN_CMD_ENQUEUE(vkCmdPushDescriptorSet, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); STACK_ARRAY_FINISH(writes); @@ -2302,7 +2302,7 @@ vn_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, } void -vn_CmdPushDescriptorSetWithTemplateKHR( +vn_CmdPushDescriptorSetWithTemplate( VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, @@ -2328,7 +2328,7 @@ vn_CmdPushDescriptorSetWithTemplateKHR( vn_descriptor_set_fill_update_with_template(templ, VK_NULL_HANDLE, pData, &update); - VN_CMD_ENQUEUE(vkCmdPushDescriptorSetKHR, commandBuffer, + VN_CMD_ENQUEUE(vkCmdPushDescriptorSet, commandBuffer, templ->push.pipeline_bind_point, layout, set, update.write_count, update.writes); diff --git a/src/virtio/vulkan/vn_image.c b/src/virtio/vulkan/vn_image.c index 00d7364c456..31650f5c074 100644 --- a/src/virtio/vulkan/vn_image.c +++ b/src/virtio/vulkan/vn_image.c @@ -1159,28 +1159,29 @@ vn_GetDeviceImageSparseMemoryRequirements( } void -vn_GetDeviceImageSubresourceLayoutKHR(VkDevice device, - const VkDeviceImageSubresourceInfoKHR *pInfo, - VkSubresourceLayout2KHR *pLayout) +vn_GetDeviceImageSubresourceLayout( + VkDevice device, + const VkDeviceImageSubresourceInfoKHR *pInfo, + VkSubresourceLayout2 *pLayout) { struct vn_device *dev = vn_device_from_handle(device); /* TODO per-device cache */ - vn_call_vkGetDeviceImageSubresourceLayoutKHR( - dev->primary_ring, device, pInfo, pLayout); + vn_call_vkGetDeviceImageSubresourceLayout(dev->primary_ring, device, pInfo, + pLayout); } void -vn_GetImageSubresourceLayout2KHR(VkDevice device, - VkImage image, - const VkImageSubresource2KHR *pSubresource, - VkSubresourceLayout2KHR *pLayout) +vn_GetImageSubresourceLayout2(VkDevice device, + VkImage image, + const VkImageSubresource2 *pSubresource, + VkSubresourceLayout2 *pLayout) { struct vn_device *dev = vn_device_from_handle(device); struct vn_image *img = vn_image_from_handle(image); /* override aspect mask for wsi/ahb images with tiling modifier */ - VkImageSubresource2KHR local_subresource; + VkImageSubresource2 local_subresource; if ((img->wsi.is_wsi && img->wsi.tiling_override == VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT) || img->deferred_info) { @@ -1210,6 +1211,6 @@ vn_GetImageSubresourceLayout2KHR(VkDevice device, } } - vn_call_vkGetImageSubresourceLayout2KHR( - dev->primary_ring, device, image, pSubresource, pLayout); + vn_call_vkGetImageSubresourceLayout2(dev->primary_ring, device, image, + pSubresource, pLayout); } diff --git a/src/virtio/vulkan/vn_render_pass.c b/src/virtio/vulkan/vn_render_pass.c index 3110dba63e0..171968d6819 100644 --- a/src/virtio/vulkan/vn_render_pass.c +++ b/src/virtio/vulkan/vn_render_pass.c @@ -335,15 +335,15 @@ vn_GetRenderAreaGranularity(VkDevice device, } void -vn_GetRenderingAreaGranularityKHR(VkDevice device, - const VkRenderingAreaInfoKHR *pRenderingAreaInfo, - VkExtent2D *pGranularity) +vn_GetRenderingAreaGranularity(VkDevice device, + const VkRenderingAreaInfo *pRenderingAreaInfo, + VkExtent2D *pGranularity) { struct vn_device *dev = vn_device_from_handle(device); /* TODO per-device cache */ - vn_call_vkGetRenderingAreaGranularityKHR(dev->primary_ring, device, - pRenderingAreaInfo, pGranularity); + vn_call_vkGetRenderingAreaGranularity(dev->primary_ring, device, + pRenderingAreaInfo, pGranularity); } /* framebuffer commands */