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