-/* This file is generated by venus-protocol git-0048ccc3. */
+/* This file is generated by venus-protocol git-e0866cb3. */
/*
* Copyright 2020 Google LLC
vn_encode_VkExtent3D(enc, &val->imageExtent);
}
-/* union VkClearColorValue */
-
-static inline size_t
-vn_sizeof_VkClearColorValue_tag(const VkClearColorValue *val, uint32_t tag)
-{
- size_t size = vn_sizeof_uint32_t(&tag);
- switch (tag) {
- case 0:
- size += vn_sizeof_array_size(4);
- size += vn_sizeof_float_array(val->float32, 4);
- break;
- case 1:
- size += vn_sizeof_array_size(4);
- size += vn_sizeof_int32_t_array(val->int32, 4);
- break;
- case 2:
- size += vn_sizeof_array_size(4);
- size += vn_sizeof_uint32_t_array(val->uint32, 4);
- break;
- default:
- assert(false);
- break;
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkClearColorValue(const VkClearColorValue *val)
-{
- return vn_sizeof_VkClearColorValue_tag(val, 2);
-}
-
-static inline void
-vn_encode_VkClearColorValue_tag(struct vn_cs_encoder *enc, const VkClearColorValue *val, uint32_t tag)
-{
- vn_encode_uint32_t(enc, &tag);
- switch (tag) {
- case 0:
- vn_encode_array_size(enc, 4);
- vn_encode_float_array(enc, val->float32, 4);
- break;
- case 1:
- vn_encode_array_size(enc, 4);
- vn_encode_int32_t_array(enc, val->int32, 4);
- break;
- case 2:
- vn_encode_array_size(enc, 4);
- vn_encode_uint32_t_array(enc, val->uint32, 4);
- break;
- default:
- assert(false);
- break;
- }
-}
-
-static inline void
-vn_encode_VkClearColorValue(struct vn_cs_encoder *enc, const VkClearColorValue *val)
-{
- vn_encode_VkClearColorValue_tag(enc, val, 2); /* union with default tag */
-}
-
/* struct VkClearDepthStencilValue */
static inline size_t
vn_encode_VkPhysicalDeviceVulkan13Features_self_partial(enc, val);
}
+/* struct VkPhysicalDeviceCustomBorderColorFeaturesEXT chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(const VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->customBorderColors);
+ size += vn_sizeof_VkBool32(&val->customBorderColorWithoutFormat);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT(const VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->customBorderColors);
+ vn_encode_VkBool32(enc, &val->customBorderColorWithoutFormat);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT });
+ vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_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_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->customBorderColors);
+ vn_decode_VkBool32(dec, &val->customBorderColorWithoutFormat);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial(const VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->customBorderColors */
+ /* skip val->customBorderColorWithoutFormat */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT_partial(const VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_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_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->customBorderColors */
+ /* skip val->customBorderColorWithoutFormat */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT });
+ vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial(enc, val);
+}
+
/* struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT chain */
static inline size_t
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceVulkan13Features_self((const VkPhysicalDeviceVulkan13Features *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self((const VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceVulkan13Features_self(enc, (const VkPhysicalDeviceVulkan13Features *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(enc, (const VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceVulkan13Features_self(dec, (VkPhysicalDeviceVulkan13Features *)pnext);
break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(dec, (VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
+ break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self(dec, (VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *)pnext);
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceVulkan13Features_self_partial((const VkPhysicalDeviceVulkan13Features *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial((const VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceVulkan13Features_self_partial(enc, (const VkPhysicalDeviceVulkan13Features *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial(enc, (const VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceVulkan13Features_self((const VkPhysicalDeviceVulkan13Features *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self((const VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceVulkan13Features_self(enc, (const VkPhysicalDeviceVulkan13Features *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(enc, (const VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkPhysicalDeviceVulkan13Properties_self_partial(enc, val);
}
+/* struct VkPhysicalDeviceCustomBorderColorPropertiesEXT chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(const VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->maxCustomBorderColorSamplers);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceCustomBorderColorPropertiesEXT(const VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_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_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint32_t(dec, &val->maxCustomBorderColorSamplers);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial(const VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->maxCustomBorderColorSamplers */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceCustomBorderColorPropertiesEXT_partial(const VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_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_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->maxCustomBorderColorSamplers */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT });
+ vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial(enc, val);
+}
+
/* struct VkPhysicalDeviceShaderIntegerDotProductProperties chain */
static inline size_t
size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceVulkan13Properties_self((const VkPhysicalDeviceVulkan13Properties *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self((const VkPhysicalDeviceCustomBorderColorPropertiesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceVulkan13Properties_self(dec, (VkPhysicalDeviceVulkan13Properties *)pnext);
break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(dec, (VkPhysicalDeviceCustomBorderColorPropertiesEXT *)pnext);
+ break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES:
vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceShaderIntegerDotProductProperties_self(dec, (VkPhysicalDeviceShaderIntegerDotProductProperties *)pnext);
size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceVulkan13Properties_self_partial((const VkPhysicalDeviceVulkan13Properties *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial((const VkPhysicalDeviceCustomBorderColorPropertiesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceVulkan13Properties_self_partial(enc, (const VkPhysicalDeviceVulkan13Properties *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial(enc, (const VkPhysicalDeviceCustomBorderColorPropertiesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
static inline const struct vn_info_extension *
vn_info_extension_get(const char *name)
{
- static const struct vn_info_extension vn_info_extensions[77] = {
+ static const struct vn_info_extension vn_info_extensions[78] = {
{ 0, "VK_EXT_4444_formats", 1 },
{ 1, "VK_EXT_command_serialization", 0 },
- { 2, "VK_EXT_descriptor_indexing", 2 },
- { 3, "VK_EXT_extended_dynamic_state", 1 },
- { 4, "VK_EXT_extended_dynamic_state2", 1 },
- { 5, "VK_EXT_external_memory_dma_buf", 1 },
- { 6, "VK_EXT_host_query_reset", 1 },
- { 7, "VK_EXT_image_drm_format_modifier", 2 },
- { 8, "VK_EXT_image_robustness", 1 },
- { 9, "VK_EXT_inline_uniform_block", 1 },
- { 10, "VK_EXT_pipeline_creation_cache_control", 3 },
- { 11, "VK_EXT_pipeline_creation_feedback", 1 },
- { 12, "VK_EXT_private_data", 1 },
- { 13, "VK_EXT_queue_family_foreign", 1 },
- { 14, "VK_EXT_sampler_filter_minmax", 2 },
- { 15, "VK_EXT_scalar_block_layout", 1 },
- { 16, "VK_EXT_separate_stencil_usage", 1 },
- { 17, "VK_EXT_shader_demote_to_helper_invocation", 1 },
- { 18, "VK_EXT_shader_viewport_index_layer", 1 },
- { 19, "VK_EXT_subgroup_size_control", 2 },
- { 20, "VK_EXT_texel_buffer_alignment", 1 },
- { 21, "VK_EXT_texture_compression_astc_hdr", 1 },
- { 22, "VK_EXT_tooling_info", 1 },
- { 23, "VK_EXT_transform_feedback", 1 },
- { 24, "VK_EXT_ycbcr_2plane_444_formats", 1 },
- { 25, "VK_KHR_16bit_storage", 1 },
- { 26, "VK_KHR_8bit_storage", 1 },
- { 27, "VK_KHR_bind_memory2", 1 },
- { 28, "VK_KHR_buffer_device_address", 1 },
- { 29, "VK_KHR_copy_commands2", 1 },
- { 30, "VK_KHR_create_renderpass2", 1 },
- { 31, "VK_KHR_dedicated_allocation", 3 },
- { 32, "VK_KHR_depth_stencil_resolve", 1 },
- { 33, "VK_KHR_descriptor_update_template", 1 },
- { 34, "VK_KHR_device_group", 4 },
- { 35, "VK_KHR_device_group_creation", 1 },
- { 36, "VK_KHR_draw_indirect_count", 1 },
- { 37, "VK_KHR_driver_properties", 1 },
- { 38, "VK_KHR_dynamic_rendering", 1 },
- { 39, "VK_KHR_external_fence", 1 },
- { 40, "VK_KHR_external_fence_capabilities", 1 },
- { 41, "VK_KHR_external_memory", 1 },
- { 42, "VK_KHR_external_memory_capabilities", 1 },
- { 43, "VK_KHR_external_memory_fd", 1 },
- { 44, "VK_KHR_external_semaphore", 1 },
- { 45, "VK_KHR_external_semaphore_capabilities", 1 },
- { 46, "VK_KHR_format_feature_flags2", 1 },
- { 47, "VK_KHR_get_memory_requirements2", 1 },
- { 48, "VK_KHR_get_physical_device_properties2", 2 },
- { 49, "VK_KHR_image_format_list", 1 },
- { 50, "VK_KHR_imageless_framebuffer", 1 },
- { 51, "VK_KHR_maintenance1", 2 },
- { 52, "VK_KHR_maintenance2", 1 },
- { 53, "VK_KHR_maintenance3", 1 },
- { 54, "VK_KHR_maintenance4", 2 },
- { 55, "VK_KHR_multiview", 1 },
- { 56, "VK_KHR_relaxed_block_layout", 1 },
- { 57, "VK_KHR_sampler_mirror_clamp_to_edge", 3 },
- { 58, "VK_KHR_sampler_ycbcr_conversion", 14 },
- { 59, "VK_KHR_separate_depth_stencil_layouts", 1 },
- { 60, "VK_KHR_shader_atomic_int64", 1 },
- { 61, "VK_KHR_shader_draw_parameters", 1 },
- { 62, "VK_KHR_shader_float16_int8", 1 },
- { 63, "VK_KHR_shader_float_controls", 4 },
- { 64, "VK_KHR_shader_integer_dot_product", 1 },
- { 65, "VK_KHR_shader_non_semantic_info", 1 },
- { 66, "VK_KHR_shader_subgroup_extended_types", 1 },
- { 67, "VK_KHR_shader_terminate_invocation", 1 },
- { 68, "VK_KHR_spirv_1_4", 1 },
- { 69, "VK_KHR_storage_buffer_storage_class", 1 },
- { 70, "VK_KHR_synchronization2", 1 },
- { 71, "VK_KHR_timeline_semaphore", 2 },
- { 72, "VK_KHR_uniform_buffer_standard_layout", 1 },
- { 73, "VK_KHR_variable_pointers", 1 },
- { 74, "VK_KHR_vulkan_memory_model", 3 },
- { 75, "VK_KHR_zero_initialize_workgroup_memory", 1 },
- { 76, "VK_MESA_venus_protocol", 100000 },
+ { 2, "VK_EXT_custom_border_color", 12 },
+ { 3, "VK_EXT_descriptor_indexing", 2 },
+ { 4, "VK_EXT_extended_dynamic_state", 1 },
+ { 5, "VK_EXT_extended_dynamic_state2", 1 },
+ { 6, "VK_EXT_external_memory_dma_buf", 1 },
+ { 7, "VK_EXT_host_query_reset", 1 },
+ { 8, "VK_EXT_image_drm_format_modifier", 2 },
+ { 9, "VK_EXT_image_robustness", 1 },
+ { 10, "VK_EXT_inline_uniform_block", 1 },
+ { 11, "VK_EXT_pipeline_creation_cache_control", 3 },
+ { 12, "VK_EXT_pipeline_creation_feedback", 1 },
+ { 13, "VK_EXT_private_data", 1 },
+ { 14, "VK_EXT_queue_family_foreign", 1 },
+ { 15, "VK_EXT_sampler_filter_minmax", 2 },
+ { 16, "VK_EXT_scalar_block_layout", 1 },
+ { 17, "VK_EXT_separate_stencil_usage", 1 },
+ { 18, "VK_EXT_shader_demote_to_helper_invocation", 1 },
+ { 19, "VK_EXT_shader_viewport_index_layer", 1 },
+ { 20, "VK_EXT_subgroup_size_control", 2 },
+ { 21, "VK_EXT_texel_buffer_alignment", 1 },
+ { 22, "VK_EXT_texture_compression_astc_hdr", 1 },
+ { 23, "VK_EXT_tooling_info", 1 },
+ { 24, "VK_EXT_transform_feedback", 1 },
+ { 25, "VK_EXT_ycbcr_2plane_444_formats", 1 },
+ { 26, "VK_KHR_16bit_storage", 1 },
+ { 27, "VK_KHR_8bit_storage", 1 },
+ { 28, "VK_KHR_bind_memory2", 1 },
+ { 29, "VK_KHR_buffer_device_address", 1 },
+ { 30, "VK_KHR_copy_commands2", 1 },
+ { 31, "VK_KHR_create_renderpass2", 1 },
+ { 32, "VK_KHR_dedicated_allocation", 3 },
+ { 33, "VK_KHR_depth_stencil_resolve", 1 },
+ { 34, "VK_KHR_descriptor_update_template", 1 },
+ { 35, "VK_KHR_device_group", 4 },
+ { 36, "VK_KHR_device_group_creation", 1 },
+ { 37, "VK_KHR_draw_indirect_count", 1 },
+ { 38, "VK_KHR_driver_properties", 1 },
+ { 39, "VK_KHR_dynamic_rendering", 1 },
+ { 40, "VK_KHR_external_fence", 1 },
+ { 41, "VK_KHR_external_fence_capabilities", 1 },
+ { 42, "VK_KHR_external_memory", 1 },
+ { 43, "VK_KHR_external_memory_capabilities", 1 },
+ { 44, "VK_KHR_external_memory_fd", 1 },
+ { 45, "VK_KHR_external_semaphore", 1 },
+ { 46, "VK_KHR_external_semaphore_capabilities", 1 },
+ { 47, "VK_KHR_format_feature_flags2", 1 },
+ { 48, "VK_KHR_get_memory_requirements2", 1 },
+ { 49, "VK_KHR_get_physical_device_properties2", 2 },
+ { 50, "VK_KHR_image_format_list", 1 },
+ { 51, "VK_KHR_imageless_framebuffer", 1 },
+ { 52, "VK_KHR_maintenance1", 2 },
+ { 53, "VK_KHR_maintenance2", 1 },
+ { 54, "VK_KHR_maintenance3", 1 },
+ { 55, "VK_KHR_maintenance4", 2 },
+ { 56, "VK_KHR_multiview", 1 },
+ { 57, "VK_KHR_relaxed_block_layout", 1 },
+ { 58, "VK_KHR_sampler_mirror_clamp_to_edge", 3 },
+ { 59, "VK_KHR_sampler_ycbcr_conversion", 14 },
+ { 60, "VK_KHR_separate_depth_stencil_layouts", 1 },
+ { 61, "VK_KHR_shader_atomic_int64", 1 },
+ { 62, "VK_KHR_shader_draw_parameters", 1 },
+ { 63, "VK_KHR_shader_float16_int8", 1 },
+ { 64, "VK_KHR_shader_float_controls", 4 },
+ { 65, "VK_KHR_shader_integer_dot_product", 1 },
+ { 66, "VK_KHR_shader_non_semantic_info", 1 },
+ { 67, "VK_KHR_shader_subgroup_extended_types", 1 },
+ { 68, "VK_KHR_shader_terminate_invocation", 1 },
+ { 69, "VK_KHR_spirv_1_4", 1 },
+ { 70, "VK_KHR_storage_buffer_storage_class", 1 },
+ { 71, "VK_KHR_synchronization2", 1 },
+ { 72, "VK_KHR_timeline_semaphore", 2 },
+ { 73, "VK_KHR_uniform_buffer_standard_layout", 1 },
+ { 74, "VK_KHR_variable_pointers", 1 },
+ { 75, "VK_KHR_vulkan_memory_model", 3 },
+ { 76, "VK_KHR_zero_initialize_workgroup_memory", 1 },
+ { 77, "VK_MESA_venus_protocol", 100000 },
};
- return bsearch(name, vn_info_extensions, 77,
+ return bsearch(name, vn_info_extensions, 78,
sizeof(*vn_info_extensions), vn_info_extension_compare);
}
vn_encode_VkSamplerReductionModeCreateInfo_self(enc, val);
}
+/* struct VkSamplerCustomBorderColorCreateInfoEXT chain */
+
+static inline size_t
+vn_sizeof_VkSamplerCustomBorderColorCreateInfoEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSamplerCustomBorderColorCreateInfoEXT_self(const VkSamplerCustomBorderColorCreateInfoEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkClearColorValue(&val->customBorderColor);
+ size += vn_sizeof_VkFormat(&val->format);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSamplerCustomBorderColorCreateInfoEXT(const VkSamplerCustomBorderColorCreateInfoEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSamplerCustomBorderColorCreateInfoEXT_pnext(val->pNext);
+ size += vn_sizeof_VkSamplerCustomBorderColorCreateInfoEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSamplerCustomBorderColorCreateInfoEXT_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSamplerCustomBorderColorCreateInfoEXT_self(struct vn_cs_encoder *enc, const VkSamplerCustomBorderColorCreateInfoEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkClearColorValue(enc, &val->customBorderColor);
+ vn_encode_VkFormat(enc, &val->format);
+}
+
+static inline void
+vn_encode_VkSamplerCustomBorderColorCreateInfoEXT(struct vn_cs_encoder *enc, const VkSamplerCustomBorderColorCreateInfoEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT });
+ vn_encode_VkSamplerCustomBorderColorCreateInfoEXT_pnext(enc, val->pNext);
+ vn_encode_VkSamplerCustomBorderColorCreateInfoEXT_self(enc, val);
+}
+
/* struct VkSamplerCreateInfo chain */
static inline size_t
size += vn_sizeof_VkSamplerCreateInfo_pnext(pnext->pNext);
size += vn_sizeof_VkSamplerReductionModeCreateInfo_self((const VkSamplerReductionModeCreateInfo *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkSamplerCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkSamplerCustomBorderColorCreateInfoEXT_self((const VkSamplerCustomBorderColorCreateInfoEXT *)pnext);
+ return size;
default:
/* ignore unknown/unsupported struct */
break;
vn_encode_VkSamplerCreateInfo_pnext(enc, pnext->pNext);
vn_encode_VkSamplerReductionModeCreateInfo_self(enc, (const VkSamplerReductionModeCreateInfo *)pnext);
return;
+ case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkSamplerCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkSamplerCustomBorderColorCreateInfoEXT_self(enc, (const VkSamplerCustomBorderColorCreateInfoEXT *)pnext);
+ return;
default:
/* ignore unknown/unsupported struct */
break;
vn_encode_VkExtent2D_partial(enc, &val->extent);
}
+/* union VkClearColorValue */
+
+static inline size_t
+vn_sizeof_VkClearColorValue_tag(const VkClearColorValue *val, uint32_t tag)
+{
+ size_t size = vn_sizeof_uint32_t(&tag);
+ switch (tag) {
+ case 0:
+ size += vn_sizeof_array_size(4);
+ size += vn_sizeof_float_array(val->float32, 4);
+ break;
+ case 1:
+ size += vn_sizeof_array_size(4);
+ size += vn_sizeof_int32_t_array(val->int32, 4);
+ break;
+ case 2:
+ size += vn_sizeof_array_size(4);
+ size += vn_sizeof_uint32_t_array(val->uint32, 4);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkClearColorValue(const VkClearColorValue *val)
+{
+ return vn_sizeof_VkClearColorValue_tag(val, 2);
+}
+
+static inline void
+vn_encode_VkClearColorValue_tag(struct vn_cs_encoder *enc, const VkClearColorValue *val, uint32_t tag)
+{
+ vn_encode_uint32_t(enc, &tag);
+ switch (tag) {
+ case 0:
+ vn_encode_array_size(enc, 4);
+ vn_encode_float_array(enc, val->float32, 4);
+ break;
+ case 1:
+ vn_encode_array_size(enc, 4);
+ vn_encode_int32_t_array(enc, val->int32, 4);
+ break;
+ case 2:
+ vn_encode_array_size(enc, 4);
+ vn_encode_uint32_t_array(enc, val->uint32, 4);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+}
+
+static inline void
+vn_encode_VkClearColorValue(struct vn_cs_encoder *enc, const VkClearColorValue *val)
+{
+ vn_encode_VkClearColorValue_tag(enc, val, 2); /* union with default tag */
+}
+
/* struct VkMemoryDedicatedRequirements chain */
static inline size_t