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@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11893>
This commit is contained in:
Iván Briano 2021-07-14 14:37:40 -07:00 committed by Marge Bot
parent 19c8283729
commit f40a08d25c
1 changed files with 9 additions and 1 deletions

View File

@ -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 |