i965/nir: lower TES PatchVerticesIn to a constant when a TCS is present
authorIago Toral Quiroga <itoral@igalia.com>
Tue, 9 Jan 2018 10:14:01 +0000 (11:14 +0100)
committerIago Toral Quiroga <itoral@igalia.com>
Wed, 10 Jan 2018 07:21:02 +0000 (08:21 +0100)
commit9ef5b3d5175d72377aba95c23ec5cc64be31c1ad
tree8be6dbb61a8e05e787466c8a7b7378ed41c37eef
parent7e5c81235ff774ab463596222eac0e8141a90d1a
i965/nir: lower TES PatchVerticesIn to a constant when a TCS is present

When a TCS is present at link time we know the number of vertices in the
patch and we can lower gl_PatchVerticesIn in the TesEval stage directly
to a constant. We already have a pass for this that we use in the
Vulkan pipeline, so we just reuse that.

Notice that the GLSL linker also implements this optimization, which
we are not removing because other drivers may still depend on it, so
this should only be useful for OpenGL SPIR-V shaders for now.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_program.c