From d21baed6bc40fef66b616d09f6fb07669d313a31 Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Fri, 16 Sep 2016 03:05:12 -0600 Subject: [PATCH] HLSL: Flatten whole-struct assigns and returns when targeting flattened I/O structs. --- Test/baseResults/hlsl.calculatelod.dx10.frag.out | 75 +++--- .../hlsl.calculatelodunclamped.dx10.frag.out | 36 ++- Test/baseResults/hlsl.constructexpr.frag.out | 44 ++-- Test/baseResults/hlsl.entry-out.frag.out | 129 +++++++++-- Test/baseResults/hlsl.gather.array.dx10.frag.out | 107 +++++---- Test/baseResults/hlsl.gather.basic.dx10.frag.out | 143 +++++++----- Test/baseResults/hlsl.gather.basic.dx10.vert.out | 120 +++++----- Test/baseResults/hlsl.gather.offset.dx10.frag.out | 167 +++++++------ .../hlsl.gather.offsetarray.dx10.frag.out | 107 +++++---- .../hlsl.gatherRGBA.array.dx10.frag.out | 119 ++++++---- .../hlsl.gatherRGBA.basic.dx10.frag.out | 155 +++++++------ .../hlsl.gatherRGBA.offset.dx10.frag.out | 213 +++++++++-------- .../hlsl.gatherRGBA.offsetarray.dx10.frag.out | 175 ++++++++------ Test/baseResults/hlsl.getdimensions.dx10.frag.out | 79 ++++--- Test/baseResults/hlsl.getdimensions.dx10.vert.out | 56 +++-- .../hlsl.getsampleposition.dx10.frag.out | 36 ++- Test/baseResults/hlsl.init2.frag.out | 44 ++-- Test/baseResults/hlsl.inoutquals.frag.out | 67 ++++-- Test/baseResults/hlsl.intrinsics.frag.out | 100 ++++---- Test/baseResults/hlsl.load.2dms.dx10.frag.out | 103 +++++---- Test/baseResults/hlsl.load.array.dx10.frag.out | 257 +++++++++++---------- Test/baseResults/hlsl.load.basic.dx10.frag.out | 219 ++++++++++-------- Test/baseResults/hlsl.load.basic.dx10.vert.out | 196 ++++++++-------- Test/baseResults/hlsl.load.buffer.dx10.frag.out | 113 +++++---- Test/baseResults/hlsl.load.offset.dx10.frag.out | 207 +++++++++-------- .../hlsl.load.offsetarray.dx10.frag.out | 247 +++++++++++--------- Test/baseResults/hlsl.matrixindex.frag.out | 44 ++-- Test/baseResults/hlsl.numericsuffixes.frag.out | 44 ++-- Test/baseResults/hlsl.pp.line.frag.out | 67 ++++-- Test/baseResults/hlsl.precise.frag.out | 50 ++-- Test/baseResults/hlsl.promotions.frag.out | 44 ++-- Test/baseResults/hlsl.sample.array.dx10.frag.out | 75 +++--- Test/baseResults/hlsl.sample.basic.dx10.frag.out | 87 ++++--- Test/baseResults/hlsl.sample.offset.dx10.frag.out | 105 +++++---- .../hlsl.sample.offsetarray.dx10.frag.out | 75 +++--- .../hlsl.samplebias.array.dx10.frag.out | 75 +++--- .../hlsl.samplebias.basic.dx10.frag.out | 75 +++--- .../hlsl.samplebias.offset.dx10.frag.out | 105 +++++---- .../hlsl.samplebias.offsetarray.dx10.frag.out | 75 +++--- .../baseResults/hlsl.samplecmp.array.dx10.frag.out | 189 ++++++++------- .../baseResults/hlsl.samplecmp.basic.dx10.frag.out | 187 ++++++++------- .../hlsl.samplecmp.offset.dx10.frag.out | 217 +++++++++-------- .../hlsl.samplecmp.offsetarray.dx10.frag.out | 219 ++++++++++-------- .../hlsl.samplecmplevelzero.array.dx10.frag.out | 189 ++++++++------- .../hlsl.samplecmplevelzero.basic.dx10.frag.out | 187 ++++++++------- .../hlsl.samplecmplevelzero.offset.dx10.frag.out | 217 +++++++++-------- ...sl.samplecmplevelzero.offsetarray.dx10.frag.out | 219 ++++++++++-------- .../hlsl.samplegrad.array.dx10.frag.out | 75 +++--- .../hlsl.samplegrad.basic.dx10.frag.out | 75 +++--- .../hlsl.samplegrad.basic.dx10.vert.out | 52 +++-- .../hlsl.samplegrad.offset.dx10.frag.out | 105 +++++---- .../hlsl.samplegrad.offsetarray.dx10.frag.out | 105 +++++---- .../hlsl.samplelevel.array.dx10.frag.out | 75 +++--- .../hlsl.samplelevel.basic.dx10.frag.out | 81 ++++--- .../hlsl.samplelevel.basic.dx10.vert.out | 52 +++-- .../hlsl.samplelevel.offset.dx10.frag.out | 105 +++++---- .../hlsl.samplelevel.offsetarray.dx10.frag.out | 75 +++--- Test/baseResults/hlsl.semicolons.frag.out | 44 ++-- Test/baseResults/hlsl.stringtoken.frag.out | 60 ++--- .../remap.hlsl.sample.basic.everything.frag.out | 16 +- .../remap.hlsl.sample.basic.none.frag.out | 51 ++-- .../remap.hlsl.sample.basic.strip.frag.out | 38 +-- Test/hlsl.entry-out.frag | 7 +- glslang/Include/revision.h | 2 +- hlsl/hlslGrammar.cpp | 2 +- hlsl/hlslParseHelper.cpp | 28 ++- hlsl/hlslParseHelper.h | 3 +- 67 files changed, 4024 insertions(+), 2886 deletions(-) diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out index cf251a6..5174eee 100644 --- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out @@ -139,10 +139,20 @@ gl_FragCoord origin is upper left 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:43 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:43 Color: direct index for structure (temp 4-component vector of float) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Constant: +0:43 0 (const int) +0:43 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:43 Depth: direct index for structure (temp float FragDepth) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Constant: +0:43 1 (const int) 0:43 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -303,10 +313,20 @@ gl_FragCoord origin is upper left 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:43 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:43 Color: direct index for structure (temp 4-component vector of float) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Constant: +0:43 0 (const int) +0:43 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:43 Depth: direct index for structure (temp float FragDepth) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Constant: +0:43 1 (const int) 0:43 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -325,7 +345,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 149 +// Id's are bound by 150 Capability Shader Capability Sampled1D @@ -333,7 +353,7 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 141 146 148 + EntryPoint Fragment 4 "main" 141 145 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "txval10" @@ -359,10 +379,9 @@ gl_FragCoord origin is upper left MemberName 131(PS_OUTPUT) 0 "Color" MemberName 131(PS_OUTPUT) 1 "Depth" Name 133 "psout" - Name 141 "@entryPointOutput" - Name 144 "g_tTex1df4" - Name 146 "Color" - Name 148 "Depth" + Name 141 "Color" + Name 145 "Depth" + Name 149 "g_tTex1df4" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 11(g_tTex1df4a) Binding 1 Decorate 15(g_sSamp) DescriptorSet 0 @@ -376,10 +395,10 @@ gl_FragCoord origin is upper left Decorate 106(g_tTexcdi4a) DescriptorSet 0 Decorate 118(g_tTexcdu4a) DescriptorSet 0 MemberDecorate 131(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 144(g_tTex1df4) DescriptorSet 0 - Decorate 144(g_tTex1df4) Binding 0 - Decorate 146(Color) Location 0 - Decorate 148(Depth) BuiltIn FragDepth + Decorate 141(Color) Location 0 + Decorate 145(Depth) BuiltIn FragDepth + Decorate 149(g_tTex1df4) DescriptorSet 0 + Decorate 149(g_tTex1df4) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -450,13 +469,11 @@ gl_FragCoord origin is upper left 135: 130(fvec4) ConstantComposite 134 134 134 134 136: TypePointer Function 130(fvec4) 138: 23(int) Constant 1 - 140: TypePointer Output 131(PS_OUTPUT) -141(@entryPointOutput): 140(ptr) Variable Output - 144(g_tTex1df4): 10(ptr) Variable UniformConstant - 145: TypePointer Output 130(fvec4) - 146(Color): 145(ptr) Variable Output - 147: TypePointer Output 6(float) - 148(Depth): 147(ptr) Variable Output + 140: TypePointer Output 130(fvec4) + 141(Color): 140(ptr) Variable Output + 144: TypePointer Output 6(float) + 145(Depth): 144(ptr) Variable Output + 149(g_tTex1df4): 10(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(txval10): 7(ptr) Variable Function @@ -536,7 +553,11 @@ gl_FragCoord origin is upper left Store 137 135 139: 7(ptr) AccessChain 133(psout) 138 Store 139 134 - 142:131(PS_OUTPUT) Load 133(psout) - Store 141(@entryPointOutput) 142 + 142: 136(ptr) AccessChain 133(psout) 24 + 143: 130(fvec4) Load 142 + Store 141(Color) 143 + 146: 7(ptr) AccessChain 133(psout) 138 + 147: 6(float) Load 146 + Store 145(Depth) 147 Return FunctionEnd diff --git a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out index 3faac3c..88b7f70 100644 --- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out @@ -151,10 +151,20 @@ ERROR: node is still EOpNull! 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:43 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:43 Color: direct index for structure (temp 4-component vector of float) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Constant: +0:43 0 (const int) +0:43 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:43 Depth: direct index for structure (temp float FragDepth) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Constant: +0:43 1 (const int) 0:43 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -315,10 +325,20 @@ ERROR: node is still EOpNull! 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:43 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:43 Color: direct index for structure (temp 4-component vector of float) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Constant: +0:43 0 (const int) +0:43 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:43 Depth: direct index for structure (temp float FragDepth) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Constant: +0:43 1 (const int) 0:43 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) diff --git a/Test/baseResults/hlsl.constructexpr.frag.out b/Test/baseResults/hlsl.constructexpr.frag.out index a8ff93c..956e1bb 100644 --- a/Test/baseResults/hlsl.constructexpr.frag.out +++ b/Test/baseResults/hlsl.constructexpr.frag.out @@ -34,10 +34,14 @@ gl_FragCoord origin is upper left 0:15 1.000000 0:15 1.000000 0:15 1.000000 -0:16 Sequence -0:16 move second child to first child (temp structure{temp 4-component vector of float color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) -0:16 'ps_output' (temp structure{temp 4-component vector of float color}) +0:? Sequence +0:? Sequence +0:16 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:16 color: direct index for structure (temp 4-component vector of float) +0:16 'ps_output' (temp structure{temp 4-component vector of float color}) +0:16 Constant: +0:16 0 (const int) 0:16 Branch: Return 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) @@ -81,30 +85,33 @@ gl_FragCoord origin is upper left 0:15 1.000000 0:15 1.000000 0:15 1.000000 -0:16 Sequence -0:16 move second child to first child (temp structure{temp 4-component vector of float color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) -0:16 'ps_output' (temp structure{temp 4-component vector of float color}) +0:? Sequence +0:? Sequence +0:16 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:16 color: direct index for structure (temp 4-component vector of float) +0:16 'ps_output' (temp structure{temp 4-component vector of float color}) +0:16 Constant: +0:16 0 (const int) 0:16 Branch: Return 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 36 +// Id's are bound by 35 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 31 35 + EntryPoint Fragment 4 "main" 31 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 22 "PS_OUTPUT" MemberName 22(PS_OUTPUT) 0 "color" Name 24 "ps_output" - Name 31 "@entryPointOutput" - Name 35 "color" - Decorate 35(color) Location 0 + Name 31 "color" + Decorate 31(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -129,16 +136,15 @@ gl_FragCoord origin is upper left 26: 13(float) Constant 1065353216 27: 21(fvec4) ConstantComposite 26 26 26 26 28: TypePointer Function 21(fvec4) - 30: TypePointer Output 22(PS_OUTPUT) -31(@entryPointOutput): 30(ptr) Variable Output - 34: TypePointer Output 21(fvec4) - 35(color): 34(ptr) Variable Output + 30: TypePointer Output 21(fvec4) + 31(color): 30(ptr) Variable Output 4(main): 2 Function None 3 5: Label 24(ps_output): 23(ptr) Variable Function 29: 28(ptr) AccessChain 24(ps_output) 25 Store 29 27 - 32:22(PS_OUTPUT) Load 24(ps_output) - Store 31(@entryPointOutput) 32 + 32: 28(ptr) AccessChain 24(ps_output) 25 + 33: 21(fvec4) Load 32 + Store 31(color) 33 Return FunctionEnd diff --git a/Test/baseResults/hlsl.entry-out.frag.out b/Test/baseResults/hlsl.entry-out.frag.out index efd82f7..81926dd 100755 --- a/Test/baseResults/hlsl.entry-out.frag.out +++ b/Test/baseResults/hlsl.entry-out.frag.out @@ -2,11 +2,12 @@ hlsl.entry-out.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21; (global 4-component vector of float) +0:7 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (global 4-component vector of float) 0:7 Function Parameters: 0:7 'input' (layout(location=0 ) in 4-component vector of float) 0:7 'out1' (layout(location=1 ) out 4-component vector of float) 0:7 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:7 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) 0:? Sequence 0:8 move second child to first child (temp 4-component vector of float) 0:8 'out1' (layout(location=1 ) out 4-component vector of float) @@ -21,17 +22,48 @@ gl_FragCoord origin is upper left 0:10 Constant: 0:10 3 (const int) 0:10 3 (const int) -0:11 Sequence -0:11 move second child to first child (temp 4-component vector of float) +0:12 move second child to first child (temp 2-component vector of float) +0:12 v: direct index for structure (temp 2-component vector of float) +0:12 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:12 Constant: +0:12 0 (const int) +0:12 Constant: +0:12 12.000000 +0:12 12.000000 +0:13 move second child to first child (temp 2-component vector of int) +0:13 i: direct index for structure (temp 2-component vector of int) +0:13 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 1 (const int) +0:13 Constant: +0:13 13 (const int) +0:13 13 (const int) +0:? Sequence +0:14 move second child to first child (temp 2-component vector of float) +0:? 'v' (layout(location=4 ) out 2-component vector of float) +0:14 v: direct index for structure (temp 2-component vector of float) +0:14 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:14 Constant: +0:14 0 (const int) +0:14 move second child to first child (temp 2-component vector of int) +0:? 'i' (layout(location=5 ) out 2-component vector of int) +0:14 i: direct index for structure (temp 2-component vector of int) +0:14 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:14 Constant: +0:14 1 (const int) +0:16 Sequence +0:16 move second child to first child (temp 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:11 'out1' (layout(location=1 ) out 4-component vector of float) -0:11 Branch: Return +0:16 'out1' (layout(location=1 ) out 4-component vector of float) +0:16 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:? 'out1' (layout(location=1 ) out 4-component vector of float) 0:? 'v' (layout(location=2 ) out 2-component vector of float) 0:? 'i' (layout(location=3 ) out 2-component vector of int) +0:? 'v' (layout(location=4 ) out 2-component vector of float) +0:? 'i' (layout(location=5 ) out 2-component vector of int) Linked fragment stage: @@ -40,11 +72,12 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21; (global 4-component vector of float) +0:7 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (global 4-component vector of float) 0:7 Function Parameters: 0:7 'input' (layout(location=0 ) in 4-component vector of float) 0:7 'out1' (layout(location=1 ) out 4-component vector of float) 0:7 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:7 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) 0:? Sequence 0:8 move second child to first child (temp 4-component vector of float) 0:8 'out1' (layout(location=1 ) out 4-component vector of float) @@ -59,38 +92,77 @@ gl_FragCoord origin is upper left 0:10 Constant: 0:10 3 (const int) 0:10 3 (const int) -0:11 Sequence -0:11 move second child to first child (temp 4-component vector of float) +0:12 move second child to first child (temp 2-component vector of float) +0:12 v: direct index for structure (temp 2-component vector of float) +0:12 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:12 Constant: +0:12 0 (const int) +0:12 Constant: +0:12 12.000000 +0:12 12.000000 +0:13 move second child to first child (temp 2-component vector of int) +0:13 i: direct index for structure (temp 2-component vector of int) +0:13 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 1 (const int) +0:13 Constant: +0:13 13 (const int) +0:13 13 (const int) +0:? Sequence +0:14 move second child to first child (temp 2-component vector of float) +0:? 'v' (layout(location=4 ) out 2-component vector of float) +0:14 v: direct index for structure (temp 2-component vector of float) +0:14 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:14 Constant: +0:14 0 (const int) +0:14 move second child to first child (temp 2-component vector of int) +0:? 'i' (layout(location=5 ) out 2-component vector of int) +0:14 i: direct index for structure (temp 2-component vector of int) +0:14 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:14 Constant: +0:14 1 (const int) +0:16 Sequence +0:16 move second child to first child (temp 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:11 'out1' (layout(location=1 ) out 4-component vector of float) -0:11 Branch: Return +0:16 'out1' (layout(location=1 ) out 4-component vector of float) +0:16 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:? 'out1' (layout(location=1 ) out 4-component vector of float) 0:? 'v' (layout(location=2 ) out 2-component vector of float) 0:? 'i' (layout(location=3 ) out 2-component vector of int) +0:? 'v' (layout(location=4 ) out 2-component vector of float) +0:? 'i' (layout(location=5 ) out 2-component vector of int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 27 +// Id's are bound by 46 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 15 21 24 + EntryPoint Fragment 4 "PixelShaderFunction" 9 11 15 21 37 40 43 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 9 "out1" Name 11 "input" Name 15 "v" Name 21 "i" - Name 24 "@entryPointOutput" + Name 24 "OutParam" + MemberName 24(OutParam) 0 "v" + MemberName 24(OutParam) 1 "i" + Name 26 "local" + Name 37 "v" + Name 40 "i" + Name 43 "@entryPointOutput" Decorate 9(out1) Location 1 Decorate 11(input) Location 0 Decorate 15(v) Location 2 Decorate 21(i) Location 3 - Decorate 24(@entryPointOutput) Location 0 + Decorate 37(v) Location 4 + Decorate 40(i) Location 5 + Decorate 43(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -110,14 +182,37 @@ gl_FragCoord origin is upper left 21(i): 20(ptr) Variable Output 22: 18(int) Constant 3 23: 19(ivec2) ConstantComposite 22 22 -24(@entryPointOutput): 8(ptr) Variable Output + 24(OutParam): TypeStruct 13(fvec2) 19(ivec2) + 25: TypePointer Function 24(OutParam) + 27: 18(int) Constant 0 + 28: 6(float) Constant 1094713344 + 29: 13(fvec2) ConstantComposite 28 28 + 30: TypePointer Function 13(fvec2) + 32: 18(int) Constant 1 + 33: 18(int) Constant 13 + 34: 19(ivec2) ConstantComposite 33 33 + 35: TypePointer Function 19(ivec2) + 37(v): 14(ptr) Variable Output + 40(i): 20(ptr) Variable Output +43(@entryPointOutput): 8(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label + 26(local): 25(ptr) Variable Function 12: 7(fvec4) Load 11(input) Store 9(out1) 12 Store 15(v) 17 Store 21(i) 23 - 25: 7(fvec4) Load 9(out1) - Store 24(@entryPointOutput) 25 + 31: 30(ptr) AccessChain 26(local) 27 + Store 31 29 + 36: 35(ptr) AccessChain 26(local) 32 + Store 36 34 + 38: 30(ptr) AccessChain 26(local) 27 + 39: 13(fvec2) Load 38 + Store 37(v) 39 + 41: 35(ptr) AccessChain 26(local) 32 + 42: 19(ivec2) Load 41 + Store 40(i) 42 + 44: 7(fvec4) Load 9(out1) + Store 43(@entryPointOutput) 44 Return FunctionEnd diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out index e224ce8..1c4c2f1 100644 --- a/Test/baseResults/hlsl.gather.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out @@ -91,10 +91,20 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:42 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:42 Color: direct index for structure (temp 4-component vector of float) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 0 (const int) +0:42 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:42 Depth: direct index for structure (temp float FragDepth) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -207,10 +217,20 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:42 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:42 Color: direct index for structure (temp 4-component vector of float) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 0 (const int) +0:42 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:42 Depth: direct index for structure (temp float FragDepth) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -229,14 +249,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 116 +// Id's are bound by 117 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 99 113 115 + EntryPoint Fragment 4 "main" 99 103 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval20" @@ -256,13 +276,12 @@ gl_FragCoord origin is upper left MemberName 90(PS_OUTPUT) 0 "Color" MemberName 90(PS_OUTPUT) 1 "Depth" Name 92 "psout" - Name 99 "@entryPointOutput" - Name 104 "g_tTex1df4a" - Name 105 "g_tTex1df4" - Name 108 "g_tTex1di4a" - Name 111 "g_tTex1du4a" - Name 113 "Color" - Name 115 "Depth" + Name 99 "Color" + Name 103 "Depth" + Name 109 "g_tTex1df4a" + Name 110 "g_tTex1df4" + Name 113 "g_tTex1di4a" + Name 116 "g_tTex1du4a" Decorate 12(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 @@ -272,14 +291,14 @@ gl_FragCoord origin is upper left Decorate 70(g_tTexcdi4a) DescriptorSet 0 Decorate 80(g_tTexcdu4a) DescriptorSet 0 MemberDecorate 90(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 104(g_tTex1df4a) DescriptorSet 0 - Decorate 104(g_tTex1df4a) Binding 1 - Decorate 105(g_tTex1df4) DescriptorSet 0 - Decorate 105(g_tTex1df4) Binding 0 - Decorate 108(g_tTex1di4a) DescriptorSet 0 - Decorate 111(g_tTex1du4a) DescriptorSet 0 - Decorate 113(Color) Location 0 - Decorate 115(Depth) BuiltIn FragDepth + Decorate 99(Color) Location 0 + Decorate 103(Depth) BuiltIn FragDepth + Decorate 109(g_tTex1df4a) DescriptorSet 0 + Decorate 109(g_tTex1df4a) Binding 1 + Decorate 110(g_tTex1df4) DescriptorSet 0 + Decorate 110(g_tTex1df4) Binding 0 + Decorate 113(g_tTex1di4a) DescriptorSet 0 + Decorate 116(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -341,22 +360,20 @@ gl_FragCoord origin is upper left 93: 7(fvec4) ConstantComposite 87 87 87 87 95: 25(int) Constant 1 96: TypePointer Function 6(float) - 98: TypePointer Output 90(PS_OUTPUT) -99(@entryPointOutput): 98(ptr) Variable Output - 102: TypeImage 6(float) 1D array sampled format:Unknown - 103: TypePointer UniformConstant 102 -104(g_tTex1df4a): 103(ptr) Variable UniformConstant - 105(g_tTex1df4): 103(ptr) Variable UniformConstant - 106: TypeImage 25(int) 1D array sampled format:Unknown - 107: TypePointer UniformConstant 106 -108(g_tTex1di4a): 107(ptr) Variable UniformConstant - 109: TypeImage 42(int) 1D array sampled format:Unknown - 110: TypePointer UniformConstant 109 -111(g_tTex1du4a): 110(ptr) Variable UniformConstant - 112: TypePointer Output 7(fvec4) - 113(Color): 112(ptr) Variable Output - 114: TypePointer Output 6(float) - 115(Depth): 114(ptr) Variable Output + 98: TypePointer Output 7(fvec4) + 99(Color): 98(ptr) Variable Output + 102: TypePointer Output 6(float) + 103(Depth): 102(ptr) Variable Output + 107: TypeImage 6(float) 1D array sampled format:Unknown + 108: TypePointer UniformConstant 107 +109(g_tTex1df4a): 108(ptr) Variable UniformConstant + 110(g_tTex1df4): 108(ptr) Variable UniformConstant + 111: TypeImage 25(int) 1D array sampled format:Unknown + 112: TypePointer UniformConstant 111 +113(g_tTex1di4a): 112(ptr) Variable UniformConstant + 114: TypeImage 42(int) 1D array sampled format:Unknown + 115: TypePointer UniformConstant 114 +116(g_tTex1du4a): 115(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -400,7 +417,11 @@ gl_FragCoord origin is upper left Store 94 93 97: 96(ptr) AccessChain 92(psout) 95 Store 97 87 - 100:90(PS_OUTPUT) Load 92(psout) - Store 99(@entryPointOutput) 100 + 100: 8(ptr) AccessChain 92(psout) 26 + 101: 7(fvec4) Load 100 + Store 99(Color) 101 + 104: 96(ptr) AccessChain 92(psout) 95 + 105: 6(float) Load 104 + Store 103(Depth) 105 Return FunctionEnd diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out index 1703e47..340529d 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out @@ -85,10 +85,20 @@ gl_FragCoord origin is upper left 0:45 1 (const int) 0:45 Constant: 0:45 1.000000 -0:47 Sequence -0:47 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:47 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:47 Color: direct index for structure (temp 4-component vector of float) +0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:47 Constant: +0:47 0 (const int) +0:47 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:47 Depth: direct index for structure (temp float FragDepth) +0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:47 Constant: +0:47 1 (const int) 0:47 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -199,10 +209,20 @@ gl_FragCoord origin is upper left 0:45 1 (const int) 0:45 Constant: 0:45 1.000000 -0:47 Sequence -0:47 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:47 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:47 Color: direct index for structure (temp 4-component vector of float) +0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:47 Constant: +0:47 0 (const int) +0:47 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:47 Depth: direct index for structure (temp float FragDepth) +0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:47 Constant: +0:47 1 (const int) 0:47 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -225,13 +245,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 127 +// Id's are bound by 128 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 100 124 126 + EntryPoint Fragment 4 "main" 100 104 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval20" @@ -251,17 +271,16 @@ gl_FragCoord origin is upper left MemberName 90(PS_OUTPUT) 0 "Color" MemberName 90(PS_OUTPUT) 1 "Depth" Name 92 "psout" - Name 100 "@entryPointOutput" - Name 103 "g_sSamp2d" - Name 106 "g_tTex1df4a" - Name 107 "g_tTex1df4" - Name 110 "g_tTex1di4" - Name 113 "g_tTex1du4" - Name 116 "g_tTex3df4" - Name 119 "g_tTex3di4" - Name 122 "g_tTex3du4" - Name 124 "Color" - Name 126 "Depth" + Name 100 "Color" + Name 104 "Depth" + Name 108 "g_sSamp2d" + Name 111 "g_tTex1df4a" + Name 112 "g_tTex1df4" + Name 115 "g_tTex1di4" + Name 118 "g_tTex1du4" + Name 121 "g_tTex3df4" + Name 124 "g_tTex3di4" + Name 127 "g_tTex3du4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 @@ -271,18 +290,18 @@ gl_FragCoord origin is upper left Decorate 70(g_tTexcdi4) DescriptorSet 0 Decorate 80(g_tTexcdu4) DescriptorSet 0 MemberDecorate 90(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 103(g_sSamp2d) DescriptorSet 0 - Decorate 106(g_tTex1df4a) DescriptorSet 0 - Decorate 106(g_tTex1df4a) Binding 1 - Decorate 107(g_tTex1df4) DescriptorSet 0 - Decorate 107(g_tTex1df4) Binding 0 - Decorate 110(g_tTex1di4) DescriptorSet 0 - Decorate 113(g_tTex1du4) DescriptorSet 0 - Decorate 116(g_tTex3df4) DescriptorSet 0 - Decorate 119(g_tTex3di4) DescriptorSet 0 - Decorate 122(g_tTex3du4) DescriptorSet 0 - Decorate 124(Color) Location 0 - Decorate 126(Depth) BuiltIn FragDepth + Decorate 100(Color) Location 0 + Decorate 104(Depth) BuiltIn FragDepth + Decorate 108(g_sSamp2d) DescriptorSet 0 + Decorate 111(g_tTex1df4a) DescriptorSet 0 + Decorate 111(g_tTex1df4a) Binding 1 + Decorate 112(g_tTex1df4) DescriptorSet 0 + Decorate 112(g_tTex1df4) Binding 0 + Decorate 115(g_tTex1di4) DescriptorSet 0 + Decorate 118(g_tTex1du4) DescriptorSet 0 + Decorate 121(g_tTex3df4) DescriptorSet 0 + Decorate 124(g_tTex3di4) DescriptorSet 0 + Decorate 127(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -345,32 +364,30 @@ gl_FragCoord origin is upper left 94: 7(fvec4) ConstantComposite 93 93 93 93 96: 24(int) Constant 1 97: TypePointer Function 6(float) - 99: TypePointer Output 90(PS_OUTPUT) -100(@entryPointOutput): 99(ptr) Variable Output - 103(g_sSamp2d): 15(ptr) Variable UniformConstant - 104: TypeImage 6(float) 1D sampled format:Unknown - 105: TypePointer UniformConstant 104 -106(g_tTex1df4a): 105(ptr) Variable UniformConstant - 107(g_tTex1df4): 105(ptr) Variable UniformConstant - 108: TypeImage 24(int) 1D sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTex1di4): 109(ptr) Variable UniformConstant - 111: TypeImage 41(int) 1D sampled format:Unknown - 112: TypePointer UniformConstant 111 - 113(g_tTex1du4): 112(ptr) Variable UniformConstant - 114: TypeImage 6(float) 3D sampled format:Unknown - 115: TypePointer UniformConstant 114 - 116(g_tTex3df4): 115(ptr) Variable UniformConstant - 117: TypeImage 24(int) 3D sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTex3di4): 118(ptr) Variable UniformConstant - 120: TypeImage 41(int) 3D sampled format:Unknown - 121: TypePointer UniformConstant 120 - 122(g_tTex3du4): 121(ptr) Variable UniformConstant - 123: TypePointer Output 7(fvec4) - 124(Color): 123(ptr) Variable Output - 125: TypePointer Output 6(float) - 126(Depth): 125(ptr) Variable Output + 99: TypePointer Output 7(fvec4) + 100(Color): 99(ptr) Variable Output + 103: TypePointer Output 6(float) + 104(Depth): 103(ptr) Variable Output + 108(g_sSamp2d): 15(ptr) Variable UniformConstant + 109: TypeImage 6(float) 1D sampled format:Unknown + 110: TypePointer UniformConstant 109 +111(g_tTex1df4a): 110(ptr) Variable UniformConstant + 112(g_tTex1df4): 110(ptr) Variable UniformConstant + 113: TypeImage 24(int) 1D sampled format:Unknown + 114: TypePointer UniformConstant 113 + 115(g_tTex1di4): 114(ptr) Variable UniformConstant + 116: TypeImage 41(int) 1D sampled format:Unknown + 117: TypePointer UniformConstant 116 + 118(g_tTex1du4): 117(ptr) Variable UniformConstant + 119: TypeImage 6(float) 3D sampled format:Unknown + 120: TypePointer UniformConstant 119 + 121(g_tTex3df4): 120(ptr) Variable UniformConstant + 122: TypeImage 24(int) 3D sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTex3di4): 123(ptr) Variable UniformConstant + 125: TypeImage 41(int) 3D sampled format:Unknown + 126: TypePointer UniformConstant 125 + 127(g_tTex3du4): 126(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -414,7 +431,11 @@ gl_FragCoord origin is upper left Store 95 94 98: 97(ptr) AccessChain 92(psout) 96 Store 98 93 - 101:90(PS_OUTPUT) Load 92(psout) - Store 100(@entryPointOutput) 101 + 101: 8(ptr) AccessChain 92(psout) 25 + 102: 7(fvec4) Load 101 + Store 100(Color) 102 + 105: 97(ptr) AccessChain 92(psout) 96 + 106: 6(float) Load 105 + Store 104(Depth) 106 Return FunctionEnd diff --git a/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/Test/baseResults/hlsl.gather.basic.dx10.vert.out index 449ef5b..74e2648 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out @@ -77,10 +77,14 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:45 Sequence -0:45 move second child to first child (temp structure{temp 4-component vector of float Position Pos}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Position Pos}) -0:45 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:? Sequence +0:? Sequence +0:45 move second child to first child (temp 4-component vector of float) +0:? 'Pos' (out 4-component vector of float Position) +0:45 Pos: direct index for structure (temp 4-component vector of float Position) +0:45 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:45 Constant: +0:45 0 (const int) 0:45 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -182,10 +186,14 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:45 Sequence -0:45 move second child to first child (temp structure{temp 4-component vector of float Position Pos}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Position Pos}) -0:45 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:? Sequence +0:? Sequence +0:45 move second child to first child (temp 4-component vector of float) +0:? 'Pos' (out 4-component vector of float Position) +0:45 Pos: direct index for structure (temp 4-component vector of float Position) +0:45 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:45 Constant: +0:45 0 (const int) 0:45 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -207,13 +215,13 @@ Shader version: 450 // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 122 +// Id's are bound by 121 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 97 121 + EntryPoint Vertex 4 "main" 97 Name 4 "main" Name 9 "txval20" Name 12 "g_tTex2df4" @@ -231,16 +239,15 @@ Shader version: 450 Name 90 "VS_OUTPUT" MemberName 90(VS_OUTPUT) 0 "Pos" Name 92 "vsout" - Name 97 "@entryPointOutput" - Name 100 "g_sSamp2d" - Name 103 "g_tTex1df4a" - Name 104 "g_tTex1df4" - Name 107 "g_tTex1di4" - Name 110 "g_tTex1du4" - Name 113 "g_tTex3df4" - Name 116 "g_tTex3di4" - Name 119 "g_tTex3du4" - Name 121 "Pos" + Name 97 "Pos" + Name 101 "g_sSamp2d" + Name 104 "g_tTex1df4a" + Name 105 "g_tTex1df4" + Name 108 "g_tTex1di4" + Name 111 "g_tTex1du4" + Name 114 "g_tTex3df4" + Name 117 "g_tTex3di4" + Name 120 "g_tTex3du4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 @@ -250,17 +257,17 @@ Shader version: 450 Decorate 70(g_tTexcdi4) DescriptorSet 0 Decorate 80(g_tTexcdu4) DescriptorSet 0 MemberDecorate 90(VS_OUTPUT) 0 BuiltIn Position - Decorate 100(g_sSamp2d) DescriptorSet 0 - Decorate 103(g_tTex1df4a) DescriptorSet 0 - Decorate 103(g_tTex1df4a) Binding 1 - Decorate 104(g_tTex1df4) DescriptorSet 0 - Decorate 104(g_tTex1df4) Binding 0 - Decorate 107(g_tTex1di4) DescriptorSet 0 - Decorate 110(g_tTex1du4) DescriptorSet 0 - Decorate 113(g_tTex3df4) DescriptorSet 0 - Decorate 116(g_tTex3di4) DescriptorSet 0 - Decorate 119(g_tTex3du4) DescriptorSet 0 - Decorate 121(Pos) BuiltIn Position + Decorate 97(Pos) BuiltIn Position + Decorate 101(g_sSamp2d) DescriptorSet 0 + Decorate 104(g_tTex1df4a) DescriptorSet 0 + Decorate 104(g_tTex1df4a) Binding 1 + Decorate 105(g_tTex1df4) DescriptorSet 0 + Decorate 105(g_tTex1df4) Binding 0 + Decorate 108(g_tTex1di4) DescriptorSet 0 + Decorate 111(g_tTex1du4) DescriptorSet 0 + Decorate 114(g_tTex3df4) DescriptorSet 0 + Decorate 117(g_tTex3di4) DescriptorSet 0 + Decorate 120(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -321,30 +328,28 @@ Shader version: 450 91: TypePointer Function 90(VS_OUTPUT) 93: 6(float) Constant 0 94: 7(fvec4) ConstantComposite 93 93 93 93 - 96: TypePointer Output 90(VS_OUTPUT) -97(@entryPointOutput): 96(ptr) Variable Output - 100(g_sSamp2d): 15(ptr) Variable UniformConstant - 101: TypeImage 6(float) 1D sampled format:Unknown - 102: TypePointer UniformConstant 101 -103(g_tTex1df4a): 102(ptr) Variable UniformConstant - 104(g_tTex1df4): 102(ptr) Variable UniformConstant - 105: TypeImage 24(int) 1D sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTex1di4): 106(ptr) Variable UniformConstant - 108: TypeImage 41(int) 1D sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTex1du4): 109(ptr) Variable UniformConstant - 111: TypeImage 6(float) 3D sampled format:Unknown - 112: TypePointer UniformConstant 111 - 113(g_tTex3df4): 112(ptr) Variable UniformConstant - 114: TypeImage 24(int) 3D sampled format:Unknown - 115: TypePointer UniformConstant 114 - 116(g_tTex3di4): 115(ptr) Variable UniformConstant - 117: TypeImage 41(int) 3D sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTex3du4): 118(ptr) Variable UniformConstant - 120: TypePointer Output 7(fvec4) - 121(Pos): 120(ptr) Variable Output + 96: TypePointer Output 7(fvec4) + 97(Pos): 96(ptr) Variable Output + 101(g_sSamp2d): 15(ptr) Variable UniformConstant + 102: TypeImage 6(float) 1D sampled format:Unknown + 103: TypePointer UniformConstant 102 +104(g_tTex1df4a): 103(ptr) Variable UniformConstant + 105(g_tTex1df4): 103(ptr) Variable UniformConstant + 106: TypeImage 24(int) 1D sampled format:Unknown + 107: TypePointer UniformConstant 106 + 108(g_tTex1di4): 107(ptr) Variable UniformConstant + 109: TypeImage 41(int) 1D sampled format:Unknown + 110: TypePointer UniformConstant 109 + 111(g_tTex1du4): 110(ptr) Variable UniformConstant + 112: TypeImage 6(float) 3D sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTex3df4): 113(ptr) Variable UniformConstant + 115: TypeImage 24(int) 3D sampled format:Unknown + 116: TypePointer UniformConstant 115 + 117(g_tTex3di4): 116(ptr) Variable UniformConstant + 118: TypeImage 41(int) 3D sampled format:Unknown + 119: TypePointer UniformConstant 118 + 120(g_tTex3du4): 119(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -386,7 +391,8 @@ Shader version: 450 Store 77(txval42) 89 95: 8(ptr) AccessChain 92(vsout) 25 Store 95 94 - 98:90(VS_OUTPUT) Load 92(vsout) - Store 97(@entryPointOutput) 98 + 98: 8(ptr) AccessChain 92(vsout) 25 + 99: 7(fvec4) Load 98 + Store 97(Pos) 99 Return FunctionEnd diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out index 61d42c9..5ac30a1 100644 --- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out @@ -61,10 +61,20 @@ gl_FragCoord origin is upper left 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:43 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:43 Color: direct index for structure (temp 4-component vector of float) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Constant: +0:43 0 (const int) +0:43 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:43 Depth: direct index for structure (temp float FragDepth) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Constant: +0:43 1 (const int) 0:43 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -150,10 +160,20 @@ gl_FragCoord origin is upper left 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:43 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:43 Color: direct index for structure (temp 4-component vector of float) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Constant: +0:43 0 (const int) +0:43 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:43 Depth: direct index for structure (temp float FragDepth) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Constant: +0:43 1 (const int) 0:43 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -175,13 +195,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 106 +// Id's are bound by 107 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 71 103 105 + EntryPoint Fragment 4 "main" 71 75 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval20" @@ -195,39 +215,38 @@ gl_FragCoord origin is upper left MemberName 62(PS_OUTPUT) 0 "Color" MemberName 62(PS_OUTPUT) 1 "Depth" Name 64 "psout" - Name 71 "@entryPointOutput" - Name 76 "g_tTex1df4a" - Name 77 "g_tTex1df4" - Name 80 "g_tTex1di4" - Name 83 "g_tTex1du4" - Name 86 "g_tTex3df4" - Name 89 "g_tTex3di4" - Name 92 "g_tTex3du4" - Name 95 "g_tTexcdf4" - Name 98 "g_tTexcdi4" - Name 101 "g_tTexcdu4" - Name 103 "Color" - Name 105 "Depth" + Name 71 "Color" + Name 75 "Depth" + Name 81 "g_tTex1df4a" + Name 82 "g_tTex1df4" + Name 85 "g_tTex1di4" + Name 88 "g_tTex1du4" + Name 91 "g_tTex3df4" + Name 94 "g_tTex3di4" + Name 97 "g_tTex3du4" + Name 100 "g_tTexcdf4" + Name 103 "g_tTexcdi4" + Name 106 "g_tTexcdu4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 Decorate 35(g_tTex2di4) DescriptorSet 0 Decorate 51(g_tTex2du4) DescriptorSet 0 MemberDecorate 62(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 76(g_tTex1df4a) DescriptorSet 0 - Decorate 76(g_tTex1df4a) Binding 1 - Decorate 77(g_tTex1df4) DescriptorSet 0 - Decorate 77(g_tTex1df4) Binding 0 - Decorate 80(g_tTex1di4) DescriptorSet 0 - Decorate 83(g_tTex1du4) DescriptorSet 0 - Decorate 86(g_tTex3df4) DescriptorSet 0 - Decorate 89(g_tTex3di4) DescriptorSet 0 - Decorate 92(g_tTex3du4) DescriptorSet 0 - Decorate 95(g_tTexcdf4) DescriptorSet 0 - Decorate 98(g_tTexcdi4) DescriptorSet 0 - Decorate 101(g_tTexcdu4) DescriptorSet 0 - Decorate 103(Color) Location 0 - Decorate 105(Depth) BuiltIn FragDepth + Decorate 71(Color) Location 0 + Decorate 75(Depth) BuiltIn FragDepth + Decorate 81(g_tTex1df4a) DescriptorSet 0 + Decorate 81(g_tTex1df4a) Binding 1 + Decorate 82(g_tTex1df4) DescriptorSet 0 + Decorate 82(g_tTex1df4) Binding 0 + Decorate 85(g_tTex1di4) DescriptorSet 0 + Decorate 88(g_tTex1du4) DescriptorSet 0 + Decorate 91(g_tTex3df4) DescriptorSet 0 + Decorate 94(g_tTex3di4) DescriptorSet 0 + Decorate 97(g_tTex3du4) DescriptorSet 0 + Decorate 100(g_tTexcdf4) DescriptorSet 0 + Decorate 103(g_tTexcdi4) DescriptorSet 0 + Decorate 106(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -276,40 +295,38 @@ gl_FragCoord origin is upper left 65: 6(float) Constant 1065353216 66: 7(fvec4) ConstantComposite 65 65 65 65 68: TypePointer Function 6(float) - 70: TypePointer Output 62(PS_OUTPUT) -71(@entryPointOutput): 70(ptr) Variable Output - 74: TypeImage 6(float) 1D sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex1df4a): 75(ptr) Variable UniformConstant - 77(g_tTex1df4): 75(ptr) Variable UniformConstant - 78: TypeImage 24(int) 1D sampled format:Unknown - 79: TypePointer UniformConstant 78 - 80(g_tTex1di4): 79(ptr) Variable UniformConstant - 81: TypeImage 45(int) 1D sampled format:Unknown - 82: TypePointer UniformConstant 81 - 83(g_tTex1du4): 82(ptr) Variable UniformConstant - 84: TypeImage 6(float) 3D sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex3df4): 85(ptr) Variable UniformConstant - 87: TypeImage 24(int) 3D sampled format:Unknown - 88: TypePointer UniformConstant 87 - 89(g_tTex3di4): 88(ptr) Variable UniformConstant - 90: TypeImage 45(int) 3D sampled format:Unknown - 91: TypePointer UniformConstant 90 - 92(g_tTex3du4): 91(ptr) Variable UniformConstant - 93: TypeImage 6(float) Cube sampled format:Unknown - 94: TypePointer UniformConstant 93 - 95(g_tTexcdf4): 94(ptr) Variable UniformConstant - 96: TypeImage 24(int) Cube sampled format:Unknown - 97: TypePointer UniformConstant 96 - 98(g_tTexcdi4): 97(ptr) Variable UniformConstant - 99: TypeImage 45(int) Cube sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTexcdu4): 100(ptr) Variable UniformConstant - 102: TypePointer Output 7(fvec4) - 103(Color): 102(ptr) Variable Output - 104: TypePointer Output 6(float) - 105(Depth): 104(ptr) Variable Output + 70: TypePointer Output 7(fvec4) + 71(Color): 70(ptr) Variable Output + 74: TypePointer Output 6(float) + 75(Depth): 74(ptr) Variable Output + 79: TypeImage 6(float) 1D sampled format:Unknown + 80: TypePointer UniformConstant 79 + 81(g_tTex1df4a): 80(ptr) Variable UniformConstant + 82(g_tTex1df4): 80(ptr) Variable UniformConstant + 83: TypeImage 24(int) 1D sampled format:Unknown + 84: TypePointer UniformConstant 83 + 85(g_tTex1di4): 84(ptr) Variable UniformConstant + 86: TypeImage 45(int) 1D sampled format:Unknown + 87: TypePointer UniformConstant 86 + 88(g_tTex1du4): 87(ptr) Variable UniformConstant + 89: TypeImage 6(float) 3D sampled format:Unknown + 90: TypePointer UniformConstant 89 + 91(g_tTex3df4): 90(ptr) Variable UniformConstant + 92: TypeImage 24(int) 3D sampled format:Unknown + 93: TypePointer UniformConstant 92 + 94(g_tTex3di4): 93(ptr) Variable UniformConstant + 95: TypeImage 45(int) 3D sampled format:Unknown + 96: TypePointer UniformConstant 95 + 97(g_tTex3du4): 96(ptr) Variable UniformConstant + 98: TypeImage 6(float) Cube sampled format:Unknown + 99: TypePointer UniformConstant 98 + 100(g_tTexcdf4): 99(ptr) Variable UniformConstant + 101: TypeImage 24(int) Cube sampled format:Unknown + 102: TypePointer UniformConstant 101 + 103(g_tTexcdi4): 102(ptr) Variable UniformConstant + 104: TypeImage 45(int) Cube sampled format:Unknown + 105: TypePointer UniformConstant 104 + 106(g_tTexcdu4): 105(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -335,7 +352,11 @@ gl_FragCoord origin is upper left Store 67 66 69: 68(ptr) AccessChain 64(psout) 26 Store 69 65 - 72:62(PS_OUTPUT) Load 64(psout) - Store 71(@entryPointOutput) 72 + 72: 8(ptr) AccessChain 64(psout) 27 + 73: 7(fvec4) Load 72 + Store 71(Color) 73 + 76: 68(ptr) AccessChain 64(psout) 26 + 77: 6(float) Load 76 + Store 75(Depth) 77 Return FunctionEnd diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out index c3fab2e..84472b0 100644 --- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out @@ -64,10 +64,20 @@ gl_FragCoord origin is upper left 0:33 1 (const int) 0:33 Constant: 0:33 1.000000 -0:35 Sequence -0:35 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:35 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:35 Color: direct index for structure (temp 4-component vector of float) +0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:35 Constant: +0:35 0 (const int) +0:35 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:35 Depth: direct index for structure (temp float FragDepth) +0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:35 Constant: +0:35 1 (const int) 0:35 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -150,10 +160,20 @@ gl_FragCoord origin is upper left 0:33 1 (const int) 0:33 Constant: 0:33 1.000000 -0:35 Sequence -0:35 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:35 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:35 Color: direct index for structure (temp 4-component vector of float) +0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:35 Constant: +0:35 0 (const int) +0:35 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:35 Depth: direct index for structure (temp float FragDepth) +0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:35 Constant: +0:35 1 (const int) 0:35 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -169,13 +189,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 89 +// Id's are bound by 90 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 72 86 88 + EntryPoint Fragment 4 "main" 72 76 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval20" @@ -189,27 +209,26 @@ gl_FragCoord origin is upper left MemberName 63(PS_OUTPUT) 0 "Color" MemberName 63(PS_OUTPUT) 1 "Depth" Name 65 "psout" - Name 72 "@entryPointOutput" - Name 77 "g_tTex1df4a" - Name 78 "g_tTex1df4" - Name 81 "g_tTex1di4" - Name 84 "g_tTex1du4" - Name 86 "Color" - Name 88 "Depth" + Name 72 "Color" + Name 76 "Depth" + Name 82 "g_tTex1df4a" + Name 83 "g_tTex1df4" + Name 86 "g_tTex1di4" + Name 89 "g_tTex1du4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 Decorate 36(g_tTex2di4) DescriptorSet 0 Decorate 51(g_tTex2du4) DescriptorSet 0 MemberDecorate 63(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 77(g_tTex1df4a) DescriptorSet 0 - Decorate 77(g_tTex1df4a) Binding 1 - Decorate 78(g_tTex1df4) DescriptorSet 0 - Decorate 78(g_tTex1df4) Binding 0 - Decorate 81(g_tTex1di4) DescriptorSet 0 - Decorate 84(g_tTex1du4) DescriptorSet 0 - Decorate 86(Color) Location 0 - Decorate 88(Depth) BuiltIn FragDepth + Decorate 72(Color) Location 0 + Decorate 76(Depth) BuiltIn FragDepth + Decorate 82(g_tTex1df4a) DescriptorSet 0 + Decorate 82(g_tTex1df4a) Binding 1 + Decorate 83(g_tTex1df4) DescriptorSet 0 + Decorate 83(g_tTex1df4) Binding 0 + Decorate 86(g_tTex1di4) DescriptorSet 0 + Decorate 89(g_tTex1du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -259,22 +278,20 @@ gl_FragCoord origin is upper left 66: 6(float) Constant 1065353216 67: 7(fvec4) ConstantComposite 66 66 66 66 69: TypePointer Function 6(float) - 71: TypePointer Output 63(PS_OUTPUT) -72(@entryPointOutput): 71(ptr) Variable Output - 75: TypeImage 6(float) 1D array sampled format:Unknown - 76: TypePointer UniformConstant 75 - 77(g_tTex1df4a): 76(ptr) Variable UniformConstant - 78(g_tTex1df4): 76(ptr) Variable UniformConstant - 79: TypeImage 25(int) 1D array sampled format:Unknown - 80: TypePointer UniformConstant 79 - 81(g_tTex1di4): 80(ptr) Variable UniformConstant - 82: TypeImage 45(int) 1D array sampled format:Unknown - 83: TypePointer UniformConstant 82 - 84(g_tTex1du4): 83(ptr) Variable UniformConstant - 85: TypePointer Output 7(fvec4) - 86(Color): 85(ptr) Variable Output - 87: TypePointer Output 6(float) - 88(Depth): 87(ptr) Variable Output + 71: TypePointer Output 7(fvec4) + 72(Color): 71(ptr) Variable Output + 75: TypePointer Output 6(float) + 76(Depth): 75(ptr) Variable Output + 80: TypeImage 6(float) 1D array sampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(g_tTex1df4a): 81(ptr) Variable UniformConstant + 83(g_tTex1df4): 81(ptr) Variable UniformConstant + 84: TypeImage 25(int) 1D array sampled format:Unknown + 85: TypePointer UniformConstant 84 + 86(g_tTex1di4): 85(ptr) Variable UniformConstant + 87: TypeImage 45(int) 1D array sampled format:Unknown + 88: TypePointer UniformConstant 87 + 89(g_tTex1du4): 88(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -300,7 +317,11 @@ gl_FragCoord origin is upper left Store 68 67 70: 69(ptr) AccessChain 65(psout) 27 Store 70 66 - 73:63(PS_OUTPUT) Load 65(psout) - Store 72(@entryPointOutput) 73 + 73: 8(ptr) AccessChain 65(psout) 28 + 74: 7(fvec4) Load 73 + Store 72(Color) 74 + 77: 69(ptr) AccessChain 65(psout) 27 + 78: 6(float) Load 77 + Store 76(Depth) 78 Return FunctionEnd diff --git a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out index 7cfe3d9..cb6180f 100644 --- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out @@ -262,10 +262,20 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Sequence -0:70 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:70 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:70 Color: direct index for structure (temp 4-component vector of float) +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Constant: +0:70 0 (const int) +0:70 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:70 Depth: direct index for structure (temp float FragDepth) +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Constant: +0:70 1 (const int) 0:70 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -553,10 +563,20 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Sequence -0:70 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:70 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:70 Color: direct index for structure (temp 4-component vector of float) +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Constant: +0:70 0 (const int) +0:70 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:70 Depth: direct index for structure (temp float FragDepth) +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Constant: +0:70 1 (const int) 0:70 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -579,14 +599,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 226 +// Id's are bound by 227 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 204 223 225 + EntryPoint Fragment 4 "main" 204 208 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval00" @@ -626,15 +646,14 @@ gl_FragCoord origin is upper left MemberName 195(PS_OUTPUT) 0 "Color" MemberName 195(PS_OUTPUT) 1 "Depth" Name 197 "psout" - Name 204 "@entryPointOutput" - Name 207 "g_sSamp2d" - Name 210 "g_tTex1df4a" - Name 213 "g_tTex1di4a" - Name 216 "g_tTex1du4a" - Name 218 "c1" - Name 221 "c2" - Name 223 "Color" - Name 225 "Depth" + Name 204 "Color" + Name 208 "Depth" + Name 212 "g_sSamp2d" + Name 215 "g_tTex1df4a" + Name 218 "g_tTex1di4a" + Name 221 "g_tTex1du4a" + Name 223 "c1" + Name 226 "c2" Decorate 12(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 @@ -644,13 +663,13 @@ gl_FragCoord origin is upper left Decorate 124(g_tTexcdi4a) DescriptorSet 0 Decorate 134(g_tTexcdu4a) DescriptorSet 0 MemberDecorate 195(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 207(g_sSamp2d) DescriptorSet 0 - Decorate 210(g_tTex1df4a) DescriptorSet 0 - Decorate 210(g_tTex1df4a) Binding 0 - Decorate 213(g_tTex1di4a) DescriptorSet 0 - Decorate 216(g_tTex1du4a) DescriptorSet 0 - Decorate 223(Color) Location 0 - Decorate 225(Depth) BuiltIn FragDepth + Decorate 204(Color) Location 0 + Decorate 208(Depth) BuiltIn FragDepth + Decorate 212(g_sSamp2d) DescriptorSet 0 + Decorate 215(g_tTex1df4a) DescriptorSet 0 + Decorate 215(g_tTex1df4a) Binding 0 + Decorate 218(g_tTex1di4a) DescriptorSet 0 + Decorate 221(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -703,27 +722,25 @@ gl_FragCoord origin is upper left 198: 6(float) Constant 1065353216 199: 7(fvec4) ConstantComposite 198 198 198 198 201: TypePointer Function 6(float) - 203: TypePointer Output 195(PS_OUTPUT) -204(@entryPointOutput): 203(ptr) Variable Output - 207(g_sSamp2d): 15(ptr) Variable UniformConstant - 208: TypeImage 6(float) 1D array sampled format:Unknown - 209: TypePointer UniformConstant 208 -210(g_tTex1df4a): 209(ptr) Variable UniformConstant - 211: TypeImage 24(int) 1D array sampled format:Unknown - 212: TypePointer UniformConstant 211 -213(g_tTex1di4a): 212(ptr) Variable UniformConstant - 214: TypeImage 39(int) 1D array sampled format:Unknown - 215: TypePointer UniformConstant 214 -216(g_tTex1du4a): 215(ptr) Variable UniformConstant - 217: TypePointer UniformConstant 6(float) - 218(c1): 217(ptr) Variable UniformConstant - 219: TypeVector 6(float) 2 - 220: TypePointer UniformConstant 219(fvec2) - 221(c2): 220(ptr) Variable UniformConstant - 222: TypePointer Output 7(fvec4) - 223(Color): 222(ptr) Variable Output - 224: TypePointer Output 6(float) - 225(Depth): 224(ptr) Variable Output + 203: TypePointer Output 7(fvec4) + 204(Color): 203(ptr) Variable Output + 207: TypePointer Output 6(float) + 208(Depth): 207(ptr) Variable Output + 212(g_sSamp2d): 15(ptr) Variable UniformConstant + 213: TypeImage 6(float) 1D array sampled format:Unknown + 214: TypePointer UniformConstant 213 +215(g_tTex1df4a): 214(ptr) Variable UniformConstant + 216: TypeImage 24(int) 1D array sampled format:Unknown + 217: TypePointer UniformConstant 216 +218(g_tTex1di4a): 217(ptr) Variable UniformConstant + 219: TypeImage 39(int) 1D array sampled format:Unknown + 220: TypePointer UniformConstant 219 +221(g_tTex1du4a): 220(ptr) Variable UniformConstant + 222: TypePointer UniformConstant 6(float) + 223(c1): 222(ptr) Variable UniformConstant + 224: TypeVector 6(float) 2 + 225: TypePointer UniformConstant 224(fvec2) + 226(c2): 225(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval00): 8(ptr) Variable Function @@ -899,7 +916,11 @@ gl_FragCoord origin is upper left Store 200 199 202: 201(ptr) AccessChain 197(psout) 57 Store 202 198 - 205:195(PS_OUTPUT) Load 197(psout) - Store 204(@entryPointOutput) 205 + 205: 8(ptr) AccessChain 197(psout) 25 + 206: 7(fvec4) Load 205 + Store 204(Color) 206 + 209: 201(ptr) AccessChain 197(psout) 57 + 210: 6(float) Load 209 + Store 208(Depth) 210 Return FunctionEnd diff --git a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out index 9ba2a1a..b5735e4 100644 --- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out @@ -262,10 +262,20 @@ gl_FragCoord origin is upper left 0:74 1 (const int) 0:74 Constant: 0:74 1.000000 -0:76 Sequence -0:76 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:76 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:76 Color: direct index for structure (temp 4-component vector of float) +0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:76 Constant: +0:76 0 (const int) +0:76 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:76 Depth: direct index for structure (temp float FragDepth) +0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:76 Constant: +0:76 1 (const int) 0:76 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -557,10 +567,20 @@ gl_FragCoord origin is upper left 0:74 1 (const int) 0:74 Constant: 0:74 1.000000 -0:76 Sequence -0:76 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:76 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:76 Color: direct index for structure (temp 4-component vector of float) +0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:76 Constant: +0:76 0 (const int) +0:76 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:76 Depth: direct index for structure (temp float FragDepth) +0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:76 Constant: +0:76 1 (const int) 0:76 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -587,13 +607,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 236 +// Id's are bound by 237 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 205 233 235 + EntryPoint Fragment 4 "main" 205 209 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval00" @@ -633,19 +653,18 @@ gl_FragCoord origin is upper left MemberName 196(PS_OUTPUT) 0 "Color" MemberName 196(PS_OUTPUT) 1 "Depth" Name 198 "psout" - Name 205 "@entryPointOutput" - Name 208 "g_sSamp2d" - Name 211 "g_tTex1df4a" - Name 212 "g_tTex1df4" - Name 215 "g_tTex1di4" - Name 218 "g_tTex1du4" - Name 221 "g_tTex3df4" - Name 224 "g_tTex3di4" - Name 227 "g_tTex3du4" - Name 229 "c1" - Name 231 "c4" - Name 233 "Color" - Name 235 "Depth" + Name 205 "Color" + Name 209 "Depth" + Name 213 "g_sSamp2d" + Name 216 "g_tTex1df4a" + Name 217 "g_tTex1df4" + Name 220 "g_tTex1di4" + Name 223 "g_tTex1du4" + Name 226 "g_tTex3df4" + Name 229 "g_tTex3di4" + Name 232 "g_tTex3du4" + Name 234 "c1" + Name 236 "c4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 @@ -655,18 +674,18 @@ gl_FragCoord origin is upper left Decorate 125(g_tTexcdi4) DescriptorSet 0 Decorate 135(g_tTexcdu4) DescriptorSet 0 MemberDecorate 196(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 208(g_sSamp2d) DescriptorSet 0 - Decorate 211(g_tTex1df4a) DescriptorSet 0 - Decorate 211(g_tTex1df4a) Binding 1 - Decorate 212(g_tTex1df4) DescriptorSet 0 - Decorate 212(g_tTex1df4) Binding 0 - Decorate 215(g_tTex1di4) DescriptorSet 0 - Decorate 218(g_tTex1du4) DescriptorSet 0 - Decorate 221(g_tTex3df4) DescriptorSet 0 - Decorate 224(g_tTex3di4) DescriptorSet 0 - Decorate 227(g_tTex3du4) DescriptorSet 0 - Decorate 233(Color) Location 0 - Decorate 235(Depth) BuiltIn FragDepth + Decorate 205(Color) Location 0 + Decorate 209(Depth) BuiltIn FragDepth + Decorate 213(g_sSamp2d) DescriptorSet 0 + Decorate 216(g_tTex1df4a) DescriptorSet 0 + Decorate 216(g_tTex1df4a) Binding 1 + Decorate 217(g_tTex1df4) DescriptorSet 0 + Decorate 217(g_tTex1df4) Binding 0 + Decorate 220(g_tTex1di4) DescriptorSet 0 + Decorate 223(g_tTex1du4) DescriptorSet 0 + Decorate 226(g_tTex3df4) DescriptorSet 0 + Decorate 229(g_tTex3di4) DescriptorSet 0 + Decorate 232(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -720,36 +739,34 @@ gl_FragCoord origin is upper left 199: 6(float) Constant 1065353216 200: 7(fvec4) ConstantComposite 199 199 199 199 202: TypePointer Function 6(float) - 204: TypePointer Output 196(PS_OUTPUT) -205(@entryPointOutput): 204(ptr) Variable Output - 208(g_sSamp2d): 15(ptr) Variable UniformConstant - 209: TypeImage 6(float) 1D sampled format:Unknown - 210: TypePointer UniformConstant 209 -211(g_tTex1df4a): 210(ptr) Variable UniformConstant - 212(g_tTex1df4): 210(ptr) Variable UniformConstant - 213: TypeImage 24(int) 1D sampled format:Unknown - 214: TypePointer UniformConstant 213 - 215(g_tTex1di4): 214(ptr) Variable UniformConstant - 216: TypeImage 39(int) 1D sampled format:Unknown - 217: TypePointer UniformConstant 216 - 218(g_tTex1du4): 217(ptr) Variable UniformConstant - 219: TypeImage 6(float) 3D sampled format:Unknown - 220: TypePointer UniformConstant 219 - 221(g_tTex3df4): 220(ptr) Variable UniformConstant - 222: TypeImage 24(int) 3D sampled format:Unknown - 223: TypePointer UniformConstant 222 - 224(g_tTex3di4): 223(ptr) Variable UniformConstant - 225: TypeImage 39(int) 3D sampled format:Unknown - 226: TypePointer UniformConstant 225 - 227(g_tTex3du4): 226(ptr) Variable UniformConstant - 228: TypePointer UniformConstant 6(float) - 229(c1): 228(ptr) Variable UniformConstant - 230: TypePointer UniformConstant 7(fvec4) - 231(c4): 230(ptr) Variable UniformConstant - 232: TypePointer Output 7(fvec4) - 233(Color): 232(ptr) Variable Output - 234: TypePointer Output 6(float) - 235(Depth): 234(ptr) Variable Output + 204: TypePointer Output 7(fvec4) + 205(Color): 204(ptr) Variable Output + 208: TypePointer Output 6(float) + 209(Depth): 208(ptr) Variable Output + 213(g_sSamp2d): 15(ptr) Variable UniformConstant + 214: TypeImage 6(float) 1D sampled format:Unknown + 215: TypePointer UniformConstant 214 +216(g_tTex1df4a): 215(ptr) Variable UniformConstant + 217(g_tTex1df4): 215(ptr) Variable UniformConstant + 218: TypeImage 24(int) 1D sampled format:Unknown + 219: TypePointer UniformConstant 218 + 220(g_tTex1di4): 219(ptr) Variable UniformConstant + 221: TypeImage 39(int) 1D sampled format:Unknown + 222: TypePointer UniformConstant 221 + 223(g_tTex1du4): 222(ptr) Variable UniformConstant + 224: TypeImage 6(float) 3D sampled format:Unknown + 225: TypePointer UniformConstant 224 + 226(g_tTex3df4): 225(ptr) Variable UniformConstant + 227: TypeImage 24(int) 3D sampled format:Unknown + 228: TypePointer UniformConstant 227 + 229(g_tTex3di4): 228(ptr) Variable UniformConstant + 230: TypeImage 39(int) 3D sampled format:Unknown + 231: TypePointer UniformConstant 230 + 232(g_tTex3du4): 231(ptr) Variable UniformConstant + 233: TypePointer UniformConstant 6(float) + 234(c1): 233(ptr) Variable UniformConstant + 235: TypePointer UniformConstant 7(fvec4) + 236(c4): 235(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval00): 8(ptr) Variable Function @@ -925,7 +942,11 @@ gl_FragCoord origin is upper left Store 201 200 203: 202(ptr) AccessChain 198(psout) 57 Store 203 199 - 206:196(PS_OUTPUT) Load 198(psout) - Store 205(@entryPointOutput) 206 + 206: 8(ptr) AccessChain 198(psout) 25 + 207: 7(fvec4) Load 206 + Store 205(Color) 207 + 210: 202(ptr) AccessChain 198(psout) 57 + 211: 6(float) Load 210 + Store 209(Depth) 211 Return FunctionEnd diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out index 283e085..f8857cc 100644 --- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out @@ -334,10 +334,20 @@ gl_FragCoord origin is upper left 0:113 1 (const int) 0:113 Constant: 0:113 1.000000 -0:115 Sequence -0:115 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:115 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:115 Color: direct index for structure (temp 4-component vector of float) +0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:115 Constant: +0:115 0 (const int) +0:115 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:115 Depth: direct index for structure (temp float FragDepth) +0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:115 Constant: +0:115 1 (const int) 0:115 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -705,10 +715,20 @@ gl_FragCoord origin is upper left 0:113 1 (const int) 0:113 Constant: 0:113 1.000000 -0:115 Sequence -0:115 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:115 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:115 Color: direct index for structure (temp 4-component vector of float) +0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:115 Constant: +0:115 0 (const int) +0:115 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:115 Depth: direct index for structure (temp float FragDepth) +0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:115 Constant: +0:115 1 (const int) 0:115 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -739,14 +759,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 317 +// Id's are bound by 318 Capability Shader Capability ImageGatherExtended Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 267 314 316 + EntryPoint Fragment 4 "main" 267 271 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval001" @@ -783,47 +803,46 @@ gl_FragCoord origin is upper left MemberName 258(PS_OUTPUT) 0 "Color" MemberName 258(PS_OUTPUT) 1 "Depth" Name 260 "psout" - Name 267 "@entryPointOutput" - Name 270 "g_sSamp2d" - Name 273 "g_tTex1df4a" - Name 274 "g_tTex1df4" - Name 277 "g_tTex1di4" - Name 280 "g_tTex1du4" - Name 283 "g_tTex3df4" - Name 286 "g_tTex3di4" - Name 289 "g_tTex3du4" - Name 292 "g_tTexcdf4" - Name 295 "g_tTexcdi4" - Name 298 "g_tTexcdu4" - Name 300 "c1" - Name 303 "c3" - Name 305 "c4" - Name 307 "o1" - Name 310 "o3" - Name 312 "o4" - Name 314 "Color" - Name 316 "Depth" + Name 267 "Color" + Name 271 "Depth" + Name 275 "g_sSamp2d" + Name 278 "g_tTex1df4a" + Name 279 "g_tTex1df4" + Name 282 "g_tTex1di4" + Name 285 "g_tTex1du4" + Name 288 "g_tTex3df4" + Name 291 "g_tTex3di4" + Name 294 "g_tTex3du4" + Name 297 "g_tTexcdf4" + Name 300 "g_tTexcdi4" + Name 303 "g_tTexcdu4" + Name 305 "c1" + Name 308 "c3" + Name 310 "c4" + Name 312 "o1" + Name 315 "o3" + Name 317 "o4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 Decorate 36(g_tTex2di4) DescriptorSet 0 Decorate 50(g_tTex2du4) DescriptorSet 0 MemberDecorate 258(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 270(g_sSamp2d) DescriptorSet 0 - Decorate 273(g_tTex1df4a) DescriptorSet 0 - Decorate 273(g_tTex1df4a) Binding 1 - Decorate 274(g_tTex1df4) DescriptorSet 0 - Decorate 274(g_tTex1df4) Binding 0 - Decorate 277(g_tTex1di4) DescriptorSet 0 - Decorate 280(g_tTex1du4) DescriptorSet 0 - Decorate 283(g_tTex3df4) DescriptorSet 0 - Decorate 286(g_tTex3di4) DescriptorSet 0 - Decorate 289(g_tTex3du4) DescriptorSet 0 - Decorate 292(g_tTexcdf4) DescriptorSet 0 - Decorate 295(g_tTexcdi4) DescriptorSet 0 - Decorate 298(g_tTexcdu4) DescriptorSet 0 - Decorate 314(Color) Location 0 - Decorate 316(Depth) BuiltIn FragDepth + Decorate 267(Color) Location 0 + Decorate 271(Depth) BuiltIn FragDepth + Decorate 275(g_sSamp2d) DescriptorSet 0 + Decorate 278(g_tTex1df4a) DescriptorSet 0 + Decorate 278(g_tTex1df4a) Binding 1 + Decorate 279(g_tTex1df4) DescriptorSet 0 + Decorate 279(g_tTex1df4) Binding 0 + Decorate 282(g_tTex1di4) DescriptorSet 0 + Decorate 285(g_tTex1du4) DescriptorSet 0 + Decorate 288(g_tTex3df4) DescriptorSet 0 + Decorate 291(g_tTex3di4) DescriptorSet 0 + Decorate 294(g_tTex3du4) DescriptorSet 0 + Decorate 297(g_tTexcdf4) DescriptorSet 0 + Decorate 300(g_tTexcdi4) DescriptorSet 0 + Decorate 303(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -867,55 +886,53 @@ gl_FragCoord origin is upper left 261: 6(float) Constant 1065353216 262: 7(fvec4) ConstantComposite 261 261 261 261 264: TypePointer Function 6(float) - 266: TypePointer Output 258(PS_OUTPUT) -267(@entryPointOutput): 266(ptr) Variable Output - 270(g_sSamp2d): 15(ptr) Variable UniformConstant - 271: TypeImage 6(float) 1D sampled format:Unknown - 272: TypePointer UniformConstant 271 -273(g_tTex1df4a): 272(ptr) Variable UniformConstant - 274(g_tTex1df4): 272(ptr) Variable UniformConstant - 275: TypeImage 24(int) 1D sampled format:Unknown - 276: TypePointer UniformConstant 275 - 277(g_tTex1di4): 276(ptr) Variable UniformConstant - 278: TypeImage 44(int) 1D sampled format:Unknown - 279: TypePointer UniformConstant 278 - 280(g_tTex1du4): 279(ptr) Variable UniformConstant - 281: TypeImage 6(float) 3D sampled format:Unknown - 282: TypePointer UniformConstant 281 - 283(g_tTex3df4): 282(ptr) Variable UniformConstant - 284: TypeImage 24(int) 3D sampled format:Unknown - 285: TypePointer UniformConstant 284 - 286(g_tTex3di4): 285(ptr) Variable UniformConstant - 287: TypeImage 44(int) 3D sampled format:Unknown - 288: TypePointer UniformConstant 287 - 289(g_tTex3du4): 288(ptr) Variable UniformConstant - 290: TypeImage 6(float) Cube sampled format:Unknown - 291: TypePointer UniformConstant 290 - 292(g_tTexcdf4): 291(ptr) Variable UniformConstant - 293: TypeImage 24(int) Cube sampled format:Unknown - 294: TypePointer UniformConstant 293 - 295(g_tTexcdi4): 294(ptr) Variable UniformConstant - 296: TypeImage 44(int) Cube sampled format:Unknown - 297: TypePointer UniformConstant 296 - 298(g_tTexcdu4): 297(ptr) Variable UniformConstant - 299: TypePointer UniformConstant 6(float) - 300(c1): 299(ptr) Variable UniformConstant - 301: TypeVector 6(float) 3 - 302: TypePointer UniformConstant 301(fvec3) - 303(c3): 302(ptr) Variable UniformConstant - 304: TypePointer UniformConstant 7(fvec4) - 305(c4): 304(ptr) Variable UniformConstant - 306: TypePointer UniformConstant 24(int) - 307(o1): 306(ptr) Variable UniformConstant - 308: TypeVector 24(int) 3 - 309: TypePointer UniformConstant 308(ivec3) - 310(o3): 309(ptr) Variable UniformConstant - 311: TypePointer UniformConstant 31(ivec4) - 312(o4): 311(ptr) Variable UniformConstant - 313: TypePointer Output 7(fvec4) - 314(Color): 313(ptr) Variable Output - 315: TypePointer Output 6(float) - 316(Depth): 315(ptr) Variable Output + 266: TypePointer Output 7(fvec4) + 267(Color): 266(ptr) Variable Output + 270: TypePointer Output 6(float) + 271(Depth): 270(ptr) Variable Output + 275(g_sSamp2d): 15(ptr) Variable UniformConstant + 276: TypeImage 6(float) 1D sampled format:Unknown + 277: TypePointer UniformConstant 276 +278(g_tTex1df4a): 277(ptr) Variable UniformConstant + 279(g_tTex1df4): 277(ptr) Variable UniformConstant + 280: TypeImage 24(int) 1D sampled format:Unknown + 281: TypePointer UniformConstant 280 + 282(g_tTex1di4): 281(ptr) Variable UniformConstant + 283: TypeImage 44(int) 1D sampled format:Unknown + 284: TypePointer UniformConstant 283 + 285(g_tTex1du4): 284(ptr) Variable UniformConstant + 286: TypeImage 6(float) 3D sampled format:Unknown + 287: TypePointer UniformConstant 286 + 288(g_tTex3df4): 287(ptr) Variable UniformConstant + 289: TypeImage 24(int) 3D sampled format:Unknown + 290: TypePointer UniformConstant 289 + 291(g_tTex3di4): 290(ptr) Variable UniformConstant + 292: TypeImage 44(int) 3D sampled format:Unknown + 293: TypePointer UniformConstant 292 + 294(g_tTex3du4): 293(ptr) Variable UniformConstant + 295: TypeImage 6(float) Cube sampled format:Unknown + 296: TypePointer UniformConstant 295 + 297(g_tTexcdf4): 296(ptr) Variable UniformConstant + 298: TypeImage 24(int) Cube sampled format:Unknown + 299: TypePointer UniformConstant 298 + 300(g_tTexcdi4): 299(ptr) Variable UniformConstant + 301: TypeImage 44(int) Cube sampled format:Unknown + 302: TypePointer UniformConstant 301 + 303(g_tTexcdu4): 302(ptr) Variable UniformConstant + 304: TypePointer UniformConstant 6(float) + 305(c1): 304(ptr) Variable UniformConstant + 306: TypeVector 6(float) 3 + 307: TypePointer UniformConstant 306(fvec3) + 308(c3): 307(ptr) Variable UniformConstant + 309: TypePointer UniformConstant 7(fvec4) + 310(c4): 309(ptr) Variable UniformConstant + 311: TypePointer UniformConstant 24(int) + 312(o1): 311(ptr) Variable UniformConstant + 313: TypeVector 24(int) 3 + 314: TypePointer UniformConstant 313(ivec3) + 315(o3): 314(ptr) Variable UniformConstant + 316: TypePointer UniformConstant 31(ivec4) + 317(o4): 316(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval001): 8(ptr) Variable Function @@ -1163,7 +1180,11 @@ gl_FragCoord origin is upper left Store 263 262 265: 264(ptr) AccessChain 260(psout) 99 Store 265 261 - 268:258(PS_OUTPUT) Load 260(psout) - Store 267(@entryPointOutput) 268 + 268: 8(ptr) AccessChain 260(psout) 29 + 269: 7(fvec4) Load 268 + Store 267(Color) 269 + 272: 264(ptr) AccessChain 260(psout) 99 + 273: 6(float) Load 272 + Store 271(Depth) 273 Return FunctionEnd diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out index a6fabbf..4ee4aa7 100644 --- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out @@ -334,10 +334,20 @@ gl_FragCoord origin is upper left 0:107 1 (const int) 0:107 Constant: 0:107 1.000000 -0:109 Sequence -0:109 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:109 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:109 Color: direct index for structure (temp 4-component vector of float) +0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:109 Constant: +0:109 0 (const int) +0:109 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:109 Depth: direct index for structure (temp float FragDepth) +0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:109 Constant: +0:109 1 (const int) 0:109 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -701,10 +711,20 @@ gl_FragCoord origin is upper left 0:107 1 (const int) 0:107 Constant: 0:107 1.000000 -0:109 Sequence -0:109 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:109 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:109 Color: direct index for structure (temp 4-component vector of float) +0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:109 Constant: +0:109 0 (const int) +0:109 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:109 Depth: direct index for structure (temp float FragDepth) +0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:109 Constant: +0:109 1 (const int) 0:109 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -731,7 +751,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 307 +// Id's are bound by 308 Capability Shader Capability ImageGatherExtended @@ -739,7 +759,7 @@ gl_FragCoord origin is upper left Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 267 304 306 + EntryPoint Fragment 4 "main" 267 271 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval001" @@ -776,38 +796,37 @@ gl_FragCoord origin is upper left MemberName 258(PS_OUTPUT) 0 "Color" MemberName 258(PS_OUTPUT) 1 "Depth" Name 260 "psout" - Name 267 "@entryPointOutput" - Name 270 "g_sSamp2d" - Name 273 "g_tTex1df4a" - Name 276 "g_tTex1di4a" - Name 279 "g_tTex1du4a" - Name 282 "g_tTexcdf4a" - Name 285 "g_tTexcdi4a" - Name 288 "g_tTexcdu4a" - Name 290 "c1" - Name 293 "c2" - Name 295 "c4" - Name 297 "o1" - Name 300 "o3" - Name 302 "o4" - Name 304 "Color" - Name 306 "Depth" + Name 267 "Color" + Name 271 "Depth" + Name 275 "g_sSamp2d" + Name 278 "g_tTex1df4a" + Name 281 "g_tTex1di4a" + Name 284 "g_tTex1du4a" + Name 287 "g_tTexcdf4a" + Name 290 "g_tTexcdi4a" + Name 293 "g_tTexcdu4a" + Name 295 "c1" + Name 298 "c2" + Name 300 "c4" + Name 302 "o1" + Name 305 "o3" + Name 307 "o4" Decorate 12(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 Decorate 36(g_tTex2di4a) DescriptorSet 0 Decorate 50(g_tTex2du4a) DescriptorSet 0 MemberDecorate 258(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 270(g_sSamp2d) DescriptorSet 0 - Decorate 273(g_tTex1df4a) DescriptorSet 0 - Decorate 273(g_tTex1df4a) Binding 0 - Decorate 276(g_tTex1di4a) DescriptorSet 0 - Decorate 279(g_tTex1du4a) DescriptorSet 0 - Decorate 282(g_tTexcdf4a) DescriptorSet 0 - Decorate 285(g_tTexcdi4a) DescriptorSet 0 - Decorate 288(g_tTexcdu4a) DescriptorSet 0 - Decorate 304(Color) Location 0 - Decorate 306(Depth) BuiltIn FragDepth + Decorate 267(Color) Location 0 + Decorate 271(Depth) BuiltIn FragDepth + Decorate 275(g_sSamp2d) DescriptorSet 0 + Decorate 278(g_tTex1df4a) DescriptorSet 0 + Decorate 278(g_tTex1df4a) Binding 0 + Decorate 281(g_tTex1di4a) DescriptorSet 0 + Decorate 284(g_tTex1du4a) DescriptorSet 0 + Decorate 287(g_tTexcdf4a) DescriptorSet 0 + Decorate 290(g_tTexcdi4a) DescriptorSet 0 + Decorate 293(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -851,45 +870,43 @@ gl_FragCoord origin is upper left 261: 6(float) Constant 1065353216 262: 7(fvec4) ConstantComposite 261 261 261 261 264: TypePointer Function 6(float) - 266: TypePointer Output 258(PS_OUTPUT) -267(@entryPointOutput): 266(ptr) Variable Output - 270(g_sSamp2d): 15(ptr) Variable UniformConstant - 271: TypeImage 6(float) 1D array sampled format:Unknown - 272: TypePointer UniformConstant 271 -273(g_tTex1df4a): 272(ptr) Variable UniformConstant - 274: TypeImage 24(int) 1D array sampled format:Unknown - 275: TypePointer UniformConstant 274 -276(g_tTex1di4a): 275(ptr) Variable UniformConstant - 277: TypeImage 44(int) 1D array sampled format:Unknown - 278: TypePointer UniformConstant 277 -279(g_tTex1du4a): 278(ptr) Variable UniformConstant - 280: TypeImage 6(float) Cube array sampled format:Unknown - 281: TypePointer UniformConstant 280 -282(g_tTexcdf4a): 281(ptr) Variable UniformConstant - 283: TypeImage 24(int) Cube array sampled format:Unknown - 284: TypePointer UniformConstant 283 -285(g_tTexcdi4a): 284(ptr) Variable UniformConstant - 286: TypeImage 44(int) Cube array sampled format:Unknown - 287: TypePointer UniformConstant 286 -288(g_tTexcdu4a): 287(ptr) Variable UniformConstant - 289: TypePointer UniformConstant 6(float) - 290(c1): 289(ptr) Variable UniformConstant - 291: TypeVector 6(float) 2 - 292: TypePointer UniformConstant 291(fvec2) - 293(c2): 292(ptr) Variable UniformConstant - 294: TypePointer UniformConstant 7(fvec4) - 295(c4): 294(ptr) Variable UniformConstant - 296: TypePointer UniformConstant 24(int) - 297(o1): 296(ptr) Variable UniformConstant - 298: TypeVector 24(int) 3 - 299: TypePointer UniformConstant 298(ivec3) - 300(o3): 299(ptr) Variable UniformConstant - 301: TypePointer UniformConstant 31(ivec4) - 302(o4): 301(ptr) Variable UniformConstant - 303: TypePointer Output 7(fvec4) - 304(Color): 303(ptr) Variable Output - 305: TypePointer Output 6(float) - 306(Depth): 305(ptr) Variable Output + 266: TypePointer Output 7(fvec4) + 267(Color): 266(ptr) Variable Output + 270: TypePointer Output 6(float) + 271(Depth): 270(ptr) Variable Output + 275(g_sSamp2d): 15(ptr) Variable UniformConstant + 276: TypeImage 6(float) 1D array sampled format:Unknown + 277: TypePointer UniformConstant 276 +278(g_tTex1df4a): 277(ptr) Variable UniformConstant + 279: TypeImage 24(int) 1D array sampled format:Unknown + 280: TypePointer UniformConstant 279 +281(g_tTex1di4a): 280(ptr) Variable UniformConstant + 282: TypeImage 44(int) 1D array sampled format:Unknown + 283: TypePointer UniformConstant 282 +284(g_tTex1du4a): 283(ptr) Variable UniformConstant + 285: TypeImage 6(float) Cube array sampled format:Unknown + 286: TypePointer UniformConstant 285 +287(g_tTexcdf4a): 286(ptr) Variable UniformConstant + 288: TypeImage 24(int) Cube array sampled format:Unknown + 289: TypePointer UniformConstant 288 +290(g_tTexcdi4a): 289(ptr) Variable UniformConstant + 291: TypeImage 44(int) Cube array sampled format:Unknown + 292: TypePointer UniformConstant 291 +293(g_tTexcdu4a): 292(ptr) Variable UniformConstant + 294: TypePointer UniformConstant 6(float) + 295(c1): 294(ptr) Variable UniformConstant + 296: TypeVector 6(float) 2 + 297: TypePointer UniformConstant 296(fvec2) + 298(c2): 297(ptr) Variable UniformConstant + 299: TypePointer UniformConstant 7(fvec4) + 300(c4): 299(ptr) Variable UniformConstant + 301: TypePointer UniformConstant 24(int) + 302(o1): 301(ptr) Variable UniformConstant + 303: TypeVector 24(int) 3 + 304: TypePointer UniformConstant 303(ivec3) + 305(o3): 304(ptr) Variable UniformConstant + 306: TypePointer UniformConstant 31(ivec4) + 307(o4): 306(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval001): 8(ptr) Variable Function @@ -1137,7 +1154,11 @@ gl_FragCoord origin is upper left Store 263 262 265: 264(ptr) AccessChain 260(psout) 99 Store 265 261 - 268:258(PS_OUTPUT) Load 260(psout) - Store 267(@entryPointOutput) 268 + 268: 8(ptr) AccessChain 260(psout) 29 + 269: 7(fvec4) Load 268 + Store 267(Color) 269 + 272: 264(ptr) AccessChain 260(psout) 99 + 273: 6(float) Load 272 + Store 271(Depth) 273 Return FunctionEnd diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out index 1c5e425..ca913a8 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out @@ -1060,10 +1060,20 @@ gl_FragCoord origin is upper left 0:277 1 (const int) 0:277 Constant: 0:277 1.000000 -0:279 Sequence -0:279 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:279 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:279 Color: direct index for structure (temp 4-component vector of float) +0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:279 Constant: +0:279 0 (const int) +0:279 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:279 Depth: direct index for structure (temp float FragDepth) +0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:279 Constant: +0:279 1 (const int) 0:279 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -2162,10 +2172,20 @@ gl_FragCoord origin is upper left 0:277 1 (const int) 0:277 Constant: 0:277 1.000000 -0:279 Sequence -0:279 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:279 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:279 Color: direct index for structure (temp 4-component vector of float) +0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:279 Constant: +0:279 0 (const int) +0:279 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:279 Depth: direct index for structure (temp float FragDepth) +0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:279 Constant: +0:279 1 (const int) 0:279 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -2201,7 +2221,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 544 +// Id's are bound by 545 Capability Shader Capability Sampled1D @@ -2210,7 +2230,7 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 534 541 543 + EntryPoint Fragment 4 "main" 534 538 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "sizeQueryTemp" @@ -2298,10 +2318,9 @@ gl_FragCoord origin is upper left MemberName 522(PS_OUTPUT) 0 "Color" MemberName 522(PS_OUTPUT) 1 "Depth" Name 524 "psout" - Name 534 "@entryPointOutput" - Name 539 "g_sSamp" - Name 541 "Color" - Name 543 "Depth" + Name 534 "Color" + Name 538 "Depth" + Name 544 "g_sSamp" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 29(g_tTex1di4) DescriptorSet 0 @@ -2331,10 +2350,10 @@ gl_FragCoord origin is upper left Decorate 496(g_tTex2dmsi4a) DescriptorSet 0 Decorate 510(g_tTex2dmsu4a) DescriptorSet 0 MemberDecorate 522(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 539(g_sSamp) DescriptorSet 0 - Decorate 539(g_sSamp) Binding 0 - Decorate 541(Color) Location 0 - Decorate 543(Depth) BuiltIn FragDepth + Decorate 534(Color) Location 0 + Decorate 538(Depth) BuiltIn FragDepth + Decorate 544(g_sSamp) DescriptorSet 0 + Decorate 544(g_sSamp) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -2441,15 +2460,13 @@ gl_FragCoord origin is upper left 528: TypePointer Function 521(fvec4) 530: 14(int) Constant 1 531: TypePointer Function 9(float) - 533: TypePointer Output 522(PS_OUTPUT) -534(@entryPointOutput): 533(ptr) Variable Output - 537: TypeSampler - 538: TypePointer UniformConstant 537 - 539(g_sSamp): 538(ptr) Variable UniformConstant - 540: TypePointer Output 521(fvec4) - 541(Color): 540(ptr) Variable Output - 542: TypePointer Output 9(float) - 543(Depth): 542(ptr) Variable Output + 533: TypePointer Output 521(fvec4) + 534(Color): 533(ptr) Variable Output + 537: TypePointer Output 9(float) + 538(Depth): 537(ptr) Variable Output + 542: TypeSampler + 543: TypePointer UniformConstant 542 + 544(g_sSamp): 543(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(sizeQueryTemp): 7(ptr) Variable Function @@ -3063,7 +3080,11 @@ gl_FragCoord origin is upper left Store 529 527 532: 531(ptr) AccessChain 524(psout) 530 Store 532 526 - 535:522(PS_OUTPUT) Load 524(psout) - Store 534(@entryPointOutput) 535 + 535: 528(ptr) AccessChain 524(psout) 525 + 536: 521(fvec4) Load 535 + Store 534(Color) 536 + 539: 531(ptr) AccessChain 524(psout) 530 + 540: 9(float) Load 539 + Store 538(Depth) 540 Return FunctionEnd diff --git a/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/Test/baseResults/hlsl.getdimensions.dx10.vert.out index 8b10755..9480188 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.vert.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out @@ -36,10 +36,14 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:26 Sequence -0:26 move second child to first child (temp structure{temp 4-component vector of float Position Pos}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Position Pos}) -0:26 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:? Sequence +0:? Sequence +0:26 move second child to first child (temp 4-component vector of float) +0:? 'Pos' (out 4-component vector of float Position) +0:26 Pos: direct index for structure (temp 4-component vector of float Position) +0:26 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:26 Constant: +0:26 0 (const int) 0:26 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -87,10 +91,14 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:26 Sequence -0:26 move second child to first child (temp structure{temp 4-component vector of float Position Pos}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Position Pos}) -0:26 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:? Sequence +0:? Sequence +0:26 move second child to first child (temp 4-component vector of float) +0:? 'Pos' (out 4-component vector of float Position) +0:26 Pos: direct index for structure (temp 4-component vector of float Position) +0:26 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:26 Constant: +0:26 0 (const int) 0:26 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -99,14 +107,14 @@ Shader version: 450 // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 44 +// Id's are bound by 43 Capability Shader Capability Sampled1D Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 36 43 + EntryPoint Vertex 4 "main" 36 Name 4 "main" Name 8 "sizeQueryTemp" Name 12 "g_tTex1df4" @@ -116,15 +124,14 @@ Shader version: 450 Name 27 "VS_OUTPUT" MemberName 27(VS_OUTPUT) 0 "Pos" Name 29 "vsout" - Name 36 "@entryPointOutput" - Name 41 "g_sSamp" - Name 43 "Pos" + Name 36 "Pos" + Name 42 "g_sSamp" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 MemberDecorate 27(VS_OUTPUT) 0 BuiltIn Position - Decorate 41(g_sSamp) DescriptorSet 0 - Decorate 41(g_sSamp) Binding 0 - Decorate 43(Pos) BuiltIn Position + Decorate 36(Pos) BuiltIn Position + Decorate 42(g_sSamp) DescriptorSet 0 + Decorate 42(g_sSamp) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -142,13 +149,11 @@ Shader version: 450 31: 9(float) Constant 0 32: 26(fvec4) ConstantComposite 31 31 31 31 33: TypePointer Function 26(fvec4) - 35: TypePointer Output 27(VS_OUTPUT) -36(@entryPointOutput): 35(ptr) Variable Output - 39: TypeSampler - 40: TypePointer UniformConstant 39 - 41(g_sSamp): 40(ptr) Variable UniformConstant - 42: TypePointer Output 26(fvec4) - 43(Pos): 42(ptr) Variable Output + 35: TypePointer Output 26(fvec4) + 36(Pos): 35(ptr) Variable Output + 40: TypeSampler + 41: TypePointer UniformConstant 40 + 42(g_sSamp): 41(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(sizeQueryTemp): 7(ptr) Variable Function @@ -171,7 +176,8 @@ Shader version: 450 Store 23(NumberOfLevelsU) 25 34: 33(ptr) AccessChain 29(vsout) 30 Store 34 32 - 37:27(VS_OUTPUT) Load 29(vsout) - Store 36(@entryPointOutput) 37 + 37: 33(ptr) AccessChain 29(vsout) 30 + 38: 26(fvec4) Load 37 + Store 36(Pos) 38 Return FunctionEnd diff --git a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out index 8addf8f..3d56bd4 100644 --- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out +++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out @@ -43,10 +43,20 @@ ERROR: node is still EOpNull! 0:20 1 (const int) 0:20 Constant: 0:20 1.000000 -0:22 Sequence -0:22 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:22 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:22 Color: direct index for structure (temp 4-component vector of float) +0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:22 Constant: +0:22 0 (const int) +0:22 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:22 Depth: direct index for structure (temp float FragDepth) +0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:22 Constant: +0:22 1 (const int) 0:22 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -98,10 +108,20 @@ ERROR: node is still EOpNull! 0:20 1 (const int) 0:20 Constant: 0:20 1.000000 -0:22 Sequence -0:22 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:22 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:22 Color: direct index for structure (temp 4-component vector of float) +0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:22 Constant: +0:22 0 (const int) +0:22 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:22 Depth: direct index for structure (temp float FragDepth) +0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:22 Constant: +0:22 1 (const int) 0:22 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) diff --git a/Test/baseResults/hlsl.init2.frag.out b/Test/baseResults/hlsl.init2.frag.out index b5702f3..3657cb2 100644 --- a/Test/baseResults/hlsl.init2.frag.out +++ b/Test/baseResults/hlsl.init2.frag.out @@ -43,10 +43,14 @@ gl_FragCoord origin is upper left 0:30 1.000000 0:30 1.000000 0:30 1.000000 -0:31 Sequence -0:31 move second child to first child (temp structure{temp 4-component vector of float color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) -0:31 'ps_output' (temp structure{temp 4-component vector of float color}) +0:? Sequence +0:? Sequence +0:31 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:31 color: direct index for structure (temp 4-component vector of float) +0:31 'ps_output' (temp structure{temp 4-component vector of float color}) +0:31 Constant: +0:31 0 (const int) 0:31 Branch: Return 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) @@ -99,22 +103,26 @@ gl_FragCoord origin is upper left 0:30 1.000000 0:30 1.000000 0:30 1.000000 -0:31 Sequence -0:31 move second child to first child (temp structure{temp 4-component vector of float color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) -0:31 'ps_output' (temp structure{temp 4-component vector of float color}) +0:? Sequence +0:? Sequence +0:31 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:31 color: direct index for structure (temp 4-component vector of float) +0:31 'ps_output' (temp structure{temp 4-component vector of float color}) +0:31 Constant: +0:31 0 (const int) 0:31 Branch: Return 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 48 +// Id's are bound by 47 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 43 47 + EntryPoint Fragment 4 "main" 43 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "Test1(" @@ -131,9 +139,8 @@ gl_FragCoord origin is upper left Name 34 "PS_OUTPUT" MemberName 34(PS_OUTPUT) 0 "color" Name 36 "ps_output" - Name 43 "@entryPointOutput" - Name 47 "color" - Decorate 47(color) Location 0 + Name 43 "color" + Decorate 43(color) Location 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 @@ -163,18 +170,17 @@ gl_FragCoord origin is upper left 38: 37(int) Constant 0 39: 33(fvec4) ConstantComposite 13 13 13 13 40: TypePointer Function 33(fvec4) - 42: TypePointer Output 34(PS_OUTPUT) -43(@entryPointOutput): 42(ptr) Variable Output - 46: TypePointer Output 33(fvec4) - 47(color): 46(ptr) Variable Output + 42: TypePointer Output 33(fvec4) + 43(color): 42(ptr) Variable Output 4(main): 2 Function None 3 5: Label 36(ps_output): 35(ptr) Variable Function 32: 2 FunctionCall 6(Test1() 41: 40(ptr) AccessChain 36(ps_output) 38 Store 41 39 - 44:34(PS_OUTPUT) Load 36(ps_output) - Store 43(@entryPointOutput) 44 + 44: 40(ptr) AccessChain 36(ps_output) 38 + 45: 33(fvec4) Load 44 + Store 43(color) 45 Return FunctionEnd 6(Test1(): 2 Function None 3 diff --git a/Test/baseResults/hlsl.inoutquals.frag.out b/Test/baseResults/hlsl.inoutquals.frag.out index af6106b..b0f4062 100644 --- a/Test/baseResults/hlsl.inoutquals.frag.out +++ b/Test/baseResults/hlsl.inoutquals.frag.out @@ -55,10 +55,20 @@ gl_FragCoord origin is upper left 0:22 'inpos' (noperspective in 4-component vector of float FragCoord) 0:22 Constant: 0:22 3 (const int) -0:24 Sequence -0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float FragDepth) +0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:24 Constant: +0:24 1 (const int) 0:24 Branch: Return 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) @@ -125,10 +135,20 @@ gl_FragCoord origin is upper left 0:22 'inpos' (noperspective in 4-component vector of float FragCoord) 0:22 Constant: 0:22 3 (const int) -0:24 Sequence -0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float FragDepth) +0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:24 Constant: +0:24 1 (const int) 0:24 Branch: Return 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) @@ -137,12 +157,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 60 +// Id's are bound by 61 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 45 53 57 59 + EntryPoint Fragment 4 "main" 45 53 57 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 12 "MyFunc(f1;f1;f1;" @@ -160,14 +180,13 @@ gl_FragCoord origin is upper left MemberName 31(PS_OUTPUT) 1 "Depth" Name 33 "psout" Name 45 "inpos" - Name 53 "@entryPointOutput" - Name 57 "Color" - Name 59 "Depth" + Name 53 "Color" + Name 57 "Depth" MemberDecorate 31(PS_OUTPUT) 1 BuiltIn FragDepth Decorate 45(inpos) NoPerspective Decorate 45(inpos) BuiltIn FragCoord - Decorate 57(Color) Location 0 - Decorate 59(Depth) BuiltIn FragDepth + Decorate 53(Color) Location 0 + Decorate 57(Depth) BuiltIn FragDepth 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -189,12 +208,10 @@ gl_FragCoord origin is upper left 46: TypeInt 32 0 47: 46(int) Constant 3 48: TypePointer Input 6(float) - 52: TypePointer Output 31(PS_OUTPUT) -53(@entryPointOutput): 52(ptr) Variable Output - 56: TypePointer Output 30(fvec4) - 57(Color): 56(ptr) Variable Output - 58: TypePointer Output 6(float) - 59(Depth): 58(ptr) Variable Output + 52: TypePointer Output 30(fvec4) + 53(Color): 52(ptr) Variable Output + 56: TypePointer Output 6(float) + 57(Depth): 56(ptr) Variable Output 4(main): 2 Function None 3 5: Label 17(x): 7(ptr) Variable Function @@ -225,8 +242,12 @@ gl_FragCoord origin is upper left 50: 6(float) Load 49 51: 7(ptr) AccessChain 33(psout) 43 Store 51 50 - 54:31(PS_OUTPUT) Load 33(psout) - Store 53(@entryPointOutput) 54 + 54: 41(ptr) AccessChain 33(psout) 35 + 55: 30(fvec4) Load 54 + Store 53(Color) 55 + 58: 7(ptr) AccessChain 33(psout) 43 + 59: 6(float) Load 58 + Store 57(Depth) 59 Return FunctionEnd 12(MyFunc(f1;f1;f1;): 2 Function None 8 diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out index fd807ba..151bdb4 100644 --- a/Test/baseResults/hlsl.intrinsics.frag.out +++ b/Test/baseResults/hlsl.intrinsics.frag.out @@ -2772,10 +2772,14 @@ gl_FragCoord origin is upper left 0:491 1.000000 0:491 1.000000 0:491 1.000000 -0:492 Sequence -0:492 move second child to first child (temp structure{temp 4-component vector of float color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) -0:492 'ps_output' (temp structure{temp 4-component vector of float color}) +0:? Sequence +0:? Sequence +0:492 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:492 color: direct index for structure (temp 4-component vector of float) +0:492 'ps_output' (temp structure{temp 4-component vector of float color}) +0:492 Constant: +0:492 0 (const int) 0:492 Branch: Return 0:? Linker Objects 0:? 'gs_ua' (global uint) @@ -5569,10 +5573,14 @@ gl_FragCoord origin is upper left 0:491 1.000000 0:491 1.000000 0:491 1.000000 -0:492 Sequence -0:492 move second child to first child (temp structure{temp 4-component vector of float color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) -0:492 'ps_output' (temp structure{temp 4-component vector of float color}) +0:? Sequence +0:? Sequence +0:492 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:492 color: direct index for structure (temp 4-component vector of float) +0:492 'ps_output' (temp structure{temp 4-component vector of float color}) +0:492 Constant: +0:492 0 (const int) 0:492 Branch: Return 0:? Linker Objects 0:? 'gs_ua' (global uint) @@ -5591,13 +5599,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 1826 +// Id's are bound by 1825 Capability Shader Capability DerivativeControl 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 1805 1825 + EntryPoint Fragment 4 "main" 1805 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 16 "PixelShaderFunctionS(f1;f1;f1;u1;u1;" @@ -6111,21 +6119,20 @@ gl_FragCoord origin is upper left Name 1798 "PS_OUTPUT" MemberName 1798(PS_OUTPUT) 0 "color" Name 1800 "ps_output" - Name 1805 "@entryPointOutput" - Name 1809 "gs_ua" - Name 1810 "gs_ub" - Name 1811 "gs_uc" - Name 1813 "gs_ua2" - Name 1814 "gs_ub2" - Name 1815 "gs_uc2" - Name 1817 "gs_ua3" - Name 1818 "gs_ub3" - Name 1819 "gs_uc3" - Name 1821 "gs_ua4" - Name 1822 "gs_ub4" - Name 1823 "gs_uc4" - Name 1825 "color" - Decorate 1825(color) Location 0 + Name 1805 "color" + Name 1810 "gs_ua" + Name 1811 "gs_ub" + Name 1812 "gs_uc" + Name 1814 "gs_ua2" + Name 1815 "gs_ub2" + Name 1816 "gs_uc2" + Name 1818 "gs_ua3" + Name 1819 "gs_ub3" + Name 1820 "gs_uc3" + Name 1822 "gs_ua4" + Name 1823 "gs_ub4" + Name 1824 "gs_uc4" + Decorate 1805(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -6241,33 +6248,32 @@ gl_FragCoord origin is upper left 1799: TypePointer Function 1798(PS_OUTPUT) 1801: 148(int) Constant 0 1802: 48(fvec4) ConstantComposite 284 284 284 284 - 1804: TypePointer Output 1798(PS_OUTPUT) -1805(@entryPointOutput): 1804(ptr) Variable Output - 1808: TypePointer Private 8(int) - 1809(gs_ua): 1808(ptr) Variable Private - 1810(gs_ub): 1808(ptr) Variable Private - 1811(gs_uc): 1808(ptr) Variable Private - 1812: TypePointer Private 26(ivec2) - 1813(gs_ua2): 1812(ptr) Variable Private - 1814(gs_ub2): 1812(ptr) Variable Private - 1815(gs_uc2): 1812(ptr) Variable Private - 1816: TypePointer Private 38(ivec3) - 1817(gs_ua3): 1816(ptr) Variable Private - 1818(gs_ub3): 1816(ptr) Variable Private - 1819(gs_uc3): 1816(ptr) Variable Private - 1820: TypePointer Private 50(ivec4) - 1821(gs_ua4): 1820(ptr) Variable Private - 1822(gs_ub4): 1820(ptr) Variable Private - 1823(gs_uc4): 1820(ptr) Variable Private - 1824: TypePointer Output 48(fvec4) - 1825(color): 1824(ptr) Variable Output + 1804: TypePointer Output 48(fvec4) + 1805(color): 1804(ptr) Variable Output + 1809: TypePointer Private 8(int) + 1810(gs_ua): 1809(ptr) Variable Private + 1811(gs_ub): 1809(ptr) Variable Private + 1812(gs_uc): 1809(ptr) Variable Private + 1813: TypePointer Private 26(ivec2) + 1814(gs_ua2): 1813(ptr) Variable Private + 1815(gs_ub2): 1813(ptr) Variable Private + 1816(gs_uc2): 1813(ptr) Variable Private + 1817: TypePointer Private 38(ivec3) + 1818(gs_ua3): 1817(ptr) Variable Private + 1819(gs_ub3): 1817(ptr) Variable Private + 1820(gs_uc3): 1817(ptr) Variable Private + 1821: TypePointer Private 50(ivec4) + 1822(gs_ua4): 1821(ptr) Variable Private + 1823(gs_ub4): 1821(ptr) Variable Private + 1824(gs_uc4): 1821(ptr) Variable Private 4(main): 2 Function None 3 5: Label 1800(ps_output): 1799(ptr) Variable Function 1803: 49(ptr) AccessChain 1800(ps_output) 1801 Store 1803 1802 - 1806:1798(PS_OUTPUT) Load 1800(ps_output) - Store 1805(@entryPointOutput) 1806 + 1806: 49(ptr) AccessChain 1800(ps_output) 1801 + 1807: 48(fvec4) Load 1806 + Store 1805(color) 1807 Return FunctionEnd 16(PixelShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10 diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out index 5de1da6..7733e2e 100644 --- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out +++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out @@ -88,10 +88,20 @@ gl_FragCoord origin is upper left 0:52 1 (const int) 0:52 Constant: 0:52 1.000000 -0:54 Sequence -0:54 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:54 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:54 Color: direct index for structure (temp 4-component vector of float) +0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:54 Constant: +0:54 0 (const int) +0:54 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:54 Depth: direct index for structure (temp float FragDepth) +0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:54 Constant: +0:54 1 (const int) 0:54 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -205,10 +215,20 @@ gl_FragCoord origin is upper left 0:52 1 (const int) 0:52 Constant: 0:52 1.000000 -0:54 Sequence -0:54 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:54 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:54 Color: direct index for structure (temp 4-component vector of float) +0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:54 Constant: +0:54 0 (const int) +0:54 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:54 Depth: direct index for structure (temp float FragDepth) +0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:54 Constant: +0:54 1 (const int) 0:54 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -231,14 +251,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 109 +// Id's are bound by 110 Capability Shader Capability ImageGatherExtended Capability ImageMSArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 92 106 108 + EntryPoint Fragment 4 "main" 92 96 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "g_tTex2dmsf4" @@ -254,15 +274,14 @@ gl_FragCoord origin is upper left MemberName 80(PS_OUTPUT) 0 "Color" MemberName 80(PS_OUTPUT) 1 "Depth" Name 82 "psout" - Name 92 "@entryPointOutput" - Name 97 "g_sSamp" - Name 99 "c1" - Name 101 "c4" - Name 102 "o1" - Name 103 "o3" - Name 104 "o4" - Name 106 "Color" - Name 108 "Depth" + Name 92 "Color" + Name 96 "Depth" + Name 102 "g_sSamp" + Name 104 "c1" + Name 106 "c4" + Name 107 "o1" + Name 108 "o3" + Name 109 "o4" Decorate 9(g_tTex2dmsf4) DescriptorSet 0 Decorate 21(g_tTex2dmsi4) DescriptorSet 0 Decorate 29(g_tTex2dmsu4) DescriptorSet 0 @@ -270,10 +289,10 @@ gl_FragCoord origin is upper left Decorate 58(g_tTex2dmsi4a) DescriptorSet 0 Decorate 64(g_tTex2dmsu4a) DescriptorSet 0 MemberDecorate 80(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 97(g_sSamp) DescriptorSet 0 - Decorate 97(g_sSamp) Binding 0 - Decorate 106(Color) Location 0 - Decorate 108(Depth) BuiltIn FragDepth + Decorate 92(Color) Location 0 + Decorate 96(Depth) BuiltIn FragDepth + Decorate 102(g_sSamp) DescriptorSet 0 + Decorate 102(g_sSamp) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -316,22 +335,20 @@ gl_FragCoord origin is upper left 86: TypePointer Function 17(fvec4) 88: 11(int) Constant 1 89: TypePointer Function 6(float) - 91: TypePointer Output 80(PS_OUTPUT) -92(@entryPointOutput): 91(ptr) Variable Output - 95: TypeSampler - 96: TypePointer UniformConstant 95 - 97(g_sSamp): 96(ptr) Variable UniformConstant - 98: TypePointer UniformConstant 11(int) - 99(c1): 98(ptr) Variable UniformConstant - 100: TypePointer UniformConstant 24(ivec4) - 101(c4): 100(ptr) Variable UniformConstant - 102(o1): 98(ptr) Variable UniformConstant - 103(o3): 52(ptr) Variable UniformConstant - 104(o4): 100(ptr) Variable UniformConstant - 105: TypePointer Output 17(fvec4) - 106(Color): 105(ptr) Variable Output - 107: TypePointer Output 6(float) - 108(Depth): 107(ptr) Variable Output + 91: TypePointer Output 17(fvec4) + 92(Color): 91(ptr) Variable Output + 95: TypePointer Output 6(float) + 96(Depth): 95(ptr) Variable Output + 100: TypeSampler + 101: TypePointer UniformConstant 100 + 102(g_sSamp): 101(ptr) Variable UniformConstant + 103: TypePointer UniformConstant 11(int) + 104(c1): 103(ptr) Variable UniformConstant + 105: TypePointer UniformConstant 24(ivec4) + 106(c4): 105(ptr) Variable UniformConstant + 107(o1): 103(ptr) Variable UniformConstant + 108(o3): 52(ptr) Variable UniformConstant + 109(o4): 105(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 82(psout): 81(ptr) Variable Function @@ -381,7 +398,11 @@ gl_FragCoord origin is upper left Store 87 85 90: 89(ptr) AccessChain 82(psout) 88 Store 90 84 - 93:80(PS_OUTPUT) Load 82(psout) - Store 92(@entryPointOutput) 93 + 93: 86(ptr) AccessChain 82(psout) 83 + 94: 17(fvec4) Load 93 + Store 92(Color) 94 + 97: 89(ptr) AccessChain 82(psout) 88 + 98: 6(float) Load 97 + Store 96(Depth) 98 Return FunctionEnd diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out index f496676..ea2e6d5 100644 --- a/Test/baseResults/hlsl.load.array.dx10.frag.out +++ b/Test/baseResults/hlsl.load.array.dx10.frag.out @@ -106,10 +106,20 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Sequence -0:70 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:70 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:70 Color: direct index for structure (temp 4-component vector of float) +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Constant: +0:70 0 (const int) +0:70 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:70 Depth: direct index for structure (temp float FragDepth) +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Constant: +0:70 1 (const int) 0:70 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -256,10 +266,20 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Sequence -0:70 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:70 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:70 Color: direct index for structure (temp 4-component vector of float) +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Constant: +0:70 0 (const int) +0:70 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:70 Depth: direct index for structure (temp float FragDepth) +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Constant: +0:70 1 (const int) 0:70 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -297,14 +317,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 149 +// Id's are bound by 150 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 87 146 148 + EntryPoint Fragment 4 "main" 87 91 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "g_tTex1df4a" @@ -319,31 +339,30 @@ gl_FragCoord origin is upper left MemberName 75(PS_OUTPUT) 0 "Color" MemberName 75(PS_OUTPUT) 1 "Depth" Name 77 "psout" - Name 87 "@entryPointOutput" - Name 92 "g_sSamp" - Name 95 "g_tTex1df4" - Name 98 "g_tTex1di4" - Name 101 "g_tTex1du4" - Name 104 "g_tTex2df4" - Name 107 "g_tTex2di4" - Name 110 "g_tTex2du4" - Name 113 "g_tTex3df4" - Name 116 "g_tTex3di4" - Name 119 "g_tTex3du4" - Name 122 "g_tTexcdf4" - Name 125 "g_tTexcdi4" - Name 128 "g_tTexcdu4" - Name 131 "g_tTexcdf4a" - Name 134 "g_tTexcdi4a" - Name 137 "g_tTexcdu4a" - Name 138 "c1" - Name 140 "c2" - Name 141 "o1" - Name 142 "o2" - Name 143 "o3" - Name 144 "o4" - Name 146 "Color" - Name 148 "Depth" + Name 87 "Color" + Name 91 "Depth" + Name 97 "g_sSamp" + Name 100 "g_tTex1df4" + Name 103 "g_tTex1di4" + Name 106 "g_tTex1du4" + Name 109 "g_tTex2df4" + Name 112 "g_tTex2di4" + Name 115 "g_tTex2du4" + Name 118 "g_tTex3df4" + Name 121 "g_tTex3di4" + Name 124 "g_tTex3du4" + Name 127 "g_tTexcdf4" + Name 130 "g_tTexcdi4" + Name 133 "g_tTexcdu4" + Name 136 "g_tTexcdf4a" + Name 139 "g_tTexcdi4a" + Name 142 "g_tTexcdu4a" + Name 143 "c1" + Name 145 "c2" + Name 146 "o1" + Name 147 "o2" + Name 148 "o3" + Name 149 "o4" Decorate 9(g_tTex1df4a) DescriptorSet 0 Decorate 27(g_tTex1di4a) DescriptorSet 0 Decorate 37(g_tTex1du4a) DescriptorSet 0 @@ -351,26 +370,26 @@ gl_FragCoord origin is upper left Decorate 59(g_tTex2di4a) DescriptorSet 0 Decorate 68(g_tTex2du4a) DescriptorSet 0 MemberDecorate 75(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 92(g_sSamp) DescriptorSet 0 - Decorate 92(g_sSamp) Binding 0 - Decorate 95(g_tTex1df4) DescriptorSet 0 - Decorate 95(g_tTex1df4) Binding 0 - Decorate 98(g_tTex1di4) DescriptorSet 0 - Decorate 101(g_tTex1du4) DescriptorSet 0 - Decorate 104(g_tTex2df4) DescriptorSet 0 - Decorate 107(g_tTex2di4) DescriptorSet 0 - Decorate 110(g_tTex2du4) DescriptorSet 0 - Decorate 113(g_tTex3df4) DescriptorSet 0 - Decorate 116(g_tTex3di4) DescriptorSet 0 - Decorate 119(g_tTex3du4) DescriptorSet 0 - Decorate 122(g_tTexcdf4) DescriptorSet 0 - Decorate 125(g_tTexcdi4) DescriptorSet 0 - Decorate 128(g_tTexcdu4) DescriptorSet 0 - Decorate 131(g_tTexcdf4a) DescriptorSet 0 - Decorate 134(g_tTexcdi4a) DescriptorSet 0 - Decorate 137(g_tTexcdu4a) DescriptorSet 0 - Decorate 146(Color) Location 0 - Decorate 148(Depth) BuiltIn FragDepth + Decorate 87(Color) Location 0 + Decorate 91(Depth) BuiltIn FragDepth + Decorate 97(g_sSamp) DescriptorSet 0 + Decorate 97(g_sSamp) Binding 0 + Decorate 100(g_tTex1df4) DescriptorSet 0 + Decorate 100(g_tTex1df4) Binding 0 + Decorate 103(g_tTex1di4) DescriptorSet 0 + Decorate 106(g_tTex1du4) DescriptorSet 0 + Decorate 109(g_tTex2df4) DescriptorSet 0 + Decorate 112(g_tTex2di4) DescriptorSet 0 + Decorate 115(g_tTex2du4) DescriptorSet 0 + Decorate 118(g_tTex3df4) DescriptorSet 0 + Decorate 121(g_tTex3di4) DescriptorSet 0 + Decorate 124(g_tTex3du4) DescriptorSet 0 + Decorate 127(g_tTexcdf4) DescriptorSet 0 + Decorate 130(g_tTexcdi4) DescriptorSet 0 + Decorate 133(g_tTexcdu4) DescriptorSet 0 + Decorate 136(g_tTexcdf4a) DescriptorSet 0 + Decorate 139(g_tTexcdi4a) DescriptorSet 0 + Decorate 142(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -414,67 +433,65 @@ gl_FragCoord origin is upper left 81: TypePointer Function 23(fvec4) 83: 11(int) Constant 1 84: TypePointer Function 6(float) - 86: TypePointer Output 75(PS_OUTPUT) -87(@entryPointOutput): 86(ptr) Variable Output - 90: TypeSampler - 91: TypePointer UniformConstant 90 - 92(g_sSamp): 91(ptr) Variable UniformConstant - 93: TypeImage 6(float) 1D sampled format:Unknown - 94: TypePointer UniformConstant 93 - 95(g_tTex1df4): 94(ptr) Variable UniformConstant - 96: TypeImage 11(int) 1D sampled format:Unknown - 97: TypePointer UniformConstant 96 - 98(g_tTex1di4): 97(ptr) Variable UniformConstant - 99: TypeImage 18(int) 1D sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTex1du4): 100(ptr) Variable UniformConstant - 102: TypeImage 6(float) 2D sampled format:Unknown - 103: TypePointer UniformConstant 102 - 104(g_tTex2df4): 103(ptr) Variable UniformConstant - 105: TypeImage 11(int) 2D sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTex2di4): 106(ptr) Variable UniformConstant - 108: TypeImage 18(int) 2D sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTex2du4): 109(ptr) Variable UniformConstant - 111: TypeImage 6(float) 3D sampled format:Unknown - 112: TypePointer UniformConstant 111 - 113(g_tTex3df4): 112(ptr) Variable UniformConstant - 114: TypeImage 11(int) 3D sampled format:Unknown - 115: TypePointer UniformConstant 114 - 116(g_tTex3di4): 115(ptr) Variable UniformConstant - 117: TypeImage 18(int) 3D sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTex3du4): 118(ptr) Variable UniformConstant - 120: TypeImage 6(float) Cube sampled format:Unknown - 121: TypePointer UniformConstant 120 - 122(g_tTexcdf4): 121(ptr) Variable UniformConstant - 123: TypeImage 11(int) Cube sampled format:Unknown - 124: TypePointer UniformConstant 123 - 125(g_tTexcdi4): 124(ptr) Variable UniformConstant - 126: TypeImage 18(int) Cube sampled format:Unknown - 127: TypePointer UniformConstant 126 - 128(g_tTexcdu4): 127(ptr) Variable UniformConstant - 129: TypeImage 6(float) Cube array sampled format:Unknown - 130: TypePointer UniformConstant 129 -131(g_tTexcdf4a): 130(ptr) Variable UniformConstant - 132: TypeImage 11(int) Cube array sampled format:Unknown - 133: TypePointer UniformConstant 132 -134(g_tTexcdi4a): 133(ptr) Variable UniformConstant - 135: TypeImage 18(int) Cube array sampled format:Unknown - 136: TypePointer UniformConstant 135 -137(g_tTexcdu4a): 136(ptr) Variable UniformConstant - 138(c1): 20(ptr) Variable UniformConstant - 139: TypePointer UniformConstant 15(ivec2) - 140(c2): 139(ptr) Variable UniformConstant - 141(o1): 20(ptr) Variable UniformConstant - 142(o2): 139(ptr) Variable UniformConstant - 143(o3): 13(ptr) Variable UniformConstant - 144(o4): 49(ptr) Variable UniformConstant - 145: TypePointer Output 23(fvec4) - 146(Color): 145(ptr) Variable Output - 147: TypePointer Output 6(float) - 148(Depth): 147(ptr) Variable Output + 86: TypePointer Output 23(fvec4) + 87(Color): 86(ptr) Variable Output + 90: TypePointer Output 6(float) + 91(Depth): 90(ptr) Variable Output + 95: TypeSampler + 96: TypePointer UniformConstant 95 + 97(g_sSamp): 96(ptr) Variable UniformConstant + 98: TypeImage 6(float) 1D sampled format:Unknown + 99: TypePointer UniformConstant 98 + 100(g_tTex1df4): 99(ptr) Variable UniformConstant + 101: TypeImage 11(int) 1D sampled format:Unknown + 102: TypePointer UniformConstant 101 + 103(g_tTex1di4): 102(ptr) Variable UniformConstant + 104: TypeImage 18(int) 1D sampled format:Unknown + 105: TypePointer UniformConstant 104 + 106(g_tTex1du4): 105(ptr) Variable UniformConstant + 107: TypeImage 6(float) 2D sampled format:Unknown + 108: TypePointer UniformConstant 107 + 109(g_tTex2df4): 108(ptr) Variable UniformConstant + 110: TypeImage 11(int) 2D sampled format:Unknown + 111: TypePointer UniformConstant 110 + 112(g_tTex2di4): 111(ptr) Variable UniformConstant + 113: TypeImage 18(int) 2D sampled format:Unknown + 114: TypePointer UniformConstant 113 + 115(g_tTex2du4): 114(ptr) Variable UniformConstant + 116: TypeImage 6(float) 3D sampled format:Unknown + 117: TypePointer UniformConstant 116 + 118(g_tTex3df4): 117(ptr) Variable UniformConstant + 119: TypeImage 11(int) 3D sampled format:Unknown + 120: TypePointer UniformConstant 119 + 121(g_tTex3di4): 120(ptr) Variable UniformConstant + 122: TypeImage 18(int) 3D sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTex3du4): 123(ptr) Variable UniformConstant + 125: TypeImage 6(float) Cube sampled format:Unknown + 126: TypePointer UniformConstant 125 + 127(g_tTexcdf4): 126(ptr) Variable UniformConstant + 128: TypeImage 11(int) Cube sampled format:Unknown + 129: TypePointer UniformConstant 128 + 130(g_tTexcdi4): 129(ptr) Variable UniformConstant + 131: TypeImage 18(int) Cube sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTexcdu4): 132(ptr) Variable UniformConstant + 134: TypeImage 6(float) Cube array sampled format:Unknown + 135: TypePointer UniformConstant 134 +136(g_tTexcdf4a): 135(ptr) Variable UniformConstant + 137: TypeImage 11(int) Cube array sampled format:Unknown + 138: TypePointer UniformConstant 137 +139(g_tTexcdi4a): 138(ptr) Variable UniformConstant + 140: TypeImage 18(int) Cube array sampled format:Unknown + 141: TypePointer UniformConstant 140 +142(g_tTexcdu4a): 141(ptr) Variable UniformConstant + 143(c1): 20(ptr) Variable UniformConstant + 144: TypePointer UniformConstant 15(ivec2) + 145(c2): 144(ptr) Variable UniformConstant + 146(o1): 20(ptr) Variable UniformConstant + 147(o2): 144(ptr) Variable UniformConstant + 148(o3): 13(ptr) Variable UniformConstant + 149(o4): 49(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 77(psout): 76(ptr) Variable Function @@ -518,7 +535,11 @@ gl_FragCoord origin is upper left Store 82 80 85: 84(ptr) AccessChain 77(psout) 83 Store 85 79 - 88:75(PS_OUTPUT) Load 77(psout) - Store 87(@entryPointOutput) 88 + 88: 81(ptr) AccessChain 77(psout) 78 + 89: 23(fvec4) Load 88 + Store 87(Color) 89 + 92: 84(ptr) AccessChain 77(psout) 83 + 93: 6(float) Load 92 + Store 91(Depth) 93 Return FunctionEnd diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out index 2d8501a..ec28311 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out @@ -139,10 +139,20 @@ gl_FragCoord origin is upper left 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Sequence -0:75 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:75 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:75 Color: direct index for structure (temp 4-component vector of float) +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Constant: +0:75 0 (const int) +0:75 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:75 Depth: direct index for structure (temp float FragDepth) +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Constant: +0:75 1 (const int) 0:75 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -322,10 +332,20 @@ gl_FragCoord origin is upper left 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Sequence -0:75 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:75 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:75 Color: direct index for structure (temp 4-component vector of float) +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Constant: +0:75 0 (const int) +0:75 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:75 Depth: direct index for structure (temp float FragDepth) +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Constant: +0:75 1 (const int) 0:75 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -363,14 +383,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 169 +// Id's are bound by 170 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 118 166 168 + EntryPoint Fragment 4 "main" 118 122 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "g_tTex1df4" @@ -389,27 +409,26 @@ gl_FragCoord origin is upper left MemberName 106(PS_OUTPUT) 0 "Color" MemberName 106(PS_OUTPUT) 1 "Depth" Name 108 "psout" - Name 118 "@entryPointOutput" - Name 123 "g_sSamp" - Name 126 "g_tTexcdf4" - Name 129 "g_tTexcdi4" - Name 132 "g_tTexcdu4" - Name 135 "g_tTex1df4a" - Name 138 "g_tTex1di4a" - Name 141 "g_tTex1du4a" - Name 144 "g_tTex2df4a" - Name 147 "g_tTex2di4a" - Name 150 "g_tTex2du4a" - Name 153 "g_tTexcdf4a" - Name 156 "g_tTexcdi4a" - Name 159 "g_tTexcdu4a" - Name 160 "c1" - Name 161 "o1" - Name 162 "o2" - Name 163 "o3" - Name 164 "o4" - Name 166 "Color" - Name 168 "Depth" + Name 118 "Color" + Name 122 "Depth" + Name 128 "g_sSamp" + Name 131 "g_tTexcdf4" + Name 134 "g_tTexcdi4" + Name 137 "g_tTexcdu4" + Name 140 "g_tTex1df4a" + Name 143 "g_tTex1di4a" + Name 146 "g_tTex1du4a" + Name 149 "g_tTex2df4a" + Name 152 "g_tTex2di4a" + Name 155 "g_tTex2du4a" + Name 158 "g_tTexcdf4a" + Name 161 "g_tTexcdi4a" + Name 164 "g_tTexcdu4a" + Name 165 "c1" + Name 166 "o1" + Name 167 "o2" + Name 168 "o3" + Name 169 "o4" Decorate 9(g_tTex1df4) DescriptorSet 0 Decorate 9(g_tTex1df4) Binding 0 Decorate 27(g_tTex1di4) DescriptorSet 0 @@ -421,22 +440,22 @@ gl_FragCoord origin is upper left Decorate 90(g_tTex3di4) DescriptorSet 0 Decorate 99(g_tTex3du4) DescriptorSet 0 MemberDecorate 106(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 123(g_sSamp) DescriptorSet 0 - Decorate 123(g_sSamp) Binding 0 - Decorate 126(g_tTexcdf4) DescriptorSet 0 - Decorate 129(g_tTexcdi4) DescriptorSet 0 - Decorate 132(g_tTexcdu4) DescriptorSet 0 - Decorate 135(g_tTex1df4a) DescriptorSet 0 - Decorate 138(g_tTex1di4a) DescriptorSet 0 - Decorate 141(g_tTex1du4a) DescriptorSet 0 - Decorate 144(g_tTex2df4a) DescriptorSet 0 - Decorate 147(g_tTex2di4a) DescriptorSet 0 - Decorate 150(g_tTex2du4a) DescriptorSet 0 - Decorate 153(g_tTexcdf4a) DescriptorSet 0 - Decorate 156(g_tTexcdi4a) DescriptorSet 0 - Decorate 159(g_tTexcdu4a) DescriptorSet 0 - Decorate 166(Color) Location 0 - Decorate 168(Depth) BuiltIn FragDepth + Decorate 118(Color) Location 0 + Decorate 122(Depth) BuiltIn FragDepth + Decorate 128(g_sSamp) DescriptorSet 0 + Decorate 128(g_sSamp) Binding 0 + Decorate 131(g_tTexcdf4) DescriptorSet 0 + Decorate 134(g_tTexcdi4) DescriptorSet 0 + Decorate 137(g_tTexcdu4) DescriptorSet 0 + Decorate 140(g_tTex1df4a) DescriptorSet 0 + Decorate 143(g_tTex1di4a) DescriptorSet 0 + Decorate 146(g_tTex1du4a) DescriptorSet 0 + Decorate 149(g_tTex2df4a) DescriptorSet 0 + Decorate 152(g_tTex2di4a) DescriptorSet 0 + Decorate 155(g_tTex2du4a) DescriptorSet 0 + Decorate 158(g_tTexcdf4a) DescriptorSet 0 + Decorate 161(g_tTexcdi4a) DescriptorSet 0 + Decorate 164(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -493,56 +512,54 @@ gl_FragCoord origin is upper left 112: TypePointer Function 23(fvec4) 114: 11(int) Constant 1 115: TypePointer Function 6(float) - 117: TypePointer Output 106(PS_OUTPUT) -118(@entryPointOutput): 117(ptr) Variable Output - 121: TypeSampler - 122: TypePointer UniformConstant 121 - 123(g_sSamp): 122(ptr) Variable UniformConstant - 124: TypeImage 6(float) Cube sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTexcdf4): 125(ptr) Variable UniformConstant - 127: TypeImage 11(int) Cube sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTexcdi4): 128(ptr) Variable UniformConstant - 130: TypeImage 15(int) Cube sampled format:Unknown - 131: TypePointer UniformConstant 130 - 132(g_tTexcdu4): 131(ptr) Variable UniformConstant - 133: TypeImage 6(float) 1D array sampled format:Unknown - 134: TypePointer UniformConstant 133 -135(g_tTex1df4a): 134(ptr) Variable UniformConstant - 136: TypeImage 11(int) 1D array sampled format:Unknown - 137: TypePointer UniformConstant 136 -138(g_tTex1di4a): 137(ptr) Variable UniformConstant - 139: TypeImage 15(int) 1D array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTex1du4a): 140(ptr) Variable UniformConstant - 142: TypeImage 6(float) 2D array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTex2df4a): 143(ptr) Variable UniformConstant - 145: TypeImage 11(int) 2D array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTex2di4a): 146(ptr) Variable UniformConstant - 148: TypeImage 15(int) 2D array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTex2du4a): 149(ptr) Variable UniformConstant - 151: TypeImage 6(float) Cube array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTexcdf4a): 152(ptr) Variable UniformConstant - 154: TypeImage 11(int) Cube array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTexcdi4a): 155(ptr) Variable UniformConstant - 157: TypeImage 15(int) Cube array sampled format:Unknown - 158: TypePointer UniformConstant 157 -159(g_tTexcdu4a): 158(ptr) Variable UniformConstant - 160(c1): 17(ptr) Variable UniformConstant - 161(o1): 17(ptr) Variable UniformConstant - 162(o2): 13(ptr) Variable UniformConstant - 163(o3): 50(ptr) Variable UniformConstant - 164(o4): 80(ptr) Variable UniformConstant - 165: TypePointer Output 23(fvec4) - 166(Color): 165(ptr) Variable Output - 167: TypePointer Output 6(float) - 168(Depth): 167(ptr) Variable Output + 117: TypePointer Output 23(fvec4) + 118(Color): 117(ptr) Variable Output + 121: TypePointer Output 6(float) + 122(Depth): 121(ptr) Variable Output + 126: TypeSampler + 127: TypePointer UniformConstant 126 + 128(g_sSamp): 127(ptr) Variable UniformConstant + 129: TypeImage 6(float) Cube sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTexcdf4): 130(ptr) Variable UniformConstant + 132: TypeImage 11(int) Cube sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTexcdi4): 133(ptr) Variable UniformConstant + 135: TypeImage 15(int) Cube sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTexcdu4): 136(ptr) Variable UniformConstant + 138: TypeImage 6(float) 1D array sampled format:Unknown + 139: TypePointer UniformConstant 138 +140(g_tTex1df4a): 139(ptr) Variable UniformConstant + 141: TypeImage 11(int) 1D array sampled format:Unknown + 142: TypePointer UniformConstant 141 +143(g_tTex1di4a): 142(ptr) Variable UniformConstant + 144: TypeImage 15(int) 1D array sampled format:Unknown + 145: TypePointer UniformConstant 144 +146(g_tTex1du4a): 145(ptr) Variable UniformConstant + 147: TypeImage 6(float) 2D array sampled format:Unknown + 148: TypePointer UniformConstant 147 +149(g_tTex2df4a): 148(ptr) Variable UniformConstant + 150: TypeImage 11(int) 2D array sampled format:Unknown + 151: TypePointer UniformConstant 150 +152(g_tTex2di4a): 151(ptr) Variable UniformConstant + 153: TypeImage 15(int) 2D array sampled format:Unknown + 154: TypePointer UniformConstant 153 +155(g_tTex2du4a): 154(ptr) Variable UniformConstant + 156: TypeImage 6(float) Cube array sampled format:Unknown + 157: TypePointer UniformConstant 156 +158(g_tTexcdf4a): 157(ptr) Variable UniformConstant + 159: TypeImage 11(int) Cube array sampled format:Unknown + 160: TypePointer UniformConstant 159 +161(g_tTexcdi4a): 160(ptr) Variable UniformConstant + 162: TypeImage 15(int) Cube array sampled format:Unknown + 163: TypePointer UniformConstant 162 +164(g_tTexcdu4a): 163(ptr) Variable UniformConstant + 165(c1): 17(ptr) Variable UniformConstant + 166(o1): 17(ptr) Variable UniformConstant + 167(o2): 13(ptr) Variable UniformConstant + 168(o3): 50(ptr) Variable UniformConstant + 169(o4): 80(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 108(psout): 107(ptr) Variable Function @@ -604,7 +621,11 @@ gl_FragCoord origin is upper left Store 113 111 116: 115(ptr) AccessChain 108(psout) 114 Store 116 110 - 119:106(PS_OUTPUT) Load 108(psout) - Store 118(@entryPointOutput) 119 + 119: 112(ptr) AccessChain 108(psout) 109 + 120: 23(fvec4) Load 119 + Store 118(Color) 120 + 123: 115(ptr) AccessChain 108(psout) 114 + 124: 6(float) Load 123 + Store 122(Depth) 124 Return FunctionEnd diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out index fada872..b574eb6 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out @@ -131,10 +131,14 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:69 Sequence -0:69 move second child to first child (temp structure{temp 4-component vector of float Position Pos}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Position Pos}) -0:69 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:? Sequence +0:? Sequence +0:69 move second child to first child (temp 4-component vector of float) +0:? 'Pos' (out 4-component vector of float Position) +0:69 Pos: direct index for structure (temp 4-component vector of float Position) +0:69 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:69 Constant: +0:69 0 (const int) 0:69 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -305,10 +309,14 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:69 Sequence -0:69 move second child to first child (temp structure{temp 4-component vector of float Position Pos}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Position Pos}) -0:69 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:? Sequence +0:? Sequence +0:69 move second child to first child (temp 4-component vector of float) +0:? 'Pos' (out 4-component vector of float Position) +0:69 Pos: direct index for structure (temp 4-component vector of float Position) +0:69 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:69 Constant: +0:69 0 (const int) 0:69 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -345,14 +353,14 @@ Shader version: 450 // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 164 +// Id's are bound by 163 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 115 163 + EntryPoint Vertex 4 "main" 115 Name 4 "main" Name 9 "g_tTex1df4" Name 14 "c2" @@ -369,26 +377,25 @@ Shader version: 450 Name 106 "VS_OUTPUT" MemberName 106(VS_OUTPUT) 0 "Pos" Name 108 "vsout" - Name 115 "@entryPointOutput" - Name 120 "g_sSamp" - Name 123 "g_tTexcdf4" - Name 126 "g_tTexcdi4" - Name 129 "g_tTexcdu4" - Name 132 "g_tTex1df4a" - Name 135 "g_tTex1di4a" - Name 138 "g_tTex1du4a" - Name 141 "g_tTex2df4a" - Name 144 "g_tTex2di4a" - Name 147 "g_tTex2du4a" - Name 150 "g_tTexcdf4a" - Name 153 "g_tTexcdi4a" - Name 156 "g_tTexcdu4a" - Name 157 "c1" - Name 158 "o1" - Name 159 "o2" - Name 160 "o3" - Name 161 "o4" - Name 163 "Pos" + Name 115 "Pos" + Name 121 "g_sSamp" + Name 124 "g_tTexcdf4" + Name 127 "g_tTexcdi4" + Name 130 "g_tTexcdu4" + Name 133 "g_tTex1df4a" + Name 136 "g_tTex1di4a" + Name 139 "g_tTex1du4a" + Name 142 "g_tTex2df4a" + Name 145 "g_tTex2di4a" + Name 148 "g_tTex2du4a" + Name 151 "g_tTexcdf4a" + Name 154 "g_tTexcdi4a" + Name 157 "g_tTexcdu4a" + Name 158 "c1" + Name 159 "o1" + Name 160 "o2" + Name 161 "o3" + Name 162 "o4" Decorate 9(g_tTex1df4) DescriptorSet 0 Decorate 9(g_tTex1df4) Binding 0 Decorate 27(g_tTex1di4) DescriptorSet 0 @@ -400,21 +407,21 @@ Shader version: 450 Decorate 90(g_tTex3di4) DescriptorSet 0 Decorate 99(g_tTex3du4) DescriptorSet 0 MemberDecorate 106(VS_OUTPUT) 0 BuiltIn Position - Decorate 120(g_sSamp) DescriptorSet 0 - Decorate 120(g_sSamp) Binding 0 - Decorate 123(g_tTexcdf4) DescriptorSet 0 - Decorate 126(g_tTexcdi4) DescriptorSet 0 - Decorate 129(g_tTexcdu4) DescriptorSet 0 - Decorate 132(g_tTex1df4a) DescriptorSet 0 - Decorate 135(g_tTex1di4a) DescriptorSet 0 - Decorate 138(g_tTex1du4a) DescriptorSet 0 - Decorate 141(g_tTex2df4a) DescriptorSet 0 - Decorate 144(g_tTex2di4a) DescriptorSet 0 - Decorate 147(g_tTex2du4a) DescriptorSet 0 - Decorate 150(g_tTexcdf4a) DescriptorSet 0 - Decorate 153(g_tTexcdi4a) DescriptorSet 0 - Decorate 156(g_tTexcdu4a) DescriptorSet 0 - Decorate 163(Pos) BuiltIn Position + Decorate 115(Pos) BuiltIn Position + Decorate 121(g_sSamp) DescriptorSet 0 + Decorate 121(g_sSamp) Binding 0 + Decorate 124(g_tTexcdf4) DescriptorSet 0 + Decorate 127(g_tTexcdi4) DescriptorSet 0 + Decorate 130(g_tTexcdu4) DescriptorSet 0 + Decorate 133(g_tTex1df4a) DescriptorSet 0 + Decorate 136(g_tTex1di4a) DescriptorSet 0 + Decorate 139(g_tTex1du4a) DescriptorSet 0 + Decorate 142(g_tTex2df4a) DescriptorSet 0 + Decorate 145(g_tTex2di4a) DescriptorSet 0 + Decorate 148(g_tTex2du4a) DescriptorSet 0 + Decorate 151(g_tTexcdf4a) DescriptorSet 0 + Decorate 154(g_tTexcdi4a) DescriptorSet 0 + Decorate 157(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -469,54 +476,52 @@ Shader version: 450 110: 6(float) Constant 0 111: 23(fvec4) ConstantComposite 110 110 110 110 112: TypePointer Function 23(fvec4) - 114: TypePointer Output 106(VS_OUTPUT) -115(@entryPointOutput): 114(ptr) Variable Output - 118: TypeSampler - 119: TypePointer UniformConstant 118 - 120(g_sSamp): 119(ptr) Variable UniformConstant - 121: TypeImage 6(float) Cube sampled format:Unknown - 122: TypePointer UniformConstant 121 - 123(g_tTexcdf4): 122(ptr) Variable UniformConstant - 124: TypeImage 11(int) Cube sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTexcdi4): 125(ptr) Variable UniformConstant - 127: TypeImage 15(int) Cube sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTexcdu4): 128(ptr) Variable UniformConstant - 130: TypeImage 6(float) 1D array sampled format:Unknown - 131: TypePointer UniformConstant 130 -132(g_tTex1df4a): 131(ptr) Variable UniformConstant - 133: TypeImage 11(int) 1D array sampled format:Unknown - 134: TypePointer UniformConstant 133 -135(g_tTex1di4a): 134(ptr) Variable UniformConstant - 136: TypeImage 15(int) 1D array sampled format:Unknown - 137: TypePointer UniformConstant 136 -138(g_tTex1du4a): 137(ptr) Variable UniformConstant - 139: TypeImage 6(float) 2D array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTex2df4a): 140(ptr) Variable UniformConstant - 142: TypeImage 11(int) 2D array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTex2di4a): 143(ptr) Variable UniformConstant - 145: TypeImage 15(int) 2D array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTex2du4a): 146(ptr) Variable UniformConstant - 148: TypeImage 6(float) Cube array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTexcdf4a): 149(ptr) Variable UniformConstant - 151: TypeImage 11(int) Cube array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTexcdi4a): 152(ptr) Variable UniformConstant - 154: TypeImage 15(int) Cube array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTexcdu4a): 155(ptr) Variable UniformConstant - 157(c1): 17(ptr) Variable UniformConstant - 158(o1): 17(ptr) Variable UniformConstant - 159(o2): 13(ptr) Variable UniformConstant - 160(o3): 50(ptr) Variable UniformConstant - 161(o4): 80(ptr) Variable UniformConstant - 162: TypePointer Output 23(fvec4) - 163(Pos): 162(ptr) Variable Output + 114: TypePointer Output 23(fvec4) + 115(Pos): 114(ptr) Variable Output + 119: TypeSampler + 120: TypePointer UniformConstant 119 + 121(g_sSamp): 120(ptr) Variable UniformConstant + 122: TypeImage 6(float) Cube sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTexcdf4): 123(ptr) Variable UniformConstant + 125: TypeImage 11(int) Cube sampled format:Unknown + 126: TypePointer UniformConstant 125 + 127(g_tTexcdi4): 126(ptr) Variable UniformConstant + 128: TypeImage 15(int) Cube sampled format:Unknown + 129: TypePointer UniformConstant 128 + 130(g_tTexcdu4): 129(ptr) Variable UniformConstant + 131: TypeImage 6(float) 1D array sampled format:Unknown + 132: TypePointer UniformConstant 131 +133(g_tTex1df4a): 132(ptr) Variable UniformConstant + 134: TypeImage 11(int) 1D array sampled format:Unknown + 135: TypePointer UniformConstant 134 +136(g_tTex1di4a): 135(ptr) Variable UniformConstant + 137: TypeImage 15(int) 1D array sampled format:Unknown + 138: TypePointer UniformConstant 137 +139(g_tTex1du4a): 138(ptr) Variable UniformConstant + 140: TypeImage 6(float) 2D array sampled format:Unknown + 141: TypePointer UniformConstant 140 +142(g_tTex2df4a): 141(ptr) Variable UniformConstant + 143: TypeImage 11(int) 2D array sampled format:Unknown + 144: TypePointer UniformConstant 143 +145(g_tTex2di4a): 144(ptr) Variable UniformConstant + 146: TypeImage 15(int) 2D array sampled format:Unknown + 147: TypePointer UniformConstant 146 +148(g_tTex2du4a): 147(ptr) Variable UniformConstant + 149: TypeImage 6(float) Cube array sampled format:Unknown + 150: TypePointer UniformConstant 149 +151(g_tTexcdf4a): 150(ptr) Variable UniformConstant + 152: TypeImage 11(int) Cube array sampled format:Unknown + 153: TypePointer UniformConstant 152 +154(g_tTexcdi4a): 153(ptr) Variable UniformConstant + 155: TypeImage 15(int) Cube array sampled format:Unknown + 156: TypePointer UniformConstant 155 +157(g_tTexcdu4a): 156(ptr) Variable UniformConstant + 158(c1): 17(ptr) Variable UniformConstant + 159(o1): 17(ptr) Variable UniformConstant + 160(o2): 13(ptr) Variable UniformConstant + 161(o3): 50(ptr) Variable UniformConstant + 162(o4): 80(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 108(vsout): 107(ptr) Variable Function @@ -576,7 +581,8 @@ Shader version: 450 105: 43(ivec4) ImageFetch 100 102 Lod 104 113: 112(ptr) AccessChain 108(vsout) 109 Store 113 111 - 116:106(VS_OUTPUT) Load 108(vsout) - Store 115(@entryPointOutput) 116 + 116: 112(ptr) AccessChain 108(vsout) 109 + 117: 23(fvec4) Load 116 + Store 115(Pos) 117 Return FunctionEnd diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out index 86acd71..2b02aee 100644 --- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out +++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out @@ -40,10 +40,20 @@ gl_FragCoord origin is upper left 0:35 1 (const int) 0:35 Constant: 0:35 1.000000 -0:37 Sequence -0:37 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:37 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:37 Color: direct index for structure (temp 4-component vector of float) +0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:37 Constant: +0:37 0 (const int) +0:37 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:37 Depth: direct index for structure (temp float FragDepth) +0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:37 Constant: +0:37 1 (const int) 0:37 Branch: Return 0:? Linker Objects 0:? 'g_tTexbf4_test' (layout(binding=0 ) uniform samplerBuffer) @@ -106,10 +116,20 @@ gl_FragCoord origin is upper left 0:35 1 (const int) 0:35 Constant: 0:35 1.000000 -0:37 Sequence -0:37 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:37 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:37 Color: direct index for structure (temp 4-component vector of float) +0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:37 Constant: +0:37 0 (const int) +0:37 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:37 Depth: direct index for structure (temp float FragDepth) +0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:37 Constant: +0:37 1 (const int) 0:37 Branch: Return 0:? Linker Objects 0:? 'g_tTexbf4_test' (layout(binding=0 ) uniform samplerBuffer) @@ -129,13 +149,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 75 +// Id's are bound by 76 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 55 72 74 + EntryPoint Fragment 4 "main" 55 59 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "r00" @@ -149,25 +169,24 @@ gl_FragCoord origin is upper left MemberName 44(PS_OUTPUT) 0 "Color" MemberName 44(PS_OUTPUT) 1 "Depth" Name 46 "psout" - Name 55 "@entryPointOutput" - Name 58 "g_tTexbf4_test" - Name 61 "c2" - Name 64 "c3" - Name 66 "c4" - Name 67 "o1" - Name 68 "o2" - Name 69 "o3" - Name 70 "o4" - Name 72 "Color" - Name 74 "Depth" + Name 55 "Color" + Name 59 "Depth" + Name 63 "g_tTexbf4_test" + Name 66 "c2" + Name 69 "c3" + Name 71 "c4" + Name 72 "o1" + Name 73 "o2" + Name 74 "o3" + Name 75 "o4" Decorate 13(g_tTexbf4) DescriptorSet 0 Decorate 27(g_tTexbi4) DescriptorSet 0 Decorate 39(g_tTexbu4) DescriptorSet 0 MemberDecorate 44(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 58(g_tTexbf4_test) DescriptorSet 0 - Decorate 58(g_tTexbf4_test) Binding 0 - Decorate 72(Color) Location 0 - Decorate 74(Depth) BuiltIn FragDepth + Decorate 55(Color) Location 0 + Decorate 59(Depth) BuiltIn FragDepth + Decorate 63(g_tTexbf4_test) DescriptorSet 0 + Decorate 63(g_tTexbf4_test) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -200,25 +219,23 @@ gl_FragCoord origin is upper left 49: 7(fvec4) ConstantComposite 48 48 48 48 51: 15(int) Constant 1 52: TypePointer Function 6(float) - 54: TypePointer Output 44(PS_OUTPUT) -55(@entryPointOutput): 54(ptr) Variable Output -58(g_tTexbf4_test): 12(ptr) Variable UniformConstant - 59: TypeVector 15(int) 2 - 60: TypePointer UniformConstant 59(ivec2) - 61(c2): 60(ptr) Variable UniformConstant - 62: TypeVector 15(int) 3 - 63: TypePointer UniformConstant 62(ivec3) - 64(c3): 63(ptr) Variable UniformConstant - 65: TypePointer UniformConstant 21(ivec4) - 66(c4): 65(ptr) Variable UniformConstant - 67(o1): 16(ptr) Variable UniformConstant - 68(o2): 60(ptr) Variable UniformConstant - 69(o3): 63(ptr) Variable UniformConstant - 70(o4): 65(ptr) Variable UniformConstant - 71: TypePointer Output 7(fvec4) - 72(Color): 71(ptr) Variable Output - 73: TypePointer Output 6(float) - 74(Depth): 73(ptr) Variable Output + 54: TypePointer Output 7(fvec4) + 55(Color): 54(ptr) Variable Output + 58: TypePointer Output 6(float) + 59(Depth): 58(ptr) Variable Output +63(g_tTexbf4_test): 12(ptr) Variable UniformConstant + 64: TypeVector 15(int) 2 + 65: TypePointer UniformConstant 64(ivec2) + 66(c2): 65(ptr) Variable UniformConstant + 67: TypeVector 15(int) 3 + 68: TypePointer UniformConstant 67(ivec3) + 69(c3): 68(ptr) Variable UniformConstant + 70: TypePointer UniformConstant 21(ivec4) + 71(c4): 70(ptr) Variable UniformConstant + 72(o1): 16(ptr) Variable UniformConstant + 73(o2): 65(ptr) Variable UniformConstant + 74(o3): 68(ptr) Variable UniformConstant + 75(o4): 70(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(r00): 8(ptr) Variable Function @@ -244,7 +261,11 @@ gl_FragCoord origin is upper left Store 50 49 53: 52(ptr) AccessChain 46(psout) 51 Store 53 48 - 56:44(PS_OUTPUT) Load 46(psout) - Store 55(@entryPointOutput) 56 + 56: 8(ptr) AccessChain 46(psout) 47 + 57: 7(fvec4) Load 56 + Store 55(Color) 57 + 60: 52(ptr) AccessChain 46(psout) 51 + 61: 6(float) Load 60 + Store 59(Depth) 61 Return FunctionEnd diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out index 82f00d2..5ac4e8d 100644 --- a/Test/baseResults/hlsl.load.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out @@ -148,10 +148,20 @@ gl_FragCoord origin is upper left 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Sequence -0:75 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:75 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:75 Color: direct index for structure (temp 4-component vector of float) +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Constant: +0:75 0 (const int) +0:75 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:75 Depth: direct index for structure (temp float FragDepth) +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Constant: +0:75 1 (const int) 0:75 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -340,10 +350,20 @@ gl_FragCoord origin is upper left 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Sequence -0:75 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:75 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:75 Color: direct index for structure (temp 4-component vector of float) +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Constant: +0:75 0 (const int) +0:75 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:75 Depth: direct index for structure (temp float FragDepth) +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Constant: +0:75 1 (const int) 0:75 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -381,7 +401,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 178 +// Id's are bound by 179 Capability Shader Capability ImageGatherExtended @@ -389,7 +409,7 @@ gl_FragCoord origin is upper left Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 130 175 177 + EntryPoint Fragment 4 "main" 130 134 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "g_tTex1df4" @@ -411,24 +431,23 @@ gl_FragCoord origin is upper left MemberName 118(PS_OUTPUT) 0 "Color" MemberName 118(PS_OUTPUT) 1 "Depth" Name 120 "psout" - Name 130 "@entryPointOutput" - Name 135 "g_sSamp" - Name 138 "g_tTexcdf4" - Name 141 "g_tTexcdi4" - Name 144 "g_tTexcdu4" - Name 147 "g_tTex1df4a" - Name 150 "g_tTex1di4a" - Name 153 "g_tTex1du4a" - Name 156 "g_tTex2df4a" - Name 159 "g_tTex2di4a" - Name 162 "g_tTex2du4a" - Name 165 "g_tTexcdf4a" - Name 168 "g_tTexcdi4a" - Name 171 "g_tTexcdu4a" - Name 172 "c1" - Name 173 "o4" - Name 175 "Color" - Name 177 "Depth" + Name 130 "Color" + Name 134 "Depth" + Name 140 "g_sSamp" + Name 143 "g_tTexcdf4" + Name 146 "g_tTexcdi4" + Name 149 "g_tTexcdu4" + Name 152 "g_tTex1df4a" + Name 155 "g_tTex1di4a" + Name 158 "g_tTex1du4a" + Name 161 "g_tTex2df4a" + Name 164 "g_tTex2di4a" + Name 167 "g_tTex2du4a" + Name 170 "g_tTexcdf4a" + Name 173 "g_tTexcdi4a" + Name 176 "g_tTexcdu4a" + Name 177 "c1" + Name 178 "o4" Decorate 9(g_tTex1df4) DescriptorSet 0 Decorate 9(g_tTex1df4) Binding 0 Decorate 29(g_tTex1di4) DescriptorSet 0 @@ -440,22 +459,22 @@ gl_FragCoord origin is upper left Decorate 100(g_tTex3di4) DescriptorSet 0 Decorate 110(g_tTex3du4) DescriptorSet 0 MemberDecorate 118(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 135(g_sSamp) DescriptorSet 0 - Decorate 135(g_sSamp) Binding 0 - Decorate 138(g_tTexcdf4) DescriptorSet 0 - Decorate 141(g_tTexcdi4) DescriptorSet 0 - Decorate 144(g_tTexcdu4) DescriptorSet 0 - Decorate 147(g_tTex1df4a) DescriptorSet 0 - Decorate 150(g_tTex1di4a) DescriptorSet 0 - Decorate 153(g_tTex1du4a) DescriptorSet 0 - Decorate 156(g_tTex2df4a) DescriptorSet 0 - Decorate 159(g_tTex2di4a) DescriptorSet 0 - Decorate 162(g_tTex2du4a) DescriptorSet 0 - Decorate 165(g_tTexcdf4a) DescriptorSet 0 - Decorate 168(g_tTexcdi4a) DescriptorSet 0 - Decorate 171(g_tTexcdu4a) DescriptorSet 0 - Decorate 175(Color) Location 0 - Decorate 177(Depth) BuiltIn FragDepth + Decorate 130(Color) Location 0 + Decorate 134(Depth) BuiltIn FragDepth + Decorate 140(g_sSamp) DescriptorSet 0 + Decorate 140(g_sSamp) Binding 0 + Decorate 143(g_tTexcdf4) DescriptorSet 0 + Decorate 146(g_tTexcdi4) DescriptorSet 0 + Decorate 149(g_tTexcdu4) DescriptorSet 0 + Decorate 152(g_tTex1df4a) DescriptorSet 0 + Decorate 155(g_tTex1di4a) DescriptorSet 0 + Decorate 158(g_tTex1du4a) DescriptorSet 0 + Decorate 161(g_tTex2df4a) DescriptorSet 0 + Decorate 164(g_tTex2di4a) DescriptorSet 0 + Decorate 167(g_tTex2du4a) DescriptorSet 0 + Decorate 170(g_tTexcdf4a) DescriptorSet 0 + Decorate 173(g_tTexcdi4a) DescriptorSet 0 + Decorate 176(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -515,53 +534,51 @@ gl_FragCoord origin is upper left 124: TypePointer Function 25(fvec4) 126: 11(int) Constant 1 127: TypePointer Function 6(float) - 129: TypePointer Output 118(PS_OUTPUT) -130(@entryPointOutput): 129(ptr) Variable Output - 133: TypeSampler - 134: TypePointer UniformConstant 133 - 135(g_sSamp): 134(ptr) Variable UniformConstant - 136: TypeImage 6(float) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdf4): 137(ptr) Variable UniformConstant - 139: TypeImage 11(int) Cube sampled format:Unknown - 140: TypePointer UniformConstant 139 - 141(g_tTexcdi4): 140(ptr) Variable UniformConstant - 142: TypeImage 15(int) Cube sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTexcdu4): 143(ptr) Variable UniformConstant - 145: TypeImage 6(float) 1D array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTex1df4a): 146(ptr) Variable UniformConstant - 148: TypeImage 11(int) 1D array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTex1di4a): 149(ptr) Variable UniformConstant - 151: TypeImage 15(int) 1D array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTex1du4a): 152(ptr) Variable UniformConstant - 154: TypeImage 6(float) 2D array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTex2df4a): 155(ptr) Variable UniformConstant - 157: TypeImage 11(int) 2D array sampled format:Unknown - 158: TypePointer UniformConstant 157 -159(g_tTex2di4a): 158(ptr) Variable UniformConstant - 160: TypeImage 15(int) 2D array sampled format:Unknown - 161: TypePointer UniformConstant 160 -162(g_tTex2du4a): 161(ptr) Variable UniformConstant - 163: TypeImage 6(float) Cube array sampled format:Unknown - 164: TypePointer UniformConstant 163 -165(g_tTexcdf4a): 164(ptr) Variable UniformConstant - 166: TypeImage 11(int) Cube array sampled format:Unknown - 167: TypePointer UniformConstant 166 -168(g_tTexcdi4a): 167(ptr) Variable UniformConstant - 169: TypeImage 15(int) Cube array sampled format:Unknown - 170: TypePointer UniformConstant 169 -171(g_tTexcdu4a): 170(ptr) Variable UniformConstant - 172(c1): 17(ptr) Variable UniformConstant - 173(o4): 88(ptr) Variable UniformConstant - 174: TypePointer Output 25(fvec4) - 175(Color): 174(ptr) Variable Output - 176: TypePointer Output 6(float) - 177(Depth): 176(ptr) Variable Output + 129: TypePointer Output 25(fvec4) + 130(Color): 129(ptr) Variable Output + 133: TypePointer Output 6(float) + 134(Depth): 133(ptr) Variable Output + 138: TypeSampler + 139: TypePointer UniformConstant 138 + 140(g_sSamp): 139(ptr) Variable UniformConstant + 141: TypeImage 6(float) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdf4): 142(ptr) Variable UniformConstant + 144: TypeImage 11(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdi4): 145(ptr) Variable UniformConstant + 147: TypeImage 15(int) Cube sampled format:Unknown + 148: TypePointer UniformConstant 147 + 149(g_tTexcdu4): 148(ptr) Variable UniformConstant + 150: TypeImage 6(float) 1D array sampled format:Unknown + 151: TypePointer UniformConstant 150 +152(g_tTex1df4a): 151(ptr) Variable UniformConstant + 153: TypeImage 11(int) 1D array sampled format:Unknown + 154: TypePointer UniformConstant 153 +155(g_tTex1di4a): 154(ptr) Variable UniformConstant + 156: TypeImage 15(int) 1D array sampled format:Unknown + 157: TypePointer UniformConstant 156 +158(g_tTex1du4a): 157(ptr) Variable UniformConstant + 159: TypeImage 6(float) 2D array sampled format:Unknown + 160: TypePointer UniformConstant 159 +161(g_tTex2df4a): 160(ptr) Variable UniformConstant + 162: TypeImage 11(int) 2D array sampled format:Unknown + 163: TypePointer UniformConstant 162 +164(g_tTex2di4a): 163(ptr) Variable UniformConstant + 165: TypeImage 15(int) 2D array sampled format:Unknown + 166: TypePointer UniformConstant 165 +167(g_tTex2du4a): 166(ptr) Variable UniformConstant + 168: TypeImage 6(float) Cube array sampled format:Unknown + 169: TypePointer UniformConstant 168 +170(g_tTexcdf4a): 169(ptr) Variable UniformConstant + 171: TypeImage 11(int) Cube array sampled format:Unknown + 172: TypePointer UniformConstant 171 +173(g_tTexcdi4a): 172(ptr) Variable UniformConstant + 174: TypeImage 15(int) Cube array sampled format:Unknown + 175: TypePointer UniformConstant 174 +176(g_tTexcdu4a): 175(ptr) Variable UniformConstant + 177(c1): 17(ptr) Variable UniformConstant + 178(o4): 88(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 120(psout): 119(ptr) Variable Function @@ -632,7 +649,11 @@ gl_FragCoord origin is upper left Store 125 123 128: 127(ptr) AccessChain 120(psout) 126 Store 128 122 - 131:118(PS_OUTPUT) Load 120(psout) - Store 130(@entryPointOutput) 131 + 131: 124(ptr) AccessChain 120(psout) 121 + 132: 25(fvec4) Load 131 + Store 130(Color) 132 + 135: 127(ptr) AccessChain 120(psout) 126 + 136: 6(float) Load 135 + Store 134(Depth) 136 Return FunctionEnd diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out index e3230f6..ce5da11 100644 --- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out @@ -112,10 +112,20 @@ gl_FragCoord origin is upper left 0:66 1 (const int) 0:66 Constant: 0:66 1.000000 -0:68 Sequence -0:68 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:68 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:68 Color: direct index for structure (temp 4-component vector of float) +0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:68 Constant: +0:68 0 (const int) +0:68 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:68 Depth: direct index for structure (temp float FragDepth) +0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:68 Constant: +0:68 1 (const int) 0:68 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -268,10 +278,20 @@ gl_FragCoord origin is upper left 0:66 1 (const int) 0:66 Constant: 0:66 1.000000 -0:68 Sequence -0:68 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:68 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:68 Color: direct index for structure (temp 4-component vector of float) +0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:68 Constant: +0:68 0 (const int) +0:68 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:68 Depth: direct index for structure (temp float FragDepth) +0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:68 Constant: +0:68 1 (const int) 0:68 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -309,7 +329,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 155 +// Id's are bound by 156 Capability Shader Capability ImageGatherExtended @@ -317,7 +337,7 @@ gl_FragCoord origin is upper left Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 96 152 154 + EntryPoint Fragment 4 "main" 96 100 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "g_tTex1df4a" @@ -334,29 +354,28 @@ gl_FragCoord origin is upper left MemberName 84(PS_OUTPUT) 0 "Color" MemberName 84(PS_OUTPUT) 1 "Depth" Name 86 "psout" - Name 96 "@entryPointOutput" - Name 101 "g_sSamp" - Name 104 "g_tTex1df4" - Name 107 "g_tTex1di4" - Name 110 "g_tTex1du4" - Name 113 "g_tTex2df4" - Name 116 "g_tTex2di4" - Name 119 "g_tTex2du4" - Name 122 "g_tTex3df4" - Name 125 "g_tTex3di4" - Name 128 "g_tTex3du4" - Name 131 "g_tTexcdf4" - Name 134 "g_tTexcdi4" - Name 137 "g_tTexcdu4" - Name 140 "g_tTexcdf4a" - Name 143 "g_tTexcdi4a" - Name 146 "g_tTexcdu4a" - Name 147 "c1" - Name 148 "c2" - Name 149 "o3" - Name 150 "o4" - Name 152 "Color" - Name 154 "Depth" + Name 96 "Color" + Name 100 "Depth" + Name 106 "g_sSamp" + Name 109 "g_tTex1df4" + Name 112 "g_tTex1di4" + Name 115 "g_tTex1du4" + Name 118 "g_tTex2df4" + Name 121 "g_tTex2di4" + Name 124 "g_tTex2du4" + Name 127 "g_tTex3df4" + Name 130 "g_tTex3di4" + Name 133 "g_tTex3du4" + Name 136 "g_tTexcdf4" + Name 139 "g_tTexcdi4" + Name 142 "g_tTexcdu4" + Name 145 "g_tTexcdf4a" + Name 148 "g_tTexcdi4a" + Name 151 "g_tTexcdu4a" + Name 152 "c1" + Name 153 "c2" + Name 154 "o3" + Name 155 "o4" Decorate 9(g_tTex1df4a) DescriptorSet 0 Decorate 29(g_tTex1di4a) DescriptorSet 0 Decorate 40(g_tTex1du4a) DescriptorSet 0 @@ -364,26 +383,26 @@ gl_FragCoord origin is upper left Decorate 66(g_tTex2di4a) DescriptorSet 0 Decorate 76(g_tTex2du4a) DescriptorSet 0 MemberDecorate 84(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 101(g_sSamp) DescriptorSet 0 - Decorate 101(g_sSamp) Binding 0 - Decorate 104(g_tTex1df4) DescriptorSet 0 - Decorate 104(g_tTex1df4) Binding 0 - Decorate 107(g_tTex1di4) DescriptorSet 0 - Decorate 110(g_tTex1du4) DescriptorSet 0 - Decorate 113(g_tTex2df4) DescriptorSet 0 - Decorate 116(g_tTex2di4) DescriptorSet 0 - Decorate 119(g_tTex2du4) DescriptorSet 0 - Decorate 122(g_tTex3df4) DescriptorSet 0 - Decorate 125(g_tTex3di4) DescriptorSet 0 - Decorate 128(g_tTex3du4) DescriptorSet 0 - Decorate 131(g_tTexcdf4) DescriptorSet 0 - Decorate 134(g_tTexcdi4) DescriptorSet 0 - Decorate 137(g_tTexcdu4) DescriptorSet 0 - Decorate 140(g_tTexcdf4a) DescriptorSet 0 - Decorate 143(g_tTexcdi4a) DescriptorSet 0 - Decorate 146(g_tTexcdu4a) DescriptorSet 0 - Decorate 152(Color) Location 0 - Decorate 154(Depth) BuiltIn FragDepth + Decorate 96(Color) Location 0 + Decorate 100(Depth) BuiltIn FragDepth + Decorate 106(g_sSamp) DescriptorSet 0 + Decorate 106(g_sSamp) Binding 0 + Decorate 109(g_tTex1df4) DescriptorSet 0 + Decorate 109(g_tTex1df4) Binding 0 + Decorate 112(g_tTex1di4) DescriptorSet 0 + Decorate 115(g_tTex1du4) DescriptorSet 0 + Decorate 118(g_tTex2df4) DescriptorSet 0 + Decorate 121(g_tTex2di4) DescriptorSet 0 + Decorate 124(g_tTex2du4) DescriptorSet 0 + Decorate 127(g_tTex3df4) DescriptorSet 0 + Decorate 130(g_tTex3di4) DescriptorSet 0 + Decorate 133(g_tTex3du4) DescriptorSet 0 + Decorate 136(g_tTexcdf4) DescriptorSet 0 + Decorate 139(g_tTexcdi4) DescriptorSet 0 + Decorate 142(g_tTexcdu4) DescriptorSet 0 + Decorate 145(g_tTexcdf4a) DescriptorSet 0 + Decorate 148(g_tTexcdi4a) DescriptorSet 0 + Decorate 151(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -430,64 +449,62 @@ gl_FragCoord origin is upper left 90: TypePointer Function 25(fvec4) 92: 11(int) Constant 1 93: TypePointer Function 6(float) - 95: TypePointer Output 84(PS_OUTPUT) -96(@entryPointOutput): 95(ptr) Variable Output - 99: TypeSampler - 100: TypePointer UniformConstant 99 - 101(g_sSamp): 100(ptr) Variable UniformConstant - 102: TypeImage 6(float) 1D sampled format:Unknown - 103: TypePointer UniformConstant 102 - 104(g_tTex1df4): 103(ptr) Variable UniformConstant - 105: TypeImage 11(int) 1D sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTex1di4): 106(ptr) Variable UniformConstant - 108: TypeImage 18(int) 1D sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTex1du4): 109(ptr) Variable UniformConstant - 111: TypeImage 6(float) 2D sampled format:Unknown - 112: TypePointer UniformConstant 111 - 113(g_tTex2df4): 112(ptr) Variable UniformConstant - 114: TypeImage 11(int) 2D sampled format:Unknown - 115: TypePointer UniformConstant 114 - 116(g_tTex2di4): 115(ptr) Variable UniformConstant - 117: TypeImage 18(int) 2D sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTex2du4): 118(ptr) Variable UniformConstant - 120: TypeImage 6(float) 3D sampled format:Unknown - 121: TypePointer UniformConstant 120 - 122(g_tTex3df4): 121(ptr) Variable UniformConstant - 123: TypeImage 11(int) 3D sampled format:Unknown - 124: TypePointer UniformConstant 123 - 125(g_tTex3di4): 124(ptr) Variable UniformConstant - 126: TypeImage 18(int) 3D sampled format:Unknown - 127: TypePointer UniformConstant 126 - 128(g_tTex3du4): 127(ptr) Variable UniformConstant - 129: TypeImage 6(float) Cube sampled format:Unknown - 130: TypePointer UniformConstant 129 - 131(g_tTexcdf4): 130(ptr) Variable UniformConstant - 132: TypeImage 11(int) Cube sampled format:Unknown - 133: TypePointer UniformConstant 132 - 134(g_tTexcdi4): 133(ptr) Variable UniformConstant - 135: TypeImage 18(int) Cube sampled format:Unknown - 136: TypePointer UniformConstant 135 - 137(g_tTexcdu4): 136(ptr) Variable UniformConstant - 138: TypeImage 6(float) Cube array sampled format:Unknown - 139: TypePointer UniformConstant 138 -140(g_tTexcdf4a): 139(ptr) Variable UniformConstant - 141: TypeImage 11(int) Cube array sampled format:Unknown - 142: TypePointer UniformConstant 141 -143(g_tTexcdi4a): 142(ptr) Variable UniformConstant - 144: TypeImage 18(int) Cube array sampled format:Unknown - 145: TypePointer UniformConstant 144 -146(g_tTexcdu4a): 145(ptr) Variable UniformConstant - 147(c1): 20(ptr) Variable UniformConstant - 148(c2): 60(ptr) Variable UniformConstant - 149(o3): 13(ptr) Variable UniformConstant - 150(o4): 53(ptr) Variable UniformConstant - 151: TypePointer Output 25(fvec4) - 152(Color): 151(ptr) Variable Output - 153: TypePointer Output 6(float) - 154(Depth): 153(ptr) Variable Output + 95: TypePointer Output 25(fvec4) + 96(Color): 95(ptr) Variable Output + 99: TypePointer Output 6(float) + 100(Depth): 99(ptr) Variable Output + 104: TypeSampler + 105: TypePointer UniformConstant 104 + 106(g_sSamp): 105(ptr) Variable UniformConstant + 107: TypeImage 6(float) 1D sampled format:Unknown + 108: TypePointer UniformConstant 107 + 109(g_tTex1df4): 108(ptr) Variable UniformConstant + 110: TypeImage 11(int) 1D sampled format:Unknown + 111: TypePointer UniformConstant 110 + 112(g_tTex1di4): 111(ptr) Variable UniformConstant + 113: TypeImage 18(int) 1D sampled format:Unknown + 114: TypePointer UniformConstant 113 + 115(g_tTex1du4): 114(ptr) Variable UniformConstant + 116: TypeImage 6(float) 2D sampled format:Unknown + 117: TypePointer UniformConstant 116 + 118(g_tTex2df4): 117(ptr) Variable UniformConstant + 119: TypeImage 11(int) 2D sampled format:Unknown + 120: TypePointer UniformConstant 119 + 121(g_tTex2di4): 120(ptr) Variable UniformConstant + 122: TypeImage 18(int) 2D sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTex2du4): 123(ptr) Variable UniformConstant + 125: TypeImage 6(float) 3D sampled format:Unknown + 126: TypePointer UniformConstant 125 + 127(g_tTex3df4): 126(ptr) Variable UniformConstant + 128: TypeImage 11(int) 3D sampled format:Unknown + 129: TypePointer UniformConstant 128 + 130(g_tTex3di4): 129(ptr) Variable UniformConstant + 131: TypeImage 18(int) 3D sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTex3du4): 132(ptr) Variable UniformConstant + 134: TypeImage 6(float) Cube sampled format:Unknown + 135: TypePointer UniformConstant 134 + 136(g_tTexcdf4): 135(ptr) Variable UniformConstant + 137: TypeImage 11(int) Cube sampled format:Unknown + 138: TypePointer UniformConstant 137 + 139(g_tTexcdi4): 138(ptr) Variable UniformConstant + 140: TypeImage 18(int) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdu4): 141(ptr) Variable UniformConstant + 143: TypeImage 6(float) Cube array sampled format:Unknown + 144: TypePointer UniformConstant 143 +145(g_tTexcdf4a): 144(ptr) Variable UniformConstant + 146: TypeImage 11(int) Cube array sampled format:Unknown + 147: TypePointer UniformConstant 146 +148(g_tTexcdi4a): 147(ptr) Variable UniformConstant + 149: TypeImage 18(int) Cube array sampled format:Unknown + 150: TypePointer UniformConstant 149 +151(g_tTexcdu4a): 150(ptr) Variable UniformConstant + 152(c1): 20(ptr) Variable UniformConstant + 153(c2): 60(ptr) Variable UniformConstant + 154(o3): 13(ptr) Variable UniformConstant + 155(o4): 53(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 86(psout): 85(ptr) Variable Function @@ -537,7 +554,11 @@ gl_FragCoord origin is upper left Store 91 89 94: 93(ptr) AccessChain 86(psout) 92 Store 94 88 - 97:84(PS_OUTPUT) Load 86(psout) - Store 96(@entryPointOutput) 97 + 97: 90(ptr) AccessChain 86(psout) 87 + 98: 25(fvec4) Load 97 + Store 96(Color) 98 + 101: 93(ptr) AccessChain 86(psout) 92 + 102: 6(float) Load 101 + Store 100(Depth) 102 Return FunctionEnd diff --git a/Test/baseResults/hlsl.matrixindex.frag.out b/Test/baseResults/hlsl.matrixindex.frag.out index d8eb9de..7acaa71 100644 --- a/Test/baseResults/hlsl.matrixindex.frag.out +++ b/Test/baseResults/hlsl.matrixindex.frag.out @@ -108,10 +108,14 @@ gl_FragCoord origin is upper left 0:47 0 (const int) 0:47 Construct vec4 (temp 4-component vector of float) 0:47 'e2_11' (temp float) -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color}) -0:48 'psout' (temp structure{temp 4-component vector of float Color}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'psout' (temp structure{temp 4-component vector of float Color}) +0:48 Constant: +0:48 0 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'idx' (uniform int) @@ -231,10 +235,14 @@ gl_FragCoord origin is upper left 0:47 0 (const int) 0:47 Construct vec4 (temp 4-component vector of float) 0:47 'e2_11' (temp float) -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color}) -0:48 'psout' (temp structure{temp 4-component vector of float Color}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'psout' (temp structure{temp 4-component vector of float Color}) +0:48 Constant: +0:48 0 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'idx' (uniform int) @@ -243,12 +251,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 76 +// Id's are bound by 75 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 71 75 + EntryPoint Fragment 4 "main" 71 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "e1_00" @@ -274,9 +282,8 @@ gl_FragCoord origin is upper left Name 62 "PS_OUTPUT" MemberName 62(PS_OUTPUT) 0 "Color" Name 64 "psout" - Name 71 "@entryPointOutput" - Name 75 "Color" - Decorate 75(Color) Location 0 + Name 71 "Color" + Decorate 71(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -315,10 +322,8 @@ gl_FragCoord origin is upper left 63: TypePointer Function 62(PS_OUTPUT) 65: 46(int) Constant 0 68: TypePointer Function 61(fvec4) - 70: TypePointer Output 62(PS_OUTPUT) -71(@entryPointOutput): 70(ptr) Variable Output - 74: TypePointer Output 61(fvec4) - 75(Color): 74(ptr) Variable Output + 70: TypePointer Output 61(fvec4) + 71(Color): 70(ptr) Variable Output 4(main): 2 Function None 3 5: Label 8(e1_00): 7(ptr) Variable Function @@ -368,7 +373,8 @@ gl_FragCoord origin is upper left 67: 61(fvec4) CompositeConstruct 66 66 66 66 69: 68(ptr) AccessChain 64(psout) 65 Store 69 67 - 72:62(PS_OUTPUT) Load 64(psout) - Store 71(@entryPointOutput) 72 + 72: 68(ptr) AccessChain 64(psout) 65 + 73: 61(fvec4) Load 72 + Store 71(Color) 73 Return FunctionEnd diff --git a/Test/baseResults/hlsl.numericsuffixes.frag.out b/Test/baseResults/hlsl.numericsuffixes.frag.out index 787a503..168065b 100644 --- a/Test/baseResults/hlsl.numericsuffixes.frag.out +++ b/Test/baseResults/hlsl.numericsuffixes.frag.out @@ -58,10 +58,14 @@ gl_FragCoord origin is upper left 0:18 Construct vec4 (temp 4-component vector of float) 0:18 Convert int to float (temp float) 0:18 'r07' (temp int) -0:19 Sequence -0:19 move second child to first child (temp structure{temp 4-component vector of float color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) -0:19 'ps_output' (temp structure{temp 4-component vector of float color}) +0:? Sequence +0:? Sequence +0:19 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:19 color: direct index for structure (temp 4-component vector of float) +0:19 'ps_output' (temp structure{temp 4-component vector of float color}) +0:19 Constant: +0:19 0 (const int) 0:19 Branch: Return 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) @@ -129,22 +133,26 @@ gl_FragCoord origin is upper left 0:18 Construct vec4 (temp 4-component vector of float) 0:18 Convert int to float (temp float) 0:18 'r07' (temp int) -0:19 Sequence -0:19 move second child to first child (temp structure{temp 4-component vector of float color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) -0:19 'ps_output' (temp structure{temp 4-component vector of float color}) +0:? Sequence +0:? Sequence +0:19 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:19 color: direct index for structure (temp 4-component vector of float) +0:19 'ps_output' (temp structure{temp 4-component vector of float color}) +0:19 Constant: +0:19 0 (const int) 0:19 Branch: Return 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 45 +// Id's are bound by 44 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 40 44 + EntryPoint Fragment 4 "main" 40 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r00" @@ -159,9 +167,8 @@ gl_FragCoord origin is upper left Name 30 "PS_OUTPUT" MemberName 30(PS_OUTPUT) 0 "color" Name 32 "ps_output" - Name 40 "@entryPointOutput" - Name 44 "color" - Decorate 44(color) Location 0 + Name 40 "color" + Decorate 40(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -183,10 +190,8 @@ gl_FragCoord origin is upper left 31: TypePointer Function 30(PS_OUTPUT) 33: 19(int) Constant 0 37: TypePointer Function 29(fvec4) - 39: TypePointer Output 30(PS_OUTPUT) -40(@entryPointOutput): 39(ptr) Variable Output - 43: TypePointer Output 29(fvec4) - 44(color): 43(ptr) Variable Output + 39: TypePointer Output 29(fvec4) + 40(color): 39(ptr) Variable Output 4(main): 2 Function None 3 5: Label 8(r00): 7(ptr) Variable Function @@ -213,7 +218,8 @@ gl_FragCoord origin is upper left 36: 29(fvec4) CompositeConstruct 35 35 35 35 38: 37(ptr) AccessChain 32(ps_output) 33 Store 38 36 - 41:30(PS_OUTPUT) Load 32(ps_output) - Store 40(@entryPointOutput) 41 + 41: 37(ptr) AccessChain 32(ps_output) 33 + 42: 29(fvec4) Load 41 + Store 40(color) 42 Return FunctionEnd diff --git a/Test/baseResults/hlsl.pp.line.frag.out b/Test/baseResults/hlsl.pp.line.frag.out index fac2410..8bd07c0 100644 --- a/Test/baseResults/hlsl.pp.line.frag.out +++ b/Test/baseResults/hlsl.pp.line.frag.out @@ -31,10 +31,20 @@ gl_FragCoord origin is upper left 0:127 1 (const int) 0:127 Constant: 0:127 1.000000 -0:129 Sequence -0:129 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:129 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:129 Color: direct index for structure (temp 4-component vector of float) +0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:129 Constant: +0:129 0 (const int) +0:129 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:129 Depth: direct index for structure (temp float FragDepth) +0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:129 Constant: +0:129 1 (const int) 0:129 Branch: Return 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) @@ -76,10 +86,20 @@ gl_FragCoord origin is upper left 0:127 1 (const int) 0:127 Constant: 0:127 1.000000 -0:129 Sequence -0:129 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:129 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:129 Color: direct index for structure (temp 4-component vector of float) +0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:129 Constant: +0:129 0 (const int) +0:129 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:129 Depth: direct index for structure (temp float FragDepth) +0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:129 Constant: +0:129 1 (const int) 0:129 Branch: Return 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) @@ -87,12 +107,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 34 +// Id's are bound by 35 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 27 31 33 + EntryPoint Fragment 4 "main" 27 31 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "thisLineIs" @@ -100,12 +120,11 @@ gl_FragCoord origin is upper left MemberName 12(PS_OUTPUT) 0 "Color" MemberName 12(PS_OUTPUT) 1 "Depth" Name 14 "psout" - Name 27 "@entryPointOutput" - Name 31 "Color" - Name 33 "Depth" + Name 27 "Color" + Name 31 "Depth" MemberDecorate 12(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 31(Color) Location 0 - Decorate 33(Depth) BuiltIn FragDepth + Decorate 27(Color) Location 0 + Decorate 31(Depth) BuiltIn FragDepth 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -121,12 +140,10 @@ gl_FragCoord origin is upper left 21: TypePointer Function 11(fvec4) 23: 6(int) Constant 1 24: TypePointer Function 10(float) - 26: TypePointer Output 12(PS_OUTPUT) -27(@entryPointOutput): 26(ptr) Variable Output - 30: TypePointer Output 11(fvec4) - 31(Color): 30(ptr) Variable Output - 32: TypePointer Output 10(float) - 33(Depth): 32(ptr) Variable Output + 26: TypePointer Output 11(fvec4) + 27(Color): 26(ptr) Variable Output + 30: TypePointer Output 10(float) + 31(Depth): 30(ptr) Variable Output 4(main): 2 Function None 3 5: Label 8(thisLineIs): 7(ptr) Variable Function @@ -139,7 +156,11 @@ gl_FragCoord origin is upper left Store 22 20 25: 24(ptr) AccessChain 14(psout) 23 Store 25 19 - 28:12(PS_OUTPUT) Load 14(psout) - Store 27(@entryPointOutput) 28 + 28: 21(ptr) AccessChain 14(psout) 15 + 29: 11(fvec4) Load 28 + Store 27(Color) 29 + 32: 24(ptr) AccessChain 14(psout) 23 + 33: 10(float) Load 32 + Store 31(Depth) 33 Return FunctionEnd diff --git a/Test/baseResults/hlsl.precise.frag.out b/Test/baseResults/hlsl.precise.frag.out index 4cbf8b7..d76dc3f 100644 --- a/Test/baseResults/hlsl.precise.frag.out +++ b/Test/baseResults/hlsl.precise.frag.out @@ -19,10 +19,14 @@ gl_FragCoord origin is upper left 0:11 1.000000 0:11 1.000000 0:11 1.000000 -0:12 Sequence -0:12 move second child to first child (temp structure{noContraction temp 4-component vector of float color}) -0:? '@entryPointOutput' (out structure{noContraction temp 4-component vector of float color}) -0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) +0:? Sequence +0:? Sequence +0:12 move second child to first child (noContraction temp 4-component vector of float) +0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) +0:12 color: direct index for structure (noContraction temp 4-component vector of float) +0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) +0:12 Constant: +0:12 0 (const int) 0:12 Branch: Return 0:? Linker Objects 0:? 'precisefloat' (noContraction global float) @@ -52,10 +56,14 @@ gl_FragCoord origin is upper left 0:11 1.000000 0:11 1.000000 0:11 1.000000 -0:12 Sequence -0:12 move second child to first child (temp structure{noContraction temp 4-component vector of float color}) -0:? '@entryPointOutput' (out structure{noContraction temp 4-component vector of float color}) -0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) +0:? Sequence +0:? Sequence +0:12 move second child to first child (noContraction temp 4-component vector of float) +0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) +0:12 color: direct index for structure (noContraction temp 4-component vector of float) +0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) +0:12 Constant: +0:12 0 (const int) 0:12 Branch: Return 0:? Linker Objects 0:? 'precisefloat' (noContraction global float) @@ -63,12 +71,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 33 +// Id's are bound by 32 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 26 32 + EntryPoint Fragment 4 "main" 26 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 13 "MyFunction(f1;vf3;" @@ -77,10 +85,9 @@ gl_FragCoord origin is upper left Name 16 "PS_OUTPUT" MemberName 16(PS_OUTPUT) 0 "color" Name 18 "ps_output" - Name 26 "@entryPointOutput" - Name 30 "precisefloat" - Name 32 "color" - Decorate 32(color) Location 0 + Name 26 "color" + Name 31 "precisefloat" + Decorate 26(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -96,19 +103,18 @@ gl_FragCoord origin is upper left 21: 6(float) Constant 1065353216 22: 15(fvec4) ConstantComposite 21 21 21 21 23: TypePointer Function 15(fvec4) - 25: TypePointer Output 16(PS_OUTPUT) -26(@entryPointOutput): 25(ptr) Variable Output - 29: TypePointer Private 6(float) -30(precisefloat): 29(ptr) Variable Private - 31: TypePointer Output 15(fvec4) - 32(color): 31(ptr) Variable Output + 25: TypePointer Output 15(fvec4) + 26(color): 25(ptr) Variable Output + 30: TypePointer Private 6(float) +31(precisefloat): 30(ptr) Variable Private 4(main): 2 Function None 3 5: Label 18(ps_output): 17(ptr) Variable Function 24: 23(ptr) AccessChain 18(ps_output) 20 Store 24 22 - 27:16(PS_OUTPUT) Load 18(ps_output) - Store 26(@entryPointOutput) 27 + 27: 23(ptr) AccessChain 18(ps_output) 20 + 28: 15(fvec4) Load 27 + Store 26(color) 28 Return FunctionEnd 13(MyFunction(f1;vf3;): 2 Function None 10 diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out index 1e20680..3f1c788 100644 --- a/Test/baseResults/hlsl.promotions.frag.out +++ b/Test/baseResults/hlsl.promotions.frag.out @@ -496,10 +496,14 @@ gl_FragCoord origin is upper left 0:199 Constant: 0:199 0 (const int) 0:199 'outval' (temp 4-component vector of float) -0:200 Sequence -0:200 move second child to first child (temp structure{temp 4-component vector of float Color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color}) -0:200 'psout' (temp structure{temp 4-component vector of float Color}) +0:? Sequence +0:? Sequence +0:200 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:200 Color: direct index for structure (temp 4-component vector of float) +0:200 'psout' (temp structure{temp 4-component vector of float Color}) +0:200 Constant: +0:200 0 (const int) 0:200 Branch: Return 0:? Linker Objects 0:? 'i3' (uniform 3-component vector of int) @@ -1015,10 +1019,14 @@ gl_FragCoord origin is upper left 0:199 Constant: 0:199 0 (const int) 0:199 'outval' (temp 4-component vector of float) -0:200 Sequence -0:200 move second child to first child (temp structure{temp 4-component vector of float Color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color}) -0:200 'psout' (temp structure{temp 4-component vector of float Color}) +0:? Sequence +0:? Sequence +0:200 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:200 Color: direct index for structure (temp 4-component vector of float) +0:200 'psout' (temp structure{temp 4-component vector of float Color}) +0:200 Constant: +0:200 0 (const int) 0:200 Branch: Return 0:? Linker Objects 0:? 'i3' (uniform 3-component vector of int) @@ -1035,13 +1043,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 482 +// Id's are bound by 481 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 477 481 + EntryPoint Fragment 4 "main" 477 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 11 "Fn_F3(vf3;" @@ -1130,9 +1138,8 @@ gl_FragCoord origin is upper left Name 471 "PS_OUTPUT" MemberName 471(PS_OUTPUT) 0 "Color" Name 473 "psout" - Name 477 "@entryPointOutput" - Name 481 "Color" - Decorate 481(Color) Location 0 + Name 477 "Color" + Decorate 477(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -1203,10 +1210,8 @@ gl_FragCoord origin is upper left 465: 6(float) Constant 1080452710 471(PS_OUTPUT): TypeStruct 462(fvec4) 472: TypePointer Function 471(PS_OUTPUT) - 476: TypePointer Output 471(PS_OUTPUT) -477(@entryPointOutput): 476(ptr) Variable Output - 480: TypePointer Output 462(fvec4) - 481(Color): 480(ptr) Variable Output + 476: TypePointer Output 462(fvec4) + 477(Color): 476(ptr) Variable Output 4(main): 2 Function None 3 5: Label 252(r00): 8(ptr) Variable Function @@ -1472,8 +1477,9 @@ gl_FragCoord origin is upper left 474: 462(fvec4) Load 464(outval) 475: 463(ptr) AccessChain 473(psout) 149 Store 475 474 - 478:471(PS_OUTPUT) Load 473(psout) - Store 477(@entryPointOutput) 478 + 478: 463(ptr) AccessChain 473(psout) 149 + 479: 462(fvec4) Load 478 + Store 477(Color) 479 Return FunctionEnd 11(Fn_F3(vf3;): 2 Function None 9 diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out index d549925..e35a9a4 100644 --- a/Test/baseResults/hlsl.sample.array.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out @@ -121,10 +121,20 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:42 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:42 Color: direct index for structure (temp 4-component vector of float) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 0 (const int) +0:42 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:42 Depth: direct index for structure (temp float FragDepth) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -267,10 +277,20 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:42 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:42 Color: direct index for structure (temp 4-component vector of float) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 0 (const int) +0:42 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:42 Depth: direct index for structure (temp float FragDepth) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -289,14 +309,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 138 +// Id's are bound by 139 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 130 135 137 + EntryPoint Fragment 4 "main" 130 134 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -322,10 +342,9 @@ gl_FragCoord origin is upper left MemberName 120(PS_OUTPUT) 0 "Color" MemberName 120(PS_OUTPUT) 1 "Depth" Name 122 "psout" - Name 130 "@entryPointOutput" - Name 133 "g_tTex1df4a" - Name 135 "Color" - Name 137 "Depth" + Name 130 "Color" + Name 134 "Depth" + Name 138 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -339,10 +358,10 @@ gl_FragCoord origin is upper left Decorate 100(g_tTexcdi4) DescriptorSet 0 Decorate 110(g_tTexcdu4) DescriptorSet 0 MemberDecorate 120(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 133(g_tTex1df4a) DescriptorSet 0 - Decorate 133(g_tTex1df4a) Binding 1 - Decorate 135(Color) Location 0 - Decorate 137(Depth) BuiltIn FragDepth + Decorate 130(Color) Location 0 + Decorate 134(Depth) BuiltIn FragDepth + Decorate 138(g_tTex1df4a) DescriptorSet 0 + Decorate 138(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -420,13 +439,11 @@ gl_FragCoord origin is upper left 124: 7(fvec4) ConstantComposite 117 117 117 117 126: 25(int) Constant 1 127: TypePointer Function 6(float) - 129: TypePointer Output 120(PS_OUTPUT) -130(@entryPointOutput): 129(ptr) Variable Output -133(g_tTex1df4a): 11(ptr) Variable UniformConstant - 134: TypePointer Output 7(fvec4) - 135(Color): 134(ptr) Variable Output - 136: TypePointer Output 6(float) - 137(Depth): 136(ptr) Variable Output + 129: TypePointer Output 7(fvec4) + 130(Color): 129(ptr) Variable Output + 133: TypePointer Output 6(float) + 134(Depth): 133(ptr) Variable Output +138(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -488,7 +505,11 @@ gl_FragCoord origin is upper left Store 125 124 128: 127(ptr) AccessChain 122(psout) 126 Store 128 117 - 131:120(PS_OUTPUT) Load 122(psout) - Store 130(@entryPointOutput) 131 + 131: 8(ptr) AccessChain 122(psout) 123 + 132: 7(fvec4) Load 131 + Store 130(Color) 132 + 135: 127(ptr) AccessChain 122(psout) 126 + 136: 6(float) Load 135 + Store 134(Depth) 136 Return FunctionEnd diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out index bb73a97..2e79f62 100644 --- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out @@ -231,10 +231,20 @@ gl_FragCoord origin is upper left 0:87 1 (const int) 0:87 Constant: 0:87 1.000000 -0:89 Sequence -0:89 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:89 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:89 Color: direct index for structure (temp 4-component vector of float) +0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:89 Constant: +0:89 0 (const int) +0:89 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:89 Depth: direct index for structure (temp float FragDepth) +0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:89 Constant: +0:89 1 (const int) 0:89 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -490,10 +500,20 @@ gl_FragCoord origin is upper left 0:87 1 (const int) 0:87 Constant: 0:87 1.000000 -0:89 Sequence -0:89 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:89 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:89 Color: direct index for structure (temp 4-component vector of float) +0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:89 Constant: +0:89 0 (const int) +0:89 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:89 Depth: direct index for structure (temp float FragDepth) +0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:89 Constant: +0:89 1 (const int) 0:89 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -517,13 +537,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 190 +// Id's are bound by 191 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 180 187 189 + EntryPoint Fragment 4 "main" 180 184 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 7 "MemberTest" @@ -569,12 +589,11 @@ gl_FragCoord origin is upper left MemberName 171(PS_OUTPUT) 0 "Color" MemberName 171(PS_OUTPUT) 1 "Depth" Name 173 "psout" - Name 180 "@entryPointOutput" - Name 183 "g_sSamp2d" - Name 184 "g_sSamp2D_b" - Name 185 "g_tTex1df4a" - Name 187 "Color" - Name 189 "Depth" + Name 180 "Color" + Name 184 "Depth" + Name 188 "g_sSamp2d" + Name 189 "g_sSamp2D_b" + Name 190 "g_tTex1df4a" Decorate 41(g_tTex1df4) DescriptorSet 0 Decorate 41(g_tTex1df4) Binding 0 Decorate 45(g_sSamp) DescriptorSet 0 @@ -591,12 +610,12 @@ gl_FragCoord origin is upper left Decorate 156(g_tTexcdi4) DescriptorSet 0 Decorate 165(g_tTexcdu4) DescriptorSet 0 MemberDecorate 171(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 183(g_sSamp2d) DescriptorSet 0 - Decorate 184(g_sSamp2D_b) DescriptorSet 0 - Decorate 185(g_tTex1df4a) DescriptorSet 0 - Decorate 185(g_tTex1df4a) Binding 1 - Decorate 187(Color) Location 0 - Decorate 189(Depth) BuiltIn FragDepth + Decorate 180(Color) Location 0 + Decorate 184(Depth) BuiltIn FragDepth + Decorate 188(g_sSamp2d) DescriptorSet 0 + Decorate 189(g_sSamp2D_b) DescriptorSet 0 + Decorate 190(g_tTex1df4a) DescriptorSet 0 + Decorate 190(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -696,15 +715,13 @@ gl_FragCoord origin is upper left 174: 35(float) Constant 1065353216 175: 36(fvec4) ConstantComposite 174 174 174 174 177: TypePointer Function 35(float) - 179: TypePointer Output 171(PS_OUTPUT) -180(@entryPointOutput): 179(ptr) Variable Output - 183(g_sSamp2d): 44(ptr) Variable UniformConstant -184(g_sSamp2D_b): 44(ptr) Variable UniformConstant -185(g_tTex1df4a): 40(ptr) Variable UniformConstant - 186: TypePointer Output 36(fvec4) - 187(Color): 186(ptr) Variable Output - 188: TypePointer Output 35(float) - 189(Depth): 188(ptr) Variable Output + 179: TypePointer Output 36(fvec4) + 180(Color): 179(ptr) Variable Output + 183: TypePointer Output 35(float) + 184(Depth): 183(ptr) Variable Output + 188(g_sSamp2d): 44(ptr) Variable UniformConstant +189(g_sSamp2D_b): 44(ptr) Variable UniformConstant +190(g_tTex1df4a): 40(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(mtest): 8(ptr) Variable Function @@ -809,7 +826,11 @@ gl_FragCoord origin is upper left Store 176 175 178: 177(ptr) AccessChain 173(psout) 10 Store 178 174 - 181:171(PS_OUTPUT) Load 173(psout) - Store 180(@entryPointOutput) 181 + 181: 37(ptr) AccessChain 173(psout) 23 + 182: 36(fvec4) Load 181 + Store 180(Color) 182 + 185: 177(ptr) AccessChain 173(psout) 10 + 186: 35(float) Load 185 + Store 184(Depth) 186 Return FunctionEnd diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out index b241f6d..9be83eb 100644 --- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out @@ -139,10 +139,20 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float FragDepth) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -306,10 +316,20 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float FragDepth) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -331,13 +351,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 153 +// Id's are bound by 154 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 136 150 152 + EntryPoint Fragment 4 "main" 136 140 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -363,13 +383,12 @@ gl_FragCoord origin is upper left MemberName 127(PS_OUTPUT) 0 "Color" MemberName 127(PS_OUTPUT) 1 "Depth" Name 129 "psout" - Name 136 "@entryPointOutput" - Name 139 "g_tTex1df4a" - Name 142 "g_tTexcdf4" - Name 145 "g_tTexcdi4" - Name 148 "g_tTexcdu4" - Name 150 "Color" - Name 152 "Depth" + Name 136 "Color" + Name 140 "Depth" + Name 144 "g_tTex1df4a" + Name 147 "g_tTexcdf4" + Name 150 "g_tTexcdi4" + Name 153 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -383,13 +402,13 @@ gl_FragCoord origin is upper left Decorate 105(g_tTex3di4) DescriptorSet 0 Decorate 116(g_tTex3du4) DescriptorSet 0 MemberDecorate 127(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 139(g_tTex1df4a) DescriptorSet 0 - Decorate 139(g_tTex1df4a) Binding 1 - Decorate 142(g_tTexcdf4) DescriptorSet 0 - Decorate 145(g_tTexcdi4) DescriptorSet 0 - Decorate 148(g_tTexcdu4) DescriptorSet 0 - Decorate 150(Color) Location 0 - Decorate 152(Depth) BuiltIn FragDepth + Decorate 136(Color) Location 0 + Decorate 140(Depth) BuiltIn FragDepth + Decorate 144(g_tTex1df4a) DescriptorSet 0 + Decorate 144(g_tTex1df4a) Binding 1 + Decorate 147(g_tTexcdf4) DescriptorSet 0 + Decorate 150(g_tTexcdi4) DescriptorSet 0 + Decorate 153(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -473,22 +492,20 @@ gl_FragCoord origin is upper left 130: 6(float) Constant 1065353216 131: 7(fvec4) ConstantComposite 130 130 130 130 133: TypePointer Function 6(float) - 135: TypePointer Output 127(PS_OUTPUT) -136(@entryPointOutput): 135(ptr) Variable Output -139(g_tTex1df4a): 11(ptr) Variable UniformConstant - 140: TypeImage 6(float) Cube sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTexcdf4): 141(ptr) Variable UniformConstant - 143: TypeImage 21(int) Cube sampled format:Unknown - 144: TypePointer UniformConstant 143 - 145(g_tTexcdi4): 144(ptr) Variable UniformConstant - 146: TypeImage 36(int) Cube sampled format:Unknown - 147: TypePointer UniformConstant 146 - 148(g_tTexcdu4): 147(ptr) Variable UniformConstant - 149: TypePointer Output 7(fvec4) - 150(Color): 149(ptr) Variable Output - 151: TypePointer Output 6(float) - 152(Depth): 151(ptr) Variable Output + 135: TypePointer Output 7(fvec4) + 136(Color): 135(ptr) Variable Output + 139: TypePointer Output 6(float) + 140(Depth): 139(ptr) Variable Output +144(g_tTex1df4a): 11(ptr) Variable UniformConstant + 145: TypeImage 6(float) Cube sampled format:Unknown + 146: TypePointer UniformConstant 145 + 147(g_tTexcdf4): 146(ptr) Variable UniformConstant + 148: TypeImage 21(int) Cube sampled format:Unknown + 149: TypePointer UniformConstant 148 + 150(g_tTexcdi4): 149(ptr) Variable UniformConstant + 151: TypeImage 36(int) Cube sampled format:Unknown + 152: TypePointer UniformConstant 151 + 153(g_tTexcdu4): 152(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -550,7 +567,11 @@ gl_FragCoord origin is upper left Store 132 131 134: 133(ptr) AccessChain 129(psout) 22 Store 134 130 - 137:127(PS_OUTPUT) Load 129(psout) - Store 136(@entryPointOutput) 137 + 137: 8(ptr) AccessChain 129(psout) 60 + 138: 7(fvec4) Load 137 + Store 136(Color) 138 + 141: 133(ptr) AccessChain 129(psout) 22 + 142: 6(float) Load 141 + Store 140(Depth) 142 Return FunctionEnd diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out index a2debf4..ae5aab5 100644 --- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out @@ -100,10 +100,20 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:36 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:36 Color: direct index for structure (temp 4-component vector of float) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Constant: +0:36 0 (const int) +0:36 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:36 Depth: direct index for structure (temp float FragDepth) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Constant: +0:36 1 (const int) 0:36 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -222,10 +232,20 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:36 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:36 Color: direct index for structure (temp 4-component vector of float) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Constant: +0:36 0 (const int) +0:36 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:36 Depth: direct index for structure (temp float FragDepth) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Constant: +0:36 1 (const int) 0:36 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -241,13 +261,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 110 +// Id's are bound by 111 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 102 107 109 + EntryPoint Fragment 4 "main" 102 106 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -267,10 +287,9 @@ gl_FragCoord origin is upper left MemberName 93(PS_OUTPUT) 0 "Color" MemberName 93(PS_OUTPUT) 1 "Depth" Name 95 "psout" - Name 102 "@entryPointOutput" - Name 105 "g_tTex1df4a" - Name 107 "Color" - Name 109 "Depth" + Name 102 "Color" + Name 106 "Depth" + Name 110 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -281,10 +300,10 @@ gl_FragCoord origin is upper left Decorate 72(g_tTex2di4) DescriptorSet 0 Decorate 83(g_tTex2du4) DescriptorSet 0 MemberDecorate 93(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 105(g_tTex1df4a) DescriptorSet 0 - Decorate 105(g_tTex1df4a) Binding 1 - Decorate 107(Color) Location 0 - Decorate 109(Depth) BuiltIn FragDepth + Decorate 102(Color) Location 0 + Decorate 106(Depth) BuiltIn FragDepth + Decorate 110(g_tTex1df4a) DescriptorSet 0 + Decorate 110(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -349,13 +368,11 @@ gl_FragCoord origin is upper left 96: 6(float) Constant 1065353216 97: 7(fvec4) ConstantComposite 96 96 96 96 99: TypePointer Function 6(float) - 101: TypePointer Output 93(PS_OUTPUT) -102(@entryPointOutput): 101(ptr) Variable Output -105(g_tTex1df4a): 11(ptr) Variable UniformConstant - 106: TypePointer Output 7(fvec4) - 107(Color): 106(ptr) Variable Output - 108: TypePointer Output 6(float) - 109(Depth): 108(ptr) Variable Output + 101: TypePointer Output 7(fvec4) + 102(Color): 101(ptr) Variable Output + 105: TypePointer Output 6(float) + 106(Depth): 105(ptr) Variable Output +110(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -399,7 +416,11 @@ gl_FragCoord origin is upper left Store 98 97 100: 99(ptr) AccessChain 95(psout) 39 Store 100 96 - 103:93(PS_OUTPUT) Load 95(psout) - Store 102(@entryPointOutput) 103 + 103: 8(ptr) AccessChain 95(psout) 25 + 104: 7(fvec4) Load 103 + Store 102(Color) 104 + 107: 99(ptr) AccessChain 95(psout) 39 + 108: 6(float) Load 107 + Store 106(Depth) 108 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out index 2bb3052..d80e6f1 100644 --- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out @@ -139,10 +139,20 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:42 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:42 Color: direct index for structure (temp 4-component vector of float) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 0 (const int) +0:42 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:42 Depth: direct index for structure (temp float FragDepth) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -303,10 +313,20 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:42 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:42 Color: direct index for structure (temp 4-component vector of float) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 0 (const int) +0:42 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:42 Depth: direct index for structure (temp float FragDepth) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -325,14 +345,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 138 +// Id's are bound by 139 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 130 135 137 + EntryPoint Fragment 4 "main" 130 134 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -358,10 +378,9 @@ gl_FragCoord origin is upper left MemberName 120(PS_OUTPUT) 0 "Color" MemberName 120(PS_OUTPUT) 1 "Depth" Name 122 "psout" - Name 130 "@entryPointOutput" - Name 133 "g_tTex1df4a" - Name 135 "Color" - Name 137 "Depth" + Name 130 "Color" + Name 134 "Depth" + Name 138 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -375,10 +394,10 @@ gl_FragCoord origin is upper left Decorate 100(g_tTexcdi4) DescriptorSet 0 Decorate 110(g_tTexcdu4) DescriptorSet 0 MemberDecorate 120(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 133(g_tTex1df4a) DescriptorSet 0 - Decorate 133(g_tTex1df4a) Binding 1 - Decorate 135(Color) Location 0 - Decorate 137(Depth) BuiltIn FragDepth + Decorate 130(Color) Location 0 + Decorate 134(Depth) BuiltIn FragDepth + Decorate 138(g_tTex1df4a) DescriptorSet 0 + Decorate 138(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -456,13 +475,11 @@ gl_FragCoord origin is upper left 124: 7(fvec4) ConstantComposite 117 117 117 117 126: 26(int) Constant 1 127: TypePointer Function 6(float) - 129: TypePointer Output 120(PS_OUTPUT) -130(@entryPointOutput): 129(ptr) Variable Output -133(g_tTex1df4a): 11(ptr) Variable UniformConstant - 134: TypePointer Output 7(fvec4) - 135(Color): 134(ptr) Variable Output - 136: TypePointer Output 6(float) - 137(Depth): 136(ptr) Variable Output + 129: TypePointer Output 7(fvec4) + 130(Color): 129(ptr) Variable Output + 133: TypePointer Output 6(float) + 134(Depth): 133(ptr) Variable Output +138(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -524,7 +541,11 @@ gl_FragCoord origin is upper left Store 125 124 128: 127(ptr) AccessChain 122(psout) 126 Store 128 117 - 131:120(PS_OUTPUT) Load 122(psout) - Store 130(@entryPointOutput) 131 + 131: 8(ptr) AccessChain 122(psout) 123 + 132: 7(fvec4) Load 131 + Store 130(Color) 132 + 135: 127(ptr) AccessChain 122(psout) 126 + 136: 6(float) Load 135 + Store 134(Depth) 136 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out index 7c19be9..c462e47 100644 --- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out @@ -169,10 +169,20 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Sequence -0:50 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:50 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:50 Color: direct index for structure (temp 4-component vector of float) +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Constant: +0:50 0 (const int) +0:50 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:50 Depth: direct index for structure (temp float FragDepth) +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Constant: +0:50 1 (const int) 0:50 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -366,10 +376,20 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Sequence -0:50 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:50 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:50 Color: direct index for structure (temp 4-component vector of float) +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Constant: +0:50 0 (const int) +0:50 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:50 Depth: direct index for structure (temp float FragDepth) +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Constant: +0:50 1 (const int) 0:50 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -391,13 +411,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 162 +// Id's are bound by 163 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 154 159 161 + EntryPoint Fragment 4 "main" 154 158 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -429,10 +449,9 @@ gl_FragCoord origin is upper left MemberName 143(PS_OUTPUT) 0 "Color" MemberName 143(PS_OUTPUT) 1 "Depth" Name 145 "psout" - Name 154 "@entryPointOutput" - Name 157 "g_tTex1df4a" - Name 159 "Color" - Name 161 "Depth" + Name 154 "Color" + Name 158 "Depth" + Name 162 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -449,10 +468,10 @@ gl_FragCoord origin is upper left Decorate 128(g_tTexcdi4) DescriptorSet 0 Decorate 137(g_tTexcdu4) DescriptorSet 0 MemberDecorate 143(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 157(g_tTex1df4a) DescriptorSet 0 - Decorate 157(g_tTex1df4a) Binding 1 - Decorate 159(Color) Location 0 - Decorate 161(Depth) BuiltIn FragDepth + Decorate 154(Color) Location 0 + Decorate 158(Depth) BuiltIn FragDepth + Decorate 162(g_tTex1df4a) DescriptorSet 0 + Decorate 162(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -539,13 +558,11 @@ gl_FragCoord origin is upper left 148: 7(fvec4) ConstantComposite 147 147 147 147 150: 23(int) Constant 1 151: TypePointer Function 6(float) - 153: TypePointer Output 143(PS_OUTPUT) -154(@entryPointOutput): 153(ptr) Variable Output -157(g_tTex1df4a): 11(ptr) Variable UniformConstant - 158: TypePointer Output 7(fvec4) - 159(Color): 158(ptr) Variable Output - 160: TypePointer Output 6(float) - 161(Depth): 160(ptr) Variable Output + 153: TypePointer Output 7(fvec4) + 154(Color): 153(ptr) Variable Output + 157: TypePointer Output 6(float) + 158(Depth): 157(ptr) Variable Output +162(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -625,7 +642,11 @@ gl_FragCoord origin is upper left Store 149 148 152: 151(ptr) AccessChain 145(psout) 150 Store 152 147 - 155:143(PS_OUTPUT) Load 145(psout) - Store 154(@entryPointOutput) 155 + 155: 8(ptr) AccessChain 145(psout) 146 + 156: 7(fvec4) Load 155 + Store 154(Color) 156 + 159: 151(ptr) AccessChain 145(psout) 150 + 160: 6(float) Load 159 + Store 158(Depth) 160 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out index 57e3260..58a87fd 100644 --- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out @@ -157,10 +157,20 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float FragDepth) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -342,10 +352,20 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float FragDepth) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -367,13 +387,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 153 +// Id's are bound by 154 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 136 150 152 + EntryPoint Fragment 4 "main" 136 140 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -399,13 +419,12 @@ gl_FragCoord origin is upper left MemberName 127(PS_OUTPUT) 0 "Color" MemberName 127(PS_OUTPUT) 1 "Depth" Name 129 "psout" - Name 136 "@entryPointOutput" - Name 139 "g_tTex1df4a" - Name 142 "g_tTexcdf4" - Name 145 "g_tTexcdi4" - Name 148 "g_tTexcdu4" - Name 150 "Color" - Name 152 "Depth" + Name 136 "Color" + Name 140 "Depth" + Name 144 "g_tTex1df4a" + Name 147 "g_tTexcdf4" + Name 150 "g_tTexcdi4" + Name 153 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -419,13 +438,13 @@ gl_FragCoord origin is upper left Decorate 105(g_tTex3di4) DescriptorSet 0 Decorate 116(g_tTex3du4) DescriptorSet 0 MemberDecorate 127(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 139(g_tTex1df4a) DescriptorSet 0 - Decorate 139(g_tTex1df4a) Binding 1 - Decorate 142(g_tTexcdf4) DescriptorSet 0 - Decorate 145(g_tTexcdi4) DescriptorSet 0 - Decorate 148(g_tTexcdu4) DescriptorSet 0 - Decorate 150(Color) Location 0 - Decorate 152(Depth) BuiltIn FragDepth + Decorate 136(Color) Location 0 + Decorate 140(Depth) BuiltIn FragDepth + Decorate 144(g_tTex1df4a) DescriptorSet 0 + Decorate 144(g_tTex1df4a) Binding 1 + Decorate 147(g_tTexcdf4) DescriptorSet 0 + Decorate 150(g_tTexcdi4) DescriptorSet 0 + Decorate 153(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -509,22 +528,20 @@ gl_FragCoord origin is upper left 130: 6(float) Constant 1065353216 131: 7(fvec4) ConstantComposite 130 130 130 130 133: TypePointer Function 6(float) - 135: TypePointer Output 127(PS_OUTPUT) -136(@entryPointOutput): 135(ptr) Variable Output -139(g_tTex1df4a): 11(ptr) Variable UniformConstant - 140: TypeImage 6(float) Cube sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTexcdf4): 141(ptr) Variable UniformConstant - 143: TypeImage 22(int) Cube sampled format:Unknown - 144: TypePointer UniformConstant 143 - 145(g_tTexcdi4): 144(ptr) Variable UniformConstant - 146: TypeImage 37(int) Cube sampled format:Unknown - 147: TypePointer UniformConstant 146 - 148(g_tTexcdu4): 147(ptr) Variable UniformConstant - 149: TypePointer Output 7(fvec4) - 150(Color): 149(ptr) Variable Output - 151: TypePointer Output 6(float) - 152(Depth): 151(ptr) Variable Output + 135: TypePointer Output 7(fvec4) + 136(Color): 135(ptr) Variable Output + 139: TypePointer Output 6(float) + 140(Depth): 139(ptr) Variable Output +144(g_tTex1df4a): 11(ptr) Variable UniformConstant + 145: TypeImage 6(float) Cube sampled format:Unknown + 146: TypePointer UniformConstant 145 + 147(g_tTexcdf4): 146(ptr) Variable UniformConstant + 148: TypeImage 22(int) Cube sampled format:Unknown + 149: TypePointer UniformConstant 148 + 150(g_tTexcdi4): 149(ptr) Variable UniformConstant + 151: TypeImage 37(int) Cube sampled format:Unknown + 152: TypePointer UniformConstant 151 + 153(g_tTexcdu4): 152(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -586,7 +603,11 @@ gl_FragCoord origin is upper left Store 132 131 134: 133(ptr) AccessChain 129(psout) 23 Store 134 130 - 137:127(PS_OUTPUT) Load 129(psout) - Store 136(@entryPointOutput) 137 + 137: 8(ptr) AccessChain 129(psout) 61 + 138: 7(fvec4) Load 137 + Store 136(Color) 138 + 141: 133(ptr) AccessChain 129(psout) 23 + 142: 6(float) Load 141 + Store 140(Depth) 142 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out index 5a5380c..6a0d18d 100644 --- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out @@ -112,10 +112,20 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:36 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:36 Color: direct index for structure (temp 4-component vector of float) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Constant: +0:36 0 (const int) +0:36 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:36 Depth: direct index for structure (temp float FragDepth) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Constant: +0:36 1 (const int) 0:36 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -246,10 +256,20 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:36 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:36 Color: direct index for structure (temp 4-component vector of float) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Constant: +0:36 0 (const int) +0:36 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:36 Depth: direct index for structure (temp float FragDepth) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Constant: +0:36 1 (const int) 0:36 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -265,13 +285,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 110 +// Id's are bound by 111 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 102 107 109 + EntryPoint Fragment 4 "main" 102 106 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -291,10 +311,9 @@ gl_FragCoord origin is upper left MemberName 93(PS_OUTPUT) 0 "Color" MemberName 93(PS_OUTPUT) 1 "Depth" Name 95 "psout" - Name 102 "@entryPointOutput" - Name 105 "g_tTex1df4a" - Name 107 "Color" - Name 109 "Depth" + Name 102 "Color" + Name 106 "Depth" + Name 110 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -305,10 +324,10 @@ gl_FragCoord origin is upper left Decorate 73(g_tTex2di4) DescriptorSet 0 Decorate 83(g_tTex2du4) DescriptorSet 0 MemberDecorate 93(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 105(g_tTex1df4a) DescriptorSet 0 - Decorate 105(g_tTex1df4a) Binding 1 - Decorate 107(Color) Location 0 - Decorate 109(Depth) BuiltIn FragDepth + Decorate 102(Color) Location 0 + Decorate 106(Depth) BuiltIn FragDepth + Decorate 110(g_tTex1df4a) DescriptorSet 0 + Decorate 110(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -373,13 +392,11 @@ gl_FragCoord origin is upper left 96: 6(float) Constant 1065353216 97: 7(fvec4) ConstantComposite 96 96 96 96 99: TypePointer Function 6(float) - 101: TypePointer Output 93(PS_OUTPUT) -102(@entryPointOutput): 101(ptr) Variable Output -105(g_tTex1df4a): 11(ptr) Variable UniformConstant - 106: TypePointer Output 7(fvec4) - 107(Color): 106(ptr) Variable Output - 108: TypePointer Output 6(float) - 109(Depth): 108(ptr) Variable Output + 101: TypePointer Output 7(fvec4) + 102(Color): 101(ptr) Variable Output + 105: TypePointer Output 6(float) + 106(Depth): 105(ptr) Variable Output +110(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -423,7 +440,11 @@ gl_FragCoord origin is upper left Store 98 97 100: 99(ptr) AccessChain 95(psout) 40 Store 100 96 - 103:93(PS_OUTPUT) Load 95(psout) - Store 102(@entryPointOutput) 103 + 103: 8(ptr) AccessChain 95(psout) 26 + 104: 7(fvec4) Load 103 + Store 102(Color) 104 + 107: 99(ptr) AccessChain 95(psout) 40 + 108: 6(float) Load 107 + Store 106(Depth) 108 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out index 17f4743..215fa8f 100644 --- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out @@ -148,10 +148,20 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Sequence -0:59 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:59 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:59 Color: direct index for structure (temp 4-component vector of float) +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Constant: +0:59 0 (const int) +0:59 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:59 Depth: direct index for structure (temp float FragDepth) +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Constant: +0:59 1 (const int) 0:59 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -332,10 +342,20 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Sequence -0:59 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:59 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:59 Color: direct index for structure (temp 4-component vector of float) +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Constant: +0:59 0 (const int) +0:59 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:59 Depth: direct index for structure (temp float FragDepth) +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Constant: +0:59 1 (const int) 0:59 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -365,14 +385,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 183 +// Id's are bound by 184 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 140 180 182 + EntryPoint Fragment 4 "main" 140 144 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r10" @@ -398,21 +418,20 @@ gl_FragCoord origin is upper left MemberName 129(PS_OUTPUT) 0 "Color" MemberName 129(PS_OUTPUT) 1 "Depth" Name 131 "psout" - Name 140 "@entryPointOutput" - Name 145 "g_tTex1df4" - Name 148 "g_tTex1di4" - Name 151 "g_tTex1du4" - Name 154 "g_tTex2df4" - Name 157 "g_tTex2di4" - Name 160 "g_tTex2du4" - Name 163 "g_tTex3df4" - Name 166 "g_tTex3di4" - Name 169 "g_tTex3du4" - Name 172 "g_tTexcdf4" - Name 175 "g_tTexcdi4" - Name 178 "g_tTexcdu4" - Name 180 "Color" - Name 182 "Depth" + Name 140 "Color" + Name 144 "Depth" + Name 150 "g_tTex1df4" + Name 153 "g_tTex1di4" + Name 156 "g_tTex1du4" + Name 159 "g_tTex2df4" + Name 162 "g_tTex2di4" + Name 165 "g_tTex2du4" + Name 168 "g_tTex3df4" + Name 171 "g_tTex3di4" + Name 174 "g_tTex3du4" + Name 177 "g_tTexcdf4" + Name 180 "g_tTexcdi4" + Name 183 "g_tTexcdu4" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 @@ -425,21 +444,21 @@ gl_FragCoord origin is upper left Decorate 110(g_tTexcdi4a) DescriptorSet 0 Decorate 121(g_tTexcdu4a) DescriptorSet 0 MemberDecorate 129(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 145(g_tTex1df4) DescriptorSet 0 - Decorate 145(g_tTex1df4) Binding 0 - Decorate 148(g_tTex1di4) DescriptorSet 0 - Decorate 151(g_tTex1du4) DescriptorSet 0 - Decorate 154(g_tTex2df4) DescriptorSet 0 - Decorate 157(g_tTex2di4) DescriptorSet 0 - Decorate 160(g_tTex2du4) DescriptorSet 0 - Decorate 163(g_tTex3df4) DescriptorSet 0 - Decorate 166(g_tTex3di4) DescriptorSet 0 - Decorate 169(g_tTex3du4) DescriptorSet 0 - Decorate 172(g_tTexcdf4) DescriptorSet 0 - Decorate 175(g_tTexcdi4) DescriptorSet 0 - Decorate 178(g_tTexcdu4) DescriptorSet 0 - Decorate 180(Color) Location 0 - Decorate 182(Depth) BuiltIn FragDepth + Decorate 140(Color) Location 0 + Decorate 144(Depth) BuiltIn FragDepth + Decorate 150(g_tTex1df4) DescriptorSet 0 + Decorate 150(g_tTex1df4) Binding 0 + Decorate 153(g_tTex1di4) DescriptorSet 0 + Decorate 156(g_tTex1du4) DescriptorSet 0 + Decorate 159(g_tTex2df4) DescriptorSet 0 + Decorate 162(g_tTex2di4) DescriptorSet 0 + Decorate 165(g_tTex2du4) DescriptorSet 0 + Decorate 168(g_tTex3df4) DescriptorSet 0 + Decorate 171(g_tTex3di4) DescriptorSet 0 + Decorate 174(g_tTex3du4) DescriptorSet 0 + Decorate 177(g_tTexcdf4) DescriptorSet 0 + Decorate 180(g_tTexcdi4) DescriptorSet 0 + Decorate 183(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -512,48 +531,46 @@ gl_FragCoord origin is upper left 134: 102(fvec4) ConstantComposite 133 133 133 133 135: TypePointer Function 102(fvec4) 137: 29(int) Constant 1 - 139: TypePointer Output 129(PS_OUTPUT) -140(@entryPointOutput): 139(ptr) Variable Output - 143: TypeImage 6(float) 1D sampled format:Unknown - 144: TypePointer UniformConstant 143 - 145(g_tTex1df4): 144(ptr) Variable UniformConstant - 146: TypeImage 29(int) 1D sampled format:Unknown - 147: TypePointer UniformConstant 146 - 148(g_tTex1di4): 147(ptr) Variable UniformConstant - 149: TypeImage 42(int) 1D sampled format:Unknown - 150: TypePointer UniformConstant 149 - 151(g_tTex1du4): 150(ptr) Variable UniformConstant - 152: TypeImage 6(float) 2D sampled format:Unknown - 153: TypePointer UniformConstant 152 - 154(g_tTex2df4): 153(ptr) Variable UniformConstant - 155: TypeImage 29(int) 2D sampled format:Unknown - 156: TypePointer UniformConstant 155 - 157(g_tTex2di4): 156(ptr) Variable UniformConstant - 158: TypeImage 42(int) 2D sampled format:Unknown - 159: TypePointer UniformConstant 158 - 160(g_tTex2du4): 159(ptr) Variable UniformConstant - 161: TypeImage 6(float) 3D sampled format:Unknown - 162: TypePointer UniformConstant 161 - 163(g_tTex3df4): 162(ptr) Variable UniformConstant - 164: TypeImage 29(int) 3D sampled format:Unknown - 165: TypePointer UniformConstant 164 - 166(g_tTex3di4): 165(ptr) Variable UniformConstant - 167: TypeImage 42(int) 3D sampled format:Unknown - 168: TypePointer UniformConstant 167 - 169(g_tTex3du4): 168(ptr) Variable UniformConstant - 170: TypeImage 6(float) Cube sampled format:Unknown - 171: TypePointer UniformConstant 170 - 172(g_tTexcdf4): 171(ptr) Variable UniformConstant - 173: TypeImage 29(int) Cube sampled format:Unknown - 174: TypePointer UniformConstant 173 - 175(g_tTexcdi4): 174(ptr) Variable UniformConstant - 176: TypeImage 42(int) Cube sampled format:Unknown - 177: TypePointer UniformConstant 176 - 178(g_tTexcdu4): 177(ptr) Variable UniformConstant - 179: TypePointer Output 102(fvec4) - 180(Color): 179(ptr) Variable Output - 181: TypePointer Output 6(float) - 182(Depth): 181(ptr) Variable Output + 139: TypePointer Output 102(fvec4) + 140(Color): 139(ptr) Variable Output + 143: TypePointer Output 6(float) + 144(Depth): 143(ptr) Variable Output + 148: TypeImage 6(float) 1D sampled format:Unknown + 149: TypePointer UniformConstant 148 + 150(g_tTex1df4): 149(ptr) Variable UniformConstant + 151: TypeImage 29(int) 1D sampled format:Unknown + 152: TypePointer UniformConstant 151 + 153(g_tTex1di4): 152(ptr) Variable UniformConstant + 154: TypeImage 42(int) 1D sampled format:Unknown + 155: TypePointer UniformConstant 154 + 156(g_tTex1du4): 155(ptr) Variable UniformConstant + 157: TypeImage 6(float) 2D sampled format:Unknown + 158: TypePointer UniformConstant 157 + 159(g_tTex2df4): 158(ptr) Variable UniformConstant + 160: TypeImage 29(int) 2D sampled format:Unknown + 161: TypePointer UniformConstant 160 + 162(g_tTex2di4): 161(ptr) Variable UniformConstant + 163: TypeImage 42(int) 2D sampled format:Unknown + 164: TypePointer UniformConstant 163 + 165(g_tTex2du4): 164(ptr) Variable UniformConstant + 166: TypeImage 6(float) 3D sampled format:Unknown + 167: TypePointer UniformConstant 166 + 168(g_tTex3df4): 167(ptr) Variable UniformConstant + 169: TypeImage 29(int) 3D sampled format:Unknown + 170: TypePointer UniformConstant 169 + 171(g_tTex3di4): 170(ptr) Variable UniformConstant + 172: TypeImage 42(int) 3D sampled format:Unknown + 173: TypePointer UniformConstant 172 + 174(g_tTex3du4): 173(ptr) Variable UniformConstant + 175: TypeImage 6(float) Cube sampled format:Unknown + 176: TypePointer UniformConstant 175 + 177(g_tTexcdf4): 176(ptr) Variable UniformConstant + 178: TypeImage 29(int) Cube sampled format:Unknown + 179: TypePointer UniformConstant 178 + 180(g_tTexcdi4): 179(ptr) Variable UniformConstant + 181: TypeImage 42(int) Cube sampled format:Unknown + 182: TypePointer UniformConstant 181 + 183(g_tTexcdu4): 182(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r10): 7(ptr) Variable Function @@ -630,7 +647,11 @@ gl_FragCoord origin is upper left Store 136 134 138: 7(ptr) AccessChain 131(psout) 137 Store 138 133 - 141:129(PS_OUTPUT) Load 131(psout) - Store 140(@entryPointOutput) 141 + 141: 135(ptr) AccessChain 131(psout) 132 + 142: 102(fvec4) Load 141 + Store 140(Color) 142 + 145: 7(ptr) AccessChain 131(psout) 137 + 146: 6(float) Load 145 + Store 144(Depth) 146 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out index 3181445..f6967c7 100644 --- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out @@ -139,10 +139,20 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Sequence -0:60 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:60 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:60 Color: direct index for structure (temp 4-component vector of float) +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Constant: +0:60 0 (const int) +0:60 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:60 Depth: direct index for structure (temp float FragDepth) +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Constant: +0:60 1 (const int) 0:60 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -314,10 +324,20 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Sequence -0:60 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:60 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:60 Color: direct index for structure (temp 4-component vector of float) +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Constant: +0:60 0 (const int) +0:60 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:60 Depth: direct index for structure (temp float FragDepth) +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Constant: +0:60 1 (const int) 0:60 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -347,14 +367,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 181 +// Id's are bound by 182 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 138 178 180 + EntryPoint Fragment 4 "main" 138 142 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r00" @@ -380,21 +400,20 @@ gl_FragCoord origin is upper left MemberName 127(PS_OUTPUT) 0 "Color" MemberName 127(PS_OUTPUT) 1 "Depth" Name 129 "psout" - Name 138 "@entryPointOutput" - Name 143 "g_tTex3df4" - Name 146 "g_tTex3di4" - Name 149 "g_tTex3du4" - Name 152 "g_tTex1df4a" - Name 155 "g_tTex1di4a" - Name 158 "g_tTex1du4a" - Name 161 "g_tTex2df4a" - Name 164 "g_tTex2di4a" - Name 167 "g_tTex2du4a" - Name 170 "g_tTexcdf4a" - Name 173 "g_tTexcdi4a" - Name 176 "g_tTexcdu4a" - Name 178 "Color" - Name 180 "Depth" + Name 138 "Color" + Name 142 "Depth" + Name 148 "g_tTex3df4" + Name 151 "g_tTex3di4" + Name 154 "g_tTex3du4" + Name 157 "g_tTex1df4a" + Name 160 "g_tTex1di4a" + Name 163 "g_tTex1du4a" + Name 166 "g_tTex2df4a" + Name 169 "g_tTex2di4a" + Name 172 "g_tTex2du4a" + Name 175 "g_tTexcdf4a" + Name 178 "g_tTexcdi4a" + Name 181 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 11(g_tTex1df4) Binding 0 Decorate 15(g_sSamp) DescriptorSet 0 @@ -408,20 +427,20 @@ gl_FragCoord origin is upper left Decorate 105(g_tTexcdi4) DescriptorSet 0 Decorate 117(g_tTexcdu4) DescriptorSet 0 MemberDecorate 127(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 143(g_tTex3df4) DescriptorSet 0 - Decorate 146(g_tTex3di4) DescriptorSet 0 - Decorate 149(g_tTex3du4) DescriptorSet 0 - Decorate 152(g_tTex1df4a) DescriptorSet 0 - Decorate 155(g_tTex1di4a) DescriptorSet 0 - Decorate 158(g_tTex1du4a) DescriptorSet 0 - Decorate 161(g_tTex2df4a) DescriptorSet 0 - Decorate 164(g_tTex2di4a) DescriptorSet 0 - Decorate 167(g_tTex2du4a) DescriptorSet 0 - Decorate 170(g_tTexcdf4a) DescriptorSet 0 - Decorate 173(g_tTexcdi4a) DescriptorSet 0 - Decorate 176(g_tTexcdu4a) DescriptorSet 0 - Decorate 178(Color) Location 0 - Decorate 180(Depth) BuiltIn FragDepth + Decorate 138(Color) Location 0 + Decorate 142(Depth) BuiltIn FragDepth + Decorate 148(g_tTex3df4) DescriptorSet 0 + Decorate 151(g_tTex3di4) DescriptorSet 0 + Decorate 154(g_tTex3du4) DescriptorSet 0 + Decorate 157(g_tTex1df4a) DescriptorSet 0 + Decorate 160(g_tTex1di4a) DescriptorSet 0 + Decorate 163(g_tTex1du4a) DescriptorSet 0 + Decorate 166(g_tTex2df4a) DescriptorSet 0 + Decorate 169(g_tTex2di4a) DescriptorSet 0 + Decorate 172(g_tTex2du4a) DescriptorSet 0 + Decorate 175(g_tTexcdf4a) DescriptorSet 0 + Decorate 178(g_tTexcdi4a) DescriptorSet 0 + Decorate 181(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -492,48 +511,46 @@ gl_FragCoord origin is upper left 132: 126(fvec4) ConstantComposite 131 131 131 131 133: TypePointer Function 126(fvec4) 135: 25(int) Constant 1 - 137: TypePointer Output 127(PS_OUTPUT) -138(@entryPointOutput): 137(ptr) Variable Output - 141: TypeImage 6(float) 3D sampled format:Unknown - 142: TypePointer UniformConstant 141 - 143(g_tTex3df4): 142(ptr) Variable UniformConstant - 144: TypeImage 25(int) 3D sampled format:Unknown - 145: TypePointer UniformConstant 144 - 146(g_tTex3di4): 145(ptr) Variable UniformConstant - 147: TypeImage 37(int) 3D sampled format:Unknown - 148: TypePointer UniformConstant 147 - 149(g_tTex3du4): 148(ptr) Variable UniformConstant - 150: TypeImage 6(float) 1D array sampled format:Unknown - 151: TypePointer UniformConstant 150 -152(g_tTex1df4a): 151(ptr) Variable UniformConstant - 153: TypeImage 25(int) 1D array sampled format:Unknown - 154: TypePointer UniformConstant 153 -155(g_tTex1di4a): 154(ptr) Variable UniformConstant - 156: TypeImage 37(int) 1D array sampled format:Unknown - 157: TypePointer UniformConstant 156 -158(g_tTex1du4a): 157(ptr) Variable UniformConstant - 159: TypeImage 6(float) 2D array sampled format:Unknown - 160: TypePointer UniformConstant 159 -161(g_tTex2df4a): 160(ptr) Variable UniformConstant - 162: TypeImage 25(int) 2D array sampled format:Unknown - 163: TypePointer UniformConstant 162 -164(g_tTex2di4a): 163(ptr) Variable UniformConstant - 165: TypeImage 37(int) 2D array sampled format:Unknown - 166: TypePointer UniformConstant 165 -167(g_tTex2du4a): 166(ptr) Variable UniformConstant - 168: TypeImage 6(float) Cube array sampled format:Unknown - 169: TypePointer UniformConstant 168 -170(g_tTexcdf4a): 169(ptr) Variable UniformConstant - 171: TypeImage 25(int) Cube array sampled format:Unknown - 172: TypePointer UniformConstant 171 -173(g_tTexcdi4a): 172(ptr) Variable UniformConstant - 174: TypeImage 37(int) Cube array sampled format:Unknown - 175: TypePointer UniformConstant 174 -176(g_tTexcdu4a): 175(ptr) Variable UniformConstant - 177: TypePointer Output 126(fvec4) - 178(Color): 177(ptr) Variable Output - 179: TypePointer Output 6(float) - 180(Depth): 179(ptr) Variable Output + 137: TypePointer Output 126(fvec4) + 138(Color): 137(ptr) Variable Output + 141: TypePointer Output 6(float) + 142(Depth): 141(ptr) Variable Output + 146: TypeImage 6(float) 3D sampled format:Unknown + 147: TypePointer UniformConstant 146 + 148(g_tTex3df4): 147(ptr) Variable UniformConstant + 149: TypeImage 25(int) 3D sampled format:Unknown + 150: TypePointer UniformConstant 149 + 151(g_tTex3di4): 150(ptr) Variable UniformConstant + 152: TypeImage 37(int) 3D sampled format:Unknown + 153: TypePointer UniformConstant 152 + 154(g_tTex3du4): 153(ptr) Variable UniformConstant + 155: TypeImage 6(float) 1D array sampled format:Unknown + 156: TypePointer UniformConstant 155 +157(g_tTex1df4a): 156(ptr) Variable UniformConstant + 158: TypeImage 25(int) 1D array sampled format:Unknown + 159: TypePointer UniformConstant 158 +160(g_tTex1di4a): 159(ptr) Variable UniformConstant + 161: TypeImage 37(int) 1D array sampled format:Unknown + 162: TypePointer UniformConstant 161 +163(g_tTex1du4a): 162(ptr) Variable UniformConstant + 164: TypeImage 6(float) 2D array sampled format:Unknown + 165: TypePointer UniformConstant 164 +166(g_tTex2df4a): 165(ptr) Variable UniformConstant + 167: TypeImage 25(int) 2D array sampled format:Unknown + 168: TypePointer UniformConstant 167 +169(g_tTex2di4a): 168(ptr) Variable UniformConstant + 170: TypeImage 37(int) 2D array sampled format:Unknown + 171: TypePointer UniformConstant 170 +172(g_tTex2du4a): 171(ptr) Variable UniformConstant + 173: TypeImage 6(float) Cube array sampled format:Unknown + 174: TypePointer UniformConstant 173 +175(g_tTexcdf4a): 174(ptr) Variable UniformConstant + 176: TypeImage 25(int) Cube array sampled format:Unknown + 177: TypePointer UniformConstant 176 +178(g_tTexcdi4a): 177(ptr) Variable UniformConstant + 179: TypeImage 37(int) Cube array sampled format:Unknown + 180: TypePointer UniformConstant 179 +181(g_tTexcdu4a): 180(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r00): 7(ptr) Variable Function @@ -610,7 +627,11 @@ gl_FragCoord origin is upper left Store 134 132 136: 7(ptr) AccessChain 129(psout) 135 Store 136 131 - 139:127(PS_OUTPUT) Load 129(psout) - Store 138(@entryPointOutput) 139 + 139: 133(ptr) AccessChain 129(psout) 130 + 140: 126(fvec4) Load 139 + Store 138(Color) 140 + 143: 7(ptr) AccessChain 129(psout) 135 + 144: 6(float) Load 143 + Store 142(Depth) 144 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out index fa3904e..b069356 100644 --- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out @@ -112,10 +112,20 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Sequence -0:65 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:65 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:65 Color: direct index for structure (temp 4-component vector of float) +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Constant: +0:65 0 (const int) +0:65 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:65 Depth: direct index for structure (temp float FragDepth) +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Constant: +0:65 1 (const int) 0:65 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -260,10 +270,20 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Sequence -0:65 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:65 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:65 Color: direct index for structure (temp 4-component vector of float) +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Constant: +0:65 0 (const int) +0:65 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:65 Depth: direct index for structure (temp float FragDepth) +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Constant: +0:65 1 (const int) 0:65 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -293,14 +313,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 155 +// Id's are bound by 156 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 103 152 154 + EntryPoint Fragment 4 "main" 103 107 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r01" @@ -320,24 +340,23 @@ gl_FragCoord origin is upper left MemberName 92(PS_OUTPUT) 0 "Color" MemberName 92(PS_OUTPUT) 1 "Depth" Name 94 "psout" - Name 103 "@entryPointOutput" - Name 108 "g_tTex3df4" - Name 111 "g_tTex3di4" - Name 114 "g_tTex3du4" - Name 117 "g_tTexcdf4" - Name 120 "g_tTexcdi4" - Name 123 "g_tTexcdu4" - Name 126 "g_tTex1df4a" - Name 129 "g_tTex1di4a" - Name 132 "g_tTex1du4a" - Name 135 "g_tTex2df4a" - Name 138 "g_tTex2di4a" - Name 141 "g_tTex2du4a" - Name 144 "g_tTexcdf4a" - Name 147 "g_tTexcdi4a" - Name 150 "g_tTexcdu4a" - Name 152 "Color" - Name 154 "Depth" + Name 103 "Color" + Name 107 "Depth" + Name 113 "g_tTex3df4" + Name 116 "g_tTex3di4" + Name 119 "g_tTex3du4" + Name 122 "g_tTexcdf4" + Name 125 "g_tTexcdi4" + Name 128 "g_tTexcdu4" + Name 131 "g_tTex1df4a" + Name 134 "g_tTex1di4a" + Name 137 "g_tTex1du4a" + Name 140 "g_tTex2df4a" + Name 143 "g_tTex2di4a" + Name 146 "g_tTex2du4a" + Name 149 "g_tTexcdf4a" + Name 152 "g_tTexcdi4a" + Name 155 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 11(g_tTex1df4) Binding 0 Decorate 15(g_sSamp) DescriptorSet 0 @@ -348,23 +367,23 @@ gl_FragCoord origin is upper left Decorate 70(g_tTex2di4) DescriptorSet 0 Decorate 82(g_tTex2du4) DescriptorSet 0 MemberDecorate 92(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 108(g_tTex3df4) DescriptorSet 0 - Decorate 111(g_tTex3di4) DescriptorSet 0 - Decorate 114(g_tTex3du4) DescriptorSet 0 - Decorate 117(g_tTexcdf4) DescriptorSet 0 - Decorate 120(g_tTexcdi4) DescriptorSet 0 - Decorate 123(g_tTexcdu4) DescriptorSet 0 - Decorate 126(g_tTex1df4a) DescriptorSet 0 - Decorate 129(g_tTex1di4a) DescriptorSet 0 - Decorate 132(g_tTex1du4a) DescriptorSet 0 - Decorate 135(g_tTex2df4a) DescriptorSet 0 - Decorate 138(g_tTex2di4a) DescriptorSet 0 - Decorate 141(g_tTex2du4a) DescriptorSet 0 - Decorate 144(g_tTexcdf4a) DescriptorSet 0 - Decorate 147(g_tTexcdi4a) DescriptorSet 0 - Decorate 150(g_tTexcdu4a) DescriptorSet 0 - Decorate 152(Color) Location 0 - Decorate 154(Depth) BuiltIn FragDepth + Decorate 103(Color) Location 0 + Decorate 107(Depth) BuiltIn FragDepth + Decorate 113(g_tTex3df4) DescriptorSet 0 + Decorate 116(g_tTex3di4) DescriptorSet 0 + Decorate 119(g_tTex3du4) DescriptorSet 0 + Decorate 122(g_tTexcdf4) DescriptorSet 0 + Decorate 125(g_tTexcdi4) DescriptorSet 0 + Decorate 128(g_tTexcdu4) DescriptorSet 0 + Decorate 131(g_tTex1df4a) DescriptorSet 0 + Decorate 134(g_tTex1di4a) DescriptorSet 0 + Decorate 137(g_tTex1du4a) DescriptorSet 0 + Decorate 140(g_tTex2df4a) DescriptorSet 0 + Decorate 143(g_tTex2di4a) DescriptorSet 0 + Decorate 146(g_tTex2du4a) DescriptorSet 0 + Decorate 149(g_tTexcdf4a) DescriptorSet 0 + Decorate 152(g_tTexcdi4a) DescriptorSet 0 + Decorate 155(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -421,57 +440,55 @@ gl_FragCoord origin is upper left 97: 91(fvec4) ConstantComposite 96 96 96 96 98: TypePointer Function 91(fvec4) 100: 22(int) Constant 1 - 102: TypePointer Output 92(PS_OUTPUT) -103(@entryPointOutput): 102(ptr) Variable Output - 106: TypeImage 6(float) 3D sampled format:Unknown - 107: TypePointer UniformConstant 106 - 108(g_tTex3df4): 107(ptr) Variable UniformConstant - 109: TypeImage 22(int) 3D sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTex3di4): 110(ptr) Variable UniformConstant - 112: TypeImage 38(int) 3D sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTex3du4): 113(ptr) Variable UniformConstant - 115: TypeImage 6(float) Cube sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTexcdf4): 116(ptr) Variable UniformConstant - 118: TypeImage 22(int) Cube sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTexcdi4): 119(ptr) Variable UniformConstant - 121: TypeImage 38(int) Cube sampled format:Unknown - 122: TypePointer UniformConstant 121 - 123(g_tTexcdu4): 122(ptr) Variable UniformConstant - 124: TypeImage 6(float) 1D array sampled format:Unknown - 125: TypePointer UniformConstant 124 -126(g_tTex1df4a): 125(ptr) Variable UniformConstant - 127: TypeImage 22(int) 1D array sampled format:Unknown - 128: TypePointer UniformConstant 127 -129(g_tTex1di4a): 128(ptr) Variable UniformConstant - 130: TypeImage 38(int) 1D array sampled format:Unknown - 131: TypePointer UniformConstant 130 -132(g_tTex1du4a): 131(ptr) Variable UniformConstant - 133: TypeImage 6(float) 2D array sampled format:Unknown - 134: TypePointer UniformConstant 133 -135(g_tTex2df4a): 134(ptr) Variable UniformConstant - 136: TypeImage 22(int) 2D array sampled format:Unknown - 137: TypePointer UniformConstant 136 -138(g_tTex2di4a): 137(ptr) Variable UniformConstant - 139: TypeImage 38(int) 2D array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTex2du4a): 140(ptr) Variable UniformConstant - 142: TypeImage 6(float) Cube array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTexcdf4a): 143(ptr) Variable UniformConstant - 145: TypeImage 22(int) Cube array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTexcdi4a): 146(ptr) Variable UniformConstant - 148: TypeImage 38(int) Cube array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTexcdu4a): 149(ptr) Variable UniformConstant - 151: TypePointer Output 91(fvec4) - 152(Color): 151(ptr) Variable Output - 153: TypePointer Output 6(float) - 154(Depth): 153(ptr) Variable Output + 102: TypePointer Output 91(fvec4) + 103(Color): 102(ptr) Variable Output + 106: TypePointer Output 6(float) + 107(Depth): 106(ptr) Variable Output + 111: TypeImage 6(float) 3D sampled format:Unknown + 112: TypePointer UniformConstant 111 + 113(g_tTex3df4): 112(ptr) Variable UniformConstant + 114: TypeImage 22(int) 3D sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTex3di4): 115(ptr) Variable UniformConstant + 117: TypeImage 38(int) 3D sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTex3du4): 118(ptr) Variable UniformConstant + 120: TypeImage 6(float) Cube sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTexcdf4): 121(ptr) Variable UniformConstant + 123: TypeImage 22(int) Cube sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTexcdi4): 124(ptr) Variable UniformConstant + 126: TypeImage 38(int) Cube sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTexcdu4): 127(ptr) Variable UniformConstant + 129: TypeImage 6(float) 1D array sampled format:Unknown + 130: TypePointer UniformConstant 129 +131(g_tTex1df4a): 130(ptr) Variable UniformConstant + 132: TypeImage 22(int) 1D array sampled format:Unknown + 133: TypePointer UniformConstant 132 +134(g_tTex1di4a): 133(ptr) Variable UniformConstant + 135: TypeImage 38(int) 1D array sampled format:Unknown + 136: TypePointer UniformConstant 135 +137(g_tTex1du4a): 136(ptr) Variable UniformConstant + 138: TypeImage 6(float) 2D array sampled format:Unknown + 139: TypePointer UniformConstant 138 +140(g_tTex2df4a): 139(ptr) Variable UniformConstant + 141: TypeImage 22(int) 2D array sampled format:Unknown + 142: TypePointer UniformConstant 141 +143(g_tTex2di4a): 142(ptr) Variable UniformConstant + 144: TypeImage 38(int) 2D array sampled format:Unknown + 145: TypePointer UniformConstant 144 +146(g_tTex2du4a): 145(ptr) Variable UniformConstant + 147: TypeImage 6(float) Cube array sampled format:Unknown + 148: TypePointer UniformConstant 147 +149(g_tTexcdf4a): 148(ptr) Variable UniformConstant + 150: TypeImage 22(int) Cube array sampled format:Unknown + 151: TypePointer UniformConstant 150 +152(g_tTexcdi4a): 151(ptr) Variable UniformConstant + 153: TypeImage 38(int) Cube array sampled format:Unknown + 154: TypePointer UniformConstant 153 +155(g_tTexcdu4a): 154(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r01): 7(ptr) Variable Function @@ -524,7 +541,11 @@ gl_FragCoord origin is upper left Store 99 97 101: 7(ptr) AccessChain 94(psout) 100 Store 101 96 - 104:92(PS_OUTPUT) Load 94(psout) - Store 103(@entryPointOutput) 104 + 104: 98(ptr) AccessChain 94(psout) 95 + 105: 91(fvec4) Load 104 + Store 103(Color) 105 + 108: 7(ptr) AccessChain 94(psout) 100 + 109: 6(float) Load 108 + Store 107(Depth) 109 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out index ba41364..caa2b2c 100644 --- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out @@ -118,10 +118,20 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Sequence -0:66 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:66 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:66 Color: direct index for structure (temp 4-component vector of float) +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Constant: +0:66 0 (const int) +0:66 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:66 Depth: direct index for structure (temp float FragDepth) +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Constant: +0:66 1 (const int) 0:66 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -272,10 +282,20 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Sequence -0:66 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:66 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:66 Color: direct index for structure (temp 4-component vector of float) +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Constant: +0:66 0 (const int) +0:66 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:66 Depth: direct index for structure (temp float FragDepth) +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Constant: +0:66 1 (const int) 0:66 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -305,14 +325,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 161 +// Id's are bound by 162 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 109 158 160 + EntryPoint Fragment 4 "main" 109 113 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r11" @@ -332,24 +352,23 @@ gl_FragCoord origin is upper left MemberName 98(PS_OUTPUT) 0 "Color" MemberName 98(PS_OUTPUT) 1 "Depth" Name 100 "psout" - Name 109 "@entryPointOutput" - Name 114 "g_tTex1df4" - Name 117 "g_tTex1di4" - Name 120 "g_tTex1du4" - Name 123 "g_tTex2df4" - Name 126 "g_tTex2di4" - Name 129 "g_tTex2du4" - Name 132 "g_tTex3df4" - Name 135 "g_tTex3di4" - Name 138 "g_tTex3du4" - Name 141 "g_tTexcdf4" - Name 144 "g_tTexcdi4" - Name 147 "g_tTexcdu4" - Name 150 "g_tTexcdf4a" - Name 153 "g_tTexcdi4a" - Name 156 "g_tTexcdu4a" - Name 158 "Color" - Name 160 "Depth" + Name 109 "Color" + Name 113 "Depth" + Name 119 "g_tTex1df4" + Name 122 "g_tTex1di4" + Name 125 "g_tTex1du4" + Name 128 "g_tTex2df4" + Name 131 "g_tTex2di4" + Name 134 "g_tTex2du4" + Name 137 "g_tTex3df4" + Name 140 "g_tTex3di4" + Name 143 "g_tTex3du4" + Name 146 "g_tTexcdf4" + Name 149 "g_tTexcdi4" + Name 152 "g_tTexcdu4" + Name 155 "g_tTexcdf4a" + Name 158 "g_tTexcdi4a" + Name 161 "g_tTexcdu4a" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 @@ -359,24 +378,24 @@ gl_FragCoord origin is upper left Decorate 76(g_tTex2di4a) DescriptorSet 0 Decorate 88(g_tTex2du4a) DescriptorSet 0 MemberDecorate 98(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 114(g_tTex1df4) DescriptorSet 0 - Decorate 114(g_tTex1df4) Binding 0 - Decorate 117(g_tTex1di4) DescriptorSet 0 - Decorate 120(g_tTex1du4) DescriptorSet 0 - Decorate 123(g_tTex2df4) DescriptorSet 0 - Decorate 126(g_tTex2di4) DescriptorSet 0 - Decorate 129(g_tTex2du4) DescriptorSet 0 - Decorate 132(g_tTex3df4) DescriptorSet 0 - Decorate 135(g_tTex3di4) DescriptorSet 0 - Decorate 138(g_tTex3du4) DescriptorSet 0 - Decorate 141(g_tTexcdf4) DescriptorSet 0 - Decorate 144(g_tTexcdi4) DescriptorSet 0 - Decorate 147(g_tTexcdu4) DescriptorSet 0 - Decorate 150(g_tTexcdf4a) DescriptorSet 0 - Decorate 153(g_tTexcdi4a) DescriptorSet 0 - Decorate 156(g_tTexcdu4a) DescriptorSet 0 - Decorate 158(Color) Location 0 - Decorate 160(Depth) BuiltIn FragDepth + Decorate 109(Color) Location 0 + Decorate 113(Depth) BuiltIn FragDepth + Decorate 119(g_tTex1df4) DescriptorSet 0 + Decorate 119(g_tTex1df4) Binding 0 + Decorate 122(g_tTex1di4) DescriptorSet 0 + Decorate 125(g_tTex1du4) DescriptorSet 0 + Decorate 128(g_tTex2df4) DescriptorSet 0 + Decorate 131(g_tTex2di4) DescriptorSet 0 + Decorate 134(g_tTex2du4) DescriptorSet 0 + Decorate 137(g_tTex3df4) DescriptorSet 0 + Decorate 140(g_tTex3di4) DescriptorSet 0 + Decorate 143(g_tTex3du4) DescriptorSet 0 + Decorate 146(g_tTexcdf4) DescriptorSet 0 + Decorate 149(g_tTexcdi4) DescriptorSet 0 + Decorate 152(g_tTexcdu4) DescriptorSet 0 + Decorate 155(g_tTexcdf4a) DescriptorSet 0 + Decorate 158(g_tTexcdi4a) DescriptorSet 0 + Decorate 161(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -436,57 +455,55 @@ gl_FragCoord origin is upper left 103: 97(fvec4) ConstantComposite 102 102 102 102 104: TypePointer Function 97(fvec4) 106: 26(int) Constant 1 - 108: TypePointer Output 98(PS_OUTPUT) -109(@entryPointOutput): 108(ptr) Variable Output - 112: TypeImage 6(float) 1D sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTex1df4): 113(ptr) Variable UniformConstant - 115: TypeImage 26(int) 1D sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTex1di4): 116(ptr) Variable UniformConstant - 118: TypeImage 43(int) 1D sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTex1du4): 119(ptr) Variable UniformConstant - 121: TypeImage 6(float) 2D sampled format:Unknown - 122: TypePointer UniformConstant 121 - 123(g_tTex2df4): 122(ptr) Variable UniformConstant - 124: TypeImage 26(int) 2D sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTex2di4): 125(ptr) Variable UniformConstant - 127: TypeImage 43(int) 2D sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTex2du4): 128(ptr) Variable UniformConstant - 130: TypeImage 6(float) 3D sampled format:Unknown - 131: TypePointer UniformConstant 130 - 132(g_tTex3df4): 131(ptr) Variable UniformConstant - 133: TypeImage 26(int) 3D sampled format:Unknown - 134: TypePointer UniformConstant 133 - 135(g_tTex3di4): 134(ptr) Variable UniformConstant - 136: TypeImage 43(int) 3D sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTex3du4): 137(ptr) Variable UniformConstant - 139: TypeImage 6(float) Cube sampled format:Unknown - 140: TypePointer UniformConstant 139 - 141(g_tTexcdf4): 140(ptr) Variable UniformConstant - 142: TypeImage 26(int) Cube sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTexcdi4): 143(ptr) Variable UniformConstant - 145: TypeImage 43(int) Cube sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTexcdu4): 146(ptr) Variable UniformConstant - 148: TypeImage 6(float) Cube array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTexcdf4a): 149(ptr) Variable UniformConstant - 151: TypeImage 26(int) Cube array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTexcdi4a): 152(ptr) Variable UniformConstant - 154: TypeImage 43(int) Cube array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTexcdu4a): 155(ptr) Variable UniformConstant - 157: TypePointer Output 97(fvec4) - 158(Color): 157(ptr) Variable Output - 159: TypePointer Output 6(float) - 160(Depth): 159(ptr) Variable Output + 108: TypePointer Output 97(fvec4) + 109(Color): 108(ptr) Variable Output + 112: TypePointer Output 6(float) + 113(Depth): 112(ptr) Variable Output + 117: TypeImage 6(float) 1D sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTex1df4): 118(ptr) Variable UniformConstant + 120: TypeImage 26(int) 1D sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTex1di4): 121(ptr) Variable UniformConstant + 123: TypeImage 43(int) 1D sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTex1du4): 124(ptr) Variable UniformConstant + 126: TypeImage 6(float) 2D sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTex2df4): 127(ptr) Variable UniformConstant + 129: TypeImage 26(int) 2D sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTex2di4): 130(ptr) Variable UniformConstant + 132: TypeImage 43(int) 2D sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTex2du4): 133(ptr) Variable UniformConstant + 135: TypeImage 6(float) 3D sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTex3df4): 136(ptr) Variable UniformConstant + 138: TypeImage 26(int) 3D sampled format:Unknown + 139: TypePointer UniformConstant 138 + 140(g_tTex3di4): 139(ptr) Variable UniformConstant + 141: TypeImage 43(int) 3D sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTex3du4): 142(ptr) Variable UniformConstant + 144: TypeImage 6(float) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdf4): 145(ptr) Variable UniformConstant + 147: TypeImage 26(int) Cube sampled format:Unknown + 148: TypePointer UniformConstant 147 + 149(g_tTexcdi4): 148(ptr) Variable UniformConstant + 150: TypeImage 43(int) Cube sampled format:Unknown + 151: TypePointer UniformConstant 150 + 152(g_tTexcdu4): 151(ptr) Variable UniformConstant + 153: TypeImage 6(float) Cube array sampled format:Unknown + 154: TypePointer UniformConstant 153 +155(g_tTexcdf4a): 154(ptr) Variable UniformConstant + 156: TypeImage 26(int) Cube array sampled format:Unknown + 157: TypePointer UniformConstant 156 +158(g_tTexcdi4a): 157(ptr) Variable UniformConstant + 159: TypeImage 43(int) Cube array sampled format:Unknown + 160: TypePointer UniformConstant 159 +161(g_tTexcdu4a): 160(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r11): 7(ptr) Variable Function @@ -542,7 +559,11 @@ gl_FragCoord origin is upper left Store 105 103 107: 7(ptr) AccessChain 100(psout) 106 Store 107 102 - 110:98(PS_OUTPUT) Load 100(psout) - Store 109(@entryPointOutput) 110 + 110: 104(ptr) AccessChain 100(psout) 101 + 111: 97(fvec4) Load 110 + Store 109(Color) 111 + 114: 7(ptr) AccessChain 100(psout) 106 + 115: 6(float) Load 114 + Store 113(Depth) 115 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out index f8049ba..0702b24 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out @@ -166,10 +166,20 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Sequence -0:59 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:59 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:59 Color: direct index for structure (temp 4-component vector of float) +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Constant: +0:59 0 (const int) +0:59 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:59 Depth: direct index for structure (temp float FragDepth) +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Constant: +0:59 1 (const int) 0:59 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -368,10 +378,20 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Sequence -0:59 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:59 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:59 Color: direct index for structure (temp 4-component vector of float) +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Constant: +0:59 0 (const int) +0:59 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:59 Depth: direct index for structure (temp float FragDepth) +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Constant: +0:59 1 (const int) 0:59 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -401,14 +421,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 184 +// Id's are bound by 185 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 141 181 183 + EntryPoint Fragment 4 "main" 141 145 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r10" @@ -434,21 +454,20 @@ gl_FragCoord origin is upper left MemberName 130(PS_OUTPUT) 0 "Color" MemberName 130(PS_OUTPUT) 1 "Depth" Name 132 "psout" - Name 141 "@entryPointOutput" - Name 146 "g_tTex1df4" - Name 149 "g_tTex1di4" - Name 152 "g_tTex1du4" - Name 155 "g_tTex2df4" - Name 158 "g_tTex2di4" - Name 161 "g_tTex2du4" - Name 164 "g_tTex3df4" - Name 167 "g_tTex3di4" - Name 170 "g_tTex3du4" - Name 173 "g_tTexcdf4" - Name 176 "g_tTexcdi4" - Name 179 "g_tTexcdu4" - Name 181 "Color" - Name 183 "Depth" + Name 141 "Color" + Name 145 "Depth" + Name 151 "g_tTex1df4" + Name 154 "g_tTex1di4" + Name 157 "g_tTex1du4" + Name 160 "g_tTex2df4" + Name 163 "g_tTex2di4" + Name 166 "g_tTex2du4" + Name 169 "g_tTex3df4" + Name 172 "g_tTex3di4" + Name 175 "g_tTex3du4" + Name 178 "g_tTexcdf4" + Name 181 "g_tTexcdi4" + Name 184 "g_tTexcdu4" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 @@ -461,21 +480,21 @@ gl_FragCoord origin is upper left Decorate 111(g_tTexcdi4a) DescriptorSet 0 Decorate 122(g_tTexcdu4a) DescriptorSet 0 MemberDecorate 130(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 146(g_tTex1df4) DescriptorSet 0 - Decorate 146(g_tTex1df4) Binding 0 - Decorate 149(g_tTex1di4) DescriptorSet 0 - Decorate 152(g_tTex1du4) DescriptorSet 0 - Decorate 155(g_tTex2df4) DescriptorSet 0 - Decorate 158(g_tTex2di4) DescriptorSet 0 - Decorate 161(g_tTex2du4) DescriptorSet 0 - Decorate 164(g_tTex3df4) DescriptorSet 0 - Decorate 167(g_tTex3di4) DescriptorSet 0 - Decorate 170(g_tTex3du4) DescriptorSet 0 - Decorate 173(g_tTexcdf4) DescriptorSet 0 - Decorate 176(g_tTexcdi4) DescriptorSet 0 - Decorate 179(g_tTexcdu4) DescriptorSet 0 - Decorate 181(Color) Location 0 - Decorate 183(Depth) BuiltIn FragDepth + Decorate 141(Color) Location 0 + Decorate 145(Depth) BuiltIn FragDepth + Decorate 151(g_tTex1df4) DescriptorSet 0 + Decorate 151(g_tTex1df4) Binding 0 + Decorate 154(g_tTex1di4) DescriptorSet 0 + Decorate 157(g_tTex1du4) DescriptorSet 0 + Decorate 160(g_tTex2df4) DescriptorSet 0 + Decorate 163(g_tTex2di4) DescriptorSet 0 + Decorate 166(g_tTex2du4) DescriptorSet 0 + Decorate 169(g_tTex3df4) DescriptorSet 0 + Decorate 172(g_tTex3di4) DescriptorSet 0 + Decorate 175(g_tTex3du4) DescriptorSet 0 + Decorate 178(g_tTexcdf4) DescriptorSet 0 + Decorate 181(g_tTexcdi4) DescriptorSet 0 + Decorate 184(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -549,48 +568,46 @@ gl_FragCoord origin is upper left 135: 103(fvec4) ConstantComposite 134 134 134 134 136: TypePointer Function 103(fvec4) 138: 30(int) Constant 1 - 140: TypePointer Output 130(PS_OUTPUT) -141(@entryPointOutput): 140(ptr) Variable Output - 144: TypeImage 6(float) 1D sampled format:Unknown - 145: TypePointer UniformConstant 144 - 146(g_tTex1df4): 145(ptr) Variable UniformConstant - 147: TypeImage 30(int) 1D sampled format:Unknown - 148: TypePointer UniformConstant 147 - 149(g_tTex1di4): 148(ptr) Variable UniformConstant - 150: TypeImage 43(int) 1D sampled format:Unknown - 151: TypePointer UniformConstant 150 - 152(g_tTex1du4): 151(ptr) Variable UniformConstant - 153: TypeImage 6(float) 2D sampled format:Unknown - 154: TypePointer UniformConstant 153 - 155(g_tTex2df4): 154(ptr) Variable UniformConstant - 156: TypeImage 30(int) 2D sampled format:Unknown - 157: TypePointer UniformConstant 156 - 158(g_tTex2di4): 157(ptr) Variable UniformConstant - 159: TypeImage 43(int) 2D sampled format:Unknown - 160: TypePointer UniformConstant 159 - 161(g_tTex2du4): 160(ptr) Variable UniformConstant - 162: TypeImage 6(float) 3D sampled format:Unknown - 163: TypePointer UniformConstant 162 - 164(g_tTex3df4): 163(ptr) Variable UniformConstant - 165: TypeImage 30(int) 3D sampled format:Unknown - 166: TypePointer UniformConstant 165 - 167(g_tTex3di4): 166(ptr) Variable UniformConstant - 168: TypeImage 43(int) 3D sampled format:Unknown - 169: TypePointer UniformConstant 168 - 170(g_tTex3du4): 169(ptr) Variable UniformConstant - 171: TypeImage 6(float) Cube sampled format:Unknown - 172: TypePointer UniformConstant 171 - 173(g_tTexcdf4): 172(ptr) Variable UniformConstant - 174: TypeImage 30(int) Cube sampled format:Unknown - 175: TypePointer UniformConstant 174 - 176(g_tTexcdi4): 175(ptr) Variable UniformConstant - 177: TypeImage 43(int) Cube sampled format:Unknown - 178: TypePointer UniformConstant 177 - 179(g_tTexcdu4): 178(ptr) Variable UniformConstant - 180: TypePointer Output 103(fvec4) - 181(Color): 180(ptr) Variable Output - 182: TypePointer Output 6(float) - 183(Depth): 182(ptr) Variable Output + 140: TypePointer Output 103(fvec4) + 141(Color): 140(ptr) Variable Output + 144: TypePointer Output 6(float) + 145(Depth): 144(ptr) Variable Output + 149: TypeImage 6(float) 1D sampled format:Unknown + 150: TypePointer UniformConstant 149 + 151(g_tTex1df4): 150(ptr) Variable UniformConstant + 152: TypeImage 30(int) 1D sampled format:Unknown + 153: TypePointer UniformConstant 152 + 154(g_tTex1di4): 153(ptr) Variable UniformConstant + 155: TypeImage 43(int) 1D sampled format:Unknown + 156: TypePointer UniformConstant 155 + 157(g_tTex1du4): 156(ptr) Variable UniformConstant + 158: TypeImage 6(float) 2D sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160(g_tTex2df4): 159(ptr) Variable UniformConstant + 161: TypeImage 30(int) 2D sampled format:Unknown + 162: TypePointer UniformConstant 161 + 163(g_tTex2di4): 162(ptr) Variable UniformConstant + 164: TypeImage 43(int) 2D sampled format:Unknown + 165: TypePointer UniformConstant 164 + 166(g_tTex2du4): 165(ptr) Variable UniformConstant + 167: TypeImage 6(float) 3D sampled format:Unknown + 168: TypePointer UniformConstant 167 + 169(g_tTex3df4): 168(ptr) Variable UniformConstant + 170: TypeImage 30(int) 3D sampled format:Unknown + 171: TypePointer UniformConstant 170 + 172(g_tTex3di4): 171(ptr) Variable UniformConstant + 173: TypeImage 43(int) 3D sampled format:Unknown + 174: TypePointer UniformConstant 173 + 175(g_tTex3du4): 174(ptr) Variable UniformConstant + 176: TypeImage 6(float) Cube sampled format:Unknown + 177: TypePointer UniformConstant 176 + 178(g_tTexcdf4): 177(ptr) Variable UniformConstant + 179: TypeImage 30(int) Cube sampled format:Unknown + 180: TypePointer UniformConstant 179 + 181(g_tTexcdi4): 180(ptr) Variable UniformConstant + 182: TypeImage 43(int) Cube sampled format:Unknown + 183: TypePointer UniformConstant 182 + 184(g_tTexcdu4): 183(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r10): 7(ptr) Variable Function @@ -667,7 +684,11 @@ gl_FragCoord origin is upper left Store 137 135 139: 7(ptr) AccessChain 132(psout) 138 Store 139 134 - 142:130(PS_OUTPUT) Load 132(psout) - Store 141(@entryPointOutput) 142 + 142: 136(ptr) AccessChain 132(psout) 133 + 143: 103(fvec4) Load 142 + Store 141(Color) 143 + 146: 7(ptr) AccessChain 132(psout) 138 + 147: 6(float) Load 146 + Store 145(Depth) 147 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out index 10ae1b7..705e283 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out @@ -157,10 +157,20 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Sequence -0:60 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:60 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:60 Color: direct index for structure (temp 4-component vector of float) +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Constant: +0:60 0 (const int) +0:60 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:60 Depth: direct index for structure (temp float FragDepth) +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Constant: +0:60 1 (const int) 0:60 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -350,10 +360,20 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Sequence -0:60 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:60 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:60 Color: direct index for structure (temp 4-component vector of float) +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Constant: +0:60 0 (const int) +0:60 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:60 Depth: direct index for structure (temp float FragDepth) +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Constant: +0:60 1 (const int) 0:60 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -383,14 +403,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 182 +// Id's are bound by 183 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 139 179 181 + EntryPoint Fragment 4 "main" 139 143 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r00" @@ -416,21 +436,20 @@ gl_FragCoord origin is upper left MemberName 128(PS_OUTPUT) 0 "Color" MemberName 128(PS_OUTPUT) 1 "Depth" Name 130 "psout" - Name 139 "@entryPointOutput" - Name 144 "g_tTex3df4" - Name 147 "g_tTex3di4" - Name 150 "g_tTex3du4" - Name 153 "g_tTex1df4a" - Name 156 "g_tTex1di4a" - Name 159 "g_tTex1du4a" - Name 162 "g_tTex2df4a" - Name 165 "g_tTex2di4a" - Name 168 "g_tTex2du4a" - Name 171 "g_tTexcdf4a" - Name 174 "g_tTexcdi4a" - Name 177 "g_tTexcdu4a" - Name 179 "Color" - Name 181 "Depth" + Name 139 "Color" + Name 143 "Depth" + Name 149 "g_tTex3df4" + Name 152 "g_tTex3di4" + Name 155 "g_tTex3du4" + Name 158 "g_tTex1df4a" + Name 161 "g_tTex1di4a" + Name 164 "g_tTex1du4a" + Name 167 "g_tTex2df4a" + Name 170 "g_tTex2di4a" + Name 173 "g_tTex2du4a" + Name 176 "g_tTexcdf4a" + Name 179 "g_tTexcdi4a" + Name 182 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 11(g_tTex1df4) Binding 0 Decorate 15(g_sSamp) DescriptorSet 0 @@ -444,20 +463,20 @@ gl_FragCoord origin is upper left Decorate 106(g_tTexcdi4) DescriptorSet 0 Decorate 118(g_tTexcdu4) DescriptorSet 0 MemberDecorate 128(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 144(g_tTex3df4) DescriptorSet 0 - Decorate 147(g_tTex3di4) DescriptorSet 0 - Decorate 150(g_tTex3du4) DescriptorSet 0 - Decorate 153(g_tTex1df4a) DescriptorSet 0 - Decorate 156(g_tTex1di4a) DescriptorSet 0 - Decorate 159(g_tTex1du4a) DescriptorSet 0 - Decorate 162(g_tTex2df4a) DescriptorSet 0 - Decorate 165(g_tTex2di4a) DescriptorSet 0 - Decorate 168(g_tTex2du4a) DescriptorSet 0 - Decorate 171(g_tTexcdf4a) DescriptorSet 0 - Decorate 174(g_tTexcdi4a) DescriptorSet 0 - Decorate 177(g_tTexcdu4a) DescriptorSet 0 - Decorate 179(Color) Location 0 - Decorate 181(Depth) BuiltIn FragDepth + Decorate 139(Color) Location 0 + Decorate 143(Depth) BuiltIn FragDepth + Decorate 149(g_tTex3df4) DescriptorSet 0 + Decorate 152(g_tTex3di4) DescriptorSet 0 + Decorate 155(g_tTex3du4) DescriptorSet 0 + Decorate 158(g_tTex1df4a) DescriptorSet 0 + Decorate 161(g_tTex1di4a) DescriptorSet 0 + Decorate 164(g_tTex1du4a) DescriptorSet 0 + Decorate 167(g_tTex2df4a) DescriptorSet 0 + Decorate 170(g_tTex2di4a) DescriptorSet 0 + Decorate 173(g_tTex2du4a) DescriptorSet 0 + Decorate 176(g_tTexcdf4a) DescriptorSet 0 + Decorate 179(g_tTexcdi4a) DescriptorSet 0 + Decorate 182(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -529,48 +548,46 @@ gl_FragCoord origin is upper left 133: 127(fvec4) ConstantComposite 132 132 132 132 134: TypePointer Function 127(fvec4) 136: 26(int) Constant 1 - 138: TypePointer Output 128(PS_OUTPUT) -139(@entryPointOutput): 138(ptr) Variable Output - 142: TypeImage 6(float) 3D sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTex3df4): 143(ptr) Variable UniformConstant - 145: TypeImage 26(int) 3D sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTex3di4): 146(ptr) Variable UniformConstant - 148: TypeImage 38(int) 3D sampled format:Unknown - 149: TypePointer UniformConstant 148 - 150(g_tTex3du4): 149(ptr) Variable UniformConstant - 151: TypeImage 6(float) 1D array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTex1df4a): 152(ptr) Variable UniformConstant - 154: TypeImage 26(int) 1D array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTex1di4a): 155(ptr) Variable UniformConstant - 157: TypeImage 38(int) 1D array sampled format:Unknown - 158: TypePointer UniformConstant 157 -159(g_tTex1du4a): 158(ptr) Variable UniformConstant - 160: TypeImage 6(float) 2D array sampled format:Unknown - 161: TypePointer UniformConstant 160 -162(g_tTex2df4a): 161(ptr) Variable UniformConstant - 163: TypeImage 26(int) 2D array sampled format:Unknown - 164: TypePointer UniformConstant 163 -165(g_tTex2di4a): 164(ptr) Variable UniformConstant - 166: TypeImage 38(int) 2D array sampled format:Unknown - 167: TypePointer UniformConstant 166 -168(g_tTex2du4a): 167(ptr) Variable UniformConstant - 169: TypeImage 6(float) Cube array sampled format:Unknown - 170: TypePointer UniformConstant 169 -171(g_tTexcdf4a): 170(ptr) Variable UniformConstant - 172: TypeImage 26(int) Cube array sampled format:Unknown - 173: TypePointer UniformConstant 172 -174(g_tTexcdi4a): 173(ptr) Variable UniformConstant - 175: TypeImage 38(int) Cube array sampled format:Unknown - 176: TypePointer UniformConstant 175 -177(g_tTexcdu4a): 176(ptr) Variable UniformConstant - 178: TypePointer Output 127(fvec4) - 179(Color): 178(ptr) Variable Output - 180: TypePointer Output 6(float) - 181(Depth): 180(ptr) Variable Output + 138: TypePointer Output 127(fvec4) + 139(Color): 138(ptr) Variable Output + 142: TypePointer Output 6(float) + 143(Depth): 142(ptr) Variable Output + 147: TypeImage 6(float) 3D sampled format:Unknown + 148: TypePointer UniformConstant 147 + 149(g_tTex3df4): 148(ptr) Variable UniformConstant + 150: TypeImage 26(int) 3D sampled format:Unknown + 151: TypePointer UniformConstant 150 + 152(g_tTex3di4): 151(ptr) Variable UniformConstant + 153: TypeImage 38(int) 3D sampled format:Unknown + 154: TypePointer UniformConstant 153 + 155(g_tTex3du4): 154(ptr) Variable UniformConstant + 156: TypeImage 6(float) 1D array sampled format:Unknown + 157: TypePointer UniformConstant 156 +158(g_tTex1df4a): 157(ptr) Variable UniformConstant + 159: TypeImage 26(int) 1D array sampled format:Unknown + 160: TypePointer UniformConstant 159 +161(g_tTex1di4a): 160(ptr) Variable UniformConstant + 162: TypeImage 38(int) 1D array sampled format:Unknown + 163: TypePointer UniformConstant 162 +164(g_tTex1du4a): 163(ptr) Variable UniformConstant + 165: TypeImage 6(float) 2D array sampled format:Unknown + 166: TypePointer UniformConstant 165 +167(g_tTex2df4a): 166(ptr) Variable UniformConstant + 168: TypeImage 26(int) 2D array sampled format:Unknown + 169: TypePointer UniformConstant 168 +170(g_tTex2di4a): 169(ptr) Variable UniformConstant + 171: TypeImage 38(int) 2D array sampled format:Unknown + 172: TypePointer UniformConstant 171 +173(g_tTex2du4a): 172(ptr) Variable UniformConstant + 174: TypeImage 6(float) Cube array sampled format:Unknown + 175: TypePointer UniformConstant 174 +176(g_tTexcdf4a): 175(ptr) Variable UniformConstant + 177: TypeImage 26(int) Cube array sampled format:Unknown + 178: TypePointer UniformConstant 177 +179(g_tTexcdi4a): 178(ptr) Variable UniformConstant + 180: TypeImage 38(int) Cube array sampled format:Unknown + 181: TypePointer UniformConstant 180 +182(g_tTexcdu4a): 181(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r00): 7(ptr) Variable Function @@ -647,7 +664,11 @@ gl_FragCoord origin is upper left Store 135 133 137: 7(ptr) AccessChain 130(psout) 136 Store 137 132 - 140:128(PS_OUTPUT) Load 130(psout) - Store 139(@entryPointOutput) 140 + 140: 134(ptr) AccessChain 130(psout) 131 + 141: 127(fvec4) Load 140 + Store 139(Color) 141 + 144: 7(ptr) AccessChain 130(psout) 136 + 145: 6(float) Load 144 + Store 143(Depth) 145 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out index e744e60..6e7e0fd 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out @@ -124,10 +124,20 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Sequence -0:65 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:65 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:65 Color: direct index for structure (temp 4-component vector of float) +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Constant: +0:65 0 (const int) +0:65 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:65 Depth: direct index for structure (temp float FragDepth) +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Constant: +0:65 1 (const int) 0:65 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -284,10 +294,20 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Sequence -0:65 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:65 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:65 Color: direct index for structure (temp 4-component vector of float) +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Constant: +0:65 0 (const int) +0:65 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:65 Depth: direct index for structure (temp float FragDepth) +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Constant: +0:65 1 (const int) 0:65 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -317,14 +337,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 156 +// Id's are bound by 157 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 104 153 155 + EntryPoint Fragment 4 "main" 104 108 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r01" @@ -344,24 +364,23 @@ gl_FragCoord origin is upper left MemberName 93(PS_OUTPUT) 0 "Color" MemberName 93(PS_OUTPUT) 1 "Depth" Name 95 "psout" - Name 104 "@entryPointOutput" - Name 109 "g_tTex3df4" - Name 112 "g_tTex3di4" - Name 115 "g_tTex3du4" - Name 118 "g_tTexcdf4" - Name 121 "g_tTexcdi4" - Name 124 "g_tTexcdu4" - Name 127 "g_tTex1df4a" - Name 130 "g_tTex1di4a" - Name 133 "g_tTex1du4a" - Name 136 "g_tTex2df4a" - Name 139 "g_tTex2di4a" - Name 142 "g_tTex2du4a" - Name 145 "g_tTexcdf4a" - Name 148 "g_tTexcdi4a" - Name 151 "g_tTexcdu4a" - Name 153 "Color" - Name 155 "Depth" + Name 104 "Color" + Name 108 "Depth" + Name 114 "g_tTex3df4" + Name 117 "g_tTex3di4" + Name 120 "g_tTex3du4" + Name 123 "g_tTexcdf4" + Name 126 "g_tTexcdi4" + Name 129 "g_tTexcdu4" + Name 132 "g_tTex1df4a" + Name 135 "g_tTex1di4a" + Name 138 "g_tTex1du4a" + Name 141 "g_tTex2df4a" + Name 144 "g_tTex2di4a" + Name 147 "g_tTex2du4a" + Name 150 "g_tTexcdf4a" + Name 153 "g_tTexcdi4a" + Name 156 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 11(g_tTex1df4) Binding 0 Decorate 15(g_sSamp) DescriptorSet 0 @@ -372,23 +391,23 @@ gl_FragCoord origin is upper left Decorate 71(g_tTex2di4) DescriptorSet 0 Decorate 83(g_tTex2du4) DescriptorSet 0 MemberDecorate 93(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 109(g_tTex3df4) DescriptorSet 0 - Decorate 112(g_tTex3di4) DescriptorSet 0 - Decorate 115(g_tTex3du4) DescriptorSet 0 - Decorate 118(g_tTexcdf4) DescriptorSet 0 - Decorate 121(g_tTexcdi4) DescriptorSet 0 - Decorate 124(g_tTexcdu4) DescriptorSet 0 - Decorate 127(g_tTex1df4a) DescriptorSet 0 - Decorate 130(g_tTex1di4a) DescriptorSet 0 - Decorate 133(g_tTex1du4a) DescriptorSet 0 - Decorate 136(g_tTex2df4a) DescriptorSet 0 - Decorate 139(g_tTex2di4a) DescriptorSet 0 - Decorate 142(g_tTex2du4a) DescriptorSet 0 - Decorate 145(g_tTexcdf4a) DescriptorSet 0 - Decorate 148(g_tTexcdi4a) DescriptorSet 0 - Decorate 151(g_tTexcdu4a) DescriptorSet 0 - Decorate 153(Color) Location 0 - Decorate 155(Depth) BuiltIn FragDepth + Decorate 104(Color) Location 0 + Decorate 108(Depth) BuiltIn FragDepth + Decorate 114(g_tTex3df4) DescriptorSet 0 + Decorate 117(g_tTex3di4) DescriptorSet 0 + Decorate 120(g_tTex3du4) DescriptorSet 0 + Decorate 123(g_tTexcdf4) DescriptorSet 0 + Decorate 126(g_tTexcdi4) DescriptorSet 0 + Decorate 129(g_tTexcdu4) DescriptorSet 0 + Decorate 132(g_tTex1df4a) DescriptorSet 0 + Decorate 135(g_tTex1di4a) DescriptorSet 0 + Decorate 138(g_tTex1du4a) DescriptorSet 0 + Decorate 141(g_tTex2df4a) DescriptorSet 0 + Decorate 144(g_tTex2di4a) DescriptorSet 0 + Decorate 147(g_tTex2du4a) DescriptorSet 0 + Decorate 150(g_tTexcdf4a) DescriptorSet 0 + Decorate 153(g_tTexcdi4a) DescriptorSet 0 + Decorate 156(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -446,57 +465,55 @@ gl_FragCoord origin is upper left 98: 92(fvec4) ConstantComposite 97 97 97 97 99: TypePointer Function 92(fvec4) 101: 23(int) Constant 1 - 103: TypePointer Output 93(PS_OUTPUT) -104(@entryPointOutput): 103(ptr) Variable Output - 107: TypeImage 6(float) 3D sampled format:Unknown - 108: TypePointer UniformConstant 107 - 109(g_tTex3df4): 108(ptr) Variable UniformConstant - 110: TypeImage 23(int) 3D sampled format:Unknown - 111: TypePointer UniformConstant 110 - 112(g_tTex3di4): 111(ptr) Variable UniformConstant - 113: TypeImage 39(int) 3D sampled format:Unknown - 114: TypePointer UniformConstant 113 - 115(g_tTex3du4): 114(ptr) Variable UniformConstant - 116: TypeImage 6(float) Cube sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTexcdf4): 117(ptr) Variable UniformConstant - 119: TypeImage 23(int) Cube sampled format:Unknown - 120: TypePointer UniformConstant 119 - 121(g_tTexcdi4): 120(ptr) Variable UniformConstant - 122: TypeImage 39(int) Cube sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTexcdu4): 123(ptr) Variable UniformConstant - 125: TypeImage 6(float) 1D array sampled format:Unknown - 126: TypePointer UniformConstant 125 -127(g_tTex1df4a): 126(ptr) Variable UniformConstant - 128: TypeImage 23(int) 1D array sampled format:Unknown - 129: TypePointer UniformConstant 128 -130(g_tTex1di4a): 129(ptr) Variable UniformConstant - 131: TypeImage 39(int) 1D array sampled format:Unknown - 132: TypePointer UniformConstant 131 -133(g_tTex1du4a): 132(ptr) Variable UniformConstant - 134: TypeImage 6(float) 2D array sampled format:Unknown - 135: TypePointer UniformConstant 134 -136(g_tTex2df4a): 135(ptr) Variable UniformConstant - 137: TypeImage 23(int) 2D array sampled format:Unknown - 138: TypePointer UniformConstant 137 -139(g_tTex2di4a): 138(ptr) Variable UniformConstant - 140: TypeImage 39(int) 2D array sampled format:Unknown - 141: TypePointer UniformConstant 140 -142(g_tTex2du4a): 141(ptr) Variable UniformConstant - 143: TypeImage 6(float) Cube array sampled format:Unknown - 144: TypePointer UniformConstant 143 -145(g_tTexcdf4a): 144(ptr) Variable UniformConstant - 146: TypeImage 23(int) Cube array sampled format:Unknown - 147: TypePointer UniformConstant 146 -148(g_tTexcdi4a): 147(ptr) Variable UniformConstant - 149: TypeImage 39(int) Cube array sampled format:Unknown - 150: TypePointer UniformConstant 149 -151(g_tTexcdu4a): 150(ptr) Variable UniformConstant - 152: TypePointer Output 92(fvec4) - 153(Color): 152(ptr) Variable Output - 154: TypePointer Output 6(float) - 155(Depth): 154(ptr) Variable Output + 103: TypePointer Output 92(fvec4) + 104(Color): 103(ptr) Variable Output + 107: TypePointer Output 6(float) + 108(Depth): 107(ptr) Variable Output + 112: TypeImage 6(float) 3D sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTex3df4): 113(ptr) Variable UniformConstant + 115: TypeImage 23(int) 3D sampled format:Unknown + 116: TypePointer UniformConstant 115 + 117(g_tTex3di4): 116(ptr) Variable UniformConstant + 118: TypeImage 39(int) 3D sampled format:Unknown + 119: TypePointer UniformConstant 118 + 120(g_tTex3du4): 119(ptr) Variable UniformConstant + 121: TypeImage 6(float) Cube sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTexcdf4): 122(ptr) Variable UniformConstant + 124: TypeImage 23(int) Cube sampled format:Unknown + 125: TypePointer UniformConstant 124 + 126(g_tTexcdi4): 125(ptr) Variable UniformConstant + 127: TypeImage 39(int) Cube sampled format:Unknown + 128: TypePointer UniformConstant 127 + 129(g_tTexcdu4): 128(ptr) Variable UniformConstant + 130: TypeImage 6(float) 1D array sampled format:Unknown + 131: TypePointer UniformConstant 130 +132(g_tTex1df4a): 131(ptr) Variable UniformConstant + 133: TypeImage 23(int) 1D array sampled format:Unknown + 134: TypePointer UniformConstant 133 +135(g_tTex1di4a): 134(ptr) Variable UniformConstant + 136: TypeImage 39(int) 1D array sampled format:Unknown + 137: TypePointer UniformConstant 136 +138(g_tTex1du4a): 137(ptr) Variable UniformConstant + 139: TypeImage 6(float) 2D array sampled format:Unknown + 140: TypePointer UniformConstant 139 +141(g_tTex2df4a): 140(ptr) Variable UniformConstant + 142: TypeImage 23(int) 2D array sampled format:Unknown + 143: TypePointer UniformConstant 142 +144(g_tTex2di4a): 143(ptr) Variable UniformConstant + 145: TypeImage 39(int) 2D array sampled format:Unknown + 146: TypePointer UniformConstant 145 +147(g_tTex2du4a): 146(ptr) Variable UniformConstant + 148: TypeImage 6(float) Cube array sampled format:Unknown + 149: TypePointer UniformConstant 148 +150(g_tTexcdf4a): 149(ptr) Variable UniformConstant + 151: TypeImage 23(int) Cube array sampled format:Unknown + 152: TypePointer UniformConstant 151 +153(g_tTexcdi4a): 152(ptr) Variable UniformConstant + 154: TypeImage 39(int) Cube array sampled format:Unknown + 155: TypePointer UniformConstant 154 +156(g_tTexcdu4a): 155(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r01): 7(ptr) Variable Function @@ -549,7 +566,11 @@ gl_FragCoord origin is upper left Store 100 98 102: 7(ptr) AccessChain 95(psout) 101 Store 102 97 - 105:93(PS_OUTPUT) Load 95(psout) - Store 104(@entryPointOutput) 105 + 105: 99(ptr) AccessChain 95(psout) 96 + 106: 92(fvec4) Load 105 + Store 104(Color) 106 + 109: 7(ptr) AccessChain 95(psout) 101 + 110: 6(float) Load 109 + Store 108(Depth) 110 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out index f529d46..ac23b8f 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out @@ -130,10 +130,20 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Sequence -0:66 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:66 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:66 Color: direct index for structure (temp 4-component vector of float) +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Constant: +0:66 0 (const int) +0:66 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:66 Depth: direct index for structure (temp float FragDepth) +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Constant: +0:66 1 (const int) 0:66 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -296,10 +306,20 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Sequence -0:66 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:66 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:66 Color: direct index for structure (temp 4-component vector of float) +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Constant: +0:66 0 (const int) +0:66 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:66 Depth: direct index for structure (temp float FragDepth) +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Constant: +0:66 1 (const int) 0:66 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -329,14 +349,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 162 +// Id's are bound by 163 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 110 159 161 + EntryPoint Fragment 4 "main" 110 114 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r11" @@ -356,24 +376,23 @@ gl_FragCoord origin is upper left MemberName 99(PS_OUTPUT) 0 "Color" MemberName 99(PS_OUTPUT) 1 "Depth" Name 101 "psout" - Name 110 "@entryPointOutput" - Name 115 "g_tTex1df4" - Name 118 "g_tTex1di4" - Name 121 "g_tTex1du4" - Name 124 "g_tTex2df4" - Name 127 "g_tTex2di4" - Name 130 "g_tTex2du4" - Name 133 "g_tTex3df4" - Name 136 "g_tTex3di4" - Name 139 "g_tTex3du4" - Name 142 "g_tTexcdf4" - Name 145 "g_tTexcdi4" - Name 148 "g_tTexcdu4" - Name 151 "g_tTexcdf4a" - Name 154 "g_tTexcdi4a" - Name 157 "g_tTexcdu4a" - Name 159 "Color" - Name 161 "Depth" + Name 110 "Color" + Name 114 "Depth" + Name 120 "g_tTex1df4" + Name 123 "g_tTex1di4" + Name 126 "g_tTex1du4" + Name 129 "g_tTex2df4" + Name 132 "g_tTex2di4" + Name 135 "g_tTex2du4" + Name 138 "g_tTex3df4" + Name 141 "g_tTex3di4" + Name 144 "g_tTex3du4" + Name 147 "g_tTexcdf4" + Name 150 "g_tTexcdi4" + Name 153 "g_tTexcdu4" + Name 156 "g_tTexcdf4a" + Name 159 "g_tTexcdi4a" + Name 162 "g_tTexcdu4a" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 @@ -383,24 +402,24 @@ gl_FragCoord origin is upper left Decorate 77(g_tTex2di4a) DescriptorSet 0 Decorate 89(g_tTex2du4a) DescriptorSet 0 MemberDecorate 99(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 115(g_tTex1df4) DescriptorSet 0 - Decorate 115(g_tTex1df4) Binding 0 - Decorate 118(g_tTex1di4) DescriptorSet 0 - Decorate 121(g_tTex1du4) DescriptorSet 0 - Decorate 124(g_tTex2df4) DescriptorSet 0 - Decorate 127(g_tTex2di4) DescriptorSet 0 - Decorate 130(g_tTex2du4) DescriptorSet 0 - Decorate 133(g_tTex3df4) DescriptorSet 0 - Decorate 136(g_tTex3di4) DescriptorSet 0 - Decorate 139(g_tTex3du4) DescriptorSet 0 - Decorate 142(g_tTexcdf4) DescriptorSet 0 - Decorate 145(g_tTexcdi4) DescriptorSet 0 - Decorate 148(g_tTexcdu4) DescriptorSet 0 - Decorate 151(g_tTexcdf4a) DescriptorSet 0 - Decorate 154(g_tTexcdi4a) DescriptorSet 0 - Decorate 157(g_tTexcdu4a) DescriptorSet 0 - Decorate 159(Color) Location 0 - Decorate 161(Depth) BuiltIn FragDepth + Decorate 110(Color) Location 0 + Decorate 114(Depth) BuiltIn FragDepth + Decorate 120(g_tTex1df4) DescriptorSet 0 + Decorate 120(g_tTex1df4) Binding 0 + Decorate 123(g_tTex1di4) DescriptorSet 0 + Decorate 126(g_tTex1du4) DescriptorSet 0 + Decorate 129(g_tTex2df4) DescriptorSet 0 + Decorate 132(g_tTex2di4) DescriptorSet 0 + Decorate 135(g_tTex2du4) DescriptorSet 0 + Decorate 138(g_tTex3df4) DescriptorSet 0 + Decorate 141(g_tTex3di4) DescriptorSet 0 + Decorate 144(g_tTex3du4) DescriptorSet 0 + Decorate 147(g_tTexcdf4) DescriptorSet 0 + Decorate 150(g_tTexcdi4) DescriptorSet 0 + Decorate 153(g_tTexcdu4) DescriptorSet 0 + Decorate 156(g_tTexcdf4a) DescriptorSet 0 + Decorate 159(g_tTexcdi4a) DescriptorSet 0 + Decorate 162(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -461,57 +480,55 @@ gl_FragCoord origin is upper left 104: 98(fvec4) ConstantComposite 103 103 103 103 105: TypePointer Function 98(fvec4) 107: 27(int) Constant 1 - 109: TypePointer Output 99(PS_OUTPUT) -110(@entryPointOutput): 109(ptr) Variable Output - 113: TypeImage 6(float) 1D sampled format:Unknown - 114: TypePointer UniformConstant 113 - 115(g_tTex1df4): 114(ptr) Variable UniformConstant - 116: TypeImage 27(int) 1D sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTex1di4): 117(ptr) Variable UniformConstant - 119: TypeImage 44(int) 1D sampled format:Unknown - 120: TypePointer UniformConstant 119 - 121(g_tTex1du4): 120(ptr) Variable UniformConstant - 122: TypeImage 6(float) 2D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTex2df4): 123(ptr) Variable UniformConstant - 125: TypeImage 27(int) 2D sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTex2di4): 126(ptr) Variable UniformConstant - 128: TypeImage 44(int) 2D sampled format:Unknown - 129: TypePointer UniformConstant 128 - 130(g_tTex2du4): 129(ptr) Variable UniformConstant - 131: TypeImage 6(float) 3D sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTex3df4): 132(ptr) Variable UniformConstant - 134: TypeImage 27(int) 3D sampled format:Unknown - 135: TypePointer UniformConstant 134 - 136(g_tTex3di4): 135(ptr) Variable UniformConstant - 137: TypeImage 44(int) 3D sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTex3du4): 138(ptr) Variable UniformConstant - 140: TypeImage 6(float) Cube sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTexcdf4): 141(ptr) Variable UniformConstant - 143: TypeImage 27(int) Cube sampled format:Unknown - 144: TypePointer UniformConstant 143 - 145(g_tTexcdi4): 144(ptr) Variable UniformConstant - 146: TypeImage 44(int) Cube sampled format:Unknown - 147: TypePointer UniformConstant 146 - 148(g_tTexcdu4): 147(ptr) Variable UniformConstant - 149: TypeImage 6(float) Cube array sampled format:Unknown - 150: TypePointer UniformConstant 149 -151(g_tTexcdf4a): 150(ptr) Variable UniformConstant - 152: TypeImage 27(int) Cube array sampled format:Unknown - 153: TypePointer UniformConstant 152 -154(g_tTexcdi4a): 153(ptr) Variable UniformConstant - 155: TypeImage 44(int) Cube array sampled format:Unknown - 156: TypePointer UniformConstant 155 -157(g_tTexcdu4a): 156(ptr) Variable UniformConstant - 158: TypePointer Output 98(fvec4) - 159(Color): 158(ptr) Variable Output - 160: TypePointer Output 6(float) - 161(Depth): 160(ptr) Variable Output + 109: TypePointer Output 98(fvec4) + 110(Color): 109(ptr) Variable Output + 113: TypePointer Output 6(float) + 114(Depth): 113(ptr) Variable Output + 118: TypeImage 6(float) 1D sampled format:Unknown + 119: TypePointer UniformConstant 118 + 120(g_tTex1df4): 119(ptr) Variable UniformConstant + 121: TypeImage 27(int) 1D sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTex1di4): 122(ptr) Variable UniformConstant + 124: TypeImage 44(int) 1D sampled format:Unknown + 125: TypePointer UniformConstant 124 + 126(g_tTex1du4): 125(ptr) Variable UniformConstant + 127: TypeImage 6(float) 2D sampled format:Unknown + 128: TypePointer UniformConstant 127 + 129(g_tTex2df4): 128(ptr) Variable UniformConstant + 130: TypeImage 27(int) 2D sampled format:Unknown + 131: TypePointer UniformConstant 130 + 132(g_tTex2di4): 131(ptr) Variable UniformConstant + 133: TypeImage 44(int) 2D sampled format:Unknown + 134: TypePointer UniformConstant 133 + 135(g_tTex2du4): 134(ptr) Variable UniformConstant + 136: TypeImage 6(float) 3D sampled format:Unknown + 137: TypePointer UniformConstant 136 + 138(g_tTex3df4): 137(ptr) Variable UniformConstant + 139: TypeImage 27(int) 3D sampled format:Unknown + 140: TypePointer UniformConstant 139 + 141(g_tTex3di4): 140(ptr) Variable UniformConstant + 142: TypeImage 44(int) 3D sampled format:Unknown + 143: TypePointer UniformConstant 142 + 144(g_tTex3du4): 143(ptr) Variable UniformConstant + 145: TypeImage 6(float) Cube sampled format:Unknown + 146: TypePointer UniformConstant 145 + 147(g_tTexcdf4): 146(ptr) Variable UniformConstant + 148: TypeImage 27(int) Cube sampled format:Unknown + 149: TypePointer UniformConstant 148 + 150(g_tTexcdi4): 149(ptr) Variable UniformConstant + 151: TypeImage 44(int) Cube sampled format:Unknown + 152: TypePointer UniformConstant 151 + 153(g_tTexcdu4): 152(ptr) Variable UniformConstant + 154: TypeImage 6(float) Cube array sampled format:Unknown + 155: TypePointer UniformConstant 154 +156(g_tTexcdf4a): 155(ptr) Variable UniformConstant + 157: TypeImage 27(int) Cube array sampled format:Unknown + 158: TypePointer UniformConstant 157 +159(g_tTexcdi4a): 158(ptr) Variable UniformConstant + 160: TypeImage 44(int) Cube array sampled format:Unknown + 161: TypePointer UniformConstant 160 +162(g_tTexcdu4a): 161(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r11): 7(ptr) Variable Function @@ -567,7 +584,11 @@ gl_FragCoord origin is upper left Store 106 104 108: 7(ptr) AccessChain 101(psout) 107 Store 108 103 - 111:99(PS_OUTPUT) Load 101(psout) - Store 110(@entryPointOutput) 111 + 111: 105(ptr) AccessChain 101(psout) 102 + 112: 98(fvec4) Load 111 + Store 110(Color) 112 + 115: 7(ptr) AccessChain 101(psout) 107 + 116: 6(float) Load 115 + Store 114(Depth) 116 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out index 75b3124..70e0fbe 100644 --- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out @@ -175,10 +175,20 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:42 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:42 Color: direct index for structure (temp 4-component vector of float) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 0 (const int) +0:42 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:42 Depth: direct index for structure (temp float FragDepth) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -375,10 +385,20 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:42 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:42 Color: direct index for structure (temp 4-component vector of float) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 0 (const int) +0:42 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:42 Depth: direct index for structure (temp float FragDepth) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -397,14 +417,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 132 +// Id's are bound by 133 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 124 129 131 + EntryPoint Fragment 4 "main" 124 128 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -430,10 +450,9 @@ gl_FragCoord origin is upper left MemberName 113(PS_OUTPUT) 0 "Color" MemberName 113(PS_OUTPUT) 1 "Depth" Name 115 "psout" - Name 124 "@entryPointOutput" - Name 127 "g_tTex1df4a" - Name 129 "Color" - Name 131 "Depth" + Name 124 "Color" + Name 128 "Depth" + Name 132 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -447,10 +466,10 @@ gl_FragCoord origin is upper left Decorate 98(g_tTexcdi4) DescriptorSet 0 Decorate 107(g_tTexcdu4) DescriptorSet 0 MemberDecorate 113(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 127(g_tTex1df4a) DescriptorSet 0 - Decorate 127(g_tTex1df4a) Binding 1 - Decorate 129(Color) Location 0 - Decorate 131(Depth) BuiltIn FragDepth + Decorate 124(Color) Location 0 + Decorate 128(Depth) BuiltIn FragDepth + Decorate 132(g_tTex1df4a) DescriptorSet 0 + Decorate 132(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -522,13 +541,11 @@ gl_FragCoord origin is upper left 118: 7(fvec4) ConstantComposite 117 117 117 117 120: 27(int) Constant 1 121: TypePointer Function 6(float) - 123: TypePointer Output 113(PS_OUTPUT) -124(@entryPointOutput): 123(ptr) Variable Output -127(g_tTex1df4a): 11(ptr) Variable UniformConstant - 128: TypePointer Output 7(fvec4) - 129(Color): 128(ptr) Variable Output - 130: TypePointer Output 6(float) - 131(Depth): 130(ptr) Variable Output + 123: TypePointer Output 7(fvec4) + 124(Color): 123(ptr) Variable Output + 127: TypePointer Output 6(float) + 128(Depth): 127(ptr) Variable Output +132(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -590,7 +607,11 @@ gl_FragCoord origin is upper left Store 119 118 122: 121(ptr) AccessChain 115(psout) 120 Store 122 117 - 125:113(PS_OUTPUT) Load 115(psout) - Store 124(@entryPointOutput) 125 + 125: 8(ptr) AccessChain 115(psout) 116 + 126: 7(fvec4) Load 125 + Store 124(Color) 126 + 129: 121(ptr) AccessChain 115(psout) 120 + 130: 6(float) Load 129 + Store 128(Depth) 130 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out index ed868f3..fe07552 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out @@ -223,10 +223,20 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Sequence -0:50 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:50 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:50 Color: direct index for structure (temp 4-component vector of float) +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Constant: +0:50 0 (const int) +0:50 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:50 Depth: direct index for structure (temp float FragDepth) +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Constant: +0:50 1 (const int) 0:50 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -474,10 +484,20 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Sequence -0:50 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:50 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:50 Color: direct index for structure (temp 4-component vector of float) +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Constant: +0:50 0 (const int) +0:50 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:50 Depth: direct index for structure (temp float FragDepth) +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Constant: +0:50 1 (const int) 0:50 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -499,13 +519,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 167 +// Id's are bound by 168 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 159 164 166 + EntryPoint Fragment 4 "main" 159 163 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -537,10 +557,9 @@ gl_FragCoord origin is upper left MemberName 148(PS_OUTPUT) 0 "Color" MemberName 148(PS_OUTPUT) 1 "Depth" Name 150 "psout" - Name 159 "@entryPointOutput" - Name 162 "g_tTex1df4a" - Name 164 "Color" - Name 166 "Depth" + Name 159 "Color" + Name 163 "Depth" + Name 167 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -557,10 +576,10 @@ gl_FragCoord origin is upper left Decorate 133(g_tTexcdi4) DescriptorSet 0 Decorate 142(g_tTexcdu4) DescriptorSet 0 MemberDecorate 148(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 162(g_tTex1df4a) DescriptorSet 0 - Decorate 162(g_tTex1df4a) Binding 1 - Decorate 164(Color) Location 0 - Decorate 166(Depth) BuiltIn FragDepth + Decorate 159(Color) Location 0 + Decorate 163(Depth) BuiltIn FragDepth + Decorate 167(g_tTex1df4a) DescriptorSet 0 + Decorate 167(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -652,13 +671,11 @@ gl_FragCoord origin is upper left 153: 7(fvec4) ConstantComposite 152 152 152 152 155: 24(int) Constant 1 156: TypePointer Function 6(float) - 158: TypePointer Output 148(PS_OUTPUT) -159(@entryPointOutput): 158(ptr) Variable Output -162(g_tTex1df4a): 11(ptr) Variable UniformConstant - 163: TypePointer Output 7(fvec4) - 164(Color): 163(ptr) Variable Output - 165: TypePointer Output 6(float) - 166(Depth): 165(ptr) Variable Output + 158: TypePointer Output 7(fvec4) + 159(Color): 158(ptr) Variable Output + 162: TypePointer Output 6(float) + 163(Depth): 162(ptr) Variable Output +167(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -738,7 +755,11 @@ gl_FragCoord origin is upper left Store 154 153 157: 156(ptr) AccessChain 150(psout) 155 Store 157 152 - 160:148(PS_OUTPUT) Load 150(psout) - Store 159(@entryPointOutput) 160 + 160: 8(ptr) AccessChain 150(psout) 151 + 161: 7(fvec4) Load 160 + Store 159(Color) 161 + 164: 156(ptr) AccessChain 150(psout) 155 + 165: 6(float) Load 164 + Store 163(Depth) 165 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out index 7a677ac..f2d6af7 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out @@ -215,10 +215,14 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Position Pos}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Position Pos}) -0:48 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Pos' (out 4-component vector of float Position) +0:48 Pos: direct index for structure (temp 4-component vector of float Position) +0:48 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:48 Constant: +0:48 0 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -457,10 +461,14 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Position Pos}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Position Pos}) -0:48 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Pos' (out 4-component vector of float Position) +0:48 Pos: direct index for structure (temp 4-component vector of float Position) +0:48 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:48 Constant: +0:48 0 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -481,13 +489,13 @@ Shader version: 450 // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 162 +// Id's are bound by 161 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 156 161 + EntryPoint Vertex 4 "main" 156 Name 4 "main" Name 9 "txval10" Name 12 "g_tTex1df4" @@ -517,9 +525,8 @@ Shader version: 450 Name 148 "VS_OUTPUT" MemberName 148(VS_OUTPUT) 0 "Pos" Name 150 "vsout" - Name 156 "@entryPointOutput" - Name 159 "g_tTex1df4a" - Name 161 "Pos" + Name 156 "Pos" + Name 160 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -536,9 +543,9 @@ Shader version: 450 Decorate 133(g_tTexcdi4) DescriptorSet 0 Decorate 142(g_tTexcdu4) DescriptorSet 0 MemberDecorate 148(VS_OUTPUT) 0 BuiltIn Position - Decorate 159(g_tTex1df4a) DescriptorSet 0 - Decorate 159(g_tTex1df4a) Binding 1 - Decorate 161(Pos) BuiltIn Position + Decorate 156(Pos) BuiltIn Position + Decorate 160(g_tTex1df4a) DescriptorSet 0 + Decorate 160(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -628,11 +635,9 @@ Shader version: 450 151: 24(int) Constant 0 152: 6(float) Constant 0 153: 7(fvec4) ConstantComposite 152 152 152 152 - 155: TypePointer Output 148(VS_OUTPUT) -156(@entryPointOutput): 155(ptr) Variable Output -159(g_tTex1df4a): 11(ptr) Variable UniformConstant - 160: TypePointer Output 7(fvec4) - 161(Pos): 160(ptr) Variable Output + 155: TypePointer Output 7(fvec4) + 156(Pos): 155(ptr) Variable Output +160(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -710,7 +715,8 @@ Shader version: 450 Store 139(txval42) 147 154: 8(ptr) AccessChain 150(vsout) 151 Store 154 153 - 157:148(VS_OUTPUT) Load 150(vsout) - Store 156(@entryPointOutput) 157 + 157: 8(ptr) AccessChain 150(vsout) 151 + 158: 7(fvec4) Load 157 + Store 156(Pos) 158 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out index ce3b2ca..4bfdadf 100644 --- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out @@ -193,10 +193,20 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float FragDepth) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -414,10 +424,20 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float FragDepth) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -439,13 +459,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 158 +// Id's are bound by 159 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 141 155 157 + EntryPoint Fragment 4 "main" 141 145 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -471,13 +491,12 @@ gl_FragCoord origin is upper left MemberName 132(PS_OUTPUT) 0 "Color" MemberName 132(PS_OUTPUT) 1 "Depth" Name 134 "psout" - Name 141 "@entryPointOutput" - Name 144 "g_tTex1df4a" - Name 147 "g_tTexcdf4" - Name 150 "g_tTexcdi4" - Name 153 "g_tTexcdu4" - Name 155 "Color" - Name 157 "Depth" + Name 141 "Color" + Name 145 "Depth" + Name 149 "g_tTex1df4a" + Name 152 "g_tTexcdf4" + Name 155 "g_tTexcdi4" + Name 158 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -491,13 +510,13 @@ gl_FragCoord origin is upper left Decorate 110(g_tTex3di4) DescriptorSet 0 Decorate 121(g_tTex3du4) DescriptorSet 0 MemberDecorate 132(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 144(g_tTex1df4a) DescriptorSet 0 - Decorate 144(g_tTex1df4a) Binding 1 - Decorate 147(g_tTexcdf4) DescriptorSet 0 - Decorate 150(g_tTexcdi4) DescriptorSet 0 - Decorate 153(g_tTexcdu4) DescriptorSet 0 - Decorate 155(Color) Location 0 - Decorate 157(Depth) BuiltIn FragDepth + Decorate 141(Color) Location 0 + Decorate 145(Depth) BuiltIn FragDepth + Decorate 149(g_tTex1df4a) DescriptorSet 0 + Decorate 149(g_tTex1df4a) Binding 1 + Decorate 152(g_tTexcdf4) DescriptorSet 0 + Decorate 155(g_tTexcdi4) DescriptorSet 0 + Decorate 158(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -586,22 +605,20 @@ gl_FragCoord origin is upper left 135: 6(float) Constant 1065353216 136: 7(fvec4) ConstantComposite 135 135 135 135 138: TypePointer Function 6(float) - 140: TypePointer Output 132(PS_OUTPUT) -141(@entryPointOutput): 140(ptr) Variable Output -144(g_tTex1df4a): 11(ptr) Variable UniformConstant - 145: TypeImage 6(float) Cube sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTexcdf4): 146(ptr) Variable UniformConstant - 148: TypeImage 23(int) Cube sampled format:Unknown - 149: TypePointer UniformConstant 148 - 150(g_tTexcdi4): 149(ptr) Variable UniformConstant - 151: TypeImage 38(int) Cube sampled format:Unknown - 152: TypePointer UniformConstant 151 - 153(g_tTexcdu4): 152(ptr) Variable UniformConstant - 154: TypePointer Output 7(fvec4) - 155(Color): 154(ptr) Variable Output - 156: TypePointer Output 6(float) - 157(Depth): 156(ptr) Variable Output + 140: TypePointer Output 7(fvec4) + 141(Color): 140(ptr) Variable Output + 144: TypePointer Output 6(float) + 145(Depth): 144(ptr) Variable Output +149(g_tTex1df4a): 11(ptr) Variable UniformConstant + 150: TypeImage 6(float) Cube sampled format:Unknown + 151: TypePointer UniformConstant 150 + 152(g_tTexcdf4): 151(ptr) Variable UniformConstant + 153: TypeImage 23(int) Cube sampled format:Unknown + 154: TypePointer UniformConstant 153 + 155(g_tTexcdi4): 154(ptr) Variable UniformConstant + 156: TypeImage 38(int) Cube sampled format:Unknown + 157: TypePointer UniformConstant 156 + 158(g_tTexcdu4): 157(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -663,7 +680,11 @@ gl_FragCoord origin is upper left Store 137 136 139: 138(ptr) AccessChain 134(psout) 24 Store 139 135 - 142:132(PS_OUTPUT) Load 134(psout) - Store 141(@entryPointOutput) 142 + 142: 8(ptr) AccessChain 134(psout) 63 + 143: 7(fvec4) Load 142 + Store 141(Color) 143 + 146: 138(ptr) AccessChain 134(psout) 24 + 147: 6(float) Load 146 + Store 145(Depth) 147 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out index 4e9f2af..fc4cb53 100644 --- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out @@ -130,10 +130,20 @@ gl_FragCoord origin is upper left 0:36 1 (const int) 0:36 Constant: 0:36 1.000000 -0:38 Sequence -0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float FragDepth) +0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:38 Constant: +0:38 1 (const int) 0:38 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -285,10 +295,20 @@ gl_FragCoord origin is upper left 0:36 1 (const int) 0:36 Constant: 0:36 1.000000 -0:38 Sequence -0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float FragDepth) +0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:38 Constant: +0:38 1 (const int) 0:38 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -307,14 +327,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 112 +// Id's are bound by 113 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 95 109 111 + EntryPoint Fragment 4 "main" 95 99 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -334,13 +354,12 @@ gl_FragCoord origin is upper left MemberName 86(PS_OUTPUT) 0 "Color" MemberName 86(PS_OUTPUT) 1 "Depth" Name 88 "psout" - Name 95 "@entryPointOutput" - Name 98 "g_tTex1df4a" - Name 101 "g_tTexcdf4" - Name 104 "g_tTexcdi4" - Name 107 "g_tTexcdu4" - Name 109 "Color" - Name 111 "Depth" + Name 95 "Color" + Name 99 "Depth" + Name 103 "g_tTex1df4a" + Name 106 "g_tTexcdf4" + Name 109 "g_tTexcdi4" + Name 112 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -351,13 +370,13 @@ gl_FragCoord origin is upper left Decorate 71(g_tTex2di4) DescriptorSet 0 Decorate 80(g_tTex2du4) DescriptorSet 0 MemberDecorate 86(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 98(g_tTex1df4a) DescriptorSet 0 - Decorate 98(g_tTex1df4a) Binding 1 - Decorate 101(g_tTexcdf4) DescriptorSet 0 - Decorate 104(g_tTexcdi4) DescriptorSet 0 - Decorate 107(g_tTexcdu4) DescriptorSet 0 - Decorate 109(Color) Location 0 - Decorate 111(Depth) BuiltIn FragDepth + Decorate 95(Color) Location 0 + Decorate 99(Depth) BuiltIn FragDepth + Decorate 103(g_tTex1df4a) DescriptorSet 0 + Decorate 103(g_tTex1df4a) Binding 1 + Decorate 106(g_tTexcdf4) DescriptorSet 0 + Decorate 109(g_tTexcdi4) DescriptorSet 0 + Decorate 112(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -415,22 +434,20 @@ gl_FragCoord origin is upper left 89: 6(float) Constant 1065353216 90: 7(fvec4) ConstantComposite 89 89 89 89 92: TypePointer Function 6(float) - 94: TypePointer Output 86(PS_OUTPUT) -95(@entryPointOutput): 94(ptr) Variable Output - 98(g_tTex1df4a): 11(ptr) Variable UniformConstant - 99: TypeImage 6(float) Cube array sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTexcdf4): 100(ptr) Variable UniformConstant - 102: TypeImage 26(int) Cube array sampled format:Unknown - 103: TypePointer UniformConstant 102 - 104(g_tTexcdi4): 103(ptr) Variable UniformConstant - 105: TypeImage 40(int) Cube array sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTexcdu4): 106(ptr) Variable UniformConstant - 108: TypePointer Output 7(fvec4) - 109(Color): 108(ptr) Variable Output - 110: TypePointer Output 6(float) - 111(Depth): 110(ptr) Variable Output + 94: TypePointer Output 7(fvec4) + 95(Color): 94(ptr) Variable Output + 98: TypePointer Output 6(float) + 99(Depth): 98(ptr) Variable Output +103(g_tTex1df4a): 11(ptr) Variable UniformConstant + 104: TypeImage 6(float) Cube array sampled format:Unknown + 105: TypePointer UniformConstant 104 + 106(g_tTexcdf4): 105(ptr) Variable UniformConstant + 107: TypeImage 26(int) Cube array sampled format:Unknown + 108: TypePointer UniformConstant 107 + 109(g_tTexcdi4): 108(ptr) Variable UniformConstant + 110: TypeImage 40(int) Cube array sampled format:Unknown + 111: TypePointer UniformConstant 110 + 112(g_tTexcdu4): 111(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -474,7 +491,11 @@ gl_FragCoord origin is upper left Store 91 90 93: 92(ptr) AccessChain 88(psout) 27 Store 93 89 - 96:86(PS_OUTPUT) Load 88(psout) - Store 95(@entryPointOutput) 96 + 96: 8(ptr) AccessChain 88(psout) 65 + 97: 7(fvec4) Load 96 + Store 95(Color) 97 + 100: 92(ptr) AccessChain 88(psout) 27 + 101: 6(float) Load 100 + Store 99(Depth) 101 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out index 675c3f8..192edb1 100644 --- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out @@ -139,10 +139,20 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:42 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:42 Color: direct index for structure (temp 4-component vector of float) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 0 (const int) +0:42 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:42 Depth: direct index for structure (temp float FragDepth) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -303,10 +313,20 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:42 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:42 Color: direct index for structure (temp 4-component vector of float) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 0 (const int) +0:42 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:42 Depth: direct index for structure (temp float FragDepth) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Constant: +0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -325,14 +345,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 139 +// Id's are bound by 140 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 131 136 138 + EntryPoint Fragment 4 "main" 131 135 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -358,10 +378,9 @@ gl_FragCoord origin is upper left MemberName 121(PS_OUTPUT) 0 "Color" MemberName 121(PS_OUTPUT) 1 "Depth" Name 123 "psout" - Name 131 "@entryPointOutput" - Name 134 "g_tTex1df4" - Name 136 "Color" - Name 138 "Depth" + Name 131 "Color" + Name 135 "Depth" + Name 139 "g_tTex1df4" Decorate 12(g_tTex1df4a) DescriptorSet 0 Decorate 12(g_tTex1df4a) Binding 1 Decorate 16(g_sSamp) DescriptorSet 0 @@ -375,10 +394,10 @@ gl_FragCoord origin is upper left Decorate 101(g_tTexcdi4a) DescriptorSet 0 Decorate 111(g_tTexcdu4a) DescriptorSet 0 MemberDecorate 121(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 134(g_tTex1df4) DescriptorSet 0 - Decorate 134(g_tTex1df4) Binding 0 - Decorate 136(Color) Location 0 - Decorate 138(Depth) BuiltIn FragDepth + Decorate 131(Color) Location 0 + Decorate 135(Depth) BuiltIn FragDepth + Decorate 139(g_tTex1df4) DescriptorSet 0 + Decorate 139(g_tTex1df4) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -457,13 +476,11 @@ gl_FragCoord origin is upper left 125: 7(fvec4) ConstantComposite 118 118 118 118 127: 26(int) Constant 1 128: TypePointer Function 6(float) - 130: TypePointer Output 121(PS_OUTPUT) -131(@entryPointOutput): 130(ptr) Variable Output - 134(g_tTex1df4): 11(ptr) Variable UniformConstant - 135: TypePointer Output 7(fvec4) - 136(Color): 135(ptr) Variable Output - 137: TypePointer Output 6(float) - 138(Depth): 137(ptr) Variable Output + 130: TypePointer Output 7(fvec4) + 131(Color): 130(ptr) Variable Output + 134: TypePointer Output 6(float) + 135(Depth): 134(ptr) Variable Output + 139(g_tTex1df4): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -525,7 +542,11 @@ gl_FragCoord origin is upper left Store 126 125 129: 128(ptr) AccessChain 123(psout) 127 Store 129 118 - 132:121(PS_OUTPUT) Load 123(psout) - Store 131(@entryPointOutput) 132 + 132: 8(ptr) AccessChain 123(psout) 124 + 133: 7(fvec4) Load 132 + Store 131(Color) 133 + 136: 128(ptr) AccessChain 123(psout) 127 + 137: 6(float) Load 136 + Store 135(Depth) 137 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out index 96def42..e96a524 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out @@ -169,10 +169,20 @@ gl_FragCoord origin is upper left 0:49 1 (const int) 0:49 Constant: 0:49 1.000000 -0:51 Sequence -0:51 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:51 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:51 Color: direct index for structure (temp 4-component vector of float) +0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:51 Constant: +0:51 0 (const int) +0:51 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:51 Depth: direct index for structure (temp float FragDepth) +0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:51 Constant: +0:51 1 (const int) 0:51 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -367,10 +377,20 @@ gl_FragCoord origin is upper left 0:49 1 (const int) 0:49 Constant: 0:49 1.000000 -0:51 Sequence -0:51 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:51 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:51 Color: direct index for structure (temp 4-component vector of float) +0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:51 Constant: +0:51 0 (const int) +0:51 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:51 Depth: direct index for structure (temp float FragDepth) +0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:51 Constant: +0:51 1 (const int) 0:51 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -393,13 +413,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 164 +// Id's are bound by 165 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 155 161 163 + EntryPoint Fragment 4 "main" 155 159 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -431,11 +451,10 @@ gl_FragCoord origin is upper left MemberName 144(PS_OUTPUT) 0 "Color" MemberName 144(PS_OUTPUT) 1 "Depth" Name 146 "psout" - Name 155 "@entryPointOutput" - Name 158 "g_sSamp2d" - Name 159 "g_tTex1df4a" - Name 161 "Color" - Name 163 "Depth" + Name 155 "Color" + Name 159 "Depth" + Name 163 "g_sSamp2d" + Name 164 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -452,11 +471,11 @@ gl_FragCoord origin is upper left Decorate 129(g_tTexcdi4) DescriptorSet 0 Decorate 138(g_tTexcdu4) DescriptorSet 0 MemberDecorate 144(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 158(g_sSamp2d) DescriptorSet 0 - Decorate 159(g_tTex1df4a) DescriptorSet 0 - Decorate 159(g_tTex1df4a) Binding 1 - Decorate 161(Color) Location 0 - Decorate 163(Depth) BuiltIn FragDepth + Decorate 155(Color) Location 0 + Decorate 159(Depth) BuiltIn FragDepth + Decorate 163(g_sSamp2d) DescriptorSet 0 + Decorate 164(g_tTex1df4a) DescriptorSet 0 + Decorate 164(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -544,14 +563,12 @@ gl_FragCoord origin is upper left 149: 7(fvec4) ConstantComposite 148 148 148 148 151: 23(int) Constant 1 152: TypePointer Function 6(float) - 154: TypePointer Output 144(PS_OUTPUT) -155(@entryPointOutput): 154(ptr) Variable Output - 158(g_sSamp2d): 15(ptr) Variable UniformConstant -159(g_tTex1df4a): 11(ptr) Variable UniformConstant - 160: TypePointer Output 7(fvec4) - 161(Color): 160(ptr) Variable Output - 162: TypePointer Output 6(float) - 163(Depth): 162(ptr) Variable Output + 154: TypePointer Output 7(fvec4) + 155(Color): 154(ptr) Variable Output + 158: TypePointer Output 6(float) + 159(Depth): 158(ptr) Variable Output + 163(g_sSamp2d): 15(ptr) Variable UniformConstant +164(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -631,7 +648,11 @@ gl_FragCoord origin is upper left Store 150 149 153: 152(ptr) AccessChain 146(psout) 151 Store 153 148 - 156:144(PS_OUTPUT) Load 146(psout) - Store 155(@entryPointOutput) 156 + 156: 8(ptr) AccessChain 146(psout) 147 + 157: 7(fvec4) Load 156 + Store 155(Color) 157 + 160: 152(ptr) AccessChain 146(psout) 151 + 161: 6(float) Load 160 + Store 159(Depth) 161 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out index 73eabbc..15c9ac7 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out @@ -161,10 +161,14 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Position Pos}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Position Pos}) -0:48 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Pos' (out 4-component vector of float Position) +0:48 Pos: direct index for structure (temp 4-component vector of float Position) +0:48 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:48 Constant: +0:48 0 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -349,10 +353,14 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Position Pos}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Position Pos}) -0:48 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Pos' (out 4-component vector of float Position) +0:48 Pos: direct index for structure (temp 4-component vector of float Position) +0:48 'vsout' (temp structure{temp 4-component vector of float Position Pos}) +0:48 Constant: +0:48 0 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -373,13 +381,13 @@ Shader version: 450 // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 158 +// Id's are bound by 157 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 152 157 + EntryPoint Vertex 4 "main" 152 Name 4 "main" Name 9 "txval10" Name 12 "g_tTex1df4" @@ -409,9 +417,8 @@ Shader version: 450 Name 144 "VS_OUTPUT" MemberName 144(VS_OUTPUT) 0 "Pos" Name 146 "vsout" - Name 152 "@entryPointOutput" - Name 155 "g_tTex1df4a" - Name 157 "Pos" + Name 152 "Pos" + Name 156 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -428,9 +435,9 @@ Shader version: 450 Decorate 129(g_tTexcdi4) DescriptorSet 0 Decorate 138(g_tTexcdu4) DescriptorSet 0 MemberDecorate 144(VS_OUTPUT) 0 BuiltIn Position - Decorate 155(g_tTex1df4a) DescriptorSet 0 - Decorate 155(g_tTex1df4a) Binding 1 - Decorate 157(Pos) BuiltIn Position + Decorate 152(Pos) BuiltIn Position + Decorate 156(g_tTex1df4a) DescriptorSet 0 + Decorate 156(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -516,11 +523,9 @@ Shader version: 450 147: 23(int) Constant 0 148: 6(float) Constant 0 149: 7(fvec4) ConstantComposite 148 148 148 148 - 151: TypePointer Output 144(VS_OUTPUT) -152(@entryPointOutput): 151(ptr) Variable Output -155(g_tTex1df4a): 11(ptr) Variable UniformConstant - 156: TypePointer Output 7(fvec4) - 157(Pos): 156(ptr) Variable Output + 151: TypePointer Output 7(fvec4) + 152(Pos): 151(ptr) Variable Output +156(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -598,7 +603,8 @@ Shader version: 450 Store 135(txval42) 143 150: 8(ptr) AccessChain 146(vsout) 147 Store 150 149 - 153:144(VS_OUTPUT) Load 146(vsout) - Store 152(@entryPointOutput) 153 + 153: 8(ptr) AccessChain 146(vsout) 147 + 154: 7(fvec4) Load 153 + Store 152(Pos) 154 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out index 9d32ce5..712f050 100644 --- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out @@ -157,10 +157,20 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float FragDepth) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -342,10 +352,20 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float FragDepth) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Constant: +0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -367,13 +387,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 154 +// Id's are bound by 155 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 137 151 153 + EntryPoint Fragment 4 "main" 137 141 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -399,13 +419,12 @@ gl_FragCoord origin is upper left MemberName 128(PS_OUTPUT) 0 "Color" MemberName 128(PS_OUTPUT) 1 "Depth" Name 130 "psout" - Name 137 "@entryPointOutput" - Name 140 "g_tTex1df4a" - Name 143 "g_tTexcdf4" - Name 146 "g_tTexcdi4" - Name 149 "g_tTexcdu4" - Name 151 "Color" - Name 153 "Depth" + Name 137 "Color" + Name 141 "Depth" + Name 145 "g_tTex1df4a" + Name 148 "g_tTexcdf4" + Name 151 "g_tTexcdi4" + Name 154 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -419,13 +438,13 @@ gl_FragCoord origin is upper left Decorate 106(g_tTex3di4) DescriptorSet 0 Decorate 117(g_tTex3du4) DescriptorSet 0 MemberDecorate 128(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 140(g_tTex1df4a) DescriptorSet 0 - Decorate 140(g_tTex1df4a) Binding 1 - Decorate 143(g_tTexcdf4) DescriptorSet 0 - Decorate 146(g_tTexcdi4) DescriptorSet 0 - Decorate 149(g_tTexcdu4) DescriptorSet 0 - Decorate 151(Color) Location 0 - Decorate 153(Depth) BuiltIn FragDepth + Decorate 137(Color) Location 0 + Decorate 141(Depth) BuiltIn FragDepth + Decorate 145(g_tTex1df4a) DescriptorSet 0 + Decorate 145(g_tTex1df4a) Binding 1 + Decorate 148(g_tTexcdf4) DescriptorSet 0 + Decorate 151(g_tTexcdi4) DescriptorSet 0 + Decorate 154(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -510,22 +529,20 @@ gl_FragCoord origin is upper left 131: 6(float) Constant 1065353216 132: 7(fvec4) ConstantComposite 131 131 131 131 134: TypePointer Function 6(float) - 136: TypePointer Output 128(PS_OUTPUT) -137(@entryPointOutput): 136(ptr) Variable Output -140(g_tTex1df4a): 11(ptr) Variable UniformConstant - 141: TypeImage 6(float) Cube sampled format:Unknown - 142: TypePointer UniformConstant 141 - 143(g_tTexcdf4): 142(ptr) Variable UniformConstant - 144: TypeImage 22(int) Cube sampled format:Unknown - 145: TypePointer UniformConstant 144 - 146(g_tTexcdi4): 145(ptr) Variable UniformConstant - 147: TypeImage 37(int) Cube sampled format:Unknown - 148: TypePointer UniformConstant 147 - 149(g_tTexcdu4): 148(ptr) Variable UniformConstant - 150: TypePointer Output 7(fvec4) - 151(Color): 150(ptr) Variable Output - 152: TypePointer Output 6(float) - 153(Depth): 152(ptr) Variable Output + 136: TypePointer Output 7(fvec4) + 137(Color): 136(ptr) Variable Output + 140: TypePointer Output 6(float) + 141(Depth): 140(ptr) Variable Output +145(g_tTex1df4a): 11(ptr) Variable UniformConstant + 146: TypeImage 6(float) Cube sampled format:Unknown + 147: TypePointer UniformConstant 146 + 148(g_tTexcdf4): 147(ptr) Variable UniformConstant + 149: TypeImage 22(int) Cube sampled format:Unknown + 150: TypePointer UniformConstant 149 + 151(g_tTexcdi4): 150(ptr) Variable UniformConstant + 152: TypeImage 37(int) Cube sampled format:Unknown + 153: TypePointer UniformConstant 152 + 154(g_tTexcdu4): 153(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -587,7 +604,11 @@ gl_FragCoord origin is upper left Store 133 132 135: 134(ptr) AccessChain 130(psout) 23 Store 135 131 - 138:128(PS_OUTPUT) Load 130(psout) - Store 137(@entryPointOutput) 138 + 138: 8(ptr) AccessChain 130(psout) 61 + 139: 7(fvec4) Load 138 + Store 137(Color) 139 + 142: 134(ptr) AccessChain 130(psout) 23 + 143: 6(float) Load 142 + Store 141(Depth) 143 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out index d628a7c..02f4a32 100644 --- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out @@ -112,10 +112,20 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:36 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:36 Color: direct index for structure (temp 4-component vector of float) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Constant: +0:36 0 (const int) +0:36 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:36 Depth: direct index for structure (temp float FragDepth) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Constant: +0:36 1 (const int) 0:36 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -246,10 +256,20 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Sequence +0:? Sequence +0:36 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:36 Color: direct index for structure (temp 4-component vector of float) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Constant: +0:36 0 (const int) +0:36 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:36 Depth: direct index for structure (temp float FragDepth) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Constant: +0:36 1 (const int) 0:36 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -265,13 +285,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 111 +// Id's are bound by 112 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 103 108 110 + EntryPoint Fragment 4 "main" 103 107 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -291,10 +311,9 @@ gl_FragCoord origin is upper left MemberName 94(PS_OUTPUT) 0 "Color" MemberName 94(PS_OUTPUT) 1 "Depth" Name 96 "psout" - Name 103 "@entryPointOutput" - Name 106 "g_tTex1df4a" - Name 108 "Color" - Name 110 "Depth" + Name 103 "Color" + Name 107 "Depth" + Name 111 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -305,10 +324,10 @@ gl_FragCoord origin is upper left Decorate 73(g_tTex2di4) DescriptorSet 0 Decorate 84(g_tTex2du4) DescriptorSet 0 MemberDecorate 94(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 106(g_tTex1df4a) DescriptorSet 0 - Decorate 106(g_tTex1df4a) Binding 1 - Decorate 108(Color) Location 0 - Decorate 110(Depth) BuiltIn FragDepth + Decorate 103(Color) Location 0 + Decorate 107(Depth) BuiltIn FragDepth + Decorate 111(g_tTex1df4a) DescriptorSet 0 + Decorate 111(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -374,13 +393,11 @@ gl_FragCoord origin is upper left 97: 6(float) Constant 1065353216 98: 7(fvec4) ConstantComposite 97 97 97 97 100: TypePointer Function 6(float) - 102: TypePointer Output 94(PS_OUTPUT) -103(@entryPointOutput): 102(ptr) Variable Output -106(g_tTex1df4a): 11(ptr) Variable UniformConstant - 107: TypePointer Output 7(fvec4) - 108(Color): 107(ptr) Variable Output - 109: TypePointer Output 6(float) - 110(Depth): 109(ptr) Variable Output + 102: TypePointer Output 7(fvec4) + 103(Color): 102(ptr) Variable Output + 106: TypePointer Output 6(float) + 107(Depth): 106(ptr) Variable Output +111(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -424,7 +441,11 @@ gl_FragCoord origin is upper left Store 99 98 101: 100(ptr) AccessChain 96(psout) 40 Store 101 97 - 104:94(PS_OUTPUT) Load 96(psout) - Store 103(@entryPointOutput) 104 + 104: 8(ptr) AccessChain 96(psout) 26 + 105: 7(fvec4) Load 104 + Store 103(Color) 105 + 108: 100(ptr) AccessChain 96(psout) 40 + 109: 6(float) Load 108 + Store 107(Depth) 109 Return FunctionEnd diff --git a/Test/baseResults/hlsl.semicolons.frag.out b/Test/baseResults/hlsl.semicolons.frag.out index 2d06690..a37991d 100644 --- a/Test/baseResults/hlsl.semicolons.frag.out +++ b/Test/baseResults/hlsl.semicolons.frag.out @@ -19,10 +19,14 @@ gl_FragCoord origin is upper left 0:16 1.000000 0:16 1.000000 0:16 1.000000 -0:17 Sequence -0:17 move second child to first child (temp structure{temp 4-component vector of float color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) -0:17 'ps_output' (temp structure{temp 4-component vector of float color}) +0:? Sequence +0:? Sequence +0:17 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:17 color: direct index for structure (temp 4-component vector of float) +0:17 'ps_output' (temp structure{temp 4-component vector of float color}) +0:17 Constant: +0:17 0 (const int) 0:17 Branch: Return 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) @@ -51,22 +55,26 @@ gl_FragCoord origin is upper left 0:16 1.000000 0:16 1.000000 0:16 1.000000 -0:17 Sequence -0:17 move second child to first child (temp structure{temp 4-component vector of float color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) -0:17 'ps_output' (temp structure{temp 4-component vector of float color}) +0:? Sequence +0:? Sequence +0:17 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:17 color: direct index for structure (temp 4-component vector of float) +0:17 'ps_output' (temp structure{temp 4-component vector of float color}) +0:17 Constant: +0:17 0 (const int) 0:17 Branch: Return 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 27 +// Id's are bound by 26 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 22 26 + EntryPoint Fragment 4 "main" 22 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "MyFunc(" @@ -74,9 +82,8 @@ gl_FragCoord origin is upper left Name 12 "PS_OUTPUT" MemberName 12(PS_OUTPUT) 0 "color" Name 14 "ps_output" - Name 22 "@entryPointOutput" - Name 26 "color" - Decorate 26(color) Location 0 + Name 22 "color" + Decorate 22(color) Location 0 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 @@ -88,17 +95,16 @@ gl_FragCoord origin is upper left 17: 10(float) Constant 1065353216 18: 11(fvec4) ConstantComposite 17 17 17 17 19: TypePointer Function 11(fvec4) - 21: TypePointer Output 12(PS_OUTPUT) -22(@entryPointOutput): 21(ptr) Variable Output - 25: TypePointer Output 11(fvec4) - 26(color): 25(ptr) Variable Output + 21: TypePointer Output 11(fvec4) + 22(color): 21(ptr) Variable Output 4(main): 2 Function None 3 5: Label 14(ps_output): 13(ptr) Variable Function 20: 19(ptr) AccessChain 14(ps_output) 16 Store 20 18 - 23:12(PS_OUTPUT) Load 14(ps_output) - Store 22(@entryPointOutput) 23 + 23: 19(ptr) AccessChain 14(ps_output) 16 + 24: 11(fvec4) Load 23 + Store 22(color) 24 Return FunctionEnd 6(MyFunc(): 2 Function None 3 diff --git a/Test/baseResults/hlsl.stringtoken.frag.out b/Test/baseResults/hlsl.stringtoken.frag.out index a7e1e97..42885bc 100644 --- a/Test/baseResults/hlsl.stringtoken.frag.out +++ b/Test/baseResults/hlsl.stringtoken.frag.out @@ -15,10 +15,14 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:19 Sequence -0:19 move second child to first child (temp structure{temp 4-component vector of float Color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color}) -0:19 'psout' (temp structure{temp 4-component vector of float Color}) +0:? Sequence +0:? Sequence +0:19 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:19 Color: direct index for structure (temp 4-component vector of float) +0:19 'psout' (temp structure{temp 4-component vector of float Color}) +0:19 Constant: +0:19 0 (const int) 0:19 Branch: Return 0:? Linker Objects 0:? 'TestTexture' (uniform texture2D) @@ -45,10 +49,14 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:19 Sequence -0:19 move second child to first child (temp structure{temp 4-component vector of float Color}) -0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color}) -0:19 'psout' (temp structure{temp 4-component vector of float Color}) +0:? Sequence +0:? Sequence +0:19 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:19 Color: direct index for structure (temp 4-component vector of float) +0:19 'psout' (temp structure{temp 4-component vector of float Color}) +0:19 Constant: +0:19 0 (const int) 0:19 Branch: Return 0:? Linker Objects 0:? 'TestTexture' (uniform texture2D) @@ -57,23 +65,22 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 29 +// Id's are bound by 28 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 19 28 + EntryPoint Fragment 4 "main" 19 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" Name 10 "psout" - Name 19 "@entryPointOutput" - Name 24 "TestTexture" - Name 26 "TestUF" - Name 28 "Color" - Decorate 24(TestTexture) DescriptorSet 0 - Decorate 28(Color) Location 0 + Name 19 "Color" + Name 25 "TestTexture" + Name 27 "TestUF" + Decorate 19(Color) Location 0 + Decorate 25(TestTexture) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -86,21 +93,20 @@ gl_FragCoord origin is upper left 14: 6(float) Constant 1065353216 15: 7(fvec4) ConstantComposite 13 13 13 14 16: TypePointer Function 7(fvec4) - 18: TypePointer Output 8(PS_OUTPUT) -19(@entryPointOutput): 18(ptr) Variable Output - 22: TypeImage 6(float) 2D sampled format:Unknown - 23: TypePointer UniformConstant 22 - 24(TestTexture): 23(ptr) Variable UniformConstant - 25: TypePointer UniformConstant 7(fvec4) - 26(TestUF): 25(ptr) Variable UniformConstant - 27: TypePointer Output 7(fvec4) - 28(Color): 27(ptr) Variable Output + 18: TypePointer Output 7(fvec4) + 19(Color): 18(ptr) Variable Output + 23: TypeImage 6(float) 2D sampled format:Unknown + 24: TypePointer UniformConstant 23 + 25(TestTexture): 24(ptr) Variable UniformConstant + 26: TypePointer UniformConstant 7(fvec4) + 27(TestUF): 26(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 10(psout): 9(ptr) Variable Function 17: 16(ptr) AccessChain 10(psout) 12 Store 17 15 - 20:8(PS_OUTPUT) Load 10(psout) - Store 19(@entryPointOutput) 20 + 20: 16(ptr) AccessChain 10(psout) 12 + 21: 7(fvec4) Load 20 + Store 19(Color) 21 Return FunctionEnd diff --git a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out index 5436adf..0c00f23 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out @@ -13,7 +13,7 @@ Linked fragment stage: Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 5663 "main" 4045 4656 4112 + EntryPoint Fragment 5663 "main" 4656 4112 ExecutionMode 5663 OriginUpperLeft Decorate 4727 DescriptorSet 0 Decorate 4727 Binding 0 @@ -130,8 +130,6 @@ Linked fragment stage: 138: 13(float) Constant 1065353216 1284: 29(fvec4) ConstantComposite 138 138 138 138 650: TypePointer Function 13(float) - 1670: TypePointer Output 1032(struct) - 4045: 1670(ptr) Variable Output 667: TypePointer Output 29(fvec4) 4656: 667(ptr) Variable Output 651: TypePointer Output 13(float) @@ -214,9 +212,13 @@ Linked fragment stage: 7204: 23(ivec4) ImageSampleImplicitLod 12016 2476 20158: 666(ptr) AccessChain 5072 2571 Store 20158 1284 - 19657: 650(ptr) AccessChain 5072 2574 - Store 19657 138 - 17934:1032(struct) Load 5072 - Store 4045 17934 + 19742: 650(ptr) AccessChain 5072 2574 + Store 19742 138 + 19848: 666(ptr) AccessChain 5072 2571 + 7967: 29(fvec4) Load 19848 + Store 4656 7967 + 16622: 650(ptr) AccessChain 5072 2574 + 11539: 13(float) Load 16622 + Store 4112 11539 Return FunctionEnd diff --git a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out index 546763f..34477d2 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out @@ -7,13 +7,13 @@ Linked fragment stage: // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 189 +// Id's are bound by 190 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 180 186 188 + EntryPoint Fragment 4 "main" 180 184 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 7 "MemberTest" @@ -59,12 +59,11 @@ Linked fragment stage: MemberName 171(PS_OUTPUT) 0 "Color" MemberName 171(PS_OUTPUT) 1 "Depth" Name 173 "psout" - Name 180 "@entryPointOutput" - Name 182 "g_sSamp2d" - Name 183 "g_sSamp2D_b" - Name 184 "g_tTex1df4a" - Name 186 "Color" - Name 188 "Depth" + Name 180 "Color" + Name 184 "Depth" + Name 187 "g_sSamp2d" + Name 188 "g_sSamp2D_b" + Name 189 "g_tTex1df4a" Decorate 41(g_tTex1df4) DescriptorSet 0 Decorate 41(g_tTex1df4) Binding 0 Decorate 45(g_sSamp) DescriptorSet 0 @@ -81,12 +80,12 @@ Linked fragment stage: Decorate 156(g_tTexcdi4) DescriptorSet 0 Decorate 165(g_tTexcdu4) DescriptorSet 0 MemberDecorate 171(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 182(g_sSamp2d) DescriptorSet 0 - Decorate 183(g_sSamp2D_b) DescriptorSet 0 - Decorate 184(g_tTex1df4a) DescriptorSet 0 - Decorate 184(g_tTex1df4a) Binding 1 - Decorate 186(Color) Location 0 - Decorate 188(Depth) BuiltIn FragDepth + Decorate 180(Color) Location 0 + Decorate 184(Depth) BuiltIn FragDepth + Decorate 187(g_sSamp2d) DescriptorSet 0 + Decorate 188(g_sSamp2D_b) DescriptorSet 0 + Decorate 189(g_tTex1df4a) DescriptorSet 0 + Decorate 189(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -186,15 +185,13 @@ Linked fragment stage: 174: 35(float) Constant 1065353216 175: 36(fvec4) ConstantComposite 174 174 174 174 177: TypePointer Function 35(float) - 179: TypePointer Output 171(PS_OUTPUT) -180(@entryPointOutput): 179(ptr) Variable Output - 182(g_sSamp2d): 44(ptr) Variable UniformConstant -183(g_sSamp2D_b): 44(ptr) Variable UniformConstant -184(g_tTex1df4a): 40(ptr) Variable UniformConstant - 185: TypePointer Output 36(fvec4) - 186(Color): 185(ptr) Variable Output - 187: TypePointer Output 35(float) - 188(Depth): 187(ptr) Variable Output + 179: TypePointer Output 36(fvec4) + 180(Color): 179(ptr) Variable Output + 183: TypePointer Output 35(float) + 184(Depth): 183(ptr) Variable Output + 187(g_sSamp2d): 44(ptr) Variable UniformConstant +188(g_sSamp2D_b): 44(ptr) Variable UniformConstant +189(g_tTex1df4a): 40(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(mtest): 8(ptr) Variable Function @@ -299,7 +296,11 @@ Linked fragment stage: Store 176 175 178: 177(ptr) AccessChain 173(psout) 10 Store 178 174 - 181:171(PS_OUTPUT) Load 173(psout) - Store 180(@entryPointOutput) 181 + 181: 37(ptr) AccessChain 173(psout) 23 + 182: 36(fvec4) Load 181 + Store 180(Color) 182 + 185: 177(ptr) AccessChain 173(psout) 10 + 186: 35(float) Load 185 + Store 184(Depth) 186 Return FunctionEnd diff --git a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out index 7ac9e46..b4a792c 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out @@ -7,13 +7,13 @@ Linked fragment stage: // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 189 +// Id's are bound by 190 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 180 186 188 + EntryPoint Fragment 4 "main" 180 184 ExecutionMode 4 OriginUpperLeft Decorate 41 DescriptorSet 0 Decorate 41 Binding 0 @@ -31,12 +31,12 @@ Linked fragment stage: Decorate 156 DescriptorSet 0 Decorate 165 DescriptorSet 0 MemberDecorate 171 1 BuiltIn FragDepth - Decorate 182 DescriptorSet 0 - Decorate 183 DescriptorSet 0 - Decorate 184 DescriptorSet 0 - Decorate 184 Binding 1 - Decorate 186 Location 0 - Decorate 188 BuiltIn FragDepth + Decorate 180 Location 0 + Decorate 184 BuiltIn FragDepth + Decorate 187 DescriptorSet 0 + Decorate 188 DescriptorSet 0 + Decorate 189 DescriptorSet 0 + Decorate 189 Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -136,15 +136,13 @@ Linked fragment stage: 174: 35(float) Constant 1065353216 175: 36(fvec4) ConstantComposite 174 174 174 174 177: TypePointer Function 35(float) - 179: TypePointer Output 171(struct) + 179: TypePointer Output 36(fvec4) 180: 179(ptr) Variable Output - 182: 44(ptr) Variable UniformConstant - 183: 44(ptr) Variable UniformConstant - 184: 40(ptr) Variable UniformConstant - 185: TypePointer Output 36(fvec4) - 186: 185(ptr) Variable Output - 187: TypePointer Output 35(float) - 188: 187(ptr) Variable Output + 183: TypePointer Output 35(float) + 184: 183(ptr) Variable Output + 187: 44(ptr) Variable UniformConstant + 188: 44(ptr) Variable UniformConstant + 189: 40(ptr) Variable UniformConstant 4: 2 Function None 3 5: Label 9: 8(ptr) Variable Function @@ -249,7 +247,11 @@ Linked fragment stage: Store 176 175 178: 177(ptr) AccessChain 173 10 Store 178 174 - 181: 171(struct) Load 173 - Store 180 181 + 181: 37(ptr) AccessChain 173 23 + 182: 36(fvec4) Load 181 + Store 180 182 + 185: 177(ptr) AccessChain 173 10 + 186: 35(float) Load 185 + Store 184 186 Return FunctionEnd diff --git a/Test/hlsl.entry-out.frag b/Test/hlsl.entry-out.frag index 7238991..14f0e45 100644 --- a/Test/hlsl.entry-out.frag +++ b/Test/hlsl.entry-out.frag @@ -3,10 +3,15 @@ struct OutParam { int2 i; }; -float4 PixelShaderFunction(float4 input, out float4 out1, out OutParam out2) : COLOR0 +float4 PixelShaderFunction(float4 input, out float4 out1, out OutParam out2, out OutParam out3) : COLOR0 { out1 = input; out2.v = 2.0; out2.i = 3; + OutParam local; + local.v = 12.0; + local.i = 13; + out3 = local; + return out1; } diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h index ad54631..5ffcb46 100644 --- a/glslang/Include/revision.h +++ b/glslang/Include/revision.h @@ -2,5 +2,5 @@ // For the version, it uses the latest git tag followed by the number of commits. // For the date, it uses the current date (when then script is run). -#define GLSLANG_REVISION "Overload400-PrecQual.1487" +#define GLSLANG_REVISION "Overload400-PrecQual.1489" #define GLSLANG_DATE "16-Sep-2016" diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp index bad6034..d0ff3cd 100755 --- a/hlsl/hlslGrammar.cpp +++ b/hlsl/hlslGrammar.cpp @@ -1672,7 +1672,7 @@ bool HlslGrammar::acceptAssignmentExpression(TIntermTyped*& node) return false; } - node = intermediate.addAssign(assignOp, node, rightNode, loc); + node = parseContext.handleAssign(loc, assignOp, node, rightNode); if (node == nullptr) { parseContext.error(loc, "could not create assignment", "", ""); return false; diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp index e80505a..d97bf2a 100755 --- a/hlsl/hlslParseHelper.cpp +++ b/hlsl/hlslParseHelper.cpp @@ -1011,7 +1011,7 @@ TIntermNode* HlslParseContext::handleReturnValue(const TSourceLoc& loc, TIntermT assert(entryPointOutput != nullptr); // should have been error tested at the beginning TIntermSymbol* left = new TIntermSymbol(entryPointOutput->getUniqueId(), entryPointOutput->getName(), entryPointOutput->getType()); - TIntermNode* returnSequence = intermediate.addAssign(EOpAssign, left, converted, loc); + TIntermNode* returnSequence = handleAssign(loc, EOpAssign, left, converted); returnSequence = intermediate.makeAggregate(returnSequence); returnSequence = intermediate.growAggregate(returnSequence, intermediate.addBranch(EOpReturn, loc)); returnSequence->getAsAggregate()->setOperator(EOpSequence); @@ -1032,6 +1032,32 @@ void HlslParseContext::handleFunctionArgument(TFunction* function, TIntermTyped* arguments = newArg; } +// Some simple source assignments need to be flattened to a sequence +// of AST assignments. Catch these and flatten, otherwise, pass through +// to intermediate.addAssign(). +TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op, TIntermTyped* left, TIntermTyped* right) +{ + if (! shouldFlatten(left->getType()) || + ! left->getAsSymbolNode() || + flattenMap.find(left->getAsSymbolNode()->getId()) == flattenMap.end()) + return intermediate.addAssign(op, left, right, loc); + + // If we get here, we are assigning a whole struct to a flattened l-value, so have to + // do member-by-member assignment: + const auto& members = *left->getType().getStruct(); + const auto& memberVariables = flattenMap[left->getAsSymbolNode()->getId()]; + TIntermAggregate* assignList = nullptr; + for (int member = 0; member < (int)memberVariables.size(); ++member) { + TIntermTyped* subRight = intermediate.addIndex(EOpIndexDirectStruct, right, intermediate.addConstantUnion(member, loc), loc); + subRight->setType(*members[member].type); + TIntermTyped* subLeft = intermediate.addSymbol(*memberVariables[member]); + assignList = intermediate.growAggregate(assignList, intermediate.addAssign(op, subLeft, subRight, loc)); + } + assignList->setOperator(EOpSequence); + + return assignList; +} + // // HLSL atomic operations have slightly different arguments than // GLSL/AST/SPIRV. The semantics are converted below in decomposeIntrinsic. diff --git a/hlsl/hlslParseHelper.h b/hlsl/hlslParseHelper.h index d75b3d7..ccdf771 100755 --- a/hlsl/hlslParseHelper.h +++ b/hlsl/hlslParseHelper.h @@ -94,6 +94,7 @@ public: void remapNonEntrypointIO(TFunction& function); TIntermNode* handleReturnValue(const TSourceLoc&, TIntermTyped*); void handleFunctionArgument(TFunction*, TIntermTyped*& arguments, TIntermTyped* newArg); + TIntermTyped* handleAssign(const TSourceLoc&, TOperator, TIntermTyped* left, TIntermTyped* right); TIntermTyped* handleFunctionCall(const TSourceLoc&, TFunction*, TIntermNode*); void decomposeIntrinsic(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments); void decomposeSampleMethods(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments); @@ -238,7 +239,7 @@ protected: // TVector ioArraySymbolResizeList; - TUnorderedMap> flattenMap; + TMap> flattenMap; unsigned int nextInLocation; unsigned int nextOutLocation; }; -- 2.7.4