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: 3340c7ce35
   r600/sfn: lower CLIPVERTEX to clip planes

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300>
(cherry picked from commit 1fe408e82f)
This commit is contained in:
Gert Wollny
2022-10-25 17:42:12 +02:00
committed by Dylan Baker
parent 564410045d
commit 8cf878c4d0
2 changed files with 12 additions and 2 deletions

View File

@@ -292,7 +292,7 @@
"description": "r600/sfn: evaluate LDS location for color and clip-vertex too",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "3340c7ce359252ad09b3e4d338837944482fb248"
},

View File

@@ -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;