Merge pull request #576 from steve-lunarg/uav-registers
Add UAV (image) binding offset and HLSL register class support
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index 3e0ad4f..37aac17 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -4118,11 +4118,9 @@
// Create group invocation operations.
spv::Id TGlslangToSpvTraverser::createInvocationsOperation(glslang::TOperator op, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy)
{
- bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
#ifdef AMD_EXTENSIONS
+ bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
-#else
- bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
#endif
spv::Op opCode = spv::OpNop;
@@ -4599,7 +4597,7 @@
builder.createNoResultOp(spv::OpEndPrimitive);
return 0;
case glslang::EOpBarrier:
- builder.createControlBarrier(spv::ScopeDevice, spv::ScopeDevice, spv::MemorySemanticsMaskNone);
+ builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeDevice, spv::MemorySemanticsMaskNone);
return 0;
case glslang::EOpMemoryBarrier:
builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsAllMemory);
diff --git a/Test/baseResults/100.frag.out b/Test/baseResults/100.frag.out
index edd65ab..74a597f 100644
--- a/Test/baseResults/100.frag.out
+++ b/Test/baseResults/100.frag.out
@@ -393,13 +393,13 @@
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 @@
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 73ced6a..18fb221 100644
--- a/Test/baseResults/120.vert.out
+++ b/Test/baseResults/120.vert.out
@@ -420,7 +420,6 @@
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 @@
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 b2b4dd0..a28908e 100644
--- a/Test/baseResults/130.frag.out
+++ b/Test/baseResults/130.frag.out
@@ -383,8 +383,7 @@
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 @@
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 fbeee83..38c3b9f 100644
--- a/Test/baseResults/140.frag.out
+++ b/Test/baseResults/140.frag.out
@@ -104,7 +104,6 @@
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 @@
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 634458c..365a0aa 100644
--- a/Test/baseResults/140.vert.out
+++ b/Test/baseResults/140.vert.out
@@ -124,10 +124,7 @@
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)
@@ -254,10 +251,7 @@
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)
diff --git a/Test/baseResults/150.frag.out b/Test/baseResults/150.frag.out
index 082a827..0972fdc 100644
--- a/Test/baseResults/150.frag.out
+++ b/Test/baseResults/150.frag.out
@@ -108,7 +108,6 @@
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 @@
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 ecfa3d5..d35929f 100644
--- a/Test/baseResults/300.vert.out
+++ b/Test/baseResults/300.vert.out
@@ -308,9 +308,9 @@
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 @@
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 6cfd3f4..66d6ae0 100644
--- a/Test/baseResults/310.frag.out
+++ b/Test/baseResults/310.frag.out
@@ -963,7 +963,6 @@
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 @@
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 33a8c9a..9090414 100644
--- a/Test/baseResults/400.frag.out
+++ b/Test/baseResults/400.frag.out
@@ -481,8 +481,6 @@
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 @@
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 784cdb4..3b4c9be 100644
--- a/Test/baseResults/420.frag.out
+++ b/Test/baseResults/420.frag.out
@@ -19,7 +19,6 @@
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 @@
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 1be5906..44d7655 100755
--- a/Test/baseResults/hlsl.amend.frag.out
+++ b/Test/baseResults/hlsl.amend.frag.out
@@ -58,7 +58,7 @@
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 @@
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 cbfb0ef..74a348a 100644
--- a/Test/baseResults/hlsl.array.flatten.frag.out
+++ b/Test/baseResults/hlsl.array.flatten.frag.out
@@ -138,6 +138,7 @@
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 @@
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 @@
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 @@
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 00aedb3..e04a5e8 100755
--- a/Test/baseResults/hlsl.array.frag.out
+++ b/Test/baseResults/hlsl.array.frag.out
@@ -57,9 +57,9 @@
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 @@
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 a2df1a8..66890b5 100644
--- a/Test/baseResults/hlsl.array.multidim.frag.out
+++ b/Test/baseResults/hlsl.array.multidim.frag.out
@@ -59,7 +59,7 @@
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 @@
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.attribute.expression.comp.out b/Test/baseResults/hlsl.attribute.expression.comp.out
new file mode 100644
index 0000000..2316cd9
--- /dev/null
+++ b/Test/baseResults/hlsl.attribute.expression.comp.out
@@ -0,0 +1,138 @@
+hlsl.attribute.expression.comp
+Shader version: 450
+local_size = (4, 6, 8)
+0:? Sequence
+0:9 Function Definition: main( (temp 4-component vector of float)
+0:9 Function Parameters:
+0:? Sequence
+0:11 Sequence
+0:11 move second child to first child (temp int)
+0:11 'x' (temp int)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Loop with condition tested first
+0:11 Loop Condition
+0:11 Compare Less Than (temp bool)
+0:11 'x' (temp int)
+0:11 bound: direct index for structure (layout(offset=0 ) uniform int)
+0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
+0:11 Constant:
+0:11 0 (const uint)
+0:11 No loop body
+0:11 Loop Terminal Expression
+0:11 Pre-Increment (temp int)
+0:11 'x' (temp int)
+0:14 Sequence
+0:14 move second child to first child (temp 4-component vector of float)
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? Constant:
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:14 Branch: Return
+0:? Linker Objects
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+local_size = (4, 6, 8)
+0:? Sequence
+0:9 Function Definition: main( (temp 4-component vector of float)
+0:9 Function Parameters:
+0:? Sequence
+0:11 Sequence
+0:11 move second child to first child (temp int)
+0:11 'x' (temp int)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Loop with condition tested first
+0:11 Loop Condition
+0:11 Compare Less Than (temp bool)
+0:11 'x' (temp int)
+0:11 bound: direct index for structure (layout(offset=0 ) uniform int)
+0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
+0:11 Constant:
+0:11 0 (const uint)
+0:11 No loop body
+0:11 Loop Terminal Expression
+0:11 Pre-Increment (temp int)
+0:11 'x' (temp int)
+0:14 Sequence
+0:14 move second child to first child (temp 4-component vector of float)
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? Constant:
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:14 Branch: Return
+0:? Linker Objects
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 34
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main" 30
+ ExecutionMode 4 LocalSize 4 6 8
+ Name 4 "main"
+ Name 8 "x"
+ Name 16 "$Global"
+ MemberName 16($Global) 0 "bound"
+ Name 18 ""
+ Name 30 "@entryPointOutput"
+ MemberDecorate 16($Global) 0 Offset 0
+ Decorate 16($Global) Block
+ Decorate 18 DescriptorSet 0
+ Decorate 30(@entryPointOutput) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 16($Global): TypeStruct 6(int)
+ 17: TypePointer Uniform 16($Global)
+ 18: 17(ptr) Variable Uniform
+ 19: TypePointer Uniform 6(int)
+ 22: TypeBool
+ 25: 6(int) Constant 1
+ 27: TypeFloat 32
+ 28: TypeVector 27(float) 4
+ 29: TypePointer Output 28(fvec4)
+30(@entryPointOutput): 29(ptr) Variable Output
+ 31: 27(float) Constant 0
+ 32: 28(fvec4) ConstantComposite 31 31 31 31
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(x): 7(ptr) Variable Function
+ Store 8(x) 9
+ Branch 10
+ 10: Label
+ LoopMerge 12 13 None
+ Branch 14
+ 14: Label
+ 15: 6(int) Load 8(x)
+ 20: 19(ptr) AccessChain 18 9
+ 21: 6(int) Load 20
+ 23: 22(bool) SLessThan 15 21
+ BranchConditional 23 11 12
+ 11: Label
+ Branch 13
+ 13: Label
+ 24: 6(int) Load 8(x)
+ 26: 6(int) IAdd 24 25
+ Store 8(x) 26
+ Branch 10
+ 12: Label
+ Store 30(@entryPointOutput) 32
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.basic.comp.out b/Test/baseResults/hlsl.basic.comp.out
index c6dc3e5..9101e22 100755
--- a/Test/baseResults/hlsl.basic.comp.out
+++ b/Test/baseResults/hlsl.basic.comp.out
@@ -8,8 +8,8 @@
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 @@
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 2eb1f9c..dbb2b5e 100755
--- a/Test/baseResults/hlsl.buffer.frag.out
+++ b/Test/baseResults/hlsl.buffer.frag.out
@@ -32,12 +32,12 @@
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 @@
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 ff18441..56a2ce8 100644
--- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
@@ -155,6 +155,8 @@
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 @@
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 @@
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 @@
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 ecd1f0d..799dcc3 100644
--- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
@@ -167,6 +167,8 @@
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 @@
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 @@
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 @@
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 8a31f63..1bf63ec 100644
--- a/Test/baseResults/hlsl.comparison.vec.frag.out
+++ b/Test/baseResults/hlsl.comparison.vec.frag.out
@@ -122,8 +122,8 @@
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 @@
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 @@
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 6caac24..8d45d6e 100755
--- a/Test/baseResults/hlsl.float4.frag.out
+++ b/Test/baseResults/hlsl.float4.frag.out
@@ -17,7 +17,7 @@
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 @@
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 a09b87c..15727d9 100644
--- a/Test/baseResults/hlsl.gather.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out
@@ -107,6 +107,8 @@
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 @@
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 @@
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 @@
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 467ccf4..26a5f38 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
@@ -101,6 +101,8 @@
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 @@
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 @@
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 @@
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 d08a57e..b7a4d6e 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
@@ -87,6 +87,7 @@
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 @@
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 @@
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 @@
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 ff7eb39..2feb0ee 100644
--- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
@@ -77,6 +77,8 @@
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 @@
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 @@
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 @@
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 dc64a80..2dede7b 100644
--- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
@@ -80,6 +80,8 @@
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 @@
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 @@
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 @@
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 4e78cda..eb7cf83 100644
--- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
@@ -350,6 +350,8 @@
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 @@
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 @@
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 @@
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 ef1e7e0..b92874e 100644
--- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
@@ -350,6 +350,8 @@
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 @@
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 @@
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 @@
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 f178c3b..5da611c 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
@@ -602,6 +602,8 @@
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 @@
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 @@
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 @@
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 f565379..f472ee2 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
@@ -602,6 +602,8 @@
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 @@
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 @@
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 @@
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 3a55d68..0c488cf 100644
--- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out
@@ -1076,6 +1076,8 @@
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 @@
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 @@
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 @@
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 3a05bca..c1c90f4 100644
--- a/Test/baseResults/hlsl.getdimensions.dx10.vert.out
+++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out
@@ -46,9 +46,9 @@
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 @@
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 717c376..918246b 100644
--- a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
@@ -326,6 +326,8 @@
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 @@
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 @@
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 @@
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 @@
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 9465c62..7d8d9be 100644
--- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
+++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
@@ -59,11 +59,11 @@
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 @@
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 b31921b..42f94ca 100755
--- a/Test/baseResults/hlsl.init.frag.out
+++ b/Test/baseResults/hlsl.init.frag.out
@@ -132,6 +132,8 @@
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 @@
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 @@
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 @@
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 cd366fc..732e254 100644
--- a/Test/baseResults/hlsl.intrinsics.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.comp.out
@@ -309,6 +309,12 @@
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 @@
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 @@
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 @@
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 d5a0f99..a5a119a 100644
--- a/Test/baseResults/hlsl.intrinsics.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.frag.out
@@ -2782,6 +2782,7 @@
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 @@
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 @@
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 @@
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 72b6fbc..b57a5a9 100644
--- a/Test/baseResults/hlsl.intrinsics.negative.vert.out
+++ b/Test/baseResults/hlsl.intrinsics.negative.vert.out
@@ -114,6 +114,11 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 9c1b4ad..288a0f3 100644
--- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
@@ -158,6 +158,8 @@
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 @@
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 @@
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 @@
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 ed2951f..8c4f7c8 100644
--- a/Test/baseResults/hlsl.load.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.array.dx10.frag.out
@@ -158,6 +158,8 @@
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 @@
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 @@
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 @@
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 3a4b3fc..c8e8eb6 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out
@@ -209,6 +209,8 @@
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 @@
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 @@
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 @@
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 9495c60..a86f0ae 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out
@@ -195,6 +195,7 @@
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 @@
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 @@
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 @@
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 560d8f5..c80ddcf 100644
--- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
@@ -65,13 +65,13 @@
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 @@
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 6d64b94..c0cd152 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 @@
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 @@
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 069e05d..9a14b65 100644
--- a/Test/baseResults/hlsl.load.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out
@@ -245,6 +245,8 @@
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 @@
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 @@
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 @@
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 ed89ee8..fb58eff 100644
--- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
@@ -182,6 +182,8 @@
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 @@
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 @@
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 @@
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 7b26372..e9cc394 100644
--- a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
@@ -43,11 +43,11 @@
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 @@
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 8ac94d0..a81ddf5 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 @@
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 @@
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 @@
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 @@
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 ca59015..b5435ba 100644
--- a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
@@ -92,6 +92,8 @@
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 @@
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 @@
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 @@
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 9e6593e..d9ae7d5 100644
--- a/Test/baseResults/hlsl.logical.binary.frag.out
+++ b/Test/baseResults/hlsl.logical.binary.frag.out
@@ -56,7 +56,7 @@
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 @@
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 2ada44a..32b5a38 100644
--- a/Test/baseResults/hlsl.logical.binary.vec.frag.out
+++ b/Test/baseResults/hlsl.logical.binary.vec.frag.out
@@ -119,7 +119,7 @@
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 @@
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 e3def3c..1aaa69a 100644
--- a/Test/baseResults/hlsl.logical.unary.frag.out
+++ b/Test/baseResults/hlsl.logical.unary.frag.out
@@ -82,7 +82,7 @@
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 @@
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 0066a1d..9b8e456 100755
--- a/Test/baseResults/hlsl.matType.frag.out
+++ b/Test/baseResults/hlsl.matType.frag.out
@@ -10,7 +10,7 @@
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 @@
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 @@
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 8c637c1..420ba9f 100644
--- a/Test/baseResults/hlsl.matrixindex.frag.out
+++ b/Test/baseResults/hlsl.matrixindex.frag.out
@@ -128,7 +128,7 @@
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 @@
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 34d326e..84c7a8c 100644
--- a/Test/baseResults/hlsl.mintypes.frag.out
+++ b/Test/baseResults/hlsl.mintypes.frag.out
@@ -41,7 +41,7 @@
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 @@
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 @@
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 8f8c42a..f0d05ab 100755
--- a/Test/baseResults/hlsl.multiEntry.vert.out
+++ b/Test/baseResults/hlsl.multiEntry.vert.out
@@ -21,9 +21,9 @@
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 @@
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 e9205cf..cd2af74 100644
--- a/Test/baseResults/hlsl.precise.frag.out
+++ b/Test/baseResults/hlsl.precise.frag.out
@@ -29,8 +29,8 @@
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 @@
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 a2e7176..2c7425e 100644
--- a/Test/baseResults/hlsl.promote.binary.frag.out
+++ b/Test/baseResults/hlsl.promote.binary.frag.out
@@ -78,7 +78,7 @@
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 @@
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.promote.vec1.frag.out b/Test/baseResults/hlsl.promote.vec1.frag.out
new file mode 100644
index 0000000..3b68450
--- /dev/null
+++ b/Test/baseResults/hlsl.promote.vec1.frag.out
@@ -0,0 +1,118 @@
+hlsl.promote.vec1.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:3 Function Definition: main( (temp 4-component vector of float)
+0:3 Function Parameters:
+0:? Sequence
+0:7 move second child to first child (temp float)
+0:7 'f1a' (temp float)
+0:7 Construct float (temp float)
+0:7 'f1b' (temp 1-component vector of float)
+0:8 move second child to first child (temp 1-component vector of float)
+0:8 'f1b' (temp 1-component vector of float)
+0:8 Construct float (temp 1-component vector of float)
+0:8 'f1a' (temp float)
+0:11 step (global 3-component vector of float)
+0:11 Constant:
+0:11 0.000000
+0:11 0.000000
+0:11 0.000000
+0:11 'f3' (temp 3-component vector of float)
+0:13 sine (global float)
+0:13 Construct float (in float)
+0:13 'f1b' (temp 1-component vector of float)
+0:15 Sequence
+0:15 move second child to first child (temp 4-component vector of float)
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? Constant:
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:15 Branch: Return
+0:? Linker Objects
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:3 Function Definition: main( (temp 4-component vector of float)
+0:3 Function Parameters:
+0:? Sequence
+0:7 move second child to first child (temp float)
+0:7 'f1a' (temp float)
+0:7 Construct float (temp float)
+0:7 'f1b' (temp 1-component vector of float)
+0:8 move second child to first child (temp 1-component vector of float)
+0:8 'f1b' (temp 1-component vector of float)
+0:8 Construct float (temp 1-component vector of float)
+0:8 'f1a' (temp float)
+0:11 step (global 3-component vector of float)
+0:11 Constant:
+0:11 0.000000
+0:11 0.000000
+0:11 0.000000
+0:11 'f3' (temp 3-component vector of float)
+0:13 sine (global float)
+0:13 Construct float (in float)
+0:13 'f1b' (temp 1-component vector of float)
+0:15 Sequence
+0:15 move second child to first child (temp 4-component vector of float)
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:? Constant:
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:15 Branch: Return
+0:? Linker Objects
+0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 26
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 23
+ ExecutionMode 4 OriginUpperLeft
+ Name 4 "main"
+ Name 8 "f1a"
+ Name 9 "f1b"
+ Name 16 "f3"
+ Name 23 "@entryPointOutput"
+ Decorate 23(@entryPointOutput) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 12: TypeVector 6(float) 3
+ 13: 6(float) Constant 0
+ 14: 12(fvec3) ConstantComposite 13 13 13
+ 15: TypePointer Function 12(fvec3)
+ 21: TypeVector 6(float) 4
+ 22: TypePointer Output 21(fvec4)
+23(@entryPointOutput): 22(ptr) Variable Output
+ 24: 21(fvec4) ConstantComposite 13 13 13 13
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(f1a): 7(ptr) Variable Function
+ 9(f1b): 7(ptr) Variable Function
+ 16(f3): 15(ptr) Variable Function
+ 10: 6(float) Load 9(f1b)
+ Store 8(f1a) 10
+ 11: 6(float) Load 8(f1a)
+ Store 9(f1b) 11
+ 17: 12(fvec3) Load 16(f3)
+ 18: 12(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 14 17
+ 19: 6(float) Load 9(f1b)
+ 20: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 19
+ Store 23(@entryPointOutput) 24
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out
index e3df54f..01ced16 100644
--- a/Test/baseResults/hlsl.promotions.frag.out
+++ b/Test/baseResults/hlsl.promotions.frag.out
@@ -782,8 +782,8 @@
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 @@
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 22716ef..123bd4c 100644
--- a/Test/baseResults/hlsl.rw.atomics.frag.out
+++ b/Test/baseResults/hlsl.rw.atomics.frag.out
@@ -1945,6 +1945,7 @@
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 @@
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 @@
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 @@
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 c6e3c89..31ed4a9 100644
--- a/Test/baseResults/hlsl.rw.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.bracket.frag.out
@@ -847,6 +847,7 @@
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 @@
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 @@
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 @@
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 904c2da..8e40fd2 100644
--- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
@@ -820,6 +820,7 @@
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 @@
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 @@
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 @@
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 b8452c3..7ca7e3e 100644
--- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
@@ -829,6 +829,7 @@
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 @@
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 @@
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 @@
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 6c6f187..f223e4b 100644
--- a/Test/baseResults/hlsl.sample.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out
@@ -137,6 +137,8 @@
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 @@
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 @@
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 @@
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 de9a4f4..a222125 100644
--- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
@@ -247,6 +247,8 @@
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 @@
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 @@
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 @@
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 67bf043..a148a86 100644
--- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
@@ -155,6 +155,8 @@
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 @@
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 @@
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 @@
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 83a0e8b..abdf032 100644
--- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
@@ -116,6 +116,8 @@
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 @@
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 @@
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 @@
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 5a97ed9..bfbad5c 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 @@
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 @@
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 b2b38b6..05ac32a 100644
--- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
@@ -155,6 +155,8 @@
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 @@
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 @@
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 @@
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 c794914..1442fc3 100644
--- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
@@ -185,6 +185,8 @@
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 @@
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 @@
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 @@
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 900eb4b..01facb6 100644
--- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
@@ -173,6 +173,8 @@
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 @@
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 @@
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 @@
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 bd21622..17aef7a 100644
--- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
@@ -128,6 +128,8 @@
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 @@
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 @@
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 @@
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 b05595d..a1acd79 100644
--- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
@@ -164,6 +164,8 @@
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 @@
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 @@
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 @@
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 aa9b379..08f3b40 100644
--- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
@@ -155,6 +155,8 @@
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 @@
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 @@
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 @@
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 fd3250f..70670a0 100644
--- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
@@ -128,6 +128,8 @@
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 @@
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 @@
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 @@
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 05695ed..d4a8636 100644
--- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
@@ -134,6 +134,8 @@
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 @@
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 @@
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 @@
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 4054610..2746fa7 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
@@ -182,6 +182,8 @@
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 @@
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 @@
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 @@
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 a592336..e6c4372 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
@@ -173,6 +173,8 @@
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 @@
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 @@
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 @@
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 bfbfbb2..f66055d 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
@@ -140,6 +140,8 @@
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 @@
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 @@
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 @@
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 0e38a7d..3b2b912 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
@@ -146,6 +146,8 @@
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 @@
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 @@
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 @@
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 46a6bbc..2a0d77a 100644
--- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
@@ -191,6 +191,8 @@
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 @@
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 @@
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 @@
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 395efc2..feaba77 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
@@ -239,6 +239,8 @@
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 @@
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 @@
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 @@
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 2e79be3..f6d37c3 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
@@ -225,6 +225,7 @@
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 @@
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 @@
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 @@
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 7ef5e07..7938e52 100644
--- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
@@ -209,6 +209,8 @@
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 @@
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 @@
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 @@
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 2043f38..dee78bc 100644
--- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
@@ -146,6 +146,8 @@
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 @@
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 @@
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 @@
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 351e2ed..afdedb7 100644
--- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
@@ -155,6 +155,8 @@
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 @@
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 @@
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 @@
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 d37090f..34a6597 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
@@ -185,6 +185,8 @@
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 @@
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 @@
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 @@
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 0438299..04d0870 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
@@ -171,6 +171,7 @@
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 @@
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 @@
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 @@
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 0f0f968..aa77961 100644
--- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
@@ -173,6 +173,8 @@
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 @@
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 @@
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 @@
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 8eb74cd..056a4f1 100644
--- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
@@ -128,6 +128,8 @@
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 @@
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 @@
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 @@
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 8593db6..94c1b2a 100644
--- a/Test/baseResults/hlsl.stringtoken.frag.out
+++ b/Test/baseResults/hlsl.stringtoken.frag.out
@@ -25,9 +25,9 @@
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 @@
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 @@
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 5fef959..c14018e 100755
--- a/Test/baseResults/hlsl.struct.frag.out
+++ b/Test/baseResults/hlsl.struct.frag.out
@@ -26,9 +26,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 0769cde..d000257 100644
--- a/Test/baseResults/hlsl.tx.bracket.frag.out
+++ b/Test/baseResults/hlsl.tx.bracket.frag.out
@@ -186,6 +186,7 @@
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 @@
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 @@
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 @@
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 5d44a66..4ad4ef1 100644
--- a/Test/baseResults/maxClipDistances.vert.out
+++ b/Test/baseResults/maxClipDistances.vert.out
@@ -5,7 +5,6 @@
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 @@
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 848839c..711c529 100644
--- a/Test/baseResults/specExamples.frag.out
+++ b/Test/baseResults/specExamples.frag.out
@@ -318,12 +318,9 @@
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 @@
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 ef9a122..d7de758 100644
--- a/Test/baseResults/specExamples.vert.out
+++ b/Test/baseResults/specExamples.vert.out
@@ -298,11 +298,10 @@
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 @@
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.310.comp.out b/Test/baseResults/spv.310.comp.out
old mode 100755
new mode 100644
index 3eafc2b..bd1f346
--- a/Test/baseResults/spv.310.comp.out
+++ b/Test/baseResults/spv.310.comp.out
@@ -7,121 +7,122 @@
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 66
+// Id's are bound by 67
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint GLCompute 4 "main" 52
+ EntryPoint GLCompute 4 "main" 53
ExecutionMode 4 LocalSize 16 32 4
Source ESSL 310
Name 4 "main"
- Name 12 "outb"
- MemberName 12(outb) 0 "f"
- MemberName 12(outb) 1 "g"
- MemberName 12(outb) 2 "h"
- MemberName 12(outb) 3 "uns"
- Name 14 "outbname"
- Name 18 "s"
- Name 23 "outbna"
- MemberName 23(outbna) 0 "k"
- MemberName 23(outbna) 1 "na"
- Name 25 "outbnamena"
- Name 41 "i"
- Name 47 "outs"
- MemberName 47(outs) 0 "s"
- MemberName 47(outs) 1 "va"
- Name 49 "outnames"
- Name 52 "gl_LocalInvocationID"
- Decorate 11 ArrayStride 16
- MemberDecorate 12(outb) 0 Offset 0
- MemberDecorate 12(outb) 1 Offset 4
- MemberDecorate 12(outb) 2 Offset 8
- MemberDecorate 12(outb) 3 Offset 16
- Decorate 12(outb) BufferBlock
- Decorate 14(outbname) DescriptorSet 0
- MemberDecorate 23(outbna) 0 Offset 0
- MemberDecorate 23(outbna) 1 Offset 16
- Decorate 23(outbna) BufferBlock
- Decorate 25(outbnamena) DescriptorSet 0
- Decorate 46 ArrayStride 16
- MemberDecorate 47(outs) 0 Offset 0
- MemberDecorate 47(outs) 1 Offset 16
- Decorate 47(outs) BufferBlock
- Decorate 49(outnames) DescriptorSet 0
- Decorate 52(gl_LocalInvocationID) BuiltIn LocalInvocationId
- Decorate 65 BuiltIn WorkgroupSize
+ Name 13 "outb"
+ MemberName 13(outb) 0 "f"
+ MemberName 13(outb) 1 "g"
+ MemberName 13(outb) 2 "h"
+ MemberName 13(outb) 3 "uns"
+ Name 15 "outbname"
+ Name 19 "s"
+ Name 24 "outbna"
+ MemberName 24(outbna) 0 "k"
+ MemberName 24(outbna) 1 "na"
+ Name 26 "outbnamena"
+ Name 42 "i"
+ Name 48 "outs"
+ MemberName 48(outs) 0 "s"
+ MemberName 48(outs) 1 "va"
+ Name 50 "outnames"
+ Name 53 "gl_LocalInvocationID"
+ Decorate 12 ArrayStride 16
+ MemberDecorate 13(outb) 0 Offset 0
+ MemberDecorate 13(outb) 1 Offset 4
+ MemberDecorate 13(outb) 2 Offset 8
+ MemberDecorate 13(outb) 3 Offset 16
+ Decorate 13(outb) BufferBlock
+ Decorate 15(outbname) DescriptorSet 0
+ MemberDecorate 24(outbna) 0 Offset 0
+ MemberDecorate 24(outbna) 1 Offset 16
+ Decorate 24(outbna) BufferBlock
+ Decorate 26(outbnamena) DescriptorSet 0
+ Decorate 47 ArrayStride 16
+ MemberDecorate 48(outs) 0 Offset 0
+ MemberDecorate 48(outs) 1 Offset 16
+ Decorate 48(outs) BufferBlock
+ Decorate 50(outnames) DescriptorSet 0
+ Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId
+ Decorate 66 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
- 7: 6(int) Constant 1
- 8: 6(int) Constant 0
- 9: TypeFloat 32
- 10: TypeVector 9(float) 3
- 11: TypeRuntimeArray 10(fvec3)
- 12(outb): TypeStruct 9(float) 9(float) 9(float) 11
- 13: TypePointer Uniform 12(outb)
- 14(outbname): 13(ptr) Variable Uniform
- 15: TypeInt 32 1
- 16: 15(int) Constant 0
- 17: TypePointer Workgroup 9(float)
- 18(s): 17(ptr) Variable Workgroup
- 20: TypePointer Uniform 9(float)
- 22: TypeVector 9(float) 4
- 23(outbna): TypeStruct 15(int) 22(fvec4)
- 24: TypePointer Uniform 23(outbna)
- 25(outbnamena): 24(ptr) Variable Uniform
- 26: 15(int) Constant 1
- 29: TypePointer Uniform 22(fvec4)
- 31: 15(int) Constant 3
- 32: 15(int) Constant 18
- 35: 15(int) Constant 17
- 36: 9(float) Constant 1077936128
- 37: 10(fvec3) ConstantComposite 36 36 36
- 38: TypePointer Uniform 10(fvec3)
- 40: TypePointer Workgroup 15(int)
- 41(i): 40(ptr) Variable Workgroup
- 46: TypeRuntimeArray 22(fvec4)
- 47(outs): TypeStruct 15(int) 46
- 48: TypePointer Uniform 47(outs)
- 49(outnames): 48(ptr) Variable Uniform
- 50: TypeVector 6(int) 3
- 51: TypePointer Input 50(ivec3)
-52(gl_LocalInvocationID): 51(ptr) Variable Input
- 53: TypePointer Input 6(int)
- 60: TypePointer Uniform 15(int)
- 62: 6(int) Constant 16
- 63: 6(int) Constant 32
- 64: 6(int) Constant 4
- 65: 50(ivec3) ConstantComposite 62 63 64
+ 7: 6(int) Constant 2
+ 8: 6(int) Constant 1
+ 9: 6(int) Constant 0
+ 10: TypeFloat 32
+ 11: TypeVector 10(float) 3
+ 12: TypeRuntimeArray 11(fvec3)
+ 13(outb): TypeStruct 10(float) 10(float) 10(float) 12
+ 14: TypePointer Uniform 13(outb)
+ 15(outbname): 14(ptr) Variable Uniform
+ 16: TypeInt 32 1
+ 17: 16(int) Constant 0
+ 18: TypePointer Workgroup 10(float)
+ 19(s): 18(ptr) Variable Workgroup
+ 21: TypePointer Uniform 10(float)
+ 23: TypeVector 10(float) 4
+ 24(outbna): TypeStruct 16(int) 23(fvec4)
+ 25: TypePointer Uniform 24(outbna)
+ 26(outbnamena): 25(ptr) Variable Uniform
+ 27: 16(int) Constant 1
+ 30: TypePointer Uniform 23(fvec4)
+ 32: 16(int) Constant 3
+ 33: 16(int) Constant 18
+ 36: 16(int) Constant 17
+ 37: 10(float) Constant 1077936128
+ 38: 11(fvec3) ConstantComposite 37 37 37
+ 39: TypePointer Uniform 11(fvec3)
+ 41: TypePointer Workgroup 16(int)
+ 42(i): 41(ptr) Variable Workgroup
+ 47: TypeRuntimeArray 23(fvec4)
+ 48(outs): TypeStruct 16(int) 47
+ 49: TypePointer Uniform 48(outs)
+ 50(outnames): 49(ptr) Variable Uniform
+ 51: TypeVector 6(int) 3
+ 52: TypePointer Input 51(ivec3)
+53(gl_LocalInvocationID): 52(ptr) Variable Input
+ 54: TypePointer Input 6(int)
+ 61: TypePointer Uniform 16(int)
+ 63: 6(int) Constant 16
+ 64: 6(int) Constant 32
+ 65: 6(int) Constant 4
+ 66: 51(ivec3) ConstantComposite 63 64 65
4(main): 2 Function None 3
5: Label
- ControlBarrier 7 7 8
- 19: 9(float) Load 18(s)
- 21: 20(ptr) AccessChain 14(outbname) 16
- Store 21 19
- 27: 9(float) Load 18(s)
- 28: 22(fvec4) CompositeConstruct 27 27 27 27
- 30: 29(ptr) AccessChain 25(outbnamena) 26
- Store 30 28
- 33: 20(ptr) AccessChain 14(outbname) 31 32 8
- 34: 9(float) Load 33
- Store 18(s) 34
- 39: 38(ptr) AccessChain 14(outbname) 31 35
- Store 39 37
- 42: 15(int) Load 41(i)
- 43: 9(float) Load 18(s)
- 44: 10(fvec3) CompositeConstruct 43 43 43
- 45: 38(ptr) AccessChain 14(outbname) 31 42
- Store 45 44
- 54: 53(ptr) AccessChain 52(gl_LocalInvocationID) 8
- 55: 6(int) Load 54
- 56: 9(float) Load 18(s)
- 57: 22(fvec4) CompositeConstruct 56 56 56 56
- 58: 29(ptr) AccessChain 49(outnames) 26 55
- Store 58 57
- 59: 15(int) ArrayLength 14(outbname) 3
- 61: 60(ptr) AccessChain 49(outnames) 16
- Store 61 59
+ ControlBarrier 7 8 9
+ 20: 10(float) Load 19(s)
+ 22: 21(ptr) AccessChain 15(outbname) 17
+ Store 22 20
+ 28: 10(float) Load 19(s)
+ 29: 23(fvec4) CompositeConstruct 28 28 28 28
+ 31: 30(ptr) AccessChain 26(outbnamena) 27
+ Store 31 29
+ 34: 21(ptr) AccessChain 15(outbname) 32 33 9
+ 35: 10(float) Load 34
+ Store 19(s) 35
+ 40: 39(ptr) AccessChain 15(outbname) 32 36
+ Store 40 38
+ 43: 16(int) Load 42(i)
+ 44: 10(float) Load 19(s)
+ 45: 11(fvec3) CompositeConstruct 44 44 44
+ 46: 39(ptr) AccessChain 15(outbname) 32 43
+ Store 46 45
+ 55: 54(ptr) AccessChain 53(gl_LocalInvocationID) 9
+ 56: 6(int) Load 55
+ 57: 10(float) Load 19(s)
+ 58: 23(fvec4) CompositeConstruct 57 57 57 57
+ 59: 30(ptr) AccessChain 50(outnames) 27 56
+ Store 59 58
+ 60: 16(int) ArrayLength 15(outbname) 3
+ 62: 61(ptr) AccessChain 50(outnames) 17
+ Store 62 60
Return
FunctionEnd
diff --git a/Test/baseResults/spv.400.tesc.out b/Test/baseResults/spv.400.tesc.out
old mode 100755
new mode 100644
index bcfd963..ae469aa
--- a/Test/baseResults/spv.400.tesc.out
+++ b/Test/baseResults/spv.400.tesc.out
@@ -14,26 +14,26 @@
Capability ClipDistance
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint TessellationControl 4 "main" 23 40 43 46 54 68 73 79 83 84 87 88 91 92
+ EntryPoint TessellationControl 4 "main" 24 41 44 47 54 68 73 79 83 84 87 88 91 92
ExecutionMode 4 OutputVertices 4
Source GLSL 400
SourceExtension "GL_ARB_separate_shader_objects"
Name 4 "main"
- Name 11 "a"
- Name 16 "p"
- Name 19 "gl_PerVertex"
- MemberName 19(gl_PerVertex) 0 "gl_Position"
- MemberName 19(gl_PerVertex) 1 "gl_PointSize"
- MemberName 19(gl_PerVertex) 2 "gl_ClipDistance"
- Name 23 "gl_in"
- Name 30 "ps"
- Name 34 "cd"
- Name 38 "pvi"
- Name 40 "gl_PatchVerticesIn"
- Name 42 "pid"
- Name 43 "gl_PrimitiveID"
- Name 45 "iid"
- Name 46 "gl_InvocationID"
+ Name 12 "a"
+ Name 17 "p"
+ Name 20 "gl_PerVertex"
+ MemberName 20(gl_PerVertex) 0 "gl_Position"
+ MemberName 20(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 20(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 24 "gl_in"
+ Name 31 "ps"
+ Name 35 "cd"
+ Name 39 "pvi"
+ Name 41 "gl_PatchVerticesIn"
+ Name 43 "pid"
+ Name 44 "gl_PrimitiveID"
+ Name 46 "iid"
+ Name 47 "gl_InvocationID"
Name 50 "gl_PerVertex"
MemberName 50(gl_PerVertex) 0 "gl_Position"
MemberName 50(gl_PerVertex) 1 "gl_PointSize"
@@ -49,13 +49,13 @@
Name 88 "ivlb"
Name 91 "ovla"
Name 92 "ovlb"
- MemberDecorate 19(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 19(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 19(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 19(gl_PerVertex) Block
- Decorate 40(gl_PatchVerticesIn) BuiltIn PatchVertices
- Decorate 43(gl_PrimitiveID) BuiltIn PrimitiveId
- Decorate 46(gl_InvocationID) BuiltIn InvocationId
+ MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 20(gl_PerVertex) Block
+ Decorate 41(gl_PatchVerticesIn) BuiltIn PatchVertices
+ Decorate 44(gl_PrimitiveID) BuiltIn PrimitiveId
+ Decorate 47(gl_InvocationID) BuiltIn InvocationId
MemberDecorate 50(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 50(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 50(gl_PerVertex) 2 BuiltIn ClipDistance
@@ -72,106 +72,106 @@
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
- 7: 6(int) Constant 1
- 8: 6(int) Constant 0
- 9: TypeInt 32 1
- 10: TypePointer Function 9(int)
- 12: 9(int) Constant 5392
- 13: TypeFloat 32
- 14: TypeVector 13(float) 4
- 15: TypePointer Function 14(fvec4)
- 17: 6(int) Constant 3
- 18: TypeArray 13(float) 17
-19(gl_PerVertex): TypeStruct 14(fvec4) 13(float) 18
- 20: 6(int) Constant 32
- 21: TypeArray 19(gl_PerVertex) 20
- 22: TypePointer Input 21
- 23(gl_in): 22(ptr) Variable Input
- 24: 9(int) Constant 1
- 25: 9(int) Constant 0
- 26: TypePointer Input 14(fvec4)
- 29: TypePointer Function 13(float)
- 31: TypePointer Input 13(float)
- 35: 9(int) Constant 2
- 39: TypePointer Input 9(int)
-40(gl_PatchVerticesIn): 39(ptr) Variable Input
-43(gl_PrimitiveID): 39(ptr) Variable Input
-46(gl_InvocationID): 39(ptr) Variable Input
- 48: 6(int) Constant 2
- 49: TypeArray 13(float) 48
-50(gl_PerVertex): TypeStruct 14(fvec4) 13(float) 49
+ 7: 6(int) Constant 2
+ 8: 6(int) Constant 1
+ 9: 6(int) Constant 0
+ 10: TypeInt 32 1
+ 11: TypePointer Function 10(int)
+ 13: 10(int) Constant 5392
+ 14: TypeFloat 32
+ 15: TypeVector 14(float) 4
+ 16: TypePointer Function 15(fvec4)
+ 18: 6(int) Constant 3
+ 19: TypeArray 14(float) 18
+20(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 19
+ 21: 6(int) Constant 32
+ 22: TypeArray 20(gl_PerVertex) 21
+ 23: TypePointer Input 22
+ 24(gl_in): 23(ptr) Variable Input
+ 25: 10(int) Constant 1
+ 26: 10(int) Constant 0
+ 27: TypePointer Input 15(fvec4)
+ 30: TypePointer Function 14(float)
+ 32: TypePointer Input 14(float)
+ 36: 10(int) Constant 2
+ 40: TypePointer Input 10(int)
+41(gl_PatchVerticesIn): 40(ptr) Variable Input
+44(gl_PrimitiveID): 40(ptr) Variable Input
+47(gl_InvocationID): 40(ptr) Variable Input
+ 49: TypeArray 14(float) 7
+50(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 49
51: 6(int) Constant 4
52: TypeArray 50(gl_PerVertex) 51
53: TypePointer Output 52
54(gl_out): 53(ptr) Variable Output
- 57: TypePointer Output 14(fvec4)
- 61: TypePointer Output 13(float)
- 66: TypeArray 13(float) 51
+ 57: TypePointer Output 15(fvec4)
+ 61: TypePointer Output 14(float)
+ 66: TypeArray 14(float) 51
67: TypePointer Output 66
68(gl_TessLevelOuter): 67(ptr) Variable Output
- 69: 9(int) Constant 3
- 70: 13(float) Constant 1078774989
+ 69: 10(int) Constant 3
+ 70: 14(float) Constant 1078774989
72: TypePointer Output 49
73(gl_TessLevelInner): 72(ptr) Variable Output
- 74: 13(float) Constant 1067869798
- 76: TypeArray 9(int) 51
+ 74: 14(float) Constant 1067869798
+ 76: TypeArray 10(int) 51
77: TypePointer Private 76
78(outa): 77(ptr) Variable Private
79(patchOut): 57(ptr) Variable Output
- 80: TypeVector 13(float) 2
- 81: TypeArray 80(fvec2) 20
+ 80: TypeVector 14(float) 2
+ 81: TypeArray 80(fvec2) 21
82: TypePointer Input 81
83(inb): 82(ptr) Variable Input
84(ind): 82(ptr) Variable Input
- 85: TypeArray 14(fvec4) 20
+ 85: TypeArray 15(fvec4) 21
86: TypePointer Input 85
87(ivla): 86(ptr) Variable Input
88(ivlb): 86(ptr) Variable Input
- 89: TypeArray 14(fvec4) 51
+ 89: TypeArray 15(fvec4) 51
90: TypePointer Output 89
91(ovla): 90(ptr) Variable Output
92(ovlb): 90(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 11(a): 10(ptr) Variable Function
- 16(p): 15(ptr) Variable Function
- 30(ps): 29(ptr) Variable Function
- 34(cd): 29(ptr) Variable Function
- 38(pvi): 10(ptr) Variable Function
- 42(pid): 10(ptr) Variable Function
- 45(iid): 10(ptr) Variable Function
- ControlBarrier 7 7 8
- Store 11(a) 12
- 27: 26(ptr) AccessChain 23(gl_in) 24 25
- 28: 14(fvec4) Load 27
- Store 16(p) 28
- 32: 31(ptr) AccessChain 23(gl_in) 24 24
- 33: 13(float) Load 32
- Store 30(ps) 33
- 36: 31(ptr) AccessChain 23(gl_in) 24 35 35
- 37: 13(float) Load 36
- Store 34(cd) 37
- 41: 9(int) Load 40(gl_PatchVerticesIn)
- Store 38(pvi) 41
- 44: 9(int) Load 43(gl_PrimitiveID)
- Store 42(pid) 44
- 47: 9(int) Load 46(gl_InvocationID)
- Store 45(iid) 47
- 55: 9(int) Load 46(gl_InvocationID)
- 56: 14(fvec4) Load 16(p)
- 58: 57(ptr) AccessChain 54(gl_out) 55 25
+ 12(a): 11(ptr) Variable Function
+ 17(p): 16(ptr) Variable Function
+ 31(ps): 30(ptr) Variable Function
+ 35(cd): 30(ptr) Variable Function
+ 39(pvi): 11(ptr) Variable Function
+ 43(pid): 11(ptr) Variable Function
+ 46(iid): 11(ptr) Variable Function
+ ControlBarrier 7 8 9
+ Store 12(a) 13
+ 28: 27(ptr) AccessChain 24(gl_in) 25 26
+ 29: 15(fvec4) Load 28
+ Store 17(p) 29
+ 33: 32(ptr) AccessChain 24(gl_in) 25 25
+ 34: 14(float) Load 33
+ Store 31(ps) 34
+ 37: 32(ptr) AccessChain 24(gl_in) 25 36 36
+ 38: 14(float) Load 37
+ Store 35(cd) 38
+ 42: 10(int) Load 41(gl_PatchVerticesIn)
+ Store 39(pvi) 42
+ 45: 10(int) Load 44(gl_PrimitiveID)
+ Store 43(pid) 45
+ 48: 10(int) Load 47(gl_InvocationID)
+ Store 46(iid) 48
+ 55: 10(int) Load 47(gl_InvocationID)
+ 56: 15(fvec4) Load 17(p)
+ 58: 57(ptr) AccessChain 54(gl_out) 55 26
Store 58 56
- 59: 9(int) Load 46(gl_InvocationID)
- 60: 13(float) Load 30(ps)
- 62: 61(ptr) AccessChain 54(gl_out) 59 24
+ 59: 10(int) Load 47(gl_InvocationID)
+ 60: 14(float) Load 31(ps)
+ 62: 61(ptr) AccessChain 54(gl_out) 59 25
Store 62 60
- 63: 9(int) Load 46(gl_InvocationID)
- 64: 13(float) Load 34(cd)
- 65: 61(ptr) AccessChain 54(gl_out) 63 35 24
+ 63: 10(int) Load 47(gl_InvocationID)
+ 64: 14(float) Load 35(cd)
+ 65: 61(ptr) AccessChain 54(gl_out) 63 36 25
Store 65 64
71: 61(ptr) AccessChain 68(gl_TessLevelOuter) 69
Store 71 70
- 75: 61(ptr) AccessChain 73(gl_TessLevelInner) 24
+ 75: 61(ptr) AccessChain 73(gl_TessLevelInner) 25
Store 75 74
Return
FunctionEnd
diff --git a/Test/baseResults/spv.noWorkgroup.comp.out b/Test/baseResults/spv.noWorkgroup.comp.out
new file mode 100755
index 0000000..f12e620
--- /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 c6cf6ba..1fd59b4 100644
--- a/Test/baseResults/varyingArray.frag.out
+++ b/Test/baseResults/varyingArray.frag.out
@@ -56,7 +56,6 @@
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 @@
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 02a41f3..7349812 100644
--- a/Test/baseResults/varyingArrayIndirect.frag.out
+++ b/Test/baseResults/varyingArrayIndirect.frag.out
@@ -57,7 +57,6 @@
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 @@
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/hlsl.attribute.expression.comp b/Test/hlsl.attribute.expression.comp
new file mode 100644
index 0000000..535fbad
--- /dev/null
+++ b/Test/hlsl.attribute.expression.comp
@@ -0,0 +1,15 @@
+
+uniform int bound;
+
+#define FOO 3
+#define BAR 2
+
+[numthreads(2+2, 2*3, (1+FOO)*BAR)]
+float4 main() : SV_TARGET
+{
+ [unroll(5*2 + 1) ]
+ for (int x=0; x<bound; ++x)
+ ;
+
+ return float4(0,0,0,0);
+}
diff --git a/Test/hlsl.promote.vec1.frag b/Test/hlsl.promote.vec1.frag
new file mode 100644
index 0000000..a674ccb
--- /dev/null
+++ b/Test/hlsl.promote.vec1.frag
@@ -0,0 +1,16 @@
+
+float4 main() : SV_Target
+{
+ float f1a;
+ float1 f1b;
+
+ f1a = f1b; // convert float1 to float
+ f1b = f1a; // convert float to float1
+
+ float3 f3;
+ step(0.0, f3);
+
+ sin(f1b); // test 1-vectors in intrinsics
+
+ return float4(0,0,0,0);
+}
diff --git a/Test/spv.noWorkgroup.comp b/Test/spv.noWorkgroup.comp
new file mode 100644
index 0000000..0c77f27
--- /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/Include/Types.h b/glslang/Include/Types.h
index 6c8cb82..8745c7a 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -1271,6 +1271,7 @@
virtual TArraySizes& getArraySizes() { assert(arraySizes != nullptr); return *arraySizes; }
virtual bool isScalar() const { return ! isVector() && ! isMatrix() && ! isStruct() && ! isArray(); }
+ virtual bool isScalarOrVec1() const { return isScalar() || vector1; }
virtual bool isVector() const { return vectorSize > 1 || vector1; }
virtual bool isMatrix() const { return matrixCols ? true : false; }
virtual bool isArray() const { return arraySizes != nullptr; }
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
index ee102fa..9c2590f 100644
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -814,8 +814,10 @@
TOperator constructorOp = mapTypeToConstructorOp(type);
// scalar -> smeared -> vector, or
+ // vec1 -> scalar, or
// bigger vector -> smaller vector or scalar
if ((type.isVector() && node->getType().isScalar()) ||
+ (node->getType().isVector() && node->getVectorSize() == 1 && type.isScalar()) ||
(node->getVectorSize() > type.getVectorSize() && type.isVector()))
return setAggregateOperator(makeAggregate(node), constructorOp, type, node->getLoc());
diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp
index 5949cd8..dc8c61d 100644
--- a/glslang/MachineIndependent/ParseContextBase.cpp
+++ b/glslang/MachineIndependent/ParseContextBase.cpp
@@ -221,16 +221,37 @@
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 @@
{
bool builtIn;
TSymbol* symbol = symbolTable.find(name, &builtIn);
-
+
assert(symbol != nullptr);
if (symbol == nullptr)
return nullptr;
@@ -434,7 +455,7 @@
// 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 @@
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 965cb07..016f07a 100644
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -50,15 +50,12 @@
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 @@
currentScanner = &input;
ppContext.setInput(input, versionWillBeError);
yyparse(this);
- if (! parsingBuiltins)
- finalErrorCheck();
+
+ finish();
return numErrors == 0;
}
@@ -3093,7 +3090,7 @@
// 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 @@
//
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 @@
//
// 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 @@
// 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 @@
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 @@
//
// 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 @@
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 @@
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 @@
} 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 @@
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 @@
//
// 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 @@
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 0f60ff7..165601d 100644
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -73,13 +73,16 @@
//
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 b7152a6..5b44af5 100644
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -947,7 +947,6 @@
// 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 53c03ac..6a4cfd0 100644
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -263,7 +263,6 @@
// 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)
@@ -399,6 +398,7 @@
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/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp
index 918a431..5487fb9 100644
--- a/gtests/Hlsl.FromFile.cpp
+++ b/gtests/Hlsl.FromFile.cpp
@@ -86,6 +86,7 @@
{"hlsl.array.multidim.frag", "main"},
{"hlsl.assoc.frag", "PixelShaderFunction"},
{"hlsl.attribute.frag", "PixelShaderFunction"},
+ {"hlsl.attribute.expression.comp", "main"},
{"hlsl.basic.comp", "main"},
{"hlsl.buffer.frag", "PixelShaderFunction"},
{"hlsl.calculatelod.dx10.frag", "main"},
@@ -156,6 +157,7 @@
{"hlsl.pp.line.frag", "main"},
{"hlsl.precise.frag", "main"},
{"hlsl.promote.binary.frag", "main"},
+ {"hlsl.promote.vec1.frag", "main"},
{"hlsl.promotions.frag", "main"},
{"hlsl.rw.atomics.frag", "main"},
{"hlsl.rw.bracket.frag", "main"},
diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp
index 1e0f797..414fa7b 100644
--- a/gtests/Spv.FromFile.cpp
+++ b/gtests/Spv.FromFile.cpp
@@ -236,6 +236,7 @@
"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/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp
index e16c4b5..e6f4b60 100755
--- a/hlsl/hlslGrammar.cpp
+++ b/hlsl/hlslGrammar.cpp
@@ -2453,27 +2453,29 @@
advanceToken();
}
- TIntermAggregate* literals = nullptr;
+ TIntermAggregate* expressions = nullptr;
// (x, ...)
if (acceptTokenClass(EHTokLeftParen)) {
- literals = new TIntermAggregate;
+ expressions = new TIntermAggregate;
TIntermTyped* node;
- bool expectingLiteral = false;
+ bool expectingExpression = false;
- while (acceptLiteral(node)) {
- expectingLiteral = false;
- literals->getSequence().push_back(node);
+ while (acceptAssignmentExpression(node)) {
+ expectingExpression = false;
+ expressions->getSequence().push_back(node);
if (acceptTokenClass(EHTokComma))
- expectingLiteral = true;
+ expectingExpression = true;
}
- // 'literals' is an aggregate with the literals in it
+ // 'expressions' is an aggregate with the expressions in it
if (! acceptTokenClass(EHTokRightParen))
expected(")");
- if (expectingLiteral || literals->getSequence().empty())
- expected("literal");
+
+ // Error for partial or missing expression
+ if (expectingExpression || expressions->getSequence().empty())
+ expected("expression");
}
// RIGHT_BRACKET
@@ -2484,7 +2486,7 @@
// Add any values we found into the attribute map. This accepts
// (and ignores) values not mapping to a known TAttributeType;
- attributes.setAttribute(idToken.string, literals);
+ attributes.setAttribute(idToken.string, expressions);
} while (true);
}
diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp
index 5bca3ec..ff2c301 100755
--- a/hlsl/hlslParseHelper.cpp
+++ b/hlsl/hlslParseHelper.cpp
@@ -49,10 +49,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),
@@ -60,9 +60,6 @@
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;
@@ -129,6 +126,8 @@
return false;
}
+ finish();
+
return numErrors == 0;
}
@@ -951,9 +950,9 @@
++binding;
memberVariables.push_back(memberVariable);
- intermediate.addSymbolLinkageNode(linkage, *memberVariable);
+ trackLinkageDeferred(*memberVariable);
}
-
+
flattenMap[variable.getUniqueId()] = memberVariables;
}
@@ -990,7 +989,7 @@
nextOutLocation += intermediate.computeTypeLocationSize(variable.getType());
}
}
- intermediate.addSymbolLinkageNode(linkage, variable);
+ trackLinkage(variable);
}
};
@@ -3590,7 +3589,7 @@
// 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;
@@ -3607,7 +3606,8 @@
//
symbol = new TVariable(&identifier, type);
symbolTable.insert(*symbol);
- newDeclaration = true;
+ if (track && symbolTable.atGlobalLevel())
+ trackLinkageDeferred(*symbol);
return;
}
@@ -3630,7 +3630,6 @@
// 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;
@@ -3697,7 +3696,7 @@
//
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;
@@ -3822,7 +3821,7 @@
symbolTable.insert(*block);
// Save it in the AST for linker use.
- intermediate.addSymbolLinkageNode(linkage, *block);
+ trackLinkageDeferred(*block);
}
void HlslParseContext::paramFix(TType& type)
@@ -4311,8 +4310,8 @@
return false;
// shapes have to be convertible
- if ((from.isScalar() && to.isScalar()) ||
- (from.isScalar() && to.isVector()) ||
+ if ((from.isScalarOrVec1() && to.isScalarOrVec1()) ||
+ (from.isScalarOrVec1() && to.isVector()) ||
(from.isVector() && to.isVector() && from.getVectorSize() >= to.getVectorSize()))
return true;
@@ -4415,8 +4414,7 @@
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());
@@ -4425,14 +4423,14 @@
// 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());
}
@@ -4454,13 +4452,6 @@
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;
}
@@ -4496,19 +4487,20 @@
//
// 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;
}
//
@@ -5021,7 +5013,7 @@
}
// 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 8410c34..9a7285f 100755
--- a/hlsl/hlslParseHelper.h
+++ b/hlsl/hlslParseHelper.h
@@ -114,7 +114,7 @@
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 @@
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);