GLSL: Fix bug setting component=0 for an auto-location assignment.

Setting component=0 is later taken to mean the shader did so, which
is not always legal. It should instead set the component as not set
by the shader.
This commit is contained in:
John Kessenich
2017-06-04 13:17:20 -06:00
parent 8de7e7bf14
commit 94c18a84cd
7 changed files with 21 additions and 22 deletions

View File

@@ -1,6 +1,6 @@
450.frag
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:62: 'location' : cannot use in a block array where new locations are needed for each block element
ERROR: 0:63: 'location' : cannot use in a block array where new locations are needed for each block element
ERROR: 1 compilation errors. No code generated.
@@ -163,8 +163,8 @@ ERROR: node is still EOpNull!
0:? 'us2dmsa' ( uniform usampler2DMSArray)
0:? 'ii2dms' (layout( rgba32i) uniform iimage2DMS)
0:? 'i2dmsa' (layout( rgba32f) uniform image2DMSArray)
0:? 'bInst1' ( in block{layout( location=6 component=0) in float f, layout( location=7) in float g})
0:? 'bInst2' ( in 3-element array of block{layout( location=8 component=0) in float f, layout( location=9) in float g})
0:? 'bInst1' ( in block{layout( location=6) in float f, layout( location=7) in float g, layout( location=8) in 4X4 matrix of float m})
0:? 'bInst2' ( in 3-element array of block{layout( location=12) in float f, layout( location=13) in float g})
Linked fragment stage:
@@ -278,6 +278,6 @@ ERROR: node is still EOpNull!
0:? 'us2dmsa' ( uniform usampler2DMSArray)
0:? 'ii2dms' (layout( rgba32i) uniform iimage2DMS)
0:? 'i2dmsa' (layout( rgba32f) uniform image2DMSArray)
0:? 'bInst1' ( in block{layout( location=6 component=0) in float f, layout( location=7) in float g})
0:? 'bInst2' ( in 3-element array of block{layout( location=8 component=0) in float f, layout( location=9) in float g})
0:? 'bInst1' ( in block{layout( location=6) in float f, layout( location=7) in float g, layout( location=8) in 4X4 matrix of float m})
0:? 'bInst2' ( in 3-element array of block{layout( location=12) in float f, layout( location=13) in float g})