From 237ab5db86bec27635738c96ebc525178b4d4933 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 5 Feb 2024 17:17:42 +0100 Subject: [PATCH] radv: remove one indentation level in radv_fill_shader_info_ngg() Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_pipeline_graphics.c | 90 ++++++++++++------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/src/amd/vulkan/radv_pipeline_graphics.c b/src/amd/vulkan/radv_pipeline_graphics.c index be2a6c93be9..1b3b7f67baf 100644 --- a/src/amd/vulkan/radv_pipeline_graphics.c +++ b/src/amd/vulkan/radv_pipeline_graphics.c @@ -1990,54 +1990,54 @@ static void radv_fill_shader_info_ngg(struct radv_device *device, struct radv_shader_stage *stages, VkShaderStageFlagBits active_nir_stages) { - if (device->cache_key.use_ngg) { - if (stages[MESA_SHADER_TESS_CTRL].nir) { - stages[MESA_SHADER_TESS_EVAL].info.is_ngg = true; - } else if (stages[MESA_SHADER_VERTEX].nir) { - stages[MESA_SHADER_VERTEX].info.is_ngg = true; - } else if (stages[MESA_SHADER_MESH].nir) { - stages[MESA_SHADER_MESH].info.is_ngg = true; - } + if (!device->cache_key.use_ngg) + return; - if (device->physical_device->rad_info.gfx_level < GFX11 && stages[MESA_SHADER_TESS_CTRL].nir && - stages[MESA_SHADER_GEOMETRY].nir && - stages[MESA_SHADER_GEOMETRY].nir->info.gs.invocations * - stages[MESA_SHADER_GEOMETRY].nir->info.gs.vertices_out > - 256) { - /* Fallback to the legacy path if tessellation is - * enabled with extreme geometry because - * EN_MAX_VERT_OUT_PER_GS_INSTANCE doesn't work and it - * might hang. - */ + if (stages[MESA_SHADER_TESS_CTRL].nir) { + stages[MESA_SHADER_TESS_EVAL].info.is_ngg = true; + } else if (stages[MESA_SHADER_VERTEX].nir) { + stages[MESA_SHADER_VERTEX].info.is_ngg = true; + } else if (stages[MESA_SHADER_MESH].nir) { + stages[MESA_SHADER_MESH].info.is_ngg = true; + } + + if (device->physical_device->rad_info.gfx_level < GFX11 && stages[MESA_SHADER_TESS_CTRL].nir && + stages[MESA_SHADER_GEOMETRY].nir && + stages[MESA_SHADER_GEOMETRY].nir->info.gs.invocations * stages[MESA_SHADER_GEOMETRY].nir->info.gs.vertices_out > + 256) { + /* Fallback to the legacy path if tessellation is + * enabled with extreme geometry because + * EN_MAX_VERT_OUT_PER_GS_INSTANCE doesn't work and it + * might hang. + */ + stages[MESA_SHADER_TESS_EVAL].info.is_ngg = false; + } + + struct radv_shader_stage *last_vgt_stage = NULL; + radv_foreach_stage(i, active_nir_stages) + { + if (radv_is_last_vgt_stage(&stages[i])) { + last_vgt_stage = &stages[i]; + } + } + + bool uses_xfb = last_vgt_stage && last_vgt_stage->nir->xfb_info; + + if (!device->physical_device->use_ngg_streamout && uses_xfb) { + /* GFX11+ requires NGG. */ + assert(device->physical_device->rad_info.gfx_level < GFX11); + + if (stages[MESA_SHADER_TESS_CTRL].nir) stages[MESA_SHADER_TESS_EVAL].info.is_ngg = false; - } + else + stages[MESA_SHADER_VERTEX].info.is_ngg = false; + } - struct radv_shader_stage *last_vgt_stage = NULL; - radv_foreach_stage(i, active_nir_stages) - { - if (radv_is_last_vgt_stage(&stages[i])) { - last_vgt_stage = &stages[i]; - } - } - - bool uses_xfb = last_vgt_stage && last_vgt_stage->nir->xfb_info; - - if (!device->physical_device->use_ngg_streamout && uses_xfb) { - /* GFX11+ requires NGG. */ - assert(device->physical_device->rad_info.gfx_level < GFX11); - - if (stages[MESA_SHADER_TESS_CTRL].nir) - stages[MESA_SHADER_TESS_EVAL].info.is_ngg = false; - 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; } }