radv: always set GS as NGG if present on GFX11

GFX11 is full NGG.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27470>
This commit is contained in:
Samuel Pitoiset
2024-02-05 17:26:36 +01:00
committed by Marge Bot
parent 55093270ed
commit 31f006d352
+10 -7
View File
@@ -2001,7 +2001,10 @@ radv_fill_shader_info_ngg(struct radv_device *device, struct radv_shader_stage *
stages[MESA_SHADER_MESH].info.is_ngg = true;
}
if (device->physical_device->rad_info.gfx_level < GFX11) {
if (device->physical_device->rad_info.gfx_level >= GFX11) {
if (stages[MESA_SHADER_GEOMETRY].nir)
stages[MESA_SHADER_GEOMETRY].info.is_ngg = true;
} else {
/* GFX10/GFX10.3 can't always enable NGG due to HW bugs/limitations. */
if (stages[MESA_SHADER_TESS_CTRL].nir && stages[MESA_SHADER_GEOMETRY].nir &&
stages[MESA_SHADER_GEOMETRY].nir->info.gs.invocations *
@@ -2030,13 +2033,13 @@ radv_fill_shader_info_ngg(struct radv_device *device, struct radv_shader_stage *
else
stages[MESA_SHADER_VERTEX].info.is_ngg = false;
}
}
if (stages[MESA_SHADER_GEOMETRY].nir) {
if (stages[MESA_SHADER_TESS_CTRL].nir)
stages[MESA_SHADER_GEOMETRY].info.is_ngg = stages[MESA_SHADER_TESS_EVAL].info.is_ngg;
else
stages[MESA_SHADER_GEOMETRY].info.is_ngg = stages[MESA_SHADER_VERTEX].info.is_ngg;
if (stages[MESA_SHADER_GEOMETRY].nir) {
if (stages[MESA_SHADER_TESS_CTRL].nir)
stages[MESA_SHADER_GEOMETRY].info.is_ngg = stages[MESA_SHADER_TESS_EVAL].info.is_ngg;
else
stages[MESA_SHADER_GEOMETRY].info.is_ngg = stages[MESA_SHADER_VERTEX].info.is_ngg;
}
}
}