From: Kristian H. Kristensen Date: Wed, 23 Oct 2019 02:44:42 +0000 (-0700) Subject: freedreno/ir3: Allocate const space for tessellation parameters X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7272e8a70965d679d4545dffbc8099d99431f80b;p=mesa.git 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 Acked-by: Eric Anholt Reviewed-by: Rob Clark --- 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;