[Mesa-dev] SSO fixes
Timothy Arceri
t_arceri at yahoo.com.au
Thu Nov 19 02:48:17 PST 2015
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."
More information about the mesa-dev
mailing list