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:
@@ -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 |
|
||||
|
Reference in New Issue
Block a user