diff options
author | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2016-04-12 20:28:46 +0200 |
---|---|---|
committer | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2016-05-26 22:07:04 +0200 |
commit | 43d7305a405c82e81c9b7b3cc4958169b13777bb (patch) | |
tree | 00f3205393b0ba9b9897b0e19c0a69869068f7e0 /src/gallium/drivers/radeonsi/si_state_draw.c | |
parent | f91c85b29b8261ab3f44d292ed2130d4f577d976 (diff) | |
download | external_mesa3d-43d7305a405c82e81c9b7b3cc4958169b13777bb.zip external_mesa3d-43d7305a405c82e81c9b7b3cc4958169b13777bb.tar.gz external_mesa3d-43d7305a405c82e81c9b7b3cc4958169b13777bb.tar.bz2 |
radeonsi: Allow TES distribution between shader engines.
The R_028B50_VGT_TESS_DISTRIBUTION value is copied from
amdgpu-pro. Smaller values in the ACCUM fields seem to
decrease the performance advantage from this patch, higher
values don't seem to matter.
v2: Add distribution mode field enums.
Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state_draw.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state_draw.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c index c8b87a9..788869e 100644 --- a/src/gallium/drivers/radeonsi/si_state_draw.c +++ b/src/gallium/drivers/radeonsi/si_state_draw.c @@ -279,6 +279,14 @@ static unsigned si_get_ia_multi_vgt_param(struct si_context *sctx, sctx->b.family == CHIP_BONAIRE) && sctx->gs_shader.cso) partial_vs_wave = true; + + /* Needed for 028B6C_DISTRIBUTION_MODE != 0 */ + if (sctx->b.chip_class >= VI) { + if (sctx->gs_shader.cso) + partial_es_wave = true; + else + partial_vs_wave = true; + } } /* This is a hardware requirement. */ |