From: Samuel Pitoiset Date: Thu, 31 Oct 2019 10:16:24 +0000 (+0100) Subject: radv: rely on shader's wavesize when computing NGG info X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=da6c30f9f606541e37dbee11d048732ae2335e6a;p=mesa.git radv: rely on shader's wavesize when computing NGG info Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index b239f024cbe..533e8c4b0fe 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -1779,9 +1779,18 @@ gfx10_get_ngg_info(const struct radv_pipeline_key *key, /* Round up towards full wave sizes for better ALU utilization. */ if (!max_vert_out_per_gs_instance) { - const unsigned wavesize = pipeline->device->physical_device->ge_wave_size; unsigned orig_max_esverts; unsigned orig_max_gsprims; + unsigned wavesize; + + if (gs_type == MESA_SHADER_GEOMETRY) { + wavesize = gs_info->wave_size; + } else { + wavesize = nir[MESA_SHADER_TESS_CTRL] + ? infos[MESA_SHADER_TESS_EVAL].wave_size + : infos[MESA_SHADER_VERTEX].wave_size; + } + do { orig_max_esverts = max_esverts; orig_max_gsprims = max_gsprims;