radv: simplify determining if NGG passthrough can be enabled

NGG can't be enabled with XFB, so this check is redundant now.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278>
This commit is contained in:
Samuel Pitoiset
2022-08-26 13:36:34 +02:00
committed by Marge Bot
parent dda00dd40b
commit 5082918d65
2 changed files with 2 additions and 16 deletions

View File

@@ -2791,19 +2791,6 @@ radv_fill_shader_info_ngg(struct radv_pipeline *pipeline,
else
stages[MESA_SHADER_VERTEX].info.is_ngg = false;
}
/* Determine if the pipeline is eligible for the NGG passthrough
* mode. It can't be enabled for geometry shaders, for NGG
* streamout or for vertex shaders that export the primitive ID
* (this is checked later because we don't have the info here.)
*/
if (!stages[MESA_SHADER_GEOMETRY].nir && !uses_xfb) {
if (stages[MESA_SHADER_TESS_CTRL].nir && stages[MESA_SHADER_TESS_EVAL].info.is_ngg) {
stages[MESA_SHADER_TESS_EVAL].info.is_ngg_passthrough = true;
} else if (stages[MESA_SHADER_VERTEX].nir && stages[MESA_SHADER_VERTEX].info.is_ngg) {
stages[MESA_SHADER_VERTEX].info.is_ngg_passthrough = true;
}
}
}
}

View File

@@ -1215,9 +1215,8 @@ radv_determine_ngg_settings(struct radv_device *device, struct radv_pipeline_sta
/* NGG passthrough mode should be disabled when culling and when the vertex shader
* exports the primitive ID.
*/
es_stage->info.is_ngg_passthrough = es_stage->info.is_ngg_passthrough &&
!es_stage->info.has_ngg_culling && !(es_stage->stage == MESA_SHADER_VERTEX &&
es_stage->info.outinfo.export_prim_id);
es_stage->info.is_ngg_passthrough = !es_stage->info.has_ngg_culling &&
!(es_stage->stage == MESA_SHADER_VERTEX && es_stage->info.outinfo.export_prim_id);
}
static void