venus: venus-protocol groundwork to VK_EXT_custom_border_color

This is the changes automatically generated from the venus-protocol
repository.

Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Signed-off-by: Igor Torrente <igor.torrente@collabora.com>
macos/master
Igor Torrente 3 years ago committed by Yiwei Zhang
parent faa194f8f6
commit 44ce529ee4
  1. 2
      src/venus/venus-protocol/vn_protocol_renderer.h
  2. 32
      src/venus/venus-protocol/vn_protocol_renderer_command_buffer.h
  3. 217
      src/venus/venus-protocol/vn_protocol_renderer_device.h
  4. 158
      src/venus/venus-protocol/vn_protocol_renderer_info.h
  5. 70
      src/venus/venus-protocol/vn_protocol_renderer_sampler.h
  6. 32
      src/venus/venus-protocol/vn_protocol_renderer_structs.h

@ -1,4 +1,4 @@
/* This file is generated by venus-protocol git-0048ccc3. */
/* This file is generated by venus-protocol git-e0866cb3. */
/*
* Copyright 2020 Google LLC

@ -644,38 +644,6 @@ vn_replace_VkBufferImageCopy_handle(VkBufferImageCopy *val)
vn_replace_VkExtent3D_handle(&val->imageExtent);
}
/* union VkClearColorValue */
static inline void
vn_decode_VkClearColorValue_temp(struct vn_cs_decoder *dec, VkClearColorValue *val)
{
uint32_t tag;
vn_decode_uint32_t(dec, &tag);
switch (tag) {
case 0:
{
const size_t array_size = vn_decode_array_size(dec, 4);
vn_decode_float_array(dec, val->float32, array_size);
}
break;
case 1:
{
const size_t array_size = vn_decode_array_size(dec, 4);
vn_decode_int32_t_array(dec, val->int32, array_size);
}
break;
case 2:
{
const size_t array_size = vn_decode_array_size(dec, 4);
vn_decode_uint32_t_array(dec, val->uint32, array_size);
}
break;
default:
vn_cs_decoder_set_fatal(dec);
break;
}
}
/* struct VkClearDepthStencilValue */
static inline void

@ -4605,6 +4605,119 @@ vn_replace_VkPhysicalDeviceVulkan13Features_handle(VkPhysicalDeviceVulkan13Featu
} while (pnext);
}
/* struct VkPhysicalDeviceCustomBorderColorFeaturesEXT chain */
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_temp(struct vn_cs_decoder *dec)
{
/* no known/supported struct */
if (vn_decode_simple_pointer(dec))
vn_cs_decoder_set_fatal(dec);
return NULL;
}
static inline void
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_temp(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_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
{
VkStructureType stype;
vn_decode_VkStructureType(dec, &stype);
if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT)
vn_cs_decoder_set_fatal(dec);
val->sType = stype;
val->pNext = vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext_temp(dec);
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_temp(dec, val);
}
static inline void *
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
{
/* no known/supported struct */
if (vn_decode_simple_pointer(dec))
vn_cs_decoder_set_fatal(dec);
return NULL;
}
static inline void
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
{
/* skip val->{sType,pNext} */
/* skip val->customBorderColors */
/* skip val->customBorderColorWithoutFormat */
}
static inline void
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
{
VkStructureType stype;
vn_decode_VkStructureType(dec, &stype);
if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT)
vn_cs_decoder_set_fatal(dec);
val->sType = stype;
val->pNext = vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext_partial_temp(dec);
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial_temp(dec, val);
}
static inline void
vn_replace_VkPhysicalDeviceCustomBorderColorFeaturesEXT_handle_self(VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
{
/* skip val->sType */
/* skip val->pNext */
/* skip val->customBorderColors */
/* skip val->customBorderColorWithoutFormat */
}
static inline void
vn_replace_VkPhysicalDeviceCustomBorderColorFeaturesEXT_handle(VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
{
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
do {
switch ((int32_t)pnext->sType) {
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
vn_replace_VkPhysicalDeviceCustomBorderColorFeaturesEXT_handle_self((VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
break;
default:
/* ignore unknown/unsupported struct */
break;
}
pnext = pnext->pNext;
} while (pnext);
}
/* struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT chain */
static inline void
@ -5902,6 +6015,12 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void
vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceVulkan13Features_self(enc, (const VkPhysicalDeviceVulkan13Features *)pnext);
return;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_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);
@ -6247,6 +6366,14 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(struct vn_cs_decoder *dec)
vn_decode_VkPhysicalDeviceVulkan13Features_self_temp(dec, (VkPhysicalDeviceVulkan13Features *)pnext);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT));
if (pnext) {
pnext->sType = stype;
pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_temp(dec, (VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT));
if (pnext) {
@ -6616,6 +6743,14 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(struct vn_cs_decoder *dec
vn_decode_VkPhysicalDeviceVulkan13Features_self_partial_temp(dec, (VkPhysicalDeviceVulkan13Features *)pnext);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT));
if (pnext) {
pnext->sType = stype;
pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT));
if (pnext) {
@ -6837,6 +6972,9 @@ vn_replace_VkPhysicalDeviceFeatures2_handle(VkPhysicalDeviceFeatures2 *val)
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES:
vn_replace_VkPhysicalDeviceVulkan13Features_handle_self((VkPhysicalDeviceVulkan13Features *)pnext);
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
vn_replace_VkPhysicalDeviceCustomBorderColorFeaturesEXT_handle_self((VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
vn_replace_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_handle_self((VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *)pnext);
break;
@ -7231,6 +7369,14 @@ vn_decode_VkDeviceCreateInfo_pnext_temp(struct vn_cs_decoder *dec)
vn_decode_VkPhysicalDeviceVulkan13Features_self_temp(dec, (VkPhysicalDeviceVulkan13Features *)pnext);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT));
if (pnext) {
pnext->sType = stype;
pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_temp(dec, (VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT));
if (pnext) {
@ -7520,6 +7666,9 @@ vn_replace_VkDeviceCreateInfo_handle(VkDeviceCreateInfo *val)
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES:
vn_replace_VkPhysicalDeviceVulkan13Features_handle_self((VkPhysicalDeviceVulkan13Features *)pnext);
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
vn_replace_VkPhysicalDeviceCustomBorderColorFeaturesEXT_handle_self((VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
vn_replace_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_handle_self((VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *)pnext);
break;
@ -9032,6 +9181,60 @@ vn_decode_VkPhysicalDeviceVulkan13Properties_partial_temp(struct vn_cs_decoder *
vn_decode_VkPhysicalDeviceVulkan13Properties_self_partial_temp(dec, val);
}
/* struct VkPhysicalDeviceCustomBorderColorPropertiesEXT chain */
static inline void
vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext(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(struct vn_cs_encoder *enc, const VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
{
/* skip val->{sType,pNext} */
vn_encode_uint32_t(enc, &val->maxCustomBorderColorSamplers);
}
static inline void
vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT(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(enc, val->pNext);
vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(enc, val);
}
static inline void *
vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
{
/* no known/supported struct */
if (vn_decode_simple_pointer(dec))
vn_cs_decoder_set_fatal(dec);
return NULL;
}
static inline void
vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
{
/* skip val->{sType,pNext} */
/* skip val->maxCustomBorderColorSamplers */
}
static inline void
vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
{
VkStructureType stype;
vn_decode_VkStructureType(dec, &stype);
if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT)
vn_cs_decoder_set_fatal(dec);
val->sType = stype;
val->pNext = vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext_partial_temp(dec);
vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial_temp(dec, val);
}
/* struct VkPhysicalDeviceShaderIntegerDotProductProperties chain */
static inline void
@ -9273,6 +9476,12 @@ vn_encode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_encoder *enc, const voi
vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceVulkan13Properties_self(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(enc, pnext->pNext);
vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(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);
@ -9476,6 +9685,14 @@ vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(struct vn_cs_decoder *d
vn_decode_VkPhysicalDeviceVulkan13Properties_self_partial_temp(dec, (VkPhysicalDeviceVulkan13Properties *)pnext);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT:
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceCustomBorderColorPropertiesEXT));
if (pnext) {
pnext->sType = stype;
pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial_temp(dec, (VkPhysicalDeviceCustomBorderColorPropertiesEXT *)pnext);
}
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES:
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderIntegerDotProductProperties));
if (pnext) {

@ -12,10 +12,11 @@
struct vn_info_extension_table {
union {
bool enabled[77];
bool enabled[78];
struct {
bool EXT_4444_formats;
bool EXT_command_serialization;
bool EXT_custom_border_color;
bool EXT_descriptor_indexing;
bool EXT_extended_dynamic_state;
bool EXT_extended_dynamic_state2;
@ -123,87 +124,88 @@ vn_info_extension_compare(const void *name, const void *ext)
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);
}

@ -71,6 +71,65 @@ vn_replace_VkSamplerReductionModeCreateInfo_handle(VkSamplerReductionModeCreateI
} while (pnext);
}
/* struct VkSamplerCustomBorderColorCreateInfoEXT chain */
static inline void *
vn_decode_VkSamplerCustomBorderColorCreateInfoEXT_pnext_temp(struct vn_cs_decoder *dec)
{
/* no known/supported struct */
if (vn_decode_simple_pointer(dec))
vn_cs_decoder_set_fatal(dec);
return NULL;
}
static inline void
vn_decode_VkSamplerCustomBorderColorCreateInfoEXT_self_temp(struct vn_cs_decoder *dec, VkSamplerCustomBorderColorCreateInfoEXT *val)
{
/* skip val->{sType,pNext} */
vn_decode_VkClearColorValue_temp(dec, &val->customBorderColor);
vn_decode_VkFormat(dec, &val->format);
}
static inline void
vn_decode_VkSamplerCustomBorderColorCreateInfoEXT_temp(struct vn_cs_decoder *dec, VkSamplerCustomBorderColorCreateInfoEXT *val)
{
VkStructureType stype;
vn_decode_VkStructureType(dec, &stype);
if (stype != VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT)
vn_cs_decoder_set_fatal(dec);
val->sType = stype;
val->pNext = vn_decode_VkSamplerCustomBorderColorCreateInfoEXT_pnext_temp(dec);
vn_decode_VkSamplerCustomBorderColorCreateInfoEXT_self_temp(dec, val);
}
static inline void
vn_replace_VkSamplerCustomBorderColorCreateInfoEXT_handle_self(VkSamplerCustomBorderColorCreateInfoEXT *val)
{
/* skip val->sType */
/* skip val->pNext */
/* skip val->customBorderColor */
/* skip val->format */
}
static inline void
vn_replace_VkSamplerCustomBorderColorCreateInfoEXT_handle(VkSamplerCustomBorderColorCreateInfoEXT *val)
{
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
do {
switch ((int32_t)pnext->sType) {
case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT:
vn_replace_VkSamplerCustomBorderColorCreateInfoEXT_handle_self((VkSamplerCustomBorderColorCreateInfoEXT *)pnext);
break;
default:
/* ignore unknown/unsupported struct */
break;
}
pnext = pnext->pNext;
} while (pnext);
}
/* struct VkSamplerCreateInfo chain */
static inline void *
@ -100,6 +159,14 @@ vn_decode_VkSamplerCreateInfo_pnext_temp(struct vn_cs_decoder *dec)
vn_decode_VkSamplerReductionModeCreateInfo_self_temp(dec, (VkSamplerReductionModeCreateInfo *)pnext);
}
break;
case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT:
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkSamplerCustomBorderColorCreateInfoEXT));
if (pnext) {
pnext->sType = stype;
pnext->pNext = vn_decode_VkSamplerCreateInfo_pnext_temp(dec);
vn_decode_VkSamplerCustomBorderColorCreateInfoEXT_self_temp(dec, (VkSamplerCustomBorderColorCreateInfoEXT *)pnext);
}
break;
default:
/* unexpected struct */
pnext = NULL;
@ -184,6 +251,9 @@ vn_replace_VkSamplerCreateInfo_handle(VkSamplerCreateInfo *val)
case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO:
vn_replace_VkSamplerReductionModeCreateInfo_handle_self((VkSamplerReductionModeCreateInfo *)pnext);
break;
case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT:
vn_replace_VkSamplerCustomBorderColorCreateInfoEXT_handle_self((VkSamplerCustomBorderColorCreateInfoEXT *)pnext);
break;
default:
/* ignore unknown/unsupported struct */
break;

@ -659,6 +659,38 @@ vn_replace_VkRect2D_handle(VkRect2D *val)
vn_replace_VkExtent2D_handle(&val->extent);
}
/* union VkClearColorValue */
static inline void
vn_decode_VkClearColorValue_temp(struct vn_cs_decoder *dec, VkClearColorValue *val)
{
uint32_t tag;
vn_decode_uint32_t(dec, &tag);
switch (tag) {
case 0:
{
const size_t array_size = vn_decode_array_size(dec, 4);
vn_decode_float_array(dec, val->float32, array_size);
}
break;
case 1:
{
const size_t array_size = vn_decode_array_size(dec, 4);
vn_decode_int32_t_array(dec, val->int32, array_size);
}
break;
case 2:
{
const size_t array_size = vn_decode_array_size(dec, 4);
vn_decode_uint32_t_array(dec, val->uint32, array_size);
}
break;
default:
vn_cs_decoder_set_fatal(dec);
break;
}
}
/* struct VkMemoryDedicatedRequirements chain */
static inline void

Loading…
Cancel
Save