aboutsummaryrefslogtreecommitdiffstats
path: root/src/freedreno
diff options
context:
space:
mode:
authorKristian H. Kristensen <[email protected]>2019-10-22 19:44:42 -0700
committerKristian H. Kristensen <[email protected]>2019-11-07 16:40:27 -0800
commit7272e8a70965d679d4545dffbc8099d99431f80b (patch)
tree361482e16313edda25026a44a368c46657396004 /src/freedreno
parent8739ea3ab5db36e0ca1bcba63616f86ba7cf881e (diff)
freedreno/ir3: Allocate const space for tessellation parameters
The tessellation stages need size and stride or the patch layout as well as locations of attributes in the patch. The tesselation stages also use two system memory BOs and need the iovas of those. Signed-off-by: Kristian H. Kristensen <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/freedreno')
-rw-r--r--src/freedreno/ir3/ir3_nir.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/freedreno/ir3/ir3_nir.c b/src/freedreno/ir3/ir3_nir.c
index fc90fbe3868..afcd87a16b9 100644
--- a/src/freedreno/ir3/ir3_nir.c
+++ b/src/freedreno/ir3/ir3_nir.c
@@ -460,6 +460,13 @@ ir3_setup_const_state(struct ir3_shader *shader, nir_shader *nir)
const_state->offsets.primitive_param = constoff;
constoff += 1;
break;
+ case MESA_SHADER_TESS_CTRL:
+ case MESA_SHADER_TESS_EVAL:
+ constoff = align(constoff - 1, 4) + 3;
+ const_state->offsets.primitive_param = constoff;
+ const_state->offsets.primitive_map = constoff + 5;
+ constoff += 5 + DIV_ROUND_UP(nir->num_inputs, 4);
+ break;
case MESA_SHADER_GEOMETRY:
const_state->offsets.primitive_param = constoff;
const_state->offsets.primitive_map = constoff + 1;