Mesa (12.0): radeonsi: fix gl_PatchVerticesIn for tessellation evaluation shader

Emil Velikov evelikov at kemper.freedesktop.org
Fri Dec 2 19:58:34 UTC 2016


Module: Mesa
Branch: 12.0
Commit: 29bac28a0402f509bf7c2d2284d87d107892a4e3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=29bac28a0402f509bf7c2d2284d87d107892a4e3

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Aug 20 01:42:09 2016 +0200

radeonsi: fix gl_PatchVerticesIn for tessellation evaluation shader

This fixes:
GL45-CTS.tessellation_shader.tessellation_control_to_tessellation_evaluation
.gl_PatchVerticesIn

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit 03708deed2aa002f78dff0bd9eb6385fe464a44e)

---

 src/gallium/drivers/radeonsi/si_shader.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 5ead940..1034944 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -1667,7 +1667,12 @@ static void declare_system_value(
 	}
 
 	case TGSI_SEMANTIC_VERTICESIN:
-		value = unpack_param(ctx, SI_PARAM_TCS_OUT_LAYOUT, 26, 6);
+		if (ctx->type == PIPE_SHADER_TESS_CTRL)
+			value = unpack_param(ctx, SI_PARAM_TCS_OUT_LAYOUT, 26, 6);
+		else if (ctx->type == PIPE_SHADER_TESS_EVAL)
+			value = unpack_param(ctx, SI_PARAM_TCS_OFFCHIP_LAYOUT, 9, 7);
+		else
+			assert(!"invalid shader stage for TGSI_SEMANTIC_VERTICESIN");
 		break;
 
 	case TGSI_SEMANTIC_TESSINNER:




More information about the mesa-commit mailing list