glsl: mark explicit uniforms as explicit in other stages too
authorTapani Pälli <tapani.palli@intel.com>
Thu, 14 Jan 2016 12:10:59 +0000 (14:10 +0200)
committerTapani Pälli <tapani.palli@intel.com>
Fri, 15 Jan 2016 05:12:42 +0000 (07:12 +0200)
commitcf96bce0ca8b2d6b5d4641efea1f2feedc024957
tree09c0a3cac3d5d9cf9b655491ace8fc8bcbf0efff
parent0556b87de4302195402ade43f400e859d9bfad0e
glsl: mark explicit uniforms as explicit in other stages too

If shader declares uniform explicit location in one stage but
implicit in another, explicit location should be used. Patch marks
implicit uniforms as explicit if they were explicit in previous stage.
This makes sure that we don't treat them implicit later when assigning
locations.

Fixes following CTS test:
   ES31-CTS.explicit_uniform_location.uniform-loc-implicit-in-some-stages3

v2: move check to cross_validate_globals (Timothy)

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
src/glsl/linker.cpp