"git@gitlab.khronos.org:spirv/SPIRV-Headers.git",
"7445cca32fa418a40dbc8b433734a1d3079200ac",
"spirv-headers"),
- GitRepo(
+ GitRepo(
"https://gitlab.khronos.org/vulkan/vulkan.git",
"git@gitlab.khronos.org:vulkan/vulkan.git",
- "c7226880e6083dfd087131e09027cf1030bc002d",
+ "bd713a32d9952c80ff9bd1164c560df7ed9cc6a2",
"vulkan-docs"),
GitRepo(
"https://gitlab.khronos.org/spirv/amber.git",
std::make_tuple(1, 1, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"),
std::make_tuple(1, 2, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"),
std::make_tuple(1, 3, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"),
+ std::make_tuple(1, 0, "VK_GOOGLE_surfaceless_query", "VK_KHR_surface"),
+ std::make_tuple(1, 1, "VK_GOOGLE_surfaceless_query", "VK_KHR_surface"),
+ std::make_tuple(1, 2, "VK_GOOGLE_surfaceless_query", "VK_KHR_surface"),
+ std::make_tuple(1, 3, "VK_GOOGLE_surfaceless_query", "VK_KHR_surface"),
std::make_tuple(1, 0, "VK_KHR_android_surface", "VK_KHR_surface"),
std::make_tuple(1, 1, "VK_KHR_android_surface", "VK_KHR_surface"),
std::make_tuple(1, 2, "VK_KHR_android_surface", "VK_KHR_surface"),
std::make_tuple(1, 1, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"),
std::make_tuple(1, 2, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"),
std::make_tuple(1, 3, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"),
+ std::make_tuple(1, 0, "VK_QCOM_fragment_density_map_offset", "VK_KHR_get_physical_device_properties2"),
+ std::make_tuple(1, 0, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"),
+ std::make_tuple(1, 1, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"),
+ std::make_tuple(1, 2, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"),
+ std::make_tuple(1, 3, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"),
std::make_tuple(1, 0, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"),
std::make_tuple(1, 0, "VK_QCOM_render_pass_transform", "VK_KHR_surface"),
std::make_tuple(1, 1, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"),
std::make_tuple(1, 0, "VK_GOOGLE_decorate_string"),
std::make_tuple(1, 0, "VK_GOOGLE_display_timing"),
std::make_tuple(1, 0, "VK_GOOGLE_hlsl_functionality1"),
+ std::make_tuple(1, 0, "VK_GOOGLE_surfaceless_query"),
std::make_tuple(1, 0, "VK_GOOGLE_user_type"),
std::make_tuple(1, 0, "VK_HUAWEI_invocation_mask"),
std::make_tuple(1, 0, "VK_HUAWEI_subpass_shading"),
std::make_tuple(1, 0, "VK_KHR_get_memory_requirements2"),
std::make_tuple(1, 0, "VK_KHR_get_physical_device_properties2"),
std::make_tuple(1, 0, "VK_KHR_get_surface_capabilities2"),
+ std::make_tuple(1, 0, "VK_KHR_global_priority"),
std::make_tuple(1, 0, "VK_KHR_image_format_list"),
std::make_tuple(1, 0, "VK_KHR_imageless_framebuffer"),
std::make_tuple(1, 0, "VK_KHR_incremental_present"),
std::make_tuple(1, 0, "VK_NV_geometry_shader_passthrough"),
std::make_tuple(1, 0, "VK_NV_glsl_shader"),
std::make_tuple(1, 0, "VK_NV_inherited_viewport_scissor"),
+ std::make_tuple(1, 0, "VK_NV_linear_color_attachment"),
std::make_tuple(1, 0, "VK_NV_mesh_shader"),
std::make_tuple(1, 0, "VK_NV_ray_tracing"),
std::make_tuple(1, 0, "VK_NV_ray_tracing_motion_blur"),
std::make_tuple(1, 0, "VK_NV_viewport_array2"),
std::make_tuple(1, 0, "VK_NV_viewport_swizzle"),
std::make_tuple(1, 0, "VK_NV_win32_keyed_mutex"),
+ std::make_tuple(1, 0, "VK_QCOM_fragment_density_map_offset"),
std::make_tuple(1, 0, "VK_QCOM_render_pass_shader_resolve"),
std::make_tuple(1, 0, "VK_QCOM_render_pass_store_ops"),
std::make_tuple(1, 0, "VK_QCOM_render_pass_transform"),
VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
VK_ERROR_INVALID_SHADER_NV = -1000012000,
VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
- VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
+ VK_ERROR_NOT_PERMITTED_KHR = -1000174001,
VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
VK_THREAD_IDLE_KHR = 1000268000,
VK_THREAD_DONE_KHR = 1000268001,
VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
+ VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR,
VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
+ VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR = 1000023016,
VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
- VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
+ VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
+ VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001,
VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = 1000388000,
- VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = 1000388001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
+ VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
+ VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
+ VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF,
};
+enum VkQueueGlobalPriorityKHR
+{
+ VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128,
+ VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256,
+ VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512,
+ VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024,
+ VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR,
+ VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
+ VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR,
+ VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR,
+ VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF,
+};
+
enum VkFragmentShadingRateCombinerOpKHR
{
VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF,
};
-enum VkQueueGlobalPriorityEXT
-{
- VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
- VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
- VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
- VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
- VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF,
-};
-
enum VkTimeDomainEXT
{
VK_TIME_DOMAIN_DEVICE_EXT = 0,
STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1,
STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2,
STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3,
- STD_VIDEO_H264_CHROMA_FORMAT_IDC_LAST,
STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH264ProfileIdc
STD_VIDEO_H264_PROFILE_IDC_HIGH = 100,
STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244,
STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH264Level
STD_VIDEO_H264_LEVEL_6_0 = 16,
STD_VIDEO_H264_LEVEL_6_1 = 17,
STD_VIDEO_H264_LEVEL_6_2 = 18,
- STD_VIDEO_H264_LEVEL_LAST,
STD_VIDEO_H264_LEVEL_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_LEVEL_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH264PocType
{
- STD_VIDEO_H264_POC_TYPE_0 = 0,
- STD_VIDEO_H264_POC_TYPE_1 = 1,
- STD_VIDEO_H264_POC_TYPE_2 = 2,
- STD_VIDEO_H264_POC_TYPE_LAST,
- STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_POC_TYPE_0 = 0,
+ STD_VIDEO_H264_POC_TYPE_1 = 1,
+ STD_VIDEO_H264_POC_TYPE_2 = 2,
+ STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_POC_TYPE_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH264AspectRatioIdc
STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1 = 16,
STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR = 255,
STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH264WeightedBipredIdc
STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0,
STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT = 1,
STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT = 2,
- STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_LAST,
STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH264ModificationOfPicNumsIdc
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD = 1,
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM = 2,
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END = 3,
- STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LAST,
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH264MemMgmtControlOp
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX = 4,
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL = 5,
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM = 6,
- STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_LAST,
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH264CabacInitIdc
STD_VIDEO_H264_CABAC_INIT_IDC_0 = 0,
STD_VIDEO_H264_CABAC_INIT_IDC_1 = 1,
STD_VIDEO_H264_CABAC_INIT_IDC_2 = 2,
- STD_VIDEO_H264_CABAC_INIT_IDC_LAST,
STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_CABAC_INIT_IDC_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH264DisableDeblockingFilterIdc
STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED = 0,
STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED = 1,
STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL = 2,
- STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_LAST,
STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH264SliceType
STD_VIDEO_H264_SLICE_TYPE_P = 0,
STD_VIDEO_H264_SLICE_TYPE_B = 1,
STD_VIDEO_H264_SLICE_TYPE_I = 2,
- STD_VIDEO_H264_SLICE_TYPE_LAST,
STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH264PictureType
{
- STD_VIDEO_H264_PICTURE_TYPE_P = 0,
- STD_VIDEO_H264_PICTURE_TYPE_B = 1,
- STD_VIDEO_H264_PICTURE_TYPE_I = 2,
- STD_VIDEO_H264_PICTURE_TYPE_IDR = 5,
- STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_PICTURE_TYPE_P = 0,
+ STD_VIDEO_H264_PICTURE_TYPE_B = 1,
+ STD_VIDEO_H264_PICTURE_TYPE_I = 2,
+ STD_VIDEO_H264_PICTURE_TYPE_IDR = 5,
+ STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH264NonVclNaluType
STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE = 4,
STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM = 5,
STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED = 6,
- STD_VIDEO_H264_NON_VCL_NALU_TYPE_LAST,
STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_NON_VCL_NALU_TYPE_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH265ChromaFormatIdc
STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1,
STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2,
STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3,
- STD_VIDEO_H265_CHROMA_FORMAT_IDC_LAST,
STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H265_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH265ProfileIdc
STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4,
STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9,
STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH265Level
STD_VIDEO_H265_LEVEL_6_0 = 10,
STD_VIDEO_H265_LEVEL_6_1 = 11,
STD_VIDEO_H265_LEVEL_6_2 = 12,
- STD_VIDEO_H265_LEVEL_LAST,
STD_VIDEO_H265_LEVEL_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H265_LEVEL_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH265SliceType
STD_VIDEO_H265_SLICE_TYPE_B = 0,
STD_VIDEO_H265_SLICE_TYPE_P = 1,
STD_VIDEO_H265_SLICE_TYPE_I = 2,
- STD_VIDEO_H265_SLICE_TYPE_LAST,
STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H265_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF,
};
enum StdVideoH265PictureType
{
- STD_VIDEO_H265_PICTURE_TYPE_P = 0,
- STD_VIDEO_H265_PICTURE_TYPE_B = 1,
- STD_VIDEO_H265_PICTURE_TYPE_I = 2,
- STD_VIDEO_H265_PICTURE_TYPE_IDR = 3,
- STD_VIDEO_H265_PICTURE_TYPE_LAST,
- STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H265_PICTURE_TYPE_P = 0,
+ STD_VIDEO_H265_PICTURE_TYPE_B = 1,
+ STD_VIDEO_H265_PICTURE_TYPE_I = 2,
+ STD_VIDEO_H265_PICTURE_TYPE_IDR = 3,
+ STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF,
};
-enum StdVideoDecodeH264FieldOrderCnt
+enum StdVideoDecodeH264FieldOrderCount
{
STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0,
STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1,
- STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE = 2,
- STD_VIDEO_DECODE_H264_FIELD_ORDER_CNT_LAST,
STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF,
};
enum VkFullScreenExclusiveEXT
typedef VkSemaphoreType VkSemaphoreTypeKHR;
+typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT;
+
typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
typedef VkGeometryTypeKHR VkGeometryTypeNV;
VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
+ VK_IMAGE_ASPECT_NONE_KHR = 0,
VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
+ VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT = 0x00000100,
VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT = 0x00000200,
VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT = 0x00000400,
- VK_VIDEO_ENCODE_H264_CAPABILITY_OPTIONAL_RC_EXTENSION_STRUCT_BIT_EXT = 0x00000800,
VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF,
};
typedef uint32_t VkVideoEncodeH264CapabilityFlagsEXT;
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL;
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL;
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
+static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL;
typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR;
#define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
#define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
#define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
+#define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U
+#define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1
#define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
#define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
#define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
#define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
#define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
-#define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT 16U
#define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
+#define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
#define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1
#define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
#define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
#define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1
#define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1
+#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
+#define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
+#define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 1
#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
#define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
#define VK_KHR_RAY_QUERY_SPEC_VERSION 1
#define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 2
#define VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION 1
#define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 3
+#define vulkan_video_codec_h264std 1
#define VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5)
-#define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5
-#define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264"
#define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32
#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6
#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16
#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 2
#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64
-#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 2
+#define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5
+#define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264"
+#define vulkan_video_codec_h264std_encode 1
+#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 3
+#define vulkan_video_codec_h265std 1
#define VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5)
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265"
-#define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32
#define STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE 7
+#define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32
#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6
#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16
#define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6
#define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64
#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2
#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64
-#define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
-#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19
-#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21
#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3
#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128
+#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19
+#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21
+#define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265"
+#define vulkan_video_codec_h265std_encode 1
#define STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE 15
#define STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE 15
#define STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM 2
-#define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 2
+#define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 3
+#define vulkan_video_codec_h264std_decode 1
+#define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
#define STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE 15
#define VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION 3
+#define vulkan_video_codec_h265std_decode 1
#define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8
#define VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION 1
#define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1
virtual void cmdCopyImageToBuffer2 (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) const;
virtual void cmdBlitImage2 (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) const;
virtual void cmdResolveImage2 (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo) const;
-virtual void cmdBeginRendering (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const;
+virtual void cmdBeginRendering (VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo) const;
virtual void cmdEndRendering (VkCommandBuffer commandBuffer) const;
virtual void cmdSetCullMode (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const;
virtual void cmdSetFrontFace (VkCommandBuffer commandBuffer, VkFrontFace frontFace) const;
virtual VkResult getPipelineExecutablePropertiesKHR (VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) const;
virtual VkResult getPipelineExecutableStatisticsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) const;
virtual VkResult getPipelineExecutableInternalRepresentationsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const;
-virtual void cmdWriteBufferMarker2AMD (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const;
+virtual void cmdWriteBufferMarker2AMD (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const;
virtual void getQueueCheckpointData2NV (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const;
virtual VkResult debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const;
virtual VkResult debugMarkerSetObjectNameEXT (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const;
m_vk.cmdResolveImage2(commandBuffer, pResolveImageInfo);
}
-void DeviceDriver::cmdBeginRendering (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const
+void DeviceDriver::cmdBeginRendering (VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo) const
{
m_vk.cmdBeginRendering(commandBuffer, pRenderingInfo);
}
return m_vk.getPipelineExecutableInternalRepresentationsKHR(device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations);
}
-void DeviceDriver::cmdWriteBufferMarker2AMD (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const
+void DeviceDriver::cmdWriteBufferMarker2AMD (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const
{
m_vk.cmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker);
}
checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
}
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>()))
+{
+ static const Feature features[] =
+ {
+ FEATURE_ITEM (VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR, globalPriorityQuery),
+ };
+ auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR*>(featuresStruct);
+ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
+}
+
if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>()))
{
static const Feature features[] =
checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
}
-if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT>()))
-{
- static const Feature features[] =
- {
- FEATURE_ITEM (VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT, globalPriorityQuery),
- };
- auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT*>(featuresStruct);
- checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
-}
-
if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceImageViewMinLodFeaturesEXT>()))
{
static const Feature features[] =
checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
}
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>()))
+{
+ static const Feature features[] =
+ {
+ FEATURE_ITEM (VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, fragmentDensityMapOffset),
+ };
+ auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM*>(featuresStruct);
+ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
+}
+
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>()))
+{
+ static const Feature features[] =
+ {
+ FEATURE_ITEM (VkPhysicalDeviceLinearColorAttachmentFeaturesNV, linearColorAttachment),
+ };
+ auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceLinearColorAttachmentFeaturesNV*>(featuresStruct);
+ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
+}
+
if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceAccelerationStructureFeaturesKHR>()))
{
static const Feature features[] =
#define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
#define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
+#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
#define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
-#define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
+#define DECL_KHR_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "not_existent_feature"
#define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
#define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
#define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
#define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
#define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
#define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
+#define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment"
#define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
#define DECL_MAINTENANCE4_EXTENSION_NAME "not_existent_feature"
#define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
// generic template is not enough for some compilers
template<> void initFeatureFromBlob<VkPhysicalDevicePerformanceQueryFeaturesKHR>(VkPhysicalDevicePerformanceQueryFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceShaderClockFeaturesKHR>(VkPhysicalDeviceShaderClockFeaturesKHR&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>(VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(VkPhysicalDeviceFragmentShadingRateFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDevicePresentWaitFeaturesKHR>(VkPhysicalDevicePresentWaitFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(VkPhysicalDeviceColorWriteEnableFeaturesEXT&, const AllFeaturesBlobs&) {}
-template<> void initFeatureFromBlob<VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT>(VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceImageViewMinLodFeaturesEXT>(VkPhysicalDeviceImageViewMinLodFeaturesEXT&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceMultiDrawFeaturesEXT>(VkPhysicalDeviceMultiDrawFeaturesEXT&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>(VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(VkPhysicalDeviceLinearColorAttachmentFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(VkPhysicalDeviceAccelerationStructureFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>(VkPhysicalDeviceRayTracingPipelineFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceRayQueryFeaturesKHR>(VkPhysicalDeviceRayQueryFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(VkPhysicalDevicePortabilitySubsetFeaturesKHR&, const AllFeaturesBlobs&) {}
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 103}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 102}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 101}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 100}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceASTCDecodeFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 99}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 98}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 97}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 96}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 95}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 94}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 93}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 92}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceConditionalRenderingFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 91}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCooperativeMatrixFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 90}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCornerSampledImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 89}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoverageReductionModeFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 88}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 87}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 86}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 85}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 84}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 83}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 82}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 81}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 80}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDynamicRenderingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 79}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExclusiveScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 78}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION, 77}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION, 76}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION, 75}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 74}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 73}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 72}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 71}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 70}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 69}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT, VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION, 68}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 67}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 66}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageRobustnessFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 65}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageViewMinLodFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION, 64}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 63}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION, 62}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 61}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION, 60}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 105}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 104}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 103}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 102}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceASTCDecodeFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 101}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 100}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 99}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 98}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 97}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 96}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 95}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 94}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceConditionalRenderingFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 93}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCooperativeMatrixFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 92}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCornerSampledImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 91}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoverageReductionModeFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 90}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 89}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 88}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 87}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 86}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 85}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 84}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 83}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 82}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDynamicRenderingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 81}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExclusiveScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 80}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION, 79}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION, 78}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION, 77}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 76}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 75}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 74}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 73}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 72}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 71}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 70}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, DECL_KHR_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, 0, 69}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 68}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 67}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageRobustnessFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 66}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageViewMinLodFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION, 65}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 64}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION, 63}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 62}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION, 61}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV, VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME, VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION, 60}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLineRasterizationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 59}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMaintenance4Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, DECL_MAINTENANCE4_EXTENSION_NAME, 0, 58}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMemoryPriorityFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 57}; }
{ createFeatureStructWrapper<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION },
+ { createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION },
- { createFeatureStructWrapper<VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT>, VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION },
+ { createFeatureStructWrapper<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>, DECL_KHR_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, 0 },
{ createFeatureStructWrapper<VkPhysicalDeviceHostQueryResetFeatures>, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceImagelessFramebufferFeatures>, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceImageRobustnessFeatures>, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceInlineUniformBlockFeatures>, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION },
+ { createFeatureStructWrapper<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>, VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME, VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceLineRasterizationFeaturesEXT>, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceMaintenance4Features>, DECL_MAINTENANCE4_EXTENSION_NAME, 0 },
{ createFeatureStructWrapper<VkPhysicalDeviceMemoryPriorityFeaturesEXT>, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION },
VkPhysicalDeviceFragmentDensityMapFeaturesEXT deviceFragmentDensityMapFeaturesEXT[count];
VkPhysicalDeviceFragmentDensityMap2FeaturesEXT deviceFragmentDensityMap2FeaturesEXT[count];
VkPhysicalDeviceFragmentShadingRateFeaturesKHR deviceFragmentShadingRateFeaturesKHR[count];
-VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT deviceGlobalPriorityQueryFeaturesEXT[count];
+VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR deviceGlobalPriorityQueryFeaturesKHR[count];
VkPhysicalDeviceInlineUniformBlockFeatures deviceInlineUniformBlockFeatures[count];
VkPhysicalDeviceIndexTypeUint8FeaturesEXT deviceIndexTypeUint8FeaturesEXT[count];
VkPhysicalDeviceImagelessFramebufferFeatures deviceImagelessFramebufferFeatures[count];
const bool isFragmentDensityMapFeaturesEXT = checkExtension(properties, "VK_EXT_fragment_density_map");
const bool isFragmentDensityMap2FeaturesEXT = checkExtension(properties, "VK_EXT_fragment_density_map2");
const bool isFragmentShadingRateFeaturesKHR = checkExtension(properties, "VK_KHR_fragment_shading_rate");
-const bool isGlobalPriorityQueryFeaturesEXT = checkExtension(properties, "VK_EXT_global_priority_query");
+const bool isGlobalPriorityQueryFeaturesKHR = checkExtension(properties, "VK_KHR_global_priority");
const bool isInlineUniformBlockFeatures = checkExtension(properties, "VK_EXT_inline_uniform_block") || context.contextSupports(vk::ApiVersion(1, 3, 0));
const bool isIndexTypeUint8FeaturesEXT = checkExtension(properties, "VK_EXT_index_type_uint8");
const bool isImagelessFramebufferFeatures = checkExtension(properties, "VK_KHR_imageless_framebuffer") || context.contextSupports(vk::ApiVersion(1, 2, 0));
deMemset(&deviceFragmentDensityMapFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT));
deMemset(&deviceFragmentDensityMap2FeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT));
deMemset(&deviceFragmentShadingRateFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceFragmentShadingRateFeaturesKHR));
- deMemset(&deviceGlobalPriorityQueryFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT));
+ deMemset(&deviceGlobalPriorityQueryFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR));
deMemset(&deviceInlineUniformBlockFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceInlineUniformBlockFeatures));
deMemset(&deviceIndexTypeUint8FeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesEXT));
deMemset(&deviceImagelessFramebufferFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceImagelessFramebufferFeatures));
deviceFragmentDensityMap2FeaturesEXT[ndx].pNext = &deviceFragmentShadingRateFeaturesKHR[ndx];
deviceFragmentShadingRateFeaturesKHR[ndx].sType = isFragmentShadingRateFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM;
- deviceFragmentShadingRateFeaturesKHR[ndx].pNext = &deviceGlobalPriorityQueryFeaturesEXT[ndx];
+ deviceFragmentShadingRateFeaturesKHR[ndx].pNext = &deviceGlobalPriorityQueryFeaturesKHR[ndx];
- deviceGlobalPriorityQueryFeaturesEXT[ndx].sType = isGlobalPriorityQueryFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM;
- deviceGlobalPriorityQueryFeaturesEXT[ndx].pNext = &deviceInlineUniformBlockFeatures[ndx];
+ deviceGlobalPriorityQueryFeaturesKHR[ndx].sType = isGlobalPriorityQueryFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM;
+ deviceGlobalPriorityQueryFeaturesKHR[ndx].pNext = &deviceInlineUniformBlockFeatures[ndx];
deviceInlineUniformBlockFeatures[ndx].sType = isInlineUniformBlockFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM;
deviceInlineUniformBlockFeatures[ndx].pNext = &deviceIndexTypeUint8FeaturesEXT[ndx];
log << TestLog::Message << deviceFragmentDensityMap2FeaturesEXT[0] << TestLog::EndMessage;
if (isFragmentShadingRateFeaturesKHR)
log << TestLog::Message << deviceFragmentShadingRateFeaturesKHR[0] << TestLog::EndMessage;
-if (isGlobalPriorityQueryFeaturesEXT)
- log << TestLog::Message << deviceGlobalPriorityQueryFeaturesEXT[0] << TestLog::EndMessage;
+if (isGlobalPriorityQueryFeaturesKHR)
+ log << TestLog::Message << deviceGlobalPriorityQueryFeaturesKHR[0] << TestLog::EndMessage;
if (isInlineUniformBlockFeatures)
log << TestLog::Message << deviceInlineUniformBlockFeatures[0] << TestLog::EndMessage;
if (isIndexTypeUint8FeaturesEXT)
{
TCU_FAIL("Mismatch between VkPhysicalDeviceFragmentShadingRateFeaturesKHR");
}
-if (isGlobalPriorityQueryFeaturesEXT &&
- (deviceGlobalPriorityQueryFeaturesEXT[0].globalPriorityQuery != deviceGlobalPriorityQueryFeaturesEXT[1].globalPriorityQuery))
+if (isGlobalPriorityQueryFeaturesKHR &&
+ (deviceGlobalPriorityQueryFeaturesKHR[0].globalPriorityQuery != deviceGlobalPriorityQueryFeaturesKHR[1].globalPriorityQuery))
{
- TCU_FAIL("Mismatch between VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT");
+ TCU_FAIL("Mismatch between VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR");
}
if (isInlineUniformBlockFeatures &&
(deviceInlineUniformBlockFeatures[0].inlineUniformBlock != deviceInlineUniformBlockFeatures[1].inlineUniformBlock ||
const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& getExternalMemoryRDMAFeatures (void) const;
const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT& getFragmentDensityMapFeaturesEXT (void) const;
const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& getFragmentDensityMap2FeaturesEXT (void) const;
+const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& getFragmentDensityMapOffsetFeaturesQCOM (void) const;
const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& getFragmentShaderBarycentricFeatures (void) const;
const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& getFragmentShaderInterlockFeaturesEXT (void) const;
const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR& getFragmentShadingRateFeatures (void) const;
const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& getFragmentShadingRateEnumsFeatures (void) const;
-const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT& getGlobalPriorityQueryFeaturesEXT (void) const;
+const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR& getGlobalPriorityQueryFeatures (void) const;
const vk::VkPhysicalDeviceHostQueryResetFeatures& getHostQueryResetFeatures (void) const;
const vk::VkPhysicalDeviceImagelessFramebufferFeatures& getImagelessFramebufferFeatures (void) const;
const vk::VkPhysicalDeviceImageRobustnessFeatures& getImageRobustnessFeatures (void) const;
const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV& getInheritedViewportScissorFeatures (void) const;
const vk::VkPhysicalDeviceInlineUniformBlockFeatures& getInlineUniformBlockFeatures (void) const;
const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& getInvocationMaskFeaturesHUAWEI (void) const;
+const vk::VkPhysicalDeviceLinearColorAttachmentFeaturesNV& getLinearColorAttachmentFeatures (void) const;
const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT& getLineRasterizationFeaturesEXT (void) const;
const vk::VkPhysicalDeviceMaintenance4Features& getMaintenance4Features (void) const;
const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT& getMemoryPriorityFeaturesEXT (void) const;
const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& Context::getExternalMemoryRDMAFeatures (void) const { return m_device->getExternalMemoryRDMAFeatures(); }
const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT& Context::getFragmentDensityMapFeaturesEXT (void) const { return m_device->getFragmentDensityMapFeaturesEXT(); }
const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& Context::getFragmentDensityMap2FeaturesEXT (void) const { return m_device->getFragmentDensityMap2FeaturesEXT(); }
+const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& Context::getFragmentDensityMapOffsetFeaturesQCOM (void) const { return m_device->getFragmentDensityMapOffsetFeaturesQCOM(); }
const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& Context::getFragmentShaderBarycentricFeatures (void) const { return m_device->getFragmentShaderBarycentricFeatures(); }
const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& Context::getFragmentShaderInterlockFeaturesEXT (void) const { return m_device->getFragmentShaderInterlockFeaturesEXT(); }
const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR& Context::getFragmentShadingRateFeatures (void) const { return m_device->getFragmentShadingRateFeatures(); }
const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& Context::getFragmentShadingRateEnumsFeatures (void) const { return m_device->getFragmentShadingRateEnumsFeatures(); }
-const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT& Context::getGlobalPriorityQueryFeaturesEXT (void) const { return m_device->getGlobalPriorityQueryFeaturesEXT(); }
+const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR& Context::getGlobalPriorityQueryFeatures (void) const { return m_device->getGlobalPriorityQueryFeatures(); }
const vk::VkPhysicalDeviceHostQueryResetFeatures& Context::getHostQueryResetFeatures (void) const { return m_device->getHostQueryResetFeatures(); }
const vk::VkPhysicalDeviceImagelessFramebufferFeatures& Context::getImagelessFramebufferFeatures (void) const { return m_device->getImagelessFramebufferFeatures(); }
const vk::VkPhysicalDeviceImageRobustnessFeatures& Context::getImageRobustnessFeatures (void) const { return m_device->getImageRobustnessFeatures(); }
const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV& Context::getInheritedViewportScissorFeatures (void) const { return m_device->getInheritedViewportScissorFeatures(); }
const vk::VkPhysicalDeviceInlineUniformBlockFeatures& Context::getInlineUniformBlockFeatures (void) const { return m_device->getInlineUniformBlockFeatures(); }
const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& Context::getInvocationMaskFeaturesHUAWEI (void) const { return m_device->getInvocationMaskFeaturesHUAWEI(); }
+const vk::VkPhysicalDeviceLinearColorAttachmentFeaturesNV& Context::getLinearColorAttachmentFeatures (void) const { return m_device->getLinearColorAttachmentFeatures(); }
const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT& Context::getLineRasterizationFeaturesEXT (void) const { return m_device->getLineRasterizationFeaturesEXT(); }
const vk::VkPhysicalDeviceMaintenance4Features& Context::getMaintenance4Features (void) const { return m_device->getMaintenance4Features(); }
const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT& Context::getMemoryPriorityFeaturesEXT (void) const { return m_device->getMemoryPriorityFeaturesEXT(); }
const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& getExternalMemoryRDMAFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(); }
const VkPhysicalDeviceFragmentDensityMapFeaturesEXT& getFragmentDensityMapFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(); }
const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& getFragmentDensityMap2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(); }
+const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& getFragmentDensityMapOffsetFeaturesQCOM (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(); }
const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& getFragmentShaderBarycentricFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(); }
const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& getFragmentShaderInterlockFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(); }
const VkPhysicalDeviceFragmentShadingRateFeaturesKHR& getFragmentShadingRateFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(); }
const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& getFragmentShadingRateEnumsFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(); }
-const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT& getGlobalPriorityQueryFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT>(); }
+const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR& getGlobalPriorityQueryFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>(); }
const VkPhysicalDeviceHostQueryResetFeatures& getHostQueryResetFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceHostQueryResetFeatures>(); }
const VkPhysicalDeviceImagelessFramebufferFeatures& getImagelessFramebufferFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImagelessFramebufferFeatures>(); }
const VkPhysicalDeviceImageRobustnessFeatures& getImageRobustnessFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageRobustnessFeatures>(); }
const VkPhysicalDeviceInheritedViewportScissorFeaturesNV& getInheritedViewportScissorFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>(); }
const VkPhysicalDeviceInlineUniformBlockFeatures& getInlineUniformBlockFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInlineUniformBlockFeatures>(); }
const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& getInvocationMaskFeaturesHUAWEI (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>(); }
+const VkPhysicalDeviceLinearColorAttachmentFeaturesNV& getLinearColorAttachmentFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(); }
const VkPhysicalDeviceLineRasterizationFeaturesEXT& getLineRasterizationFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLineRasterizationFeaturesEXT>(); }
const VkPhysicalDeviceMaintenance4Features& getMaintenance4Features (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMaintenance4Features>(); }
const VkPhysicalDeviceMemoryPriorityFeaturesEXT& getMemoryPriorityFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMemoryPriorityFeaturesEXT>(); }
#define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
#define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
+#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
#define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
#define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
template<> void initPropertyFromBlob<VkPhysicalDeviceDrmPropertiesEXT>(VkPhysicalDeviceDrmPropertiesEXT&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDeviceSubpassShadingPropertiesHUAWEI>(VkPhysicalDeviceSubpassShadingPropertiesHUAWEI&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDeviceMultiDrawPropertiesEXT>(VkPhysicalDeviceMultiDrawPropertiesEXT&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(VkPhysicalDeviceAccelerationStructurePropertiesKHR&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDeviceRayTracingPipelinePropertiesKHR>(VkPhysicalDeviceRayTracingPipelinePropertiesKHR&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDevicePortabilitySubsetPropertiesKHR>(VkPhysicalDevicePortabilitySubsetPropertiesKHR&, const AllPropertiesBlobs&) {}
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 48}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 47}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceConservativeRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME, VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION, 46}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCooperativeMatrixPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 45}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCustomBorderColorPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 44}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDepthStencilResolveProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 43}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorIndexingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 42}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 41}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION, 40}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 39}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDrmPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION, 38}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION, 37}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFloatControlsProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 36}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 35}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 34}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 49}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 48}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceConservativeRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME, VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION, 47}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCooperativeMatrixPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 46}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCustomBorderColorPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 45}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDepthStencilResolveProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 44}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorIndexingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 43}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 42}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION, 41}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 40}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDrmPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION, 39}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION, 38}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFloatControlsProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 37}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 36}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 35}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 34}; }
template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 33}; }
template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 32}; }
template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceIDProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 31}; }
{ createPropertyStructWrapper<VkPhysicalDeviceFloatControlsProperties>, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION },
+ { createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceIDProperties>, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION },
const vk::VkPhysicalDeviceFloatControlsProperties& getFloatControlsProperties (void) const;
const vk::VkPhysicalDeviceFragmentDensityMapPropertiesEXT& getFragmentDensityMapPropertiesEXT (void) const;
const vk::VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& getFragmentDensityMap2PropertiesEXT (void) const;
+const vk::VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& getFragmentDensityMapOffsetPropertiesQCOM (void) const;
const vk::VkPhysicalDeviceFragmentShadingRatePropertiesKHR& getFragmentShadingRateProperties (void) const;
const vk::VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& getFragmentShadingRateEnumsProperties (void) const;
const vk::VkPhysicalDeviceIDProperties& getIDProperties (void) const;
const vk::VkPhysicalDeviceFloatControlsProperties& Context::getFloatControlsProperties (void) const { return m_device->getFloatControlsProperties(); }
const vk::VkPhysicalDeviceFragmentDensityMapPropertiesEXT& Context::getFragmentDensityMapPropertiesEXT (void) const { return m_device->getFragmentDensityMapPropertiesEXT(); }
const vk::VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& Context::getFragmentDensityMap2PropertiesEXT (void) const { return m_device->getFragmentDensityMap2PropertiesEXT(); }
+const vk::VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& Context::getFragmentDensityMapOffsetPropertiesQCOM (void) const { return m_device->getFragmentDensityMapOffsetPropertiesQCOM(); }
const vk::VkPhysicalDeviceFragmentShadingRatePropertiesKHR& Context::getFragmentShadingRateProperties (void) const { return m_device->getFragmentShadingRateProperties(); }
const vk::VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& Context::getFragmentShadingRateEnumsProperties (void) const { return m_device->getFragmentShadingRateEnumsProperties(); }
const vk::VkPhysicalDeviceIDProperties& Context::getIDProperties (void) const { return m_device->getIDProperties(); }
const VkPhysicalDeviceFloatControlsProperties& getFloatControlsProperties (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFloatControlsProperties>(); }
const VkPhysicalDeviceFragmentDensityMapPropertiesEXT& getFragmentDensityMapPropertiesEXT (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(); }
const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& getFragmentDensityMap2PropertiesEXT (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(); }
+const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& getFragmentDensityMapOffsetPropertiesQCOM (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(); }
const VkPhysicalDeviceFragmentShadingRatePropertiesKHR& getFragmentShadingRateProperties (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(); }
const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& getFragmentShadingRateEnumsProperties (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>(); }
const VkPhysicalDeviceIDProperties& getIDProperties (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceIDProperties>(); }
{
return;
}
+ if (extName == "VK_KHR_global_priority")
+ {
+ return;
+ }
if (extName == "VK_KHR_driver_properties")
{
return;
{
return;
}
+ if (extName == "VK_QCOM_fragment_density_map_offset")
+ {
+ return;
+ }
+ if (extName == "VK_NV_linear_color_attachment")
+ {
+ return;
+ }
+ if (extName == "VK_GOOGLE_surfaceless_query")
+ {
+ return;
+ }
if (extName == "VK_KHR_acceleration_structure")
{
return;
{
return;
}
+ if (extName == "VK_KHR_global_priority")
+ {
+ return;
+ }
if (extName == "VK_KHR_driver_properties")
{
return;
functions.push_back("vkSetDeviceMemoryPriorityEXT");
return;
}
+ if (extName == "VK_QCOM_fragment_density_map_offset")
+ {
+ return;
+ }
+ if (extName == "VK_NV_linear_color_attachment")
+ {
+ return;
+ }
+ if (extName == "VK_GOOGLE_surfaceless_query")
+ {
+ return;
+ }
if (extName == "VK_KHR_acceleration_structure")
{
functions.push_back("vkCreateAccelerationStructureKHR");
typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImageToBuffer2Func) (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
typedef VKAPI_ATTR void (VKAPI_CALL* CmdBlitImage2Func) (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
typedef VKAPI_ATTR void (VKAPI_CALL* CmdResolveImage2Func) (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
-typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginRenderingFunc) (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo);
+typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginRenderingFunc) (VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndRenderingFunc) (VkCommandBuffer commandBuffer);
typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetCullModeFunc) (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetFrontFaceFunc) (VkCommandBuffer commandBuffer, VkFrontFace frontFace);
typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayPlaneCapabilitiesKHRFunc) (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDisplayPlaneSurfaceKHRFunc) (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSharedSwapchainsKHRFunc) (VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
-typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginRenderingKHRFunc) (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo);
+typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginRenderingKHRFunc) (VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndRenderingKHRFunc) (VkCommandBuffer commandBuffer);
typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFeatures2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
typedef VKAPI_ATTR void (VKAPI_CALL* CmdPipelineBarrier2KHRFunc) (VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteTimestamp2KHRFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueSubmit2KHRFunc) (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
-typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteBufferMarker2AMDFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
+typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteBufferMarker2AMDFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
typedef VKAPI_ATTR void (VKAPI_CALL* GetQueueCheckpointData2NVFunc) (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBuffer2KHRFunc) (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImage2KHRFunc) (VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR;
}
+template<> VkStructureType getStructureType<VkDeviceQueueGlobalPriorityCreateInfoKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR;
+}
+
+template<> VkStructureType getStructureType<VkQueueFamilyGlobalPriorityPropertiesKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR;
+}
+
template<> VkStructureType getStructureType<VkFragmentShadingRateAttachmentInfoKHR> (void)
{
return VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR;
return VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT;
}
-template<> VkStructureType getStructureType<VkDeviceQueueGlobalPriorityCreateInfoEXT> (void)
-{
- return VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT;
-}
-
template<> VkStructureType getStructureType<VkImportMemoryHostPointerInfoEXT> (void)
{
return VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT;
return VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT;
}
-template<> VkStructureType getStructureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT> (void)
-{
- return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT;
-}
-
-template<> VkStructureType getStructureType<VkQueueFamilyGlobalPriorityPropertiesEXT> (void)
-{
- return VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT;
-}
-
template<> VkStructureType getStructureType<VkPhysicalDeviceImageViewMinLodFeaturesEXT> (void)
{
return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT;
return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT;
}
+template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM> (void)
+{
+ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM> (void)
+{
+ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM;
+}
+
+template<> VkStructureType getStructureType<VkSubpassFragmentDensityMapOffsetEndInfoQCOM> (void)
+{
+ return VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceLinearColorAttachmentFeaturesNV> (void)
+{
+ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV;
+}
+
template<> VkStructureType getStructureType<VkAccelerationStructureGeometryTrianglesDataKHR> (void)
{
return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR;
return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID;
}
+template<> VkStructureType getStructureType<VkQueueFamilyQueryResultStatusProperties2KHR> (void)
+{
+ return VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR;
+}
+
template<> VkStructureType getStructureType<VkVideoQueueFamilyProperties2KHR> (void)
{
return VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR;
DE_UNREF(pResolveImageInfo);
}
-VKAPI_ATTR void VKAPI_CALL cmdBeginRendering (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo)
+VKAPI_ATTR void VKAPI_CALL cmdBeginRendering (VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo)
{
DE_UNREF(commandBuffer);
DE_UNREF(pRenderingInfo);
return VK_SUCCESS;
}
-VKAPI_ATTR void VKAPI_CALL cmdWriteBufferMarker2AMD (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker)
+VKAPI_ATTR void VKAPI_CALL cmdWriteBufferMarker2AMD (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker)
{
DE_UNREF(commandBuffer);
DE_UNREF(stage);
const char* getPerformanceCounterUnitKHRName (VkPerformanceCounterUnitKHR value);
const char* getPerformanceCounterScopeKHRName (VkPerformanceCounterScopeKHR value);
const char* getPerformanceCounterStorageKHRName (VkPerformanceCounterStorageKHR value);
+const char* getQueueGlobalPriorityKHRName (VkQueueGlobalPriorityKHR value);
const char* getFragmentShadingRateCombinerOpKHRName (VkFragmentShadingRateCombinerOpKHR value);
const char* getPipelineExecutableStatisticFormatKHRName (VkPipelineExecutableStatisticFormatKHR value);
const char* getDebugReportObjectTypeEXTName (VkDebugReportObjectTypeEXT value);
const char* getAccelerationStructureTypeKHRName (VkAccelerationStructureTypeKHR value);
const char* getCopyAccelerationStructureModeKHRName (VkCopyAccelerationStructureModeKHR value);
const char* getAccelerationStructureMemoryRequirementsTypeNVName (VkAccelerationStructureMemoryRequirementsTypeNV value);
-const char* getQueueGlobalPriorityEXTName (VkQueueGlobalPriorityEXT value);
const char* getTimeDomainEXTName (VkTimeDomainEXT value);
const char* getMemoryOverallocationBehaviorAMDName (VkMemoryOverallocationBehaviorAMD value);
const char* getPerformanceConfigurationTypeINTELName (VkPerformanceConfigurationTypeINTEL value);
const char* getdVideoH265LevelName (StdVideoH265Level value);
const char* getdVideoH265SliceTypeName (StdVideoH265SliceType value);
const char* getdVideoH265PictureTypeName (StdVideoH265PictureType value);
-const char* getdVideoDecodeH264FieldOrderCntName (StdVideoDecodeH264FieldOrderCnt value);
+const char* getdVideoDecodeH264FieldOrderCountName (StdVideoDecodeH264FieldOrderCount value);
const char* getFullScreenExclusiveEXTName (VkFullScreenExclusiveEXT value);
inline tcu::Format::Enum<VkResult> getResultStr (VkResult value) { return tcu::Format::Enum<VkResult>(getResultName, value); }
inline tcu::Format::Enum<VkPerformanceCounterUnitKHR> getPerformanceCounterUnitKHRStr (VkPerformanceCounterUnitKHR value) { return tcu::Format::Enum<VkPerformanceCounterUnitKHR>(getPerformanceCounterUnitKHRName, value); }
inline tcu::Format::Enum<VkPerformanceCounterScopeKHR> getPerformanceCounterScopeKHRStr (VkPerformanceCounterScopeKHR value) { return tcu::Format::Enum<VkPerformanceCounterScopeKHR>(getPerformanceCounterScopeKHRName, value); }
inline tcu::Format::Enum<VkPerformanceCounterStorageKHR> getPerformanceCounterStorageKHRStr (VkPerformanceCounterStorageKHR value) { return tcu::Format::Enum<VkPerformanceCounterStorageKHR>(getPerformanceCounterStorageKHRName, value); }
+inline tcu::Format::Enum<VkQueueGlobalPriorityKHR> getQueueGlobalPriorityKHRStr (VkQueueGlobalPriorityKHR value) { return tcu::Format::Enum<VkQueueGlobalPriorityKHR>(getQueueGlobalPriorityKHRName, value); }
inline tcu::Format::Enum<VkFragmentShadingRateCombinerOpKHR> getFragmentShadingRateCombinerOpKHRStr (VkFragmentShadingRateCombinerOpKHR value) { return tcu::Format::Enum<VkFragmentShadingRateCombinerOpKHR>(getFragmentShadingRateCombinerOpKHRName, value); }
inline tcu::Format::Enum<VkPipelineExecutableStatisticFormatKHR> getPipelineExecutableStatisticFormatKHRStr (VkPipelineExecutableStatisticFormatKHR value) { return tcu::Format::Enum<VkPipelineExecutableStatisticFormatKHR>(getPipelineExecutableStatisticFormatKHRName, value); }
inline tcu::Format::Enum<VkDebugReportObjectTypeEXT> getDebugReportObjectTypeEXTStr (VkDebugReportObjectTypeEXT value) { return tcu::Format::Enum<VkDebugReportObjectTypeEXT>(getDebugReportObjectTypeEXTName, value); }
inline tcu::Format::Enum<VkAccelerationStructureTypeKHR> getAccelerationStructureTypeKHRStr (VkAccelerationStructureTypeKHR value) { return tcu::Format::Enum<VkAccelerationStructureTypeKHR>(getAccelerationStructureTypeKHRName, value); }
inline tcu::Format::Enum<VkCopyAccelerationStructureModeKHR> getCopyAccelerationStructureModeKHRStr (VkCopyAccelerationStructureModeKHR value) { return tcu::Format::Enum<VkCopyAccelerationStructureModeKHR>(getCopyAccelerationStructureModeKHRName, value); }
inline tcu::Format::Enum<VkAccelerationStructureMemoryRequirementsTypeNV> getAccelerationStructureMemoryRequirementsTypeNVStr (VkAccelerationStructureMemoryRequirementsTypeNV value) { return tcu::Format::Enum<VkAccelerationStructureMemoryRequirementsTypeNV>(getAccelerationStructureMemoryRequirementsTypeNVName, value); }
-inline tcu::Format::Enum<VkQueueGlobalPriorityEXT> getQueueGlobalPriorityEXTStr (VkQueueGlobalPriorityEXT value) { return tcu::Format::Enum<VkQueueGlobalPriorityEXT>(getQueueGlobalPriorityEXTName, value); }
inline tcu::Format::Enum<VkTimeDomainEXT> getTimeDomainEXTStr (VkTimeDomainEXT value) { return tcu::Format::Enum<VkTimeDomainEXT>(getTimeDomainEXTName, value); }
inline tcu::Format::Enum<VkMemoryOverallocationBehaviorAMD> getMemoryOverallocationBehaviorAMDStr (VkMemoryOverallocationBehaviorAMD value) { return tcu::Format::Enum<VkMemoryOverallocationBehaviorAMD>(getMemoryOverallocationBehaviorAMDName, value); }
inline tcu::Format::Enum<VkPerformanceConfigurationTypeINTEL> getPerformanceConfigurationTypeINTELStr (VkPerformanceConfigurationTypeINTEL value) { return tcu::Format::Enum<VkPerformanceConfigurationTypeINTEL>(getPerformanceConfigurationTypeINTELName, value); }
inline tcu::Format::Enum<StdVideoH265Level> getdVideoH265LevelStr (StdVideoH265Level value) { return tcu::Format::Enum<StdVideoH265Level>(getdVideoH265LevelName, value); }
inline tcu::Format::Enum<StdVideoH265SliceType> getdVideoH265SliceTypeStr (StdVideoH265SliceType value) { return tcu::Format::Enum<StdVideoH265SliceType>(getdVideoH265SliceTypeName, value); }
inline tcu::Format::Enum<StdVideoH265PictureType> getdVideoH265PictureTypeStr (StdVideoH265PictureType value) { return tcu::Format::Enum<StdVideoH265PictureType>(getdVideoH265PictureTypeName, value); }
-inline tcu::Format::Enum<StdVideoDecodeH264FieldOrderCnt> getdVideoDecodeH264FieldOrderCntStr (StdVideoDecodeH264FieldOrderCnt value) { return tcu::Format::Enum<StdVideoDecodeH264FieldOrderCnt>(getdVideoDecodeH264FieldOrderCntName, value); }
+inline tcu::Format::Enum<StdVideoDecodeH264FieldOrderCount> getdVideoDecodeH264FieldOrderCountStr (StdVideoDecodeH264FieldOrderCount value) { return tcu::Format::Enum<StdVideoDecodeH264FieldOrderCount>(getdVideoDecodeH264FieldOrderCountName, value); }
inline tcu::Format::Enum<VkFullScreenExclusiveEXT> getFullScreenExclusiveEXTStr (VkFullScreenExclusiveEXT value) { return tcu::Format::Enum<VkFullScreenExclusiveEXT>(getFullScreenExclusiveEXTName, value); }
inline std::ostream& operator<< (std::ostream& s, VkResult value) { return s << getResultStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkPerformanceCounterUnitKHR value) { return s << getPerformanceCounterUnitKHRStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkPerformanceCounterScopeKHR value) { return s << getPerformanceCounterScopeKHRStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkPerformanceCounterStorageKHR value) { return s << getPerformanceCounterStorageKHRStr(value); }
+inline std::ostream& operator<< (std::ostream& s, VkQueueGlobalPriorityKHR value) { return s << getQueueGlobalPriorityKHRStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkFragmentShadingRateCombinerOpKHR value) { return s << getFragmentShadingRateCombinerOpKHRStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkPipelineExecutableStatisticFormatKHR value) { return s << getPipelineExecutableStatisticFormatKHRStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkDebugReportObjectTypeEXT value) { return s << getDebugReportObjectTypeEXTStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkAccelerationStructureTypeKHR value) { return s << getAccelerationStructureTypeKHRStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkCopyAccelerationStructureModeKHR value) { return s << getCopyAccelerationStructureModeKHRStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkAccelerationStructureMemoryRequirementsTypeNV value) { return s << getAccelerationStructureMemoryRequirementsTypeNVStr(value); }
-inline std::ostream& operator<< (std::ostream& s, VkQueueGlobalPriorityEXT value) { return s << getQueueGlobalPriorityEXTStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkTimeDomainEXT value) { return s << getTimeDomainEXTStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkMemoryOverallocationBehaviorAMD value) { return s << getMemoryOverallocationBehaviorAMDStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkPerformanceConfigurationTypeINTEL value) { return s << getPerformanceConfigurationTypeINTELStr(value); }
inline std::ostream& operator<< (std::ostream& s, StdVideoH265Level value) { return s << getdVideoH265LevelStr(value); }
inline std::ostream& operator<< (std::ostream& s, StdVideoH265SliceType value) { return s << getdVideoH265SliceTypeStr(value); }
inline std::ostream& operator<< (std::ostream& s, StdVideoH265PictureType value) { return s << getdVideoH265PictureTypeStr(value); }
-inline std::ostream& operator<< (std::ostream& s, StdVideoDecodeH264FieldOrderCnt value) { return s << getdVideoDecodeH264FieldOrderCntStr(value); }
+inline std::ostream& operator<< (std::ostream& s, StdVideoDecodeH264FieldOrderCount value) { return s << getdVideoDecodeH264FieldOrderCountStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkFullScreenExclusiveEXT value) { return s << getFullScreenExclusiveEXTStr(value); }
tcu::Format::Bitfield<32> getAccessFlagsStr (VkAccessFlags value);
std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneInfo2KHR& value);
std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneCapabilities2KHR& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderClockFeaturesKHR& value);
+std::ostream& operator<< (std::ostream& s, const VkDeviceQueueGlobalPriorityCreateInfoKHR& value);
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR& value);
+std::ostream& operator<< (std::ostream& s, const VkQueueFamilyGlobalPriorityPropertiesKHR& value);
std::ostream& operator<< (std::ostream& s, const VkFragmentShadingRateAttachmentInfoKHR& value);
std::ostream& operator<< (std::ostream& s, const VkPipelineFragmentShadingRateStateCreateInfoKHR& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateFeaturesKHR& value);
std::ostream& operator<< (std::ostream& s, const VkPipelineRepresentativeFragmentTestStateCreateInfoNV& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageViewImageFormatInfoEXT& value);
std::ostream& operator<< (std::ostream& s, const VkFilterCubicImageViewImageFormatPropertiesEXT& value);
-std::ostream& operator<< (std::ostream& s, const VkDeviceQueueGlobalPriorityCreateInfoEXT& value);
std::ostream& operator<< (std::ostream& s, const VkImportMemoryHostPointerInfoEXT& value);
std::ostream& operator<< (std::ostream& s, const VkMemoryHostPointerPropertiesEXT& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalMemoryHostPropertiesEXT& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceColorWriteEnableFeaturesEXT& value);
std::ostream& operator<< (std::ostream& s, const VkPipelineColorWriteCreateInfoEXT& value);
-std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT& value);
-std::ostream& operator<< (std::ostream& s, const VkQueueFamilyGlobalPriorityPropertiesEXT& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageViewMinLodFeaturesEXT& value);
std::ostream& operator<< (std::ostream& s, const VkImageViewMinLodCreateInfoEXT& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiDrawFeaturesEXT& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& value);
std::ostream& operator<< (std::ostream& s, const VkSamplerBorderColorComponentMappingCreateInfoEXT& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT& value);
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& value);
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& value);
+std::ostream& operator<< (std::ostream& s, const VkSubpassFragmentDensityMapOffsetEndInfoQCOM& value);
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLinearColorAttachmentFeaturesNV& value);
std::ostream& operator<< (std::ostream& s, const VkDeviceOrHostAddressKHR& value);
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureBuildRangeInfoKHR& value);
std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryTrianglesDataKHR& value);
std::ostream& operator<< (std::ostream& s, const VkMemoryGetAndroidHardwareBufferInfoANDROID& value);
std::ostream& operator<< (std::ostream& s, const VkExternalFormatANDROID& value);
std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferFormatProperties2ANDROID& value);
+std::ostream& operator<< (std::ostream& s, const VkQueueFamilyQueryResultStatusProperties2KHR& value);
std::ostream& operator<< (std::ostream& s, const VkVideoQueueFamilyProperties2KHR& value);
std::ostream& operator<< (std::ostream& s, const VkVideoProfileKHR& value);
std::ostream& operator<< (std::ostream& s, const VkVideoProfilesKHR& value);
case VK_ERROR_VALIDATION_FAILED_EXT: return "VK_ERROR_VALIDATION_FAILED_EXT";
case VK_ERROR_INVALID_SHADER_NV: return "VK_ERROR_INVALID_SHADER_NV";
case VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT: return "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT";
- case VK_ERROR_NOT_PERMITTED_EXT: return "VK_ERROR_NOT_PERMITTED_EXT";
+ case VK_ERROR_NOT_PERMITTED_KHR: return "VK_ERROR_NOT_PERMITTED_KHR";
case VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT: return "VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT";
case VK_THREAD_IDLE_KHR: return "VK_THREAD_IDLE_KHR";
case VK_THREAD_DONE_KHR: return "VK_THREAD_DONE_KHR";
case VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR";
case VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR";
+ case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR";
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT";
case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT";
- case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT";
case VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT";
+ case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR";
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR";
+ case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX: return "VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT";
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT";
- case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT";
case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT";
case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT";
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM";
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM";
+ case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: return "VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM";
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV";
case VK_STRUCTURE_TYPE_MAX_ENUM: return "VK_STRUCTURE_TYPE_MAX_ENUM";
default: return DE_NULL;
}
}
}
+const char* getQueueGlobalPriorityKHRName (VkQueueGlobalPriorityKHR value)
+{
+ switch (value)
+ {
+ case VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR";
+ case VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR";
+ case VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR";
+ case VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR";
+ case VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR: return "VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR";
+ default: return DE_NULL;
+ }
+}
+
const char* getFragmentShadingRateCombinerOpKHRName (VkFragmentShadingRateCombinerOpKHR value)
{
switch (value)
}
}
-const char* getQueueGlobalPriorityEXTName (VkQueueGlobalPriorityEXT value)
-{
- switch (value)
- {
- case VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT: return "VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT";
- case VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT: return "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT";
- case VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT: return "VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT";
- case VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT: return "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT";
- case VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT: return "VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT";
- default: return DE_NULL;
- }
-}
-
const char* getTimeDomainEXTName (VkTimeDomainEXT value)
{
switch (value)
}
}
-const char* getdVideoDecodeH264FieldOrderCntName (StdVideoDecodeH264FieldOrderCnt value)
+const char* getdVideoDecodeH264FieldOrderCountName (StdVideoDecodeH264FieldOrderCount value)
{
switch (value)
{
case STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP: return "STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP";
case STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM: return "STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM";
- case STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE: return "STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE";
case STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID: return "STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID";
default: return DE_NULL;
}
tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT"),
+ tcu::Format::BitDesc(VK_IMAGE_ASPECT_NONE_KHR, "VK_IMAGE_ASPECT_NONE_KHR"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_0_BIT_KHR, "VK_IMAGE_ASPECT_PLANE_0_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_1_BIT_KHR, "VK_IMAGE_ASPECT_PLANE_1_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_2_BIT_KHR, "VK_IMAGE_ASPECT_PLANE_2_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV, "VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT, "VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT, "VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT"),
+ tcu::Format::BitDesc(VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM, "VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR, "VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR, "VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR"),
tcu::Format::BitDesc(VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR, "VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT"),
- tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_OPTIONAL_RC_EXTENSION_STRUCT_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_OPTIONAL_RC_EXTENSION_STRUCT_BIT_EXT"),
tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
return s;
}
+std::ostream& operator<< (std::ostream& s, const VkDeviceQueueGlobalPriorityCreateInfoKHR& value)
+{
+ s << "VkDeviceQueueGlobalPriorityCreateInfoKHR = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tglobalPriority = " << value.globalPriority << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR& value)
+{
+ s << "VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tglobalPriorityQuery = " << value.globalPriorityQuery << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkQueueFamilyGlobalPriorityPropertiesKHR& value)
+{
+ s << "VkQueueFamilyGlobalPriorityPropertiesKHR = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tpriorityCount = " << value.priorityCount << '\n';
+ s << "\tpriorities = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.priorities), DE_ARRAY_END(value.priorities)) << '\n';
+ s << '}';
+ return s;
+}
+
std::ostream& operator<< (std::ostream& s, const VkFragmentShadingRateAttachmentInfoKHR& value)
{
s << "VkFragmentShadingRateAttachmentInfoKHR = {\n";
return s;
}
-std::ostream& operator<< (std::ostream& s, const VkDeviceQueueGlobalPriorityCreateInfoEXT& value)
-{
- s << "VkDeviceQueueGlobalPriorityCreateInfoEXT = {\n";
- s << "\tsType = " << value.sType << '\n';
- s << "\tpNext = " << value.pNext << '\n';
- s << "\tglobalPriority = " << value.globalPriority << '\n';
- s << '}';
- return s;
-}
-
std::ostream& operator<< (std::ostream& s, const VkImportMemoryHostPointerInfoEXT& value)
{
s << "VkImportMemoryHostPointerInfoEXT = {\n";
return s;
}
-std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT& value)
-{
- s << "VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = {\n";
- s << "\tsType = " << value.sType << '\n';
- s << "\tpNext = " << value.pNext << '\n';
- s << "\tglobalPriorityQuery = " << value.globalPriorityQuery << '\n';
- s << '}';
- return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkQueueFamilyGlobalPriorityPropertiesEXT& value)
-{
- s << "VkQueueFamilyGlobalPriorityPropertiesEXT = {\n";
- s << "\tsType = " << value.sType << '\n';
- s << "\tpNext = " << value.pNext << '\n';
- s << "\tpriorityCount = " << value.priorityCount << '\n';
- s << "\tpriorities = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.priorities), DE_ARRAY_END(value.priorities)) << '\n';
- s << '}';
- return s;
-}
-
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageViewMinLodFeaturesEXT& value)
{
s << "VkPhysicalDeviceImageViewMinLodFeaturesEXT = {\n";
return s;
}
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& value)
+{
+ s << "VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tfragmentDensityMapOffset = " << value.fragmentDensityMapOffset << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& value)
+{
+ s << "VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tfragmentDensityOffsetGranularity = " << value.fragmentDensityOffsetGranularity << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkSubpassFragmentDensityMapOffsetEndInfoQCOM& value)
+{
+ s << "VkSubpassFragmentDensityMapOffsetEndInfoQCOM = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tfragmentDensityOffsetCount = " << value.fragmentDensityOffsetCount << '\n';
+ s << "\tpFragmentDensityOffsets = " << value.pFragmentDensityOffsets << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLinearColorAttachmentFeaturesNV& value)
+{
+ s << "VkPhysicalDeviceLinearColorAttachmentFeaturesNV = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tlinearColorAttachment = " << value.linearColorAttachment << '\n';
+ s << '}';
+ return s;
+}
+
std::ostream& operator<< (std::ostream& s, const VkDeviceOrHostAddressKHR& value)
{
s << "VkDeviceOrHostAddressKHR = {\n";
return s;
}
+std::ostream& operator<< (std::ostream& s, const VkQueueFamilyQueryResultStatusProperties2KHR& value)
+{
+ s << "VkQueueFamilyQueryResultStatusProperties2KHR = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tsupported = " << value.supported << '\n';
+ s << '}';
+ return s;
+}
+
std::ostream& operator<< (std::ostream& s, const VkVideoQueueFamilyProperties2KHR& value)
{
s << "VkVideoQueueFamilyProperties2KHR = {\n";
s << "\tidrPeriod = " << value.idrPeriod << '\n';
s << "\tconsecutiveBFrameCount = " << value.consecutiveBFrameCount << '\n';
s << "\trateControlStructure = " << value.rateControlStructure << '\n';
+ s << "\ttemporalLayerCount = " << value.temporalLayerCount << '\n';
s << '}';
return s;
}
s << "\tidrPeriod = " << value.idrPeriod << '\n';
s << "\tconsecutiveBFrameCount = " << value.consecutiveBFrameCount << '\n';
s << "\trateControlStructure = " << value.rateControlStructure << '\n';
+ s << "\tsubLayerCount = " << value.subLayerCount << '\n';
s << '}';
return s;
}
VkBool32 shaderDeviceClock;
};
+struct VkDeviceQueueGlobalPriorityCreateInfoKHR
+{
+ VkStructureType sType;
+ const void* pNext;
+ VkQueueGlobalPriorityKHR globalPriority;
+};
+
+struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
+{
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 globalPriorityQuery;
+};
+
+struct VkQueueFamilyGlobalPriorityPropertiesKHR
+{
+ VkStructureType sType;
+ void* pNext;
+ uint32_t priorityCount;
+ VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR];
+};
+
struct VkFragmentShadingRateAttachmentInfoKHR
{
VkStructureType sType;
struct VkQueueFamilyCheckpointProperties2NV
{
- VkStructureType sType;
- void* pNext;
- VkPipelineStageFlags2KHR checkpointExecutionStageMask;
+ VkStructureType sType;
+ void* pNext;
+ VkPipelineStageFlags2 checkpointExecutionStageMask;
};
struct VkCheckpointData2NV
{
- VkStructureType sType;
- void* pNext;
- VkPipelineStageFlags2KHR stage;
- void* pCheckpointMarker;
+ VkStructureType sType;
+ void* pNext;
+ VkPipelineStageFlags2 stage;
+ void* pCheckpointMarker;
};
struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
struct VkDrmFormatModifierProperties2EXT
{
- uint64_t drmFormatModifier;
- uint32_t drmFormatModifierPlaneCount;
- VkFormatFeatureFlags2KHR drmFormatModifierTilingFeatures;
+ uint64_t drmFormatModifier;
+ uint32_t drmFormatModifierPlaneCount;
+ VkFormatFeatureFlags2 drmFormatModifierTilingFeatures;
};
struct VkDrmFormatModifierPropertiesList2EXT
VkBool32 filterCubicMinmax;
};
-struct VkDeviceQueueGlobalPriorityCreateInfoEXT
-{
- VkStructureType sType;
- const void* pNext;
- VkQueueGlobalPriorityEXT globalPriority;
-};
-
struct VkImportMemoryHostPointerInfoEXT
{
VkStructureType sType;
const VkBool32* pColorWriteEnables;
};
-struct VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT
-{
- VkStructureType sType;
- void* pNext;
- VkBool32 globalPriorityQuery;
-};
-
-struct VkQueueFamilyGlobalPriorityPropertiesEXT
-{
- VkStructureType sType;
- void* pNext;
- uint32_t priorityCount;
- VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT];
-};
-
struct VkPhysicalDeviceImageViewMinLodFeaturesEXT
{
VkStructureType sType;
VkBool32 pageableDeviceLocalMemory;
};
+struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
+{
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 fragmentDensityMapOffset;
+};
+
+struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM
+{
+ VkStructureType sType;
+ void* pNext;
+ VkExtent2D fragmentDensityOffsetGranularity;
+};
+
+struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM
+{
+ VkStructureType sType;
+ const void* pNext;
+ uint32_t fragmentDensityOffsetCount;
+ const VkOffset2D* pFragmentDensityOffsets;
+};
+
+struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV
+{
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 linearColorAttachment;
+};
+
union VkDeviceOrHostAddressKHR
{
VkDeviceAddress deviceAddress;
void* pNext;
VkFormat format;
uint64_t externalFormat;
- VkFormatFeatureFlags2KHR formatFeatures;
+ VkFormatFeatureFlags2 formatFeatures;
VkComponentMapping samplerYcbcrConversionComponents;
VkSamplerYcbcrModelConversion suggestedYcbcrModel;
VkSamplerYcbcrRange suggestedYcbcrRange;
VkChromaLocation suggestedYChromaOffset;
};
+struct VkQueueFamilyQueryResultStatusProperties2KHR
+{
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 supported;
+};
+
struct VkVideoQueueFamilyProperties2KHR
{
VkStructureType sType;
uint32_t idrPeriod;
uint32_t consecutiveBFrameCount;
VkVideoEncodeH264RateControlStructureFlagBitsEXT rateControlStructure;
+ uint8_t temporalLayerCount;
};
struct VkVideoEncodeH264QpEXT
uint32_t idrPeriod;
uint32_t consecutiveBFrameCount;
VkVideoEncodeH265RateControlStructureFlagBitsEXT rateControlStructure;
+ uint8_t subLayerCount;
};
struct VkVideoEncodeH265QpEXT
typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
+typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT;
+
+typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
+
+typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
+
typedef VkTransformMatrixKHR VkTransformMatrixNV;
typedef VkAabbPositionsKHR VkAabbPositionsNV;
return res;
}
-inline VkDrmFormatModifierProperties2EXT makeDrmFormatModifierProperties2EXT (uint64_t drmFormatModifier, uint32_t drmFormatModifierPlaneCount, VkFormatFeatureFlags2KHR drmFormatModifierTilingFeatures)
+inline VkDrmFormatModifierProperties2EXT makeDrmFormatModifierProperties2EXT (uint64_t drmFormatModifier, uint32_t drmFormatModifierPlaneCount, VkFormatFeatureFlags2 drmFormatModifierTilingFeatures)
{
VkDrmFormatModifierProperties2EXT res;
res.drmFormatModifier = drmFormatModifier;
virtual void cmdCopyImageToBuffer2 (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) const = 0;
virtual void cmdBlitImage2 (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) const = 0;
virtual void cmdResolveImage2 (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo) const = 0;
-virtual void cmdBeginRendering (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const = 0;
+virtual void cmdBeginRendering (VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo) const = 0;
virtual void cmdEndRendering (VkCommandBuffer commandBuffer) const = 0;
virtual void cmdSetCullMode (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const = 0;
virtual void cmdSetFrontFace (VkCommandBuffer commandBuffer, VkFrontFace frontFace) const = 0;
virtual VkResult getPipelineExecutablePropertiesKHR (VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) const = 0;
virtual VkResult getPipelineExecutableStatisticsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) const = 0;
virtual VkResult getPipelineExecutableInternalRepresentationsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const = 0;
-virtual void cmdWriteBufferMarker2AMD (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const = 0;
+virtual void cmdWriteBufferMarker2AMD (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const = 0;
virtual void getQueueCheckpointData2NV (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const = 0;
virtual VkResult debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const = 0;
virtual VkResult debugMarkerSetObjectNameEXT (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const = 0;
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*/
+#ifndef VULKAN_VIDEO_CODECS_COMMON_H_
+#define VULKAN_VIDEO_CODECS_COMMON_H_ 1
+
/*
-** Copyright (c) 2019-2021 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/
-#ifndef VULKAN_VIDEO_CODEC_COMMON_H_
-#define VULKAN_VIDEO_CODEC_COMMON_H_ 1
+/*
+** This header is generated from the Khronos Vulkan XML API Registry.
+**
+*/
+
#ifdef __cplusplus
extern "C" {
#endif
+
+
+#define vulkan_video_codecs_common 1
#define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \
((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
+
#ifdef __cplusplus
}
#endif
-#endif // VULKAN_VIDEO_CODEC_COMMON_H_
+#endif
+#ifndef VULKAN_VIDEO_CODEC_H264STD_H_
+#define VULKAN_VIDEO_CODEC_H264STD_H_ 1
+
/*
-** Copyright (c) 2019-2021 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/
-#ifndef VULKAN_VIDEO_CODEC_H264STD_H_
-#define VULKAN_VIDEO_CODEC_H264STD_H_ 1
+/*
+** This header is generated from the Khronos Vulkan XML API Registry.
+**
+*/
+
#ifdef __cplusplus
extern "C" {
+#define vulkan_video_codec_h264std 1
+#include <stdint.h>
// Vulkan 0.9 provisional Vulkan video H.264 encode and decode std specification version number
#define VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5) // Patch version should always be set to 0
-// Format must be in the form XX.XX where the first two digits are the major and the second two, the minor.
-#define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5
-#define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264"
-
-// *************************************************
-// Video H.264 common definitions:
-// *************************************************
-
-#define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32
+#define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32
#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6
#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16
#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 2
#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64
+#define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5
+#define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264"
typedef enum StdVideoH264ChromaFormatIdc {
- STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0,
- STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1,
- STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2,
- STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3,
- STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0,
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1,
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2,
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3,
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264ChromaFormatIdc;
typedef enum StdVideoH264ProfileIdc {
- STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66, /* Only constrained baseline is supported */
- STD_VIDEO_H264_PROFILE_IDC_MAIN = 77,
- STD_VIDEO_H264_PROFILE_IDC_HIGH = 100,
- STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244,
- STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66,
+ STD_VIDEO_H264_PROFILE_IDC_MAIN = 77,
+ STD_VIDEO_H264_PROFILE_IDC_HIGH = 100,
+ STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244,
+ STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264ProfileIdc;
typedef enum StdVideoH264Level {
STD_VIDEO_H264_LEVEL_6_0 = 16,
STD_VIDEO_H264_LEVEL_6_1 = 17,
STD_VIDEO_H264_LEVEL_6_2 = 18,
- STD_VIDEO_H264_LEVEL_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_LEVEL_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_LEVEL_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264Level;
typedef enum StdVideoH264PocType {
STD_VIDEO_H264_POC_TYPE_0 = 0,
STD_VIDEO_H264_POC_TYPE_1 = 1,
STD_VIDEO_H264_POC_TYPE_2 = 2,
- STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_POC_TYPE_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264PocType;
typedef enum StdVideoH264AspectRatioIdc {
STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2 = 15,
STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1 = 16,
STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR = 255,
- STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264AspectRatioIdc;
typedef enum StdVideoH264WeightedBipredIdc {
- STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0,
+ STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0,
STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT = 1,
STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT = 2,
- STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264WeightedBipredIdc;
typedef enum StdVideoH264ModificationOfPicNumsIdc {
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD = 1,
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM = 2,
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END = 3,
- STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264ModificationOfPicNumsIdc;
typedef enum StdVideoH264MemMgmtControlOp {
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX = 4,
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL = 5,
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM = 6,
- STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264MemMgmtControlOp;
typedef enum StdVideoH264CabacInitIdc {
STD_VIDEO_H264_CABAC_INIT_IDC_0 = 0,
STD_VIDEO_H264_CABAC_INIT_IDC_1 = 1,
STD_VIDEO_H264_CABAC_INIT_IDC_2 = 2,
- STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_CABAC_INIT_IDC_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264CabacInitIdc;
typedef enum StdVideoH264DisableDeblockingFilterIdc {
STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED = 0,
STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED = 1,
STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL = 2,
- STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264DisableDeblockingFilterIdc;
typedef enum StdVideoH264SliceType {
- STD_VIDEO_H264_SLICE_TYPE_P = 0,
- STD_VIDEO_H264_SLICE_TYPE_B = 1,
- STD_VIDEO_H264_SLICE_TYPE_I = 2,
- // reserved STD_VIDEO_H264_SLICE_TYPE_SP = 3,
- // reserved STD_VIDEO_H264_SLICE_TYPE_SI = 4,
- STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_SLICE_TYPE_P = 0,
+ STD_VIDEO_H264_SLICE_TYPE_B = 1,
+ STD_VIDEO_H264_SLICE_TYPE_I = 2,
+ STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264SliceType;
typedef enum StdVideoH264PictureType {
- STD_VIDEO_H264_PICTURE_TYPE_P = 0,
- STD_VIDEO_H264_PICTURE_TYPE_B = 1,
- STD_VIDEO_H264_PICTURE_TYPE_I = 2,
- // reserved STD_VIDEO_H264_PICTURE_TYPE_SP = 3,
- // reserved STD_VIDEO_H264_PICTURE_TYPE_SI = 4,
+ STD_VIDEO_H264_PICTURE_TYPE_P = 0,
+ STD_VIDEO_H264_PICTURE_TYPE_B = 1,
+ STD_VIDEO_H264_PICTURE_TYPE_I = 2,
STD_VIDEO_H264_PICTURE_TYPE_IDR = 5,
- STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264PictureType;
typedef enum StdVideoH264NonVclNaluType {
STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE = 4,
STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM = 5,
STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED = 6,
- STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H264_NON_VCL_NALU_TYPE_MAX_ENUM = 0x7FFFFFFF
} StdVideoH264NonVclNaluType;
-
typedef struct StdVideoH264SpsVuiFlags {
- deUint32 aspect_ratio_info_present_flag : 1;
- deUint32 overscan_info_present_flag : 1;
- deUint32 overscan_appropriate_flag : 1;
- deUint32 video_signal_type_present_flag : 1;
- deUint32 video_full_range_flag : 1;
- deUint32 color_description_present_flag : 1;
- deUint32 chroma_loc_info_present_flag : 1;
- deUint32 timing_info_present_flag : 1;
- deUint32 fixed_frame_rate_flag : 1;
- deUint32 bitstream_restriction_flag : 1;
- deUint32 nal_hrd_parameters_present_flag : 1;
- deUint32 vcl_hrd_parameters_present_flag : 1;
+ deUint32 aspect_ratio_info_present_flag : 1;
+ deUint32 overscan_info_present_flag : 1;
+ deUint32 overscan_appropriate_flag : 1;
+ deUint32 video_signal_type_present_flag : 1;
+ deUint32 video_full_range_flag : 1;
+ deUint32 color_description_present_flag : 1;
+ deUint32 chroma_loc_info_present_flag : 1;
+ deUint32 timing_info_present_flag : 1;
+ deUint32 fixed_frame_rate_flag : 1;
+ deUint32 bitstream_restriction_flag : 1;
+ deUint32 nal_hrd_parameters_present_flag : 1;
+ deUint32 vcl_hrd_parameters_present_flag : 1;
} StdVideoH264SpsVuiFlags;
-typedef struct StdVideoH264HrdParameters { // hrd_parameters
- deUint8 cpb_cnt_minus1;
- deUint8 bit_rate_scale;
- deUint8 cpb_size_scale;
- deUint32 bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; // cpb_cnt_minus1 number of valid elements
- deUint32 cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; // cpb_cnt_minus1 number of valid elements
- deUint8 cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; // cpb_cnt_minus1 number of valid elements
- deUint32 initial_cpb_removal_delay_length_minus1;
- deUint32 cpb_removal_delay_length_minus1;
- deUint32 dpb_output_delay_length_minus1;
- deUint32 time_offset_length;
+typedef struct StdVideoH264HrdParameters {
+ deUint8 cpb_cnt_minus1;
+ deUint8 bit_rate_scale;
+ deUint8 cpb_size_scale;
+ deUint32 bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
+ deUint32 cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
+ deUint8 cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
+ deUint32 initial_cpb_removal_delay_length_minus1;
+ deUint32 cpb_removal_delay_length_minus1;
+ deUint32 dpb_output_delay_length_minus1;
+ deUint32 time_offset_length;
} StdVideoH264HrdParameters;
typedef struct StdVideoH264SequenceParameterSetVui {
- StdVideoH264AspectRatioIdc aspect_ratio_idc;
- deUint16 sar_width;
- deUint16 sar_height;
- deUint8 video_format;
- deUint8 color_primaries;
- deUint8 transfer_characteristics;
- deUint8 matrix_coefficients;
- deUint32 num_units_in_tick;
- deUint32 time_scale;
- StdVideoH264HrdParameters* pHrdParameters; // must be a valid ptr to hrd_parameters, if nal_hrd_parameters_present_flag or vcl_hrd_parameters_present_flag are set
- deUint8 max_num_reorder_frames;
- deUint8 max_dec_frame_buffering;
- StdVideoH264SpsVuiFlags flags;
+ StdVideoH264AspectRatioIdc aspect_ratio_idc;
+ deUint16 sar_width;
+ deUint16 sar_height;
+ deUint8 video_format;
+ deUint8 color_primaries;
+ deUint8 transfer_characteristics;
+ deUint8 matrix_coefficients;
+ deUint32 num_units_in_tick;
+ deUint32 time_scale;
+ StdVideoH264HrdParameters* pHrdParameters;
+ deUint8 max_num_reorder_frames;
+ deUint8 max_dec_frame_buffering;
+ StdVideoH264SpsVuiFlags flags;
} StdVideoH264SequenceParameterSetVui;
typedef struct StdVideoH264SpsFlags {
- deUint32 constraint_set0_flag : 1;
- deUint32 constraint_set1_flag : 1;
- deUint32 constraint_set2_flag : 1;
- deUint32 constraint_set3_flag : 1;
- deUint32 constraint_set4_flag : 1;
- deUint32 constraint_set5_flag : 1;
- deUint32 direct_8x8_inference_flag : 1;
- deUint32 mb_adaptive_frame_field_flag : 1;
- deUint32 frame_mbs_only_flag : 1;
- deUint32 delta_pic_order_always_zero_flag : 1;
- deUint32 separate_colour_plane_flag : 1;
- deUint32 gaps_in_frame_num_value_allowed_flag : 1;
- deUint32 qpprime_y_zero_transform_bypass_flag : 1;
- deUint32 frame_cropping_flag : 1;
- deUint32 seq_scaling_matrix_present_flag : 1;
- deUint32 vui_parameters_present_flag : 1;
+ deUint32 constraint_set0_flag : 1;
+ deUint32 constraint_set1_flag : 1;
+ deUint32 constraint_set2_flag : 1;
+ deUint32 constraint_set3_flag : 1;
+ deUint32 constraint_set4_flag : 1;
+ deUint32 constraint_set5_flag : 1;
+ deUint32 direct_8x8_inference_flag : 1;
+ deUint32 mb_adaptive_frame_field_flag : 1;
+ deUint32 frame_mbs_only_flag : 1;
+ deUint32 delta_pic_order_always_zero_flag : 1;
+ deUint32 separate_colour_plane_flag : 1;
+ deUint32 gaps_in_frame_num_value_allowed_flag : 1;
+ deUint32 qpprime_y_zero_transform_bypass_flag : 1;
+ deUint32 frame_cropping_flag : 1;
+ deUint32 seq_scaling_matrix_present_flag : 1;
+ deUint32 vui_parameters_present_flag : 1;
} StdVideoH264SpsFlags;
-typedef struct StdVideoH264ScalingLists
-{
- // scaling_list_present_mask has one bit for each
- // seq_scaling_list_present_flag[i] for SPS OR
- // pic_scaling_list_present_flag[i] for PPS,
- // bit 0 - 5 are for each entry of ScalingList4x4
- // bit 6 - 7 are for each entry plus 6 for ScalingList8x8
- deUint8 scaling_list_present_mask;
- // use_default_scaling_matrix_mask has one bit for each
- // UseDefaultScalingMatrix4x4Flag[ i ] and
- // UseDefaultScalingMatrix8x8Flag[ i - 6 ] for SPS OR PPS
- // bit 0 - 5 are for each entry of ScalingList4x4
- // bit 6 - 7 are for each entry plus 6 for ScalingList8x8
- deUint8 use_default_scaling_matrix_mask;
- deUint8 ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS];
- deUint8 ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS];
+typedef struct StdVideoH264ScalingLists {
+ deUint8 scaling_list_present_mask;
+ deUint8 use_default_scaling_matrix_mask;
+ deUint8 ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS];
+ deUint8 ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS];
} StdVideoH264ScalingLists;
-typedef struct StdVideoH264SequenceParameterSet
-{
- StdVideoH264ProfileIdc profile_idc;
- StdVideoH264Level level_idc;
- deUint8 seq_parameter_set_id;
- StdVideoH264ChromaFormatIdc chroma_format_idc;
- deUint8 bit_depth_luma_minus8;
- deUint8 bit_depth_chroma_minus8;
- deUint8 log2_max_frame_num_minus4;
- StdVideoH264PocType pic_order_cnt_type;
- deUint8 log2_max_pic_order_cnt_lsb_minus4;
- deInt32 offset_for_non_ref_pic;
- deInt32 offset_for_top_to_bottom_field;
- deUint8 num_ref_frames_in_pic_order_cnt_cycle;
- deUint8 max_num_ref_frames;
- deUint32 pic_width_in_mbs_minus1;
- deUint32 pic_height_in_map_units_minus1;
- deUint32 frame_crop_left_offset;
- deUint32 frame_crop_right_offset;
- deUint32 frame_crop_top_offset;
- deUint32 frame_crop_bottom_offset;
- StdVideoH264SpsFlags flags;
- // pOffsetForRefFrame is a pointer representing the offset_for_ref_frame array with num_ref_frames_in_pic_order_cnt_cycle number of elements
- // If pOffsetForRefFrame has nullptr value, then num_ref_frames_in_pic_order_cnt_cycle must also be "0".
- deInt32* pOffsetForRefFrame;
- StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if seq_scaling_matrix_present_flag is set
- StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH264SpsFlags:vui_parameters_present_flag is set
+typedef struct StdVideoH264SequenceParameterSet {
+ StdVideoH264ProfileIdc profile_idc;
+ StdVideoH264Level level_idc;
+ deUint8 seq_parameter_set_id;
+ StdVideoH264ChromaFormatIdc chroma_format_idc;
+ deUint8 bit_depth_luma_minus8;
+ deUint8 bit_depth_chroma_minus8;
+ deUint8 log2_max_frame_num_minus4;
+ StdVideoH264PocType pic_order_cnt_type;
+ deUint8 log2_max_pic_order_cnt_lsb_minus4;
+ deInt32 offset_for_non_ref_pic;
+ deInt32 offset_for_top_to_bottom_field;
+ deUint8 num_ref_frames_in_pic_order_cnt_cycle;
+ deUint8 max_num_ref_frames;
+ deUint32 pic_width_in_mbs_minus1;
+ deUint32 pic_height_in_map_units_minus1;
+ deUint32 frame_crop_left_offset;
+ deUint32 frame_crop_right_offset;
+ deUint32 frame_crop_top_offset;
+ deUint32 frame_crop_bottom_offset;
+ StdVideoH264SpsFlags flags;
+ deInt32* pOffsetForRefFrame;
+ StdVideoH264ScalingLists* pScalingLists;
+ StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui;
} StdVideoH264SequenceParameterSet;
typedef struct StdVideoH264PpsFlags {
- deUint32 transform_8x8_mode_flag : 1;
- deUint32 redundant_pic_cnt_present_flag : 1;
- deUint32 constrained_intra_pred_flag : 1;
- deUint32 deblocking_filter_control_present_flag : 1;
- deUint32 weighted_bipred_idc_flag : 1;
- deUint32 weighted_pred_flag : 1;
- deUint32 pic_order_present_flag : 1;
- deUint32 entropy_coding_mode_flag : 1;
- deUint32 pic_scaling_matrix_present_flag : 1;
+ deUint32 transform_8x8_mode_flag : 1;
+ deUint32 redundant_pic_cnt_present_flag : 1;
+ deUint32 constrained_intra_pred_flag : 1;
+ deUint32 deblocking_filter_control_present_flag : 1;
+ deUint32 weighted_bipred_idc_flag : 1;
+ deUint32 weighted_pred_flag : 1;
+ deUint32 pic_order_present_flag : 1;
+ deUint32 entropy_coding_mode_flag : 1;
+ deUint32 pic_scaling_matrix_present_flag : 1;
} StdVideoH264PpsFlags;
-typedef struct StdVideoH264PictureParameterSet
-{
- deUint8 seq_parameter_set_id;
- deUint8 pic_parameter_set_id;
- deUint8 num_ref_idx_l0_default_active_minus1;
- deUint8 num_ref_idx_l1_default_active_minus1;
- StdVideoH264WeightedBipredIdc weighted_bipred_idc;
- deInt8 pic_init_qp_minus26;
- deInt8 pic_init_qs_minus26;
- deInt8 chroma_qp_index_offset;
- deInt8 second_chroma_qp_index_offset;
- StdVideoH264PpsFlags flags;
- StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if StdVideoH264PpsFlags::pic_scaling_matrix_present_flag is set.
+typedef struct StdVideoH264PictureParameterSet {
+ deUint8 seq_parameter_set_id;
+ deUint8 pic_parameter_set_id;
+ deUint8 num_ref_idx_l0_default_active_minus1;
+ deUint8 num_ref_idx_l1_default_active_minus1;
+ StdVideoH264WeightedBipredIdc weighted_bipred_idc;
+ deInt8 pic_init_qp_minus26;
+ deInt8 pic_init_qs_minus26;
+ deInt8 chroma_qp_index_offset;
+ deInt8 second_chroma_qp_index_offset;
+ StdVideoH264PpsFlags flags;
+ StdVideoH264ScalingLists* pScalingLists;
} StdVideoH264PictureParameterSet;
+
#ifdef __cplusplus
}
#endif
-#endif // VULKAN_VIDEO_CODEC_H264STD_H_
+#endif
+#ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
+#define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1
+
/*
-** Copyright (c) 2019-2021 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/
-#ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
-#define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1
+/*
+** This header is generated from the Khronos Vulkan XML API Registry.
+**
+*/
+
#ifdef __cplusplus
extern "C" {
-// *************************************************
-// Video H.264 Encode related parameters:
-// *************************************************
-
+#define vulkan_video_codec_h264std_encode 1
typedef struct StdVideoEncodeH264SliceHeaderFlags {
- deUint32 idr_flag : 1;
- deUint32 is_reference_flag : 1;
- deUint32 num_ref_idx_active_override_flag : 1;
- deUint32 no_output_of_prior_pics_flag : 1;
- deUint32 long_term_reference_flag : 1;
- deUint32 adaptive_ref_pic_marking_mode_flag : 1;
- deUint32 no_prior_references_available_flag : 1;
+ deUint32 idr_flag : 1;
+ deUint32 is_reference_flag : 1;
+ deUint32 num_ref_idx_active_override_flag : 1;
+ deUint32 no_output_of_prior_pics_flag : 1;
+ deUint32 long_term_reference_flag : 1;
+ deUint32 adaptive_ref_pic_marking_mode_flag : 1;
+ deUint32 no_prior_references_available_flag : 1;
} StdVideoEncodeH264SliceHeaderFlags;
typedef struct StdVideoEncodeH264PictureInfoFlags {
- deUint32 idr_flag : 1;
- deUint32 is_reference_flag : 1;
- deUint32 long_term_reference_flag : 1;
+ deUint32 idr_flag : 1;
+ deUint32 is_reference_flag : 1;
+ deUint32 long_term_reference_flag : 1;
} StdVideoEncodeH264PictureInfoFlags;
typedef struct StdVideoEncodeH264RefMgmtFlags {
- deUint32 ref_pic_list_modification_l0_flag : 1;
- deUint32 ref_pic_list_modification_l1_flag : 1;
+ deUint32 ref_pic_list_modification_l0_flag : 1;
+ deUint32 ref_pic_list_modification_l1_flag : 1;
} StdVideoEncodeH264RefMgmtFlags;
typedef struct StdVideoEncodeH264RefListModEntry {
- StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc;
- deUint16 abs_diff_pic_num_minus1;
- deUint16 long_term_pic_num;
+ StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc;
+ deUint16 abs_diff_pic_num_minus1;
+ deUint16 long_term_pic_num;
} StdVideoEncodeH264RefListModEntry;
typedef struct StdVideoEncodeH264RefPicMarkingEntry {
- StdVideoH264MemMgmtControlOp operation;
- deUint16 difference_of_pic_nums_minus1;
- deUint16 long_term_pic_num;
- deUint16 long_term_frame_idx;
- deUint16 max_long_term_frame_idx_plus1;
+ StdVideoH264MemMgmtControlOp operation;
+ deUint16 difference_of_pic_nums_minus1;
+ deUint16 long_term_pic_num;
+ deUint16 long_term_frame_idx;
+ deUint16 max_long_term_frame_idx_plus1;
} StdVideoEncodeH264RefPicMarkingEntry;
typedef struct StdVideoEncodeH264RefMemMgmtCtrlOperations {
- StdVideoEncodeH264RefMgmtFlags flags;
- deUint8 refList0ModOpCount;
- StdVideoEncodeH264RefListModEntry* pRefList0ModOperations;
- deUint8 refList1ModOpCount;
- StdVideoEncodeH264RefListModEntry* pRefList1ModOperations;
- deUint8 refPicMarkingOpCount;
- StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations;
+ StdVideoEncodeH264RefMgmtFlags flags;
+ deUint8 refList0ModOpCount;
+ StdVideoEncodeH264RefListModEntry* pRefList0ModOperations;
+ deUint8 refList1ModOpCount;
+ StdVideoEncodeH264RefListModEntry* pRefList1ModOperations;
+ deUint8 refPicMarkingOpCount;
+ StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations;
} StdVideoEncodeH264RefMemMgmtCtrlOperations;
typedef struct StdVideoEncodeH264PictureInfo {
- StdVideoEncodeH264PictureInfoFlags flags;
- StdVideoH264PictureType pictureType;
- deUint32 frameNum;
- deUint32 pictureOrderCount;
- deUint16 long_term_pic_num;
- deUint16 long_term_frame_idx;
+ StdVideoEncodeH264PictureInfoFlags flags;
+ StdVideoH264PictureType pictureType;
+ deUint32 frameNum;
+ deUint32 pictureOrderCount;
+ deUint16 long_term_pic_num;
+ deUint16 long_term_frame_idx;
} StdVideoEncodeH264PictureInfo;
typedef struct StdVideoEncodeH264SliceHeader {
- StdVideoEncodeH264SliceHeaderFlags flags;
- StdVideoH264SliceType slice_type;
- deUint8 seq_parameter_set_id;
- deUint8 pic_parameter_set_id;
- deUint16 idr_pic_id;
- deUint8 num_ref_idx_l0_active_minus1;
- deUint8 num_ref_idx_l1_active_minus1;
- StdVideoH264CabacInitIdc cabac_init_idc;
- StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc;
- deInt8 slice_alpha_c0_offset_div2;
- deInt8 slice_beta_offset_div2;
- StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations;
+ StdVideoEncodeH264SliceHeaderFlags flags;
+ StdVideoH264SliceType slice_type;
+ deUint8 seq_parameter_set_id;
+ deUint8 pic_parameter_set_id;
+ deUint16 idr_pic_id;
+ deUint8 num_ref_idx_l0_active_minus1;
+ deUint8 num_ref_idx_l1_active_minus1;
+ StdVideoH264CabacInitIdc cabac_init_idc;
+ StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc;
+ deInt8 slice_alpha_c0_offset_div2;
+ deInt8 slice_beta_offset_div2;
+ StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations;
} StdVideoEncodeH264SliceHeader;
}
#endif
-#endif // VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
+#endif
+#ifndef VULKAN_VIDEO_CODEC_H265STD_H_
+#define VULKAN_VIDEO_CODEC_H265STD_H_ 1
+
/*
-** Copyright (c) 2019-2021 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/
-#ifndef VULKAN_VIDEO_CODEC_H265STD_H_
-#define VULKAN_VIDEO_CODEC_H265STD_H_ 1
+/*
+** This header is generated from the Khronos Vulkan XML API Registry.
+**
+*/
+
#ifdef __cplusplus
extern "C" {
+#define vulkan_video_codec_h265std 1
// Vulkan 0.5 version number WIP
#define VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5) // Patch version should always be set to 0
-// Format must be in the form XX.XX where the first two digits are the major and the second two, the minor.
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265"
-
-#define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32
#define STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE 7
+#define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32
#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6
#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16
#define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6
#define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64
#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2
#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64
-#define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
-#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19
-#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21
#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3
#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128
+#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19
+#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21
+#define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265"
typedef enum StdVideoH265ChromaFormatIdc {
- STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0,
- STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1,
- STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2,
- STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3,
- STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0,
+ STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1,
+ STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2,
+ STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3,
+ STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H265_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF
} StdVideoH265ChromaFormatIdc;
typedef enum StdVideoH265ProfileIdc {
- STD_VIDEO_H265_PROFILE_IDC_MAIN = 1,
- STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2,
- STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3,
- STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4,
- STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9,
- STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H265_PROFILE_IDC_MAIN = 1,
+ STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2,
+ STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3,
+ STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4,
+ STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9,
+ STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
} StdVideoH265ProfileIdc;
typedef enum StdVideoH265Level {
STD_VIDEO_H265_LEVEL_6_0 = 10,
STD_VIDEO_H265_LEVEL_6_1 = 11,
STD_VIDEO_H265_LEVEL_6_2 = 12,
- STD_VIDEO_H265_LEVEL_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H265_LEVEL_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H265_LEVEL_MAX_ENUM = 0x7FFFFFFF
} StdVideoH265Level;
typedef enum StdVideoH265SliceType {
STD_VIDEO_H265_SLICE_TYPE_B = 0,
STD_VIDEO_H265_SLICE_TYPE_P = 1,
STD_VIDEO_H265_SLICE_TYPE_I = 2,
- STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H265_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF
} StdVideoH265SliceType;
typedef enum StdVideoH265PictureType {
- STD_VIDEO_H265_PICTURE_TYPE_P = 0,
- STD_VIDEO_H265_PICTURE_TYPE_B = 1,
- STD_VIDEO_H265_PICTURE_TYPE_I = 2,
+ STD_VIDEO_H265_PICTURE_TYPE_P = 0,
+ STD_VIDEO_H265_PICTURE_TYPE_B = 1,
+ STD_VIDEO_H265_PICTURE_TYPE_I = 2,
STD_VIDEO_H265_PICTURE_TYPE_IDR = 3,
- STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF
+ STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
} StdVideoH265PictureType;
-
-typedef struct StdVideoH265DecPicBufMgr
-{
- deUint32 max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
- deUint8 max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
- deUint8 max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
+typedef struct StdVideoH265DecPicBufMgr {
+ deUint32 max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
+ deUint8 max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
+ deUint8 max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
} StdVideoH265DecPicBufMgr;
-typedef struct StdVideoH265SubLayerHrdParameters { // sub_layer_hrd_parameters
- deUint32 bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
- deUint32 cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
- deUint32 cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
- deUint32 bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
- deUint32 cbr_flag; // each bit represents a range of CpbCounts (bit 0 - cpb_cnt_minus1) per sub-layer
+typedef struct StdVideoH265SubLayerHrdParameters {
+ deUint32 bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
+ deUint32 cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
+ deUint32 cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
+ deUint32 bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
+ deUint32 cbr_flag;
} StdVideoH265SubLayerHrdParameters;
typedef struct StdVideoH265HrdFlags {
- deUint32 nal_hrd_parameters_present_flag : 1;
- deUint32 vcl_hrd_parameters_present_flag : 1;
- deUint32 sub_pic_hrd_params_present_flag : 1;
- deUint32 sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
- deUint32 fixed_pic_rate_general_flag : 8; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
- deUint32 fixed_pic_rate_within_cvs_flag : 8; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
- deUint32 low_delay_hrd_flag : 8; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
+ deUint32 nal_hrd_parameters_present_flag : 1;
+ deUint32 vcl_hrd_parameters_present_flag : 1;
+ deUint32 sub_pic_hrd_params_present_flag : 1;
+ deUint32 sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
+ deUint32 fixed_pic_rate_general_flag : 8;
+ deUint32 fixed_pic_rate_within_cvs_flag : 8;
+ deUint32 low_delay_hrd_flag : 8;
} StdVideoH265HrdFlags;
typedef struct StdVideoH265HrdParameters {
- deUint8 tick_divisor_minus2;
- deUint8 du_cpb_removal_delay_increment_length_minus1;
- deUint8 dpb_output_delay_du_length_minus1;
- deUint8 bit_rate_scale;
- deUint8 cpb_size_scale;
- deUint8 cpb_size_du_scale;
- deUint8 initial_cpb_removal_delay_length_minus1;
- deUint8 au_cpb_removal_delay_length_minus1;
- deUint8 dpb_output_delay_length_minus1;
- deUint8 cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
- deUint16 elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
- StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; // NAL per layer ptr to sub_layer_hrd_parameters
- StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; // VCL per layer ptr to sub_layer_hrd_parameters
- StdVideoH265HrdFlags flags;
+ deUint8 tick_divisor_minus2;
+ deUint8 du_cpb_removal_delay_increment_length_minus1;
+ deUint8 dpb_output_delay_du_length_minus1;
+ deUint8 bit_rate_scale;
+ deUint8 cpb_size_scale;
+ deUint8 cpb_size_du_scale;
+ deUint8 initial_cpb_removal_delay_length_minus1;
+ deUint8 au_cpb_removal_delay_length_minus1;
+ deUint8 dpb_output_delay_length_minus1;
+ deUint8 cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
+ deUint16 elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
+ StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
+ StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
+ StdVideoH265HrdFlags flags;
} StdVideoH265HrdParameters;
typedef struct StdVideoH265VpsFlags {
- deUint32 vps_temporal_id_nesting_flag : 1;
- deUint32 vps_sub_layer_ordering_info_present_flag : 1;
- deUint32 vps_timing_info_present_flag : 1;
- deUint32 vps_poc_proportional_to_timing_flag : 1;
+ deUint32 vps_temporal_id_nesting_flag : 1;
+ deUint32 vps_sub_layer_ordering_info_present_flag : 1;
+ deUint32 vps_timing_info_present_flag : 1;
+ deUint32 vps_poc_proportional_to_timing_flag : 1;
} StdVideoH265VpsFlags;
-typedef struct StdVideoH265VideoParameterSet
-{
- deUint8 vps_video_parameter_set_id;
- deUint8 vps_max_sub_layers_minus1;
- deUint32 vps_num_units_in_tick;
- deUint32 vps_time_scale;
- deUint32 vps_num_ticks_poc_diff_one_minus1;
- StdVideoH265DecPicBufMgr* pDecPicBufMgr;
- StdVideoH265HrdParameters* pHrdParameters;
- StdVideoH265VpsFlags flags;
+typedef struct StdVideoH265VideoParameterSet {
+ deUint8 vps_video_parameter_set_id;
+ deUint8 vps_max_sub_layers_minus1;
+ deUint32 vps_num_units_in_tick;
+ deUint32 vps_time_scale;
+ deUint32 vps_num_ticks_poc_diff_one_minus1;
+ StdVideoH265DecPicBufMgr* pDecPicBufMgr;
+ StdVideoH265HrdParameters* pHrdParameters;
+ StdVideoH265VpsFlags flags;
} StdVideoH265VideoParameterSet;
-typedef struct StdVideoH265ScalingLists
-{
- deUint8 ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS]; // ScalingList[ 0 ][ MatrixID ][ i ] (sizeID = 0)
- deUint8 ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS]; // ScalingList[ 1 ][ MatrixID ][ i ] (sizeID = 1)
- deUint8 ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS]; // ScalingList[ 2 ][ MatrixID ][ i ] (sizeID = 2)
- deUint8 ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS]; // ScalingList[ 3 ][ MatrixID ][ i ] (sizeID = 3)
- deUint8 ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8, sizeID = 2
- deUint8 ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8. sizeID = 3
+typedef struct StdVideoH265ScalingLists {
+ deUint8 ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS];
+ deUint8 ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS];
+ deUint8 ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS];
+ deUint8 ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS];
+ deUint8 ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS];
+ deUint8 ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS];
} StdVideoH265ScalingLists;
typedef struct StdVideoH265SpsVuiFlags {
- deUint32 aspect_ratio_info_present_flag : 1;
- deUint32 overscan_info_present_flag : 1;
- deUint32 overscan_appropriate_flag : 1;
- deUint32 video_signal_type_present_flag : 1;
- deUint32 video_full_range_flag : 1;
- deUint32 colour_description_present_flag : 1;
- deUint32 chroma_loc_info_present_flag : 1;
- deUint32 neutral_chroma_indication_flag : 1;
- deUint32 field_seq_flag : 1;
- deUint32 frame_field_info_present_flag : 1;
- deUint32 default_display_window_flag : 1;
- deUint32 vui_timing_info_present_flag : 1;
- deUint32 vui_poc_proportional_to_timing_flag : 1;
- deUint32 vui_hrd_parameters_present_flag : 1;
- deUint32 bitstream_restriction_flag : 1;
- deUint32 tiles_fixed_structure_flag : 1;
- deUint32 motion_vectors_over_pic_boundaries_flag : 1;
- deUint32 restricted_ref_pic_lists_flag : 1;
+ deUint32 aspect_ratio_info_present_flag : 1;
+ deUint32 overscan_info_present_flag : 1;
+ deUint32 overscan_appropriate_flag : 1;
+ deUint32 video_signal_type_present_flag : 1;
+ deUint32 video_full_range_flag : 1;
+ deUint32 colour_description_present_flag : 1;
+ deUint32 chroma_loc_info_present_flag : 1;
+ deUint32 neutral_chroma_indication_flag : 1;
+ deUint32 field_seq_flag : 1;
+ deUint32 frame_field_info_present_flag : 1;
+ deUint32 default_display_window_flag : 1;
+ deUint32 vui_timing_info_present_flag : 1;
+ deUint32 vui_poc_proportional_to_timing_flag : 1;
+ deUint32 vui_hrd_parameters_present_flag : 1;
+ deUint32 bitstream_restriction_flag : 1;
+ deUint32 tiles_fixed_structure_flag : 1;
+ deUint32 motion_vectors_over_pic_boundaries_flag : 1;
+ deUint32 restricted_ref_pic_lists_flag : 1;
} StdVideoH265SpsVuiFlags;
typedef struct StdVideoH265SequenceParameterSetVui {
- deUint8 aspect_ratio_idc;
- deUint16 sar_width;
- deUint16 sar_height;
- deUint8 video_format;
- deUint8 colour_primaries;
- deUint8 transfer_characteristics;
- deUint8 matrix_coeffs;
- deUint8 chroma_sample_loc_type_top_field;
- deUint8 chroma_sample_loc_type_bottom_field;
- deUint16 def_disp_win_left_offset;
- deUint16 def_disp_win_right_offset;
- deUint16 def_disp_win_top_offset;
- deUint16 def_disp_win_bottom_offset;
- deUint32 vui_num_units_in_tick;
- deUint32 vui_time_scale;
- deUint32 vui_num_ticks_poc_diff_one_minus1;
- StdVideoH265HrdParameters* pHrdParameters;
- deUint16 min_spatial_segmentation_idc;
- deUint8 max_bytes_per_pic_denom;
- deUint8 max_bits_per_min_cu_denom;
- deUint8 log2_max_mv_length_horizontal;
- deUint8 log2_max_mv_length_vertical;
- StdVideoH265SpsVuiFlags flags;
+ deUint8 aspect_ratio_idc;
+ deUint16 sar_width;
+ deUint16 sar_height;
+ deUint8 video_format;
+ deUint8 colour_primaries;
+ deUint8 transfer_characteristics;
+ deUint8 matrix_coeffs;
+ deUint8 chroma_sample_loc_type_top_field;
+ deUint8 chroma_sample_loc_type_bottom_field;
+ deUint16 def_disp_win_left_offset;
+ deUint16 def_disp_win_right_offset;
+ deUint16 def_disp_win_top_offset;
+ deUint16 def_disp_win_bottom_offset;
+ deUint32 vui_num_units_in_tick;
+ deUint32 vui_time_scale;
+ deUint32 vui_num_ticks_poc_diff_one_minus1;
+ StdVideoH265HrdParameters* pHrdParameters;
+ deUint16 min_spatial_segmentation_idc;
+ deUint8 max_bytes_per_pic_denom;
+ deUint8 max_bits_per_min_cu_denom;
+ deUint8 log2_max_mv_length_horizontal;
+ deUint8 log2_max_mv_length_vertical;
+ StdVideoH265SpsVuiFlags flags;
} StdVideoH265SequenceParameterSetVui;
-typedef struct StdVideoH265PredictorPaletteEntries
-{
- deUint16 PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE];
+typedef struct StdVideoH265PredictorPaletteEntries {
+ deUint16 PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE];
} StdVideoH265PredictorPaletteEntries;
typedef struct StdVideoH265SpsFlags {
- deUint32 sps_temporal_id_nesting_flag : 1;
- deUint32 separate_colour_plane_flag : 1;
- deUint32 scaling_list_enabled_flag : 1;
- deUint32 sps_scaling_list_data_present_flag : 1;
- deUint32 amp_enabled_flag : 1;
- deUint32 sample_adaptive_offset_enabled_flag : 1;
- deUint32 pcm_enabled_flag : 1;
- deUint32 pcm_loop_filter_disabled_flag : 1;
- deUint32 long_term_ref_pics_present_flag : 1;
- deUint32 sps_temporal_mvp_enabled_flag : 1;
- deUint32 strong_intra_smoothing_enabled_flag : 1;
- deUint32 vui_parameters_present_flag : 1;
- deUint32 sps_extension_present_flag : 1;
- deUint32 sps_range_extension_flag : 1;
-
- // extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set
- deUint32 transform_skip_rotation_enabled_flag : 1;
- deUint32 transform_skip_context_enabled_flag : 1;
- deUint32 implicit_rdpcm_enabled_flag : 1;
- deUint32 explicit_rdpcm_enabled_flag : 1;
- deUint32 extended_precision_processing_flag : 1;
- deUint32 intra_smoothing_disabled_flag : 1;
- deUint32 high_precision_offsets_enabled_flag : 1;
- deUint32 persistent_rice_adaptation_enabled_flag : 1;
- deUint32 cabac_bypass_alignment_enabled_flag : 1;
-
- // extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
- deUint32 sps_curr_pic_ref_enabled_flag : 1;
- deUint32 palette_mode_enabled_flag : 1;
- deUint32 sps_palette_predictor_initializer_present_flag : 1;
- deUint32 intra_boundary_filtering_disabled_flag : 1;
+ deUint32 sps_temporal_id_nesting_flag : 1;
+ deUint32 separate_colour_plane_flag : 1;
+ deUint32 scaling_list_enabled_flag : 1;
+ deUint32 sps_scaling_list_data_present_flag : 1;
+ deUint32 amp_enabled_flag : 1;
+ deUint32 sample_adaptive_offset_enabled_flag : 1;
+ deUint32 pcm_enabled_flag : 1;
+ deUint32 pcm_loop_filter_disabled_flag : 1;
+ deUint32 long_term_ref_pics_present_flag : 1;
+ deUint32 sps_temporal_mvp_enabled_flag : 1;
+ deUint32 strong_intra_smoothing_enabled_flag : 1;
+ deUint32 vui_parameters_present_flag : 1;
+ deUint32 sps_extension_present_flag : 1;
+ deUint32 sps_range_extension_flag : 1;
+ deUint32 transform_skip_rotation_enabled_flag : 1;
+ deUint32 transform_skip_context_enabled_flag : 1;
+ deUint32 implicit_rdpcm_enabled_flag : 1;
+ deUint32 explicit_rdpcm_enabled_flag : 1;
+ deUint32 extended_precision_processing_flag : 1;
+ deUint32 intra_smoothing_disabled_flag : 1;
+ deUint32 high_precision_offsets_enabled_flag : 1;
+ deUint32 persistent_rice_adaptation_enabled_flag : 1;
+ deUint32 cabac_bypass_alignment_enabled_flag : 1;
+ deUint32 sps_curr_pic_ref_enabled_flag : 1;
+ deUint32 palette_mode_enabled_flag : 1;
+ deUint32 sps_palette_predictor_initializer_present_flag : 1;
+ deUint32 intra_boundary_filtering_disabled_flag : 1;
} StdVideoH265SpsFlags;
-typedef struct StdVideoH265SequenceParameterSet
-{
- StdVideoH265ProfileIdc profile_idc;
- StdVideoH265Level level_idc;
- deUint32 pic_width_in_luma_samples;
- deUint32 pic_height_in_luma_samples;
- deUint8 sps_video_parameter_set_id;
- deUint8 sps_max_sub_layers_minus1;
- deUint8 sps_seq_parameter_set_id;
- deUint8 chroma_format_idc;
- deUint8 bit_depth_luma_minus8;
- deUint8 bit_depth_chroma_minus8;
- deUint8 log2_max_pic_order_cnt_lsb_minus4;
- deUint8 sps_max_dec_pic_buffering_minus1;
- deUint8 log2_min_luma_coding_block_size_minus3;
- deUint8 log2_diff_max_min_luma_coding_block_size;
- deUint8 log2_min_luma_transform_block_size_minus2;
- deUint8 log2_diff_max_min_luma_transform_block_size;
- deUint8 max_transform_hierarchy_depth_inter;
- deUint8 max_transform_hierarchy_depth_intra;
- deUint8 num_short_term_ref_pic_sets;
- deUint8 num_long_term_ref_pics_sps;
- deUint8 pcm_sample_bit_depth_luma_minus1;
- deUint8 pcm_sample_bit_depth_chroma_minus1;
- deUint8 log2_min_pcm_luma_coding_block_size_minus3;
- deUint8 log2_diff_max_min_pcm_luma_coding_block_size;
- deUint32 conf_win_left_offset;
- deUint32 conf_win_right_offset;
- deUint32 conf_win_top_offset;
- deUint32 conf_win_bottom_offset;
- StdVideoH265DecPicBufMgr* pDecPicBufMgr;
- StdVideoH265SpsFlags flags;
- StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if sps_scaling_list_data_present_flag is set
- StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH265SpsFlags:vui_parameters_present_flag is set palette_max_size;
-
- // extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
- deUint8 palette_max_size;
- deUint8 delta_palette_max_predictor_size;
- deUint8 motion_vector_resolution_control_idc;
- deUint8 sps_num_palette_predictor_initializer_minus1;
- StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if sps_palette_predictor_initializer_present_flag is set
+typedef struct StdVideoH265SequenceParameterSet {
+ StdVideoH265ProfileIdc profile_idc;
+ StdVideoH265Level level_idc;
+ deUint32 pic_width_in_luma_samples;
+ deUint32 pic_height_in_luma_samples;
+ deUint8 sps_video_parameter_set_id;
+ deUint8 sps_max_sub_layers_minus1;
+ deUint8 sps_seq_parameter_set_id;
+ deUint8 chroma_format_idc;
+ deUint8 bit_depth_luma_minus8;
+ deUint8 bit_depth_chroma_minus8;
+ deUint8 log2_max_pic_order_cnt_lsb_minus4;
+ deUint8 sps_max_dec_pic_buffering_minus1;
+ deUint8 log2_min_luma_coding_block_size_minus3;
+ deUint8 log2_diff_max_min_luma_coding_block_size;
+ deUint8 log2_min_luma_transform_block_size_minus2;
+ deUint8 log2_diff_max_min_luma_transform_block_size;
+ deUint8 max_transform_hierarchy_depth_inter;
+ deUint8 max_transform_hierarchy_depth_intra;
+ deUint8 num_short_term_ref_pic_sets;
+ deUint8 num_long_term_ref_pics_sps;
+ deUint8 pcm_sample_bit_depth_luma_minus1;
+ deUint8 pcm_sample_bit_depth_chroma_minus1;
+ deUint8 log2_min_pcm_luma_coding_block_size_minus3;
+ deUint8 log2_diff_max_min_pcm_luma_coding_block_size;
+ deUint32 conf_win_left_offset;
+ deUint32 conf_win_right_offset;
+ deUint32 conf_win_top_offset;
+ deUint32 conf_win_bottom_offset;
+ StdVideoH265DecPicBufMgr* pDecPicBufMgr;
+ StdVideoH265SpsFlags flags;
+ StdVideoH265ScalingLists* pScalingLists;
+ StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui;
+ deUint8 palette_max_size;
+ deUint8 delta_palette_max_predictor_size;
+ deUint8 motion_vector_resolution_control_idc;
+ deUint8 sps_num_palette_predictor_initializer_minus1;
+ StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
} StdVideoH265SequenceParameterSet;
-
typedef struct StdVideoH265PpsFlags {
- deUint32 dependent_slice_segments_enabled_flag : 1;
- deUint32 output_flag_present_flag : 1;
- deUint32 sign_data_hiding_enabled_flag : 1;
- deUint32 cabac_init_present_flag : 1;
- deUint32 constrained_intra_pred_flag : 1;
- deUint32 transform_skip_enabled_flag : 1;
- deUint32 cu_qp_delta_enabled_flag : 1;
- deUint32 pps_slice_chroma_qp_offsets_present_flag : 1;
- deUint32 weighted_pred_flag : 1;
- deUint32 weighted_bipred_flag : 1;
- deUint32 transquant_bypass_enabled_flag : 1;
- deUint32 tiles_enabled_flag : 1;
- deUint32 entropy_coding_sync_enabled_flag : 1;
- deUint32 uniform_spacing_flag : 1;
- deUint32 loop_filter_across_tiles_enabled_flag : 1;
- deUint32 pps_loop_filter_across_slices_enabled_flag : 1;
- deUint32 deblocking_filter_control_present_flag : 1;
- deUint32 deblocking_filter_override_enabled_flag : 1;
- deUint32 pps_deblocking_filter_disabled_flag : 1;
- deUint32 pps_scaling_list_data_present_flag : 1;
- deUint32 lists_modification_present_flag : 1;
- deUint32 slice_segment_header_extension_present_flag : 1;
- deUint32 pps_extension_present_flag : 1;
-
- // extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set
- deUint32 cross_component_prediction_enabled_flag : 1;
- deUint32 chroma_qp_offset_list_enabled_flag : 1;
-
- // extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
- deUint32 pps_curr_pic_ref_enabled_flag : 1;
- deUint32 residual_adaptive_colour_transform_enabled_flag : 1;
- deUint32 pps_slice_act_qp_offsets_present_flag : 1;
- deUint32 pps_palette_predictor_initializer_present_flag : 1;
- deUint32 monochrome_palette_flag : 1;
- deUint32 pps_range_extension_flag : 1;
+ deUint32 dependent_slice_segments_enabled_flag : 1;
+ deUint32 output_flag_present_flag : 1;
+ deUint32 sign_data_hiding_enabled_flag : 1;
+ deUint32 cabac_init_present_flag : 1;
+ deUint32 constrained_intra_pred_flag : 1;
+ deUint32 transform_skip_enabled_flag : 1;
+ deUint32 cu_qp_delta_enabled_flag : 1;
+ deUint32 pps_slice_chroma_qp_offsets_present_flag : 1;
+ deUint32 weighted_pred_flag : 1;
+ deUint32 weighted_bipred_flag : 1;
+ deUint32 transquant_bypass_enabled_flag : 1;
+ deUint32 tiles_enabled_flag : 1;
+ deUint32 entropy_coding_sync_enabled_flag : 1;
+ deUint32 uniform_spacing_flag : 1;
+ deUint32 loop_filter_across_tiles_enabled_flag : 1;
+ deUint32 pps_loop_filter_across_slices_enabled_flag : 1;
+ deUint32 deblocking_filter_control_present_flag : 1;
+ deUint32 deblocking_filter_override_enabled_flag : 1;
+ deUint32 pps_deblocking_filter_disabled_flag : 1;
+ deUint32 pps_scaling_list_data_present_flag : 1;
+ deUint32 lists_modification_present_flag : 1;
+ deUint32 slice_segment_header_extension_present_flag : 1;
+ deUint32 pps_extension_present_flag : 1;
+ deUint32 cross_component_prediction_enabled_flag : 1;
+ deUint32 chroma_qp_offset_list_enabled_flag : 1;
+ deUint32 pps_curr_pic_ref_enabled_flag : 1;
+ deUint32 residual_adaptive_colour_transform_enabled_flag : 1;
+ deUint32 pps_slice_act_qp_offsets_present_flag : 1;
+ deUint32 pps_palette_predictor_initializer_present_flag : 1;
+ deUint32 monochrome_palette_flag : 1;
+ deUint32 pps_range_extension_flag : 1;
} StdVideoH265PpsFlags;
-typedef struct StdVideoH265PictureParameterSet
-{
- deUint8 pps_pic_parameter_set_id;
- deUint8 pps_seq_parameter_set_id;
- deUint8 num_extra_slice_header_bits;
- deUint8 num_ref_idx_l0_default_active_minus1;
- deUint8 num_ref_idx_l1_default_active_minus1;
- deInt8 init_qp_minus26;
- deUint8 diff_cu_qp_delta_depth;
- deInt8 pps_cb_qp_offset;
- deInt8 pps_cr_qp_offset;
- deUint8 num_tile_columns_minus1;
- deUint8 num_tile_rows_minus1;
- deUint16 column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE];
- deUint16 row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE];
- deInt8 pps_beta_offset_div2;
- deInt8 pps_tc_offset_div2;
- deUint8 log2_parallel_merge_level_minus2;
- StdVideoH265PpsFlags flags;
- StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if pps_scaling_list_data_present_flag is set
-
- // extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set
- deUint8 log2_max_transform_skip_block_size_minus2;
- deUint8 diff_cu_chroma_qp_offset_depth;
- deUint8 chroma_qp_offset_list_len_minus1;
- deInt8 cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
- deInt8 cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
- deUint8 log2_sao_offset_scale_luma;
- deUint8 log2_sao_offset_scale_chroma;
-
- // extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
- deInt8 pps_act_y_qp_offset_plus5;
- deInt8 pps_act_cb_qp_offset_plus5;
- deInt8 pps_act_cr_qp_offset_plus5;
- deUint8 pps_num_palette_predictor_initializer;
- deUint8 luma_bit_depth_entry_minus8;
- deUint8 chroma_bit_depth_entry_minus8;
- StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if pps_palette_predictor_initializer_present_flag is set
+typedef struct StdVideoH265PictureParameterSet {
+ deUint8 pps_pic_parameter_set_id;
+ deUint8 pps_seq_parameter_set_id;
+ deUint8 num_extra_slice_header_bits;
+ deUint8 num_ref_idx_l0_default_active_minus1;
+ deUint8 num_ref_idx_l1_default_active_minus1;
+ deInt8 init_qp_minus26;
+ deUint8 diff_cu_qp_delta_depth;
+ deInt8 pps_cb_qp_offset;
+ deInt8 pps_cr_qp_offset;
+ deUint8 num_tile_columns_minus1;
+ deUint8 num_tile_rows_minus1;
+ deUint16 column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE];
+ deUint16 row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE];
+ deInt8 pps_beta_offset_div2;
+ deInt8 pps_tc_offset_div2;
+ deUint8 log2_parallel_merge_level_minus2;
+ StdVideoH265PpsFlags flags;
+ StdVideoH265ScalingLists* pScalingLists;
+ deUint8 log2_max_transform_skip_block_size_minus2;
+ deUint8 diff_cu_chroma_qp_offset_depth;
+ deUint8 chroma_qp_offset_list_len_minus1;
+ deInt8 cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
+ deInt8 cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
+ deUint8 log2_sao_offset_scale_luma;
+ deUint8 log2_sao_offset_scale_chroma;
+ deInt8 pps_act_y_qp_offset_plus5;
+ deInt8 pps_act_cb_qp_offset_plus5;
+ deInt8 pps_act_cr_qp_offset_plus5;
+ deUint8 pps_num_palette_predictor_initializer;
+ deUint8 luma_bit_depth_entry_minus8;
+ deUint8 chroma_bit_depth_entry_minus8;
+ StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
} StdVideoH265PictureParameterSet;
+
#ifdef __cplusplus
}
#endif
-#endif // VULKAN_VIDEO_CODEC_H265STD_H_
+#endif
+#ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
+#define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
+
/*
-** Copyright (c) 2019-2020 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/
-#ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
-#define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
+/*
+** This header is generated from the Khronos Vulkan XML API Registry.
+**
+*/
+
#ifdef __cplusplus
extern "C" {
-// *************************************************
-// Video H.264 Decode related parameters:
-// *************************************************
-
+#define vulkan_video_codec_h264std_decode 1
+#define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
#define STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE 15
typedef enum StdVideoDecodeH264FieldOrderCount {
- STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0,
- STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1,
- STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE = 2,
- STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF
-} StdVideoDecodeH264FieldOrderCnt;
-
+ STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0,
+ STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1,
+ STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF,
+ STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF
+} StdVideoDecodeH264FieldOrderCount;
typedef struct StdVideoDecodeH264PictureInfoFlags {
- deUint32 field_pic_flag : 1; // Is field picture
- deUint32 is_intra : 1; // Is intra picture
- deUint32 IdrPicFlag : 1; // instantaneous decoding refresh (IDR) picture
- deUint32 bottom_field_flag : 1; // bottom (true) or top (false) field if field_pic_flag is set.
- deUint32 is_reference : 1; // This only applies to picture info, and not to the DPB lists.
- deUint32 complementary_field_pair : 1; // complementary field pair, complementary non-reference field pair, complementary reference field pair
+ deUint32 field_pic_flag : 1;
+ deUint32 is_intra : 1;
+ deUint32 IdrPicFlag : 1;
+ deUint32 bottom_field_flag : 1;
+ deUint32 is_reference : 1;
+ deUint32 complementary_field_pair : 1;
} StdVideoDecodeH264PictureInfoFlags;
typedef struct StdVideoDecodeH264PictureInfo {
- deUint8 seq_parameter_set_id; // Selecting SPS from the Picture Parameters
- deUint8 pic_parameter_set_id; // Selecting PPS from the Picture Parameters and the SPS
- deUint16 reserved; // for structure members 32-bit packing/alignment
- deUint16 frame_num; // 7.4.3 Slice header semantics
- deUint16 idr_pic_id; // 7.4.3 Slice header semantics
- // PicOrderCnt is based on TopFieldOrderCnt and BottomFieldOrderCnt. See 8.2.1 Decoding process for picture order count type 0 - 2
- deInt32 PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; // TopFieldOrderCnt and BottomFieldOrderCnt fields.
- StdVideoDecodeH264PictureInfoFlags flags;
+ deUint8 seq_parameter_set_id;
+ deUint8 pic_parameter_set_id;
+ deUint16 reserved;
+ deUint16 frame_num;
+ deUint16 idr_pic_id;
+ deInt32 PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
+ StdVideoDecodeH264PictureInfoFlags flags;
} StdVideoDecodeH264PictureInfo;
typedef struct StdVideoDecodeH264ReferenceInfoFlags {
- deUint32 top_field_flag : 1; // Reference is used for top field reference.
- deUint32 bottom_field_flag : 1; // Reference is used for bottom field reference.
- deUint32 is_long_term : 1; // this is a long term reference
- deUint32 is_non_existing : 1; // Must be handled in accordance with 8.2.5.2: Decoding process for gaps in frame_num
+ deUint32 top_field_flag : 1;
+ deUint32 bottom_field_flag : 1;
+ deUint32 is_long_term : 1;
+ deUint32 is_non_existing : 1;
} StdVideoDecodeH264ReferenceInfoFlags;
typedef struct StdVideoDecodeH264ReferenceInfo {
- // FrameNum = is_long_term ? long_term_frame_idx : frame_num
- deUint16 FrameNum; // 7.4.3.3 Decoded reference picture marking semantics
- deUint16 reserved; // for structure members 32-bit packing/alignment
- deInt32 PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields.
- StdVideoDecodeH264ReferenceInfoFlags flags;
+ deUint16 FrameNum;
+ deUint16 reserved;
+ deInt32 PicOrderCnt[2];
+ StdVideoDecodeH264ReferenceInfoFlags flags;
} StdVideoDecodeH264ReferenceInfo;
typedef struct StdVideoDecodeH264MvcElementFlags {
- deUint32 non_idr : 1;
- deUint32 anchor_pic : 1;
- deUint32 inter_view : 1;
+ deUint32 non_idr : 1;
+ deUint32 anchor_pic : 1;
+ deUint32 inter_view : 1;
} StdVideoDecodeH264MvcElementFlags;
typedef struct StdVideoDecodeH264MvcElement {
- StdVideoDecodeH264MvcElementFlags flags;
- deUint16 viewOrderIndex;
- deUint16 viewId;
- deUint16 temporalId; // move out?
- deUint16 priorityId; // move out?
- deUint16 numOfAnchorRefsInL0;
- deUint16 viewIdOfAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
- deUint16 numOfAnchorRefsInL1;
- deUint16 viewIdOfAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
- deUint16 numOfNonAnchorRefsInL0;
- deUint16 viewIdOfNonAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
- deUint16 numOfNonAnchorRefsInL1;
- deUint16 viewIdOfNonAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
+ StdVideoDecodeH264MvcElementFlags flags;
+ deUint16 viewOrderIndex;
+ deUint16 viewId;
+ deUint16 temporalId;
+ deUint16 priorityId;
+ deUint16 numOfAnchorRefsInL0;
+ deUint16 viewIdOfAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
+ deUint16 numOfAnchorRefsInL1;
+ deUint16 viewIdOfAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
+ deUint16 numOfNonAnchorRefsInL0;
+ deUint16 viewIdOfNonAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
+ deUint16 numOfNonAnchorRefsInL1;
+ deUint16 viewIdOfNonAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
} StdVideoDecodeH264MvcElement;
typedef struct StdVideoDecodeH264Mvc {
- deUint32 viewId0;
- deUint32 mvcElementCount;
- StdVideoDecodeH264MvcElement* pMvcElements;
+ deUint32 viewId0;
+ deUint32 mvcElementCount;
+ StdVideoDecodeH264MvcElement* pMvcElements;
} StdVideoDecodeH264Mvc;
}
#endif
-#endif // VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
+#endif
+#ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
+#define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1
+
/*
-** Copyright (c) 2019-2021 The Khronos Group Inc.
+** Copyright 2015-2021 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/
-#ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
-#define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1
+/*
+** This header is generated from the Khronos Vulkan XML API Registry.
+**
+*/
+
#ifdef __cplusplus
extern "C" {
-// *************************************************
-// Video h265 Decode related parameters:
-// *************************************************
-
+#define vulkan_video_codec_h265std_decode 1
#define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8
-
typedef struct StdVideoDecodeH265PictureInfoFlags {
- deUint32 IrapPicFlag : 1;
- deUint32 IdrPicFlag : 1;
- deUint32 IsReference : 1;
- deUint32 short_term_ref_pic_set_sps_flag : 1;
+ deUint32 IrapPicFlag : 1;
+ deUint32 IdrPicFlag : 1;
+ deUint32 IsReference : 1;
+ deUint32 short_term_ref_pic_set_sps_flag : 1;
} StdVideoDecodeH265PictureInfoFlags;
typedef struct StdVideoDecodeH265PictureInfo {
- deUint8 vps_video_parameter_set_id;
- deUint8 sps_seq_parameter_set_id;
- deUint8 pps_pic_parameter_set_id;
- deUint8 num_short_term_ref_pic_sets;
- deInt32 PicOrderCntVal;
- deUint16 NumBitsForSTRefPicSetInSlice; // number of bits used in st_ref_pic_set()
- //when short_term_ref_pic_set_sps_flag is 0; otherwise set to 0.
- deUint8 NumDeltaPocsOfRefRpsIdx; // NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0
- deUint8 RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; // slotIndex as used in
- // VkVideoReferenceSlotKHR structures representing
- //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
- deUint8 RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; // slotIndex as used in
- // VkVideoReferenceSlotKHR structures representing
- //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
- deUint8 RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; // slotIndex as used in
- // VkVideoReferenceSlotKHR structures representing
- //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
- StdVideoDecodeH265PictureInfoFlags flags;
+ deUint8 vps_video_parameter_set_id;
+ deUint8 sps_seq_parameter_set_id;
+ deUint8 pps_pic_parameter_set_id;
+ deUint8 num_short_term_ref_pic_sets;
+ deInt32 PicOrderCntVal;
+ deUint16 NumBitsForSTRefPicSetInSlice;
+ deUint8 NumDeltaPocsOfRefRpsIdx;
+ deUint8 RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
+ deUint8 RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
+ deUint8 RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
+ StdVideoDecodeH265PictureInfoFlags flags;
} StdVideoDecodeH265PictureInfo;
typedef struct StdVideoDecodeH265ReferenceInfoFlags {
- deUint32 is_long_term : 1;
- deUint32 is_non_existing : 1;
+ deUint32 is_long_term : 1;
+ deUint32 is_non_existing : 1;
} StdVideoDecodeH265ReferenceInfoFlags;
typedef struct StdVideoDecodeH265ReferenceInfo {
- deInt32 PicOrderCntVal;
- StdVideoDecodeH265ReferenceInfoFlags flags;
+ deInt32 PicOrderCntVal;
+ StdVideoDecodeH265ReferenceInfoFlags flags;
} StdVideoDecodeH265ReferenceInfo;
+
#ifdef __cplusplus
}
#endif
-#endif // VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
+#endif
#ifndef VULKAN_CORE_H_
#define VULKAN_CORE_H_ 1
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
// Version of this file
-#define VK_HEADER_VERSION 201
+#define VK_HEADER_VERSION 203
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
VK_ERROR_INVALID_SHADER_NV = -1000012000,
VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
- VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
+ VK_ERROR_NOT_PERMITTED_KHR = -1000174001,
VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
VK_THREAD_IDLE_KHR = 1000268000,
VK_THREAD_DONE_KHR = 1000268001,
VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
+ VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR,
VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
+ VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR = 1000023016,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
#endif
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
- VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
#endif
+ VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
+ VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001,
VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = 1000388000,
- VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = 1000388001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
+ VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
+ VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
+ VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
+ VK_IMAGE_ASPECT_NONE_KHR = 0,
VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
+ VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
#ifdef VK_ENABLE_BETA_EXTENSIONS
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
#endif
+static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL;
typedef struct VkPhysicalDeviceVulkan13Features {
VkStructureType sType;
VkSampleCountFlagBits rasterizationSamples;
} VkCommandBufferInheritanceRenderingInfo;
-typedef VkRenderingInfo VkRenderingInfoKHR;
-
typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures {
VkStructureType sType;
void* pNext;
typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64 data);
typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64* pData);
typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
-typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
+typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
-typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query);
+typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query);
typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
-typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer);
typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering(
VkCommandBuffer commandBuffer,
- const VkRenderingInfoKHR* pRenderingInfo);
+ const VkRenderingInfo* pRenderingInfo);
VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering(
VkCommandBuffer commandBuffer);
typedef VkRenderingFlagBits VkRenderingFlagBitsKHR;
+typedef VkRenderingInfo VkRenderingInfoKHR;
+
typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR;
typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR;
VkBool32 perViewAttributesPositionXOnly;
} VkMultiviewPerViewAttributesInfoNVX;
-typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR(
VkCommandBuffer commandBuffer,
- const VkRenderingInfoKHR* pRenderingInfo);
+ const VkRenderingInfo* pRenderingInfo);
VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR(
VkCommandBuffer commandBuffer);
+#define VK_KHR_global_priority 1
+#define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U
+#define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1
+#define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority"
+
+typedef enum VkQueueGlobalPriorityKHR {
+ VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128,
+ VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256,
+ VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512,
+ VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024,
+ VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR,
+ VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
+ VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR,
+ VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR,
+ VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkQueueGlobalPriorityKHR;
+typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkQueueGlobalPriorityKHR globalPriority;
+} VkDeviceQueueGlobalPriorityCreateInfoKHR;
+
+typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 globalPriorityQuery;
+} VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR;
+
+typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR {
+ VkStructureType sType;
+ void* pNext;
+ deUint32 priorityCount;
+ VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR];
+} VkQueueFamilyGlobalPriorityPropertiesKHR;
+
+
+
#define VK_KHR_driver_properties 1
#define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
#define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR;
typedef struct VkQueueFamilyCheckpointProperties2NV {
- VkStructureType sType;
- void* pNext;
- VkPipelineStageFlags2KHR checkpointExecutionStageMask;
+ VkStructureType sType;
+ void* pNext;
+ VkPipelineStageFlags2 checkpointExecutionStageMask;
} VkQueueFamilyCheckpointProperties2NV;
typedef struct VkCheckpointData2NV {
- VkStructureType sType;
- void* pNext;
- VkPipelineStageFlags2KHR stage;
- void* pCheckpointMarker;
+ VkStructureType sType;
+ void* pNext;
+ VkPipelineStageFlags2 stage;
+ void* pCheckpointMarker;
} VkCheckpointData2NV;
typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
-typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
+typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
-typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query);
+typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query);
typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
-typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
+typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
VkCommandBuffer commandBuffer,
- VkPipelineStageFlags2KHR stage,
+ VkPipelineStageFlags2 stage,
VkBuffer dstBuffer,
VkDeviceSize dstOffset,
deUint32 marker);
} VkImageDrmFormatModifierPropertiesEXT;
typedef struct VkDrmFormatModifierProperties2EXT {
- deUint64 drmFormatModifier;
- deUint32 drmFormatModifierPlaneCount;
- VkFormatFeatureFlags2KHR drmFormatModifierTilingFeatures;
+ deUint64 drmFormatModifier;
+ deUint32 drmFormatModifierPlaneCount;
+ VkFormatFeatureFlags2 drmFormatModifierTilingFeatures;
} VkDrmFormatModifierProperties2EXT;
typedef struct VkDrmFormatModifierPropertiesList2EXT {
#define VK_EXT_global_priority 1
#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
+typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT;
-typedef enum VkQueueGlobalPriorityEXT {
- VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
- VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
- VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
- VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
- VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
-} VkQueueGlobalPriorityEXT;
-typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
- VkStructureType sType;
- const void* pNext;
- VkQueueGlobalPriorityEXT globalPriority;
-} VkDeviceQueueGlobalPriorityCreateInfoEXT;
+typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT;
#define VK_EXT_global_priority_query 1
-#define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT 16U
#define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
#define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
-typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT {
- VkStructureType sType;
- void* pNext;
- VkBool32 globalPriorityQuery;
-} VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
+#define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
+typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
-typedef struct VkQueueFamilyGlobalPriorityPropertiesEXT {
- VkStructureType sType;
- void* pNext;
- deUint32 priorityCount;
- VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT];
-} VkQueueFamilyGlobalPriorityPropertiesEXT;
+typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
#endif
+#define VK_QCOM_fragment_density_map_offset 1
+#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
+#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
+typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 fragmentDensityMapOffset;
+} VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
+
+typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM {
+ VkStructureType sType;
+ void* pNext;
+ VkExtent2D fragmentDensityOffsetGranularity;
+} VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
+
+typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM {
+ VkStructureType sType;
+ const void* pNext;
+ deUint32 fragmentDensityOffsetCount;
+ const VkOffset2D* pFragmentDensityOffsets;
+} VkSubpassFragmentDensityMapOffsetEndInfoQCOM;
+
+
+
+#define VK_NV_linear_color_attachment 1
+#define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
+#define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment"
+typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 linearColorAttachment;
+} VkPhysicalDeviceLinearColorAttachmentFeaturesNV;
+
+
+
+#define VK_GOOGLE_surfaceless_query 1
+#define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 1
+#define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query"
+
+
#define VK_KHR_acceleration_structure 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
def areEnumValuesLinear (enum):
curIndex = 0
+ maxIntCount = 0
for name, value in enum.values:
if value[:2] != "VK":
intValue = parseInt(value)
if intValue != curIndex:
- # consider enums containing *_MAX_ENUM = 0x7FFFFFFF as linear
- if intValue == 0x7FFFFFFF:
- return True
- return False
+ # enum is linear when all items are in order
+ if intValue != 0x7FFFFFFF:
+ return False
+ # count number of items with 0x7FFFFFFF value;
+ # enum containing single 0x7FFFFFFF item are also
+ # considered as linear (this is usualy *_MAX_ENUM item)
+ maxIntCount += 1
+ # enums containing more then one 0x7FFFFFFF value
+ # are not considered as linear (vulkan video enums)
+ if maxIntCount > 1:
+ return False
curIndex += 1
return True
yield "{"
yield "\tswitch (value)"
yield "\t{"
- for line in indentLines(["\t\tcase %s:\treturn \"%s\";" % (n, n) for n, v in enum.values if v[:2] != "VK"] + ["\t\tdefault:\treturn DE_NULL;"]):
+ enumValues = []
+ lastValue = 0x7FFFFFFF
+ for n, v in enum.values:
+ if (v[:2] != "VK") and (v != lastValue):
+ enumValues.append(f"\t\tcase {n}:\treturn \"{n}\";")
+ lastValue = v
+ enumValues.append("\t\tdefault:\treturn DE_NULL;")
+ for line in indentLines(enumValues):
yield line
yield "\t}"
yield "}"
'VkPhysicalDeviceFragmentDensityMapFeaturesEXT',
'VkPhysicalDeviceFragmentDensityMap2FeaturesEXT',
'VkPhysicalDeviceFragmentShadingRateFeaturesKHR',
- 'VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT',
+ 'VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR',
'VkPhysicalDeviceInlineUniformBlockFeatures',
'VkPhysicalDeviceIndexTypeUint8FeaturesEXT',
'VkPhysicalDeviceImagelessFramebufferFeatures',
currentDir = os.getcwd()
pythonExecutable = sys.executable or "python"
os.chdir(os.path.join(VULKAN_HEADERS_INCLUDE_DIR, "..", "xml"))
- targets = [
+ vkTargets = [
"vulkan_android.h",
"vulkan_beta.h",
"vulkan_core.h",
"vulkan_xlib.h",
"vulkan_xlib_xrandr.h",
]
- for target in targets:
+ for target in vkTargets:
execute([pythonExecutable, "../scripts/genvk.py", "-o", "../include/vulkan", target])
+
+ videoDir = "../include/vk_video"
+ if (not os.path.isdir(videoDir)):
+ os.mkdir(videoDir)
+
+ videoTargets = [
+ 'vulkan_video_codecs_common.h',
+ 'vulkan_video_codec_h264std.h',
+ 'vulkan_video_codec_h264std_decode.h',
+ 'vulkan_video_codec_h264std_encode.h',
+ 'vulkan_video_codec_h265std.h',
+ 'vulkan_video_codec_h265std_decode.h',
+ 'vulkan_video_codec_h265std_encode.h',
+ ]
+ for target in videoTargets:
+ execute([pythonExecutable, "../scripts/genvk.py", "-registry", "video.xml", "-o", videoDir, target])
+
os.chdir(currentDir)
# Read all .h files and make sure vulkan_core.h is first out of vulkan files
- targets.remove("vulkan_core.h")
- targets.sort()
- vkFilesWithCatalog = [os.path.join("vulkan", f) for f in targets]
- first = [os.path.join("vk_video", "vulkan_video_codecs_common.h"), os.path.join("vulkan", "vulkan_core.h")]
- allFilesWithCatalog = first + vkFilesWithCatalog
+ vkTargets.remove("vulkan_core.h")
+ vkTargets.sort()
+ vkTargets.insert(0, "vulkan_core.h")
+ vkFilesWithCatalog = [os.path.join("vulkan", f) for f in vkTargets]
src = ""
- for file in allFilesWithCatalog:
+ for file in vkFilesWithCatalog:
src += preprocessTopInclude(readFile(os.path.join(VULKAN_HEADERS_INCLUDE_DIR,file)), VULKAN_HEADERS_INCLUDE_DIR)
src = re.sub('\s*//[^\n]*', '', src)
writeDeviceFeaturesDefaultDeviceDefs (dfd, os.path.join(outputPath, "vkDeviceFeaturesForDefaultDeviceDefs.inl"))
writeDeviceFeaturesContextDecl (dfd, os.path.join(outputPath, "vkDeviceFeaturesForContextDecl.inl"))
writeDeviceFeaturesContextDefs (dfd, os.path.join(outputPath, "vkDeviceFeaturesForContextDefs.inl"))
- writeDeviceFeatureTest (api, os.path.join(outputPath, "vkDeviceFeatureTest.inl"))
+ writeDeviceFeatureTest (api, os.path.join(outputPath, "vkDeviceFeatureTest.inl"))
dpd = generateDevicePropertiesDefs(src)
writeDeviceProperties (api, dpd, os.path.join(outputPath, "vkDeviceProperties.inl"))