venus: sync protocol for v1.4.307 release and update promoted entries

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33567>
This commit is contained in:
Yiwei Zhang 2025-02-14 19:37:24 -08:00 committed by Marge Bot
parent ae2830e520
commit 207c9ec65a
17 changed files with 5955 additions and 848 deletions

View file

@ -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

View file

@ -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;

View file

@ -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 */

File diff suppressed because it is too large Load diff

View file

@ -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,

File diff suppressed because it is too large Load diff

View file

@ -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();

File diff suppressed because it is too large Load diff

View file

@ -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

View file

@ -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;

View file

@ -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;

View file

@ -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)

View file

@ -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 */

View file

@ -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

View file

@ -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);

View file

@ -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);
}

View file

@ -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 */