iris: Fix uses of gl_TessLevel*
authorCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Wed, 19 Sep 2018 17:17:23 +0000 (10:17 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:08 +0000 (10:26 -0800)
The backend compiler expects the gl_TessLevel* variables to be mapped
as inputs instead of system values.  Use the new PIPE_CAP to get this
behavior from GLSL compiler.

Tested with:
tests/spec/arb_tessellation_shader/execution/vs-tcs-tes-tessinner-tessouter-inputs-quads.shader_test

src/gallium/drivers/iris/iris_screen.c

index 8d124d739f8a2e7ce36b3b80961c6ca55d456f94..29a31c914107ebaaceb408f48db06b9dde2f3c30 100644 (file)
@@ -163,6 +163,7 @@ iris_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION:
    case PIPE_CAP_TEXTURE_GATHER_SM5:
    case PIPE_CAP_TGSI_ARRAY_COMPONENTS:
+   case PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS:
       return true;
 
    case PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS: