mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-09 17:00:13 +01:00
Support 5 more promoted extensions
VK_KHR_calibrated_timestamps VK_KHR_index_type_uint8 VK_KHR_line_rasterization VK_KHR_load_store_op_none VK_KHR_vertex_attribute_divisor Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33561>
This commit is contained in:
parent
5603b78779
commit
dfd2af5da1
2 changed files with 28 additions and 19 deletions
|
|
@ -513,9 +513,9 @@ Vulkan 1.4 -- all DONE: anv, lvp, nvk, radv/gfx8+, tu/a7xx+
|
|||
|
||||
VK_KHR_dynamic_rendering_local_read DONE (anv, lvp, nvk, radv, tu)
|
||||
VK_KHR_global_priority DONE (anv, lvp, nvk, panvk, radv, tu)
|
||||
VK_KHR_index_type_uint8 DONE (anv, lvp, nvk, panvk, pvr, radv, tu, v3dv)
|
||||
VK_KHR_line_rasterization DONE (anv, lvp, nvk, radv, tu, v3dv)
|
||||
VK_KHR_load_store_op_none DONE (anv, lvp, nvk, radv, tu, v3dv)
|
||||
VK_KHR_index_type_uint8 DONE (anv, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_line_rasterization DONE (anv, lvp, nvk, radv, tu, v3dv, vn)
|
||||
VK_KHR_load_store_op_none DONE (anv, lvp, nvk, radv, tu, v3dv, vn)
|
||||
VK_KHR_maintenance5 DONE (anv, lvp, nvk, radv, tu, v3dv, vn)
|
||||
VK_KHR_maintenance6 DONE (anv, lvp, nvk, radv, tu)
|
||||
VK_KHR_map_memory2 DONE (anv, lvp, nvk, panvk, radv, tu)
|
||||
|
|
@ -523,7 +523,7 @@ Vulkan 1.4 -- all DONE: anv, lvp, nvk, radv/gfx8+, tu/a7xx+
|
|||
VK_KHR_shader_expect_assume DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_shader_float_controls2 DONE (anv, lvp, nvk, radv, tu)
|
||||
VK_KHR_shader_subgroup_rotate DONE (anv, lvp, nvk, radv, tu)
|
||||
VK_KHR_vertex_attribute_divisor DONE (anv, lvp, nvk, panvk, radv, tu, v3dv)
|
||||
VK_KHR_vertex_attribute_divisor DONE (anv, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
||||
VK_EXT_host_image_copy DONE (anv, lvp, nvk/Turing+, tu)
|
||||
VK_EXT_pipeline_protected_access DONE (anv/gfx12+)
|
||||
VK_EXT_pipeline_robustness DONE (anv, lvp, nvk, panvk, radv, v3dv, tu)
|
||||
|
|
@ -532,7 +532,7 @@ Khronos extensions that are not part of any Vulkan version:
|
|||
|
||||
VK_KHR_acceleration_structure DONE (anv/gfx12.5+, lvp, radv/gfx10.3+, tu/a740+)
|
||||
VK_KHR_android_surface not started
|
||||
VK_KHR_calibrated_timestamps DONE (anv, nvk, radv, tu/a750+)
|
||||
VK_KHR_calibrated_timestamps DONE (anv, nvk, radv, tu/a750+, vn)
|
||||
VK_KHR_compute_shader_derivatives DONE (anv, nvk, radv, tu/a7xx+)
|
||||
VK_KHR_cooperative_matrix DONE (anv, radv/gfx11+)
|
||||
VK_KHR_deferred_host_operations DONE (anv, hasvk, lvp, radv)
|
||||
|
|
|
|||
|
|
@ -162,9 +162,13 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
|||
|
||||
/* KHR */
|
||||
VkPhysicalDeviceFragmentShadingRateFeaturesKHR fragment_shading_rate;
|
||||
VkPhysicalDeviceIndexTypeUint8FeaturesKHR index_type_uint8;
|
||||
VkPhysicalDeviceLineRasterizationFeaturesKHR line_rasterization;
|
||||
VkPhysicalDeviceMaintenance5FeaturesKHR maintenance5;
|
||||
VkPhysicalDeviceShaderClockFeaturesKHR shader_clock;
|
||||
VkPhysicalDeviceShaderExpectAssumeFeaturesKHR expect_assume;
|
||||
VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR
|
||||
vertex_attribute_divisor;
|
||||
|
||||
/* EXT */
|
||||
VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT attachment_feedback_loop_layout;
|
||||
|
|
@ -186,8 +190,6 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
|||
graphics_pipeline_library;
|
||||
VkPhysicalDeviceImage2DViewOf3DFeaturesEXT image_2d_view_of_3d;
|
||||
VkPhysicalDeviceImageViewMinLodFeaturesEXT image_view_min_lod;
|
||||
VkPhysicalDeviceIndexTypeUint8FeaturesEXT index_type_uint8;
|
||||
VkPhysicalDeviceLineRasterizationFeaturesEXT line_rasterization;
|
||||
VkPhysicalDeviceMultiDrawFeaturesEXT multi_draw;
|
||||
VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT mutable_descriptor_type;
|
||||
VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT non_seamless_cube_map;
|
||||
|
|
@ -200,8 +202,6 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
|||
rasterization_order_attachment_access;
|
||||
VkPhysicalDeviceRobustness2FeaturesEXT robustness_2;
|
||||
VkPhysicalDeviceTransformFeedbackFeaturesEXT transform_feedback;
|
||||
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
|
||||
vertex_attribute_divisor;
|
||||
VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
|
||||
vertex_input_dynamic_state;
|
||||
} local_feats;
|
||||
|
|
@ -270,9 +270,12 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
|||
|
||||
/* KHR */
|
||||
VN_ADD_PNEXT_EXT(feats2, FRAGMENT_SHADING_RATE_FEATURES_KHR, local_feats.fragment_shading_rate, exts->KHR_fragment_shading_rate);
|
||||
VN_ADD_PNEXT_EXT(feats2, INDEX_TYPE_UINT8_FEATURES_KHR, local_feats.index_type_uint8, exts->KHR_index_type_uint8 || exts->EXT_index_type_uint8);
|
||||
VN_ADD_PNEXT_EXT(feats2, LINE_RASTERIZATION_FEATURES_KHR, local_feats.line_rasterization, exts->KHR_line_rasterization || exts->EXT_line_rasterization);
|
||||
VN_ADD_PNEXT_EXT(feats2, MAINTENANCE_5_FEATURES_KHR, local_feats.maintenance5, exts->KHR_maintenance5);
|
||||
VN_ADD_PNEXT_EXT(feats2, SHADER_CLOCK_FEATURES_KHR, local_feats.shader_clock, exts->KHR_shader_clock);
|
||||
VN_ADD_PNEXT_EXT(feats2, SHADER_EXPECT_ASSUME_FEATURES_KHR, local_feats.expect_assume, exts->KHR_shader_expect_assume);
|
||||
VN_ADD_PNEXT_EXT(feats2, MAINTENANCE_5_FEATURES_KHR, local_feats.maintenance5, exts->KHR_maintenance5);
|
||||
VN_ADD_PNEXT_EXT(feats2, VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR, local_feats.vertex_attribute_divisor, exts->KHR_vertex_attribute_divisor || exts->EXT_vertex_attribute_divisor);
|
||||
|
||||
/* EXT */
|
||||
VN_ADD_PNEXT_EXT(feats2, ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT, local_feats.attachment_feedback_loop_layout, exts->EXT_attachment_feedback_loop_layout);
|
||||
|
|
@ -289,8 +292,6 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
|||
VN_ADD_PNEXT_EXT(feats2, GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT, local_feats.graphics_pipeline_library, exts->EXT_graphics_pipeline_library);
|
||||
VN_ADD_PNEXT_EXT(feats2, IMAGE_2D_VIEW_OF_3D_FEATURES_EXT, local_feats.image_2d_view_of_3d, exts->EXT_image_2d_view_of_3d);
|
||||
VN_ADD_PNEXT_EXT(feats2, IMAGE_VIEW_MIN_LOD_FEATURES_EXT, local_feats.image_view_min_lod, exts->EXT_image_view_min_lod);
|
||||
VN_ADD_PNEXT_EXT(feats2, INDEX_TYPE_UINT8_FEATURES_EXT, local_feats.index_type_uint8, exts->EXT_index_type_uint8);
|
||||
VN_ADD_PNEXT_EXT(feats2, LINE_RASTERIZATION_FEATURES_EXT, local_feats.line_rasterization, exts->EXT_line_rasterization);
|
||||
VN_ADD_PNEXT_EXT(feats2, MULTI_DRAW_FEATURES_EXT, local_feats.multi_draw, exts->EXT_multi_draw);
|
||||
VN_ADD_PNEXT_EXT(feats2, MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, local_feats.mutable_descriptor_type, exts->EXT_mutable_descriptor_type || exts->VALVE_mutable_descriptor_type);
|
||||
VN_ADD_PNEXT_EXT(feats2, NON_SEAMLESS_CUBE_MAP_FEATURES_EXT, local_feats.non_seamless_cube_map, exts->EXT_non_seamless_cube_map);
|
||||
|
|
@ -300,7 +301,6 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
|||
VN_ADD_PNEXT_EXT(feats2, RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, local_feats.rasterization_order_attachment_access, exts->EXT_rasterization_order_attachment_access);
|
||||
VN_ADD_PNEXT_EXT(feats2, ROBUSTNESS_2_FEATURES_EXT, local_feats.robustness_2, exts->EXT_robustness2);
|
||||
VN_ADD_PNEXT_EXT(feats2, TRANSFORM_FEEDBACK_FEATURES_EXT, local_feats.transform_feedback, exts->EXT_transform_feedback);
|
||||
VN_ADD_PNEXT_EXT(feats2, VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, local_feats.vertex_attribute_divisor, exts->EXT_vertex_attribute_divisor);
|
||||
VN_ADD_PNEXT_EXT(feats2, VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT, local_feats.vertex_input_dynamic_state, exts->EXT_vertex_input_dynamic_state);
|
||||
|
||||
/* clang-format on */
|
||||
|
|
@ -480,8 +480,11 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
|
|||
VkPhysicalDeviceTexelBufferAlignmentProperties texel_buffer_alignment;
|
||||
|
||||
/* KHR */
|
||||
VkPhysicalDeviceLineRasterizationPropertiesKHR line_rasterization;
|
||||
VkPhysicalDevicePushDescriptorPropertiesKHR push_descriptor;
|
||||
VkPhysicalDeviceFragmentShadingRatePropertiesKHR fragment_shading_rate;
|
||||
VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR
|
||||
vertex_attribute_divisor;
|
||||
|
||||
/* EXT */
|
||||
VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
|
||||
|
|
@ -493,7 +496,6 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
|
|||
extended_dynamic_state_3;
|
||||
VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
|
||||
graphics_pipeline_library;
|
||||
VkPhysicalDeviceLineRasterizationPropertiesEXT line_rasterization;
|
||||
VkPhysicalDeviceMultiDrawPropertiesEXT multi_draw;
|
||||
VkPhysicalDevicePCIBusInfoPropertiesEXT pci_bus_info;
|
||||
VkPhysicalDeviceProvokingVertexPropertiesEXT provoking_vertex;
|
||||
|
|
@ -501,7 +503,7 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
|
|||
VkPhysicalDeviceSampleLocationsPropertiesEXT sample_locations;
|
||||
VkPhysicalDeviceTransformFeedbackPropertiesEXT transform_feedback;
|
||||
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
|
||||
vertex_attribute_divisor;
|
||||
vertex_attribute_divisor_ext;
|
||||
} local_props;
|
||||
|
||||
/* Clear the structs so all unqueried properties will be well-defined. */
|
||||
|
|
@ -543,8 +545,10 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
|
|||
}
|
||||
|
||||
/* KHR */
|
||||
VN_ADD_PNEXT_EXT(props2, LINE_RASTERIZATION_PROPERTIES_KHR, local_props.line_rasterization, exts->KHR_line_rasterization || exts->EXT_line_rasterization);
|
||||
VN_ADD_PNEXT_EXT(props2, FRAGMENT_SHADING_RATE_PROPERTIES_KHR, local_props.fragment_shading_rate, exts->KHR_fragment_shading_rate);
|
||||
VN_ADD_PNEXT_EXT(props2, PUSH_DESCRIPTOR_PROPERTIES_KHR, local_props.push_descriptor, exts->KHR_push_descriptor);
|
||||
VN_ADD_PNEXT_EXT(props2, VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR, local_props.vertex_attribute_divisor, exts->KHR_vertex_attribute_divisor);
|
||||
|
||||
/* EXT */
|
||||
VN_ADD_PNEXT_EXT(props2, BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, local_props.blend_operation_advanced, exts->EXT_blend_operation_advanced);
|
||||
|
|
@ -552,14 +556,13 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
|
|||
VN_ADD_PNEXT_EXT(props2, CUSTOM_BORDER_COLOR_PROPERTIES_EXT, local_props.custom_border_color, exts->EXT_custom_border_color);
|
||||
VN_ADD_PNEXT_EXT(props2, EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT, local_props.extended_dynamic_state_3, exts->EXT_extended_dynamic_state3);
|
||||
VN_ADD_PNEXT_EXT(props2, GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT, local_props.graphics_pipeline_library, exts->EXT_graphics_pipeline_library);
|
||||
VN_ADD_PNEXT_EXT(props2, LINE_RASTERIZATION_PROPERTIES_EXT, local_props.line_rasterization, exts->EXT_line_rasterization);
|
||||
VN_ADD_PNEXT_EXT(props2, MULTI_DRAW_PROPERTIES_EXT, local_props.multi_draw, exts->EXT_multi_draw);
|
||||
VN_ADD_PNEXT_EXT(props2, PCI_BUS_INFO_PROPERTIES_EXT, local_props.pci_bus_info, exts->EXT_pci_bus_info);
|
||||
VN_ADD_PNEXT_EXT(props2, PROVOKING_VERTEX_PROPERTIES_EXT, local_props.provoking_vertex, exts->EXT_provoking_vertex);
|
||||
VN_ADD_PNEXT_EXT(props2, ROBUSTNESS_2_PROPERTIES_EXT, local_props.robustness_2, exts->EXT_robustness2);
|
||||
VN_ADD_PNEXT_EXT(props2, SAMPLE_LOCATIONS_PROPERTIES_EXT, local_props.sample_locations, exts->EXT_sample_locations);
|
||||
VN_ADD_PNEXT_EXT(props2, TRANSFORM_FEEDBACK_PROPERTIES_EXT, local_props.transform_feedback, exts->EXT_transform_feedback);
|
||||
VN_ADD_PNEXT_EXT(props2, VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT, local_props.vertex_attribute_divisor, exts->EXT_vertex_attribute_divisor);
|
||||
VN_ADD_PNEXT_EXT(props2, VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT, local_props.vertex_attribute_divisor_ext, !exts->KHR_vertex_attribute_divisor && exts->EXT_vertex_attribute_divisor);
|
||||
|
||||
/* clang-format on */
|
||||
|
||||
|
|
@ -607,7 +610,9 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
|
|||
|
||||
/* KHR */
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.fragment_shading_rate, exts->KHR_fragment_shading_rate);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.line_rasterization, exts->KHR_line_rasterization || exts->EXT_line_rasterization);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.push_descriptor, exts->KHR_push_descriptor);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.vertex_attribute_divisor, exts->KHR_vertex_attribute_divisor);
|
||||
|
||||
/* EXT */
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.blend_operation_advanced, exts->EXT_blend_operation_advanced);
|
||||
|
|
@ -615,14 +620,13 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
|
|||
VN_SET_VK_PROPS_EXT(props, &local_props.custom_border_color, exts->EXT_custom_border_color);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.extended_dynamic_state_3, exts->EXT_extended_dynamic_state3);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.graphics_pipeline_library, exts->EXT_graphics_pipeline_library);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.line_rasterization, exts->EXT_line_rasterization);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.multi_draw, exts->EXT_multi_draw);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.pci_bus_info, exts->EXT_pci_bus_info);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.provoking_vertex, exts->EXT_provoking_vertex);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.robustness_2, exts->EXT_robustness2);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.sample_locations, exts->EXT_sample_locations);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.transform_feedback, exts->EXT_transform_feedback);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.vertex_attribute_divisor, exts->EXT_vertex_attribute_divisor);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.vertex_attribute_divisor_ext, !exts->KHR_vertex_attribute_divisor && exts->EXT_vertex_attribute_divisor);
|
||||
|
||||
/* clang-format on */
|
||||
|
||||
|
|
@ -1072,12 +1076,17 @@ vn_physical_device_get_passthrough_extensions(
|
|||
.EXT_ycbcr_2plane_444_formats = true,
|
||||
|
||||
/* KHR */
|
||||
.KHR_calibrated_timestamps = true,
|
||||
.KHR_fragment_shading_rate = true,
|
||||
.KHR_index_type_uint8 = true,
|
||||
.KHR_line_rasterization = true,
|
||||
.KHR_load_store_op_none = true,
|
||||
.KHR_maintenance5 = true,
|
||||
.KHR_pipeline_library = true,
|
||||
.KHR_push_descriptor = true,
|
||||
.KHR_shader_clock = true,
|
||||
.KHR_shader_expect_assume = true,
|
||||
.KHR_vertex_attribute_divisor = true,
|
||||
|
||||
/* EXT */
|
||||
.EXT_attachment_feedback_loop_layout = true,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue