Before implementing ARB_enhanced_layouts it makes sense to fix up some bugs in 
SSO first.

This is the first of two fixes I intend to send, the other fix will be for 
shaders with mixed explicit and non explicit locations for inputs and outputs.

This series fixes glsl bugs where inputs and outputs of SSOs 
are dead code eliminated when they shouldn't be.

I ran this series on Intel CI system with no regressions.

I haven't got any piglit tests for this yet but this fixes the bug and apitrace 
mentioned in patch 3 where a vertex shader input was being optimised away.

From the GL 4.5 spec Chapter 7.4.1

"With separable program objects, interfaces between shader stages may involve
the outputs from one program object and the inputs from a second program object.
For such interfaces, it is not possible to detect mismatches at link time, 
because the programs are linked separately.

When each such program is linked, all inputs or outputs interfacing with 
another program stage are treated as active.

 The linker will generate an executable that assumes the presence of a 
compatible program on the other side of the interface. If a mismatch between 
programs occurs, no GL error is generated, but some or all of the inputs on the 
interface will be undefined."


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to