vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(enc, val);
}
+/* struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->vertexAttributeInstanceRateDivisor);
+ size += vn_sizeof_VkBool32(&val->vertexAttributeInstanceRateZeroDivisor);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->vertexAttributeInstanceRateDivisor);
+ vn_encode_VkBool32(enc, &val->vertexAttributeInstanceRateZeroDivisor);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT });
+ vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_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_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->vertexAttributeInstanceRateDivisor);
+ vn_decode_VkBool32(dec, &val->vertexAttributeInstanceRateZeroDivisor);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_partial(const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->vertexAttributeInstanceRateDivisor */
+ /* skip val->vertexAttributeInstanceRateZeroDivisor */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_partial(const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_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_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->vertexAttributeInstanceRateDivisor */
+ /* skip val->vertexAttributeInstanceRateZeroDivisor */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT });
+ vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_partial(enc, val);
+}
+
/* struct VkPhysicalDeviceTransformFeedbackFeaturesEXT chain */
static inline size_t
vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(enc, val);
}
+/* struct VkPhysicalDeviceDepthClipEnableFeaturesEXT chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(const VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->depthClipEnable);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDepthClipEnableFeaturesEXT(const VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->depthClipEnable);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT });
+ vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_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_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->depthClipEnable);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_partial(const VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->depthClipEnable */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDepthClipEnableFeaturesEXT_partial(const VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_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_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->depthClipEnable */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT });
+ vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_partial(enc, val);
+}
+
/* struct VkPhysicalDeviceBufferDeviceAddressFeatures chain */
static inline size_t
vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self_partial(enc, val);
}
-/* struct VkPhysicalDeviceImageRobustnessFeatures chain */
+/* struct VkPhysicalDeviceRobustness2FeaturesEXT chain */
static inline size_t
-vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_pnext(const void *val)
+vn_sizeof_VkPhysicalDeviceRobustness2FeaturesEXT_pnext(const void *val)
{
/* no known/supported struct */
return vn_sizeof_simple_pointer(NULL);
}
static inline size_t
-vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_self(const VkPhysicalDeviceImageRobustnessFeatures *val)
+vn_sizeof_VkPhysicalDeviceRobustness2FeaturesEXT_self(const VkPhysicalDeviceRobustness2FeaturesEXT *val)
{
size_t size = 0;
/* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->robustImageAccess);
+ size += vn_sizeof_VkBool32(&val->robustBufferAccess2);
+ size += vn_sizeof_VkBool32(&val->robustImageAccess2);
+ size += vn_sizeof_VkBool32(&val->nullDescriptor);
return size;
}
static inline size_t
-vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures(const VkPhysicalDeviceImageRobustnessFeatures *val)
+vn_sizeof_VkPhysicalDeviceRobustness2FeaturesEXT(const VkPhysicalDeviceRobustness2FeaturesEXT *val)
{
size_t size = 0;
size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_self(val);
+ size += vn_sizeof_VkPhysicalDeviceRobustness2FeaturesEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceRobustness2FeaturesEXT_self(val);
return size;
}
static inline void
-vn_encode_VkPhysicalDeviceImageRobustnessFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
{
/* no known/supported struct */
vn_encode_simple_pointer(enc, NULL);
}
static inline void
-vn_encode_VkPhysicalDeviceImageRobustnessFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageRobustnessFeatures *val)
+vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceRobustness2FeaturesEXT *val)
{
/* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->robustImageAccess);
+ vn_encode_VkBool32(enc, &val->robustBufferAccess2);
+ vn_encode_VkBool32(enc, &val->robustImageAccess2);
+ vn_encode_VkBool32(enc, &val->nullDescriptor);
}
static inline void
-vn_encode_VkPhysicalDeviceImageRobustnessFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageRobustnessFeatures *val)
+vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceRobustness2FeaturesEXT *val)
{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES });
- vn_encode_VkPhysicalDeviceImageRobustnessFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceImageRobustnessFeatures_self(enc, val);
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT });
+ vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_self(enc, val);
}
static inline void
-vn_decode_VkPhysicalDeviceImageRobustnessFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext(struct vn_cs_decoder *dec, const void *val)
{
/* no known/supported struct */
if (vn_decode_simple_pointer(dec))
}
static inline void
-vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceImageRobustnessFeatures *val)
+vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceRobustness2FeaturesEXT *val)
{
/* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->robustImageAccess);
+ vn_decode_VkBool32(dec, &val->robustBufferAccess2);
+ vn_decode_VkBool32(dec, &val->robustImageAccess2);
+ vn_decode_VkBool32(dec, &val->nullDescriptor);
}
static inline void
-vn_decode_VkPhysicalDeviceImageRobustnessFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceImageRobustnessFeatures *val)
+vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceRobustness2FeaturesEXT *val)
{
VkStructureType stype;
vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT);
assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceImageRobustnessFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self(dec, val);
+ vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_self(dec, val);
}
static inline size_t
-vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_pnext_partial(const void *val)
+vn_sizeof_VkPhysicalDeviceRobustness2FeaturesEXT_pnext_partial(const void *val)
{
/* no known/supported struct */
return vn_sizeof_simple_pointer(NULL);
}
static inline size_t
-vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_self_partial(const VkPhysicalDeviceImageRobustnessFeatures *val)
+vn_sizeof_VkPhysicalDeviceRobustness2FeaturesEXT_self_partial(const VkPhysicalDeviceRobustness2FeaturesEXT *val)
{
size_t size = 0;
/* skip val->{sType,pNext} */
- /* skip val->robustImageAccess */
+ /* skip val->robustBufferAccess2 */
+ /* skip val->robustImageAccess2 */
+ /* skip val->nullDescriptor */
return size;
}
static inline size_t
-vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_partial(const VkPhysicalDeviceImageRobustnessFeatures *val)
+vn_sizeof_VkPhysicalDeviceRobustness2FeaturesEXT_partial(const VkPhysicalDeviceRobustness2FeaturesEXT *val)
{
size_t size = 0;
size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_self_partial(val);
+ size += vn_sizeof_VkPhysicalDeviceRobustness2FeaturesEXT_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceRobustness2FeaturesEXT_self_partial(val);
return size;
}
static inline void
-vn_encode_VkPhysicalDeviceImageRobustnessFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_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_VkPhysicalDeviceImageRobustnessFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageRobustnessFeatures *val)
+vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceRobustness2FeaturesEXT *val)
{
/* skip val->{sType,pNext} */
- /* skip val->robustImageAccess */
+ /* skip val->robustBufferAccess2 */
+ /* skip val->robustImageAccess2 */
+ /* skip val->nullDescriptor */
}
static inline void
-vn_encode_VkPhysicalDeviceImageRobustnessFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageRobustnessFeatures *val)
+vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceRobustness2FeaturesEXT *val)
{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES });
- vn_encode_VkPhysicalDeviceImageRobustnessFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceImageRobustnessFeatures_self_partial(enc, val);
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT });
+ vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_self_partial(enc, val);
}
-/* struct VkPhysicalDevice4444FormatsFeaturesEXT chain */
+/* struct VkPhysicalDeviceImageRobustnessFeatures chain */
static inline size_t
-vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT_pnext(const void *val)
+vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_pnext(const void *val)
{
/* no known/supported struct */
return vn_sizeof_simple_pointer(NULL);
}
static inline size_t
-vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT_self(const VkPhysicalDevice4444FormatsFeaturesEXT *val)
+vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_self(const VkPhysicalDeviceImageRobustnessFeatures *val)
{
size_t size = 0;
/* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->formatA4R4G4B4);
- size += vn_sizeof_VkBool32(&val->formatA4B4G4R4);
+ size += vn_sizeof_VkBool32(&val->robustImageAccess);
return size;
}
static inline size_t
-vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT(const VkPhysicalDevice4444FormatsFeaturesEXT *val)
+vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures(const VkPhysicalDeviceImageRobustnessFeatures *val)
{
size_t size = 0;
size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT_self(val);
+ size += vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_self(val);
return size;
}
static inline void
-vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
+vn_encode_VkPhysicalDeviceImageRobustnessFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
{
/* no known/supported struct */
vn_encode_simple_pointer(enc, NULL);
}
static inline void
-vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDevice4444FormatsFeaturesEXT *val)
+vn_encode_VkPhysicalDeviceImageRobustnessFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageRobustnessFeatures *val)
{
/* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->formatA4R4G4B4);
- vn_encode_VkBool32(enc, &val->formatA4B4G4R4);
+ vn_encode_VkBool32(enc, &val->robustImageAccess);
}
static inline void
-vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDevice4444FormatsFeaturesEXT *val)
+vn_encode_VkPhysicalDeviceImageRobustnessFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageRobustnessFeatures *val)
{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT });
- vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_self(enc, val);
-}
-
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES });
+ vn_encode_VkPhysicalDeviceImageRobustnessFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceImageRobustnessFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceImageRobustnessFeatures_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_VkPhysicalDeviceImageRobustnessFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceImageRobustnessFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->robustImageAccess);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceImageRobustnessFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceImageRobustnessFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceImageRobustnessFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_self_partial(const VkPhysicalDeviceImageRobustnessFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->robustImageAccess */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_partial(const VkPhysicalDeviceImageRobustnessFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceImageRobustnessFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImageRobustnessFeatures_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_VkPhysicalDeviceImageRobustnessFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageRobustnessFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->robustImageAccess */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImageRobustnessFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageRobustnessFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES });
+ vn_encode_VkPhysicalDeviceImageRobustnessFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceImageRobustnessFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDevice4444FormatsFeaturesEXT chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT_self(const VkPhysicalDevice4444FormatsFeaturesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->formatA4R4G4B4);
+ size += vn_sizeof_VkBool32(&val->formatA4B4G4R4);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT(const VkPhysicalDevice4444FormatsFeaturesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDevice4444FormatsFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->formatA4R4G4B4);
+ vn_encode_VkBool32(enc, &val->formatA4B4G4R4);
+}
+
+static inline void
+vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDevice4444FormatsFeaturesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT });
+ vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_self(enc, val);
+}
+
static inline void
vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext(struct vn_cs_decoder *dec, const void *val)
{
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self((const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self((const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self((const VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self((const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceRobustness2FeaturesEXT_self((const VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(enc, (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(enc, (const VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self(enc, (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_self(enc, (const VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self(dec, (VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(dec, (VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
+ break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(dec, (VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(dec, (VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(dec, (VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
+ break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(dec, (VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self(dec, (VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_self(dec, (VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
+ break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self(dec, (VkPhysicalDeviceImageRobustnessFeatures *)pnext);
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self_partial((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_partial((const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_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_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial((const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_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_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_partial((const VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self_partial((const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_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_VkPhysicalDeviceRobustness2FeaturesEXT_self_partial((const VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_partial(enc, (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_partial(enc, (const VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self_partial(enc, (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_self_partial(enc, (const VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self((const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self((const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self((const VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self((const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceRobustness2FeaturesEXT_self((const VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(enc, (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(enc, (const VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self(enc, (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_self(enc, (const VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkPhysicalDeviceFloatControlsProperties_self_partial(enc, val);
}
+/* struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self(const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_float(&val->primitiveOverestimationSize);
+ size += vn_sizeof_float(&val->maxExtraPrimitiveOverestimationSize);
+ size += vn_sizeof_float(&val->extraPrimitiveOverestimationSizeGranularity);
+ size += vn_sizeof_VkBool32(&val->primitiveUnderestimation);
+ size += vn_sizeof_VkBool32(&val->conservativePointAndLineRasterization);
+ size += vn_sizeof_VkBool32(&val->degenerateTrianglesRasterized);
+ size += vn_sizeof_VkBool32(&val->degenerateLinesRasterized);
+ size += vn_sizeof_VkBool32(&val->fullyCoveredFragmentShaderInputVariable);
+ size += vn_sizeof_VkBool32(&val->conservativeRasterizationPostDepthCoverage);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_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_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceConservativeRasterizationPropertiesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_float(dec, &val->primitiveOverestimationSize);
+ vn_decode_float(dec, &val->maxExtraPrimitiveOverestimationSize);
+ vn_decode_float(dec, &val->extraPrimitiveOverestimationSizeGranularity);
+ vn_decode_VkBool32(dec, &val->primitiveUnderestimation);
+ vn_decode_VkBool32(dec, &val->conservativePointAndLineRasterization);
+ vn_decode_VkBool32(dec, &val->degenerateTrianglesRasterized);
+ vn_decode_VkBool32(dec, &val->degenerateLinesRasterized);
+ vn_decode_VkBool32(dec, &val->fullyCoveredFragmentShaderInputVariable);
+ vn_decode_VkBool32(dec, &val->conservativeRasterizationPostDepthCoverage);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceConservativeRasterizationPropertiesEXT *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self_partial(const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->primitiveOverestimationSize */
+ /* skip val->maxExtraPrimitiveOverestimationSize */
+ /* skip val->extraPrimitiveOverestimationSizeGranularity */
+ /* skip val->primitiveUnderestimation */
+ /* skip val->conservativePointAndLineRasterization */
+ /* skip val->degenerateTrianglesRasterized */
+ /* skip val->degenerateLinesRasterized */
+ /* skip val->fullyCoveredFragmentShaderInputVariable */
+ /* skip val->conservativeRasterizationPostDepthCoverage */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_partial(const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_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_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->primitiveOverestimationSize */
+ /* skip val->maxExtraPrimitiveOverestimationSize */
+ /* skip val->extraPrimitiveOverestimationSizeGranularity */
+ /* skip val->primitiveUnderestimation */
+ /* skip val->conservativePointAndLineRasterization */
+ /* skip val->degenerateTrianglesRasterized */
+ /* skip val->degenerateLinesRasterized */
+ /* skip val->fullyCoveredFragmentShaderInputVariable */
+ /* skip val->conservativeRasterizationPostDepthCoverage */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT });
+ vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self_partial(enc, val);
+}
+
/* struct VkPhysicalDeviceDescriptorIndexingProperties chain */
static inline size_t
vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(enc, val);
}
+/* struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self(const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->maxVertexAttribDivisor);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_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_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint32_t(dec, &val->maxVertexAttribDivisor);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial(const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->maxVertexAttribDivisor */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_partial(const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_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_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->maxVertexAttribDivisor */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT });
+ vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial(enc, val);
+}
+
/* struct VkPhysicalDeviceDepthStencilResolveProperties chain */
static inline size_t
vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial(enc, val);
}
+/* struct VkPhysicalDeviceRobustness2PropertiesEXT chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT_self(const VkPhysicalDeviceRobustness2PropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkDeviceSize(&val->robustStorageBufferAccessSizeAlignment);
+ size += vn_sizeof_VkDeviceSize(&val->robustUniformBufferAccessSizeAlignment);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT(const VkPhysicalDeviceRobustness2PropertiesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_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_VkPhysicalDeviceRobustness2PropertiesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceRobustness2PropertiesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkDeviceSize(dec, &val->robustStorageBufferAccessSizeAlignment);
+ vn_decode_VkDeviceSize(dec, &val->robustUniformBufferAccessSizeAlignment);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceRobustness2PropertiesEXT *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial(const VkPhysicalDeviceRobustness2PropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->robustStorageBufferAccessSizeAlignment */
+ /* skip val->robustUniformBufferAccessSizeAlignment */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT_partial(const VkPhysicalDeviceRobustness2PropertiesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_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_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceRobustness2PropertiesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->robustStorageBufferAccessSizeAlignment */
+ /* skip val->robustUniformBufferAccessSizeAlignment */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceRobustness2PropertiesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT });
+ vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial(enc, val);
+}
+
/* struct VkPhysicalDeviceProvokingVertexPropertiesEXT chain */
static inline size_t
size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self((const VkPhysicalDeviceFloatControlsProperties *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self((const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self((const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self((const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
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_ROBUSTNESS_2_PROPERTIES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT_self((const VkPhysicalDeviceRobustness2PropertiesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceFloatControlsProperties_self(dec, (VkPhysicalDeviceFloatControlsProperties *)pnext);
break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self(dec, (VkPhysicalDeviceConservativeRasterizationPropertiesEXT *)pnext);
+ break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self(dec, (VkPhysicalDeviceDescriptorIndexingProperties *)pnext);
vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self(dec, (VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self(dec, (VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *)pnext);
+ break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self(dec, (VkPhysicalDeviceDepthStencilResolveProperties *)pnext);
vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(dec, (VkPhysicalDeviceCustomBorderColorPropertiesEXT *)pnext);
break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_self(dec, (VkPhysicalDeviceRobustness2PropertiesEXT *)pnext);
+ break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
vn_decode_VkPhysicalDeviceProvokingVertexPropertiesEXT_self(dec, (VkPhysicalDeviceProvokingVertexPropertiesEXT *)pnext);
size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self_partial((const VkPhysicalDeviceFloatControlsProperties *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_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_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self_partial((const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial((const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_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_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial((const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
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_ROBUSTNESS_2_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_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial((const VkPhysicalDeviceRobustness2PropertiesEXT *)pnext);
+ return size;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
size += vn_sizeof_simple_pointer(pnext);
size += vn_sizeof_VkStructureType(&pnext->sType);
vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceFloatControlsProperties_self_partial(enc, (const VkPhysicalDeviceFloatControlsProperties *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self_partial(enc, (const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
vn_encode_simple_pointer(enc, pnext);
vn_encode_VkStructureType(enc, &pnext->sType);
vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(enc, (const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial(enc, (const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
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_ROBUSTNESS_2_PROPERTIES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial(enc, (const VkPhysicalDeviceRobustness2PropertiesEXT *)pnext);
+ return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
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[81] = {
+ static const struct vn_info_extension vn_info_extensions[86] = {
{ 0, "VK_EXT_4444_formats", 1 },
{ 1, "VK_EXT_calibrated_timestamps", 2 },
{ 2, "VK_EXT_command_serialization", 0 },
- { 3, "VK_EXT_custom_border_color", 12 },
- { 4, "VK_EXT_descriptor_indexing", 2 },
- { 5, "VK_EXT_extended_dynamic_state", 1 },
- { 6, "VK_EXT_extended_dynamic_state2", 1 },
- { 7, "VK_EXT_external_memory_dma_buf", 1 },
- { 8, "VK_EXT_host_query_reset", 1 },
- { 9, "VK_EXT_image_drm_format_modifier", 2 },
- { 10, "VK_EXT_image_robustness", 1 },
- { 11, "VK_EXT_inline_uniform_block", 1 },
- { 12, "VK_EXT_line_rasterization", 1 },
- { 13, "VK_EXT_pipeline_creation_cache_control", 3 },
- { 14, "VK_EXT_pipeline_creation_feedback", 1 },
- { 15, "VK_EXT_private_data", 1 },
- { 16, "VK_EXT_provoking_vertex", 1 },
- { 17, "VK_EXT_queue_family_foreign", 1 },
- { 18, "VK_EXT_sampler_filter_minmax", 2 },
- { 19, "VK_EXT_scalar_block_layout", 1 },
- { 20, "VK_EXT_separate_stencil_usage", 1 },
- { 21, "VK_EXT_shader_demote_to_helper_invocation", 1 },
- { 22, "VK_EXT_shader_viewport_index_layer", 1 },
- { 23, "VK_EXT_subgroup_size_control", 2 },
- { 24, "VK_EXT_texel_buffer_alignment", 1 },
- { 25, "VK_EXT_texture_compression_astc_hdr", 1 },
- { 26, "VK_EXT_tooling_info", 1 },
- { 27, "VK_EXT_transform_feedback", 1 },
- { 28, "VK_EXT_ycbcr_2plane_444_formats", 1 },
- { 29, "VK_KHR_16bit_storage", 1 },
- { 30, "VK_KHR_8bit_storage", 1 },
- { 31, "VK_KHR_bind_memory2", 1 },
- { 32, "VK_KHR_buffer_device_address", 1 },
- { 33, "VK_KHR_copy_commands2", 1 },
- { 34, "VK_KHR_create_renderpass2", 1 },
- { 35, "VK_KHR_dedicated_allocation", 3 },
- { 36, "VK_KHR_depth_stencil_resolve", 1 },
- { 37, "VK_KHR_descriptor_update_template", 1 },
- { 38, "VK_KHR_device_group", 4 },
- { 39, "VK_KHR_device_group_creation", 1 },
- { 40, "VK_KHR_draw_indirect_count", 1 },
- { 41, "VK_KHR_driver_properties", 1 },
- { 42, "VK_KHR_dynamic_rendering", 1 },
- { 43, "VK_KHR_external_fence", 1 },
- { 44, "VK_KHR_external_fence_capabilities", 1 },
- { 45, "VK_KHR_external_memory", 1 },
- { 46, "VK_KHR_external_memory_capabilities", 1 },
- { 47, "VK_KHR_external_memory_fd", 1 },
- { 48, "VK_KHR_external_semaphore", 1 },
- { 49, "VK_KHR_external_semaphore_capabilities", 1 },
- { 50, "VK_KHR_format_feature_flags2", 1 },
- { 51, "VK_KHR_get_memory_requirements2", 1 },
- { 52, "VK_KHR_get_physical_device_properties2", 2 },
- { 53, "VK_KHR_image_format_list", 1 },
- { 54, "VK_KHR_imageless_framebuffer", 1 },
- { 55, "VK_KHR_maintenance1", 2 },
- { 56, "VK_KHR_maintenance2", 1 },
- { 57, "VK_KHR_maintenance3", 1 },
- { 58, "VK_KHR_maintenance4", 2 },
- { 59, "VK_KHR_multiview", 1 },
- { 60, "VK_KHR_relaxed_block_layout", 1 },
- { 61, "VK_KHR_sampler_mirror_clamp_to_edge", 3 },
- { 62, "VK_KHR_sampler_ycbcr_conversion", 14 },
- { 63, "VK_KHR_separate_depth_stencil_layouts", 1 },
- { 64, "VK_KHR_shader_atomic_int64", 1 },
- { 65, "VK_KHR_shader_draw_parameters", 1 },
- { 66, "VK_KHR_shader_float16_int8", 1 },
- { 67, "VK_KHR_shader_float_controls", 4 },
- { 68, "VK_KHR_shader_integer_dot_product", 1 },
- { 69, "VK_KHR_shader_non_semantic_info", 1 },
- { 70, "VK_KHR_shader_subgroup_extended_types", 1 },
- { 71, "VK_KHR_shader_terminate_invocation", 1 },
- { 72, "VK_KHR_spirv_1_4", 1 },
- { 73, "VK_KHR_storage_buffer_storage_class", 1 },
- { 74, "VK_KHR_synchronization2", 1 },
- { 75, "VK_KHR_timeline_semaphore", 2 },
- { 76, "VK_KHR_uniform_buffer_standard_layout", 1 },
- { 77, "VK_KHR_variable_pointers", 1 },
- { 78, "VK_KHR_vulkan_memory_model", 3 },
- { 79, "VK_KHR_zero_initialize_workgroup_memory", 1 },
- { 80, "VK_MESA_venus_protocol", 100000 },
+ { 3, "VK_EXT_conservative_rasterization", 1 },
+ { 4, "VK_EXT_custom_border_color", 12 },
+ { 5, "VK_EXT_depth_clip_enable", 1 },
+ { 6, "VK_EXT_descriptor_indexing", 2 },
+ { 7, "VK_EXT_extended_dynamic_state", 1 },
+ { 8, "VK_EXT_extended_dynamic_state2", 1 },
+ { 9, "VK_EXT_external_memory_dma_buf", 1 },
+ { 10, "VK_EXT_host_query_reset", 1 },
+ { 11, "VK_EXT_image_drm_format_modifier", 2 },
+ { 12, "VK_EXT_image_robustness", 1 },
+ { 13, "VK_EXT_inline_uniform_block", 1 },
+ { 14, "VK_EXT_line_rasterization", 1 },
+ { 15, "VK_EXT_pipeline_creation_cache_control", 3 },
+ { 16, "VK_EXT_pipeline_creation_feedback", 1 },
+ { 17, "VK_EXT_private_data", 1 },
+ { 18, "VK_EXT_provoking_vertex", 1 },
+ { 19, "VK_EXT_queue_family_foreign", 1 },
+ { 20, "VK_EXT_robustness2", 1 },
+ { 21, "VK_EXT_sampler_filter_minmax", 2 },
+ { 22, "VK_EXT_scalar_block_layout", 1 },
+ { 23, "VK_EXT_separate_stencil_usage", 1 },
+ { 24, "VK_EXT_shader_demote_to_helper_invocation", 1 },
+ { 25, "VK_EXT_shader_stencil_export", 1 },
+ { 26, "VK_EXT_shader_viewport_index_layer", 1 },
+ { 27, "VK_EXT_subgroup_size_control", 2 },
+ { 28, "VK_EXT_texel_buffer_alignment", 1 },
+ { 29, "VK_EXT_texture_compression_astc_hdr", 1 },
+ { 30, "VK_EXT_tooling_info", 1 },
+ { 31, "VK_EXT_transform_feedback", 1 },
+ { 32, "VK_EXT_vertex_attribute_divisor", 3 },
+ { 33, "VK_EXT_ycbcr_2plane_444_formats", 1 },
+ { 34, "VK_KHR_16bit_storage", 1 },
+ { 35, "VK_KHR_8bit_storage", 1 },
+ { 36, "VK_KHR_bind_memory2", 1 },
+ { 37, "VK_KHR_buffer_device_address", 1 },
+ { 38, "VK_KHR_copy_commands2", 1 },
+ { 39, "VK_KHR_create_renderpass2", 1 },
+ { 40, "VK_KHR_dedicated_allocation", 3 },
+ { 41, "VK_KHR_depth_stencil_resolve", 1 },
+ { 42, "VK_KHR_descriptor_update_template", 1 },
+ { 43, "VK_KHR_device_group", 4 },
+ { 44, "VK_KHR_device_group_creation", 1 },
+ { 45, "VK_KHR_draw_indirect_count", 1 },
+ { 46, "VK_KHR_driver_properties", 1 },
+ { 47, "VK_KHR_dynamic_rendering", 1 },
+ { 48, "VK_KHR_external_fence", 1 },
+ { 49, "VK_KHR_external_fence_capabilities", 1 },
+ { 50, "VK_KHR_external_memory", 1 },
+ { 51, "VK_KHR_external_memory_capabilities", 1 },
+ { 52, "VK_KHR_external_memory_fd", 1 },
+ { 53, "VK_KHR_external_semaphore", 1 },
+ { 54, "VK_KHR_external_semaphore_capabilities", 1 },
+ { 55, "VK_KHR_format_feature_flags2", 1 },
+ { 56, "VK_KHR_get_memory_requirements2", 1 },
+ { 57, "VK_KHR_get_physical_device_properties2", 2 },
+ { 58, "VK_KHR_image_format_list", 1 },
+ { 59, "VK_KHR_imageless_framebuffer", 1 },
+ { 60, "VK_KHR_maintenance1", 2 },
+ { 61, "VK_KHR_maintenance2", 1 },
+ { 62, "VK_KHR_maintenance3", 1 },
+ { 63, "VK_KHR_maintenance4", 2 },
+ { 64, "VK_KHR_multiview", 1 },
+ { 65, "VK_KHR_relaxed_block_layout", 1 },
+ { 66, "VK_KHR_sampler_mirror_clamp_to_edge", 3 },
+ { 67, "VK_KHR_sampler_ycbcr_conversion", 14 },
+ { 68, "VK_KHR_separate_depth_stencil_layouts", 1 },
+ { 69, "VK_KHR_shader_atomic_int64", 1 },
+ { 70, "VK_KHR_shader_draw_parameters", 1 },
+ { 71, "VK_KHR_shader_float16_int8", 1 },
+ { 72, "VK_KHR_shader_float_controls", 4 },
+ { 73, "VK_KHR_shader_integer_dot_product", 1 },
+ { 74, "VK_KHR_shader_non_semantic_info", 1 },
+ { 75, "VK_KHR_shader_subgroup_extended_types", 1 },
+ { 76, "VK_KHR_shader_terminate_invocation", 1 },
+ { 77, "VK_KHR_spirv_1_4", 1 },
+ { 78, "VK_KHR_storage_buffer_storage_class", 1 },
+ { 79, "VK_KHR_synchronization2", 1 },
+ { 80, "VK_KHR_timeline_semaphore", 2 },
+ { 81, "VK_KHR_uniform_buffer_standard_layout", 1 },
+ { 82, "VK_KHR_variable_pointers", 1 },
+ { 83, "VK_KHR_vulkan_memory_model", 3 },
+ { 84, "VK_KHR_zero_initialize_workgroup_memory", 1 },
+ { 85, "VK_MESA_venus_protocol", 100000 },
};
- return bsearch(name, vn_info_extensions, 81,
+ return bsearch(name, vn_info_extensions, 86,
sizeof(*vn_info_extensions), vn_info_extension_compare);
}