diff options
author | Marek Olšák <[email protected]> | 2016-08-20 01:42:09 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2016-09-05 18:01:15 +0200 |
commit | 03708deed2aa002f78dff0bd9eb6385fe464a44e (patch) | |
tree | 68c5a5e40e8944703f714dcece9d916563ce7437 /src | |
parent | a4fa21505883ec9eef905079a5160d07ffc67ae7 (diff) |
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 <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_shader.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index d19111c455b..42fed7dc029 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -1730,7 +1730,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: |