aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Kessenich <cepheus@frii.com>2016-11-05 10:15:53 -0600
committerJohn Kessenich <cepheus@frii.com>2016-11-05 10:22:33 -0600
commitd3f1122a4430563cd47f60060956e88dc559ba22 (patch)
tree7cc4682038b01464d0d4a09ac4f2984ae849a2f7
parente5e58cfee34dfd6126a770b4250c14ea9340a231 (diff)
downloadglslang-d3f1122a4430563cd47f60060956e88dc559ba22.tar.gz
Whole stack: Fix stale types in the AST linker object nodes, fixing #557.
Rationalizes the entire tracking of the linker object nodes, effecting GLSL, HLSL, and SPIR-V, to allow tracked objects to be fully edited before their type snapshot for linker objects. Should only effect things when the rest of the AST contained no reference to the symbol, because normal AST nodes were not stale. Also will only effect such objects when their types were edited.
-rw-r--r--Test/baseResults/100.frag.out16
-rw-r--r--Test/baseResults/120.vert.out2
-rw-r--r--Test/baseResults/130.frag.out6
-rw-r--r--Test/baseResults/140.frag.out2
-rw-r--r--Test/baseResults/140.vert.out6
-rw-r--r--Test/baseResults/150.frag.out2
-rw-r--r--Test/baseResults/300.vert.out12
-rw-r--r--Test/baseResults/310.frag.out2
-rw-r--r--Test/baseResults/400.frag.out4
-rw-r--r--Test/baseResults/420.frag.out2
-rwxr-xr-xTest/baseResults/hlsl.amend.frag.out4
-rw-r--r--Test/baseResults/hlsl.array.flatten.frag.out8
-rwxr-xr-xTest/baseResults/hlsl.array.frag.out4
-rw-r--r--Test/baseResults/hlsl.array.multidim.frag.out4
-rwxr-xr-xTest/baseResults/hlsl.basic.comp.out4
-rwxr-xr-xTest/baseResults/hlsl.buffer.frag.out8
-rw-r--r--Test/baseResults/hlsl.calculatelod.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.comparison.vec.frag.out5
-rwxr-xr-xTest/baseResults/hlsl.float4.frag.out4
-rw-r--r--Test/baseResults/hlsl.gather.array.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.gather.basic.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.gather.basic.dx10.vert.out4
-rw-r--r--Test/baseResults/hlsl.gather.offset.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.getdimensions.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.getdimensions.dx10.vert.out4
-rw-r--r--Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out20
-rw-r--r--Test/baseResults/hlsl.getsampleposition.dx10.frag.out8
-rwxr-xr-xTest/baseResults/hlsl.init.frag.out8
-rw-r--r--Test/baseResults/hlsl.intrinsics.comp.out24
-rw-r--r--Test/baseResults/hlsl.intrinsics.frag.out4
-rw-r--r--Test/baseResults/hlsl.intrinsics.negative.vert.out116
-rw-r--r--Test/baseResults/hlsl.load.2dms.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.load.array.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.load.basic.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.load.basic.dx10.vert.out8
-rw-r--r--Test/baseResults/hlsl.load.buffer.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.load.buffer.float.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.load.offset.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.load.offsetarray.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.load.rwtexture.dx10.frag.out12
-rw-r--r--Test/baseResults/hlsl.logical.binary.frag.out4
-rw-r--r--Test/baseResults/hlsl.logical.binary.vec.frag.out4
-rw-r--r--Test/baseResults/hlsl.logical.unary.frag.out4
-rwxr-xr-xTest/baseResults/hlsl.matType.frag.out20
-rw-r--r--Test/baseResults/hlsl.matrixindex.frag.out4
-rw-r--r--Test/baseResults/hlsl.mintypes.frag.out6
-rwxr-xr-xTest/baseResults/hlsl.multiEntry.vert.out4
-rw-r--r--Test/baseResults/hlsl.precise.frag.out4
-rw-r--r--Test/baseResults/hlsl.promote.binary.frag.out4
-rw-r--r--Test/baseResults/hlsl.promotions.frag.out4
-rw-r--r--Test/baseResults/hlsl.rw.atomics.frag.out8
-rw-r--r--Test/baseResults/hlsl.rw.bracket.frag.out8
-rw-r--r--Test/baseResults/hlsl.rw.scalar.bracket.frag.out8
-rw-r--r--Test/baseResults/hlsl.rw.vec2.bracket.frag.out8
-rw-r--r--Test/baseResults/hlsl.sample.array.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.sample.basic.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.sample.offset.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out4
-rw-r--r--Test/baseResults/hlsl.samplebias.array.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplebias.basic.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplebias.offset.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplecmp.array.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplegrad.array.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out4
-rw-r--r--Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplelevel.array.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out4
-rw-r--r--Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out8
-rw-r--r--Test/baseResults/hlsl.stringtoken.frag.out9
-rwxr-xr-xTest/baseResults/hlsl.struct.frag.out116
-rw-r--r--Test/baseResults/hlsl.tx.bracket.frag.out8
-rw-r--r--Test/baseResults/maxClipDistances.vert.out2
-rw-r--r--Test/baseResults/specExamples.frag.out6
-rw-r--r--Test/baseResults/specExamples.vert.out6
-rwxr-xr-xTest/baseResults/spv.noWorkgroup.comp.out34
-rw-r--r--Test/baseResults/varyingArray.frag.out2
-rw-r--r--Test/baseResults/varyingArrayIndirect.frag.out2
-rw-r--r--Test/spv.noWorkgroup.comp7
-rw-r--r--glslang/MachineIndependent/ParseContextBase.cpp41
-rw-r--r--glslang/MachineIndependent/ParseHelper.cpp60
-rw-r--r--glslang/MachineIndependent/ParseHelper.h28
-rw-r--r--glslang/MachineIndependent/ShaderLang.cpp1
-rw-r--r--glslang/MachineIndependent/localintermediate.h2
-rw-r--r--gtests/Spv.FromFile.cpp1
-rwxr-xr-xhlsl/hlslParseHelper.cpp54
-rwxr-xr-xhlsl/hlslParseHelper.h6
107 files changed, 630 insertions, 560 deletions
diff --git a/Test/baseResults/100.frag.out b/Test/baseResults/100.frag.out
index edd65ab2..74a597ff 100644
--- a/Test/baseResults/100.frag.out
+++ b/Test/baseResults/100.frag.out
@@ -393,13 +393,13 @@ ERROR: node is still EOpNull!
0:? 'a' (global 3-element array of mediump int)
0:? 'uint' (global mediump int)
0:? 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:? 'f' (global mediump float)
+0:? 'f' (invariant global mediump float)
0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})
0:? 'fa' (global implicitly-sized array of mediump float)
-0:? 'f13' (global mediump float)
+0:? 'f13' (invariant global mediump float)
0:? 'fi' (invariant temp mediump float)
-0:? 'av' (smooth in mediump 4-component vector of float)
-0:? 'uv2' (uniform mediump 2-component vector of float)
+0:? 'av' (invariant smooth in mediump 4-component vector of float)
+0:? 'uv2' (invariant uniform mediump 2-component vector of float)
0:? 'uv3' (invariant uniform mediump 3-component vector of float)
0:? 'glob2D' (global lowp sampler2D)
0:? 'vary2D' (smooth in lowp sampler2D)
@@ -731,13 +731,13 @@ ERROR: node is still EOpNull!
0:? 'a' (global 3-element array of mediump int)
0:? 'uint' (global mediump int)
0:? 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:? 'f' (global mediump float)
+0:? 'f' (invariant global mediump float)
0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})
0:? 'fa' (global 1-element array of mediump float)
-0:? 'f13' (global mediump float)
+0:? 'f13' (invariant global mediump float)
0:? 'fi' (invariant temp mediump float)
-0:? 'av' (smooth in mediump 4-component vector of float)
-0:? 'uv2' (uniform mediump 2-component vector of float)
+0:? 'av' (invariant smooth in mediump 4-component vector of float)
+0:? 'uv2' (invariant uniform mediump 2-component vector of float)
0:? 'uv3' (invariant uniform mediump 3-component vector of float)
0:? 'glob2D' (global lowp sampler2D)
0:? 'vary2D' (smooth in lowp sampler2D)
diff --git a/Test/baseResults/120.vert.out b/Test/baseResults/120.vert.out
index 73ced6a1..18fb221d 100644
--- a/Test/baseResults/120.vert.out
+++ b/Test/baseResults/120.vert.out
@@ -420,7 +420,6 @@ ERROR: node is still EOpNull!
0:? 'concall' (const float)
0:? 0.295520
0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
-0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
0:? 'c' (uniform int)
0:? 'x' (in 2-component vector of int)
0:? 'v2a' (in 2-component vector of float)
@@ -772,7 +771,6 @@ ERROR: node is still EOpNull!
0:? 'concall' (const float)
0:? 0.295520
0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
-0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
0:? 'c' (uniform int)
0:? 'x' (in 2-component vector of int)
0:? 'v2a' (in 2-component vector of float)
diff --git a/Test/baseResults/130.frag.out b/Test/baseResults/130.frag.out
index b2b4dd06..a28908ea 100644
--- a/Test/baseResults/130.frag.out
+++ b/Test/baseResults/130.frag.out
@@ -383,8 +383,7 @@ ERROR: node is still EOpNull!
0:? 'fnop' (noperspective in float)
0:? 'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance)
0:? 'sampC' (uniform samplerCube)
-0:? 'gl_Color' (smooth in 4-component vector of float Color)
-0:? 'gl_Color' (flat in 4-component vector of float Color)
+0:? 'gl_Color' (in 4-component vector of float Color)
0:? 'samp2D' (uniform sampler2D)
0:? 'samp2DS' (uniform sampler2DShadow)
0:? 'samp2DR' (uniform sampler2DRect)
@@ -759,8 +758,7 @@ ERROR: node is still EOpNull!
0:? 'fnop' (noperspective in float)
0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
0:? 'sampC' (uniform samplerCube)
-0:? 'gl_Color' (smooth in 4-component vector of float Color)
-0:? 'gl_Color' (flat in 4-component vector of float Color)
+0:? 'gl_Color' (in 4-component vector of float Color)
0:? 'samp2D' (uniform sampler2D)
0:? 'samp2DS' (uniform sampler2DShadow)
0:? 'samp2DR' (uniform sampler2DRect)
diff --git a/Test/baseResults/140.frag.out b/Test/baseResults/140.frag.out
index fbeee83a..38c3b9f4 100644
--- a/Test/baseResults/140.frag.out
+++ b/Test/baseResults/140.frag.out
@@ -104,7 +104,6 @@ ERROR: node is still EOpNull!
0:? 'i' (smooth in 4-component vector of float)
0:? 'o' (out 4-component vector of float)
0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
-0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
0:? 's' (smooth in structure{global float f})
0:? 'patch' (global float)
0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float)
@@ -211,7 +210,6 @@ ERROR: node is still EOpNull!
0:? 'i' (smooth in 4-component vector of float)
0:? 'o' (out 4-component vector of float)
0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
-0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
0:? 's' (smooth in structure{global float f})
0:? 'patch' (global float)
0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float)
diff --git a/Test/baseResults/140.vert.out b/Test/baseResults/140.vert.out
index 634458cd..365a0aae 100644
--- a/Test/baseResults/140.vert.out
+++ b/Test/baseResults/140.vert.out
@@ -124,11 +124,8 @@ ERROR: node is still EOpNull!
0:? 'locBad' (layout(location=9 ) in 4-component vector of float)
0:? 'loc' (layout(location=9 ) in 4-component vector of float)
0:? 'gl_PointSize' (gl_PointSize float PointSize)
-0:? 'gl_PointSize' (gl_PointSize float PointSize)
-0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
-0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
0:? 's2dr' (uniform sampler2DRect)
0:? 's2drs' (uniform sampler2DRectShadow)
0:? 'itloc2' (in 2-component vector of int)
@@ -254,11 +251,8 @@ ERROR: node is still EOpNull!
0:? 'locBad' (layout(location=9 ) in 4-component vector of float)
0:? 'loc' (layout(location=9 ) in 4-component vector of float)
0:? 'gl_PointSize' (gl_PointSize float PointSize)
-0:? 'gl_PointSize' (gl_PointSize float PointSize)
-0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
-0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
0:? 's2dr' (uniform sampler2DRect)
0:? 's2drs' (uniform sampler2DRectShadow)
0:? 'itloc2' (in 2-component vector of int)
diff --git a/Test/baseResults/150.frag.out b/Test/baseResults/150.frag.out
index 082a8274..0972fdcd 100644
--- a/Test/baseResults/150.frag.out
+++ b/Test/baseResults/150.frag.out
@@ -108,7 +108,6 @@ ERROR: node is still EOpNull!
0:49 'gl_PrimitiveID' (flat in int PrimitiveID)
0:? Linker Objects
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'foo' (smooth in 4-component vector of float)
0:? 's' (smooth in structure{global float f})
0:? 'patch' (global float)
@@ -228,7 +227,6 @@ ERROR: node is still EOpNull!
0:49 'gl_PrimitiveID' (flat in int PrimitiveID)
0:? Linker Objects
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'foo' (smooth in 4-component vector of float)
0:? 's' (smooth in structure{global float f})
0:? 'patch' (global float)
diff --git a/Test/baseResults/300.vert.out b/Test/baseResults/300.vert.out
index ecfa3d50..d35929f7 100644
--- a/Test/baseResults/300.vert.out
+++ b/Test/baseResults/300.vert.out
@@ -308,9 +308,9 @@ ERROR: node is still EOpNull!
0:? 'badsize2' (global implicitly-sized array of highp float)
0:? 'ubInst' (layout(column_major shared ) uniform implicitly-sized array of block{layout(column_major shared ) uniform implicitly-sized array of highp int a})
0:? 'okayA' (global 2-element array of highp float)
-0:? 'newV' (smooth out highp 3-component vector of float)
-0:? 'invIn' (in highp 4-component vector of float)
-0:? 's2' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 'newV' (invariant smooth out highp 3-component vector of float)
+0:? 'invIn' (invariant in highp 4-component vector of float)
+0:? 's2' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})
0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})
@@ -592,9 +592,9 @@ ERROR: node is still EOpNull!
0:? 'badsize2' (global 1-element array of highp float)
0:? 'ubInst' (layout(column_major shared ) uniform 1-element array of block{layout(column_major shared ) uniform 1-element array of highp int a})
0:? 'okayA' (global 2-element array of highp float)
-0:? 'newV' (smooth out highp 3-component vector of float)
-0:? 'invIn' (in highp 4-component vector of float)
-0:? 's2' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 'newV' (invariant smooth out highp 3-component vector of float)
+0:? 'invIn' (invariant in highp 4-component vector of float)
+0:? 's2' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})
0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})
diff --git a/Test/baseResults/310.frag.out b/Test/baseResults/310.frag.out
index 6cfd3f44..66d6ae00 100644
--- a/Test/baseResults/310.frag.out
+++ b/Test/baseResults/310.frag.out
@@ -963,7 +963,6 @@ ERROR: node is still EOpNull!
0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float)
0:? 'arrayedInst' (in 4-element array of block{in mediump float f})
0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
0:? 'inf' (smooth in mediump 2-component vector of float)
0:? 'ing' (smooth in mediump 2-component vector of float)
0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int)
@@ -1844,7 +1843,6 @@ ERROR: node is still EOpNull!
0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float)
0:? 'arrayedInst' (in 4-element array of block{in mediump float f})
0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
0:? 'inf' (smooth in mediump 2-component vector of float)
0:? 'ing' (smooth in mediump 2-component vector of float)
0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int)
diff --git a/Test/baseResults/400.frag.out b/Test/baseResults/400.frag.out
index 33a8c9ab..90904140 100644
--- a/Test/baseResults/400.frag.out
+++ b/Test/baseResults/400.frag.out
@@ -481,8 +481,6 @@ ERROR: node is still EOpNull!
0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float)
0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float)
0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'u2drs' (uniform sampler2DRectShadow)
0:? 'patchIn' (smooth patch in 4-component vector of float)
@@ -962,8 +960,6 @@ ERROR: node is still EOpNull!
0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float)
0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float)
0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'u2drs' (uniform sampler2DRectShadow)
0:? 'patchIn' (smooth patch in 4-component vector of float)
diff --git a/Test/baseResults/420.frag.out b/Test/baseResults/420.frag.out
index 784cdb4b..3b4c9be3 100644
--- a/Test/baseResults/420.frag.out
+++ b/Test/baseResults/420.frag.out
@@ -19,7 +19,6 @@ ERROR: node is still EOpNull!
0:8 0.300000
0:? Linker Objects
0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
0:? 'depth' (smooth in float)
0:? 'a' (layout(binding=0 offset=0 ) uniform implicitly-sized array of atomic_uint)
@@ -39,7 +38,6 @@ ERROR: node is still EOpNull!
0:8 0.300000
0:? Linker Objects
0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
0:? 'depth' (smooth in float)
0:? 'a' (layout(binding=0 offset=0 ) uniform 1-element array of atomic_uint)
diff --git a/Test/baseResults/hlsl.amend.frag.out b/Test/baseResults/hlsl.amend.frag.out
index 1be59064..44d76552 100755
--- a/Test/baseResults/hlsl.amend.frag.out
+++ b/Test/baseResults/hlsl.amend.frag.out
@@ -58,7 +58,7 @@ gl_FragCoord origin is upper left
0:25 Constant:
0:25 0 (const uint)
0:? Linker Objects
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
Linked fragment stage:
@@ -123,7 +123,7 @@ gl_FragCoord origin is upper left
0:25 Constant:
0:25 0 (const uint)
0:? Linker Objects
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.array.flatten.frag.out b/Test/baseResults/hlsl.array.flatten.frag.out
index cbfb0ef9..74a348a2 100644
--- a/Test/baseResults/hlsl.array.flatten.frag.out
+++ b/Test/baseResults/hlsl.array.flatten.frag.out
@@ -138,6 +138,7 @@ gl_FragCoord origin is upper left
0:? 'g_samp[2]' (uniform sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:? Linker Objects
+0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tex[0]' (uniform texture1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_tex[2]' (uniform texture1D)
@@ -150,9 +151,8 @@ gl_FragCoord origin is upper left
0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler)
0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler)
0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
0:? 'not_flattened_a' (global 5-element array of int)
-0:? 'color' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage:
@@ -297,6 +297,7 @@ gl_FragCoord origin is upper left
0:? 'g_samp[2]' (uniform sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:? Linker Objects
+0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tex[0]' (uniform texture1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_tex[2]' (uniform texture1D)
@@ -309,9 +310,8 @@ gl_FragCoord origin is upper left
0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler)
0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler)
0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
0:? 'not_flattened_a' (global 5-element array of int)
-0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out
index 00aedb3d..e04a5e81 100755
--- a/Test/baseResults/hlsl.array.frag.out
+++ b/Test/baseResults/hlsl.array.frag.out
@@ -57,9 +57,9 @@ gl_FragCoord origin is upper left
0:10 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:? 'i' (layout(location=0 ) in int)
0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
Linked fragment stage:
@@ -123,9 +123,9 @@ gl_FragCoord origin is upper left
0:10 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:? 'i' (layout(location=0 ) in int)
0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.array.multidim.frag.out b/Test/baseResults/hlsl.array.multidim.frag.out
index a2df1a8d..66890b52 100644
--- a/Test/baseResults/hlsl.array.multidim.frag.out
+++ b/Test/baseResults/hlsl.array.multidim.frag.out
@@ -59,7 +59,7 @@ gl_FragCoord origin is upper left
0:19 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
Linked fragment stage:
@@ -125,7 +125,7 @@ gl_FragCoord origin is upper left
0:19 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.basic.comp.out b/Test/baseResults/hlsl.basic.comp.out
index c6dc3e5c..9101e22f 100755
--- a/Test/baseResults/hlsl.basic.comp.out
+++ b/Test/baseResults/hlsl.basic.comp.out
@@ -8,8 +8,8 @@ local_size = (1, 1, 1)
0:? Sequence
0:5 'dti' (in int LocalInvocationID)
0:? Linker Objects
-0:? 'a' (shared 100-element array of 4-component vector of float)
0:? 'dti' (in int LocalInvocationID)
+0:? 'a' (shared 100-element array of 4-component vector of float)
Linked compute stage:
@@ -24,8 +24,8 @@ local_size = (1, 1, 1)
0:? Sequence
0:5 'dti' (in int LocalInvocationID)
0:? Linker Objects
-0:? 'a' (shared 100-element array of 4-component vector of float)
0:? 'dti' (in int LocalInvocationID)
+0:? 'a' (shared 100-element array of 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.buffer.frag.out b/Test/baseResults/hlsl.buffer.frag.out
index 2eb1f9ce..dbb2b5e1 100755
--- a/Test/baseResults/hlsl.buffer.frag.out
+++ b/Test/baseResults/hlsl.buffer.frag.out
@@ -32,12 +32,12 @@ gl_FragCoord origin is upper left
0:31 0 (const uint)
0:31 Branch: Return
0:? Linker Objects
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
-0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'input' (layout(location=0 ) in 4-component vector of float)
Linked fragment stage:
@@ -76,12 +76,12 @@ gl_FragCoord origin is upper left
0:31 0 (const uint)
0:31 Branch: Return
0:? Linker Objects
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
-0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
index ff18441c..56a2ce86 100644
--- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
@@ -155,6 +155,8 @@ gl_FragCoord origin is upper left
0:43 1 (const int)
0:43 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -166,8 +168,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -329,6 +329,8 @@ gl_FragCoord origin is upper left
0:43 1 (const int)
0:43 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -340,8 +342,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
index ecd1f0d1..799dcc37 100644
--- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
@@ -167,6 +167,8 @@ ERROR: node is still EOpNull!
0:43 1 (const int)
0:43 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -178,8 +180,6 @@ ERROR: node is still EOpNull!
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -341,6 +341,8 @@ ERROR: node is still EOpNull!
0:43 1 (const int)
0:43 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -352,7 +354,5 @@ ERROR: node is still EOpNull!
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/hlsl.comparison.vec.frag.out b/Test/baseResults/hlsl.comparison.vec.frag.out
index 8a31f63f..1bf63ec8 100644
--- a/Test/baseResults/hlsl.comparison.vec.frag.out
+++ b/Test/baseResults/hlsl.comparison.vec.frag.out
@@ -122,8 +122,8 @@ gl_FragCoord origin is upper left
0:33 0 (const int)
0:33 Branch: Return
0:? Linker Objects
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float uf4})
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float uf4})
Linked fragment stage:
@@ -252,8 +252,8 @@ gl_FragCoord origin is upper left
0:33 0 (const int)
0:33 Branch: Return
0:? Linker Objects
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float uf4})
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float uf4})
// Module Version 10000
// Generated by (magic number): 80001
@@ -289,6 +289,7 @@ gl_FragCoord origin is upper left
MemberName 88($Global) 0 "uf4"
Name 90 ""
Decorate 84(Color) Location 0
+ MemberDecorate 88($Global) 0 Offset 0
Decorate 88($Global) Block
Decorate 90 DescriptorSet 0
2: TypeVoid
diff --git a/Test/baseResults/hlsl.float4.frag.out b/Test/baseResults/hlsl.float4.frag.out
index 6caac247..8d45d6eb 100755
--- a/Test/baseResults/hlsl.float4.frag.out
+++ b/Test/baseResults/hlsl.float4.frag.out
@@ -17,7 +17,7 @@ gl_FragCoord origin is upper left
0:10 Constant:
0:10 0 (const uint)
0:? Linker Objects
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4})
Linked fragment stage:
@@ -38,7 +38,7 @@ gl_FragCoord origin is upper left
0:10 Constant:
0:10 0 (const uint)
0:? Linker Objects
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out
index a09b87ce..15727d92 100644
--- a/Test/baseResults/hlsl.gather.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out
@@ -107,6 +107,8 @@ gl_FragCoord origin is upper left
0:42 1 (const int)
0:42 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -118,8 +120,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -233,6 +233,8 @@ gl_FragCoord origin is upper left
0:42 1 (const int)
0:42 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -244,8 +246,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
index 467ccf4c..26a5f38d 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
@@ -101,6 +101,8 @@ gl_FragCoord origin is upper left
0:47 1 (const int)
0:47 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -116,8 +118,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -225,6 +225,8 @@ gl_FragCoord origin is upper left
0:47 1 (const int)
0:47 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -240,8 +242,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
index d08a57e7..b7a4d6e4 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
@@ -87,6 +87,7 @@ Shader version: 450
0:45 0 (const int)
0:45 Branch: Return
0:? Linker Objects
+0:? 'Pos' (out 4-component vector of float Position)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -102,7 +103,6 @@ Shader version: 450
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Pos' (out 4-component vector of float Position)
Linked vertex stage:
@@ -196,6 +196,7 @@ Shader version: 450
0:45 0 (const int)
0:45 Branch: Return
0:? Linker Objects
+0:? 'Pos' (out 4-component vector of float Position)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -211,7 +212,6 @@ Shader version: 450
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Pos' (out 4-component vector of float Position)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
index ff7eb398..2feb0ee2 100644
--- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
@@ -77,6 +77,8 @@ gl_FragCoord origin is upper left
0:43 1 (const int)
0:43 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -91,8 +93,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -176,6 +176,8 @@ gl_FragCoord origin is upper left
0:43 1 (const int)
0:43 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -190,8 +192,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
index dc64a807..2dede7bb 100644
--- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
@@ -80,6 +80,8 @@ gl_FragCoord origin is upper left
0:35 1 (const int)
0:35 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -88,8 +90,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -176,6 +176,8 @@ gl_FragCoord origin is upper left
0:35 1 (const int)
0:35 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -184,8 +186,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
index 4e78cdaf..eb7cf836 100644
--- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
@@ -350,6 +350,8 @@ gl_FragCoord origin is upper left
0:70 1 (const int)
0:70 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray)
@@ -361,9 +363,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
Linked fragment stage:
@@ -720,6 +720,8 @@ gl_FragCoord origin is upper left
0:70 1 (const int)
0:70 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray)
@@ -731,9 +733,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
index ef1e7e05..b92874e8 100644
--- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
@@ -350,6 +350,8 @@ gl_FragCoord origin is upper left
0:76 1 (const int)
0:76 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -365,9 +367,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
Linked fragment stage:
@@ -724,6 +724,8 @@ gl_FragCoord origin is upper left
0:76 1 (const int)
0:76 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -739,9 +741,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
index f178c3b3..5da611cf 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
@@ -602,6 +602,8 @@ gl_FragCoord origin is upper left
0:115 1 (const int)
0:115 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -617,9 +619,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -1228,6 +1228,8 @@ gl_FragCoord origin is upper left
0:115 1 (const int)
0:115 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -1243,9 +1245,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
index f565379f..f472ee2d 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
@@ -602,6 +602,8 @@ gl_FragCoord origin is upper left
0:109 1 (const int)
0:109 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray)
@@ -613,9 +615,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -1224,6 +1224,8 @@ gl_FragCoord origin is upper left
0:109 1 (const int)
0:109 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray)
@@ -1235,9 +1237,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out
index 3a55d682..0c488cfb 100644
--- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out
@@ -1076,6 +1076,8 @@ gl_FragCoord origin is upper left
0:279 1 (const int)
0:279 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -1104,8 +1106,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -2188,6 +2188,8 @@ gl_FragCoord origin is upper left
0:279 1 (const int)
0:279 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -2216,8 +2218,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/Test/baseResults/hlsl.getdimensions.dx10.vert.out
index 3a05bca8..c1c90f4b 100644
--- a/Test/baseResults/hlsl.getdimensions.dx10.vert.out
+++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out
@@ -46,9 +46,9 @@ Shader version: 450
0:26 0 (const int)
0:26 Branch: Return
0:? Linker Objects
+0:? 'Pos' (out 4-component vector of float Position)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
-0:? 'Pos' (out 4-component vector of float Position)
Linked vertex stage:
@@ -101,9 +101,9 @@ Shader version: 450
0:26 0 (const int)
0:26 Branch: Return
0:? Linker Objects
+0:? 'Pos' (out 4-component vector of float Position)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
-0:? 'Pos' (out 4-component vector of float Position)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
index 717c376a..918246b6 100644
--- a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
@@ -326,6 +326,8 @@ gl_FragCoord origin is upper left
0:95 1 (const int)
0:95 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -345,9 +347,7 @@ gl_FragCoord origin is upper left
0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -680,6 +680,8 @@ gl_FragCoord origin is upper left
0:95 1 (const int)
0:95 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -699,9 +701,7 @@ gl_FragCoord origin is upper left
0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
@@ -796,6 +796,14 @@ gl_FragCoord origin is upper left
Decorate 214(Depth) BuiltIn FragDepth
Decorate 220(g_sSamp) DescriptorSet 0
Decorate 220(g_sSamp) Binding 0
+ MemberDecorate 222($Global) 0 Offset 0
+ MemberDecorate 222($Global) 1 Offset 8
+ MemberDecorate 222($Global) 2 Offset 16
+ MemberDecorate 222($Global) 3 Offset 32
+ MemberDecorate 222($Global) 4 Offset 48
+ MemberDecorate 222($Global) 5 Offset 56
+ MemberDecorate 222($Global) 6 Offset 64
+ MemberDecorate 222($Global) 7 Offset 80
Decorate 222($Global) Block
Decorate 224 DescriptorSet 0
2: TypeVoid
diff --git a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
index 9465c62b..7d8d9be6 100644
--- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
+++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
@@ -59,11 +59,11 @@ ERROR: node is still EOpNull!
0:22 1 (const int)
0:22 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -124,10 +124,10 @@ ERROR: node is still EOpNull!
0:22 1 (const int)
0:22 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/hlsl.init.frag.out b/Test/baseResults/hlsl.init.frag.out
index b31921b4..42f94cae 100755
--- a/Test/baseResults/hlsl.init.frag.out
+++ b/Test/baseResults/hlsl.init.frag.out
@@ -132,6 +132,8 @@ gl_FragCoord origin is upper left
0:35 'a1' (global 4-component vector of float)
0:35 Branch: Return
0:? Linker Objects
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'a1' (global 4-component vector of float)
0:? 'b1' (global 4-component vector of float)
0:? 'a1i' (global 4-component vector of float)
@@ -150,8 +152,6 @@ gl_FragCoord origin is upper left
0:? 'single2' (global structure{temp 2-component vector of uint v})
0:? 'single3' (global structure{temp structure{temp int f} s1})
0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
-0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'input' (layout(location=0 ) in 4-component vector of float)
Linked fragment stage:
@@ -290,6 +290,8 @@ gl_FragCoord origin is upper left
0:35 'a1' (global 4-component vector of float)
0:35 Branch: Return
0:? Linker Objects
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'a1' (global 4-component vector of float)
0:? 'b1' (global 4-component vector of float)
0:? 'a1i' (global 4-component vector of float)
@@ -308,8 +310,6 @@ gl_FragCoord origin is upper left
0:? 'single2' (global structure{temp 2-component vector of uint v})
0:? 'single3' (global structure{temp structure{temp int f} s1})
0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
-0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.intrinsics.comp.out b/Test/baseResults/hlsl.intrinsics.comp.out
index cd366fcb..732e2544 100644
--- a/Test/baseResults/hlsl.intrinsics.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.comp.out
@@ -309,6 +309,12 @@ local_size = (1, 1, 1)
0:? 4.000000
0:128 Branch: Return
0:? Linker Objects
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
+0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
+0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
+0:? 'inU0' (layout(location=3 ) in 4-component vector of uint)
+0:? 'inU1' (layout(location=4 ) in 4-component vector of uint)
0:? 'gs_ua' (shared uint)
0:? 'gs_ub' (shared uint)
0:? 'gs_uc' (shared uint)
@@ -321,12 +327,6 @@ local_size = (1, 1, 1)
0:? 'gs_ua4' (shared 4-component vector of uint)
0:? 'gs_ub4' (shared 4-component vector of uint)
0:? 'gs_uc4' (shared 4-component vector of uint)
-0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
-0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
-0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
-0:? 'inU0' (layout(location=3 ) in 4-component vector of uint)
-0:? 'inU1' (layout(location=4 ) in 4-component vector of uint)
Linked compute stage:
@@ -642,6 +642,12 @@ local_size = (1, 1, 1)
0:? 4.000000
0:128 Branch: Return
0:? Linker Objects
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
+0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
+0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
+0:? 'inU0' (layout(location=3 ) in 4-component vector of uint)
+0:? 'inU1' (layout(location=4 ) in 4-component vector of uint)
0:? 'gs_ua' (shared uint)
0:? 'gs_ub' (shared uint)
0:? 'gs_uc' (shared uint)
@@ -654,12 +660,6 @@ local_size = (1, 1, 1)
0:? 'gs_ua4' (shared 4-component vector of uint)
0:? 'gs_ub4' (shared 4-component vector of uint)
0:? 'gs_uc4' (shared 4-component vector of uint)
-0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
-0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
-0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
-0:? 'inU0' (layout(location=3 ) in 4-component vector of uint)
-0:? 'inU1' (layout(location=4 ) in 4-component vector of uint)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out
index d5a0f998..a5a119a8 100644
--- a/Test/baseResults/hlsl.intrinsics.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.frag.out
@@ -2782,6 +2782,7 @@ gl_FragCoord origin is upper left
0:492 0 (const int)
0:492 Branch: Return
0:? Linker Objects
+0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'gs_ua' (shared uint)
0:? 'gs_ub' (shared uint)
0:? 'gs_uc' (shared uint)
@@ -2794,7 +2795,6 @@ gl_FragCoord origin is upper left
0:? 'gs_ua4' (shared 4-component vector of uint)
0:? 'gs_ub4' (shared 4-component vector of uint)
0:? 'gs_uc4' (shared 4-component vector of uint)
-0:? 'color' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage:
@@ -5583,6 +5583,7 @@ gl_FragCoord origin is upper left
0:492 0 (const int)
0:492 Branch: Return
0:? Linker Objects
+0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'gs_ua' (shared uint)
0:? 'gs_ub' (shared uint)
0:? 'gs_uc' (shared uint)
@@ -5595,7 +5596,6 @@ gl_FragCoord origin is upper left
0:? 'gs_ua4' (shared 4-component vector of uint)
0:? 'gs_ub4' (shared 4-component vector of uint)
0:? 'gs_uc4' (shared 4-component vector of uint)
-0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.intrinsics.negative.vert.out b/Test/baseResults/hlsl.intrinsics.negative.vert.out
index 72b6fbcc..b57a5a9a 100644
--- a/Test/baseResults/hlsl.intrinsics.negative.vert.out
+++ b/Test/baseResults/hlsl.intrinsics.negative.vert.out
@@ -114,6 +114,11 @@ Shader version: 450
0:? 4.000000
0:? 4.000000
0:? Linker Objects
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
+0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
+0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
+0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
0:? 'gs_ua' (global uint)
0:? 'gs_ub' (global uint)
0:? 'gs_uc' (global uint)
@@ -126,11 +131,6 @@ Shader version: 450
0:? 'gs_ua4' (global 4-component vector of uint)
0:? 'gs_ub4' (global 4-component vector of uint)
0:? 'gs_uc4' (global 4-component vector of uint)
-0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
-0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
-0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
-0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
Linked vertex stage:
@@ -251,6 +251,11 @@ Shader version: 450
0:? 4.000000
0:? 4.000000
0:? Linker Objects
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
+0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
+0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
+0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
0:? 'gs_ua' (global uint)
0:? 'gs_ub' (global uint)
0:? 'gs_uc' (global uint)
@@ -263,11 +268,6 @@ Shader version: 450
0:? 'gs_ua4' (global 4-component vector of uint)
0:? 'gs_ub4' (global 4-component vector of uint)
0:? 'gs_uc4' (global 4-component vector of uint)
-0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
-0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
-0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
-0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
// Module Version 10000
// Generated by (magic number): 80001
@@ -276,7 +276,7 @@ Shader version: 450
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "VertexShaderFunction" 85 122 123 124 127
+ EntryPoint Vertex 4 "VertexShaderFunction" 85 102 103 104 107
Name 4 "VertexShaderFunction"
Name 15 "VertexShaderFunctionS(f1;f1;f1;i1;"
Name 11 "inF0"
@@ -311,27 +311,27 @@ Shader version: 450
Name 66 "inF1"
Name 67 "inF2"
Name 85 "@entryPointOutput"
- Name 103 "gs_ua"
- Name 104 "gs_ub"
- Name 105 "gs_uc"
- Name 108 "gs_ua2"
- Name 109 "gs_ub2"
- Name 110 "gs_uc2"
- Name 113 "gs_ua3"
- Name 114 "gs_ub3"
- Name 115 "gs_uc3"
- Name 118 "gs_ua4"
- Name 119 "gs_ub4"
- Name 120 "gs_uc4"
- Name 122 "inF0"
- Name 123 "inF1"
- Name 124 "inF2"
- Name 127 "inI0"
+ Name 102 "inF0"
+ Name 103 "inF1"
+ Name 104 "inF2"
+ Name 107 "inI0"
+ Name 110 "gs_ua"
+ Name 111 "gs_ub"
+ Name 112 "gs_uc"
+ Name 115 "gs_ua2"
+ Name 116 "gs_ub2"
+ Name 117 "gs_uc2"
+ Name 120 "gs_ua3"
+ Name 121 "gs_ub3"
+ Name 122 "gs_uc3"
+ Name 125 "gs_ua4"
+ Name 126 "gs_ub4"
+ Name 127 "gs_uc4"
Decorate 85(@entryPointOutput) Location 0
- Decorate 122(inF0) Location 0
- Decorate 123(inF1) Location 1
- Decorate 124(inF2) Location 2
- Decorate 127(inI0) Location 3
+ Decorate 102(inF0) Location 0
+ Decorate 103(inF1) Location 1
+ Decorate 104(inF2) Location 2
+ Decorate 107(inI0) Location 3
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -375,33 +375,33 @@ Shader version: 450
94: 53 ConstantComposite 93 93 93
97: 61(fvec4) ConstantComposite 86 86 86 86
98: 62 ConstantComposite 97 97 97 97
- 101: TypeInt 32 0
- 102: TypePointer Private 101(int)
- 103(gs_ua): 102(ptr) Variable Private
- 104(gs_ub): 102(ptr) Variable Private
- 105(gs_uc): 102(ptr) Variable Private
- 106: TypeVector 101(int) 2
- 107: TypePointer Private 106(ivec2)
- 108(gs_ua2): 107(ptr) Variable Private
- 109(gs_ub2): 107(ptr) Variable Private
- 110(gs_uc2): 107(ptr) Variable Private
- 111: TypeVector 101(int) 3
- 112: TypePointer Private 111(ivec3)
- 113(gs_ua3): 112(ptr) Variable Private
- 114(gs_ub3): 112(ptr) Variable Private
- 115(gs_uc3): 112(ptr) Variable Private
- 116: TypeVector 101(int) 4
- 117: TypePointer Private 116(ivec4)
- 118(gs_ua4): 117(ptr) Variable Private
- 119(gs_ub4): 117(ptr) Variable Private
- 120(gs_uc4): 117(ptr) Variable Private
- 121: TypePointer Input 61(fvec4)
- 122(inF0): 121(ptr) Variable Input
- 123(inF1): 121(ptr) Variable Input
- 124(inF2): 121(ptr) Variable Input
- 125: TypeVector 8(int) 4
- 126: TypePointer Input 125(ivec4)
- 127(inI0): 126(ptr) Variable Input
+ 101: TypePointer Input 61(fvec4)
+ 102(inF0): 101(ptr) Variable Input
+ 103(inF1): 101(ptr) Variable Input
+ 104(inF2): 101(ptr) Variable Input
+ 105: TypeVector 8(int) 4
+ 106: TypePointer Input 105(ivec4)
+ 107(inI0): 106(ptr) Variable Input
+ 108: TypeInt 32 0
+ 109: TypePointer Private 108(int)
+ 110(gs_ua): 109(ptr) Variable Private
+ 111(gs_ub): 109(ptr) Variable Private
+ 112(gs_uc): 109(ptr) Variable Private
+ 113: TypeVector 108(int) 2
+ 114: TypePointer Private 113(ivec2)
+ 115(gs_ua2): 114(ptr) Variable Private
+ 116(gs_ub2): 114(ptr) Variable Private
+ 117(gs_uc2): 114(ptr) Variable Private
+ 118: TypeVector 108(int) 3
+ 119: TypePointer Private 118(ivec3)
+ 120(gs_ua3): 119(ptr) Variable Private
+ 121(gs_ub3): 119(ptr) Variable Private
+ 122(gs_uc3): 119(ptr) Variable Private
+ 123: TypeVector 108(int) 4
+ 124: TypePointer Private 123(ivec4)
+ 125(gs_ua4): 124(ptr) Variable Private
+ 126(gs_ub4): 124(ptr) Variable Private
+ 127(gs_uc4): 124(ptr) Variable Private
4(VertexShaderFunction): 2 Function None 3
5: Label
Store 85(@entryPointOutput) 87
diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
index 9c1b4ad9..288a0f3f 100644
--- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
@@ -158,6 +158,8 @@ gl_FragCoord origin is upper left
0:54 1 (const int)
0:54 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsi4' (uniform itexture2DMS)
@@ -165,9 +167,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -332,6 +332,8 @@ gl_FragCoord origin is upper left
0:54 1 (const int)
0:54 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsi4' (uniform itexture2DMS)
@@ -339,9 +341,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out
index ed2951f7..8c4f7c8d 100644
--- a/Test/baseResults/hlsl.load.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.array.dx10.frag.out
@@ -158,6 +158,8 @@ gl_FragCoord origin is upper left
0:70 1 (const int)
0:70 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -180,9 +182,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -347,6 +347,8 @@ gl_FragCoord origin is upper left
0:70 1 (const int)
0:70 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -369,9 +371,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out
index 3a4b3fca..c8e8eb63 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out
@@ -209,6 +209,8 @@ gl_FragCoord origin is upper left
0:75 1 (const int)
0:75 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -231,9 +233,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -449,6 +449,8 @@ gl_FragCoord origin is upper left
0:75 1 (const int)
0:75 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -471,9 +473,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out
index 9495c602..a86f0aea 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out
@@ -195,6 +195,7 @@ Shader version: 450
0:69 0 (const int)
0:69 Branch: Return
0:? Linker Objects
+0:? 'Pos' (out 4-component vector of float Position)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -217,8 +218,7 @@ Shader version: 450
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Pos' (out 4-component vector of float Position)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked vertex stage:
@@ -420,6 +420,7 @@ Shader version: 450
0:69 0 (const int)
0:69 Branch: Return
0:? Linker Objects
+0:? 'Pos' (out 4-component vector of float Position)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -442,8 +443,7 @@ Shader version: 450
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Pos' (out 4-component vector of float Position)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
index 560d8f5d..c80ddcfe 100644
--- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
@@ -65,13 +65,13 @@ gl_FragCoord origin is upper left
0:37 1 (const int)
0:37 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer)
0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -143,13 +143,13 @@ gl_FragCoord origin is upper left
0:37 1 (const int)
0:37 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer)
0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
index 6d64b94c..c0cd1528 100644
--- a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
@@ -68,13 +68,13 @@ gl_FragCoord origin is upper left
0:37 1 (const int)
0:37 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -149,13 +149,13 @@ gl_FragCoord origin is upper left
0:37 1 (const int)
0:37 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out
index 069e05d0..9a14b658 100644
--- a/Test/baseResults/hlsl.load.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out
@@ -245,6 +245,8 @@ gl_FragCoord origin is upper left
0:75 1 (const int)
0:75 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -267,9 +269,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -521,6 +521,8 @@ gl_FragCoord origin is upper left
0:75 1 (const int)
0:75 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -543,9 +545,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
index ed89ee8d..fb58eff3 100644
--- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
@@ -182,6 +182,8 @@ gl_FragCoord origin is upper left
0:68 1 (const int)
0:68 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -204,9 +206,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -395,6 +395,8 @@ gl_FragCoord origin is upper left
0:68 1 (const int)
0:68 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -417,9 +419,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
index 7b263727..e9cc3940 100644
--- a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
@@ -43,11 +43,11 @@ gl_FragCoord origin is upper left
0:31 0 (const int)
0:31 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -97,11 +97,11 @@ gl_FragCoord origin is upper left
0:31 0 (const int)
0:31 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
index 8ac94d08..a81ddf57 100644
--- a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
@@ -74,6 +74,8 @@ gl_FragCoord origin is upper left
0:56 1 (const int)
0:56 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -90,9 +92,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -173,6 +173,8 @@ gl_FragCoord origin is upper left
0:56 1 (const int)
0:56 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -189,9 +191,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
index ca590157..b5435bac 100644
--- a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
@@ -92,6 +92,8 @@ gl_FragCoord origin is upper left
0:61 1 (const int)
0:61 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -108,9 +110,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -209,6 +209,8 @@ gl_FragCoord origin is upper left
0:61 1 (const int)
0:61 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -225,9 +227,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.logical.binary.frag.out b/Test/baseResults/hlsl.logical.binary.frag.out
index 9e6593ee..d9ae7d5b 100644
--- a/Test/baseResults/hlsl.logical.binary.frag.out
+++ b/Test/baseResults/hlsl.logical.binary.frag.out
@@ -56,7 +56,7 @@ gl_FragCoord origin is upper left
0:18 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
Linked fragment stage:
@@ -119,7 +119,7 @@ gl_FragCoord origin is upper left
0:18 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.logical.binary.vec.frag.out b/Test/baseResults/hlsl.logical.binary.vec.frag.out
index 2ada44a3..32b5a385 100644
--- a/Test/baseResults/hlsl.logical.binary.vec.frag.out
+++ b/Test/baseResults/hlsl.logical.binary.vec.frag.out
@@ -119,7 +119,7 @@ gl_FragCoord origin is upper left
0:23 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
Linked fragment stage:
@@ -245,7 +245,7 @@ gl_FragCoord origin is upper left
0:23 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.logical.unary.frag.out b/Test/baseResults/hlsl.logical.unary.frag.out
index e3def3c0..1aaa69a2 100644
--- a/Test/baseResults/hlsl.logical.unary.frag.out
+++ b/Test/baseResults/hlsl.logical.unary.frag.out
@@ -82,7 +82,7 @@ gl_FragCoord origin is upper left
0:26 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
Linked fragment stage:
@@ -171,7 +171,7 @@ gl_FragCoord origin is upper left
0:26 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.matType.frag.out b/Test/baseResults/hlsl.matType.frag.out
index 0066a1de..9b8e4567 100755
--- a/Test/baseResults/hlsl.matType.frag.out
+++ b/Test/baseResults/hlsl.matType.frag.out
@@ -10,7 +10,7 @@ gl_FragCoord origin is upper left
0:10 Branch: Return with expression
0:10 'inFloat1' (in 1-component vector of float)
0:? Linker Objects
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44})
Linked fragment stage:
@@ -27,7 +27,7 @@ gl_FragCoord origin is upper left
0:10 Branch: Return with expression
0:10 'inFloat1' (in 1-component vector of float)
0:? Linker Objects
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44})
// Module Version 10000
// Generated by (magic number): 80001
@@ -51,6 +51,22 @@ gl_FragCoord origin is upper left
MemberName 27($Global) 4 "dmat23"
MemberName 27($Global) 5 "int44"
Name 29 ""
+ MemberDecorate 27($Global) 0 Offset 0
+ MemberDecorate 27($Global) 1 RowMajor
+ MemberDecorate 27($Global) 1 Offset 16
+ MemberDecorate 27($Global) 1 MatrixStride 16
+ MemberDecorate 27($Global) 2 RowMajor
+ MemberDecorate 27($Global) 2 Offset 32
+ MemberDecorate 27($Global) 2 MatrixStride 16
+ MemberDecorate 27($Global) 3 RowMajor
+ MemberDecorate 27($Global) 3 Offset 48
+ MemberDecorate 27($Global) 3 MatrixStride 16
+ MemberDecorate 27($Global) 4 RowMajor
+ MemberDecorate 27($Global) 4 Offset 80
+ MemberDecorate 27($Global) 4 MatrixStride 16
+ MemberDecorate 27($Global) 5 RowMajor
+ MemberDecorate 27($Global) 5 Offset 128
+ MemberDecorate 27($Global) 5 MatrixStride 16
Decorate 27($Global) Block
Decorate 29 DescriptorSet 0
2: TypeVoid
diff --git a/Test/baseResults/hlsl.matrixindex.frag.out b/Test/baseResults/hlsl.matrixindex.frag.out
index 8c637c14..420ba9f5 100644
--- a/Test/baseResults/hlsl.matrixindex.frag.out
+++ b/Test/baseResults/hlsl.matrixindex.frag.out
@@ -128,7 +128,7 @@ gl_FragCoord origin is upper left
0:48 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
Linked fragment stage:
@@ -263,7 +263,7 @@ gl_FragCoord origin is upper left
0:48 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.mintypes.frag.out b/Test/baseResults/hlsl.mintypes.frag.out
index 34d326e0..84c7a8c8 100644
--- a/Test/baseResults/hlsl.mintypes.frag.out
+++ b/Test/baseResults/hlsl.mintypes.frag.out
@@ -41,7 +41,7 @@ gl_FragCoord origin is upper left
0:48 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b})
Linked fragment stage:
@@ -89,7 +89,7 @@ gl_FragCoord origin is upper left
0:48 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b})
// Module Version 10000
// Generated by (magic number): 80001
@@ -151,7 +151,9 @@ gl_FragCoord origin is upper left
Decorate 47 RelaxedPrecision
Decorate 58(Color) Location 0
MemberDecorate 62($Global) 0 RelaxedPrecision
+ MemberDecorate 62($Global) 0 Offset 0
MemberDecorate 62($Global) 1 RelaxedPrecision
+ MemberDecorate 62($Global) 1 Offset 4
Decorate 62($Global) Block
Decorate 64 DescriptorSet 0
2: TypeVoid
diff --git a/Test/baseResults/hlsl.multiEntry.vert.out b/Test/baseResults/hlsl.multiEntry.vert.out
index 8f8c42ae..f0d05abd 100755
--- a/Test/baseResults/hlsl.multiEntry.vert.out
+++ b/Test/baseResults/hlsl.multiEntry.vert.out
@@ -21,9 +21,9 @@ Shader version: 450
0:10 'Index' (in uint VertexIndex)
0:10 Branch: Return
0:? Linker Objects
-0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex)
+0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
Linked vertex stage:
@@ -51,9 +51,9 @@ Shader version: 450
0:10 'Index' (in uint VertexIndex)
0:10 Branch: Return
0:? Linker Objects
-0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex)
+0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.precise.frag.out b/Test/baseResults/hlsl.precise.frag.out
index e9205cfe..cd2af746 100644
--- a/Test/baseResults/hlsl.precise.frag.out
+++ b/Test/baseResults/hlsl.precise.frag.out
@@ -29,8 +29,8 @@ gl_FragCoord origin is upper left
0:12 0 (const int)
0:12 Branch: Return
0:? Linker Objects
-0:? 'precisefloat' (noContraction global float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
+0:? 'precisefloat' (noContraction global float)
Linked fragment stage:
@@ -66,8 +66,8 @@ gl_FragCoord origin is upper left
0:12 0 (const int)
0:12 Branch: Return
0:? Linker Objects
-0:? 'precisefloat' (noContraction global float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
+0:? 'precisefloat' (noContraction global float)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.promote.binary.frag.out b/Test/baseResults/hlsl.promote.binary.frag.out
index a2e7176c..2c7425e1 100644
--- a/Test/baseResults/hlsl.promote.binary.frag.out
+++ b/Test/baseResults/hlsl.promote.binary.frag.out
@@ -78,7 +78,7 @@ gl_FragCoord origin is upper left
0:26 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
Linked fragment stage:
@@ -163,7 +163,7 @@ gl_FragCoord origin is upper left
0:26 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out
index e3df54ff..01ced169 100644
--- a/Test/baseResults/hlsl.promotions.frag.out
+++ b/Test/baseResults/hlsl.promotions.frag.out
@@ -782,8 +782,8 @@ gl_FragCoord origin is upper left
0:200 0 (const int)
0:200 Branch: Return
0:? Linker Objects
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds})
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds})
Linked fragment stage:
@@ -1572,8 +1572,8 @@ gl_FragCoord origin is upper left
0:200 0 (const int)
0:200 Branch: Return
0:? Linker Objects
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds})
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.rw.atomics.frag.out b/Test/baseResults/hlsl.rw.atomics.frag.out
index 22716ef1..123bd4cb 100644
--- a/Test/baseResults/hlsl.rw.atomics.frag.out
+++ b/Test/baseResults/hlsl.rw.atomics.frag.out
@@ -1945,6 +1945,7 @@ gl_FragCoord origin is upper left
0:243 0 (const int)
0:243 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df1' (layout(r32f ) uniform image1D)
0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
@@ -1964,8 +1965,7 @@ gl_FragCoord origin is upper left
0:? 'g_tBuffF' (layout(r32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
Linked fragment stage:
@@ -3917,6 +3917,7 @@ gl_FragCoord origin is upper left
0:243 0 (const int)
0:243 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df1' (layout(r32f ) uniform image1D)
0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
@@ -3936,8 +3937,7 @@ gl_FragCoord origin is upper left
0:? 'g_tBuffF' (layout(r32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.rw.bracket.frag.out b/Test/baseResults/hlsl.rw.bracket.frag.out
index c6e3c89e..31ed4a98 100644
--- a/Test/baseResults/hlsl.rw.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.bracket.frag.out
@@ -847,6 +847,7 @@ gl_FragCoord origin is upper left
0:139 0 (const int)
0:139 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -863,8 +864,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
Linked fragment stage:
@@ -1718,6 +1718,7 @@ gl_FragCoord origin is upper left
0:139 0 (const int)
0:139 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -1734,8 +1735,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
index 904c2dab..8e40fd2e 100644
--- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
@@ -820,6 +820,7 @@ gl_FragCoord origin is upper left
0:139 0 (const int)
0:139 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df1' (layout(r32f ) uniform image1D)
0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
@@ -836,8 +837,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df1a' (layout(r32f ) uniform image2DArray)
0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray)
0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
Linked fragment stage:
@@ -1664,6 +1664,7 @@ gl_FragCoord origin is upper left
0:139 0 (const int)
0:139 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df1' (layout(r32f ) uniform image1D)
0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
@@ -1680,8 +1681,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df1a' (layout(r32f ) uniform image2DArray)
0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray)
0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
index b8452c36..7ca7e3e4 100644
--- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
@@ -829,6 +829,7 @@ gl_FragCoord origin is upper left
0:139 0 (const int)
0:139 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df2' (layout(rg32f ) uniform image1D)
0:? 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
@@ -845,8 +846,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df2a' (layout(rg32f ) uniform image2DArray)
0:? 'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray)
0:? 'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
Linked fragment stage:
@@ -1682,6 +1682,7 @@ gl_FragCoord origin is upper left
0:139 0 (const int)
0:139 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df2' (layout(rg32f ) uniform image1D)
0:? 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
@@ -1698,8 +1699,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df2a' (layout(rg32f ) uniform image2DArray)
0:? 'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray)
0:? 'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out
index 6c6f187b..f223e4bf 100644
--- a/Test/baseResults/hlsl.sample.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out
@@ -137,6 +137,8 @@ gl_FragCoord origin is upper left
0:42 1 (const int)
0:42 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -148,8 +150,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -293,6 +293,8 @@ gl_FragCoord origin is upper left
0:42 1 (const int)
0:42 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -304,8 +306,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
index de9a4f4b..a222125a 100644
--- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
@@ -247,6 +247,8 @@ gl_FragCoord origin is upper left
0:89 1 (const int)
0:89 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_sSamp2D_b' (uniform sampler)
@@ -263,8 +265,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -516,6 +516,8 @@ gl_FragCoord origin is upper left
0:89 1 (const int)
0:89 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_sSamp2D_b' (uniform sampler)
@@ -532,8 +534,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
index 67bf043f..a148a86e 100644
--- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
@@ -155,6 +155,8 @@ gl_FragCoord origin is upper left
0:48 1 (const int)
0:48 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -169,8 +171,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -332,6 +332,8 @@ gl_FragCoord origin is upper left
0:48 1 (const int)
0:48 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -346,8 +348,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
index 83a0e8b7..abdf0327 100644
--- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
@@ -116,6 +116,8 @@ gl_FragCoord origin is upper left
0:36 1 (const int)
0:36 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -124,8 +126,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -248,6 +248,8 @@ gl_FragCoord origin is upper left
0:36 1 (const int)
0:36 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -256,8 +258,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
index 5a97ed96..bfbad5c2 100644
--- a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
@@ -64,12 +64,12 @@ gl_FragCoord origin is upper left
0:23 0 (const int)
0:23 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df1' (uniform texture1D)
0:? 'g_tTex1df2' (uniform texture1D)
0:? 'g_tTex1df3' (uniform texture1D)
0:? 'g_tTex1df4' (uniform texture1D)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage:
@@ -140,12 +140,12 @@ gl_FragCoord origin is upper left
0:23 0 (const int)
0:23 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df1' (uniform texture1D)
0:? 'g_tTex1df2' (uniform texture1D)
0:? 'g_tTex1df3' (uniform texture1D)
0:? 'g_tTex1df4' (uniform texture1D)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
index b2b38b65..05ac32a5 100644
--- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
@@ -155,6 +155,8 @@ gl_FragCoord origin is upper left
0:42 1 (const int)
0:42 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -166,8 +168,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -329,6 +329,8 @@ gl_FragCoord origin is upper left
0:42 1 (const int)
0:42 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -340,8 +342,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
index c7949146..1442fc3c 100644
--- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
@@ -185,6 +185,8 @@ gl_FragCoord origin is upper left
0:50 1 (const int)
0:50 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -199,8 +201,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -392,6 +392,8 @@ gl_FragCoord origin is upper left
0:50 1 (const int)
0:50 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -406,8 +408,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
index 900eb4b0..01facb65 100644
--- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
@@ -173,6 +173,8 @@ gl_FragCoord origin is upper left
0:48 1 (const int)
0:48 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -187,8 +189,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -368,6 +368,8 @@ gl_FragCoord origin is upper left
0:48 1 (const int)
0:48 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -382,8 +384,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
index bd216222..17aef7ae 100644
--- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
@@ -128,6 +128,8 @@ gl_FragCoord origin is upper left
0:36 1 (const int)
0:36 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -136,8 +138,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -272,6 +272,8 @@ gl_FragCoord origin is upper left
0:36 1 (const int)
0:36 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -280,8 +282,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
index b05595d5..a1acd797 100644
--- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
@@ -164,6 +164,8 @@ gl_FragCoord origin is upper left
0:59 1 (const int)
0:59 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -186,8 +188,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -358,6 +358,8 @@ gl_FragCoord origin is upper left
0:59 1 (const int)
0:59 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -380,8 +382,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
index aa9b3795..08f3b400 100644
--- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
@@ -155,6 +155,8 @@ gl_FragCoord origin is upper left
0:60 1 (const int)
0:60 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -177,8 +179,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -340,6 +340,8 @@ gl_FragCoord origin is upper left
0:60 1 (const int)
0:60 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -362,8 +364,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
index fd3250f5..70670a0f 100644
--- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
@@ -128,6 +128,8 @@ gl_FragCoord origin is upper left
0:65 1 (const int)
0:65 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -150,8 +152,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -286,6 +286,8 @@ gl_FragCoord origin is upper left
0:65 1 (const int)
0:65 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -308,8 +310,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
index 05695ed4..d4a86361 100644
--- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
@@ -134,6 +134,8 @@ gl_FragCoord origin is upper left
0:66 1 (const int)
0:66 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -156,8 +158,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -298,6 +298,8 @@ gl_FragCoord origin is upper left
0:66 1 (const int)
0:66 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -320,8 +322,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
index 40546103..2746fa77 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
@@ -182,6 +182,8 @@ gl_FragCoord origin is upper left
0:59 1 (const int)
0:59 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -204,8 +206,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -394,6 +394,8 @@ gl_FragCoord origin is upper left
0:59 1 (const int)
0:59 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -416,8 +418,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
index a5923367..e6c43725 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
@@ -173,6 +173,8 @@ gl_FragCoord origin is upper left
0:60 1 (const int)
0:60 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -195,8 +197,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -376,6 +376,8 @@ gl_FragCoord origin is upper left
0:60 1 (const int)
0:60 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -398,8 +400,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
index bfbfbb29..f66055df 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
@@ -140,6 +140,8 @@ gl_FragCoord origin is upper left
0:65 1 (const int)
0:65 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -162,8 +164,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -310,6 +310,8 @@ gl_FragCoord origin is upper left
0:65 1 (const int)
0:65 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -332,8 +334,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
index 0e38a7d6..3b2b9126 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
@@ -146,6 +146,8 @@ gl_FragCoord origin is upper left
0:66 1 (const int)
0:66 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -168,8 +170,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -322,6 +322,8 @@ gl_FragCoord origin is upper left
0:66 1 (const int)
0:66 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -344,8 +346,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
index 46a6bbc1..2a0d77a0 100644
--- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
@@ -191,6 +191,8 @@ gl_FragCoord origin is upper left
0:42 1 (const int)
0:42 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -202,8 +204,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -401,6 +401,8 @@ gl_FragCoord origin is upper left
0:42 1 (const int)
0:42 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -412,8 +414,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
index 395efc26..feaba770 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
@@ -239,6 +239,8 @@ gl_FragCoord origin is upper left
0:50 1 (const int)
0:50 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -253,8 +255,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -500,6 +500,8 @@ gl_FragCoord origin is upper left
0:50 1 (const int)
0:50 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -514,8 +516,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
index 2e79be32..f6d37c3b 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
@@ -225,6 +225,7 @@ Shader version: 450
0:48 0 (const int)
0:48 Branch: Return
0:? Linker Objects
+0:? 'Pos' (out 4-component vector of float Position)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -239,7 +240,6 @@ Shader version: 450
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Pos' (out 4-component vector of float Position)
Linked vertex stage:
@@ -471,6 +471,7 @@ Shader version: 450
0:48 0 (const int)
0:48 Branch: Return
0:? Linker Objects
+0:? 'Pos' (out 4-component vector of float Position)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -485,7 +486,6 @@ Shader version: 450
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Pos' (out 4-component vector of float Position)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
index 7ef5e077..7938e527 100644
--- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
@@ -209,6 +209,8 @@ gl_FragCoord origin is upper left
0:48 1 (const int)
0:48 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -223,8 +225,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -440,6 +440,8 @@ gl_FragCoord origin is upper left
0:48 1 (const int)
0:48 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -454,8 +456,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
index 2043f38a..dee78bc4 100644
--- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
@@ -146,6 +146,8 @@ gl_FragCoord origin is upper left
0:38 1 (const int)
0:38 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -157,8 +159,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -311,6 +311,8 @@ gl_FragCoord origin is upper left
0:38 1 (const int)
0:38 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -322,8 +324,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
index 351e2ed1..afdedb7d 100644
--- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
@@ -155,6 +155,8 @@ gl_FragCoord origin is upper left
0:42 1 (const int)
0:42 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -166,8 +168,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -329,6 +329,8 @@ gl_FragCoord origin is upper left
0:42 1 (const int)
0:42 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -340,8 +342,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
index d37090fa..34a65978 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
@@ -185,6 +185,8 @@ gl_FragCoord origin is upper left
0:51 1 (const int)
0:51 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -200,8 +202,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -393,6 +393,8 @@ gl_FragCoord origin is upper left
0:51 1 (const int)
0:51 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -408,8 +410,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
index 04382997..04d0870e 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
@@ -171,6 +171,7 @@ Shader version: 450
0:48 0 (const int)
0:48 Branch: Return
0:? Linker Objects
+0:? 'Pos' (out 4-component vector of float Position)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -185,7 +186,6 @@ Shader version: 450
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Pos' (out 4-component vector of float Position)
Linked vertex stage:
@@ -363,6 +363,7 @@ Shader version: 450
0:48 0 (const int)
0:48 Branch: Return
0:? Linker Objects
+0:? 'Pos' (out 4-component vector of float Position)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -377,7 +378,6 @@ Shader version: 450
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Pos' (out 4-component vector of float Position)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
index 0f0f9681..aa779610 100644
--- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
@@ -173,6 +173,8 @@ gl_FragCoord origin is upper left
0:48 1 (const int)
0:48 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -187,8 +189,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -368,6 +368,8 @@ gl_FragCoord origin is upper left
0:48 1 (const int)
0:48 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -382,8 +384,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
index 8eb74cd0..056a4f13 100644
--- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
@@ -128,6 +128,8 @@ gl_FragCoord origin is upper left
0:36 1 (const int)
0:36 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -136,8 +138,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@@ -272,6 +272,8 @@ gl_FragCoord origin is upper left
0:36 1 (const int)
0:36 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -280,8 +282,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.stringtoken.frag.out b/Test/baseResults/hlsl.stringtoken.frag.out
index 8593db62..94c1b2ad 100644
--- a/Test/baseResults/hlsl.stringtoken.frag.out
+++ b/Test/baseResults/hlsl.stringtoken.frag.out
@@ -25,9 +25,9 @@ gl_FragCoord origin is upper left
0:19 0 (const int)
0:19 Branch: Return
0:? Linker Objects
-0:? 'TestTexture' (uniform texture2D)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF})
+0:? 'TestTexture' (uniform texture2D)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF})
Linked fragment stage:
@@ -59,9 +59,9 @@ gl_FragCoord origin is upper left
0:19 0 (const int)
0:19 Branch: Return
0:? Linker Objects
-0:? 'TestTexture' (uniform texture2D)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF})
+0:? 'TestTexture' (uniform texture2D)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF})
// Module Version 10000
// Generated by (magic number): 80001
@@ -83,6 +83,7 @@ gl_FragCoord origin is upper left
Name 28 ""
Decorate 19(Color) Location 0
Decorate 25(TestTexture) DescriptorSet 0
+ MemberDecorate 26($Global) 0 Offset 0
Decorate 26($Global) Block
Decorate 28 DescriptorSet 0
2: TypeVoid
diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out
index 5fef9599..c14018ea 100755
--- a/Test/baseResults/hlsl.struct.frag.out
+++ b/Test/baseResults/hlsl.struct.frag.out
@@ -26,9 +26,7 @@ gl_FragCoord origin is upper left
0:42 'input' (layout(location=0 ) in 4-component vector of float)
0:42 Branch: Return
0:? Linker Objects
-0:? 's2' (global structure{temp 4-component vector of float i})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'a' (layout(location=1 ) smooth in 4-component vector of float)
0:? 'b' (layout(location=2 ) flat in bool)
@@ -38,6 +36,8 @@ gl_FragCoord origin is upper left
0:? 'ff2' (layout(location=5 offset=4 ) in bool)
0:? 'ff3' (layout(location=6 binding=0 offset=4 ) in bool)
0:? 'ff4' (layout(location=7 binding=0 offset=4 ) in 4-component vector of float)
+0:? 's2' (global structure{temp 4-component vector of float i})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
Linked fragment stage:
@@ -66,9 +66,7 @@ gl_FragCoord origin is upper left
0:42 'input' (layout(location=0 ) in 4-component vector of float)
0:42 Branch: Return
0:? Linker Objects
-0:? 's2' (global structure{temp 4-component vector of float i})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'a' (layout(location=1 ) smooth in 4-component vector of float)
0:? 'b' (layout(location=2 ) flat in bool)
@@ -78,15 +76,17 @@ gl_FragCoord origin is upper left
0:? 'ff2' (layout(location=5 offset=4 ) in bool)
0:? 'ff3' (layout(location=6 binding=0 offset=4 ) in bool)
0:? 'ff4' (layout(location=7 binding=0 offset=4 ) in 4-component vector of float)
+0:? 's2' (global structure{temp 4-component vector of float i})
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 49
+// Id's are bound by 50
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "PixelShaderFunction" 25 30 31 38 40 42 45 46 47 48
+ EntryPoint Fragment 4 "PixelShaderFunction" 25 30 31 34 36 38 41 42 43 44
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 8 "FS"
@@ -98,44 +98,51 @@ gl_FragCoord origin is upper left
Name 25 "ff4"
Name 30 "@entryPointOutput"
Name 31 "input"
- Name 34 "myS"
- MemberName 34(myS) 0 "b"
- MemberName 34(myS) 1 "c"
- MemberName 34(myS) 2 "a"
- MemberName 34(myS) 3 "d"
- Name 35 "$Global"
- MemberName 35($Global) 0 "s1"
- MemberName 35($Global) 1 "ff5"
- MemberName 35($Global) 2 "ff6"
- Name 37 ""
- Name 38 "a"
- Name 40 "b"
- Name 42 "c"
- Name 45 "d"
- Name 46 "ff1"
- Name 47 "ff2"
- Name 48 "ff3"
+ Name 34 "a"
+ Name 36 "b"
+ Name 38 "c"
+ Name 41 "d"
+ Name 42 "ff1"
+ Name 43 "ff2"
+ Name 44 "ff3"
+ Name 46 "myS"
+ MemberName 46(myS) 0 "b"
+ MemberName 46(myS) 1 "c"
+ MemberName 46(myS) 2 "a"
+ MemberName 46(myS) 3 "d"
+ Name 47 "$Global"
+ MemberName 47($Global) 0 "s1"
+ MemberName 47($Global) 1 "ff5"
+ MemberName 47($Global) 2 "ff6"
+ Name 49 ""
Decorate 25(ff4) Offset 4
Decorate 25(ff4) Location 7
Decorate 25(ff4) Binding 0
Decorate 30(@entryPointOutput) Location 0
Decorate 31(input) Location 0
- Decorate 35($Global) Block
- Decorate 37 DescriptorSet 0
- Decorate 38(a) Location 1
- Decorate 40(b) Flat
- Decorate 40(b) Location 2
- Decorate 42(c) NoPerspective
- Decorate 42(c) Centroid
- Decorate 42(c) Location 3
- Decorate 45(d) Centroid
- Decorate 45(d) Location 4
- Decorate 46(ff1) BuiltIn FrontFacing
- Decorate 47(ff2) Offset 4
- Decorate 47(ff2) Location 5
- Decorate 48(ff3) Offset 4
- Decorate 48(ff3) Location 6
- Decorate 48(ff3) Binding 0
+ Decorate 34(a) Location 1
+ Decorate 36(b) Flat
+ Decorate 36(b) Location 2
+ Decorate 38(c) NoPerspective
+ Decorate 38(c) Centroid
+ Decorate 38(c) Location 3
+ Decorate 41(d) Centroid
+ Decorate 41(d) Location 4
+ Decorate 42(ff1) BuiltIn FrontFacing
+ Decorate 43(ff2) Offset 4
+ Decorate 43(ff2) Location 5
+ Decorate 44(ff3) Offset 4
+ Decorate 44(ff3) Location 6
+ Decorate 44(ff3) Binding 0
+ MemberDecorate 46(myS) 0 Offset 0
+ MemberDecorate 46(myS) 1 Offset 4
+ MemberDecorate 46(myS) 2 Offset 16
+ MemberDecorate 46(myS) 3 Offset 32
+ MemberDecorate 47($Global) 0 Offset 0
+ MemberDecorate 47($Global) 1 Offset 1620
+ MemberDecorate 47($Global) 2 Offset 1636
+ Decorate 47($Global) Block
+ Decorate 49 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeBool
@@ -155,21 +162,22 @@ gl_FragCoord origin is upper left
29: TypePointer Output 18(fvec4)
30(@entryPointOutput): 29(ptr) Variable Output
31(input): 24(ptr) Variable Input
- 34(myS): TypeStruct 6(bool) 6(bool) 18(fvec4) 18(fvec4)
- 35($Global): TypeStruct 34(myS) 17(float) 17(float)
- 36: TypePointer Uniform 35($Global)
- 37: 36(ptr) Variable Uniform
- 38(a): 24(ptr) Variable Input
- 39: TypePointer Input 6(bool)
- 40(b): 39(ptr) Variable Input
- 41: TypePointer Input 17(float)
- 42(c): 41(ptr) Variable Input
- 43: TypeVector 17(float) 2
- 44: TypePointer Input 43(fvec2)
- 45(d): 44(ptr) Variable Input
- 46(ff1): 39(ptr) Variable Input
- 47(ff2): 39(ptr) Variable Input
- 48(ff3): 39(ptr) Variable Input
+ 34(a): 24(ptr) Variable Input
+ 35: TypePointer Input 6(bool)
+ 36(b): 35(ptr) Variable Input
+ 37: TypePointer Input 17(float)
+ 38(c): 37(ptr) Variable Input
+ 39: TypeVector 17(float) 2
+ 40: TypePointer Input 39(fvec2)
+ 41(d): 40(ptr) Variable Input
+ 42(ff1): 35(ptr) Variable Input
+ 43(ff2): 35(ptr) Variable Input
+ 44(ff3): 35(ptr) Variable Input
+ 45: TypeInt 32 0
+ 46(myS): TypeStruct 45(int) 45(int) 18(fvec4) 18(fvec4)
+ 47($Global): TypeStruct 46(myS) 17(float) 17(float)
+ 48: TypePointer Uniform 47($Global)
+ 49: 48(ptr) Variable Uniform
4(PixelShaderFunction): 2 Function None 3
5: Label
10(s3): 9(ptr) Variable Function
diff --git a/Test/baseResults/hlsl.tx.bracket.frag.out b/Test/baseResults/hlsl.tx.bracket.frag.out
index 0769cde4..d000257e 100644
--- a/Test/baseResults/hlsl.tx.bracket.frag.out
+++ b/Test/baseResults/hlsl.tx.bracket.frag.out
@@ -186,6 +186,7 @@ gl_FragCoord origin is upper left
0:72 0 (const int)
0:72 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -202,8 +203,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (uniform texture2DArray)
0:? 'g_tTex2di4a' (uniform itexture2DArray)
0:? 'g_tTex2du4a' (uniform utexture2DArray)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
Linked fragment stage:
@@ -396,6 +396,7 @@ gl_FragCoord origin is upper left
0:72 0 (const int)
0:72 Branch: Return
0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -412,8 +413,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (uniform texture2DArray)
0:? 'g_tTex2di4a' (uniform itexture2DArray)
0:? 'g_tTex2du4a' (uniform utexture2DArray)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
-0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
diff --git a/Test/baseResults/maxClipDistances.vert.out b/Test/baseResults/maxClipDistances.vert.out
index 5d44a663..4ad4ef15 100644
--- a/Test/baseResults/maxClipDistances.vert.out
+++ b/Test/baseResults/maxClipDistances.vert.out
@@ -5,7 +5,6 @@ Shader version: 130
0:5 Function Parameters:
0:? Linker Objects
0:? 'gl_ClipDistance' (smooth out 8-element array of float ClipDistance)
-0:? 'gl_ClipDistance' (smooth out 8-element array of float ClipDistance)
0:? 'gl_VertexID' (gl_VertexId int VertexId)
@@ -18,6 +17,5 @@ Shader version: 130
0:5 Function Parameters:
0:? Linker Objects
0:? 'gl_ClipDistance' (smooth out 8-element array of float ClipDistance)
-0:? 'gl_ClipDistance' (smooth out 8-element array of float ClipDistance)
0:? 'gl_VertexID' (gl_VertexId int VertexId)
diff --git a/Test/baseResults/specExamples.frag.out b/Test/baseResults/specExamples.frag.out
index 848839c6..711c529d 100644
--- a/Test/baseResults/specExamples.frag.out
+++ b/Test/baseResults/specExamples.frag.out
@@ -318,12 +318,9 @@ ERROR: node is still EOpNull!
0:? 'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})
0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'factor' (layout(location=3 index=1 ) out 4-component vector of float)
0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)
0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
@@ -607,11 +604,8 @@ ERROR: node is still EOpNull!
0:? 'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})
0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'factor' (layout(location=3 index=1 ) out 4-component vector of float)
0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)
0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
diff --git a/Test/baseResults/specExamples.vert.out b/Test/baseResults/specExamples.vert.out
index ef9a1225..d7de758c 100644
--- a/Test/baseResults/specExamples.vert.out
+++ b/Test/baseResults/specExamples.vert.out
@@ -298,11 +298,10 @@ ERROR: node is still EOpNull!
0:? 'c2' (layout(binding=3 ) uniform atomic_uint)
0:? 'd2' (layout(binding=2 ) uniform atomic_uint)
0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, ...})
-0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, ...})
0:? 'ColorInv' (smooth out 3-component vector of float)
0:? 'Color4' (invariant centroid smooth out 3-component vector of float)
0:? 'position' (noContraction smooth out 4-component vector of float)
-0:? 'Color5' (smooth out 3-component vector of float)
+0:? 'Color5' (noContraction smooth out 3-component vector of float)
0:? 'a' (in 4-component vector of float)
0:? 'b' (in 4-component vector of float)
0:? 'c' (in 4-component vector of float)
@@ -582,11 +581,10 @@ ERROR: node is still EOpNull!
0:? 'c2' (layout(binding=3 ) uniform atomic_uint)
0:? 'd2' (layout(binding=2 ) uniform atomic_uint)
0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
0:? 'ColorInv' (smooth out 3-component vector of float)
0:? 'Color4' (invariant centroid smooth out 3-component vector of float)
0:? 'position' (noContraction smooth out 4-component vector of float)
-0:? 'Color5' (smooth out 3-component vector of float)
+0:? 'Color5' (noContraction smooth out 3-component vector of float)
0:? 'a' (in 4-component vector of float)
0:? 'b' (in 4-component vector of float)
0:? 'c' (in 4-component vector of float)
diff --git a/Test/baseResults/spv.noWorkgroup.comp.out b/Test/baseResults/spv.noWorkgroup.comp.out
new file mode 100755
index 00000000..f12e6202
--- /dev/null
+++ b/Test/baseResults/spv.noWorkgroup.comp.out
@@ -0,0 +1,34 @@
+spv.noWorkgroup.comp
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked compute stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 12
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main"
+ ExecutionMode 4 LocalSize 1 1 1
+ Source GLSL 450
+ Name 4 "main"
+ Decorate 7 SpecId 18
+ Decorate 8 SpecId 10
+ Decorate 9 SpecId 19
+ Decorate 11 BuiltIn WorkgroupSize
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: 6(int) SpecConstant 1
+ 8: 6(int) SpecConstant 1
+ 9: 6(int) SpecConstant 1
+ 10: TypeVector 6(int) 3
+ 11: 10(ivec3) SpecConstantComposite 7 8 9
+ 4(main): 2 Function None 3
+ 5: Label
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/varyingArray.frag.out b/Test/baseResults/varyingArray.frag.out
index c6cf6bae..1fd59b46 100644
--- a/Test/baseResults/varyingArray.frag.out
+++ b/Test/baseResults/varyingArray.frag.out
@@ -56,7 +56,6 @@ Shader version: 130
0:? 'color' (smooth in 4-component vector of float)
0:? 'alpha' (smooth in float)
0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
0:? 'foo' (smooth in 3-element array of 4-component vector of float)
@@ -115,6 +114,5 @@ Shader version: 130
0:? 'color' (smooth in 4-component vector of float)
0:? 'alpha' (smooth in float)
0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
0:? 'foo' (smooth in 3-element array of 4-component vector of float)
diff --git a/Test/baseResults/varyingArrayIndirect.frag.out b/Test/baseResults/varyingArrayIndirect.frag.out
index 02a41f3f..73498129 100644
--- a/Test/baseResults/varyingArrayIndirect.frag.out
+++ b/Test/baseResults/varyingArrayIndirect.frag.out
@@ -57,7 +57,6 @@ Shader version: 130
0:? 'color' (smooth in 4-component vector of float)
0:? 'alpha' (smooth in float)
0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
0:? 'userIn' (smooth in 2-element array of 4-component vector of float)
0:? 'a' (uniform int)
0:? 'b' (uniform int)
@@ -119,7 +118,6 @@ Shader version: 130
0:? 'color' (smooth in 4-component vector of float)
0:? 'alpha' (smooth in float)
0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
0:? 'userIn' (smooth in 2-element array of 4-component vector of float)
0:? 'a' (uniform int)
0:? 'b' (uniform int)
diff --git a/Test/spv.noWorkgroup.comp b/Test/spv.noWorkgroup.comp
new file mode 100644
index 00000000..0c77f278
--- /dev/null
+++ b/Test/spv.noWorkgroup.comp
@@ -0,0 +1,7 @@
+#version 450
+
+layout(local_size_x_id = 18, local_size_y_id=10,local_size_z_id = 19) in;
+
+void main()
+{
+}
diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp
index 5949cd8e..dc8c61db 100644
--- a/glslang/MachineIndependent/ParseContextBase.cpp
+++ b/glslang/MachineIndependent/ParseContextBase.cpp
@@ -221,16 +221,37 @@ void TParseContextBase::rValueErrorCheck(const TSourceLoc& loc, const char* op,
error(loc, "can't read from writeonly object: ", op, symNode->getName().c_str());
}
+// Add a linkage symbol node for 'symbol', which
+// must have its type fully edited, as this will snapshot the type.
+// It is okay if symbol becomes invalid before finish().
+void TParseContextBase::trackLinkage(TSymbol& symbol)
+{
+ if (!parsingBuiltins)
+ intermediate.addSymbolLinkageNode(linkage, symbol);
+}
+
+// Add 'symbol' to the list of deferred linkage symbols, which
+// are later processed in finish(), at which point the symbol
+// must still be valid.
+// It is okay if the symbol's type will be subsequently edited.
+void TParseContextBase::trackLinkageDeferred(TSymbol& symbol)
+{
+ if (!parsingBuiltins)
+ linkageSymbols.push_back(&symbol);
+}
+
// Make a shared symbol have a non-shared version that can be edited by the current
// compile, such that editing its type will not change the shared version and will
-// effect all nodes sharing it.
+// effect all nodes already sharing it (non-shallow type),
+// or adopting its full type after being edited (shallow type).
void TParseContextBase::makeEditable(TSymbol*& symbol)
{
// copyUp() does a deep copy of the type.
symbol = symbolTable.copyUp(symbol);
- // Save it in the AST for linker use.
- intermediate.addSymbolLinkageNode(linkage, *symbol);
+ // Save it (deferred, so it can be edited first) in the AST for linker use.
+ if (symbol)
+ trackLinkageDeferred(*symbol);
}
// Return a writable version of the variable 'name'.
@@ -242,7 +263,7 @@ TVariable* TParseContextBase::getEditableVariable(const char* name)
{
bool builtIn;
TSymbol* symbol = symbolTable.find(name, &builtIn);
-
+
assert(symbol != nullptr);
if (symbol == nullptr)
return nullptr;
@@ -434,7 +455,7 @@ bool TParseContextBase::insertGlobalUniformBlock()
// This is the first request; we need a normal symbol table insert
inserted = symbolTable.insert(*globalUniformBlock);
if (inserted)
- intermediate.addSymbolLinkageNode(linkage, *globalUniformBlock);
+ trackLinkageDeferred(*globalUniformBlock);
} else if (firstNewMember <= numMembers) {
// This is a follow-on request; we need to amend the first insert
inserted = symbolTable.amend(*globalUniformBlock, firstNewMember);
@@ -448,4 +469,14 @@ bool TParseContextBase::insertGlobalUniformBlock()
return inserted;
}
+void TParseContextBase::finish()
+{
+ if (!parsingBuiltins) {
+ // Transfer te linkage symbols to AST nodes
+ for (auto i = linkageSymbols.begin(); i != linkageSymbols.end(); ++i)
+ intermediate.addSymbolLinkageNode(linkage, **i);
+ intermediate.addSymbolLinkageNodes(linkage, getLanguage(), symbolTable);
+ }
+}
+
} // end namespace glslang
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
index 965cb07c..016f07a2 100644
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -50,15 +50,12 @@ namespace glslang {
TParseContext::TParseContext(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins,
int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language,
TInfoSink& infoSink, bool forwardCompatible, EShMessages messages) :
- TParseContextBase(symbolTable, interm, version, profile, spvVersion, language, infoSink, forwardCompatible, messages),
+ TParseContextBase(symbolTable, interm, parsingBuiltins, version, profile, spvVersion, language, infoSink, forwardCompatible, messages),
contextPragma(true, false), loopNestingLevel(0), structNestingLevel(0), controlFlowNestingLevel(0), statementNestingLevel(0),
inMain(false), postMainReturn(false), currentFunctionType(nullptr), blockName(nullptr),
- limits(resources.limits), parsingBuiltins(parsingBuiltins),
+ limits(resources.limits),
atomicUintOffsets(nullptr), anyIndexLimits(false)
{
- // ensure we always have a linkage node, even if empty, to simplify tree topology algorithms
- linkage = new TIntermAggregate;
-
// decide whether precision qualifiers should be ignored or respected
if (profile == EEsProfile || spvVersion.vulkan > 0) {
precisionManager.respectPrecisionQualifiers();
@@ -184,8 +181,8 @@ bool TParseContext::parseShaderStrings(TPpContext& ppContext, TInputScanner& inp
currentScanner = &input;
ppContext.setInput(input, versionWillBeError);
yyparse(this);
- if (! parsingBuiltins)
- finalErrorCheck();
+
+ finish();
return numErrors == 0;
}
@@ -3093,7 +3090,7 @@ void TParseContext::arrayDimMerge(TType& type, const TArraySizes* sizes)
// Do all the semantic checking for declaring or redeclaring an array, with and
// without a size, and make the right changes to the symbol table.
//
-void TParseContext::declareArray(const TSourceLoc& loc, TString& identifier, const TType& type, TSymbol*& symbol, bool& newDeclaration)
+void TParseContext::declareArray(const TSourceLoc& loc, TString& identifier, const TType& type, TSymbol*& symbol)
{
if (symbol == nullptr) {
bool currentScope;
@@ -3111,7 +3108,8 @@ void TParseContext::declareArray(const TSourceLoc& loc, TString& identifier, con
//
symbol = new TVariable(&identifier, type);
symbolTable.insert(*symbol);
- newDeclaration = true;
+ if (symbolTable.atGlobalLevel())
+ trackLinkageDeferred(*symbol);
if (! symbolTable.atBuiltInLevel()) {
if (isIoResizeArray(type)) {
@@ -3271,7 +3269,8 @@ void TParseContext::nonInitConstCheck(const TSourceLoc& loc, TString& identifier
//
// Returns a redeclared and type-modified variable if a redeclarated occurred.
//
-TSymbol* TParseContext::redeclareBuiltinVariable(const TSourceLoc& loc, const TString& identifier, const TQualifier& qualifier, const TShaderQualifiers& publicType, bool& newDeclaration)
+TSymbol* TParseContext::redeclareBuiltinVariable(const TSourceLoc& loc, const TString& identifier,
+ const TQualifier& qualifier, const TShaderQualifiers& publicType)
{
if (! builtInName(identifier) || symbolTable.atBuiltInLevel() || ! symbolTable.atGlobalLevel())
return nullptr;
@@ -3318,11 +3317,8 @@ TSymbol* TParseContext::redeclareBuiltinVariable(const TSourceLoc& loc, const TS
// If it wasn't at a built-in level, then it's already been redeclared;
// that is, this is a redeclaration of a redeclaration; reuse that initial
// redeclaration. Otherwise, make the new one.
- if (builtIn) {
- // Copy the symbol up to make a writable version
+ if (builtIn)
makeEditable(symbol);
- newDeclaration = true;
- }
// Now, modify the type of the copy, as per the type of the current redeclaration.
@@ -3540,7 +3536,7 @@ void TParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& newT
fixIoArraySize(loc, block->getWritableType());
// Save it in the AST for linker use.
- intermediate.addSymbolLinkageNode(linkage, *block);
+ trackLinkageDeferred(*block);
}
void TParseContext::paramCheckFix(const TSourceLoc& loc, const TStorageQualifier& qualifier, TType& type)
@@ -3794,8 +3790,13 @@ void TParseContext::limitCheck(const TSourceLoc& loc, int value, const char* lim
//
// Do any additional error checking, etc., once we know the parsing is done.
//
-void TParseContext::finalErrorCheck()
+void TParseContext::finish()
{
+ TParseContextBase::finish();
+
+ if (parsingBuiltins)
+ return;
+
// Check on array indexes for ES 2.0 (version 100) limitations.
for (size_t i = 0; i < needsIndexLimitationChecking.size(); ++i)
constantIndexExpressionCheck(needsIndexLimitationChecking[i]);
@@ -4971,8 +4972,7 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden
error(loc, "can only apply depth layout to gl_FragDepth", "layout qualifier", "");
// Check for redeclaration of built-ins and/or attempting to declare a reserved name
- bool newDeclaration = false; // true if a new entry gets added to the symbol table
- TSymbol* symbol = redeclareBuiltinVariable(loc, identifier, type.getQualifier(), publicType.shaderQualifiers, newDeclaration);
+ TSymbol* symbol = redeclareBuiltinVariable(loc, identifier, type.getQualifier(), publicType.shaderQualifiers);
if (symbol == nullptr)
reservedErrorCheck(loc, identifier);
@@ -4990,7 +4990,7 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden
arrayUnsizedCheck(loc, type.getQualifier(), &type.getArraySizes(), initializer != nullptr, false);
if (! arrayQualifierError(loc, type.getQualifier()) && ! arrayError(loc, type))
- declareArray(loc, identifier, type, symbol, newDeclaration);
+ declareArray(loc, identifier, type, symbol);
if (initializer) {
profileRequires(loc, ENoProfile, 120, E_GL_3DL_array_objects, "initializer");
@@ -4999,7 +4999,7 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden
} else {
// non-array case
if (symbol == nullptr)
- symbol = declareNonArray(loc, identifier, type, newDeclaration);
+ symbol = declareNonArray(loc, identifier, type);
else if (type != symbol->getType())
error(loc, "cannot change the type of", "redeclaration", symbol->getName().c_str());
}
@@ -5022,10 +5022,6 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden
layoutObjectCheck(loc, *symbol);
fixOffset(loc, *symbol);
- // see if it's a linker-level object to track
- if (newDeclaration && symbolTable.atGlobalLevel())
- intermediate.addSymbolLinkageNode(linkage, *symbol);
-
return initNode;
}
@@ -5061,20 +5057,22 @@ TVariable* TParseContext::makeInternalVariable(const char* name, const TType& ty
//
// Return the successfully declared variable.
//
-TVariable* TParseContext::declareNonArray(const TSourceLoc& loc, TString& identifier, TType& type, bool& newDeclaration)
+TVariable* TParseContext::declareNonArray(const TSourceLoc& loc, TString& identifier, TType& type)
{
// make a new variable
TVariable* variable = new TVariable(&identifier, type);
ioArrayCheck(loc, type, identifier);
+
// add variable to symbol table
- if (! symbolTable.insert(*variable)) {
- error(loc, "redefinition", variable->getName().c_str(), "");
- return nullptr;
- } else {
- newDeclaration = true;
+ if (symbolTable.insert(*variable)) {
+ if (symbolTable.atGlobalLevel())
+ trackLinkageDeferred(*variable);
return variable;
}
+
+ error(loc, "redefinition", variable->getName().c_str(), "");
+ return nullptr;
}
//
@@ -5731,7 +5729,7 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con
fixIoArraySize(loc, variable.getWritableType());
// Save it in the AST for linker use.
- intermediate.addSymbolLinkageNode(linkage, variable);
+ trackLinkageDeferred(variable);
}
// Do all block-declaration checking regarding the combination of in/out/uniform/buffer
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
index 0f60ff7f..165601d2 100644
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -73,13 +73,16 @@ typedef std::set<int> TIdSetType;
//
class TParseContextBase : public TParseVersions {
public:
- TParseContextBase(TSymbolTable& symbolTable, TIntermediate& interm, int version,
+ TParseContextBase(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins, int version,
EProfile profile, const SpvVersion& spvVersion, EShLanguage language,
TInfoSink& infoSink, bool forwardCompatible, EShMessages messages)
: TParseVersions(interm, version, profile, spvVersion, language, infoSink, forwardCompatible, messages),
symbolTable(symbolTable),
- linkage(nullptr), scanContext(nullptr), ppContext(nullptr),
- globalUniformBlock(nullptr) { }
+ parsingBuiltins(parsingBuiltins), scanContext(nullptr), ppContext(nullptr),
+ globalUniformBlock(nullptr)
+ {
+ linkage = new TIntermAggregate;
+ }
virtual ~TParseContextBase() { }
virtual void C_DECL error(const TSourceLoc&, const char* szReason, const char* szToken,
@@ -94,7 +97,6 @@ public:
virtual void setLimits(const TBuiltInResource&) = 0;
EShLanguage getLanguage() const { return language; }
- TIntermAggregate*& getLinkage() { return linkage; }
void setScanContext(TScanContext* c) { scanContext = c; }
TScanContext* getScanContext() const { return scanContext; }
void setPpContext(TPpContext* c) { ppContext = c; }
@@ -150,7 +152,8 @@ protected:
TParseContextBase(TParseContextBase&);
TParseContextBase& operator=(TParseContextBase&);
- TIntermAggregate* linkage; // aggregate node of objects the linker may need, if not referenced by the rest of the AST
+ const bool parsingBuiltins; // true if parsing built-in symbols/functions
+ TVector<TSymbol*> linkageSymbols; // these need to be transferred to 'linkage', after all editing is done
TScanContext* scanContext;
TPpContext* ppContext;
@@ -177,8 +180,14 @@ protected:
virtual void outputMessage(const TSourceLoc&, const char* szReason, const char* szToken,
const char* szExtraInfoFormat, TPrefixType prefix,
va_list args);
+ virtual void trackLinkage(TSymbol& symbol);
+ virtual void trackLinkageDeferred(TSymbol& symbol);
virtual void makeEditable(TSymbol*&);
virtual TVariable* getEditableVariable(const char* name);
+ virtual void finish();
+
+private:
+ TIntermAggregate* linkage;
};
//
@@ -314,7 +323,7 @@ public:
void precisionQualifierCheck(const TSourceLoc&, TBasicType, TQualifier&);
void parameterTypeCheck(const TSourceLoc&, TStorageQualifier qualifier, const TType& type);
bool containsFieldWithBasicType(const TType& type ,TBasicType basicType);
- TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&, bool& newDeclaration);
+ TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&);
void redeclareBuiltinBlock(const TSourceLoc&, TTypeList& typeList, const TString& blockName, const TString* instanceName, TArraySizes* arraySizes);
void paramCheckFix(const TSourceLoc&, const TStorageQualifier&, TType& type);
void paramCheckFix(const TSourceLoc&, const TQualifier&, TType& type);
@@ -368,11 +377,11 @@ protected:
void nonInitConstCheck(const TSourceLoc&, TString& identifier, TType& type);
void inheritGlobalDefaults(TQualifier& dst) const;
TVariable* makeInternalVariable(const char* name, const TType&) const;
- TVariable* declareNonArray(const TSourceLoc&, TString& identifier, TType&, bool& newDeclaration);
- void declareArray(const TSourceLoc&, TString& identifier, const TType&, TSymbol*&, bool& newDeclaration);
+ TVariable* declareNonArray(const TSourceLoc&, TString& identifier, TType&);
+ void declareArray(const TSourceLoc&, TString& identifier, const TType&, TSymbol*&);
TIntermNode* executeInitializer(const TSourceLoc&, TIntermTyped* initializer, TVariable* variable);
TIntermTyped* convertInitializerList(const TSourceLoc&, const TType&, TIntermTyped* initializer);
- void finalErrorCheck();
+ void finish() override;
public:
//
@@ -401,7 +410,6 @@ protected:
TParseContext(TParseContext&);
TParseContext& operator=(TParseContext&);
- const bool parsingBuiltins; // true if parsing built-in symbols/functions
static const int maxSamplerIndex = EsdNumDims * (EbtNumTypes * (2 * 2 * 2 * 2 * 2)); // see computeSamplerTypeIndex()
TPrecisionQualifier defaultSamplerPrecision[maxSamplerIndex];
TPrecisionManager precisionManager;
diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp
index eb4a17d4..4d78a70f 100644
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -947,7 +947,6 @@ struct DoFullParse{
// Parse the full shader.
if (! parseContext.parseShaderStrings(ppContext, fullInput, versionWillBeError))
success = false;
- intermediate.addSymbolLinkageNodes(parseContext.getLinkage(), parseContext.getLanguage(), symbolTable);
if (success && intermediate.getTreeRoot()) {
if (optLevel == EShOptNoGeneration)
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
index 1dd14403..13e1b147 100644
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -260,7 +260,6 @@ public:
// Linkage related
void addSymbolLinkageNodes(TIntermAggregate*& linkage, EShLanguage, TSymbolTable&);
- void addSymbolLinkageNode(TIntermAggregate*& linkage, TSymbolTable&, const TString&);
void addSymbolLinkageNode(TIntermAggregate*& linkage, const TSymbol&);
bool setInvocations(int i)
@@ -396,6 +395,7 @@ protected:
bool promote(TIntermOperator*);
bool promoteUnary(TIntermUnary&);
bool promoteBinary(TIntermBinary&);
+ void addSymbolLinkageNode(TIntermAggregate*& linkage, TSymbolTable&, const TString&);
const EShLanguage language; // stage, known at construction time
EShSource source; // source language, known a bit later
diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp
index a55af518..9911e0e0 100644
--- a/gtests/Spv.FromFile.cpp
+++ b/gtests/Spv.FromFile.cpp
@@ -233,6 +233,7 @@ INSTANTIATE_TEST_CASE_P(
"spv.offsets.frag",
"spv.Operations.frag",
"spv.intOps.vert",
+ "spv.noWorkgroup.comp",
"spv.precision.frag",
"spv.prepost.frag",
"spv.qualifiers.vert",
diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp
index cf97ec7e..abe027ec 100755
--- a/hlsl/hlslParseHelper.cpp
+++ b/hlsl/hlslParseHelper.cpp
@@ -48,10 +48,10 @@
namespace glslang {
-HlslParseContext::HlslParseContext(TSymbolTable& symbolTable, TIntermediate& interm, bool /*parsingBuiltins*/,
+HlslParseContext::HlslParseContext(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins,
int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TInfoSink& infoSink,
bool forwardCompatible, EShMessages messages) :
- TParseContextBase(symbolTable, interm, version, profile, spvVersion, language, infoSink, forwardCompatible, messages),
+ TParseContextBase(symbolTable, interm, parsingBuiltins, version, profile, spvVersion, language, infoSink, forwardCompatible, messages),
contextPragma(true, false),
loopNestingLevel(0), annotationNestingLevel(0), structNestingLevel(0), controlFlowNestingLevel(0),
postMainReturn(false),
@@ -59,9 +59,6 @@ HlslParseContext::HlslParseContext(TSymbolTable& symbolTable, TIntermediate& int
entryPointOutput(nullptr),
nextInLocation(0), nextOutLocation(0)
{
- // ensure we always have a linkage node, even if empty, to simplify tree topology algorithms
- linkage = new TIntermAggregate;
-
globalUniformDefaults.clear();
globalUniformDefaults.layoutMatrix = ElmRowMajor;
globalUniformDefaults.layoutPacking = ElpStd140;
@@ -128,6 +125,8 @@ bool HlslParseContext::parseShaderStrings(TPpContext& ppContext, TInputScanner&
return false;
}
+ finish();
+
return numErrors == 0;
}
@@ -950,9 +949,9 @@ void HlslParseContext::flattenArray(const TSourceLoc& loc, const TVariable& vari
++binding;
memberVariables.push_back(memberVariable);
- intermediate.addSymbolLinkageNode(linkage, *memberVariable);
+ trackLinkageDeferred(*memberVariable);
}
-
+
flattenMap[variable.getUniqueId()] = memberVariables;
}
@@ -989,7 +988,7 @@ void HlslParseContext::assignLocations(TVariable& variable)
nextOutLocation += intermediate.computeTypeLocationSize(variable.getType());
}
}
- intermediate.addSymbolLinkageNode(linkage, variable);
+ trackLinkage(variable);
}
};
@@ -3588,7 +3587,7 @@ void HlslParseContext::arrayDimMerge(TType& type, const TArraySizes* sizes)
// Do all the semantic checking for declaring or redeclaring an array, with and
// without a size, and make the right changes to the symbol table.
//
-void HlslParseContext::declareArray(const TSourceLoc& loc, TString& identifier, const TType& type, TSymbol*& symbol, bool& newDeclaration)
+void HlslParseContext::declareArray(const TSourceLoc& loc, TString& identifier, const TType& type, TSymbol*& symbol, bool track)
{
if (! symbol) {
bool currentScope;
@@ -3605,7 +3604,8 @@ void HlslParseContext::declareArray(const TSourceLoc& loc, TString& identifier,
//
symbol = new TVariable(&identifier, type);
symbolTable.insert(*symbol);
- newDeclaration = true;
+ if (track && symbolTable.atGlobalLevel())
+ trackLinkageDeferred(*symbol);
return;
}
@@ -3628,7 +3628,6 @@ void HlslParseContext::declareArray(const TSourceLoc& loc, TString& identifier,
// redeclareBuiltinVariable() should have already done the copyUp()
TType& existingType = symbol->getWritableType();
-
if (existingType.isExplicitlySizedArray()) {
// be more lenient for input arrays to geometry shaders and tessellation control outputs, where the redeclaration is the same size
return;
@@ -3695,7 +3694,7 @@ void HlslParseContext::updateImplicitArraySize(const TSourceLoc& loc, TIntermNod
//
TSymbol* HlslParseContext::redeclareBuiltinVariable(const TSourceLoc& /*loc*/, const TString& identifier,
const TQualifier& /*qualifier*/,
- const TShaderQualifiers& /*publicType*/, bool& /*newDeclaration*/)
+ const TShaderQualifiers& /*publicType*/)
{
if (! builtInName(identifier) || symbolTable.atBuiltInLevel() || ! symbolTable.atGlobalLevel())
return nullptr;
@@ -3820,7 +3819,7 @@ void HlslParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& n
symbolTable.insert(*block);
// Save it in the AST for linker use.
- intermediate.addSymbolLinkageNode(linkage, *block);
+ trackLinkageDeferred(*block);
}
void HlslParseContext::paramFix(TType& type)
@@ -4413,8 +4412,7 @@ TIntermNode* HlslParseContext::declareVariable(const TSourceLoc& loc, TString& i
return nullptr;
// Check for redeclaration of built-ins and/or attempting to declare a reserved name
- bool newDeclaration = false; // true if a new entry gets added to the symbol table
- TSymbol* symbol = nullptr; // = redeclareBuiltinVariable(loc, identifier, type.getQualifier(), parseType.shaderQualifiers, newDeclaration);
+ TSymbol* symbol = nullptr;
inheritGlobalDefaults(type.getQualifier());
@@ -4423,14 +4421,14 @@ TIntermNode* HlslParseContext::declareVariable(const TSourceLoc& loc, TString& i
// Declare the variable
if (type.isArray()) {
// array case
- declareArray(loc, identifier, type, symbol, newDeclaration);
flattenVar = shouldFlatten(type);
+ declareArray(loc, identifier, type, symbol, !flattenVar);
if (flattenVar)
flatten(loc, *symbol->getAsVariable());
} else {
// non-array case
if (! symbol)
- symbol = declareNonArray(loc, identifier, type, newDeclaration);
+ symbol = declareNonArray(loc, identifier, type);
else if (type != symbol->getType())
error(loc, "cannot change the type of", "redeclaration", symbol->getName().c_str());
}
@@ -4452,13 +4450,6 @@ TIntermNode* HlslParseContext::declareVariable(const TSourceLoc& loc, TString& i
initNode = executeInitializer(loc, initializer, variable);
}
- // see if it's a linker-level object to track. if it's flattened above,
- // that process added linkage objects for the flattened symbols, we don't
- // add the aggregate here.
- if (!flattenVar)
- if (newDeclaration && symbolTable.atGlobalLevel())
- intermediate.addSymbolLinkageNode(linkage, *symbol);
-
return initNode;
}
@@ -4494,19 +4485,20 @@ TVariable* HlslParseContext::makeInternalVariable(const char* name, const TType&
//
// Return the successfully declared variable.
//
-TVariable* HlslParseContext::declareNonArray(const TSourceLoc& loc, TString& identifier, TType& type, bool& newDeclaration)
+TVariable* HlslParseContext::declareNonArray(const TSourceLoc& loc, TString& identifier, TType& type)
{
// make a new variable
TVariable* variable = new TVariable(&identifier, type);
// add variable to symbol table
- if (! symbolTable.insert(*variable)) {
- error(loc, "redefinition", variable->getName().c_str(), "");
- return nullptr;
- } else {
- newDeclaration = true;
+ if (symbolTable.insert(*variable)) {
+ if (symbolTable.atGlobalLevel())
+ trackLinkageDeferred(*variable);
return variable;
}
+
+ error(loc, "redefinition", variable->getName().c_str(), "");
+ return nullptr;
}
//
@@ -5019,7 +5011,7 @@ void HlslParseContext::declareBlock(const TSourceLoc& loc, TType& type, const TS
}
// Save it in the AST for linker use.
- intermediate.addSymbolLinkageNode(linkage, variable);
+ trackLinkageDeferred(variable);
}
void HlslParseContext::finalizeGlobalUniformBlockLayout(TVariable& block)
diff --git a/hlsl/hlslParseHelper.h b/hlsl/hlslParseHelper.h
index 8410c344..9a7285f9 100755
--- a/hlsl/hlslParseHelper.h
+++ b/hlsl/hlslParseHelper.h
@@ -114,7 +114,7 @@ public:
bool structQualifierErrorCheck(const TSourceLoc&, const TPublicType& pType);
void mergeQualifiers(TQualifier& dst, const TQualifier& src);
int computeSamplerTypeIndex(TSampler&);
- TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&, bool& newDeclaration);
+ TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&);
void redeclareBuiltinBlock(const TSourceLoc&, TTypeList& typeList, const TString& blockName, const TString* instanceName, TArraySizes* arraySizes);
void paramFix(TType& type);
void specializationCheck(const TSourceLoc&, const TType&, const char* op);
@@ -163,8 +163,8 @@ public:
protected:
void inheritGlobalDefaults(TQualifier& dst) const;
TVariable* makeInternalVariable(const char* name, const TType&) const;
- TVariable* declareNonArray(const TSourceLoc&, TString& identifier, TType&, bool& newDeclaration);
- void declareArray(const TSourceLoc&, TString& identifier, const TType&, TSymbol*&, bool& newDeclaration);
+ TVariable* declareNonArray(const TSourceLoc&, TString& identifier, TType&);
+ void declareArray(const TSourceLoc&, TString& identifier, const TType&, TSymbol*&, bool track);
TIntermNode* executeInitializer(const TSourceLoc&, TIntermTyped* initializer, TVariable* variable);
TIntermTyped* convertInitializerList(const TSourceLoc&, const TType&, TIntermTyped* initializer);
TOperator mapAtomicOp(const TSourceLoc& loc, TOperator op, bool isImage);