aboutsummaryrefslogtreecommitdiffstats
path: root/src/freedreno
diff options
context:
space:
mode:
authorBrian Ho <[email protected]>2020-06-18 12:17:31 -0400
committerMarge Bot <[email protected]>2020-06-22 14:35:46 +0000
commit497671be35f7bd1b033ae98aa58c98c2e63b95ee (patch)
tree109f0e742b885f787bfa27500f948ec2b4f7f10b /src/freedreno
parent7a836ec6319630a3b5dfbb7101b839c4804a092c (diff)
ir3: Unconditionally enable MERGEDREGS on a6xx
As per discussion on !5059, we don't see any particular reason as to why MERGEDREGS should be disabled on HS/DS/GS, and none of the dEQP tests (both VK and GL) fail when MERGEDREGS is enabled. In fact, some of the VK dEQP tests fail when MERGEDREGS is disabled (e.g. tests with shaders that employ a0.x). As a result, let's just enable MERGEDREGS unconditionally on a6xx. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059>
Diffstat (limited to 'src/freedreno')
-rw-r--r--src/freedreno/ir3/ir3_shader.c21
1 files changed, 1 insertions, 20 deletions
diff --git a/src/freedreno/ir3/ir3_shader.c b/src/freedreno/ir3/ir3_shader.c
index bb5dfa6343f..0fe51e9378a 100644
--- a/src/freedreno/ir3/ir3_shader.c
+++ b/src/freedreno/ir3/ir3_shader.c
@@ -184,26 +184,7 @@ create_variant(struct ir3_shader *shader, const struct ir3_shader_key *key,
v->nonbinning = nonbinning;
v->key = *key;
v->type = shader->type;
-
- if (shader->compiler->gpu_id >= 600) {
- switch (v->type) {
- case MESA_SHADER_TESS_CTRL:
- case MESA_SHADER_TESS_EVAL:
- v->mergedregs = false;
- break;
- case MESA_SHADER_VERTEX:
- case MESA_SHADER_GEOMETRY:
- /* For VS/GS, normally do mergedregs, but if there is tess
- * we need to not used MERGEDREGS
- */
- v->mergedregs = !key->tessellation;
- break;
- default:
- v->mergedregs = true;
- }
- } else {
- v->mergedregs = false;
- }
+ v->mergedregs = shader->compiler->gpu_id >= 600;
if (!v->binning_pass)
v->const_state = rzalloc_size(v, sizeof(*v->const_state));