radv: rely on shader's wavesize when computing NGG info

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Samuel Pitoiset
2019-10-31 11:16:24 +01:00
parent d3f9957de4
commit da6c30f9f6

View File

@@ -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;