Update venus-protocol to add extension VK_VALVE_mutable_descriptor_type

Signed-off-by: Dawn Han <dawnhan@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975>
This commit is contained in:
Dawn Han 2022-07-11 19:25:29 +00:00 committed by Marge Bot
parent 1de5d2ac01
commit 6f8220e5c9
6 changed files with 314 additions and 3 deletions

View file

@ -1,4 +1,4 @@
/* This file is generated by venus-protocol git-6c35d9f3. */
/* This file is generated by venus-protocol git-78c39b98. */
/*
* Copyright 2020 Google LLC

View file

@ -100,6 +100,14 @@ vn_sizeof_VkDescriptorPoolCreateInfo_pnext(const void *val)
size += vn_sizeof_VkDescriptorPoolCreateInfo_pnext(pnext->pNext);
size += vn_sizeof_VkDescriptorPoolInlineUniformBlockCreateInfo_self((const VkDescriptorPoolInlineUniformBlockCreateInfo *)pnext);
return size;
case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE:
if (!vn_cs_renderer_protocol_has_extension(352 /* VK_VALVE_mutable_descriptor_type */))
break;
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
size += vn_sizeof_VkDescriptorPoolCreateInfo_pnext(pnext->pNext);
size += vn_sizeof_VkMutableDescriptorTypeCreateInfoVALVE_self((const VkMutableDescriptorTypeCreateInfoVALVE *)pnext);
return size;
default:
/* ignore unknown/unsupported struct */
break;
@ -155,6 +163,14 @@ vn_encode_VkDescriptorPoolCreateInfo_pnext(struct vn_cs_encoder *enc, const void
vn_encode_VkDescriptorPoolCreateInfo_pnext(enc, pnext->pNext);
vn_encode_VkDescriptorPoolInlineUniformBlockCreateInfo_self(enc, (const VkDescriptorPoolInlineUniformBlockCreateInfo *)pnext);
return;
case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE:
if (!vn_cs_renderer_protocol_has_extension(352 /* VK_VALVE_mutable_descriptor_type */))
break;
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkDescriptorPoolCreateInfo_pnext(enc, pnext->pNext);
vn_encode_VkMutableDescriptorTypeCreateInfoVALVE_self(enc, (const VkMutableDescriptorTypeCreateInfoVALVE *)pnext);
return;
default:
/* ignore unknown/unsupported struct */
break;

View file

@ -130,6 +130,14 @@ vn_sizeof_VkDescriptorSetLayoutCreateInfo_pnext(const void *val)
size += vn_sizeof_VkDescriptorSetLayoutCreateInfo_pnext(pnext->pNext);
size += vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo_self((const VkDescriptorSetLayoutBindingFlagsCreateInfo *)pnext);
return size;
case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE:
if (!vn_cs_renderer_protocol_has_extension(352 /* VK_VALVE_mutable_descriptor_type */))
break;
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
size += vn_sizeof_VkDescriptorSetLayoutCreateInfo_pnext(pnext->pNext);
size += vn_sizeof_VkMutableDescriptorTypeCreateInfoVALVE_self((const VkMutableDescriptorTypeCreateInfoVALVE *)pnext);
return size;
default:
/* ignore unknown/unsupported struct */
break;
@ -182,6 +190,14 @@ vn_encode_VkDescriptorSetLayoutCreateInfo_pnext(struct vn_cs_encoder *enc, const
vn_encode_VkDescriptorSetLayoutCreateInfo_pnext(enc, pnext->pNext);
vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo_self(enc, (const VkDescriptorSetLayoutBindingFlagsCreateInfo *)pnext);
return;
case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE:
if (!vn_cs_renderer_protocol_has_extension(352 /* VK_VALVE_mutable_descriptor_type */))
break;
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkDescriptorSetLayoutCreateInfo_pnext(enc, pnext->pNext);
vn_encode_VkMutableDescriptorTypeCreateInfoVALVE_self(enc, (const VkMutableDescriptorTypeCreateInfoVALVE *)pnext);
return;
default:
/* ignore unknown/unsupported struct */
break;

View file

@ -7655,6 +7655,137 @@ vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures_partial(struct vn_cs
vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self_partial(enc, val);
}
/* struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE chain */
static inline size_t
vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_pnext(const void *val)
{
/* no known/supported struct */
return vn_sizeof_simple_pointer(NULL);
}
static inline size_t
vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self(const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *val)
{
size_t size = 0;
/* skip val->{sType,pNext} */
size += vn_sizeof_VkBool32(&val->mutableDescriptorType);
return size;
}
static inline size_t
vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE(const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *val)
{
size_t size = 0;
size += vn_sizeof_VkStructureType(&val->sType);
size += vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_pnext(val->pNext);
size += vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self(val);
return size;
}
static inline void
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_pnext(struct vn_cs_encoder *enc, const void *val)
{
/* no known/supported struct */
vn_encode_simple_pointer(enc, NULL);
}
static inline void
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *val)
{
/* skip val->{sType,pNext} */
vn_encode_VkBool32(enc, &val->mutableDescriptorType);
}
static inline void
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE(struct vn_cs_encoder *enc, const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *val)
{
assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE);
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE });
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_pnext(enc, val->pNext);
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self(enc, val);
}
static inline void
vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_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_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *val)
{
/* skip val->{sType,pNext} */
vn_decode_VkBool32(dec, &val->mutableDescriptorType);
}
static inline void
vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE(struct vn_cs_decoder *dec, VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *val)
{
VkStructureType stype;
vn_decode_VkStructureType(dec, &stype);
assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE);
assert(val->sType == stype);
vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_pnext(dec, val->pNext);
vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self(dec, val);
}
static inline size_t
vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_pnext_partial(const void *val)
{
/* no known/supported struct */
return vn_sizeof_simple_pointer(NULL);
}
static inline size_t
vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self_partial(const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *val)
{
size_t size = 0;
/* skip val->{sType,pNext} */
/* skip val->mutableDescriptorType */
return size;
}
static inline size_t
vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_partial(const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *val)
{
size_t size = 0;
size += vn_sizeof_VkStructureType(&val->sType);
size += vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_pnext_partial(val->pNext);
size += vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self_partial(val);
return size;
}
static inline void
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_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_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *val)
{
/* skip val->{sType,pNext} */
/* skip val->mutableDescriptorType */
}
static inline void
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *val)
{
assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE);
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE });
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_pnext_partial(enc, val->pNext);
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self_partial(enc, val);
}
/* struct VkPhysicalDeviceSynchronization2Features chain */
static inline size_t
@ -8766,6 +8897,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val)
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceShaderTerminateInvocationFeatures_self((const VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE:
if (!vn_cs_renderer_protocol_has_extension(352 /* VK_VALVE_mutable_descriptor_type */))
break;
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self((const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *)pnext);
return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
if (!vn_cs_renderer_protocol_has_extension(315 /* VK_KHR_synchronization2 */))
break;
@ -9162,6 +9301,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void
vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self(enc, (const VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE:
if (!vn_cs_renderer_protocol_has_extension(352 /* VK_VALVE_mutable_descriptor_type */))
break;
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self(enc, (const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *)pnext);
return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
if (!vn_cs_renderer_protocol_has_extension(315 /* VK_KHR_synchronization2 */))
break;
@ -9431,6 +9578,10 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self(dec, (VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE:
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self(dec, (VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *)pnext);
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceSynchronization2Features_self(dec, (VkPhysicalDeviceSynchronization2Features *)pnext);
@ -9798,6 +9949,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val)
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceShaderTerminateInvocationFeatures_self_partial((const VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE:
if (!vn_cs_renderer_protocol_has_extension(352 /* VK_VALVE_mutable_descriptor_type */))
break;
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self_partial((const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *)pnext);
return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
if (!vn_cs_renderer_protocol_has_extension(315 /* VK_KHR_synchronization2 */))
break;
@ -10194,6 +10353,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, con
vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self_partial(enc, (const VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE:
if (!vn_cs_renderer_protocol_has_extension(352 /* VK_VALVE_mutable_descriptor_type */))
break;
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self_partial(enc, (const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *)pnext);
return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
if (!vn_cs_renderer_protocol_has_extension(315 /* VK_KHR_synchronization2 */))
break;
@ -10675,6 +10842,14 @@ vn_sizeof_VkDeviceCreateInfo_pnext(const void *val)
size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceShaderTerminateInvocationFeatures_self((const VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE:
if (!vn_cs_renderer_protocol_has_extension(352 /* VK_VALVE_mutable_descriptor_type */))
break;
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self((const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *)pnext);
return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
if (!vn_cs_renderer_protocol_has_extension(315 /* VK_KHR_synchronization2 */))
break;
@ -11124,6 +11299,14 @@ vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self(enc, (const VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE:
if (!vn_cs_renderer_protocol_has_extension(352 /* VK_VALVE_mutable_descriptor_type */))
break;
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE_self(enc, (const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE *)pnext);
return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
if (!vn_cs_renderer_protocol_has_extension(315 /* VK_KHR_synchronization2 */))
break;

View file

@ -19,8 +19,8 @@ struct vn_info_extension {
};
/* sorted by extension names for bsearch */
static const uint32_t _vn_info_extension_count = 90;
static const struct vn_info_extension _vn_info_extensions[90] = {
static const uint32_t _vn_info_extension_count = 91;
static const struct vn_info_extension _vn_info_extensions[91] = {
{ "VK_EXT_4444_formats", 341, 1 },
{ "VK_EXT_calibrated_timestamps", 185, 2 },
{ "VK_EXT_command_serialization", 384, 0 },
@ -111,6 +111,7 @@ static const struct vn_info_extension _vn_info_extensions[90] = {
{ "VK_KHR_vulkan_memory_model", 212, 3 },
{ "VK_KHR_zero_initialize_workgroup_memory", 326, 1 },
{ "VK_MESA_venus_protocol", 385, 100000 },
{ "VK_VALVE_mutable_descriptor_type", 352, 1 },
};
static inline uint32_t

View file

@ -785,6 +785,101 @@ vn_encode_VkClearColorValue(struct vn_cs_encoder *enc, const VkClearColorValue *
vn_encode_VkClearColorValue_tag(enc, val, 2); /* union with default tag */
}
/* struct VkMutableDescriptorTypeListVALVE */
static inline size_t
vn_sizeof_VkMutableDescriptorTypeListVALVE(const VkMutableDescriptorTypeListVALVE *val)
{
size_t size = 0;
size += vn_sizeof_uint32_t(&val->descriptorTypeCount);
if (val->pDescriptorTypes) {
size += vn_sizeof_array_size(val->descriptorTypeCount);
size += vn_sizeof_VkDescriptorType_array(val->pDescriptorTypes, val->descriptorTypeCount);
} else {
size += vn_sizeof_array_size(0);
}
return size;
}
static inline void
vn_encode_VkMutableDescriptorTypeListVALVE(struct vn_cs_encoder *enc, const VkMutableDescriptorTypeListVALVE *val)
{
vn_encode_uint32_t(enc, &val->descriptorTypeCount);
if (val->pDescriptorTypes) {
vn_encode_array_size(enc, val->descriptorTypeCount);
vn_encode_VkDescriptorType_array(enc, val->pDescriptorTypes, val->descriptorTypeCount);
} else {
vn_encode_array_size(enc, 0);
}
}
/* struct VkMutableDescriptorTypeCreateInfoVALVE chain */
static inline size_t
vn_sizeof_VkMutableDescriptorTypeCreateInfoVALVE_pnext(const void *val)
{
/* no known/supported struct */
return vn_sizeof_simple_pointer(NULL);
}
static inline size_t
vn_sizeof_VkMutableDescriptorTypeCreateInfoVALVE_self(const VkMutableDescriptorTypeCreateInfoVALVE *val)
{
size_t size = 0;
/* skip val->{sType,pNext} */
size += vn_sizeof_uint32_t(&val->mutableDescriptorTypeListCount);
if (val->pMutableDescriptorTypeLists) {
size += vn_sizeof_array_size(val->mutableDescriptorTypeListCount);
for (uint32_t i = 0; i < val->mutableDescriptorTypeListCount; i++)
size += vn_sizeof_VkMutableDescriptorTypeListVALVE(&val->pMutableDescriptorTypeLists[i]);
} else {
size += vn_sizeof_array_size(0);
}
return size;
}
static inline size_t
vn_sizeof_VkMutableDescriptorTypeCreateInfoVALVE(const VkMutableDescriptorTypeCreateInfoVALVE *val)
{
size_t size = 0;
size += vn_sizeof_VkStructureType(&val->sType);
size += vn_sizeof_VkMutableDescriptorTypeCreateInfoVALVE_pnext(val->pNext);
size += vn_sizeof_VkMutableDescriptorTypeCreateInfoVALVE_self(val);
return size;
}
static inline void
vn_encode_VkMutableDescriptorTypeCreateInfoVALVE_pnext(struct vn_cs_encoder *enc, const void *val)
{
/* no known/supported struct */
vn_encode_simple_pointer(enc, NULL);
}
static inline void
vn_encode_VkMutableDescriptorTypeCreateInfoVALVE_self(struct vn_cs_encoder *enc, const VkMutableDescriptorTypeCreateInfoVALVE *val)
{
/* skip val->{sType,pNext} */
vn_encode_uint32_t(enc, &val->mutableDescriptorTypeListCount);
if (val->pMutableDescriptorTypeLists) {
vn_encode_array_size(enc, val->mutableDescriptorTypeListCount);
for (uint32_t i = 0; i < val->mutableDescriptorTypeListCount; i++)
vn_encode_VkMutableDescriptorTypeListVALVE(enc, &val->pMutableDescriptorTypeLists[i]);
} else {
vn_encode_array_size(enc, 0);
}
}
static inline void
vn_encode_VkMutableDescriptorTypeCreateInfoVALVE(struct vn_cs_encoder *enc, const VkMutableDescriptorTypeCreateInfoVALVE *val)
{
assert(val->sType == VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE);
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE });
vn_encode_VkMutableDescriptorTypeCreateInfoVALVE_pnext(enc, val->pNext);
vn_encode_VkMutableDescriptorTypeCreateInfoVALVE_self(enc, val);
}
/* struct VkMemoryDedicatedRequirements chain */
static inline size_t