nir: Bail on clip/cull distance lowering if GLSL IR already did it.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 23 Jan 2019 10:36:44 +0000 (02:36 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 5 Feb 2019 21:58:46 +0000 (13:58 -0800)
commit5730364d695b706c99c0d3fe6379cbeac61d79f1
treeff9b65f2733fb3857a657ea822e095aef435a412
parentef99f4c8d176f4e854e12afa1545fa53f651d758
nir: Bail on clip/cull distance lowering if GLSL IR already did it.

We have a GLSL IR pass to convert clip/cull distance float[] arrays
into vec4[2] arrays.  In ff281e6204, we attempted to skip this pass
if the GLSL IR lowering had already run.  But, that code was not quite
right, as we forgot to strip away the per-vertex IO array layer for
geometry and tessellation shader varyings.

If the GLSL IR pass has run, the variables will not be marked as
"compact".  So we can simply check that and bail.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/compiler/nir/nir_lower_clip_cull_distance_arrays.c