Mesa (main): anv: Don't advertise unsupported shader stages

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jul 15 16:51:53 UTC 2021


Module: Mesa
Branch: main
Commit: f40a08d25c91256cd3dff0211b8e10d5bbb3734e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f40a08d25c91256cd3dff0211b8e10d5bbb3734e

Author: Iván Briano <ivan.briano at intel.com>
Date:   Wed Jul 14 14:37:40 2021 -0700

anv: Don't advertise unsupported shader stages

We don't currently support mesh or ray tracing, so don't advertise their
shader stages as supported for subgroups.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11893>

---

 src/intel/vulkan/anv_device.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 55541fe936c..7aabda8fd85 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -2057,10 +2057,18 @@ anv_get_physical_device_properties_1_1(struct anv_physical_device *pdevice,
 
    p->subgroupSize = BRW_SUBGROUP_SIZE;
    VkShaderStageFlags scalar_stages = 0;
-   for (unsigned stage = 0; stage < MESA_VULKAN_SHADER_STAGES; stage++) {
+   for (unsigned stage = 0; stage < MESA_SHADER_STAGES; stage++) {
       if (pdevice->compiler->scalar_stage[stage])
          scalar_stages |= mesa_to_vk_shader_stage(stage);
    }
+   if (pdevice->vk.supported_extensions.KHR_ray_tracing_pipeline) {
+      scalar_stages |= MESA_SHADER_RAYGEN |
+                       MESA_SHADER_ANY_HIT |
+                       MESA_SHADER_CLOSEST_HIT |
+                       MESA_SHADER_MISS |
+                       MESA_SHADER_INTERSECTION |
+                       MESA_SHADER_CALLABLE;
+   }
    p->subgroupSupportedStages = scalar_stages;
    p->subgroupSupportedOperations = VK_SUBGROUP_FEATURE_BASIC_BIT |
                                     VK_SUBGROUP_FEATURE_VOTE_BIT |



More information about the mesa-commit mailing list