venus: added passthrough extension support - Part IV
Below extensions are added: 1. VK_EXT_shader_atomic_float 2. VK_EXT_shader_atomic_float2 3. VK_EXT_shader_image_atomic_int64 4. VK_EXT_shader_replicated_composites Test: - dEQP-VK.glsl.atomic_operations.* - dEQP-VK.image.atomic_operations.* Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33783>
This commit is contained in:
@@ -643,11 +643,11 @@ Khronos extensions that are not part of any Vulkan version:
|
||||
VK_EXT_rasterization_order_attachment_access DONE (lvp, tu, vn)
|
||||
VK_EXT_robustness2 DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
||||
VK_EXT_sample_locations DONE (anv, hasvk, nvk, radv/gfx9-, tu/a650+, vn)
|
||||
VK_EXT_shader_atomic_float DONE (anv, hasvk, lvp, radv)
|
||||
VK_EXT_shader_atomic_float2 DONE (anv, lvp, radv)
|
||||
VK_EXT_shader_image_atomic_int64 DONE (nvk, radv)
|
||||
VK_EXT_shader_atomic_float DONE (anv, hasvk, lvp, radv, vn)
|
||||
VK_EXT_shader_atomic_float2 DONE (anv, lvp, radv, vn)
|
||||
VK_EXT_shader_image_atomic_int64 DONE (nvk, radv, vn)
|
||||
VK_EXT_shader_object DONE (lvp, nvk, radv)
|
||||
VK_EXT_shader_replicated_composites DONE (anv, dzn, hasvk, lvp, nvk, radv, tu)
|
||||
VK_EXT_shader_replicated_composites DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, vn)
|
||||
VK_EXT_shader_stencil_export DONE (anv, lvp, radv, tu, vn)
|
||||
VK_EXT_shader_subgroup_ballot DONE (anv, dzn, hasvk, lvp, nvk, radv, vn)
|
||||
VK_EXT_shader_subgroup_vote DONE (anv, dzn, hasvk, lvp, nvk, radv, vn)
|
||||
|
||||
@@ -194,6 +194,12 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
||||
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
|
||||
rasterization_order_attachment_access;
|
||||
VkPhysicalDeviceRobustness2FeaturesEXT robustness_2;
|
||||
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT shader_atomic_float;
|
||||
VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT shader_atomic_float_2;
|
||||
VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
|
||||
shader_image_atomic_int64;
|
||||
VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT
|
||||
shader_replicated_composites;
|
||||
VkPhysicalDeviceTransformFeedbackFeaturesEXT transform_feedback;
|
||||
VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
|
||||
vertex_input_dynamic_state;
|
||||
@@ -316,6 +322,10 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
||||
VN_ADD_PNEXT_EXT(feats2, PROVOKING_VERTEX_FEATURES_EXT, local_feats.provoking_vertex, exts->EXT_provoking_vertex);
|
||||
VN_ADD_PNEXT_EXT(feats2, RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, local_feats.rasterization_order_attachment_access, exts->EXT_rasterization_order_attachment_access || exts->ARM_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, SHADER_ATOMIC_FLOAT_FEATURES_EXT, local_feats.shader_atomic_float, exts->EXT_shader_atomic_float);
|
||||
VN_ADD_PNEXT_EXT(feats2, SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, local_feats.shader_atomic_float_2, exts->EXT_shader_atomic_float2);
|
||||
VN_ADD_PNEXT_EXT(feats2, SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, local_feats.shader_image_atomic_int64, exts->EXT_shader_image_atomic_int64);
|
||||
VN_ADD_PNEXT_EXT(feats2, SHADER_REPLICATED_COMPOSITES_FEATURES_EXT, local_feats.shader_replicated_composites, exts->EXT_shader_replicated_composites);
|
||||
VN_ADD_PNEXT_EXT(feats2, TRANSFORM_FEEDBACK_FEATURES_EXT, local_feats.transform_feedback, exts->EXT_transform_feedback);
|
||||
VN_ADD_PNEXT_EXT(feats2, VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT, local_feats.vertex_input_dynamic_state, exts->EXT_vertex_input_dynamic_state);
|
||||
|
||||
@@ -1221,6 +1231,10 @@ vn_physical_device_get_passthrough_extensions(
|
||||
.EXT_rasterization_order_attachment_access = true,
|
||||
.EXT_robustness2 = true,
|
||||
.EXT_sample_locations = true,
|
||||
.EXT_shader_atomic_float = true,
|
||||
.EXT_shader_atomic_float2 = true,
|
||||
.EXT_shader_image_atomic_int64 = true,
|
||||
.EXT_shader_replicated_composites = true,
|
||||
.EXT_shader_stencil_export = true,
|
||||
.EXT_shader_subgroup_ballot = true,
|
||||
.EXT_shader_subgroup_vote = true,
|
||||
|
||||
Reference in New Issue
Block a user