nir/spirv: Add better location handling
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 18 Sep 2015 02:54:18 +0000 (19:54 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 18 Sep 2015 03:02:46 +0000 (20:02 -0700)
commit616db92b01deb93674dff24eceb254ef780fbae5
tree83508a5945881d9525f6cfb575bb612d604428dc
parent612b13aeae99feac2d6c4da05a013ec77c048bc6
nir/spirv: Add better location handling

Previously, our location handling was focussed on either no location
(usually implicit 0) or a builting.  Unfortunately, if you gave it a
location, it would blow it away and just not care.  This worked fine with
crucible and our meta shaders but didn't work with the CTS.  The new code
uses the "data.explicit_location" field to denote that it has a "final"
location (usually from a builtin) and, otherwise, the location is
considered to be relative to the base for that shader stage.
src/glsl/nir/spirv_to_nir.c