[Mesa-dev] SSO fixes V3

2015-11-25 Thread Timothy Arceri
V3:
- Fixed explicit location optimisation (Patch 1)
- Added fix for assigning varyings to the same location when
 using arrays (Patch 6)
- Pushed some clean-up patches reviewed in v2

V2: I've dropped most of my fix from V1 and instead included the fixes
from Gregory which I have cleaned up slightly. I've also added a
patch to remove inactive varyings with an explicit location.

The removal of inactive varyings with an explicit location results
in no changes in the public shader-db although its unlikely many if any
shaders in there make use of SSO.

I also ran the series on Intels CI system with no regressions.

The series fixes the following piglit tests:

piglit.spec.arb_separate_shader_objects.rendezvous by name
piglit.spec.arb_separate_shader_objects.rendezvous by name with multiple 
interpolation qualifier
http://patchwork.freedesktop.org/patch/66094/

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


[Mesa-dev] SSO fixes V2

2015-11-21 Thread Timothy Arceri
V2: I've dropped most of my fix from V1 and instead included the fixes
from Gregory which I have cleaned up slightly. I've also added a
patch to remove inactive varyings with an explicit location.

The removal of inactive varyings with an explicit location results
in no changes in the public shader-db although its unlikely many if any 
shaders in there make use of SSO.

I also ran the series on Intels CI system with no regressions.

The series fixes the following piglit tests:
http://patchwork.freedesktop.org/patch/63564/
http://patchwork.freedesktop.org/patch/63565/ 

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


[Mesa-dev] SSO fixes

2015-11-19 Thread Timothy Arceri
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