venus: added passthrough extension support - Part II
Below are added: 1. VK_KHR_compute_shader_derivatives 2. VK_NV_compute_shader_derivatives 3. VK_KHR_workgroup_memory_explicit_layout Test: - dEQP-VK.compute.*workgroup_memory_explicit_layout.* - dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.* Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33783>
This commit is contained in:
@@ -533,7 +533,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+, vn)
|
||||
VK_KHR_compute_shader_derivatives DONE (anv, nvk, radv, tu/a7xx+)
|
||||
VK_KHR_compute_shader_derivatives DONE (anv, nvk, radv, tu/a7xx+, vn)
|
||||
VK_KHR_cooperative_matrix DONE (anv, radv/gfx11+)
|
||||
VK_KHR_depth_clamp_zero_one DONE (vn)
|
||||
VK_KHR_deferred_host_operations DONE (anv, hasvk, lvp, radv)
|
||||
@@ -570,7 +570,7 @@ Khronos extensions that are not part of any Vulkan version:
|
||||
VK_KHR_swapchain DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_swapchain_mutable_format DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
||||
VK_KHR_wayland_surface DONE (anv, dzn, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
||||
VK_KHR_workgroup_memory_explicit_layout DONE (anv, nvk, hasvk, radv, tu, v3dv)
|
||||
VK_KHR_workgroup_memory_explicit_layout DONE (anv, nvk, hasvk, radv, tu, v3dv, vn)
|
||||
VK_KHR_win32_keyed_mutex not started
|
||||
VK_KHR_win32_surface DONE (dzn, lvp)
|
||||
VK_KHR_xcb_surface DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
||||
@@ -664,7 +664,7 @@ Khronos extensions that are not part of any Vulkan version:
|
||||
VK_GOOGLE_hlsl_functionality1 DONE (anv, hasvk, lvp, nvk, panvk, radv, tu)
|
||||
VK_GOOGLE_user_type DONE (anv, hasvk, nvk, panvk, radv, tu)
|
||||
VK_IMG_filter_cubic DONE (tu/a650+)
|
||||
VK_NV_compute_shader_derivatives DONE (anv, hasvk, nvk, radv)
|
||||
VK_NV_compute_shader_derivatives DONE (anv, hasvk, nvk, radv, vn)
|
||||
VK_EXT_acquire_drm_display DONE (anv, nvk, radv, tu, v3dv, vn)
|
||||
VK_VALVE_mutable_descriptor_type DONE (anv, hasvk, nvk, radv, tu, vn)
|
||||
VK_AMD_buffer_marker DONE (anv, radv, tu)
|
||||
|
||||
@@ -152,9 +152,13 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
||||
VkPhysicalDeviceVertexAttributeDivisorFeatures vertex_attribute_divisor;
|
||||
|
||||
/* KHR */
|
||||
VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR
|
||||
compute_shader_derivatives;
|
||||
VkPhysicalDeviceDepthClampZeroOneFeaturesKHR depth_clamp_zero_one;
|
||||
VkPhysicalDeviceFragmentShadingRateFeaturesKHR fragment_shading_rate;
|
||||
VkPhysicalDeviceShaderClockFeaturesKHR shader_clock;
|
||||
VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
|
||||
workgroup_memory_explicit_layout;
|
||||
|
||||
/* EXT */
|
||||
VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT attachment_feedback_loop_layout;
|
||||
@@ -277,9 +281,11 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
|
||||
VN_ADD_PNEXT_EXT(feats2, DYNAMIC_RENDERING_LOCAL_READ_FEATURES, local_feats.dynamic_rendering_local_read, exts->KHR_dynamic_rendering_local_read);
|
||||
|
||||
/* KHR */
|
||||
VN_ADD_PNEXT_EXT(feats2, COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR, local_feats.compute_shader_derivatives, exts->KHR_compute_shader_derivatives || exts->NV_compute_shader_derivatives);
|
||||
VN_ADD_PNEXT_EXT(feats2, DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR, local_feats.depth_clamp_zero_one, exts->KHR_depth_clamp_zero_one || exts->EXT_depth_clamp_zero_one);
|
||||
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, SHADER_CLOCK_FEATURES_KHR, local_feats.shader_clock, exts->KHR_shader_clock);
|
||||
VN_ADD_PNEXT_EXT(feats2, WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR, local_feats.workgroup_memory_explicit_layout, exts->KHR_workgroup_memory_explicit_layout);
|
||||
|
||||
/* EXT */
|
||||
VN_ADD_PNEXT_EXT(feats2, ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT, local_feats.attachment_feedback_loop_layout, exts->EXT_attachment_feedback_loop_layout);
|
||||
@@ -494,6 +500,8 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
|
||||
vertex_attribute_divisor;
|
||||
|
||||
/* KHR */
|
||||
VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR
|
||||
compute_shader_derivatives;
|
||||
VkPhysicalDeviceFragmentShadingRatePropertiesKHR fragment_shading_rate;
|
||||
|
||||
/* EXT */
|
||||
@@ -580,6 +588,7 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
|
||||
}
|
||||
|
||||
/* KHR */
|
||||
VN_ADD_PNEXT_EXT(props2, COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR, local_props.compute_shader_derivatives, exts->KHR_compute_shader_derivatives);
|
||||
VN_ADD_PNEXT_EXT(props2, FRAGMENT_SHADING_RATE_PROPERTIES_KHR, local_props.fragment_shading_rate, exts->KHR_fragment_shading_rate);
|
||||
|
||||
/* EXT */
|
||||
@@ -654,6 +663,7 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
|
||||
}
|
||||
|
||||
/* KHR */
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.compute_shader_derivatives, exts->KHR_compute_shader_derivatives);
|
||||
VN_SET_VK_PROPS_EXT(props, &local_props.fragment_shading_rate, exts->KHR_fragment_shading_rate);
|
||||
|
||||
/* EXT */
|
||||
@@ -1156,10 +1166,12 @@ vn_physical_device_get_passthrough_extensions(
|
||||
|
||||
/* KHR */
|
||||
.KHR_calibrated_timestamps = true,
|
||||
.KHR_compute_shader_derivatives = true,
|
||||
.KHR_depth_clamp_zero_one = true,
|
||||
.KHR_fragment_shading_rate = true,
|
||||
.KHR_pipeline_library = true,
|
||||
.KHR_shader_clock = true,
|
||||
.KHR_workgroup_memory_explicit_layout = true,
|
||||
|
||||
/* EXT */
|
||||
.EXT_attachment_feedback_loop_layout = true,
|
||||
@@ -1208,6 +1220,7 @@ vn_physical_device_get_passthrough_extensions(
|
||||
|
||||
/* vendor */
|
||||
.ARM_rasterization_order_attachment_access = true,
|
||||
.NV_compute_shader_derivatives = true,
|
||||
.VALVE_mutable_descriptor_type = true,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user