From 1fe408e82fce04d8e2c86d5fd7321a4ca6afc8a8 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Tue, 25 Oct 2022 17:42:12 +0200 Subject: [PATCH] r600/sfn: evaluate LDS location for color and clip-vertex too This is required to support compatibility contexts Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6926 Fixes: 3340c7ce359252ad09b3e4d338837944482fb248 r600/sfn: lower CLIPVERTEX to clip planes Signed-off-by: Gert Wollny Part-of: --- .../drivers/r600/sfn/sfn_nir_lower_tess_io.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/sfn/sfn_nir_lower_tess_io.cpp b/src/gallium/drivers/r600/sfn/sfn_nir_lower_tess_io.cpp index cfcd0600fe2..c89d3a21b5c 100644 --- a/src/gallium/drivers/r600/sfn/sfn_nir_lower_tess_io.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_nir_lower_tess_io.cpp @@ -74,6 +74,16 @@ static int get_tcs_varying_offset(nir_intrinsic_instr *op) return 0x20; case VARYING_SLOT_CLIP_DIST1: return 0x30; + case VARYING_SLOT_COL0: + return 0x40; + case VARYING_SLOT_COL1: + return 0x50; + case VARYING_SLOT_BFC0: + return 0x60; + case VARYING_SLOT_BFC1: + return 0x70; + case VARYING_SLOT_CLIP_VERTEX: + return 0x80; case VARYING_SLOT_TESS_LEVEL_OUTER: return 0; case VARYING_SLOT_TESS_LEVEL_INNER: @@ -81,7 +91,7 @@ static int get_tcs_varying_offset(nir_intrinsic_instr *op) default: if (location >= VARYING_SLOT_VAR0 && location <= VARYING_SLOT_VAR31) - return 0x10 * (location - VARYING_SLOT_VAR0) + 0x40; + return 0x10 * (location - VARYING_SLOT_VAR0) + 0x90; if (location >= VARYING_SLOT_PATCH0) { return 0x10 * (location - VARYING_SLOT_PATCH0) + 0x20;