From fea226ba43e12b349e9e6a1966827fcf1d3c6eac Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Thu, 28 Jul 2016 17:53:56 -0600 Subject: [PATCH] HLSL: Add shape conversions for scalar -> vector assigments. Also, this allows turning on the error check for a failed assigment when parsing. This makes 39 HLSL tests have a working assignment that was previously silently dropped, due to lack of this functionality. --- .../hlsl.calculatelod.dx10.frag.out | 44 +++- .../hlsl.calculatelodunclamped.dx10.frag.out | 20 ++ .../hlsl.gather.array.dx10.frag.out | 73 ++++-- .../hlsl.gather.basic.dx10.frag.out | 111 +++++---- .../hlsl.gather.offset.dx10.frag.out | 131 +++++----- .../hlsl.gather.offsetarray.dx10.frag.out | 71 ++++-- .../hlsl.getdimensions.dx10.frag.out | 49 +++- .../hlsl.getsampleposition.dx10.frag.out | 20 ++ Test/baseResults/hlsl.load.2dms.dx10.frag.out | 73 ++++-- .../baseResults/hlsl.load.array.dx10.frag.out | 225 ++++++++++-------- .../baseResults/hlsl.load.basic.dx10.frag.out | 189 ++++++++------- .../hlsl.load.buffer.dx10.frag.out | 82 ++++--- .../hlsl.load.offset.dx10.frag.out | 177 ++++++++------ .../hlsl.load.offsetarray.dx10.frag.out | 215 +++++++++-------- .../baseResults/hlsl.numericsuffixes.frag.out | 29 ++- .../hlsl.sample.array.dx10.frag.out | 44 +++- .../hlsl.sample.basic.dx10.frag.out | 53 +++-- .../hlsl.sample.offset.dx10.frag.out | 71 ++++-- .../hlsl.sample.offsetarray.dx10.frag.out | 41 +++- .../hlsl.samplebias.array.dx10.frag.out | 44 +++- .../hlsl.samplebias.basic.dx10.frag.out | 44 +++- .../hlsl.samplebias.offset.dx10.frag.out | 71 ++++-- .../hlsl.samplebias.offsetarray.dx10.frag.out | 41 +++- .../hlsl.samplecmp.array.dx10.frag.out | 157 +++++++----- .../hlsl.samplecmp.basic.dx10.frag.out | 157 +++++++----- .../hlsl.samplecmp.offset.dx10.frag.out | 187 ++++++++------- .../hlsl.samplecmp.offsetarray.dx10.frag.out | 187 ++++++++------- ...lsl.samplecmplevelzero.array.dx10.frag.out | 157 +++++++----- ...lsl.samplecmplevelzero.basic.dx10.frag.out | 157 +++++++----- ...sl.samplecmplevelzero.offset.dx10.frag.out | 187 ++++++++------- ...mplecmplevelzero.offsetarray.dx10.frag.out | 187 ++++++++------- .../hlsl.samplegrad.array.dx10.frag.out | 44 +++- .../hlsl.samplegrad.basic.dx10.frag.out | 44 +++- .../hlsl.samplegrad.offset.dx10.frag.out | 71 ++++-- .../hlsl.samplegrad.offsetarray.dx10.frag.out | 71 ++++-- .../hlsl.samplelevel.array.dx10.frag.out | 44 +++- .../hlsl.samplelevel.basic.dx10.frag.out | 50 +++- .../hlsl.samplelevel.offset.dx10.frag.out | 71 ++++-- ...hlsl.samplelevel.offsetarray.dx10.frag.out | 41 +++- Test/baseResults/hlsl.shapeConv.frag.out | 152 ++++++++++++ Test/hlsl.shapeConv.frag | 13 + glslang/Include/revision.h | 2 +- glslang/MachineIndependent/Intermediate.cpp | 74 +++++- .../MachineIndependent/localintermediate.h | 1 + gtests/Hlsl.FromFile.cpp | 1 + hlsl/hlslGrammar.cpp | 11 +- 46 files changed, 2571 insertions(+), 1413 deletions(-) create mode 100755 Test/baseResults/hlsl.shapeConv.frag.out create mode 100644 Test/hlsl.shapeConv.frag diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out index a48351cd..7319a196 100644 --- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out @@ -122,6 +122,16 @@ gl_FragCoord origin is upper left 0:? 0.900000 0:38 Constant: 0:38 0 (const int) +0:40 move second child to first child (temp 4-component vector of float) +0:40 Color: direct index for structure (temp 4-component vector of float) +0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 Constant: +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 0:41 move second child to first child (temp float) 0:41 Depth: direct index for structure (temp float FragDepth) 0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -271,6 +281,16 @@ gl_FragCoord origin is upper left 0:? 0.900000 0:38 Constant: 0:38 0 (const int) +0:40 move second child to first child (temp 4-component vector of float) +0:40 Color: direct index for structure (temp 4-component vector of float) +0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 Constant: +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 0:41 move second child to first child (temp float) 0:41 Depth: direct index for structure (temp float FragDepth) 0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -295,7 +315,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 140 +// Id's are bound by 143 Capability Shader Capability Sampled1D @@ -330,7 +350,7 @@ gl_FragCoord origin is upper left MemberName 131(PS_OUTPUT) 0 "Color" MemberName 131(PS_OUTPUT) 1 "Depth" Name 133 "psout" - Name 139 "g_tTex1df4" + Name 142 "g_tTex1df4" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 29(g_tTex1di4a) DescriptorSet 0 @@ -342,7 +362,7 @@ 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 139(g_tTex1df4) DescriptorSet 0 + Decorate 142(g_tTex1df4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -409,9 +429,11 @@ gl_FragCoord origin is upper left 130: TypeVector 6(float) 4 131(PS_OUTPUT): TypeStruct 130(fvec4) 6(float) 132: TypePointer Function 131(PS_OUTPUT) - 134: 23(int) Constant 1 - 135: 6(float) Constant 1065353216 - 139(g_tTex1df4): 10(ptr) Variable UniformConstant + 134: 6(float) Constant 1065353216 + 135: 130(fvec4) ConstantComposite 134 134 134 134 + 136: TypePointer Function 130(fvec4) + 138: 23(int) Constant 1 + 142(g_tTex1df4): 10(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(txval10): 7(ptr) Variable Function @@ -487,8 +509,10 @@ gl_FragCoord origin is upper left 128: 21(fvec2) ImageQueryLod 127 126 129: 6(float) CompositeExtract 128 0 Store 115(txval42) 129 - 136: 7(ptr) AccessChain 133(psout) 134 - Store 136 135 - 137:131(PS_OUTPUT) Load 133(psout) - ReturnValue 137 + 137: 136(ptr) AccessChain 133(psout) 24 + Store 137 135 + 139: 7(ptr) AccessChain 133(psout) 138 + Store 139 134 + 140:131(PS_OUTPUT) Load 133(psout) + ReturnValue 140 FunctionEnd diff --git a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out index 11a52b58..b55a36be 100644 --- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out @@ -134,6 +134,16 @@ ERROR: node is still EOpNull! 0:? 0.900000 0:38 Constant: 0:38 0 (const int) +0:40 move second child to first child (temp 4-component vector of float) +0:40 Color: direct index for structure (temp 4-component vector of float) +0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 Constant: +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 0:41 move second child to first child (temp float) 0:41 Depth: direct index for structure (temp float FragDepth) 0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -283,6 +293,16 @@ ERROR: node is still EOpNull! 0:? 0.900000 0:38 Constant: 0:38 0 (const int) +0:40 move second child to first child (temp 4-component vector of float) +0:40 Color: direct index for structure (temp 4-component vector of float) +0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 Constant: +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 0:41 move second child to first child (temp float) 0:41 Depth: direct index for structure (temp float FragDepth) 0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out index 041af2d4..e63ab53c 100644 --- a/Test/baseResults/hlsl.gather.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out @@ -74,6 +74,16 @@ gl_FragCoord origin is upper left 0:? 0.800000 0:? 0.900000 0:? 1.000000 +0:39 move second child to first child (temp 4-component vector of float) +0:39 Color: direct index for structure (temp 4-component vector of float) +0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 Constant: +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 0:40 move second child to first child (temp float) 0:40 Depth: direct index for structure (temp float FragDepth) 0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -175,6 +185,16 @@ gl_FragCoord origin is upper left 0:? 0.800000 0:? 0.900000 0:? 1.000000 +0:39 move second child to first child (temp 4-component vector of float) +0:39 Color: direct index for structure (temp 4-component vector of float) +0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 Constant: +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 0:40 move second child to first child (temp float) 0:40 Depth: direct index for structure (temp float FragDepth) 0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -199,7 +219,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 108 +// Id's are bound by 110 Capability Shader Capability Sampled1D @@ -227,10 +247,10 @@ gl_FragCoord origin is upper left MemberName 90(PS_OUTPUT) 0 "Color" MemberName 90(PS_OUTPUT) 1 "Depth" Name 92 "psout" - Name 100 "g_tTex1df4a" - Name 101 "g_tTex1df4" - Name 104 "g_tTex1di4a" - Name 107 "g_tTex1du4a" + Name 102 "g_tTex1df4a" + Name 103 "g_tTex1df4" + Name 106 "g_tTex1di4a" + Name 109 "g_tTex1du4a" Decorate 12(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex2di4a) DescriptorSet 0 @@ -239,10 +259,10 @@ 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 100(g_tTex1df4a) DescriptorSet 0 - Decorate 101(g_tTex1df4) DescriptorSet 0 - Decorate 104(g_tTex1di4a) DescriptorSet 0 - Decorate 107(g_tTex1du4a) DescriptorSet 0 + Decorate 102(g_tTex1df4a) DescriptorSet 0 + Decorate 103(g_tTex1df4) DescriptorSet 0 + Decorate 106(g_tTex1di4a) DescriptorSet 0 + Decorate 109(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -301,18 +321,19 @@ gl_FragCoord origin is upper left 88: 7(fvec4) ConstantComposite 54 85 86 87 90(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 91: TypePointer Function 90(PS_OUTPUT) - 93: 25(int) Constant 1 - 94: TypePointer Function 6(float) - 98: TypeImage 6(float) 1D array sampled format:Unknown - 99: TypePointer UniformConstant 98 -100(g_tTex1df4a): 99(ptr) Variable UniformConstant - 101(g_tTex1df4): 99(ptr) Variable UniformConstant - 102: TypeImage 25(int) 1D array sampled format:Unknown - 103: TypePointer UniformConstant 102 -104(g_tTex1di4a): 103(ptr) Variable UniformConstant - 105: TypeImage 42(int) 1D array sampled format:Unknown - 106: TypePointer UniformConstant 105 -107(g_tTex1du4a): 106(ptr) Variable UniformConstant + 93: 7(fvec4) ConstantComposite 87 87 87 87 + 95: 25(int) Constant 1 + 96: TypePointer Function 6(float) + 100: TypeImage 6(float) 1D array sampled format:Unknown + 101: TypePointer UniformConstant 100 +102(g_tTex1df4a): 101(ptr) Variable UniformConstant + 103(g_tTex1df4): 101(ptr) Variable UniformConstant + 104: TypeImage 25(int) 1D array sampled format:Unknown + 105: TypePointer UniformConstant 104 +106(g_tTex1di4a): 105(ptr) Variable UniformConstant + 107: TypeImage 42(int) 1D array sampled format:Unknown + 108: TypePointer UniformConstant 107 +109(g_tTex1du4a): 108(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -352,8 +373,10 @@ gl_FragCoord origin is upper left 84: 83 SampledImage 81 82 89: 43(ivec4) ImageGather 84 88 26 Store 77(txval42) 89 - 95: 94(ptr) AccessChain 92(psout) 93 - Store 95 87 - 96:90(PS_OUTPUT) Load 92(psout) - ReturnValue 96 + 94: 8(ptr) AccessChain 92(psout) 26 + Store 94 93 + 97: 96(ptr) AccessChain 92(psout) 95 + Store 97 87 + 98:90(PS_OUTPUT) Load 92(psout) + ReturnValue 98 FunctionEnd diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out index 1e51f292..f4918049 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out @@ -68,6 +68,16 @@ gl_FragCoord origin is upper left 0:? 0.700000 0:? 0.800000 0:? 0.900000 +0:44 move second child to first child (temp 4-component vector of float) +0:44 Color: direct index for structure (temp 4-component vector of float) +0:44 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:44 Constant: +0:44 0 (const int) +0:44 Constant: +0:44 1.000000 +0:44 1.000000 +0:44 1.000000 +0:44 1.000000 0:45 move second child to first child (temp float) 0:45 Depth: direct index for structure (temp float FragDepth) 0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -167,6 +177,16 @@ gl_FragCoord origin is upper left 0:? 0.700000 0:? 0.800000 0:? 0.900000 +0:44 move second child to first child (temp 4-component vector of float) +0:44 Color: direct index for structure (temp 4-component vector of float) +0:44 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:44 Constant: +0:44 0 (const int) +0:44 Constant: +0:44 1.000000 +0:44 1.000000 +0:44 1.000000 +0:44 1.000000 0:45 move second child to first child (temp float) 0:45 Depth: direct index for structure (temp float FragDepth) 0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -195,7 +215,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 119 +// Id's are bound by 121 Capability Shader Capability Sampled1D @@ -222,14 +242,14 @@ gl_FragCoord origin is upper left MemberName 90(PS_OUTPUT) 0 "Color" MemberName 90(PS_OUTPUT) 1 "Depth" Name 92 "psout" - Name 99 "g_sSamp2d" - Name 102 "g_tTex1df4a" - Name 103 "g_tTex1df4" - Name 106 "g_tTex1di4" - Name 109 "g_tTex1du4" - Name 112 "g_tTex3df4" - Name 115 "g_tTex3di4" - Name 118 "g_tTex3du4" + 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 32(g_tTex2di4) DescriptorSet 0 @@ -238,14 +258,14 @@ 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 99(g_sSamp2d) DescriptorSet 0 - Decorate 102(g_tTex1df4a) DescriptorSet 0 - Decorate 103(g_tTex1df4) DescriptorSet 0 - Decorate 106(g_tTex1di4) DescriptorSet 0 - Decorate 109(g_tTex1du4) DescriptorSet 0 - Decorate 112(g_tTex3df4) DescriptorSet 0 - Decorate 115(g_tTex3di4) DescriptorSet 0 - Decorate 118(g_tTex3du4) DescriptorSet 0 + Decorate 101(g_sSamp2d) DescriptorSet 0 + Decorate 104(g_tTex1df4a) DescriptorSet 0 + Decorate 105(g_tTex1df4) DescriptorSet 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 @@ -304,29 +324,30 @@ gl_FragCoord origin is upper left 88: 64(fvec3) ConstantComposite 85 86 87 90(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 91: TypePointer Function 90(PS_OUTPUT) - 93: 24(int) Constant 1 - 94: 6(float) Constant 1065353216 - 95: TypePointer Function 6(float) - 99(g_sSamp2d): 15(ptr) Variable UniformConstant - 100: TypeImage 6(float) 1D sampled format:Unknown - 101: TypePointer UniformConstant 100 -102(g_tTex1df4a): 101(ptr) Variable UniformConstant - 103(g_tTex1df4): 101(ptr) Variable UniformConstant - 104: TypeImage 24(int) 1D sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTex1di4): 105(ptr) Variable UniformConstant - 107: TypeImage 41(int) 1D sampled format:Unknown - 108: TypePointer UniformConstant 107 - 109(g_tTex1du4): 108(ptr) Variable UniformConstant - 110: TypeImage 6(float) 3D sampled format:Unknown - 111: TypePointer UniformConstant 110 - 112(g_tTex3df4): 111(ptr) Variable UniformConstant - 113: TypeImage 24(int) 3D sampled format:Unknown - 114: TypePointer UniformConstant 113 - 115(g_tTex3di4): 114(ptr) Variable UniformConstant - 116: TypeImage 41(int) 3D sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTex3du4): 117(ptr) Variable UniformConstant + 93: 6(float) Constant 1065353216 + 94: 7(fvec4) ConstantComposite 93 93 93 93 + 96: 24(int) Constant 1 + 97: TypePointer Function 6(float) + 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 @@ -366,8 +387,10 @@ gl_FragCoord origin is upper left 84: 83 SampledImage 81 82 89: 42(ivec4) ImageGather 84 88 25 Store 77(txval42) 89 - 96: 95(ptr) AccessChain 92(psout) 93 - Store 96 94 - 97:90(PS_OUTPUT) Load 92(psout) - ReturnValue 97 + 95: 8(ptr) AccessChain 92(psout) 25 + Store 95 94 + 98: 97(ptr) AccessChain 92(psout) 96 + Store 98 93 + 99:90(PS_OUTPUT) Load 92(psout) + ReturnValue 99 FunctionEnd diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out index d818d45b..7a081653 100644 --- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out @@ -44,6 +44,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 1 (const int) 0:? -1 (const int) +0:40 move second child to first child (temp 4-component vector of float) +0:40 Color: direct index for structure (temp 4-component vector of float) +0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 Constant: +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 0:41 move second child to first child (temp float) 0:41 Depth: direct index for structure (temp float FragDepth) 0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -118,6 +128,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 1 (const int) 0:? -1 (const int) +0:40 move second child to first child (temp 4-component vector of float) +0:40 Color: direct index for structure (temp 4-component vector of float) +0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 Constant: +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 0:41 move second child to first child (temp float) 0:41 Depth: direct index for structure (temp float FragDepth) 0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -145,7 +165,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 98 +// Id's are bound by 100 Capability Shader Capability Sampled1D @@ -166,31 +186,31 @@ gl_FragCoord origin is upper left MemberName 62(PS_OUTPUT) 0 "Color" MemberName 62(PS_OUTPUT) 1 "Depth" Name 64 "psout" - Name 72 "g_tTex1df4a" - Name 73 "g_tTex1df4" - Name 76 "g_tTex1di4" - Name 79 "g_tTex1du4" - Name 82 "g_tTex3df4" - Name 85 "g_tTex3di4" - Name 88 "g_tTex3du4" - Name 91 "g_tTexcdf4" - Name 94 "g_tTexcdi4" - Name 97 "g_tTexcdu4" + Name 74 "g_tTex1df4a" + Name 75 "g_tTex1df4" + Name 78 "g_tTex1di4" + Name 81 "g_tTex1du4" + Name 84 "g_tTex3df4" + Name 87 "g_tTex3di4" + Name 90 "g_tTex3du4" + Name 93 "g_tTexcdf4" + Name 96 "g_tTexcdi4" + Name 99 "g_tTexcdu4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 35(g_tTex2di4) DescriptorSet 0 Decorate 51(g_tTex2du4) DescriptorSet 0 MemberDecorate 62(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 72(g_tTex1df4a) DescriptorSet 0 - Decorate 73(g_tTex1df4) DescriptorSet 0 - Decorate 76(g_tTex1di4) DescriptorSet 0 - Decorate 79(g_tTex1du4) DescriptorSet 0 - Decorate 82(g_tTex3df4) DescriptorSet 0 - Decorate 85(g_tTex3di4) DescriptorSet 0 - Decorate 88(g_tTex3du4) DescriptorSet 0 - Decorate 91(g_tTexcdf4) DescriptorSet 0 - Decorate 94(g_tTexcdi4) DescriptorSet 0 - Decorate 97(g_tTexcdu4) DescriptorSet 0 + Decorate 74(g_tTex1df4a) DescriptorSet 0 + Decorate 75(g_tTex1df4) DescriptorSet 0 + Decorate 78(g_tTex1di4) DescriptorSet 0 + Decorate 81(g_tTex1du4) DescriptorSet 0 + Decorate 84(g_tTex3df4) DescriptorSet 0 + Decorate 87(g_tTex3di4) DescriptorSet 0 + Decorate 90(g_tTex3du4) DescriptorSet 0 + Decorate 93(g_tTexcdf4) DescriptorSet 0 + Decorate 96(g_tTexcdi4) DescriptorSet 0 + Decorate 99(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -237,35 +257,36 @@ gl_FragCoord origin is upper left 62(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 63: TypePointer Function 62(PS_OUTPUT) 65: 6(float) Constant 1065353216 - 66: TypePointer Function 6(float) - 70: TypeImage 6(float) 1D sampled format:Unknown - 71: TypePointer UniformConstant 70 - 72(g_tTex1df4a): 71(ptr) Variable UniformConstant - 73(g_tTex1df4): 71(ptr) Variable UniformConstant - 74: TypeImage 24(int) 1D sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex1di4): 75(ptr) Variable UniformConstant - 77: TypeImage 45(int) 1D sampled format:Unknown - 78: TypePointer UniformConstant 77 - 79(g_tTex1du4): 78(ptr) Variable UniformConstant - 80: TypeImage 6(float) 3D sampled format:Unknown - 81: TypePointer UniformConstant 80 - 82(g_tTex3df4): 81(ptr) Variable UniformConstant - 83: TypeImage 24(int) 3D sampled format:Unknown - 84: TypePointer UniformConstant 83 - 85(g_tTex3di4): 84(ptr) Variable UniformConstant - 86: TypeImage 45(int) 3D sampled format:Unknown - 87: TypePointer UniformConstant 86 - 88(g_tTex3du4): 87(ptr) Variable UniformConstant - 89: TypeImage 6(float) Cube sampled format:Unknown - 90: TypePointer UniformConstant 89 - 91(g_tTexcdf4): 90(ptr) Variable UniformConstant - 92: TypeImage 24(int) Cube sampled format:Unknown - 93: TypePointer UniformConstant 92 - 94(g_tTexcdi4): 93(ptr) Variable UniformConstant - 95: TypeImage 45(int) Cube sampled format:Unknown - 96: TypePointer UniformConstant 95 - 97(g_tTexcdu4): 96(ptr) Variable UniformConstant + 66: 7(fvec4) ConstantComposite 65 65 65 65 + 68: TypePointer Function 6(float) + 72: TypeImage 6(float) 1D sampled format:Unknown + 73: TypePointer UniformConstant 72 + 74(g_tTex1df4a): 73(ptr) Variable UniformConstant + 75(g_tTex1df4): 73(ptr) Variable UniformConstant + 76: TypeImage 24(int) 1D sampled format:Unknown + 77: TypePointer UniformConstant 76 + 78(g_tTex1di4): 77(ptr) Variable UniformConstant + 79: TypeImage 45(int) 1D sampled format:Unknown + 80: TypePointer UniformConstant 79 + 81(g_tTex1du4): 80(ptr) Variable UniformConstant + 82: TypeImage 6(float) 3D sampled format:Unknown + 83: TypePointer UniformConstant 82 + 84(g_tTex3df4): 83(ptr) Variable UniformConstant + 85: TypeImage 24(int) 3D sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex3di4): 86(ptr) Variable UniformConstant + 88: TypeImage 45(int) 3D sampled format:Unknown + 89: TypePointer UniformConstant 88 + 90(g_tTex3du4): 89(ptr) Variable UniformConstant + 91: TypeImage 6(float) Cube sampled format:Unknown + 92: TypePointer UniformConstant 91 + 93(g_tTexcdf4): 92(ptr) Variable UniformConstant + 94: TypeImage 24(int) Cube sampled format:Unknown + 95: TypePointer UniformConstant 94 + 96(g_tTexcdi4): 95(ptr) Variable UniformConstant + 97: TypeImage 45(int) Cube sampled format:Unknown + 98: TypePointer UniformConstant 97 + 99(g_tTexcdu4): 98(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -287,8 +308,10 @@ gl_FragCoord origin is upper left 55: 54 SampledImage 52 53 61: 46(ivec4) ImageGather 55 58 27 ConstOffset 60 Store 48(txval22) 61 - 67: 66(ptr) AccessChain 64(psout) 26 - Store 67 65 - 68:62(PS_OUTPUT) Load 64(psout) - ReturnValue 68 + 67: 8(ptr) AccessChain 64(psout) 27 + Store 67 66 + 69: 68(ptr) AccessChain 64(psout) 26 + Store 69 65 + 70:62(PS_OUTPUT) Load 64(psout) + ReturnValue 70 FunctionEnd diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out index 8d00a592..73143987 100644 --- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out @@ -47,6 +47,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 1 (const int) 0:? -1 (const int) +0:32 move second child to first child (temp 4-component vector of float) +0:32 Color: direct index for structure (temp 4-component vector of float) +0:32 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:32 Constant: +0:32 0 (const int) +0:32 Constant: +0:32 1.000000 +0:32 1.000000 +0:32 1.000000 +0:32 1.000000 0:33 move second child to first child (temp float) 0:33 Depth: direct index for structure (temp float FragDepth) 0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -118,6 +128,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 1 (const int) 0:? -1 (const int) +0:32 move second child to first child (temp 4-component vector of float) +0:32 Color: direct index for structure (temp 4-component vector of float) +0:32 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:32 Constant: +0:32 0 (const int) +0:32 Constant: +0:32 1.000000 +0:32 1.000000 +0:32 1.000000 +0:32 1.000000 0:33 move second child to first child (temp float) 0:33 Depth: direct index for structure (temp float FragDepth) 0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -139,7 +159,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 81 +// Id's are bound by 83 Capability Shader Capability Sampled1D @@ -160,19 +180,19 @@ gl_FragCoord origin is upper left MemberName 63(PS_OUTPUT) 0 "Color" MemberName 63(PS_OUTPUT) 1 "Depth" Name 65 "psout" - Name 73 "g_tTex1df4a" - Name 74 "g_tTex1df4" - Name 77 "g_tTex1di4" - Name 80 "g_tTex1du4" + Name 75 "g_tTex1df4a" + Name 76 "g_tTex1df4" + Name 79 "g_tTex1di4" + Name 82 "g_tTex1du4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex2di4) DescriptorSet 0 Decorate 51(g_tTex2du4) DescriptorSet 0 MemberDecorate 63(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 73(g_tTex1df4a) DescriptorSet 0 - Decorate 74(g_tTex1df4) DescriptorSet 0 - Decorate 77(g_tTex1di4) DescriptorSet 0 - Decorate 80(g_tTex1du4) DescriptorSet 0 + Decorate 75(g_tTex1df4a) DescriptorSet 0 + Decorate 76(g_tTex1df4) DescriptorSet 0 + Decorate 79(g_tTex1di4) DescriptorSet 0 + Decorate 82(g_tTex1du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -220,17 +240,18 @@ gl_FragCoord origin is upper left 63(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 64: TypePointer Function 63(PS_OUTPUT) 66: 6(float) Constant 1065353216 - 67: TypePointer Function 6(float) - 71: TypeImage 6(float) 1D array sampled format:Unknown - 72: TypePointer UniformConstant 71 - 73(g_tTex1df4a): 72(ptr) Variable UniformConstant - 74(g_tTex1df4): 72(ptr) Variable UniformConstant - 75: TypeImage 25(int) 1D array sampled format:Unknown - 76: TypePointer UniformConstant 75 - 77(g_tTex1di4): 76(ptr) Variable UniformConstant - 78: TypeImage 45(int) 1D array sampled format:Unknown - 79: TypePointer UniformConstant 78 - 80(g_tTex1du4): 79(ptr) Variable UniformConstant + 67: 7(fvec4) ConstantComposite 66 66 66 66 + 69: TypePointer Function 6(float) + 73: TypeImage 6(float) 1D array sampled format:Unknown + 74: TypePointer UniformConstant 73 + 75(g_tTex1df4a): 74(ptr) Variable UniformConstant + 76(g_tTex1df4): 74(ptr) Variable UniformConstant + 77: TypeImage 25(int) 1D array sampled format:Unknown + 78: TypePointer UniformConstant 77 + 79(g_tTex1di4): 78(ptr) Variable UniformConstant + 80: TypeImage 45(int) 1D array sampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(g_tTex1du4): 81(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -252,8 +273,10 @@ gl_FragCoord origin is upper left 55: 54 SampledImage 52 53 62: 46(ivec4) ImageGather 55 59 28 ConstOffset 61 Store 48(txval22) 62 - 68: 67(ptr) AccessChain 65(psout) 27 - Store 68 66 - 69:63(PS_OUTPUT) Load 65(psout) - ReturnValue 69 + 68: 8(ptr) AccessChain 65(psout) 28 + Store 68 67 + 70: 69(ptr) AccessChain 65(psout) 27 + Store 70 66 + 71:63(PS_OUTPUT) Load 65(psout) + ReturnValue 71 FunctionEnd diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out index e0c8662d..56d83be9 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out @@ -1043,6 +1043,16 @@ gl_FragCoord origin is upper left 0:164 'NumberOfSamplesU' (temp uint) 0:164 imageQuerySamples (temp uint) 0:164 'g_tTex2dmsu4a' (uniform utexture2DMSArray) +0:276 move second child to first child (temp 4-component vector of float) +0:276 Color: direct index for structure (temp 4-component vector of float) +0:276 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:276 Constant: +0:276 0 (const int) +0:276 Constant: +0:276 1.000000 +0:276 1.000000 +0:276 1.000000 +0:276 1.000000 0:277 move second child to first child (temp float) 0:277 Depth: direct index for structure (temp float FragDepth) 0:277 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -2130,6 +2140,16 @@ gl_FragCoord origin is upper left 0:164 'NumberOfSamplesU' (temp uint) 0:164 imageQuerySamples (temp uint) 0:164 'g_tTex2dmsu4a' (uniform utexture2DMSArray) +0:276 move second child to first child (temp 4-component vector of float) +0:276 Color: direct index for structure (temp 4-component vector of float) +0:276 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:276 Constant: +0:276 0 (const int) +0:276 Constant: +0:276 1.000000 +0:276 1.000000 +0:276 1.000000 +0:276 1.000000 0:277 move second child to first child (temp float) 0:277 Depth: direct index for structure (temp float FragDepth) 0:277 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -2171,7 +2191,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 534 +// Id's are bound by 538 Capability Shader Capability Sampled1D @@ -2269,7 +2289,7 @@ gl_FragCoord origin is upper left MemberName 522(PS_OUTPUT) 0 "Color" MemberName 522(PS_OUTPUT) 1 "Depth" Name 524 "psout" - Name 533 "g_sSamp" + Name 537 "g_sSamp" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 29(g_tTex1di4) DescriptorSet 0 Decorate 42(g_tTex1du4) DescriptorSet 0 @@ -2298,7 +2318,7 @@ 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 533(g_sSamp) DescriptorSet 0 + Decorate 537(g_sSamp) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -2399,12 +2419,15 @@ gl_FragCoord origin is upper left 521: TypeVector 9(float) 4 522(PS_OUTPUT): TypeStruct 521(fvec4) 9(float) 523: TypePointer Function 522(PS_OUTPUT) - 525: 14(int) Constant 1 + 525: 14(int) Constant 0 526: 9(float) Constant 1065353216 - 527: TypePointer Function 9(float) - 531: TypeSampler - 532: TypePointer UniformConstant 531 - 533(g_sSamp): 532(ptr) Variable UniformConstant + 527: 521(fvec4) ConstantComposite 526 526 526 526 + 528: TypePointer Function 521(fvec4) + 530: 14(int) Constant 1 + 531: TypePointer Function 9(float) + 535: TypeSampler + 536: TypePointer UniformConstant 535 + 537(g_sSamp): 536(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(sizeQueryTemp): 7(ptr) Variable Function @@ -3014,8 +3037,10 @@ gl_FragCoord origin is upper left 519: 508 Load 510(g_tTex2dmsu4a) 520: 14(int) ImageQuerySamples 519 Store 452(NumberOfSamplesU) 520 - 528: 527(ptr) AccessChain 524(psout) 525 - Store 528 526 - 529:522(PS_OUTPUT) Load 524(psout) - ReturnValue 529 + 529: 528(ptr) AccessChain 524(psout) 525 + Store 529 527 + 532: 531(ptr) AccessChain 524(psout) 530 + Store 532 526 + 533:522(PS_OUTPUT) Load 524(psout) + ReturnValue 533 FunctionEnd diff --git a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out index ae9d3aef..c1bb40ec 100644 --- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out +++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out @@ -26,6 +26,16 @@ ERROR: node is still EOpNull! 0:17 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:17 Constant: 0:17 2 (const int) +0:19 move second child to first child (temp 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, temp float FragDepth Depth}) +0:19 Constant: +0:19 0 (const int) +0:19 Constant: +0:19 1.000000 +0:19 1.000000 +0:19 1.000000 +0:19 1.000000 0:20 move second child to first child (temp float) 0:20 Depth: direct index for structure (temp float FragDepth) 0:20 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -66,6 +76,16 @@ ERROR: node is still EOpNull! 0:17 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:17 Constant: 0:17 2 (const int) +0:19 move second child to first child (temp 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, temp float FragDepth Depth}) +0:19 Constant: +0:19 0 (const int) +0:19 Constant: +0:19 1.000000 +0:19 1.000000 +0:19 1.000000 +0:19 1.000000 0:20 move second child to first child (temp float) 0:20 Depth: direct index for structure (temp float FragDepth) 0:20 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out index 41cdb4a6..969bd7ff 100644 --- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out +++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out @@ -71,6 +71,16 @@ gl_FragCoord origin is upper left 0:49 Constant: 0:49 3 (const int) 0:49 'o2' (uniform 2-component vector of int) +0:51 move second child to first child (temp 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 Constant: +0:51 1.000000 +0:51 1.000000 +0:51 1.000000 +0:51 1.000000 0:52 move second child to first child (temp float) 0:52 Depth: direct index for structure (temp float FragDepth) 0:52 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -173,6 +183,16 @@ gl_FragCoord origin is upper left 0:49 Constant: 0:49 3 (const int) 0:49 'o2' (uniform 2-component vector of int) +0:51 move second child to first child (temp 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 Constant: +0:51 1.000000 +0:51 1.000000 +0:51 1.000000 +0:51 1.000000 0:52 move second child to first child (temp float) 0:52 Depth: direct index for structure (temp float FragDepth) 0:52 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -201,7 +221,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 99 +// Id's are bound by 103 Capability Shader Capability ImageGatherExtended @@ -225,12 +245,12 @@ gl_FragCoord origin is upper left MemberName 80(PS_OUTPUT) 0 "Color" MemberName 80(PS_OUTPUT) 1 "Depth" Name 82 "psout" - Name 91 "g_sSamp" - Name 93 "c1" - Name 95 "c4" - Name 96 "o1" - Name 97 "o3" - Name 98 "o4" + Name 95 "g_sSamp" + Name 97 "c1" + Name 99 "c4" + Name 100 "o1" + Name 101 "o3" + Name 102 "o4" Decorate 9(g_tTex2dmsf4) DescriptorSet 0 Decorate 21(g_tTex2dmsi4) DescriptorSet 0 Decorate 29(g_tTex2dmsu4) DescriptorSet 0 @@ -238,7 +258,7 @@ 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 91(g_sSamp) DescriptorSet 0 + Decorate 95(g_sSamp) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -275,19 +295,22 @@ gl_FragCoord origin is upper left 64(g_tTex2dmsu4a): 63(ptr) Variable UniformConstant 80(PS_OUTPUT): TypeStruct 17(fvec4) 6(float) 81: TypePointer Function 80(PS_OUTPUT) - 83: 11(int) Constant 1 + 83: 11(int) Constant 0 84: 6(float) Constant 1065353216 - 85: TypePointer Function 6(float) - 89: TypeSampler - 90: TypePointer UniformConstant 89 - 91(g_sSamp): 90(ptr) Variable UniformConstant - 92: TypePointer UniformConstant 11(int) - 93(c1): 92(ptr) Variable UniformConstant - 94: TypePointer UniformConstant 24(ivec4) - 95(c4): 94(ptr) Variable UniformConstant - 96(o1): 92(ptr) Variable UniformConstant - 97(o3): 52(ptr) Variable UniformConstant - 98(o4): 94(ptr) Variable UniformConstant + 85: 17(fvec4) ConstantComposite 84 84 84 84 + 86: TypePointer Function 17(fvec4) + 88: 11(int) Constant 1 + 89: TypePointer Function 6(float) + 93: TypeSampler + 94: TypePointer UniformConstant 93 + 95(g_sSamp): 94(ptr) Variable UniformConstant + 96: TypePointer UniformConstant 11(int) + 97(c1): 96(ptr) Variable UniformConstant + 98: TypePointer UniformConstant 24(ivec4) + 99(c4): 98(ptr) Variable UniformConstant + 100(o1): 96(ptr) Variable UniformConstant + 101(o3): 52(ptr) Variable UniformConstant + 102(o4): 98(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 82(psout): 81(ptr) Variable Function @@ -333,8 +356,10 @@ gl_FragCoord origin is upper left 77: 51(ivec3) Load 53(c3) 78: 12(ivec2) Load 36(o2) 79: 32(ivec4) ImageFetch 76 77 Offset Sample 78 16 - 86: 85(ptr) AccessChain 82(psout) 83 - Store 86 84 - 87:80(PS_OUTPUT) Load 82(psout) - ReturnValue 87 + 87: 86(ptr) AccessChain 82(psout) 83 + Store 87 85 + 90: 89(ptr) AccessChain 82(psout) 88 + Store 90 84 + 91:80(PS_OUTPUT) Load 82(psout) + ReturnValue 91 FunctionEnd diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out index ecb43ca8..16e30662 100644 --- a/Test/baseResults/hlsl.load.array.dx10.frag.out +++ b/Test/baseResults/hlsl.load.array.dx10.frag.out @@ -89,6 +89,16 @@ gl_FragCoord origin is upper left 0:59 'c4' (uniform 4-component vector of int) 0:59 Constant: 0:59 3 (const int) +0:67 move second child to first child (temp 4-component vector of float) +0:67 Color: direct index for structure (temp 4-component vector of float) +0:67 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:67 Constant: +0:67 0 (const int) +0:67 Constant: +0:67 1.000000 +0:67 1.000000 +0:67 1.000000 +0:67 1.000000 0:68 move second child to first child (temp float) 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}) @@ -224,6 +234,16 @@ gl_FragCoord origin is upper left 0:59 'c4' (uniform 4-component vector of int) 0:59 Constant: 0:59 3 (const int) +0:67 move second child to first child (temp 4-component vector of float) +0:67 Color: direct index for structure (temp 4-component vector of float) +0:67 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:67 Constant: +0:67 0 (const int) +0:67 Constant: +0:67 1.000000 +0:67 1.000000 +0:67 1.000000 +0:67 1.000000 0:68 move second child to first child (temp float) 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}) @@ -267,7 +287,7 @@ 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 143 Capability Shader Capability Sampled1D @@ -290,28 +310,28 @@ gl_FragCoord origin is upper left MemberName 75(PS_OUTPUT) 0 "Color" MemberName 75(PS_OUTPUT) 1 "Depth" Name 77 "psout" - Name 86 "g_sSamp" - Name 89 "g_tTex1df4" - Name 92 "g_tTex1di4" - Name 95 "g_tTex1du4" - Name 98 "g_tTex2df4" - Name 101 "g_tTex2di4" - Name 104 "g_tTex2du4" - Name 107 "g_tTex3df4" - Name 110 "g_tTex3di4" - Name 113 "g_tTex3du4" - Name 116 "g_tTexcdf4" - Name 119 "g_tTexcdi4" - Name 122 "g_tTexcdu4" - Name 125 "g_tTexcdf4a" - Name 128 "g_tTexcdi4a" - Name 131 "g_tTexcdu4a" - Name 132 "c1" - Name 134 "c2" - Name 135 "o1" - Name 136 "o2" - Name 137 "o3" - Name 138 "o4" + Name 90 "g_sSamp" + Name 93 "g_tTex1df4" + Name 96 "g_tTex1di4" + Name 99 "g_tTex1du4" + Name 102 "g_tTex2df4" + Name 105 "g_tTex2di4" + Name 108 "g_tTex2du4" + Name 111 "g_tTex3df4" + Name 114 "g_tTex3di4" + Name 117 "g_tTex3du4" + Name 120 "g_tTexcdf4" + Name 123 "g_tTexcdi4" + Name 126 "g_tTexcdu4" + Name 129 "g_tTexcdf4a" + Name 132 "g_tTexcdi4a" + Name 135 "g_tTexcdu4a" + Name 136 "c1" + Name 138 "c2" + Name 139 "o1" + Name 140 "o2" + Name 141 "o3" + Name 142 "o4" Decorate 9(g_tTex1df4a) DescriptorSet 0 Decorate 27(g_tTex1di4a) DescriptorSet 0 Decorate 37(g_tTex1du4a) DescriptorSet 0 @@ -319,22 +339,22 @@ 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 86(g_sSamp) DescriptorSet 0 - Decorate 89(g_tTex1df4) DescriptorSet 0 - Decorate 92(g_tTex1di4) DescriptorSet 0 - Decorate 95(g_tTex1du4) DescriptorSet 0 - Decorate 98(g_tTex2df4) DescriptorSet 0 - Decorate 101(g_tTex2di4) DescriptorSet 0 - Decorate 104(g_tTex2du4) DescriptorSet 0 - Decorate 107(g_tTex3df4) DescriptorSet 0 - Decorate 110(g_tTex3di4) DescriptorSet 0 - Decorate 113(g_tTex3du4) DescriptorSet 0 - Decorate 116(g_tTexcdf4) DescriptorSet 0 - Decorate 119(g_tTexcdi4) DescriptorSet 0 - Decorate 122(g_tTexcdu4) DescriptorSet 0 - Decorate 125(g_tTexcdf4a) DescriptorSet 0 - Decorate 128(g_tTexcdi4a) DescriptorSet 0 - Decorate 131(g_tTexcdu4a) DescriptorSet 0 + Decorate 90(g_sSamp) DescriptorSet 0 + Decorate 93(g_tTex1df4) DescriptorSet 0 + Decorate 96(g_tTex1di4) DescriptorSet 0 + Decorate 99(g_tTex1du4) DescriptorSet 0 + Decorate 102(g_tTex2df4) DescriptorSet 0 + Decorate 105(g_tTex2di4) DescriptorSet 0 + Decorate 108(g_tTex2du4) DescriptorSet 0 + Decorate 111(g_tTex3df4) DescriptorSet 0 + Decorate 114(g_tTex3di4) DescriptorSet 0 + Decorate 117(g_tTex3du4) DescriptorSet 0 + Decorate 120(g_tTexcdf4) DescriptorSet 0 + Decorate 123(g_tTexcdi4) DescriptorSet 0 + Decorate 126(g_tTexcdu4) DescriptorSet 0 + Decorate 129(g_tTexcdf4a) DescriptorSet 0 + Decorate 132(g_tTexcdi4a) DescriptorSet 0 + Decorate 135(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -372,64 +392,67 @@ gl_FragCoord origin is upper left 68(g_tTex2du4a): 67(ptr) Variable UniformConstant 75(PS_OUTPUT): TypeStruct 23(fvec4) 6(float) 76: TypePointer Function 75(PS_OUTPUT) - 78: 11(int) Constant 1 + 78: 11(int) Constant 0 79: 6(float) Constant 1065353216 - 80: TypePointer Function 6(float) - 84: TypeSampler - 85: TypePointer UniformConstant 84 - 86(g_sSamp): 85(ptr) Variable UniformConstant - 87: TypeImage 6(float) 1D sampled format:Unknown - 88: TypePointer UniformConstant 87 - 89(g_tTex1df4): 88(ptr) Variable UniformConstant - 90: TypeImage 11(int) 1D sampled format:Unknown - 91: TypePointer UniformConstant 90 - 92(g_tTex1di4): 91(ptr) Variable UniformConstant - 93: TypeImage 18(int) 1D sampled format:Unknown - 94: TypePointer UniformConstant 93 - 95(g_tTex1du4): 94(ptr) Variable UniformConstant - 96: TypeImage 6(float) 2D sampled format:Unknown - 97: TypePointer UniformConstant 96 - 98(g_tTex2df4): 97(ptr) Variable UniformConstant - 99: TypeImage 11(int) 2D sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTex2di4): 100(ptr) Variable UniformConstant - 102: TypeImage 18(int) 2D sampled format:Unknown - 103: TypePointer UniformConstant 102 - 104(g_tTex2du4): 103(ptr) Variable UniformConstant - 105: TypeImage 6(float) 3D sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTex3df4): 106(ptr) Variable UniformConstant - 108: TypeImage 11(int) 3D sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTex3di4): 109(ptr) Variable UniformConstant - 111: TypeImage 18(int) 3D sampled format:Unknown - 112: TypePointer UniformConstant 111 - 113(g_tTex3du4): 112(ptr) Variable UniformConstant - 114: TypeImage 6(float) Cube sampled format:Unknown - 115: TypePointer UniformConstant 114 - 116(g_tTexcdf4): 115(ptr) Variable UniformConstant - 117: TypeImage 11(int) Cube sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTexcdi4): 118(ptr) Variable UniformConstant - 120: TypeImage 18(int) Cube sampled format:Unknown - 121: TypePointer UniformConstant 120 - 122(g_tTexcdu4): 121(ptr) Variable UniformConstant - 123: TypeImage 6(float) Cube array sampled format:Unknown - 124: TypePointer UniformConstant 123 -125(g_tTexcdf4a): 124(ptr) Variable UniformConstant - 126: TypeImage 11(int) Cube array sampled format:Unknown - 127: TypePointer UniformConstant 126 -128(g_tTexcdi4a): 127(ptr) Variable UniformConstant - 129: TypeImage 18(int) Cube array sampled format:Unknown - 130: TypePointer UniformConstant 129 -131(g_tTexcdu4a): 130(ptr) Variable UniformConstant - 132(c1): 20(ptr) Variable UniformConstant - 133: TypePointer UniformConstant 15(ivec2) - 134(c2): 133(ptr) Variable UniformConstant - 135(o1): 20(ptr) Variable UniformConstant - 136(o2): 133(ptr) Variable UniformConstant - 137(o3): 13(ptr) Variable UniformConstant - 138(o4): 49(ptr) Variable UniformConstant + 80: 23(fvec4) ConstantComposite 79 79 79 79 + 81: TypePointer Function 23(fvec4) + 83: 11(int) Constant 1 + 84: TypePointer Function 6(float) + 88: TypeSampler + 89: TypePointer UniformConstant 88 + 90(g_sSamp): 89(ptr) Variable UniformConstant + 91: TypeImage 6(float) 1D sampled format:Unknown + 92: TypePointer UniformConstant 91 + 93(g_tTex1df4): 92(ptr) Variable UniformConstant + 94: TypeImage 11(int) 1D sampled format:Unknown + 95: TypePointer UniformConstant 94 + 96(g_tTex1di4): 95(ptr) Variable UniformConstant + 97: TypeImage 18(int) 1D sampled format:Unknown + 98: TypePointer UniformConstant 97 + 99(g_tTex1du4): 98(ptr) Variable UniformConstant + 100: TypeImage 6(float) 2D sampled format:Unknown + 101: TypePointer UniformConstant 100 + 102(g_tTex2df4): 101(ptr) Variable UniformConstant + 103: TypeImage 11(int) 2D sampled format:Unknown + 104: TypePointer UniformConstant 103 + 105(g_tTex2di4): 104(ptr) Variable UniformConstant + 106: TypeImage 18(int) 2D sampled format:Unknown + 107: TypePointer UniformConstant 106 + 108(g_tTex2du4): 107(ptr) Variable UniformConstant + 109: TypeImage 6(float) 3D sampled format:Unknown + 110: TypePointer UniformConstant 109 + 111(g_tTex3df4): 110(ptr) Variable UniformConstant + 112: TypeImage 11(int) 3D sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTex3di4): 113(ptr) Variable UniformConstant + 115: TypeImage 18(int) 3D sampled format:Unknown + 116: TypePointer UniformConstant 115 + 117(g_tTex3du4): 116(ptr) Variable UniformConstant + 118: TypeImage 6(float) Cube sampled format:Unknown + 119: TypePointer UniformConstant 118 + 120(g_tTexcdf4): 119(ptr) Variable UniformConstant + 121: TypeImage 11(int) Cube sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTexcdi4): 122(ptr) Variable UniformConstant + 124: TypeImage 18(int) Cube sampled format:Unknown + 125: TypePointer UniformConstant 124 + 126(g_tTexcdu4): 125(ptr) Variable UniformConstant + 127: TypeImage 6(float) Cube array sampled format:Unknown + 128: TypePointer UniformConstant 127 +129(g_tTexcdf4a): 128(ptr) Variable UniformConstant + 130: TypeImage 11(int) Cube array sampled format:Unknown + 131: TypePointer UniformConstant 130 +132(g_tTexcdi4a): 131(ptr) Variable UniformConstant + 133: TypeImage 18(int) Cube array sampled format:Unknown + 134: TypePointer UniformConstant 133 +135(g_tTexcdu4a): 134(ptr) Variable UniformConstant + 136(c1): 20(ptr) Variable UniformConstant + 137: TypePointer UniformConstant 15(ivec2) + 138(c2): 137(ptr) Variable UniformConstant + 139(o1): 20(ptr) Variable UniformConstant + 140(o2): 137(ptr) Variable UniformConstant + 141(o3): 13(ptr) Variable UniformConstant + 142(o4): 49(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 77(psout): 76(ptr) Variable Function @@ -469,8 +492,10 @@ gl_FragCoord origin is upper left 72: 20(ptr) AccessChain 50(c4) 53 73: 11(int) Load 72 74: 43(ivec4) ImageFetch 69 71 Lod 73 - 81: 80(ptr) AccessChain 77(psout) 78 - Store 81 79 - 82:75(PS_OUTPUT) Load 77(psout) - ReturnValue 82 + 82: 81(ptr) AccessChain 77(psout) 78 + Store 82 80 + 85: 84(ptr) AccessChain 77(psout) 83 + Store 85 79 + 86:75(PS_OUTPUT) Load 77(psout) + ReturnValue 86 FunctionEnd diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out index e069ffbe..bae29aa1 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out @@ -122,6 +122,16 @@ gl_FragCoord origin is upper left 0:64 'c4' (uniform 4-component vector of int) 0:64 Constant: 0:64 3 (const int) +0:72 move second child to first child (temp 4-component vector of float) +0:72 Color: direct index for structure (temp 4-component vector of float) +0:72 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:72 Constant: +0:72 0 (const int) +0:72 Constant: +0:72 1.000000 +0:72 1.000000 +0:72 1.000000 +0:72 1.000000 0:73 move second child to first child (temp float) 0:73 Depth: direct index for structure (temp float FragDepth) 0:73 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -290,6 +300,16 @@ gl_FragCoord origin is upper left 0:64 'c4' (uniform 4-component vector of int) 0:64 Constant: 0:64 3 (const int) +0:72 move second child to first child (temp 4-component vector of float) +0:72 Color: direct index for structure (temp 4-component vector of float) +0:72 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:72 Constant: +0:72 0 (const int) +0:72 Constant: +0:72 1.000000 +0:72 1.000000 +0:72 1.000000 +0:72 1.000000 0:73 move second child to first child (temp float) 0:73 Depth: direct index for structure (temp float FragDepth) 0:73 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -333,7 +353,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 159 +// Id's are bound by 163 Capability Shader Capability Sampled1D @@ -360,24 +380,24 @@ gl_FragCoord origin is upper left MemberName 106(PS_OUTPUT) 0 "Color" MemberName 106(PS_OUTPUT) 1 "Depth" Name 108 "psout" - Name 117 "g_sSamp" - Name 120 "g_tTexcdf4" - Name 123 "g_tTexcdi4" - Name 126 "g_tTexcdu4" - Name 129 "g_tTex1df4a" - Name 132 "g_tTex1di4a" - Name 135 "g_tTex1du4a" - Name 138 "g_tTex2df4a" - Name 141 "g_tTex2di4a" - Name 144 "g_tTex2du4a" - Name 147 "g_tTexcdf4a" - Name 150 "g_tTexcdi4a" - Name 153 "g_tTexcdu4a" - Name 154 "c1" - Name 155 "o1" - Name 156 "o2" - Name 157 "o3" - Name 158 "o4" + 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 27(g_tTex1di4) DescriptorSet 0 Decorate 37(g_tTex1du4) DescriptorSet 0 @@ -388,19 +408,19 @@ 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 117(g_sSamp) DescriptorSet 0 - Decorate 120(g_tTexcdf4) DescriptorSet 0 - Decorate 123(g_tTexcdi4) DescriptorSet 0 - Decorate 126(g_tTexcdu4) DescriptorSet 0 - Decorate 129(g_tTex1df4a) DescriptorSet 0 - Decorate 132(g_tTex1di4a) DescriptorSet 0 - Decorate 135(g_tTex1du4a) DescriptorSet 0 - Decorate 138(g_tTex2df4a) DescriptorSet 0 - Decorate 141(g_tTex2di4a) DescriptorSet 0 - Decorate 144(g_tTex2du4a) DescriptorSet 0 - Decorate 147(g_tTexcdf4a) DescriptorSet 0 - Decorate 150(g_tTexcdi4a) DescriptorSet 0 - Decorate 153(g_tTexcdu4a) DescriptorSet 0 + Decorate 121(g_sSamp) DescriptorSet 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 @@ -451,53 +471,56 @@ gl_FragCoord origin is upper left 99(g_tTex3du4): 98(ptr) Variable UniformConstant 106(PS_OUTPUT): TypeStruct 23(fvec4) 6(float) 107: TypePointer Function 106(PS_OUTPUT) - 109: 11(int) Constant 1 + 109: 11(int) Constant 0 110: 6(float) Constant 1065353216 - 111: TypePointer Function 6(float) - 115: TypeSampler - 116: TypePointer UniformConstant 115 - 117(g_sSamp): 116(ptr) Variable UniformConstant - 118: TypeImage 6(float) Cube sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTexcdf4): 119(ptr) Variable UniformConstant - 121: TypeImage 11(int) Cube sampled format:Unknown - 122: TypePointer UniformConstant 121 - 123(g_tTexcdi4): 122(ptr) Variable UniformConstant - 124: TypeImage 15(int) Cube sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTexcdu4): 125(ptr) Variable UniformConstant - 127: TypeImage 6(float) 1D array sampled format:Unknown - 128: TypePointer UniformConstant 127 -129(g_tTex1df4a): 128(ptr) Variable UniformConstant - 130: TypeImage 11(int) 1D array sampled format:Unknown - 131: TypePointer UniformConstant 130 -132(g_tTex1di4a): 131(ptr) Variable UniformConstant - 133: TypeImage 15(int) 1D array sampled format:Unknown - 134: TypePointer UniformConstant 133 -135(g_tTex1du4a): 134(ptr) Variable UniformConstant - 136: TypeImage 6(float) 2D array sampled format:Unknown - 137: TypePointer UniformConstant 136 -138(g_tTex2df4a): 137(ptr) Variable UniformConstant - 139: TypeImage 11(int) 2D array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTex2di4a): 140(ptr) Variable UniformConstant - 142: TypeImage 15(int) 2D array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTex2du4a): 143(ptr) Variable UniformConstant - 145: TypeImage 6(float) Cube array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTexcdf4a): 146(ptr) Variable UniformConstant - 148: TypeImage 11(int) Cube array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTexcdi4a): 149(ptr) Variable UniformConstant - 151: TypeImage 15(int) Cube array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTexcdu4a): 152(ptr) Variable UniformConstant - 154(c1): 17(ptr) Variable UniformConstant - 155(o1): 17(ptr) Variable UniformConstant - 156(o2): 13(ptr) Variable UniformConstant - 157(o3): 50(ptr) Variable UniformConstant - 158(o4): 80(ptr) Variable UniformConstant + 111: 23(fvec4) ConstantComposite 110 110 110 110 + 112: TypePointer Function 23(fvec4) + 114: 11(int) Constant 1 + 115: TypePointer Function 6(float) + 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(psout): 107(ptr) Variable Function @@ -555,8 +578,10 @@ gl_FragCoord origin is upper left 103: 17(ptr) AccessChain 81(c4) 84 104: 11(int) Load 103 105: 43(ivec4) ImageFetch 100 102 Lod 104 - 112: 111(ptr) AccessChain 108(psout) 109 - Store 112 110 - 113:106(PS_OUTPUT) Load 108(psout) - ReturnValue 113 + 113: 112(ptr) AccessChain 108(psout) 109 + Store 113 111 + 116: 115(ptr) AccessChain 108(psout) 114 + Store 116 110 + 117:106(PS_OUTPUT) Load 108(psout) + ReturnValue 117 FunctionEnd diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out index 13d00f79..f00962bc 100644 --- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out +++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out @@ -23,6 +23,16 @@ gl_FragCoord origin is upper left 0:30 textureFetch (global 4-component vector of uint) 0:30 'g_tTexbu4' (uniform usamplerBuffer) 0:30 'c1' (uniform int) +0:34 move second child to first child (temp 4-component vector of float) +0:34 Color: direct index for structure (temp 4-component vector of float) +0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:34 Constant: +0:34 0 (const int) +0:34 Constant: +0:34 1.000000 +0:34 1.000000 +0:34 1.000000 +0:34 1.000000 0:35 move second child to first child (temp float) 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}) @@ -74,6 +84,16 @@ gl_FragCoord origin is upper left 0:30 textureFetch (global 4-component vector of uint) 0:30 'g_tTexbu4' (uniform usamplerBuffer) 0:30 'c1' (uniform int) +0:34 move second child to first child (temp 4-component vector of float) +0:34 Color: direct index for structure (temp 4-component vector of float) +0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:34 Constant: +0:34 0 (const int) +0:34 Constant: +0:34 1.000000 +0:34 1.000000 +0:34 1.000000 +0:34 1.000000 0:35 move second child to first child (temp float) 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}) @@ -99,7 +119,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 66 +// Id's are bound by 69 Capability Shader Capability SampledBuffer @@ -120,19 +140,19 @@ gl_FragCoord origin is upper left MemberName 44(PS_OUTPUT) 0 "Color" MemberName 44(PS_OUTPUT) 1 "Depth" Name 46 "psout" - Name 53 "g_tTexbf4_test" - Name 56 "c2" - Name 59 "c3" - Name 61 "c4" - Name 62 "o1" - Name 63 "o2" - Name 64 "o3" - Name 65 "o4" + Name 56 "g_tTexbf4_test" + Name 59 "c2" + Name 62 "c3" + Name 64 "c4" + Name 65 "o1" + Name 66 "o2" + Name 67 "o3" + Name 68 "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 53(g_tTexbf4_test) DescriptorSet 0 + Decorate 56(g_tTexbf4_test) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -160,22 +180,24 @@ gl_FragCoord origin is upper left 39(g_tTexbu4): 38(ptr) Variable UniformConstant 44(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 45: TypePointer Function 44(PS_OUTPUT) - 47: 15(int) Constant 1 + 47: 15(int) Constant 0 48: 6(float) Constant 1065353216 - 49: TypePointer Function 6(float) -53(g_tTexbf4_test): 12(ptr) Variable UniformConstant - 54: TypeVector 15(int) 2 - 55: TypePointer UniformConstant 54(ivec2) - 56(c2): 55(ptr) Variable UniformConstant - 57: TypeVector 15(int) 3 - 58: TypePointer UniformConstant 57(ivec3) - 59(c3): 58(ptr) Variable UniformConstant - 60: TypePointer UniformConstant 21(ivec4) - 61(c4): 60(ptr) Variable UniformConstant - 62(o1): 16(ptr) Variable UniformConstant - 63(o2): 55(ptr) Variable UniformConstant - 64(o3): 58(ptr) Variable UniformConstant - 65(o4): 60(ptr) Variable UniformConstant + 49: 7(fvec4) ConstantComposite 48 48 48 48 + 51: 15(int) Constant 1 + 52: TypePointer Function 6(float) +56(g_tTexbf4_test): 12(ptr) Variable UniformConstant + 57: TypeVector 15(int) 2 + 58: TypePointer UniformConstant 57(ivec2) + 59(c2): 58(ptr) Variable UniformConstant + 60: TypeVector 15(int) 3 + 61: TypePointer UniformConstant 60(ivec3) + 62(c3): 61(ptr) Variable UniformConstant + 63: TypePointer UniformConstant 21(ivec4) + 64(c4): 63(ptr) Variable UniformConstant + 65(o1): 16(ptr) Variable UniformConstant + 66(o2): 58(ptr) Variable UniformConstant + 67(o3): 61(ptr) Variable UniformConstant + 68(o4): 63(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(r00): 8(ptr) Variable Function @@ -197,8 +219,10 @@ gl_FragCoord origin is upper left 42: 36 Image 40 43: 33(ivec4) ImageFetch 42 41 Store 35(r02) 43 - 50: 49(ptr) AccessChain 46(psout) 47 - Store 50 48 - 51:44(PS_OUTPUT) Load 46(psout) - ReturnValue 51 + 50: 8(ptr) AccessChain 46(psout) 47 + Store 50 49 + 53: 52(ptr) AccessChain 46(psout) 51 + Store 53 48 + 54:44(PS_OUTPUT) Load 46(psout) + ReturnValue 54 FunctionEnd diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out index 5def1f80..fe7330ac 100644 --- a/Test/baseResults/hlsl.load.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out @@ -131,6 +131,16 @@ gl_FragCoord origin is upper left 0:64 Constant: 0:64 3 (const int) 0:64 'o3' (uniform 3-component vector of int) +0:72 move second child to first child (temp 4-component vector of float) +0:72 Color: direct index for structure (temp 4-component vector of float) +0:72 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:72 Constant: +0:72 0 (const int) +0:72 Constant: +0:72 1.000000 +0:72 1.000000 +0:72 1.000000 +0:72 1.000000 0:73 move second child to first child (temp float) 0:73 Depth: direct index for structure (temp float FragDepth) 0:73 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -308,6 +318,16 @@ gl_FragCoord origin is upper left 0:64 Constant: 0:64 3 (const int) 0:64 'o3' (uniform 3-component vector of int) +0:72 move second child to first child (temp 4-component vector of float) +0:72 Color: direct index for structure (temp 4-component vector of float) +0:72 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:72 Constant: +0:72 0 (const int) +0:72 Constant: +0:72 1.000000 +0:72 1.000000 +0:72 1.000000 +0:72 1.000000 0:73 move second child to first child (temp float) 0:73 Depth: direct index for structure (temp float FragDepth) 0:73 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -351,7 +371,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 168 +// Id's are bound by 172 Capability Shader Capability ImageGatherExtended @@ -382,21 +402,21 @@ gl_FragCoord origin is upper left MemberName 118(PS_OUTPUT) 0 "Color" MemberName 118(PS_OUTPUT) 1 "Depth" Name 120 "psout" - Name 129 "g_sSamp" - Name 132 "g_tTexcdf4" - Name 135 "g_tTexcdi4" - Name 138 "g_tTexcdu4" - Name 141 "g_tTex1df4a" - Name 144 "g_tTex1di4a" - Name 147 "g_tTex1du4a" - Name 150 "g_tTex2df4a" - Name 153 "g_tTex2di4a" - Name 156 "g_tTex2du4a" - Name 159 "g_tTexcdf4a" - Name 162 "g_tTexcdi4a" - Name 165 "g_tTexcdu4a" - Name 166 "c1" - Name 167 "o4" + Name 133 "g_sSamp" + Name 136 "g_tTexcdf4" + Name 139 "g_tTexcdi4" + Name 142 "g_tTexcdu4" + Name 145 "g_tTex1df4a" + Name 148 "g_tTex1di4a" + Name 151 "g_tTex1du4a" + Name 154 "g_tTex2df4a" + Name 157 "g_tTex2di4a" + Name 160 "g_tTex2du4a" + Name 163 "g_tTexcdf4a" + Name 166 "g_tTexcdi4a" + Name 169 "g_tTexcdu4a" + Name 170 "c1" + Name 171 "o4" Decorate 9(g_tTex1df4) DescriptorSet 0 Decorate 29(g_tTex1di4) DescriptorSet 0 Decorate 40(g_tTex1du4) DescriptorSet 0 @@ -407,19 +427,19 @@ 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 129(g_sSamp) DescriptorSet 0 - Decorate 132(g_tTexcdf4) DescriptorSet 0 - Decorate 135(g_tTexcdi4) DescriptorSet 0 - Decorate 138(g_tTexcdu4) DescriptorSet 0 - Decorate 141(g_tTex1df4a) DescriptorSet 0 - Decorate 144(g_tTex1di4a) DescriptorSet 0 - Decorate 147(g_tTex1du4a) DescriptorSet 0 - Decorate 150(g_tTex2df4a) DescriptorSet 0 - Decorate 153(g_tTex2di4a) DescriptorSet 0 - Decorate 156(g_tTex2du4a) DescriptorSet 0 - Decorate 159(g_tTexcdf4a) DescriptorSet 0 - Decorate 162(g_tTexcdi4a) DescriptorSet 0 - Decorate 165(g_tTexcdu4a) DescriptorSet 0 + Decorate 133(g_sSamp) DescriptorSet 0 + Decorate 136(g_tTexcdf4) DescriptorSet 0 + Decorate 139(g_tTexcdi4) DescriptorSet 0 + Decorate 142(g_tTexcdu4) DescriptorSet 0 + Decorate 145(g_tTex1df4a) DescriptorSet 0 + Decorate 148(g_tTex1di4a) DescriptorSet 0 + Decorate 151(g_tTex1du4a) DescriptorSet 0 + Decorate 154(g_tTex2df4a) DescriptorSet 0 + Decorate 157(g_tTex2di4a) DescriptorSet 0 + Decorate 160(g_tTex2du4a) DescriptorSet 0 + Decorate 163(g_tTexcdf4a) DescriptorSet 0 + Decorate 166(g_tTexcdi4a) DescriptorSet 0 + Decorate 169(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -473,50 +493,53 @@ gl_FragCoord origin is upper left 110(g_tTex3du4): 109(ptr) Variable UniformConstant 118(PS_OUTPUT): TypeStruct 25(fvec4) 6(float) 119: TypePointer Function 118(PS_OUTPUT) - 121: 11(int) Constant 1 + 121: 11(int) Constant 0 122: 6(float) Constant 1065353216 - 123: TypePointer Function 6(float) - 127: TypeSampler - 128: TypePointer UniformConstant 127 - 129(g_sSamp): 128(ptr) Variable UniformConstant - 130: TypeImage 6(float) Cube sampled format:Unknown - 131: TypePointer UniformConstant 130 - 132(g_tTexcdf4): 131(ptr) Variable UniformConstant - 133: TypeImage 11(int) Cube sampled format:Unknown - 134: TypePointer UniformConstant 133 - 135(g_tTexcdi4): 134(ptr) Variable UniformConstant - 136: TypeImage 15(int) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdu4): 137(ptr) Variable UniformConstant - 139: TypeImage 6(float) 1D array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTex1df4a): 140(ptr) Variable UniformConstant - 142: TypeImage 11(int) 1D array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTex1di4a): 143(ptr) Variable UniformConstant - 145: TypeImage 15(int) 1D array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTex1du4a): 146(ptr) Variable UniformConstant - 148: TypeImage 6(float) 2D array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTex2df4a): 149(ptr) Variable UniformConstant - 151: TypeImage 11(int) 2D array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTex2di4a): 152(ptr) Variable UniformConstant - 154: TypeImage 15(int) 2D array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTex2du4a): 155(ptr) Variable UniformConstant - 157: TypeImage 6(float) Cube array sampled format:Unknown - 158: TypePointer UniformConstant 157 -159(g_tTexcdf4a): 158(ptr) Variable UniformConstant - 160: TypeImage 11(int) Cube array sampled format:Unknown - 161: TypePointer UniformConstant 160 -162(g_tTexcdi4a): 161(ptr) Variable UniformConstant - 163: TypeImage 15(int) Cube array sampled format:Unknown - 164: TypePointer UniformConstant 163 -165(g_tTexcdu4a): 164(ptr) Variable UniformConstant - 166(c1): 17(ptr) Variable UniformConstant - 167(o4): 88(ptr) Variable UniformConstant + 123: 25(fvec4) ConstantComposite 122 122 122 122 + 124: TypePointer Function 25(fvec4) + 126: 11(int) Constant 1 + 127: TypePointer Function 6(float) + 131: TypeSampler + 132: TypePointer UniformConstant 131 + 133(g_sSamp): 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 15(int) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdu4): 141(ptr) Variable UniformConstant + 143: TypeImage 6(float) 1D array sampled format:Unknown + 144: TypePointer UniformConstant 143 +145(g_tTex1df4a): 144(ptr) Variable UniformConstant + 146: TypeImage 11(int) 1D array sampled format:Unknown + 147: TypePointer UniformConstant 146 +148(g_tTex1di4a): 147(ptr) Variable UniformConstant + 149: TypeImage 15(int) 1D array sampled format:Unknown + 150: TypePointer UniformConstant 149 +151(g_tTex1du4a): 150(ptr) Variable UniformConstant + 152: TypeImage 6(float) 2D array sampled format:Unknown + 153: TypePointer UniformConstant 152 +154(g_tTex2df4a): 153(ptr) Variable UniformConstant + 155: TypeImage 11(int) 2D array sampled format:Unknown + 156: TypePointer UniformConstant 155 +157(g_tTex2di4a): 156(ptr) Variable UniformConstant + 158: TypeImage 15(int) 2D array sampled format:Unknown + 159: TypePointer UniformConstant 158 +160(g_tTex2du4a): 159(ptr) Variable UniformConstant + 161: TypeImage 6(float) Cube array sampled format:Unknown + 162: TypePointer UniformConstant 161 +163(g_tTexcdf4a): 162(ptr) Variable UniformConstant + 164: TypeImage 11(int) Cube array sampled format:Unknown + 165: TypePointer UniformConstant 164 +166(g_tTexcdi4a): 165(ptr) Variable UniformConstant + 167: TypeImage 15(int) Cube array sampled format:Unknown + 168: TypePointer UniformConstant 167 +169(g_tTexcdu4a): 168(ptr) Variable UniformConstant + 170(c1): 17(ptr) Variable UniformConstant + 171(o4): 88(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 120(psout): 119(ptr) Variable Function @@ -583,8 +606,10 @@ gl_FragCoord origin is upper left 115: 11(int) Load 114 116: 53(ivec3) Load 95(o3) 117: 47(ivec4) ImageFetch 111 113 Lod Offset 115 116 - 124: 123(ptr) AccessChain 120(psout) 121 - Store 124 122 - 125:118(PS_OUTPUT) Load 120(psout) - ReturnValue 125 + 125: 124(ptr) AccessChain 120(psout) 121 + Store 125 123 + 128: 127(ptr) AccessChain 120(psout) 126 + Store 128 122 + 129:118(PS_OUTPUT) Load 120(psout) + ReturnValue 129 FunctionEnd diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out index 13332f2c..16c64a83 100644 --- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out @@ -95,6 +95,16 @@ gl_FragCoord origin is upper left 0:59 Constant: 0:59 3 (const int) 0:59 'o2' (uniform 2-component vector of int) +0:65 move second child to first child (temp 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 Constant: +0:65 1.000000 +0:65 1.000000 +0:65 1.000000 +0:65 1.000000 0:66 move second child to first child (temp float) 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}) @@ -236,6 +246,16 @@ gl_FragCoord origin is upper left 0:59 Constant: 0:59 3 (const int) 0:59 'o2' (uniform 2-component vector of int) +0:65 move second child to first child (temp 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 Constant: +0:65 1.000000 +0:65 1.000000 +0:65 1.000000 +0:65 1.000000 0:66 move second child to first child (temp float) 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}) @@ -279,7 +299,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 145 +// Id's are bound by 149 Capability Shader Capability ImageGatherExtended @@ -305,26 +325,26 @@ gl_FragCoord origin is upper left MemberName 84(PS_OUTPUT) 0 "Color" MemberName 84(PS_OUTPUT) 1 "Depth" Name 86 "psout" - Name 95 "g_sSamp" - Name 98 "g_tTex1df4" - Name 101 "g_tTex1di4" - Name 104 "g_tTex1du4" - Name 107 "g_tTex2df4" - Name 110 "g_tTex2di4" - Name 113 "g_tTex2du4" - Name 116 "g_tTex3df4" - Name 119 "g_tTex3di4" - Name 122 "g_tTex3du4" - Name 125 "g_tTexcdf4" - Name 128 "g_tTexcdi4" - Name 131 "g_tTexcdu4" - Name 134 "g_tTexcdf4a" - Name 137 "g_tTexcdi4a" - Name 140 "g_tTexcdu4a" - Name 141 "c1" - Name 142 "c2" - Name 143 "o3" - Name 144 "o4" + Name 99 "g_sSamp" + Name 102 "g_tTex1df4" + Name 105 "g_tTex1di4" + Name 108 "g_tTex1du4" + Name 111 "g_tTex2df4" + Name 114 "g_tTex2di4" + Name 117 "g_tTex2du4" + Name 120 "g_tTex3df4" + Name 123 "g_tTex3di4" + Name 126 "g_tTex3du4" + Name 129 "g_tTexcdf4" + Name 132 "g_tTexcdi4" + Name 135 "g_tTexcdu4" + Name 138 "g_tTexcdf4a" + Name 141 "g_tTexcdi4a" + Name 144 "g_tTexcdu4a" + Name 145 "c1" + Name 146 "c2" + Name 147 "o3" + Name 148 "o4" Decorate 9(g_tTex1df4a) DescriptorSet 0 Decorate 29(g_tTex1di4a) DescriptorSet 0 Decorate 40(g_tTex1du4a) DescriptorSet 0 @@ -332,22 +352,22 @@ 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 95(g_sSamp) DescriptorSet 0 - Decorate 98(g_tTex1df4) DescriptorSet 0 - Decorate 101(g_tTex1di4) DescriptorSet 0 - Decorate 104(g_tTex1du4) DescriptorSet 0 - Decorate 107(g_tTex2df4) DescriptorSet 0 - Decorate 110(g_tTex2di4) DescriptorSet 0 - Decorate 113(g_tTex2du4) DescriptorSet 0 - Decorate 116(g_tTex3df4) DescriptorSet 0 - Decorate 119(g_tTex3di4) DescriptorSet 0 - Decorate 122(g_tTex3du4) DescriptorSet 0 - Decorate 125(g_tTexcdf4) DescriptorSet 0 - Decorate 128(g_tTexcdi4) DescriptorSet 0 - Decorate 131(g_tTexcdu4) DescriptorSet 0 - Decorate 134(g_tTexcdf4a) DescriptorSet 0 - Decorate 137(g_tTexcdi4a) DescriptorSet 0 - Decorate 140(g_tTexcdu4a) DescriptorSet 0 + Decorate 99(g_sSamp) DescriptorSet 0 + Decorate 102(g_tTex1df4) DescriptorSet 0 + Decorate 105(g_tTex1di4) DescriptorSet 0 + Decorate 108(g_tTex1du4) DescriptorSet 0 + Decorate 111(g_tTex2df4) DescriptorSet 0 + Decorate 114(g_tTex2di4) DescriptorSet 0 + Decorate 117(g_tTex2du4) DescriptorSet 0 + Decorate 120(g_tTex3df4) DescriptorSet 0 + Decorate 123(g_tTex3di4) DescriptorSet 0 + Decorate 126(g_tTex3du4) DescriptorSet 0 + Decorate 129(g_tTexcdf4) DescriptorSet 0 + Decorate 132(g_tTexcdi4) DescriptorSet 0 + Decorate 135(g_tTexcdu4) DescriptorSet 0 + Decorate 138(g_tTexcdf4a) DescriptorSet 0 + Decorate 141(g_tTexcdi4a) DescriptorSet 0 + Decorate 144(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -388,61 +408,64 @@ gl_FragCoord origin is upper left 76(g_tTex2du4a): 75(ptr) Variable UniformConstant 84(PS_OUTPUT): TypeStruct 25(fvec4) 6(float) 85: TypePointer Function 84(PS_OUTPUT) - 87: 11(int) Constant 1 + 87: 11(int) Constant 0 88: 6(float) Constant 1065353216 - 89: TypePointer Function 6(float) - 93: TypeSampler - 94: TypePointer UniformConstant 93 - 95(g_sSamp): 94(ptr) Variable UniformConstant - 96: TypeImage 6(float) 1D sampled format:Unknown - 97: TypePointer UniformConstant 96 - 98(g_tTex1df4): 97(ptr) Variable UniformConstant - 99: TypeImage 11(int) 1D sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTex1di4): 100(ptr) Variable UniformConstant - 102: TypeImage 18(int) 1D sampled format:Unknown - 103: TypePointer UniformConstant 102 - 104(g_tTex1du4): 103(ptr) Variable UniformConstant - 105: TypeImage 6(float) 2D sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTex2df4): 106(ptr) Variable UniformConstant - 108: TypeImage 11(int) 2D sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTex2di4): 109(ptr) Variable UniformConstant - 111: TypeImage 18(int) 2D sampled format:Unknown - 112: TypePointer UniformConstant 111 - 113(g_tTex2du4): 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 11(int) 3D sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTex3di4): 118(ptr) Variable UniformConstant - 120: TypeImage 18(int) 3D sampled format:Unknown - 121: TypePointer UniformConstant 120 - 122(g_tTex3du4): 121(ptr) Variable UniformConstant - 123: TypeImage 6(float) Cube sampled format:Unknown - 124: TypePointer UniformConstant 123 - 125(g_tTexcdf4): 124(ptr) Variable UniformConstant - 126: TypeImage 11(int) Cube sampled format:Unknown - 127: TypePointer UniformConstant 126 - 128(g_tTexcdi4): 127(ptr) Variable UniformConstant - 129: TypeImage 18(int) Cube sampled format:Unknown - 130: TypePointer UniformConstant 129 - 131(g_tTexcdu4): 130(ptr) Variable UniformConstant - 132: TypeImage 6(float) Cube array sampled format:Unknown - 133: TypePointer UniformConstant 132 -134(g_tTexcdf4a): 133(ptr) Variable UniformConstant - 135: TypeImage 11(int) Cube array sampled format:Unknown - 136: TypePointer UniformConstant 135 -137(g_tTexcdi4a): 136(ptr) Variable UniformConstant - 138: TypeImage 18(int) Cube array sampled format:Unknown - 139: TypePointer UniformConstant 138 -140(g_tTexcdu4a): 139(ptr) Variable UniformConstant - 141(c1): 20(ptr) Variable UniformConstant - 142(c2): 60(ptr) Variable UniformConstant - 143(o3): 13(ptr) Variable UniformConstant - 144(o4): 53(ptr) Variable UniformConstant + 89: 25(fvec4) ConstantComposite 88 88 88 88 + 90: TypePointer Function 25(fvec4) + 92: 11(int) Constant 1 + 93: TypePointer Function 6(float) + 97: TypeSampler + 98: TypePointer UniformConstant 97 + 99(g_sSamp): 98(ptr) Variable UniformConstant + 100: TypeImage 6(float) 1D sampled format:Unknown + 101: TypePointer UniformConstant 100 + 102(g_tTex1df4): 101(ptr) Variable UniformConstant + 103: TypeImage 11(int) 1D sampled format:Unknown + 104: TypePointer UniformConstant 103 + 105(g_tTex1di4): 104(ptr) Variable UniformConstant + 106: TypeImage 18(int) 1D sampled format:Unknown + 107: TypePointer UniformConstant 106 + 108(g_tTex1du4): 107(ptr) Variable UniformConstant + 109: TypeImage 6(float) 2D sampled format:Unknown + 110: TypePointer UniformConstant 109 + 111(g_tTex2df4): 110(ptr) Variable UniformConstant + 112: TypeImage 11(int) 2D sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTex2di4): 113(ptr) Variable UniformConstant + 115: TypeImage 18(int) 2D sampled format:Unknown + 116: TypePointer UniformConstant 115 + 117(g_tTex2du4): 116(ptr) Variable UniformConstant + 118: TypeImage 6(float) 3D sampled format:Unknown + 119: TypePointer UniformConstant 118 + 120(g_tTex3df4): 119(ptr) Variable UniformConstant + 121: TypeImage 11(int) 3D sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTex3di4): 122(ptr) Variable UniformConstant + 124: TypeImage 18(int) 3D sampled format:Unknown + 125: TypePointer UniformConstant 124 + 126(g_tTex3du4): 125(ptr) Variable UniformConstant + 127: TypeImage 6(float) Cube sampled format:Unknown + 128: TypePointer UniformConstant 127 + 129(g_tTexcdf4): 128(ptr) Variable UniformConstant + 130: TypeImage 11(int) Cube sampled format:Unknown + 131: TypePointer UniformConstant 130 + 132(g_tTexcdi4): 131(ptr) Variable UniformConstant + 133: TypeImage 18(int) Cube sampled format:Unknown + 134: TypePointer UniformConstant 133 + 135(g_tTexcdu4): 134(ptr) Variable UniformConstant + 136: TypeImage 6(float) Cube array sampled format:Unknown + 137: TypePointer UniformConstant 136 +138(g_tTexcdf4a): 137(ptr) Variable UniformConstant + 139: TypeImage 11(int) Cube array sampled format:Unknown + 140: TypePointer UniformConstant 139 +141(g_tTexcdi4a): 140(ptr) Variable UniformConstant + 142: TypeImage 18(int) Cube array sampled format:Unknown + 143: TypePointer UniformConstant 142 +144(g_tTexcdu4a): 143(ptr) Variable UniformConstant + 145(c1): 20(ptr) Variable UniformConstant + 146(c2): 60(ptr) Variable UniformConstant + 147(o3): 13(ptr) Variable UniformConstant + 148(o4): 53(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 86(psout): 85(ptr) Variable Function @@ -488,8 +511,10 @@ gl_FragCoord origin is upper left 81: 11(int) Load 80 82: 15(ivec2) Load 61(o2) 83: 47(ivec4) ImageFetch 77 79 Lod Offset 81 82 - 90: 89(ptr) AccessChain 86(psout) 87 - Store 90 88 - 91:84(PS_OUTPUT) Load 86(psout) - ReturnValue 91 + 91: 90(ptr) AccessChain 86(psout) 87 + Store 91 89 + 94: 93(ptr) AccessChain 86(psout) 92 + Store 94 88 + 95:84(PS_OUTPUT) Load 86(psout) + ReturnValue 95 FunctionEnd diff --git a/Test/baseResults/hlsl.numericsuffixes.frag.out b/Test/baseResults/hlsl.numericsuffixes.frag.out index 46fcddbf..5ba5831f 100644 --- a/Test/baseResults/hlsl.numericsuffixes.frag.out +++ b/Test/baseResults/hlsl.numericsuffixes.frag.out @@ -50,6 +50,14 @@ gl_FragCoord origin is upper left 0:15 'r08' (temp uint) 0:15 Constant: 0:15 58 (const uint) +0:18 move second child to first child (temp 4-component vector of float) +0:18 color: direct index for structure (temp 4-component vector of float) +0:18 'ps_output' (temp structure{temp 4-component vector of float color}) +0:18 Constant: +0:18 0 (const int) +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 Branch: Return with expression 0:19 'ps_output' (temp structure{temp 4-component vector of float color}) 0:? Linker Objects @@ -109,13 +117,21 @@ gl_FragCoord origin is upper left 0:15 'r08' (temp uint) 0:15 Constant: 0:15 58 (const uint) +0:18 move second child to first child (temp 4-component vector of float) +0:18 color: direct index for structure (temp 4-component vector of float) +0:18 'ps_output' (temp structure{temp 4-component vector of float color}) +0:18 Constant: +0:18 0 (const int) +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 Branch: Return with expression 0:19 'ps_output' (temp structure{temp 4-component vector of float color}) 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 35 +// Id's are bound by 41 Capability Shader 1: ExtInstImport "GLSL.std.450" @@ -155,6 +171,8 @@ gl_FragCoord origin is upper left 29: TypeVector 6(float) 4 30(PS_OUTPUT): TypeStruct 29(fvec4) 31: TypePointer Function 30(PS_OUTPUT) + 33: 19(int) Constant 0 + 37: TypePointer Function 29(fvec4) 4(main): 2 Function None 3 5: Label 8(r00): 7(ptr) Variable Function @@ -176,6 +194,11 @@ gl_FragCoord origin is upper left Store 23(r06) 24 Store 25(r07) 26 Store 27(r08) 28 - 33:30(PS_OUTPUT) Load 32(ps_output) - ReturnValue 33 + 34: 19(int) Load 25(r07) + 35: 6(float) ConvertSToF 34 + 36: 29(fvec4) CompositeConstruct 35 35 35 35 + 38: 37(ptr) AccessChain 32(ps_output) 33 + Store 38 36 + 39:30(PS_OUTPUT) Load 32(ps_output) + ReturnValue 39 FunctionEnd diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out index 99784de3..8e0cd618 100644 --- a/Test/baseResults/hlsl.sample.array.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out @@ -104,6 +104,16 @@ gl_FragCoord origin is upper left 0:? 0.800000 0:? 0.900000 0:? 1.000000 +0:39 move second child to first child (temp 4-component vector of float) +0:39 Color: direct index for structure (temp 4-component vector of float) +0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 Constant: +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 0:40 move second child to first child (temp float) 0:40 Depth: direct index for structure (temp float FragDepth) 0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -235,6 +245,16 @@ gl_FragCoord origin is upper left 0:? 0.800000 0:? 0.900000 0:? 1.000000 +0:39 move second child to first child (temp 4-component vector of float) +0:39 Color: direct index for structure (temp 4-component vector of float) +0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 Constant: +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 0:40 move second child to first child (temp float) 0:40 Depth: direct index for structure (temp float FragDepth) 0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -259,7 +279,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 129 +// Id's are bound by 132 Capability Shader Capability Sampled1D @@ -293,7 +313,7 @@ gl_FragCoord origin is upper left MemberName 120(PS_OUTPUT) 0 "Color" MemberName 120(PS_OUTPUT) 1 "Depth" Name 122 "psout" - Name 128 "g_tTex1df4a" + Name 131 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 31(g_tTex1di4) DescriptorSet 0 @@ -305,7 +325,7 @@ 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 128(g_tTex1df4a) DescriptorSet 0 + Decorate 131(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -379,9 +399,11 @@ gl_FragCoord origin is upper left 118: 7(fvec4) ConstantComposite 84 115 116 117 120(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 121: TypePointer Function 120(PS_OUTPUT) - 123: 25(int) Constant 1 - 124: TypePointer Function 6(float) -128(g_tTex1df4a): 11(ptr) Variable UniformConstant + 123: 25(int) Constant 0 + 124: 7(fvec4) ConstantComposite 117 117 117 117 + 126: 25(int) Constant 1 + 127: TypePointer Function 6(float) +131(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -439,8 +461,10 @@ gl_FragCoord origin is upper left 114: 113 SampledImage 111 112 119: 40(ivec4) ImageSampleImplicitLod 114 118 Store 107(txval42) 119 - 125: 124(ptr) AccessChain 122(psout) 123 - Store 125 117 - 126:120(PS_OUTPUT) Load 122(psout) - ReturnValue 126 + 125: 8(ptr) AccessChain 122(psout) 123 + Store 125 124 + 128: 127(ptr) AccessChain 122(psout) 126 + Store 128 117 + 129:120(PS_OUTPUT) Load 122(psout) + ReturnValue 129 FunctionEnd diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out index 234e3888..3a94ee52 100644 --- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out @@ -214,6 +214,16 @@ gl_FragCoord origin is upper left 0:? 0.700000 0:? 0.800000 0:? 0.900000 +0:86 move second child to first child (temp 4-component vector of float) +0:86 Color: direct index for structure (temp 4-component vector of float) +0:86 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:86 Constant: +0:86 0 (const int) +0:86 Constant: +0:86 1.000000 +0:86 1.000000 +0:86 1.000000 +0:86 1.000000 0:87 move second child to first child (temp float) 0:87 Depth: direct index for structure (temp float FragDepth) 0:87 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -458,6 +468,16 @@ gl_FragCoord origin is upper left 0:? 0.700000 0:? 0.800000 0:? 0.900000 +0:86 move second child to first child (temp 4-component vector of float) +0:86 Color: direct index for structure (temp 4-component vector of float) +0:86 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:86 Constant: +0:86 0 (const int) +0:86 Constant: +0:86 1.000000 +0:86 1.000000 +0:86 1.000000 +0:86 1.000000 0:87 move second child to first child (temp float) 0:87 Depth: direct index for structure (temp float FragDepth) 0:87 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -487,7 +507,7 @@ 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 184 Capability Shader Capability Sampled1D @@ -540,9 +560,9 @@ gl_FragCoord origin is upper left MemberName 171(PS_OUTPUT) 0 "Color" MemberName 171(PS_OUTPUT) 1 "Depth" Name 173 "psout" - Name 179 "g_sSamp2d" - Name 180 "g_sSamp2D_b" - Name 181 "g_tTex1df4a" + Name 181 "g_sSamp2d" + Name 182 "g_sSamp2D_b" + Name 183 "g_tTex1df4a" Decorate 41(g_tTex1df4) DescriptorSet 0 Decorate 45(g_sSamp) DescriptorSet 0 Decorate 56(g_tTex1di4) DescriptorSet 0 @@ -557,9 +577,9 @@ 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 179(g_sSamp2d) DescriptorSet 0 - Decorate 180(g_sSamp2D_b) DescriptorSet 0 - Decorate 181(g_tTex1df4a) DescriptorSet 0 + Decorate 181(g_sSamp2d) DescriptorSet 0 + Decorate 182(g_sSamp2D_b) DescriptorSet 0 + Decorate 183(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -657,10 +677,11 @@ gl_FragCoord origin is upper left 171(PS_OUTPUT): TypeStruct 36(fvec4) 35(float) 172: TypePointer Function 171(PS_OUTPUT) 174: 35(float) Constant 1065353216 - 175: TypePointer Function 35(float) - 179(g_sSamp2d): 44(ptr) Variable UniformConstant -180(g_sSamp2D_b): 44(ptr) Variable UniformConstant -181(g_tTex1df4a): 40(ptr) Variable UniformConstant + 175: 36(fvec4) ConstantComposite 174 174 174 174 + 177: TypePointer Function 35(float) + 181(g_sSamp2d): 44(ptr) Variable UniformConstant +182(g_sSamp2D_b): 44(ptr) Variable UniformConstant +183(g_tTex1df4a): 40(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(mtest): 8(ptr) Variable Function @@ -761,8 +782,10 @@ gl_FragCoord origin is upper left 169: 168 SampledImage 166 167 170: 64(ivec4) ImageSampleImplicitLod 169 142 Store 162(txval42) 170 - 176: 175(ptr) AccessChain 173(psout) 10 - Store 176 174 - 177:171(PS_OUTPUT) Load 173(psout) - ReturnValue 177 + 176: 37(ptr) AccessChain 173(psout) 23 + Store 176 175 + 178: 177(ptr) AccessChain 173(psout) 10 + Store 178 174 + 179:171(PS_OUTPUT) Load 173(psout) + ReturnValue 179 FunctionEnd diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out index 09e94a7a..42fe084d 100644 --- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out @@ -122,6 +122,16 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) +0:45 move second child to first child (temp 4-component vector of float) +0:45 Color: direct index for structure (temp 4-component vector of float) +0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:45 Constant: +0:45 0 (const int) +0:45 Constant: +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 0:46 move second child to first child (temp float) 0:46 Depth: direct index for structure (temp float FragDepth) 0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -274,6 +284,16 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) +0:45 move second child to first child (temp 4-component vector of float) +0:45 Color: direct index for structure (temp 4-component vector of float) +0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:45 Constant: +0:45 0 (const int) +0:45 Constant: +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 0:46 move second child to first child (temp float) 0:46 Depth: direct index for structure (temp float FragDepth) 0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -301,7 +321,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 145 +// Id's are bound by 147 Capability Shader Capability Sampled1D @@ -334,10 +354,10 @@ gl_FragCoord origin is upper left MemberName 127(PS_OUTPUT) 0 "Color" MemberName 127(PS_OUTPUT) 1 "Depth" Name 129 "psout" - Name 135 "g_tTex1df4a" - Name 138 "g_tTexcdf4" - Name 141 "g_tTexcdi4" - Name 144 "g_tTexcdu4" + Name 137 "g_tTex1df4a" + Name 140 "g_tTexcdf4" + Name 143 "g_tTexcdi4" + Name 146 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 29(g_tTex1di4) DescriptorSet 0 @@ -349,10 +369,10 @@ 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 135(g_tTex1df4a) DescriptorSet 0 - Decorate 138(g_tTexcdf4) DescriptorSet 0 - Decorate 141(g_tTexcdi4) DescriptorSet 0 - Decorate 144(g_tTexcdu4) DescriptorSet 0 + Decorate 137(g_tTex1df4a) DescriptorSet 0 + Decorate 140(g_tTexcdf4) DescriptorSet 0 + Decorate 143(g_tTexcdi4) DescriptorSet 0 + Decorate 146(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -434,17 +454,18 @@ gl_FragCoord origin is upper left 127(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 128: TypePointer Function 127(PS_OUTPUT) 130: 6(float) Constant 1065353216 - 131: TypePointer Function 6(float) -135(g_tTex1df4a): 11(ptr) Variable UniformConstant - 136: TypeImage 6(float) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdf4): 137(ptr) Variable UniformConstant - 139: TypeImage 21(int) Cube sampled format:Unknown - 140: TypePointer UniformConstant 139 - 141(g_tTexcdi4): 140(ptr) Variable UniformConstant - 142: TypeImage 36(int) Cube sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTexcdu4): 143(ptr) Variable UniformConstant + 131: 7(fvec4) ConstantComposite 130 130 130 130 + 133: TypePointer Function 6(float) +137(g_tTex1df4a): 11(ptr) Variable UniformConstant + 138: TypeImage 6(float) Cube sampled format:Unknown + 139: TypePointer UniformConstant 138 + 140(g_tTexcdf4): 139(ptr) Variable UniformConstant + 141: TypeImage 21(int) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdi4): 142(ptr) Variable UniformConstant + 144: TypeImage 36(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdu4): 145(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -502,8 +523,10 @@ gl_FragCoord origin is upper left 120: 119 SampledImage 117 118 126: 37(ivec4) ImageSampleImplicitLod 120 124 ConstOffset 125 Store 113(txval32) 126 - 132: 131(ptr) AccessChain 129(psout) 22 - Store 132 130 - 133:127(PS_OUTPUT) Load 129(psout) - ReturnValue 133 + 132: 8(ptr) AccessChain 129(psout) 60 + Store 132 131 + 134: 133(ptr) AccessChain 129(psout) 22 + Store 134 130 + 135:127(PS_OUTPUT) Load 129(psout) + ReturnValue 135 FunctionEnd diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out index 38119f76..ed3838ff 100644 --- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out @@ -83,6 +83,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 0 (const int) 0:? 1 (const int) +0:33 move second child to first child (temp 4-component vector of float) +0:33 Color: direct index for structure (temp 4-component vector of float) +0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:33 Constant: +0:33 0 (const int) +0:33 Constant: +0:33 1.000000 +0:33 1.000000 +0:33 1.000000 +0:33 1.000000 0:34 move second child to first child (temp float) 0:34 Depth: direct index for structure (temp float FragDepth) 0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -190,6 +200,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 0 (const int) 0:? 1 (const int) +0:33 move second child to first child (temp 4-component vector of float) +0:33 Color: direct index for structure (temp 4-component vector of float) +0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:33 Constant: +0:33 0 (const int) +0:33 Constant: +0:33 1.000000 +0:33 1.000000 +0:33 1.000000 +0:33 1.000000 0:34 move second child to first child (temp float) 0:34 Depth: direct index for structure (temp float FragDepth) 0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -211,7 +231,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 102 +// Id's are bound by 104 Capability Shader Capability Sampled1D @@ -238,7 +258,7 @@ gl_FragCoord origin is upper left MemberName 93(PS_OUTPUT) 0 "Color" MemberName 93(PS_OUTPUT) 1 "Depth" Name 95 "psout" - Name 101 "g_tTex1df4a" + Name 103 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 32(g_tTex1di4) DescriptorSet 0 @@ -247,7 +267,7 @@ 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 101(g_tTex1df4a) DescriptorSet 0 + Decorate 103(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -310,8 +330,9 @@ gl_FragCoord origin is upper left 93(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 94: TypePointer Function 93(PS_OUTPUT) 96: 6(float) Constant 1065353216 - 97: TypePointer Function 6(float) -101(g_tTex1df4a): 11(ptr) Variable UniformConstant + 97: 7(fvec4) ConstantComposite 96 96 96 96 + 99: TypePointer Function 6(float) +103(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -351,8 +372,10 @@ gl_FragCoord origin is upper left 87: 86 SampledImage 84 85 92: 42(ivec4) ImageSampleImplicitLod 87 90 ConstOffset 91 Store 80(txval22) 92 - 98: 97(ptr) AccessChain 95(psout) 39 - Store 98 96 - 99:93(PS_OUTPUT) Load 95(psout) - ReturnValue 99 + 98: 8(ptr) AccessChain 95(psout) 25 + Store 98 97 + 100: 99(ptr) AccessChain 95(psout) 39 + Store 100 96 + 101:93(PS_OUTPUT) Load 95(psout) + ReturnValue 101 FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out index 96d9be7c..37022698 100644 --- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out @@ -122,6 +122,16 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:37 Constant: 0:37 0.500000 +0:39 move second child to first child (temp 4-component vector of float) +0:39 Color: direct index for structure (temp 4-component vector of float) +0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 Constant: +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 0:40 move second child to first child (temp float) 0:40 Depth: direct index for structure (temp float FragDepth) 0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -271,6 +281,16 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:37 Constant: 0:37 0.500000 +0:39 move second child to first child (temp 4-component vector of float) +0:39 Color: direct index for structure (temp 4-component vector of float) +0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 Constant: +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 0:40 move second child to first child (temp float) 0:40 Depth: direct index for structure (temp float FragDepth) 0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -295,7 +315,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 129 +// Id's are bound by 132 Capability Shader Capability Sampled1D @@ -329,7 +349,7 @@ gl_FragCoord origin is upper left MemberName 120(PS_OUTPUT) 0 "Color" MemberName 120(PS_OUTPUT) 1 "Depth" Name 122 "psout" - Name 128 "g_tTex1df4a" + Name 131 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 32(g_tTex1di4) DescriptorSet 0 @@ -341,7 +361,7 @@ 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 128(g_tTex1df4a) DescriptorSet 0 + Decorate 131(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -415,9 +435,11 @@ gl_FragCoord origin is upper left 118: 7(fvec4) ConstantComposite 84 115 116 117 120(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 121: TypePointer Function 120(PS_OUTPUT) - 123: 26(int) Constant 1 - 124: TypePointer Function 6(float) -128(g_tTex1df4a): 11(ptr) Variable UniformConstant + 123: 26(int) Constant 0 + 124: 7(fvec4) ConstantComposite 117 117 117 117 + 126: 26(int) Constant 1 + 127: TypePointer Function 6(float) +131(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -475,8 +497,10 @@ gl_FragCoord origin is upper left 114: 113 SampledImage 111 112 119: 41(ivec4) ImageSampleImplicitLod 114 118 Bias 24 Store 107(txval42) 119 - 125: 124(ptr) AccessChain 122(psout) 123 - Store 125 117 - 126:120(PS_OUTPUT) Load 122(psout) - ReturnValue 126 + 125: 8(ptr) AccessChain 122(psout) 123 + Store 125 124 + 128: 127(ptr) AccessChain 122(psout) 126 + Store 128 117 + 129:120(PS_OUTPUT) Load 122(psout) + ReturnValue 129 FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out index 3fb36ee5..97d756e7 100644 --- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out @@ -152,6 +152,16 @@ gl_FragCoord origin is upper left 0:? 0.900000 0:45 Constant: 0:45 0.500000 +0:47 move second child to first child (temp 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 Constant: +0:47 1.000000 +0:47 1.000000 +0:47 1.000000 +0:47 1.000000 0:48 move second child to first child (temp float) 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}) @@ -334,6 +344,16 @@ gl_FragCoord origin is upper left 0:? 0.900000 0:45 Constant: 0:45 0.500000 +0:47 move second child to first child (temp 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 Constant: +0:47 1.000000 +0:47 1.000000 +0:47 1.000000 +0:47 1.000000 0:48 move second child to first child (temp float) 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}) @@ -361,7 +381,7 @@ 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 156 Capability Shader Capability Sampled1D @@ -400,7 +420,7 @@ gl_FragCoord origin is upper left MemberName 143(PS_OUTPUT) 0 "Color" MemberName 143(PS_OUTPUT) 1 "Depth" Name 145 "psout" - Name 152 "g_tTex1df4a" + Name 155 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 29(g_tTex1di4) DescriptorSet 0 @@ -415,7 +435,7 @@ 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 152(g_tTex1df4a) DescriptorSet 0 + Decorate 155(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -497,10 +517,12 @@ gl_FragCoord origin is upper left 140: TypeSampledImage 135 143(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 144: TypePointer Function 143(PS_OUTPUT) - 146: 23(int) Constant 1 + 146: 23(int) Constant 0 147: 6(float) Constant 1065353216 - 148: TypePointer Function 6(float) -152(g_tTex1df4a): 11(ptr) Variable UniformConstant + 148: 7(fvec4) ConstantComposite 147 147 147 147 + 150: 23(int) Constant 1 + 151: TypePointer Function 6(float) +155(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -576,8 +598,10 @@ gl_FragCoord origin is upper left 141: 140 SampledImage 138 139 142: 37(ivec4) ImageSampleImplicitLod 141 114 Bias 21 Store 134(txval42) 142 - 149: 148(ptr) AccessChain 145(psout) 146 - Store 149 147 - 150:143(PS_OUTPUT) Load 145(psout) - ReturnValue 150 + 149: 8(ptr) AccessChain 145(psout) 146 + Store 149 148 + 152: 151(ptr) AccessChain 145(psout) 150 + Store 152 147 + 153:143(PS_OUTPUT) Load 145(psout) + ReturnValue 153 FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out index 8faab19d..4219bbcd 100644 --- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out @@ -140,6 +140,16 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) +0:45 move second child to first child (temp 4-component vector of float) +0:45 Color: direct index for structure (temp 4-component vector of float) +0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:45 Constant: +0:45 0 (const int) +0:45 Constant: +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 0:46 move second child to first child (temp float) 0:46 Depth: direct index for structure (temp float FragDepth) 0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -310,6 +320,16 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) +0:45 move second child to first child (temp 4-component vector of float) +0:45 Color: direct index for structure (temp 4-component vector of float) +0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:45 Constant: +0:45 0 (const int) +0:45 Constant: +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 0:46 move second child to first child (temp float) 0:46 Depth: direct index for structure (temp float FragDepth) 0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -337,7 +357,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 145 +// Id's are bound by 147 Capability Shader Capability Sampled1D @@ -370,10 +390,10 @@ gl_FragCoord origin is upper left MemberName 127(PS_OUTPUT) 0 "Color" MemberName 127(PS_OUTPUT) 1 "Depth" Name 129 "psout" - Name 135 "g_tTex1df4a" - Name 138 "g_tTexcdf4" - Name 141 "g_tTexcdi4" - Name 144 "g_tTexcdu4" + Name 137 "g_tTex1df4a" + Name 140 "g_tTexcdf4" + Name 143 "g_tTexcdi4" + Name 146 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 30(g_tTex1di4) DescriptorSet 0 @@ -385,10 +405,10 @@ 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 135(g_tTex1df4a) DescriptorSet 0 - Decorate 138(g_tTexcdf4) DescriptorSet 0 - Decorate 141(g_tTexcdi4) DescriptorSet 0 - Decorate 144(g_tTexcdu4) DescriptorSet 0 + Decorate 137(g_tTex1df4a) DescriptorSet 0 + Decorate 140(g_tTexcdf4) DescriptorSet 0 + Decorate 143(g_tTexcdi4) DescriptorSet 0 + Decorate 146(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -470,17 +490,18 @@ gl_FragCoord origin is upper left 127(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 128: TypePointer Function 127(PS_OUTPUT) 130: 6(float) Constant 1065353216 - 131: TypePointer Function 6(float) -135(g_tTex1df4a): 11(ptr) Variable UniformConstant - 136: TypeImage 6(float) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdf4): 137(ptr) Variable UniformConstant - 139: TypeImage 22(int) Cube sampled format:Unknown - 140: TypePointer UniformConstant 139 - 141(g_tTexcdi4): 140(ptr) Variable UniformConstant - 142: TypeImage 37(int) Cube sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTexcdu4): 143(ptr) Variable UniformConstant + 131: 7(fvec4) ConstantComposite 130 130 130 130 + 133: TypePointer Function 6(float) +137(g_tTex1df4a): 11(ptr) Variable UniformConstant + 138: TypeImage 6(float) Cube sampled format:Unknown + 139: TypePointer UniformConstant 138 + 140(g_tTexcdf4): 139(ptr) Variable UniformConstant + 141: TypeImage 22(int) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdi4): 142(ptr) Variable UniformConstant + 144: TypeImage 37(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdu4): 145(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -538,8 +559,10 @@ gl_FragCoord origin is upper left 120: 119 SampledImage 117 118 126: 38(ivec4) ImageSampleImplicitLod 120 124 Bias ConstOffset 125 21 Store 113(txval32) 126 - 132: 131(ptr) AccessChain 129(psout) 23 - Store 132 130 - 133:127(PS_OUTPUT) Load 129(psout) - ReturnValue 133 + 132: 8(ptr) AccessChain 129(psout) 61 + Store 132 131 + 134: 133(ptr) AccessChain 129(psout) 23 + Store 134 130 + 135:127(PS_OUTPUT) Load 129(psout) + ReturnValue 135 FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out index 51f61235..925c40ec 100644 --- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out @@ -95,6 +95,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 0 (const int) 0:? 1 (const int) +0:33 move second child to first child (temp 4-component vector of float) +0:33 Color: direct index for structure (temp 4-component vector of float) +0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:33 Constant: +0:33 0 (const int) +0:33 Constant: +0:33 1.000000 +0:33 1.000000 +0:33 1.000000 +0:33 1.000000 0:34 move second child to first child (temp float) 0:34 Depth: direct index for structure (temp float FragDepth) 0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -214,6 +224,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 0 (const int) 0:? 1 (const int) +0:33 move second child to first child (temp 4-component vector of float) +0:33 Color: direct index for structure (temp 4-component vector of float) +0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:33 Constant: +0:33 0 (const int) +0:33 Constant: +0:33 1.000000 +0:33 1.000000 +0:33 1.000000 +0:33 1.000000 0:34 move second child to first child (temp float) 0:34 Depth: direct index for structure (temp float FragDepth) 0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -235,7 +255,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 102 +// Id's are bound by 104 Capability Shader Capability Sampled1D @@ -262,7 +282,7 @@ gl_FragCoord origin is upper left MemberName 93(PS_OUTPUT) 0 "Color" MemberName 93(PS_OUTPUT) 1 "Depth" Name 95 "psout" - Name 101 "g_tTex1df4a" + Name 103 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4) DescriptorSet 0 @@ -271,7 +291,7 @@ 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 101(g_tTex1df4a) DescriptorSet 0 + Decorate 103(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -334,8 +354,9 @@ gl_FragCoord origin is upper left 93(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 94: TypePointer Function 93(PS_OUTPUT) 96: 6(float) Constant 1065353216 - 97: TypePointer Function 6(float) -101(g_tTex1df4a): 11(ptr) Variable UniformConstant + 97: 7(fvec4) ConstantComposite 96 96 96 96 + 99: TypePointer Function 6(float) +103(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -375,8 +396,10 @@ gl_FragCoord origin is upper left 87: 86 SampledImage 84 85 92: 43(ivec4) ImageSampleImplicitLod 87 90 Bias ConstOffset 91 24 Store 80(txval22) 92 - 98: 97(ptr) AccessChain 95(psout) 40 - Store 98 96 - 99:93(PS_OUTPUT) Load 95(psout) - ReturnValue 99 + 98: 8(ptr) AccessChain 95(psout) 26 + Store 98 97 + 100: 99(ptr) AccessChain 95(psout) 40 + Store 100 96 + 101:93(PS_OUTPUT) Load 95(psout) + ReturnValue 101 FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out index da404c48..6114c0f9 100644 --- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out @@ -131,6 +131,16 @@ gl_FragCoord origin is upper left 0:? 0.400000 0:54 Constant: 0:54 0.750000 +0:56 move second child to first child (temp 4-component vector of float) +0:56 Color: direct index for structure (temp 4-component vector of float) +0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:56 Constant: +0:56 0 (const int) +0:56 Constant: +0:56 1.000000 +0:56 1.000000 +0:56 1.000000 +0:56 1.000000 0:57 move second child to first child (temp float) 0:57 Depth: direct index for structure (temp float FragDepth) 0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -300,6 +310,16 @@ gl_FragCoord origin is upper left 0:? 0.400000 0:54 Constant: 0:54 0.750000 +0:56 move second child to first child (temp 4-component vector of float) +0:56 Color: direct index for structure (temp 4-component vector of float) +0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:56 Constant: +0:56 0 (const int) +0:56 Constant: +0:56 1.000000 +0:56 1.000000 +0:56 1.000000 +0:56 1.000000 0:57 move second child to first child (temp float) 0:57 Depth: direct index for structure (temp float FragDepth) 0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -335,7 +355,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 173 +// Id's are bound by 177 Capability Shader Capability Sampled1D @@ -369,18 +389,18 @@ gl_FragCoord origin is upper left MemberName 129(PS_OUTPUT) 0 "Color" MemberName 129(PS_OUTPUT) 1 "Depth" Name 131 "psout" - Name 139 "g_tTex1df4" - Name 142 "g_tTex1di4" - Name 145 "g_tTex1du4" - Name 148 "g_tTex2df4" - Name 151 "g_tTex2di4" - Name 154 "g_tTex2du4" - Name 157 "g_tTex3df4" - Name 160 "g_tTex3di4" - Name 163 "g_tTex3du4" - Name 166 "g_tTexcdf4" - Name 169 "g_tTexcdi4" - Name 172 "g_tTexcdu4" + Name 143 "g_tTex1df4" + Name 146 "g_tTex1di4" + Name 149 "g_tTex1du4" + Name 152 "g_tTex2df4" + Name 155 "g_tTex2di4" + Name 158 "g_tTex2du4" + Name 161 "g_tTex3df4" + Name 164 "g_tTex3di4" + Name 167 "g_tTex3du4" + Name 170 "g_tTexcdf4" + Name 173 "g_tTexcdi4" + Name 176 "g_tTexcdu4" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 32(g_tTex1di4a) DescriptorSet 0 @@ -392,18 +412,18 @@ 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 139(g_tTex1df4) DescriptorSet 0 - Decorate 142(g_tTex1di4) DescriptorSet 0 - Decorate 145(g_tTex1du4) DescriptorSet 0 - Decorate 148(g_tTex2df4) DescriptorSet 0 - Decorate 151(g_tTex2di4) DescriptorSet 0 - Decorate 154(g_tTex2du4) DescriptorSet 0 - Decorate 157(g_tTex3df4) DescriptorSet 0 - Decorate 160(g_tTex3di4) DescriptorSet 0 - Decorate 163(g_tTex3du4) DescriptorSet 0 - Decorate 166(g_tTexcdf4) DescriptorSet 0 - Decorate 169(g_tTexcdi4) DescriptorSet 0 - Decorate 172(g_tTexcdu4) DescriptorSet 0 + Decorate 143(g_tTex1df4) DescriptorSet 0 + Decorate 146(g_tTex1di4) DescriptorSet 0 + Decorate 149(g_tTex1du4) DescriptorSet 0 + Decorate 152(g_tTex2df4) DescriptorSet 0 + Decorate 155(g_tTex2di4) DescriptorSet 0 + Decorate 158(g_tTex2du4) DescriptorSet 0 + Decorate 161(g_tTex3df4) DescriptorSet 0 + Decorate 164(g_tTex3di4) DescriptorSet 0 + Decorate 167(g_tTex3du4) DescriptorSet 0 + Decorate 170(g_tTexcdf4) DescriptorSet 0 + Decorate 173(g_tTexcdi4) DescriptorSet 0 + Decorate 176(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -471,44 +491,47 @@ gl_FragCoord origin is upper left 125: TypeSampledImage 124 129(PS_OUTPUT): TypeStruct 102(fvec4) 6(float) 130: TypePointer Function 129(PS_OUTPUT) - 132: 29(int) Constant 1 + 132: 29(int) Constant 0 133: 6(float) Constant 1065353216 - 137: TypeImage 6(float) 1D sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTex1df4): 138(ptr) Variable UniformConstant - 140: TypeImage 29(int) 1D sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTex1di4): 141(ptr) Variable UniformConstant - 143: TypeImage 42(int) 1D sampled format:Unknown - 144: TypePointer UniformConstant 143 - 145(g_tTex1du4): 144(ptr) Variable UniformConstant - 146: TypeImage 6(float) 2D sampled format:Unknown - 147: TypePointer UniformConstant 146 - 148(g_tTex2df4): 147(ptr) Variable UniformConstant - 149: TypeImage 29(int) 2D sampled format:Unknown - 150: TypePointer UniformConstant 149 - 151(g_tTex2di4): 150(ptr) Variable UniformConstant - 152: TypeImage 42(int) 2D sampled format:Unknown - 153: TypePointer UniformConstant 152 - 154(g_tTex2du4): 153(ptr) Variable UniformConstant - 155: TypeImage 6(float) 3D sampled format:Unknown - 156: TypePointer UniformConstant 155 - 157(g_tTex3df4): 156(ptr) Variable UniformConstant - 158: TypeImage 29(int) 3D sampled format:Unknown - 159: TypePointer UniformConstant 158 - 160(g_tTex3di4): 159(ptr) Variable UniformConstant - 161: TypeImage 42(int) 3D sampled format:Unknown - 162: TypePointer UniformConstant 161 - 163(g_tTex3du4): 162(ptr) Variable UniformConstant - 164: TypeImage 6(float) Cube sampled format:Unknown - 165: TypePointer UniformConstant 164 - 166(g_tTexcdf4): 165(ptr) Variable UniformConstant - 167: TypeImage 29(int) Cube sampled format:Unknown - 168: TypePointer UniformConstant 167 - 169(g_tTexcdi4): 168(ptr) Variable UniformConstant - 170: TypeImage 42(int) Cube sampled format:Unknown - 171: TypePointer UniformConstant 170 - 172(g_tTexcdu4): 171(ptr) Variable UniformConstant + 134: 102(fvec4) ConstantComposite 133 133 133 133 + 135: TypePointer Function 102(fvec4) + 137: 29(int) Constant 1 + 141: TypeImage 6(float) 1D sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTex1df4): 142(ptr) Variable UniformConstant + 144: TypeImage 29(int) 1D sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTex1di4): 145(ptr) Variable UniformConstant + 147: TypeImage 42(int) 1D sampled format:Unknown + 148: TypePointer UniformConstant 147 + 149(g_tTex1du4): 148(ptr) Variable UniformConstant + 150: TypeImage 6(float) 2D sampled format:Unknown + 151: TypePointer UniformConstant 150 + 152(g_tTex2df4): 151(ptr) Variable UniformConstant + 153: TypeImage 29(int) 2D sampled format:Unknown + 154: TypePointer UniformConstant 153 + 155(g_tTex2di4): 154(ptr) Variable UniformConstant + 156: TypeImage 42(int) 2D sampled format:Unknown + 157: TypePointer UniformConstant 156 + 158(g_tTex2du4): 157(ptr) Variable UniformConstant + 159: TypeImage 6(float) 3D sampled format:Unknown + 160: TypePointer UniformConstant 159 + 161(g_tTex3df4): 160(ptr) Variable UniformConstant + 162: TypeImage 29(int) 3D sampled format:Unknown + 163: TypePointer UniformConstant 162 + 164(g_tTex3di4): 163(ptr) Variable UniformConstant + 165: TypeImage 42(int) 3D sampled format:Unknown + 166: TypePointer UniformConstant 165 + 167(g_tTex3du4): 166(ptr) Variable UniformConstant + 168: TypeImage 6(float) Cube sampled format:Unknown + 169: TypePointer UniformConstant 168 + 170(g_tTexcdf4): 169(ptr) Variable UniformConstant + 171: TypeImage 29(int) Cube sampled format:Unknown + 172: TypePointer UniformConstant 171 + 173(g_tTexcdi4): 172(ptr) Variable UniformConstant + 174: TypeImage 42(int) Cube sampled format:Unknown + 175: TypePointer UniformConstant 174 + 176(g_tTexcdu4): 175(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r10): 7(ptr) Variable Function @@ -581,8 +604,10 @@ gl_FragCoord origin is upper left 127: 6(float) CompositeExtract 104 0 128: 6(float) ImageSampleDrefImplicitLod 126 127 24 Store 118(r64) 128 - 134: 7(ptr) AccessChain 131(psout) 132 - Store 134 133 - 135:129(PS_OUTPUT) Load 131(psout) - ReturnValue 135 + 136: 135(ptr) AccessChain 131(psout) 132 + Store 136 134 + 138: 7(ptr) AccessChain 131(psout) 137 + Store 138 133 + 139:129(PS_OUTPUT) Load 131(psout) + ReturnValue 139 FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out index b4b60d99..f0528de3 100644 --- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out @@ -122,6 +122,16 @@ gl_FragCoord origin is upper left 0:? 0.300000 0:55 Constant: 0:55 0.750000 +0:57 move second child to first child (temp 4-component vector of float) +0:57 Color: direct index for structure (temp 4-component vector of float) +0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:57 Constant: +0:57 0 (const int) +0:57 Constant: +0:57 1.000000 +0:57 1.000000 +0:57 1.000000 +0:57 1.000000 0:58 move second child to first child (temp float) 0:58 Depth: direct index for structure (temp float FragDepth) 0:58 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -282,6 +292,16 @@ gl_FragCoord origin is upper left 0:? 0.300000 0:55 Constant: 0:55 0.750000 +0:57 move second child to first child (temp 4-component vector of float) +0:57 Color: direct index for structure (temp 4-component vector of float) +0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:57 Constant: +0:57 0 (const int) +0:57 Constant: +0:57 1.000000 +0:57 1.000000 +0:57 1.000000 +0:57 1.000000 0:58 move second child to first child (temp float) 0:58 Depth: direct index for structure (temp float FragDepth) 0:58 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -317,7 +337,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 171 +// Id's are bound by 175 Capability Shader Capability Sampled1D @@ -351,18 +371,18 @@ gl_FragCoord origin is upper left MemberName 127(PS_OUTPUT) 0 "Color" MemberName 127(PS_OUTPUT) 1 "Depth" Name 129 "psout" - Name 137 "g_tTex3df4" - Name 140 "g_tTex3di4" - Name 143 "g_tTex3du4" - Name 146 "g_tTex1df4a" - Name 149 "g_tTex1di4a" - Name 152 "g_tTex1du4a" - Name 155 "g_tTex2df4a" - Name 158 "g_tTex2di4a" - Name 161 "g_tTex2du4a" - Name 164 "g_tTexcdf4a" - Name 167 "g_tTexcdi4a" - Name 170 "g_tTexcdu4a" + Name 141 "g_tTex3df4" + Name 144 "g_tTex3di4" + Name 147 "g_tTex3du4" + Name 150 "g_tTex1df4a" + Name 153 "g_tTex1di4a" + Name 156 "g_tTex1du4a" + Name 159 "g_tTex2df4a" + Name 162 "g_tTex2di4a" + Name 165 "g_tTex2du4a" + Name 168 "g_tTexcdf4a" + Name 171 "g_tTexcdi4a" + Name 174 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 28(g_tTex1di4) DescriptorSet 0 @@ -374,18 +394,18 @@ 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 137(g_tTex3df4) DescriptorSet 0 - Decorate 140(g_tTex3di4) DescriptorSet 0 - Decorate 143(g_tTex3du4) DescriptorSet 0 - Decorate 146(g_tTex1df4a) DescriptorSet 0 - Decorate 149(g_tTex1di4a) DescriptorSet 0 - Decorate 152(g_tTex1du4a) DescriptorSet 0 - Decorate 155(g_tTex2df4a) DescriptorSet 0 - Decorate 158(g_tTex2di4a) DescriptorSet 0 - Decorate 161(g_tTex2du4a) DescriptorSet 0 - Decorate 164(g_tTexcdf4a) DescriptorSet 0 - Decorate 167(g_tTexcdi4a) DescriptorSet 0 - Decorate 170(g_tTexcdu4a) DescriptorSet 0 + Decorate 141(g_tTex3df4) DescriptorSet 0 + Decorate 144(g_tTex3di4) DescriptorSet 0 + Decorate 147(g_tTex3du4) DescriptorSet 0 + Decorate 150(g_tTex1df4a) DescriptorSet 0 + Decorate 153(g_tTex1di4a) DescriptorSet 0 + Decorate 156(g_tTex1du4a) DescriptorSet 0 + Decorate 159(g_tTex2df4a) DescriptorSet 0 + Decorate 162(g_tTex2di4a) DescriptorSet 0 + Decorate 165(g_tTex2du4a) DescriptorSet 0 + Decorate 168(g_tTexcdf4a) DescriptorSet 0 + Decorate 171(g_tTexcdi4a) DescriptorSet 0 + Decorate 174(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -451,44 +471,47 @@ gl_FragCoord origin is upper left 126: TypeVector 6(float) 4 127(PS_OUTPUT): TypeStruct 126(fvec4) 6(float) 128: TypePointer Function 127(PS_OUTPUT) - 130: 25(int) Constant 1 + 130: 25(int) Constant 0 131: 6(float) Constant 1065353216 - 135: TypeImage 6(float) 3D sampled format:Unknown - 136: TypePointer UniformConstant 135 - 137(g_tTex3df4): 136(ptr) Variable UniformConstant - 138: TypeImage 25(int) 3D sampled format:Unknown - 139: TypePointer UniformConstant 138 - 140(g_tTex3di4): 139(ptr) Variable UniformConstant - 141: TypeImage 37(int) 3D sampled format:Unknown - 142: TypePointer UniformConstant 141 - 143(g_tTex3du4): 142(ptr) Variable UniformConstant - 144: TypeImage 6(float) 1D array sampled format:Unknown - 145: TypePointer UniformConstant 144 -146(g_tTex1df4a): 145(ptr) Variable UniformConstant - 147: TypeImage 25(int) 1D array sampled format:Unknown - 148: TypePointer UniformConstant 147 -149(g_tTex1di4a): 148(ptr) Variable UniformConstant - 150: TypeImage 37(int) 1D array sampled format:Unknown - 151: TypePointer UniformConstant 150 -152(g_tTex1du4a): 151(ptr) Variable UniformConstant - 153: TypeImage 6(float) 2D array sampled format:Unknown - 154: TypePointer UniformConstant 153 -155(g_tTex2df4a): 154(ptr) Variable UniformConstant - 156: TypeImage 25(int) 2D array sampled format:Unknown - 157: TypePointer UniformConstant 156 -158(g_tTex2di4a): 157(ptr) Variable UniformConstant - 159: TypeImage 37(int) 2D array sampled format:Unknown - 160: TypePointer UniformConstant 159 -161(g_tTex2du4a): 160(ptr) Variable UniformConstant - 162: TypeImage 6(float) Cube array sampled format:Unknown - 163: TypePointer UniformConstant 162 -164(g_tTexcdf4a): 163(ptr) Variable UniformConstant - 165: TypeImage 25(int) Cube array sampled format:Unknown - 166: TypePointer UniformConstant 165 -167(g_tTexcdi4a): 166(ptr) Variable UniformConstant - 168: TypeImage 37(int) Cube array sampled format:Unknown - 169: TypePointer UniformConstant 168 -170(g_tTexcdu4a): 169(ptr) Variable UniformConstant + 132: 126(fvec4) ConstantComposite 131 131 131 131 + 133: TypePointer Function 126(fvec4) + 135: 25(int) Constant 1 + 139: TypeImage 6(float) 3D sampled format:Unknown + 140: TypePointer UniformConstant 139 + 141(g_tTex3df4): 140(ptr) Variable UniformConstant + 142: TypeImage 25(int) 3D sampled format:Unknown + 143: TypePointer UniformConstant 142 + 144(g_tTex3di4): 143(ptr) Variable UniformConstant + 145: TypeImage 37(int) 3D sampled format:Unknown + 146: TypePointer UniformConstant 145 + 147(g_tTex3du4): 146(ptr) Variable UniformConstant + 148: TypeImage 6(float) 1D array sampled format:Unknown + 149: TypePointer UniformConstant 148 +150(g_tTex1df4a): 149(ptr) Variable UniformConstant + 151: TypeImage 25(int) 1D array sampled format:Unknown + 152: TypePointer UniformConstant 151 +153(g_tTex1di4a): 152(ptr) Variable UniformConstant + 154: TypeImage 37(int) 1D array sampled format:Unknown + 155: TypePointer UniformConstant 154 +156(g_tTex1du4a): 155(ptr) Variable UniformConstant + 157: TypeImage 6(float) 2D array sampled format:Unknown + 158: TypePointer UniformConstant 157 +159(g_tTex2df4a): 158(ptr) Variable UniformConstant + 160: TypeImage 25(int) 2D array sampled format:Unknown + 161: TypePointer UniformConstant 160 +162(g_tTex2di4a): 161(ptr) Variable UniformConstant + 163: TypeImage 37(int) 2D array sampled format:Unknown + 164: TypePointer UniformConstant 163 +165(g_tTex2du4a): 164(ptr) Variable UniformConstant + 166: TypeImage 6(float) Cube array sampled format:Unknown + 167: TypePointer UniformConstant 166 +168(g_tTexcdf4a): 167(ptr) Variable UniformConstant + 169: TypeImage 25(int) Cube array sampled format:Unknown + 170: TypePointer UniformConstant 169 +171(g_tTexcdi4a): 170(ptr) Variable UniformConstant + 172: TypeImage 37(int) Cube array sampled format:Unknown + 173: TypePointer UniformConstant 172 +174(g_tTexcdu4a): 173(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r00): 7(ptr) Variable Function @@ -561,8 +584,10 @@ gl_FragCoord origin is upper left 124: 6(float) CompositeExtract 123 0 125: 6(float) ImageSampleDrefImplicitLod 122 123 124 Store 114(r54) 125 - 132: 7(ptr) AccessChain 129(psout) 130 - Store 132 131 - 133:127(PS_OUTPUT) Load 129(psout) - ReturnValue 133 + 134: 133(ptr) AccessChain 129(psout) 130 + Store 134 132 + 136: 7(ptr) AccessChain 129(psout) 135 + Store 136 131 + 137:127(PS_OUTPUT) Load 129(psout) + ReturnValue 137 FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out index e4cd0a41..04d5972e 100644 --- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out @@ -95,6 +95,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) +0:62 move second child to first child (temp 4-component vector of float) +0:62 Color: direct index for structure (temp 4-component vector of float) +0:62 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:62 Constant: +0:62 0 (const int) +0:62 Constant: +0:62 1.000000 +0:62 1.000000 +0:62 1.000000 +0:62 1.000000 0:63 move second child to first child (temp float) 0:63 Depth: direct index for structure (temp float FragDepth) 0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -228,6 +238,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) +0:62 move second child to first child (temp 4-component vector of float) +0:62 Color: direct index for structure (temp 4-component vector of float) +0:62 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:62 Constant: +0:62 0 (const int) +0:62 Constant: +0:62 1.000000 +0:62 1.000000 +0:62 1.000000 +0:62 1.000000 0:63 move second child to first child (temp float) 0:63 Depth: direct index for structure (temp float FragDepth) 0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -263,7 +283,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 145 +// Id's are bound by 149 Capability Shader Capability Sampled1D @@ -291,21 +311,21 @@ gl_FragCoord origin is upper left MemberName 92(PS_OUTPUT) 0 "Color" MemberName 92(PS_OUTPUT) 1 "Depth" Name 94 "psout" - Name 102 "g_tTex3df4" - Name 105 "g_tTex3di4" - Name 108 "g_tTex3du4" - Name 111 "g_tTexcdf4" - Name 114 "g_tTexcdi4" - Name 117 "g_tTexcdu4" - Name 120 "g_tTex1df4a" - Name 123 "g_tTex1di4a" - Name 126 "g_tTex1du4a" - Name 129 "g_tTex2df4a" - Name 132 "g_tTex2di4a" - Name 135 "g_tTex2du4a" - Name 138 "g_tTexcdf4a" - Name 141 "g_tTexcdi4a" - Name 144 "g_tTexcdu4a" + Name 106 "g_tTex3df4" + Name 109 "g_tTex3di4" + Name 112 "g_tTex3du4" + Name 115 "g_tTexcdf4" + Name 118 "g_tTexcdi4" + Name 121 "g_tTexcdu4" + Name 124 "g_tTex1df4a" + Name 127 "g_tTex1di4a" + Name 130 "g_tTex1du4a" + Name 133 "g_tTex2df4a" + Name 136 "g_tTex2di4a" + Name 139 "g_tTex2du4a" + Name 142 "g_tTexcdf4a" + Name 145 "g_tTexcdi4a" + Name 148 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 29(g_tTex1di4) DescriptorSet 0 @@ -314,21 +334,21 @@ 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 102(g_tTex3df4) DescriptorSet 0 - Decorate 105(g_tTex3di4) DescriptorSet 0 - Decorate 108(g_tTex3du4) DescriptorSet 0 - Decorate 111(g_tTexcdf4) DescriptorSet 0 - Decorate 114(g_tTexcdi4) DescriptorSet 0 - Decorate 117(g_tTexcdu4) DescriptorSet 0 - Decorate 120(g_tTex1df4a) DescriptorSet 0 - Decorate 123(g_tTex1di4a) DescriptorSet 0 - Decorate 126(g_tTex1du4a) DescriptorSet 0 - Decorate 129(g_tTex2df4a) DescriptorSet 0 - Decorate 132(g_tTex2di4a) DescriptorSet 0 - Decorate 135(g_tTex2du4a) DescriptorSet 0 - Decorate 138(g_tTexcdf4a) DescriptorSet 0 - Decorate 141(g_tTexcdi4a) DescriptorSet 0 - Decorate 144(g_tTexcdu4a) DescriptorSet 0 + Decorate 106(g_tTex3df4) DescriptorSet 0 + Decorate 109(g_tTex3di4) DescriptorSet 0 + Decorate 112(g_tTex3du4) DescriptorSet 0 + Decorate 115(g_tTexcdf4) DescriptorSet 0 + Decorate 118(g_tTexcdi4) DescriptorSet 0 + Decorate 121(g_tTexcdu4) DescriptorSet 0 + Decorate 124(g_tTex1df4a) DescriptorSet 0 + Decorate 127(g_tTex1di4a) DescriptorSet 0 + Decorate 130(g_tTex1du4a) DescriptorSet 0 + Decorate 133(g_tTex2df4a) DescriptorSet 0 + Decorate 136(g_tTex2di4a) DescriptorSet 0 + Decorate 139(g_tTex2du4a) DescriptorSet 0 + Decorate 142(g_tTexcdf4a) DescriptorSet 0 + Decorate 145(g_tTexcdi4a) DescriptorSet 0 + Decorate 148(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -380,53 +400,56 @@ gl_FragCoord origin is upper left 91: TypeVector 6(float) 4 92(PS_OUTPUT): TypeStruct 91(fvec4) 6(float) 93: TypePointer Function 92(PS_OUTPUT) - 95: 22(int) Constant 1 + 95: 22(int) Constant 0 96: 6(float) Constant 1065353216 - 100: TypeImage 6(float) 3D sampled format:Unknown - 101: TypePointer UniformConstant 100 - 102(g_tTex3df4): 101(ptr) Variable UniformConstant - 103: TypeImage 22(int) 3D sampled format:Unknown - 104: TypePointer UniformConstant 103 - 105(g_tTex3di4): 104(ptr) Variable UniformConstant - 106: TypeImage 38(int) 3D sampled format:Unknown - 107: TypePointer UniformConstant 106 - 108(g_tTex3du4): 107(ptr) Variable UniformConstant - 109: TypeImage 6(float) Cube sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTexcdf4): 110(ptr) Variable UniformConstant - 112: TypeImage 22(int) Cube sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTexcdi4): 113(ptr) Variable UniformConstant - 115: TypeImage 38(int) Cube sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTexcdu4): 116(ptr) Variable UniformConstant - 118: TypeImage 6(float) 1D array sampled format:Unknown - 119: TypePointer UniformConstant 118 -120(g_tTex1df4a): 119(ptr) Variable UniformConstant - 121: TypeImage 22(int) 1D array sampled format:Unknown - 122: TypePointer UniformConstant 121 -123(g_tTex1di4a): 122(ptr) Variable UniformConstant - 124: TypeImage 38(int) 1D array sampled format:Unknown - 125: TypePointer UniformConstant 124 -126(g_tTex1du4a): 125(ptr) Variable UniformConstant - 127: TypeImage 6(float) 2D array sampled format:Unknown - 128: TypePointer UniformConstant 127 -129(g_tTex2df4a): 128(ptr) Variable UniformConstant - 130: TypeImage 22(int) 2D array sampled format:Unknown - 131: TypePointer UniformConstant 130 -132(g_tTex2di4a): 131(ptr) Variable UniformConstant - 133: TypeImage 38(int) 2D array sampled format:Unknown - 134: TypePointer UniformConstant 133 -135(g_tTex2du4a): 134(ptr) Variable UniformConstant - 136: TypeImage 6(float) Cube array sampled format:Unknown - 137: TypePointer UniformConstant 136 -138(g_tTexcdf4a): 137(ptr) Variable UniformConstant - 139: TypeImage 22(int) Cube array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTexcdi4a): 140(ptr) Variable UniformConstant - 142: TypeImage 38(int) Cube array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTexcdu4a): 143(ptr) Variable UniformConstant + 97: 91(fvec4) ConstantComposite 96 96 96 96 + 98: TypePointer Function 91(fvec4) + 100: 22(int) Constant 1 + 104: TypeImage 6(float) 3D sampled format:Unknown + 105: TypePointer UniformConstant 104 + 106(g_tTex3df4): 105(ptr) Variable UniformConstant + 107: TypeImage 22(int) 3D sampled format:Unknown + 108: TypePointer UniformConstant 107 + 109(g_tTex3di4): 108(ptr) Variable UniformConstant + 110: TypeImage 38(int) 3D sampled format:Unknown + 111: TypePointer UniformConstant 110 + 112(g_tTex3du4): 111(ptr) Variable UniformConstant + 113: TypeImage 6(float) Cube sampled format:Unknown + 114: TypePointer UniformConstant 113 + 115(g_tTexcdf4): 114(ptr) Variable UniformConstant + 116: TypeImage 22(int) Cube sampled format:Unknown + 117: TypePointer UniformConstant 116 + 118(g_tTexcdi4): 117(ptr) Variable UniformConstant + 119: TypeImage 38(int) Cube sampled format:Unknown + 120: TypePointer UniformConstant 119 + 121(g_tTexcdu4): 120(ptr) Variable UniformConstant + 122: TypeImage 6(float) 1D array sampled format:Unknown + 123: TypePointer UniformConstant 122 +124(g_tTex1df4a): 123(ptr) Variable UniformConstant + 125: TypeImage 22(int) 1D array sampled format:Unknown + 126: TypePointer UniformConstant 125 +127(g_tTex1di4a): 126(ptr) Variable UniformConstant + 128: TypeImage 38(int) 1D array sampled format:Unknown + 129: TypePointer UniformConstant 128 +130(g_tTex1du4a): 129(ptr) Variable UniformConstant + 131: TypeImage 6(float) 2D array sampled format:Unknown + 132: TypePointer UniformConstant 131 +133(g_tTex2df4a): 132(ptr) Variable UniformConstant + 134: TypeImage 22(int) 2D array sampled format:Unknown + 135: TypePointer UniformConstant 134 +136(g_tTex2di4a): 135(ptr) Variable UniformConstant + 137: TypeImage 38(int) 2D array sampled format:Unknown + 138: TypePointer UniformConstant 137 +139(g_tTex2du4a): 138(ptr) Variable UniformConstant + 140: TypeImage 6(float) Cube array sampled format:Unknown + 141: TypePointer UniformConstant 140 +142(g_tTexcdf4a): 141(ptr) Variable UniformConstant + 143: TypeImage 22(int) Cube array sampled format:Unknown + 144: TypePointer UniformConstant 143 +145(g_tTexcdi4a): 144(ptr) Variable UniformConstant + 146: TypeImage 38(int) Cube array sampled format:Unknown + 147: TypePointer UniformConstant 146 +148(g_tTexcdu4a): 147(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r01): 7(ptr) Variable Function @@ -475,8 +498,10 @@ gl_FragCoord origin is upper left 89: 6(float) CompositeExtract 88 0 90: 6(float) ImageSampleDrefImplicitLod 87 88 89 ConstOffset 64 Store 79(r25) 90 - 97: 7(ptr) AccessChain 94(psout) 95 - Store 97 96 - 98:92(PS_OUTPUT) Load 94(psout) - ReturnValue 98 + 99: 98(ptr) AccessChain 94(psout) 95 + Store 99 97 + 101: 7(ptr) AccessChain 94(psout) 100 + Store 101 96 + 102:92(PS_OUTPUT) Load 94(psout) + ReturnValue 102 FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out index 479be6a7..ebafd9ed 100644 --- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out @@ -101,6 +101,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) +0:63 move second child to first child (temp 4-component vector of float) +0:63 Color: direct index for structure (temp 4-component vector of float) +0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:63 Constant: +0:63 0 (const int) +0:63 Constant: +0:63 1.000000 +0:63 1.000000 +0:63 1.000000 +0:63 1.000000 0:64 move second child to first child (temp float) 0:64 Depth: direct index for structure (temp float FragDepth) 0:64 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -240,6 +250,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) +0:63 move second child to first child (temp 4-component vector of float) +0:63 Color: direct index for structure (temp 4-component vector of float) +0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:63 Constant: +0:63 0 (const int) +0:63 Constant: +0:63 1.000000 +0:63 1.000000 +0:63 1.000000 +0:63 1.000000 0:64 move second child to first child (temp float) 0:64 Depth: direct index for structure (temp float FragDepth) 0:64 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -275,7 +295,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 151 +// Id's are bound by 155 Capability Shader Capability Sampled1D @@ -303,21 +323,21 @@ gl_FragCoord origin is upper left MemberName 98(PS_OUTPUT) 0 "Color" MemberName 98(PS_OUTPUT) 1 "Depth" Name 100 "psout" - Name 108 "g_tTex1df4" - Name 111 "g_tTex1di4" - Name 114 "g_tTex1du4" - Name 117 "g_tTex2df4" - Name 120 "g_tTex2di4" - Name 123 "g_tTex2du4" - Name 126 "g_tTex3df4" - Name 129 "g_tTex3di4" - Name 132 "g_tTex3du4" - Name 135 "g_tTexcdf4" - Name 138 "g_tTexcdi4" - Name 141 "g_tTexcdu4" - Name 144 "g_tTexcdf4a" - Name 147 "g_tTexcdi4a" - Name 150 "g_tTexcdu4a" + Name 112 "g_tTex1df4" + Name 115 "g_tTex1di4" + Name 118 "g_tTex1du4" + Name 121 "g_tTex2df4" + Name 124 "g_tTex2di4" + Name 127 "g_tTex2du4" + Name 130 "g_tTex3df4" + Name 133 "g_tTex3di4" + Name 136 "g_tTex3du4" + Name 139 "g_tTexcdf4" + Name 142 "g_tTexcdi4" + Name 145 "g_tTexcdu4" + Name 148 "g_tTexcdf4a" + Name 151 "g_tTexcdi4a" + Name 154 "g_tTexcdu4a" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4a) DescriptorSet 0 @@ -326,21 +346,21 @@ 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 108(g_tTex1df4) DescriptorSet 0 - Decorate 111(g_tTex1di4) DescriptorSet 0 - Decorate 114(g_tTex1du4) DescriptorSet 0 - Decorate 117(g_tTex2df4) DescriptorSet 0 - Decorate 120(g_tTex2di4) DescriptorSet 0 - Decorate 123(g_tTex2du4) DescriptorSet 0 - Decorate 126(g_tTex3df4) DescriptorSet 0 - Decorate 129(g_tTex3di4) DescriptorSet 0 - Decorate 132(g_tTex3du4) DescriptorSet 0 - Decorate 135(g_tTexcdf4) DescriptorSet 0 - Decorate 138(g_tTexcdi4) DescriptorSet 0 - Decorate 141(g_tTexcdu4) DescriptorSet 0 - Decorate 144(g_tTexcdf4a) DescriptorSet 0 - Decorate 147(g_tTexcdi4a) DescriptorSet 0 - Decorate 150(g_tTexcdu4a) DescriptorSet 0 + Decorate 112(g_tTex1df4) DescriptorSet 0 + Decorate 115(g_tTex1di4) DescriptorSet 0 + Decorate 118(g_tTex1du4) DescriptorSet 0 + Decorate 121(g_tTex2df4) DescriptorSet 0 + Decorate 124(g_tTex2di4) DescriptorSet 0 + Decorate 127(g_tTex2du4) DescriptorSet 0 + Decorate 130(g_tTex3df4) DescriptorSet 0 + Decorate 133(g_tTex3di4) DescriptorSet 0 + Decorate 136(g_tTex3du4) DescriptorSet 0 + Decorate 139(g_tTexcdf4) DescriptorSet 0 + Decorate 142(g_tTexcdi4) DescriptorSet 0 + Decorate 145(g_tTexcdu4) DescriptorSet 0 + Decorate 148(g_tTexcdf4a) DescriptorSet 0 + Decorate 151(g_tTexcdi4a) DescriptorSet 0 + Decorate 154(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -395,53 +415,56 @@ gl_FragCoord origin is upper left 97: TypeVector 6(float) 4 98(PS_OUTPUT): TypeStruct 97(fvec4) 6(float) 99: TypePointer Function 98(PS_OUTPUT) - 101: 26(int) Constant 1 + 101: 26(int) Constant 0 102: 6(float) Constant 1065353216 - 106: TypeImage 6(float) 1D sampled format:Unknown - 107: TypePointer UniformConstant 106 - 108(g_tTex1df4): 107(ptr) Variable UniformConstant - 109: TypeImage 26(int) 1D sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTex1di4): 110(ptr) Variable UniformConstant - 112: TypeImage 43(int) 1D sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTex1du4): 113(ptr) Variable UniformConstant - 115: TypeImage 6(float) 2D sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTex2df4): 116(ptr) Variable UniformConstant - 118: TypeImage 26(int) 2D sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTex2di4): 119(ptr) Variable UniformConstant - 121: TypeImage 43(int) 2D sampled format:Unknown - 122: TypePointer UniformConstant 121 - 123(g_tTex2du4): 122(ptr) Variable UniformConstant - 124: TypeImage 6(float) 3D sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTex3df4): 125(ptr) Variable UniformConstant - 127: TypeImage 26(int) 3D sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTex3di4): 128(ptr) Variable UniformConstant - 130: TypeImage 43(int) 3D sampled format:Unknown - 131: TypePointer UniformConstant 130 - 132(g_tTex3du4): 131(ptr) Variable UniformConstant - 133: TypeImage 6(float) Cube sampled format:Unknown - 134: TypePointer UniformConstant 133 - 135(g_tTexcdf4): 134(ptr) Variable UniformConstant - 136: TypeImage 26(int) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdi4): 137(ptr) Variable UniformConstant - 139: TypeImage 43(int) Cube sampled format:Unknown - 140: TypePointer UniformConstant 139 - 141(g_tTexcdu4): 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 26(int) Cube array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTexcdi4a): 146(ptr) Variable UniformConstant - 148: TypeImage 43(int) Cube array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTexcdu4a): 149(ptr) Variable UniformConstant + 103: 97(fvec4) ConstantComposite 102 102 102 102 + 104: TypePointer Function 97(fvec4) + 106: 26(int) Constant 1 + 110: TypeImage 6(float) 1D sampled format:Unknown + 111: TypePointer UniformConstant 110 + 112(g_tTex1df4): 111(ptr) Variable UniformConstant + 113: TypeImage 26(int) 1D sampled format:Unknown + 114: TypePointer UniformConstant 113 + 115(g_tTex1di4): 114(ptr) Variable UniformConstant + 116: TypeImage 43(int) 1D sampled format:Unknown + 117: TypePointer UniformConstant 116 + 118(g_tTex1du4): 117(ptr) Variable UniformConstant + 119: TypeImage 6(float) 2D sampled format:Unknown + 120: TypePointer UniformConstant 119 + 121(g_tTex2df4): 120(ptr) Variable UniformConstant + 122: TypeImage 26(int) 2D sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTex2di4): 123(ptr) Variable UniformConstant + 125: TypeImage 43(int) 2D sampled format:Unknown + 126: TypePointer UniformConstant 125 + 127(g_tTex2du4): 126(ptr) Variable UniformConstant + 128: TypeImage 6(float) 3D sampled format:Unknown + 129: TypePointer UniformConstant 128 + 130(g_tTex3df4): 129(ptr) Variable UniformConstant + 131: TypeImage 26(int) 3D sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTex3di4): 132(ptr) Variable UniformConstant + 134: TypeImage 43(int) 3D sampled format:Unknown + 135: TypePointer UniformConstant 134 + 136(g_tTex3du4): 135(ptr) Variable UniformConstant + 137: TypeImage 6(float) Cube sampled format:Unknown + 138: TypePointer UniformConstant 137 + 139(g_tTexcdf4): 138(ptr) Variable UniformConstant + 140: TypeImage 26(int) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdi4): 141(ptr) Variable UniformConstant + 143: TypeImage 43(int) Cube sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTexcdu4): 144(ptr) Variable UniformConstant + 146: TypeImage 6(float) Cube array sampled format:Unknown + 147: TypePointer UniformConstant 146 +148(g_tTexcdf4a): 147(ptr) Variable UniformConstant + 149: TypeImage 26(int) Cube array sampled format:Unknown + 150: TypePointer UniformConstant 149 +151(g_tTexcdi4a): 150(ptr) Variable UniformConstant + 152: TypeImage 43(int) Cube array sampled format:Unknown + 153: TypePointer UniformConstant 152 +154(g_tTexcdu4a): 153(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r11): 7(ptr) Variable Function @@ -493,8 +516,10 @@ gl_FragCoord origin is upper left 95: 6(float) CompositeExtract 94 0 96: 6(float) ImageSampleDrefImplicitLod 93 94 95 ConstOffset 70 Store 85(r35) 96 - 103: 7(ptr) AccessChain 100(psout) 101 - Store 103 102 - 104:98(PS_OUTPUT) Load 100(psout) - ReturnValue 104 + 105: 104(ptr) AccessChain 100(psout) 101 + Store 105 103 + 107: 7(ptr) AccessChain 100(psout) 106 + Store 107 102 + 108:98(PS_OUTPUT) Load 100(psout) + ReturnValue 108 FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out index 7f9b42e5..afe088ff 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out @@ -149,6 +149,16 @@ gl_FragCoord origin is upper left 0:54 0.750000 0:54 Constant: 0:54 0.000000 +0:56 move second child to first child (temp 4-component vector of float) +0:56 Color: direct index for structure (temp 4-component vector of float) +0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:56 Constant: +0:56 0 (const int) +0:56 Constant: +0:56 1.000000 +0:56 1.000000 +0:56 1.000000 +0:56 1.000000 0:57 move second child to first child (temp float) 0:57 Depth: direct index for structure (temp float FragDepth) 0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -336,6 +346,16 @@ gl_FragCoord origin is upper left 0:54 0.750000 0:54 Constant: 0:54 0.000000 +0:56 move second child to first child (temp 4-component vector of float) +0:56 Color: direct index for structure (temp 4-component vector of float) +0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:56 Constant: +0:56 0 (const int) +0:56 Constant: +0:56 1.000000 +0:56 1.000000 +0:56 1.000000 +0:56 1.000000 0:57 move second child to first child (temp float) 0:57 Depth: direct index for structure (temp float FragDepth) 0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -371,7 +391,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 174 +// Id's are bound by 178 Capability Shader Capability Sampled1D @@ -405,18 +425,18 @@ gl_FragCoord origin is upper left MemberName 130(PS_OUTPUT) 0 "Color" MemberName 130(PS_OUTPUT) 1 "Depth" Name 132 "psout" - Name 140 "g_tTex1df4" - Name 143 "g_tTex1di4" - Name 146 "g_tTex1du4" - Name 149 "g_tTex2df4" - Name 152 "g_tTex2di4" - Name 155 "g_tTex2du4" - Name 158 "g_tTex3df4" - Name 161 "g_tTex3di4" - Name 164 "g_tTex3du4" - Name 167 "g_tTexcdf4" - Name 170 "g_tTexcdi4" - Name 173 "g_tTexcdu4" + Name 144 "g_tTex1df4" + Name 147 "g_tTex1di4" + Name 150 "g_tTex1du4" + Name 153 "g_tTex2df4" + Name 156 "g_tTex2di4" + Name 159 "g_tTex2du4" + Name 162 "g_tTex3df4" + Name 165 "g_tTex3di4" + Name 168 "g_tTex3du4" + Name 171 "g_tTexcdf4" + Name 174 "g_tTexcdi4" + Name 177 "g_tTexcdu4" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4a) DescriptorSet 0 @@ -428,18 +448,18 @@ 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 140(g_tTex1df4) DescriptorSet 0 - Decorate 143(g_tTex1di4) DescriptorSet 0 - Decorate 146(g_tTex1du4) DescriptorSet 0 - Decorate 149(g_tTex2df4) DescriptorSet 0 - Decorate 152(g_tTex2di4) DescriptorSet 0 - Decorate 155(g_tTex2du4) DescriptorSet 0 - Decorate 158(g_tTex3df4) DescriptorSet 0 - Decorate 161(g_tTex3di4) DescriptorSet 0 - Decorate 164(g_tTex3du4) DescriptorSet 0 - Decorate 167(g_tTexcdf4) DescriptorSet 0 - Decorate 170(g_tTexcdi4) DescriptorSet 0 - Decorate 173(g_tTexcdu4) DescriptorSet 0 + Decorate 144(g_tTex1df4) DescriptorSet 0 + Decorate 147(g_tTex1di4) DescriptorSet 0 + Decorate 150(g_tTex1du4) DescriptorSet 0 + Decorate 153(g_tTex2df4) DescriptorSet 0 + Decorate 156(g_tTex2di4) DescriptorSet 0 + Decorate 159(g_tTex2du4) DescriptorSet 0 + Decorate 162(g_tTex3df4) DescriptorSet 0 + Decorate 165(g_tTex3di4) DescriptorSet 0 + Decorate 168(g_tTex3du4) DescriptorSet 0 + Decorate 171(g_tTexcdf4) DescriptorSet 0 + Decorate 174(g_tTexcdi4) DescriptorSet 0 + Decorate 177(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -508,44 +528,47 @@ gl_FragCoord origin is upper left 126: TypeSampledImage 125 130(PS_OUTPUT): TypeStruct 103(fvec4) 6(float) 131: TypePointer Function 130(PS_OUTPUT) - 133: 30(int) Constant 1 + 133: 30(int) Constant 0 134: 6(float) Constant 1065353216 - 138: TypeImage 6(float) 1D sampled format:Unknown - 139: TypePointer UniformConstant 138 - 140(g_tTex1df4): 139(ptr) Variable UniformConstant - 141: TypeImage 30(int) 1D sampled format:Unknown - 142: TypePointer UniformConstant 141 - 143(g_tTex1di4): 142(ptr) Variable UniformConstant - 144: TypeImage 43(int) 1D sampled format:Unknown - 145: TypePointer UniformConstant 144 - 146(g_tTex1du4): 145(ptr) Variable UniformConstant - 147: TypeImage 6(float) 2D sampled format:Unknown - 148: TypePointer UniformConstant 147 - 149(g_tTex2df4): 148(ptr) Variable UniformConstant - 150: TypeImage 30(int) 2D sampled format:Unknown - 151: TypePointer UniformConstant 150 - 152(g_tTex2di4): 151(ptr) Variable UniformConstant - 153: TypeImage 43(int) 2D sampled format:Unknown - 154: TypePointer UniformConstant 153 - 155(g_tTex2du4): 154(ptr) Variable UniformConstant - 156: TypeImage 6(float) 3D sampled format:Unknown - 157: TypePointer UniformConstant 156 - 158(g_tTex3df4): 157(ptr) Variable UniformConstant - 159: TypeImage 30(int) 3D sampled format:Unknown - 160: TypePointer UniformConstant 159 - 161(g_tTex3di4): 160(ptr) Variable UniformConstant - 162: TypeImage 43(int) 3D sampled format:Unknown - 163: TypePointer UniformConstant 162 - 164(g_tTex3du4): 163(ptr) Variable UniformConstant - 165: TypeImage 6(float) Cube sampled format:Unknown - 166: TypePointer UniformConstant 165 - 167(g_tTexcdf4): 166(ptr) Variable UniformConstant - 168: TypeImage 30(int) Cube sampled format:Unknown - 169: TypePointer UniformConstant 168 - 170(g_tTexcdi4): 169(ptr) Variable UniformConstant - 171: TypeImage 43(int) Cube sampled format:Unknown - 172: TypePointer UniformConstant 171 - 173(g_tTexcdu4): 172(ptr) Variable UniformConstant + 135: 103(fvec4) ConstantComposite 134 134 134 134 + 136: TypePointer Function 103(fvec4) + 138: 30(int) Constant 1 + 142: TypeImage 6(float) 1D sampled format:Unknown + 143: TypePointer UniformConstant 142 + 144(g_tTex1df4): 143(ptr) Variable UniformConstant + 145: TypeImage 30(int) 1D sampled format:Unknown + 146: TypePointer UniformConstant 145 + 147(g_tTex1di4): 146(ptr) Variable UniformConstant + 148: TypeImage 43(int) 1D sampled format:Unknown + 149: TypePointer UniformConstant 148 + 150(g_tTex1du4): 149(ptr) Variable UniformConstant + 151: TypeImage 6(float) 2D sampled format:Unknown + 152: TypePointer UniformConstant 151 + 153(g_tTex2df4): 152(ptr) Variable UniformConstant + 154: TypeImage 30(int) 2D sampled format:Unknown + 155: TypePointer UniformConstant 154 + 156(g_tTex2di4): 155(ptr) Variable UniformConstant + 157: TypeImage 43(int) 2D sampled format:Unknown + 158: TypePointer UniformConstant 157 + 159(g_tTex2du4): 158(ptr) Variable UniformConstant + 160: TypeImage 6(float) 3D sampled format:Unknown + 161: TypePointer UniformConstant 160 + 162(g_tTex3df4): 161(ptr) Variable UniformConstant + 163: TypeImage 30(int) 3D sampled format:Unknown + 164: TypePointer UniformConstant 163 + 165(g_tTex3di4): 164(ptr) Variable UniformConstant + 166: TypeImage 43(int) 3D sampled format:Unknown + 167: TypePointer UniformConstant 166 + 168(g_tTex3du4): 167(ptr) Variable UniformConstant + 169: TypeImage 6(float) Cube sampled format:Unknown + 170: TypePointer UniformConstant 169 + 171(g_tTexcdf4): 170(ptr) Variable UniformConstant + 172: TypeImage 30(int) Cube sampled format:Unknown + 173: TypePointer UniformConstant 172 + 174(g_tTexcdi4): 173(ptr) Variable UniformConstant + 175: TypeImage 43(int) Cube sampled format:Unknown + 176: TypePointer UniformConstant 175 + 177(g_tTexcdu4): 176(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r10): 7(ptr) Variable Function @@ -618,8 +641,10 @@ gl_FragCoord origin is upper left 128: 6(float) CompositeExtract 105 0 129: 6(float) ImageSampleDrefExplicitLod 127 128 24 Lod 24 Store 119(r64) 129 - 135: 7(ptr) AccessChain 132(psout) 133 - Store 135 134 - 136:130(PS_OUTPUT) Load 132(psout) - ReturnValue 136 + 137: 136(ptr) AccessChain 132(psout) 133 + Store 137 135 + 139: 7(ptr) AccessChain 132(psout) 138 + Store 139 134 + 140:130(PS_OUTPUT) Load 132(psout) + ReturnValue 140 FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out index a9f57339..324db087 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out @@ -140,6 +140,16 @@ gl_FragCoord origin is upper left 0:55 0.750000 0:55 Constant: 0:55 0.000000 +0:57 move second child to first child (temp 4-component vector of float) +0:57 Color: direct index for structure (temp 4-component vector of float) +0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:57 Constant: +0:57 0 (const int) +0:57 Constant: +0:57 1.000000 +0:57 1.000000 +0:57 1.000000 +0:57 1.000000 0:58 move second child to first child (temp float) 0:58 Depth: direct index for structure (temp float FragDepth) 0:58 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -318,6 +328,16 @@ gl_FragCoord origin is upper left 0:55 0.750000 0:55 Constant: 0:55 0.000000 +0:57 move second child to first child (temp 4-component vector of float) +0:57 Color: direct index for structure (temp 4-component vector of float) +0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:57 Constant: +0:57 0 (const int) +0:57 Constant: +0:57 1.000000 +0:57 1.000000 +0:57 1.000000 +0:57 1.000000 0:58 move second child to first child (temp float) 0:58 Depth: direct index for structure (temp float FragDepth) 0:58 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -353,7 +373,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 172 +// Id's are bound by 176 Capability Shader Capability Sampled1D @@ -387,18 +407,18 @@ gl_FragCoord origin is upper left MemberName 128(PS_OUTPUT) 0 "Color" MemberName 128(PS_OUTPUT) 1 "Depth" Name 130 "psout" - Name 138 "g_tTex3df4" - Name 141 "g_tTex3di4" - Name 144 "g_tTex3du4" - 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 142 "g_tTex3df4" + Name 145 "g_tTex3di4" + Name 148 "g_tTex3du4" + Name 151 "g_tTex1df4a" + Name 154 "g_tTex1di4a" + Name 157 "g_tTex1du4a" + Name 160 "g_tTex2df4a" + Name 163 "g_tTex2di4a" + Name 166 "g_tTex2du4a" + Name 169 "g_tTexcdf4a" + Name 172 "g_tTexcdi4a" + Name 175 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 29(g_tTex1di4) DescriptorSet 0 @@ -410,18 +430,18 @@ 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 138(g_tTex3df4) DescriptorSet 0 - Decorate 141(g_tTex3di4) DescriptorSet 0 - Decorate 144(g_tTex3du4) 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 142(g_tTex3df4) DescriptorSet 0 + Decorate 145(g_tTex3di4) DescriptorSet 0 + Decorate 148(g_tTex3du4) DescriptorSet 0 + Decorate 151(g_tTex1df4a) DescriptorSet 0 + Decorate 154(g_tTex1di4a) DescriptorSet 0 + Decorate 157(g_tTex1du4a) DescriptorSet 0 + Decorate 160(g_tTex2df4a) DescriptorSet 0 + Decorate 163(g_tTex2di4a) DescriptorSet 0 + Decorate 166(g_tTex2du4a) DescriptorSet 0 + Decorate 169(g_tTexcdf4a) DescriptorSet 0 + Decorate 172(g_tTexcdi4a) DescriptorSet 0 + Decorate 175(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -488,44 +508,47 @@ gl_FragCoord origin is upper left 127: TypeVector 6(float) 4 128(PS_OUTPUT): TypeStruct 127(fvec4) 6(float) 129: TypePointer Function 128(PS_OUTPUT) - 131: 26(int) Constant 1 + 131: 26(int) Constant 0 132: 6(float) Constant 1065353216 - 136: TypeImage 6(float) 3D sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTex3df4): 137(ptr) Variable UniformConstant - 139: TypeImage 26(int) 3D sampled format:Unknown - 140: TypePointer UniformConstant 139 - 141(g_tTex3di4): 140(ptr) Variable UniformConstant - 142: TypeImage 38(int) 3D sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTex3du4): 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 26(int) 1D array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTex1di4a): 149(ptr) Variable UniformConstant - 151: TypeImage 38(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 26(int) 2D array sampled format:Unknown - 158: TypePointer UniformConstant 157 -159(g_tTex2di4a): 158(ptr) Variable UniformConstant - 160: TypeImage 38(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 26(int) Cube array sampled format:Unknown - 167: TypePointer UniformConstant 166 -168(g_tTexcdi4a): 167(ptr) Variable UniformConstant - 169: TypeImage 38(int) Cube array sampled format:Unknown - 170: TypePointer UniformConstant 169 -171(g_tTexcdu4a): 170(ptr) Variable UniformConstant + 133: 127(fvec4) ConstantComposite 132 132 132 132 + 134: TypePointer Function 127(fvec4) + 136: 26(int) Constant 1 + 140: TypeImage 6(float) 3D sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTex3df4): 141(ptr) Variable UniformConstant + 143: TypeImage 26(int) 3D sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTex3di4): 144(ptr) Variable UniformConstant + 146: TypeImage 38(int) 3D sampled format:Unknown + 147: TypePointer UniformConstant 146 + 148(g_tTex3du4): 147(ptr) Variable UniformConstant + 149: TypeImage 6(float) 1D array sampled format:Unknown + 150: TypePointer UniformConstant 149 +151(g_tTex1df4a): 150(ptr) Variable UniformConstant + 152: TypeImage 26(int) 1D array sampled format:Unknown + 153: TypePointer UniformConstant 152 +154(g_tTex1di4a): 153(ptr) Variable UniformConstant + 155: TypeImage 38(int) 1D array sampled format:Unknown + 156: TypePointer UniformConstant 155 +157(g_tTex1du4a): 156(ptr) Variable UniformConstant + 158: TypeImage 6(float) 2D array sampled format:Unknown + 159: TypePointer UniformConstant 158 +160(g_tTex2df4a): 159(ptr) Variable UniformConstant + 161: TypeImage 26(int) 2D array sampled format:Unknown + 162: TypePointer UniformConstant 161 +163(g_tTex2di4a): 162(ptr) Variable UniformConstant + 164: TypeImage 38(int) 2D array sampled format:Unknown + 165: TypePointer UniformConstant 164 +166(g_tTex2du4a): 165(ptr) Variable UniformConstant + 167: TypeImage 6(float) Cube array sampled format:Unknown + 168: TypePointer UniformConstant 167 +169(g_tTexcdf4a): 168(ptr) Variable UniformConstant + 170: TypeImage 26(int) Cube array sampled format:Unknown + 171: TypePointer UniformConstant 170 +172(g_tTexcdi4a): 171(ptr) Variable UniformConstant + 173: TypeImage 38(int) Cube array sampled format:Unknown + 174: TypePointer UniformConstant 173 +175(g_tTexcdu4a): 174(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r00): 7(ptr) Variable Function @@ -598,8 +621,10 @@ gl_FragCoord origin is upper left 125: 6(float) CompositeExtract 124 0 126: 6(float) ImageSampleDrefExplicitLod 123 124 125 Lod 22 Store 115(r54) 126 - 133: 7(ptr) AccessChain 130(psout) 131 - Store 133 132 - 134:128(PS_OUTPUT) Load 130(psout) - ReturnValue 134 + 135: 134(ptr) AccessChain 130(psout) 131 + Store 135 133 + 137: 7(ptr) AccessChain 130(psout) 136 + Store 137 132 + 138:128(PS_OUTPUT) Load 130(psout) + ReturnValue 138 FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out index 4e2b3b54..0da8ef0c 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out @@ -107,6 +107,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) +0:62 move second child to first child (temp 4-component vector of float) +0:62 Color: direct index for structure (temp 4-component vector of float) +0:62 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:62 Constant: +0:62 0 (const int) +0:62 Constant: +0:62 1.000000 +0:62 1.000000 +0:62 1.000000 +0:62 1.000000 0:63 move second child to first child (temp float) 0:63 Depth: direct index for structure (temp float FragDepth) 0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -252,6 +262,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) +0:62 move second child to first child (temp 4-component vector of float) +0:62 Color: direct index for structure (temp 4-component vector of float) +0:62 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:62 Constant: +0:62 0 (const int) +0:62 Constant: +0:62 1.000000 +0:62 1.000000 +0:62 1.000000 +0:62 1.000000 0:63 move second child to first child (temp float) 0:63 Depth: direct index for structure (temp float FragDepth) 0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -287,7 +307,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 146 +// Id's are bound by 150 Capability Shader Capability Sampled1D @@ -315,21 +335,21 @@ gl_FragCoord origin is upper left MemberName 93(PS_OUTPUT) 0 "Color" MemberName 93(PS_OUTPUT) 1 "Depth" Name 95 "psout" - Name 103 "g_tTex3df4" - Name 106 "g_tTex3di4" - Name 109 "g_tTex3du4" - Name 112 "g_tTexcdf4" - Name 115 "g_tTexcdi4" - Name 118 "g_tTexcdu4" - Name 121 "g_tTex1df4a" - Name 124 "g_tTex1di4a" - Name 127 "g_tTex1du4a" - Name 130 "g_tTex2df4a" - Name 133 "g_tTex2di4a" - Name 136 "g_tTex2du4a" - Name 139 "g_tTexcdf4a" - Name 142 "g_tTexcdi4a" - Name 145 "g_tTexcdu4a" + Name 107 "g_tTex3df4" + Name 110 "g_tTex3di4" + Name 113 "g_tTex3du4" + Name 116 "g_tTexcdf4" + Name 119 "g_tTexcdi4" + Name 122 "g_tTexcdu4" + Name 125 "g_tTex1df4a" + Name 128 "g_tTex1di4a" + Name 131 "g_tTex1du4a" + Name 134 "g_tTex2df4a" + Name 137 "g_tTex2di4a" + Name 140 "g_tTex2du4a" + Name 143 "g_tTexcdf4a" + Name 146 "g_tTexcdi4a" + Name 149 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 30(g_tTex1di4) DescriptorSet 0 @@ -338,21 +358,21 @@ 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 103(g_tTex3df4) DescriptorSet 0 - Decorate 106(g_tTex3di4) DescriptorSet 0 - Decorate 109(g_tTex3du4) DescriptorSet 0 - Decorate 112(g_tTexcdf4) DescriptorSet 0 - Decorate 115(g_tTexcdi4) DescriptorSet 0 - Decorate 118(g_tTexcdu4) DescriptorSet 0 - Decorate 121(g_tTex1df4a) DescriptorSet 0 - Decorate 124(g_tTex1di4a) DescriptorSet 0 - Decorate 127(g_tTex1du4a) DescriptorSet 0 - Decorate 130(g_tTex2df4a) DescriptorSet 0 - Decorate 133(g_tTex2di4a) DescriptorSet 0 - Decorate 136(g_tTex2du4a) DescriptorSet 0 - Decorate 139(g_tTexcdf4a) DescriptorSet 0 - Decorate 142(g_tTexcdi4a) DescriptorSet 0 - Decorate 145(g_tTexcdu4a) DescriptorSet 0 + Decorate 107(g_tTex3df4) DescriptorSet 0 + Decorate 110(g_tTex3di4) DescriptorSet 0 + Decorate 113(g_tTex3du4) DescriptorSet 0 + Decorate 116(g_tTexcdf4) DescriptorSet 0 + Decorate 119(g_tTexcdi4) DescriptorSet 0 + Decorate 122(g_tTexcdu4) DescriptorSet 0 + Decorate 125(g_tTex1df4a) DescriptorSet 0 + Decorate 128(g_tTex1di4a) DescriptorSet 0 + Decorate 131(g_tTex1du4a) DescriptorSet 0 + Decorate 134(g_tTex2df4a) DescriptorSet 0 + Decorate 137(g_tTex2di4a) DescriptorSet 0 + Decorate 140(g_tTex2du4a) DescriptorSet 0 + Decorate 143(g_tTexcdf4a) DescriptorSet 0 + Decorate 146(g_tTexcdi4a) DescriptorSet 0 + Decorate 149(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -405,53 +425,56 @@ gl_FragCoord origin is upper left 92: TypeVector 6(float) 4 93(PS_OUTPUT): TypeStruct 92(fvec4) 6(float) 94: TypePointer Function 93(PS_OUTPUT) - 96: 23(int) Constant 1 + 96: 23(int) Constant 0 97: 6(float) Constant 1065353216 - 101: TypeImage 6(float) 3D sampled format:Unknown - 102: TypePointer UniformConstant 101 - 103(g_tTex3df4): 102(ptr) Variable UniformConstant - 104: TypeImage 23(int) 3D sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTex3di4): 105(ptr) Variable UniformConstant - 107: TypeImage 39(int) 3D sampled format:Unknown - 108: TypePointer UniformConstant 107 - 109(g_tTex3du4): 108(ptr) Variable UniformConstant - 110: TypeImage 6(float) Cube sampled format:Unknown - 111: TypePointer UniformConstant 110 - 112(g_tTexcdf4): 111(ptr) Variable UniformConstant - 113: TypeImage 23(int) Cube sampled format:Unknown - 114: TypePointer UniformConstant 113 - 115(g_tTexcdi4): 114(ptr) Variable UniformConstant - 116: TypeImage 39(int) Cube sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTexcdu4): 117(ptr) Variable UniformConstant - 119: TypeImage 6(float) 1D array sampled format:Unknown - 120: TypePointer UniformConstant 119 -121(g_tTex1df4a): 120(ptr) Variable UniformConstant - 122: TypeImage 23(int) 1D array sampled format:Unknown - 123: TypePointer UniformConstant 122 -124(g_tTex1di4a): 123(ptr) Variable UniformConstant - 125: TypeImage 39(int) 1D array sampled format:Unknown - 126: TypePointer UniformConstant 125 -127(g_tTex1du4a): 126(ptr) Variable UniformConstant - 128: TypeImage 6(float) 2D array sampled format:Unknown - 129: TypePointer UniformConstant 128 -130(g_tTex2df4a): 129(ptr) Variable UniformConstant - 131: TypeImage 23(int) 2D array sampled format:Unknown - 132: TypePointer UniformConstant 131 -133(g_tTex2di4a): 132(ptr) Variable UniformConstant - 134: TypeImage 39(int) 2D array sampled format:Unknown - 135: TypePointer UniformConstant 134 -136(g_tTex2du4a): 135(ptr) Variable UniformConstant - 137: TypeImage 6(float) Cube array sampled format:Unknown - 138: TypePointer UniformConstant 137 -139(g_tTexcdf4a): 138(ptr) Variable UniformConstant - 140: TypeImage 23(int) Cube array sampled format:Unknown - 141: TypePointer UniformConstant 140 -142(g_tTexcdi4a): 141(ptr) Variable UniformConstant - 143: TypeImage 39(int) Cube array sampled format:Unknown - 144: TypePointer UniformConstant 143 -145(g_tTexcdu4a): 144(ptr) Variable UniformConstant + 98: 92(fvec4) ConstantComposite 97 97 97 97 + 99: TypePointer Function 92(fvec4) + 101: 23(int) Constant 1 + 105: TypeImage 6(float) 3D sampled format:Unknown + 106: TypePointer UniformConstant 105 + 107(g_tTex3df4): 106(ptr) Variable UniformConstant + 108: TypeImage 23(int) 3D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex3di4): 109(ptr) Variable UniformConstant + 111: TypeImage 39(int) 3D sampled format:Unknown + 112: TypePointer UniformConstant 111 + 113(g_tTex3du4): 112(ptr) Variable UniformConstant + 114: TypeImage 6(float) Cube sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTexcdf4): 115(ptr) Variable UniformConstant + 117: TypeImage 23(int) Cube sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTexcdi4): 118(ptr) Variable UniformConstant + 120: TypeImage 39(int) Cube sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTexcdu4): 121(ptr) Variable UniformConstant + 123: TypeImage 6(float) 1D array sampled format:Unknown + 124: TypePointer UniformConstant 123 +125(g_tTex1df4a): 124(ptr) Variable UniformConstant + 126: TypeImage 23(int) 1D array sampled format:Unknown + 127: TypePointer UniformConstant 126 +128(g_tTex1di4a): 127(ptr) Variable UniformConstant + 129: TypeImage 39(int) 1D array sampled format:Unknown + 130: TypePointer UniformConstant 129 +131(g_tTex1du4a): 130(ptr) Variable UniformConstant + 132: TypeImage 6(float) 2D array sampled format:Unknown + 133: TypePointer UniformConstant 132 +134(g_tTex2df4a): 133(ptr) Variable UniformConstant + 135: TypeImage 23(int) 2D array sampled format:Unknown + 136: TypePointer UniformConstant 135 +137(g_tTex2di4a): 136(ptr) Variable UniformConstant + 138: TypeImage 39(int) 2D array sampled format:Unknown + 139: TypePointer UniformConstant 138 +140(g_tTex2du4a): 139(ptr) Variable UniformConstant + 141: TypeImage 6(float) Cube array sampled format:Unknown + 142: TypePointer UniformConstant 141 +143(g_tTexcdf4a): 142(ptr) Variable UniformConstant + 144: TypeImage 23(int) Cube array sampled format:Unknown + 145: TypePointer UniformConstant 144 +146(g_tTexcdi4a): 145(ptr) Variable UniformConstant + 147: TypeImage 39(int) Cube array sampled format:Unknown + 148: TypePointer UniformConstant 147 +149(g_tTexcdu4a): 148(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r01): 7(ptr) Variable Function @@ -500,8 +523,10 @@ gl_FragCoord origin is upper left 90: 6(float) CompositeExtract 89 0 91: 6(float) ImageSampleDrefExplicitLod 88 89 90 Lod ConstOffset 22 65 Store 80(r25) 91 - 98: 7(ptr) AccessChain 95(psout) 96 - Store 98 97 - 99:93(PS_OUTPUT) Load 95(psout) - ReturnValue 99 + 100: 99(ptr) AccessChain 95(psout) 96 + Store 100 98 + 102: 7(ptr) AccessChain 95(psout) 101 + Store 102 97 + 103:93(PS_OUTPUT) Load 95(psout) + ReturnValue 103 FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out index 16aac578..0e26ce44 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out @@ -113,6 +113,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) +0:63 move second child to first child (temp 4-component vector of float) +0:63 Color: direct index for structure (temp 4-component vector of float) +0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:63 Constant: +0:63 0 (const int) +0:63 Constant: +0:63 1.000000 +0:63 1.000000 +0:63 1.000000 +0:63 1.000000 0:64 move second child to first child (temp float) 0:64 Depth: direct index for structure (temp float FragDepth) 0:64 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -264,6 +274,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) +0:63 move second child to first child (temp 4-component vector of float) +0:63 Color: direct index for structure (temp 4-component vector of float) +0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:63 Constant: +0:63 0 (const int) +0:63 Constant: +0:63 1.000000 +0:63 1.000000 +0:63 1.000000 +0:63 1.000000 0:64 move second child to first child (temp float) 0:64 Depth: direct index for structure (temp float FragDepth) 0:64 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -299,7 +319,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 152 +// Id's are bound by 156 Capability Shader Capability Sampled1D @@ -327,21 +347,21 @@ gl_FragCoord origin is upper left MemberName 99(PS_OUTPUT) 0 "Color" MemberName 99(PS_OUTPUT) 1 "Depth" Name 101 "psout" - 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 113 "g_tTex1df4" + Name 116 "g_tTex1di4" + Name 119 "g_tTex1du4" + Name 122 "g_tTex2df4" + Name 125 "g_tTex2di4" + Name 128 "g_tTex2du4" + Name 131 "g_tTex3df4" + Name 134 "g_tTex3di4" + Name 137 "g_tTex3du4" + Name 140 "g_tTexcdf4" + Name 143 "g_tTexcdi4" + Name 146 "g_tTexcdu4" + Name 149 "g_tTexcdf4a" + Name 152 "g_tTexcdi4a" + Name 155 "g_tTexcdu4a" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 34(g_tTex1di4a) DescriptorSet 0 @@ -350,21 +370,21 @@ 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 109(g_tTex1df4) DescriptorSet 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 + Decorate 113(g_tTex1df4) DescriptorSet 0 + Decorate 116(g_tTex1di4) DescriptorSet 0 + Decorate 119(g_tTex1du4) DescriptorSet 0 + Decorate 122(g_tTex2df4) DescriptorSet 0 + Decorate 125(g_tTex2di4) DescriptorSet 0 + Decorate 128(g_tTex2du4) DescriptorSet 0 + Decorate 131(g_tTex3df4) DescriptorSet 0 + Decorate 134(g_tTex3di4) DescriptorSet 0 + Decorate 137(g_tTex3du4) DescriptorSet 0 + Decorate 140(g_tTexcdf4) DescriptorSet 0 + Decorate 143(g_tTexcdi4) DescriptorSet 0 + Decorate 146(g_tTexcdu4) 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 @@ -420,53 +440,56 @@ gl_FragCoord origin is upper left 98: TypeVector 6(float) 4 99(PS_OUTPUT): TypeStruct 98(fvec4) 6(float) 100: TypePointer Function 99(PS_OUTPUT) - 102: 27(int) Constant 1 + 102: 27(int) Constant 0 103: 6(float) Constant 1065353216 - 107: TypeImage 6(float) 1D sampled format:Unknown - 108: TypePointer UniformConstant 107 - 109(g_tTex1df4): 108(ptr) Variable UniformConstant - 110: TypeImage 27(int) 1D sampled format:Unknown - 111: TypePointer UniformConstant 110 - 112(g_tTex1di4): 111(ptr) Variable UniformConstant - 113: TypeImage 44(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 27(int) 2D sampled format:Unknown - 120: TypePointer UniformConstant 119 - 121(g_tTex2di4): 120(ptr) Variable UniformConstant - 122: TypeImage 44(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 27(int) 3D sampled format:Unknown - 129: TypePointer UniformConstant 128 - 130(g_tTex3di4): 129(ptr) Variable UniformConstant - 131: TypeImage 44(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 27(int) Cube sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTexcdi4): 138(ptr) Variable UniformConstant - 140: TypeImage 44(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 27(int) Cube array sampled format:Unknown - 147: TypePointer UniformConstant 146 -148(g_tTexcdi4a): 147(ptr) Variable UniformConstant - 149: TypeImage 44(int) Cube array sampled format:Unknown - 150: TypePointer UniformConstant 149 -151(g_tTexcdu4a): 150(ptr) Variable UniformConstant + 104: 98(fvec4) ConstantComposite 103 103 103 103 + 105: TypePointer Function 98(fvec4) + 107: 27(int) Constant 1 + 111: TypeImage 6(float) 1D sampled format:Unknown + 112: TypePointer UniformConstant 111 + 113(g_tTex1df4): 112(ptr) Variable UniformConstant + 114: TypeImage 27(int) 1D sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTex1di4): 115(ptr) Variable UniformConstant + 117: TypeImage 44(int) 1D sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTex1du4): 118(ptr) Variable UniformConstant + 120: TypeImage 6(float) 2D sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTex2df4): 121(ptr) Variable UniformConstant + 123: TypeImage 27(int) 2D sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTex2di4): 124(ptr) Variable UniformConstant + 126: TypeImage 44(int) 2D sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTex2du4): 127(ptr) Variable UniformConstant + 129: TypeImage 6(float) 3D sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTex3df4): 130(ptr) Variable UniformConstant + 132: TypeImage 27(int) 3D sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTex3di4): 133(ptr) Variable UniformConstant + 135: TypeImage 44(int) 3D sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTex3du4): 136(ptr) Variable UniformConstant + 138: TypeImage 6(float) Cube sampled format:Unknown + 139: TypePointer UniformConstant 138 + 140(g_tTexcdf4): 139(ptr) Variable UniformConstant + 141: TypeImage 27(int) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdi4): 142(ptr) Variable UniformConstant + 144: TypeImage 44(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdu4): 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 27(int) Cube array sampled format:Unknown + 151: TypePointer UniformConstant 150 +152(g_tTexcdi4a): 151(ptr) Variable UniformConstant + 153: TypeImage 44(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(r11): 7(ptr) Variable Function @@ -518,8 +541,10 @@ gl_FragCoord origin is upper left 96: 6(float) CompositeExtract 95 0 97: 6(float) ImageSampleDrefExplicitLod 94 95 96 Lod ConstOffset 26 71 Store 86(r35) 97 - 104: 7(ptr) AccessChain 101(psout) 102 - Store 104 103 - 105:99(PS_OUTPUT) Load 101(psout) - ReturnValue 105 + 106: 105(ptr) AccessChain 101(psout) 102 + Store 106 104 + 108: 7(ptr) AccessChain 101(psout) 107 + Store 108 103 + 109:99(PS_OUTPUT) Load 101(psout) + ReturnValue 109 FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out index 4d3a096b..0fbb4134 100644 --- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out @@ -158,6 +158,16 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:? 1.300000 +0:39 move second child to first child (temp 4-component vector of float) +0:39 Color: direct index for structure (temp 4-component vector of float) +0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 Constant: +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 0:40 move second child to first child (temp float) 0:40 Depth: direct index for structure (temp float FragDepth) 0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -343,6 +353,16 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:? 1.300000 +0:39 move second child to first child (temp 4-component vector of float) +0:39 Color: direct index for structure (temp 4-component vector of float) +0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 Constant: +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 0:40 move second child to first child (temp float) 0:40 Depth: direct index for structure (temp float FragDepth) 0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -367,7 +387,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 123 +// Id's are bound by 126 Capability Shader Capability Sampled1D @@ -401,7 +421,7 @@ gl_FragCoord origin is upper left MemberName 113(PS_OUTPUT) 0 "Color" MemberName 113(PS_OUTPUT) 1 "Depth" Name 115 "psout" - Name 122 "g_tTex1df4a" + Name 125 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4) DescriptorSet 0 @@ -413,7 +433,7 @@ 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 122(g_tTex1df4a) DescriptorSet 0 + Decorate 125(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -480,10 +500,12 @@ gl_FragCoord origin is upper left 110: TypeSampledImage 105 113(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 114: TypePointer Function 113(PS_OUTPUT) - 116: 27(int) Constant 1 + 116: 27(int) Constant 0 117: 6(float) Constant 1065353216 - 118: TypePointer Function 6(float) -122(g_tTex1df4a): 11(ptr) Variable UniformConstant + 118: 7(fvec4) ConstantComposite 117 117 117 117 + 120: 27(int) Constant 1 + 121: TypePointer Function 6(float) +125(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -541,8 +563,10 @@ gl_FragCoord origin is upper left 111: 110 SampledImage 108 109 112: 40(ivec4) ImageSampleExplicitLod 111 91 Grad 93 93 Store 104(txval42) 112 - 119: 118(ptr) AccessChain 115(psout) 116 - Store 119 117 - 120:113(PS_OUTPUT) Load 115(psout) - ReturnValue 120 + 119: 8(ptr) AccessChain 115(psout) 116 + Store 119 118 + 122: 121(ptr) AccessChain 115(psout) 120 + Store 122 117 + 123:113(PS_OUTPUT) Load 115(psout) + ReturnValue 123 FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out index ac5442e6..97b08f7c 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out @@ -206,6 +206,16 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:? 1.300000 +0:47 move second child to first child (temp 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 Constant: +0:47 1.000000 +0:47 1.000000 +0:47 1.000000 +0:47 1.000000 0:48 move second child to first child (temp float) 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}) @@ -442,6 +452,16 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:? 1.300000 +0:47 move second child to first child (temp 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 Constant: +0:47 1.000000 +0:47 1.000000 +0:47 1.000000 +0:47 1.000000 0:48 move second child to first child (temp float) 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}) @@ -469,7 +489,7 @@ 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 161 Capability Shader Capability Sampled1D @@ -508,7 +528,7 @@ gl_FragCoord origin is upper left MemberName 148(PS_OUTPUT) 0 "Color" MemberName 148(PS_OUTPUT) 1 "Depth" Name 150 "psout" - Name 157 "g_tTex1df4a" + Name 160 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 30(g_tTex1di4) DescriptorSet 0 @@ -523,7 +543,7 @@ 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 157(g_tTex1df4a) DescriptorSet 0 + Decorate 160(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -610,10 +630,12 @@ gl_FragCoord origin is upper left 145: TypeSampledImage 140 148(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 149: TypePointer Function 148(PS_OUTPUT) - 151: 24(int) Constant 1 + 151: 24(int) Constant 0 152: 6(float) Constant 1065353216 - 153: TypePointer Function 6(float) -157(g_tTex1df4a): 11(ptr) Variable UniformConstant + 153: 7(fvec4) ConstantComposite 152 152 152 152 + 155: 24(int) Constant 1 + 156: TypePointer Function 6(float) +160(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -689,8 +711,10 @@ gl_FragCoord origin is upper left 146: 145 SampledImage 143 144 147: 38(ivec4) ImageSampleExplicitLod 146 119 Grad 96 96 Store 139(txval42) 147 - 154: 153(ptr) AccessChain 150(psout) 151 - Store 154 152 - 155:148(PS_OUTPUT) Load 150(psout) - ReturnValue 155 + 154: 8(ptr) AccessChain 150(psout) 151 + Store 154 153 + 157: 156(ptr) AccessChain 150(psout) 155 + Store 157 152 + 158:148(PS_OUTPUT) Load 150(psout) + ReturnValue 158 FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out index 30f5d06d..6751d1ea 100644 --- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out @@ -176,6 +176,16 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) +0:45 move second child to first child (temp 4-component vector of float) +0:45 Color: direct index for structure (temp 4-component vector of float) +0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:45 Constant: +0:45 0 (const int) +0:45 Constant: +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 0:46 move second child to first child (temp float) 0:46 Depth: direct index for structure (temp float FragDepth) 0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -382,6 +392,16 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) +0:45 move second child to first child (temp 4-component vector of float) +0:45 Color: direct index for structure (temp 4-component vector of float) +0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:45 Constant: +0:45 0 (const int) +0:45 Constant: +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 0:46 move second child to first child (temp float) 0:46 Depth: direct index for structure (temp float FragDepth) 0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -409,7 +429,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 150 +// Id's are bound by 152 Capability Shader Capability Sampled1D @@ -442,10 +462,10 @@ gl_FragCoord origin is upper left MemberName 132(PS_OUTPUT) 0 "Color" MemberName 132(PS_OUTPUT) 1 "Depth" Name 134 "psout" - Name 140 "g_tTex1df4a" - Name 143 "g_tTexcdf4" - Name 146 "g_tTexcdi4" - Name 149 "g_tTexcdu4" + Name 142 "g_tTex1df4a" + Name 145 "g_tTexcdf4" + Name 148 "g_tTexcdi4" + Name 151 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 31(g_tTex1di4) DescriptorSet 0 @@ -457,10 +477,10 @@ 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 140(g_tTex1df4a) DescriptorSet 0 - Decorate 143(g_tTexcdf4) DescriptorSet 0 - Decorate 146(g_tTexcdi4) DescriptorSet 0 - Decorate 149(g_tTexcdu4) DescriptorSet 0 + Decorate 142(g_tTex1df4a) DescriptorSet 0 + Decorate 145(g_tTexcdf4) DescriptorSet 0 + Decorate 148(g_tTexcdi4) DescriptorSet 0 + Decorate 151(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -547,17 +567,18 @@ gl_FragCoord origin is upper left 132(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 133: TypePointer Function 132(PS_OUTPUT) 135: 6(float) Constant 1065353216 - 136: TypePointer Function 6(float) -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 23(int) Cube sampled format:Unknown - 145: TypePointer UniformConstant 144 - 146(g_tTexcdi4): 145(ptr) Variable UniformConstant - 147: TypeImage 38(int) Cube sampled format:Unknown - 148: TypePointer UniformConstant 147 - 149(g_tTexcdu4): 148(ptr) Variable UniformConstant + 136: 7(fvec4) ConstantComposite 135 135 135 135 + 138: TypePointer Function 6(float) +142(g_tTex1df4a): 11(ptr) Variable UniformConstant + 143: TypeImage 6(float) Cube sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTexcdf4): 144(ptr) Variable UniformConstant + 146: TypeImage 23(int) Cube sampled format:Unknown + 147: TypePointer UniformConstant 146 + 148(g_tTexcdi4): 147(ptr) Variable UniformConstant + 149: TypeImage 38(int) Cube sampled format:Unknown + 150: TypePointer UniformConstant 149 + 151(g_tTexcdu4): 150(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -615,8 +636,10 @@ gl_FragCoord origin is upper left 125: 124 SampledImage 122 123 131: 39(ivec4) ImageSampleExplicitLod 125 129 Grad ConstOffset 103 103 130 Store 118(txval32) 131 - 137: 136(ptr) AccessChain 134(psout) 24 - Store 137 135 - 138:132(PS_OUTPUT) Load 134(psout) - ReturnValue 138 + 137: 8(ptr) AccessChain 134(psout) 63 + Store 137 136 + 139: 138(ptr) AccessChain 134(psout) 24 + Store 139 135 + 140:132(PS_OUTPUT) Load 134(psout) + ReturnValue 140 FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out index e568f44b..ce80880f 100644 --- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out @@ -113,6 +113,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 1 (const int) 0:? 0 (const int) +0:35 move second child to first child (temp 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 Constant: +0:35 1.000000 +0:35 1.000000 +0:35 1.000000 +0:35 1.000000 0:36 move second child to first child (temp float) 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}) @@ -253,6 +263,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 1 (const int) 0:? 0 (const int) +0:35 move second child to first child (temp 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 Constant: +0:35 1.000000 +0:35 1.000000 +0:35 1.000000 +0:35 1.000000 0:36 move second child to first child (temp float) 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}) @@ -277,7 +297,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 104 +// Id's are bound by 106 Capability Shader Capability Sampled1D @@ -305,10 +325,10 @@ gl_FragCoord origin is upper left MemberName 86(PS_OUTPUT) 0 "Color" MemberName 86(PS_OUTPUT) 1 "Depth" Name 88 "psout" - Name 94 "g_tTex1df4a" - Name 97 "g_tTexcdf4" - Name 100 "g_tTexcdi4" - Name 103 "g_tTexcdu4" + Name 96 "g_tTex1df4a" + Name 99 "g_tTexcdf4" + Name 102 "g_tTexcdi4" + Name 105 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 34(g_tTex1di4) DescriptorSet 0 @@ -317,10 +337,10 @@ 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 94(g_tTex1df4a) DescriptorSet 0 - Decorate 97(g_tTexcdf4) DescriptorSet 0 - Decorate 100(g_tTexcdi4) DescriptorSet 0 - Decorate 103(g_tTexcdu4) DescriptorSet 0 + Decorate 96(g_tTex1df4a) DescriptorSet 0 + Decorate 99(g_tTexcdf4) DescriptorSet 0 + Decorate 102(g_tTexcdi4) DescriptorSet 0 + Decorate 105(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -376,17 +396,18 @@ gl_FragCoord origin is upper left 86(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 87: TypePointer Function 86(PS_OUTPUT) 89: 6(float) Constant 1065353216 - 90: TypePointer Function 6(float) - 94(g_tTex1df4a): 11(ptr) Variable UniformConstant - 95: TypeImage 6(float) Cube array sampled format:Unknown - 96: TypePointer UniformConstant 95 - 97(g_tTexcdf4): 96(ptr) Variable UniformConstant - 98: TypeImage 26(int) Cube array sampled format:Unknown - 99: TypePointer UniformConstant 98 - 100(g_tTexcdi4): 99(ptr) Variable UniformConstant - 101: TypeImage 40(int) Cube array sampled format:Unknown - 102: TypePointer UniformConstant 101 - 103(g_tTexcdu4): 102(ptr) Variable UniformConstant + 90: 7(fvec4) ConstantComposite 89 89 89 89 + 92: TypePointer Function 6(float) + 96(g_tTex1df4a): 11(ptr) Variable UniformConstant + 97: TypeImage 6(float) Cube array sampled format:Unknown + 98: TypePointer UniformConstant 97 + 99(g_tTexcdf4): 98(ptr) Variable UniformConstant + 100: TypeImage 26(int) Cube array sampled format:Unknown + 101: TypePointer UniformConstant 100 + 102(g_tTexcdi4): 101(ptr) Variable UniformConstant + 103: TypeImage 40(int) Cube array sampled format:Unknown + 104: TypePointer UniformConstant 103 + 105(g_tTexcdu4): 104(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -426,8 +447,10 @@ gl_FragCoord origin is upper left 84: 83 SampledImage 81 82 85: 41(ivec4) ImageSampleExplicitLod 84 62 Grad ConstOffset 63 63 66 Store 77(txval22) 85 - 91: 90(ptr) AccessChain 88(psout) 27 - Store 91 89 - 92:86(PS_OUTPUT) Load 88(psout) - ReturnValue 92 + 91: 8(ptr) AccessChain 88(psout) 65 + Store 91 90 + 93: 92(ptr) AccessChain 88(psout) 27 + Store 93 89 + 94:86(PS_OUTPUT) Load 88(psout) + ReturnValue 94 FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out index aaf20fb1..9d667492 100644 --- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out @@ -122,6 +122,16 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:37 Constant: 0:37 0.750000 +0:39 move second child to first child (temp 4-component vector of float) +0:39 Color: direct index for structure (temp 4-component vector of float) +0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 Constant: +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 0:40 move second child to first child (temp float) 0:40 Depth: direct index for structure (temp float FragDepth) 0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -271,6 +281,16 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:37 Constant: 0:37 0.750000 +0:39 move second child to first child (temp 4-component vector of float) +0:39 Color: direct index for structure (temp 4-component vector of float) +0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 Constant: +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 0:40 move second child to first child (temp float) 0:40 Depth: direct index for structure (temp float FragDepth) 0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -295,7 +315,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 130 +// Id's are bound by 133 Capability Shader Capability Sampled1D @@ -329,7 +349,7 @@ gl_FragCoord origin is upper left MemberName 121(PS_OUTPUT) 0 "Color" MemberName 121(PS_OUTPUT) 1 "Depth" Name 123 "psout" - Name 129 "g_tTex1df4" + Name 132 "g_tTex1df4" Decorate 12(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 32(g_tTex1di4a) DescriptorSet 0 @@ -341,7 +361,7 @@ 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 129(g_tTex1df4) DescriptorSet 0 + Decorate 132(g_tTex1df4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -416,9 +436,11 @@ gl_FragCoord origin is upper left 119: 7(fvec4) ConstantComposite 85 116 117 118 121(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 122: TypePointer Function 121(PS_OUTPUT) - 124: 26(int) Constant 1 - 125: TypePointer Function 6(float) - 129(g_tTex1df4): 11(ptr) Variable UniformConstant + 124: 26(int) Constant 0 + 125: 7(fvec4) ConstantComposite 118 118 118 118 + 127: 26(int) Constant 1 + 128: TypePointer Function 6(float) + 132(g_tTex1df4): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -476,8 +498,10 @@ gl_FragCoord origin is upper left 115: 114 SampledImage 112 113 120: 41(ivec4) ImageSampleExplicitLod 115 119 Lod 24 Store 108(txval42) 120 - 126: 125(ptr) AccessChain 123(psout) 124 - Store 126 118 - 127:121(PS_OUTPUT) Load 123(psout) - ReturnValue 127 + 126: 8(ptr) AccessChain 123(psout) 124 + Store 126 125 + 129: 128(ptr) AccessChain 123(psout) 127 + Store 129 118 + 130:121(PS_OUTPUT) Load 123(psout) + ReturnValue 130 FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out index 38089d14..d0005dfe 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out @@ -152,6 +152,16 @@ gl_FragCoord origin is upper left 0:? 0.900000 0:46 Constant: 0:46 0.750000 +0:48 move second child to first child (temp 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 Constant: +0:48 1.000000 +0:48 1.000000 +0:48 1.000000 +0:48 1.000000 0:49 move second child to first child (temp float) 0:49 Depth: direct index for structure (temp float FragDepth) 0:49 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -335,6 +345,16 @@ gl_FragCoord origin is upper left 0:? 0.900000 0:46 Constant: 0:46 0.750000 +0:48 move second child to first child (temp 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 Constant: +0:48 1.000000 +0:48 1.000000 +0:48 1.000000 +0:48 1.000000 0:49 move second child to first child (temp float) 0:49 Depth: direct index for structure (temp float FragDepth) 0:49 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -363,7 +383,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 158 Capability Shader Capability Sampled1D @@ -402,8 +422,8 @@ gl_FragCoord origin is upper left MemberName 144(PS_OUTPUT) 0 "Color" MemberName 144(PS_OUTPUT) 1 "Depth" Name 146 "psout" - Name 153 "g_sSamp2d" - Name 154 "g_tTex1df4a" + Name 156 "g_sSamp2d" + Name 157 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 29(g_tTex1di4) DescriptorSet 0 @@ -418,8 +438,8 @@ 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 153(g_sSamp2d) DescriptorSet 0 - Decorate 154(g_tTex1df4a) DescriptorSet 0 + Decorate 156(g_sSamp2d) DescriptorSet 0 + Decorate 157(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -502,11 +522,13 @@ gl_FragCoord origin is upper left 141: TypeSampledImage 136 144(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 145: TypePointer Function 144(PS_OUTPUT) - 147: 23(int) Constant 1 + 147: 23(int) Constant 0 148: 6(float) Constant 1065353216 - 149: TypePointer Function 6(float) - 153(g_sSamp2d): 15(ptr) Variable UniformConstant -154(g_tTex1df4a): 11(ptr) Variable UniformConstant + 149: 7(fvec4) ConstantComposite 148 148 148 148 + 151: 23(int) Constant 1 + 152: TypePointer Function 6(float) + 156(g_sSamp2d): 15(ptr) Variable UniformConstant +157(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -582,8 +604,10 @@ gl_FragCoord origin is upper left 142: 141 SampledImage 139 140 143: 37(ivec4) ImageSampleExplicitLod 142 115 Lod 21 Store 135(txval42) 143 - 150: 149(ptr) AccessChain 146(psout) 147 - Store 150 148 - 151:144(PS_OUTPUT) Load 146(psout) - ReturnValue 151 + 150: 8(ptr) AccessChain 146(psout) 147 + Store 150 149 + 153: 152(ptr) AccessChain 146(psout) 151 + Store 153 148 + 154:144(PS_OUTPUT) Load 146(psout) + ReturnValue 154 FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out index f2ca5ad1..25a77ca8 100644 --- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out @@ -140,6 +140,16 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) +0:45 move second child to first child (temp 4-component vector of float) +0:45 Color: direct index for structure (temp 4-component vector of float) +0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:45 Constant: +0:45 0 (const int) +0:45 Constant: +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 0:46 move second child to first child (temp float) 0:46 Depth: direct index for structure (temp float FragDepth) 0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -310,6 +320,16 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) +0:45 move second child to first child (temp 4-component vector of float) +0:45 Color: direct index for structure (temp 4-component vector of float) +0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:45 Constant: +0:45 0 (const int) +0:45 Constant: +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 0:46 move second child to first child (temp float) 0:46 Depth: direct index for structure (temp float FragDepth) 0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -337,7 +357,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 146 +// Id's are bound by 148 Capability Shader Capability Sampled1D @@ -370,10 +390,10 @@ gl_FragCoord origin is upper left MemberName 128(PS_OUTPUT) 0 "Color" MemberName 128(PS_OUTPUT) 1 "Depth" Name 130 "psout" - Name 136 "g_tTex1df4a" - Name 139 "g_tTexcdf4" - Name 142 "g_tTexcdi4" - Name 145 "g_tTexcdu4" + Name 138 "g_tTex1df4a" + Name 141 "g_tTexcdf4" + Name 144 "g_tTexcdi4" + Name 147 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 30(g_tTex1di4) DescriptorSet 0 @@ -385,10 +405,10 @@ 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 136(g_tTex1df4a) DescriptorSet 0 - Decorate 139(g_tTexcdf4) DescriptorSet 0 - Decorate 142(g_tTexcdi4) DescriptorSet 0 - Decorate 145(g_tTexcdu4) DescriptorSet 0 + Decorate 138(g_tTex1df4a) DescriptorSet 0 + Decorate 141(g_tTexcdf4) DescriptorSet 0 + Decorate 144(g_tTexcdi4) DescriptorSet 0 + Decorate 147(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -471,17 +491,18 @@ gl_FragCoord origin is upper left 128(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 129: TypePointer Function 128(PS_OUTPUT) 131: 6(float) Constant 1065353216 - 132: TypePointer Function 6(float) -136(g_tTex1df4a): 11(ptr) Variable UniformConstant - 137: TypeImage 6(float) Cube sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTexcdf4): 138(ptr) Variable UniformConstant - 140: TypeImage 22(int) Cube sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTexcdi4): 141(ptr) Variable UniformConstant - 143: TypeImage 37(int) Cube sampled format:Unknown - 144: TypePointer UniformConstant 143 - 145(g_tTexcdu4): 144(ptr) Variable UniformConstant + 132: 7(fvec4) ConstantComposite 131 131 131 131 + 134: TypePointer Function 6(float) +138(g_tTex1df4a): 11(ptr) Variable UniformConstant + 139: TypeImage 6(float) Cube sampled format:Unknown + 140: TypePointer UniformConstant 139 + 141(g_tTexcdf4): 140(ptr) Variable UniformConstant + 142: TypeImage 22(int) Cube sampled format:Unknown + 143: TypePointer UniformConstant 142 + 144(g_tTexcdi4): 143(ptr) Variable UniformConstant + 145: TypeImage 37(int) Cube sampled format:Unknown + 146: TypePointer UniformConstant 145 + 147(g_tTexcdu4): 146(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -539,8 +560,10 @@ gl_FragCoord origin is upper left 121: 120 SampledImage 118 119 127: 38(ivec4) ImageSampleExplicitLod 121 125 Lod ConstOffset 21 126 Store 114(txval32) 127 - 133: 132(ptr) AccessChain 130(psout) 23 - Store 133 131 - 134:128(PS_OUTPUT) Load 130(psout) - ReturnValue 134 + 133: 8(ptr) AccessChain 130(psout) 61 + Store 133 132 + 135: 134(ptr) AccessChain 130(psout) 23 + Store 135 131 + 136:128(PS_OUTPUT) Load 130(psout) + ReturnValue 136 FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out index 9677209c..7cdef7fa 100644 --- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out @@ -95,6 +95,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 0 (const int) 0:? 1 (const int) +0:33 move second child to first child (temp 4-component vector of float) +0:33 Color: direct index for structure (temp 4-component vector of float) +0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:33 Constant: +0:33 0 (const int) +0:33 Constant: +0:33 1.000000 +0:33 1.000000 +0:33 1.000000 +0:33 1.000000 0:34 move second child to first child (temp float) 0:34 Depth: direct index for structure (temp float FragDepth) 0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -214,6 +224,16 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 0 (const int) 0:? 1 (const int) +0:33 move second child to first child (temp 4-component vector of float) +0:33 Color: direct index for structure (temp 4-component vector of float) +0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:33 Constant: +0:33 0 (const int) +0:33 Constant: +0:33 1.000000 +0:33 1.000000 +0:33 1.000000 +0:33 1.000000 0:34 move second child to first child (temp float) 0:34 Depth: direct index for structure (temp float FragDepth) 0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) @@ -235,7 +255,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 103 +// Id's are bound by 105 Capability Shader Capability Sampled1D @@ -262,7 +282,7 @@ gl_FragCoord origin is upper left MemberName 94(PS_OUTPUT) 0 "Color" MemberName 94(PS_OUTPUT) 1 "Depth" Name 96 "psout" - Name 102 "g_tTex1df4a" + Name 104 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4) DescriptorSet 0 @@ -271,7 +291,7 @@ 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 102(g_tTex1df4a) DescriptorSet 0 + Decorate 104(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -335,8 +355,9 @@ gl_FragCoord origin is upper left 94(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 95: TypePointer Function 94(PS_OUTPUT) 97: 6(float) Constant 1065353216 - 98: TypePointer Function 6(float) -102(g_tTex1df4a): 11(ptr) Variable UniformConstant + 98: 7(fvec4) ConstantComposite 97 97 97 97 + 100: TypePointer Function 6(float) +104(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -376,8 +397,10 @@ gl_FragCoord origin is upper left 88: 87 SampledImage 85 86 93: 43(ivec4) ImageSampleExplicitLod 88 91 Lod ConstOffset 24 92 Store 81(txval22) 93 - 99: 98(ptr) AccessChain 96(psout) 40 - Store 99 97 - 100:94(PS_OUTPUT) Load 96(psout) - ReturnValue 100 + 99: 8(ptr) AccessChain 96(psout) 26 + Store 99 98 + 101: 100(ptr) AccessChain 96(psout) 40 + Store 101 97 + 102:94(PS_OUTPUT) Load 96(psout) + ReturnValue 102 FunctionEnd diff --git a/Test/baseResults/hlsl.shapeConv.frag.out b/Test/baseResults/hlsl.shapeConv.frag.out new file mode 100755 index 00000000..e9b73898 --- /dev/null +++ b/Test/baseResults/hlsl.shapeConv.frag.out @@ -0,0 +1,152 @@ +hlsl.shapeConv.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:14 Function Definition: PixelShaderFunction(vf4;f1; (global 4-component vector of float) +0:2 Function Parameters: +0:2 'input' (in 4-component vector of float) +0:2 'f' (in float) +0:? Sequence +0:4 move second child to first child (temp 4-component vector of float) +0:4 'v' (temp 4-component vector of float) +0:4 Constant: +0:4 1.000000 +0:4 1.000000 +0:4 1.000000 +0:4 1.000000 +0:5 move second child to first child (temp 4-component vector of float) +0:5 'v' (temp 4-component vector of float) +0:5 Constant: +0:5 2.000000 +0:5 2.000000 +0:5 2.000000 +0:5 2.000000 +0:6 move second child to first child (temp 4-component vector of float) +0:6 'v' (temp 4-component vector of float) +0:6 Construct vec4 (temp 4-component vector of float) +0:6 'f' (in float) +0:8 move second child to first child (temp 3-component vector of float) +0:8 'u' (temp 3-component vector of float) +0:8 Constant: +0:8 1.000000 +0:8 1.000000 +0:8 1.000000 +0:9 move second child to first child (temp 3-component vector of float) +0:9 'u' (temp 3-component vector of float) +0:9 Constant: +0:9 2.000000 +0:9 2.000000 +0:9 2.000000 +0:10 move second child to first child (temp 3-component vector of float) +0:10 'u' (temp 3-component vector of float) +0:10 Construct vec3 (temp 3-component vector of float) +0:10 Construct float (temp float) +0:10 'f' (in float) +0:12 Branch: Return with expression +0:12 'input' (in 4-component vector of float) +0:? Linker Objects + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:14 Function Definition: PixelShaderFunction(vf4;f1; (global 4-component vector of float) +0:2 Function Parameters: +0:2 'input' (in 4-component vector of float) +0:2 'f' (in float) +0:? Sequence +0:4 move second child to first child (temp 4-component vector of float) +0:4 'v' (temp 4-component vector of float) +0:4 Constant: +0:4 1.000000 +0:4 1.000000 +0:4 1.000000 +0:4 1.000000 +0:5 move second child to first child (temp 4-component vector of float) +0:5 'v' (temp 4-component vector of float) +0:5 Constant: +0:5 2.000000 +0:5 2.000000 +0:5 2.000000 +0:5 2.000000 +0:6 move second child to first child (temp 4-component vector of float) +0:6 'v' (temp 4-component vector of float) +0:6 Construct vec4 (temp 4-component vector of float) +0:6 'f' (in float) +0:8 move second child to first child (temp 3-component vector of float) +0:8 'u' (temp 3-component vector of float) +0:8 Constant: +0:8 1.000000 +0:8 1.000000 +0:8 1.000000 +0:9 move second child to first child (temp 3-component vector of float) +0:9 'u' (temp 3-component vector of float) +0:9 Constant: +0:9 2.000000 +0:9 2.000000 +0:9 2.000000 +0:10 move second child to first child (temp 3-component vector of float) +0:10 'u' (temp 3-component vector of float) +0:10 Construct vec3 (temp 3-component vector of float) +0:10 Construct float (temp float) +0:10 'f' (in float) +0:12 Branch: Return with expression +0:12 'input' (in 4-component vector of float) +0:? Linker Objects + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 32 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" + ExecutionMode 4 OriginUpperLeft + Source HLSL 450 + Name 4 "main" + Name 13 "PixelShaderFunction(vf4;f1;" + Name 11 "input" + Name 12 "f" + Name 15 "v" + Name 24 "u" + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypePointer Function 6(float) + 10: TypeFunction 7(fvec4) 8(ptr) 9(ptr) + 16: 6(float) Constant 1065353216 + 17: 7(fvec4) ConstantComposite 16 16 16 16 + 18: 6(float) Constant 1073741824 + 19: 7(fvec4) ConstantComposite 18 18 18 18 + 22: TypeVector 6(float) 3 + 23: TypePointer Function 22(fvec3) + 25: 22(fvec3) ConstantComposite 16 16 16 + 26: 22(fvec3) ConstantComposite 18 18 18 + 4(main): 2 Function None 3 + 5: Label + FunctionEnd +13(PixelShaderFunction(vf4;f1;): 7(fvec4) Function None 10 + 11(input): 8(ptr) FunctionParameter + 12(f): 9(ptr) FunctionParameter + 14: Label + 15(v): 8(ptr) Variable Function + 24(u): 23(ptr) Variable Function + Store 15(v) 17 + Store 15(v) 19 + 20: 6(float) Load 12(f) + 21: 7(fvec4) CompositeConstruct 20 20 20 20 + Store 15(v) 21 + Store 24(u) 25 + Store 24(u) 26 + 27: 6(float) Load 12(f) + 28: 22(fvec3) CompositeConstruct 27 27 27 + Store 24(u) 28 + 29: 7(fvec4) Load 11(input) + ReturnValue 29 + FunctionEnd diff --git a/Test/hlsl.shapeConv.frag b/Test/hlsl.shapeConv.frag new file mode 100644 index 00000000..1e6dec65 --- /dev/null +++ b/Test/hlsl.shapeConv.frag @@ -0,0 +1,13 @@ +float4 PixelShaderFunction(float4 input, float f) : COLOR0 +{ + float4 v; + v = 1; + v = 2.0; + v = f; + float3 u; + u = float(1); + u = float(2.0); + u = float(f); + + return input; +} diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h index 62bce053..fcc3d69c 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 "SPIRV99.1354" +#define GLSLANG_REVISION "SPIRV99.1361" #define GLSLANG_DATE "28-Jul-2016" diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp index de83e441..31d0b165 100644 --- a/glslang/MachineIndependent/Intermediate.cpp +++ b/glslang/MachineIndependent/Intermediate.cpp @@ -98,6 +98,8 @@ TIntermSymbol* TIntermediate::addSymbol(const TType& type, const TSourceLoc& loc // // Returns the added node. // +// Returns nullptr if the working conversions and promotions could not be found. +// TIntermTyped* TIntermediate::addBinaryMath(TOperator op, TIntermTyped* left, TIntermTyped* right, TSourceLoc loc) { // No operations work on blocks @@ -161,29 +163,38 @@ TIntermTyped* TIntermediate::addBinaryMath(TOperator op, TIntermTyped* left, TIn // // Returns the added node. // +// Returns nullptr if the 'right' type could not be converted to match the 'left' type, +// or the resulting operation cannot be properly promoted. +// TIntermTyped* TIntermediate::addAssign(TOperator op, TIntermTyped* left, TIntermTyped* right, TSourceLoc loc) { // No block assignment if (left->getType().getBasicType() == EbtBlock || right->getType().getBasicType() == EbtBlock) - return 0; + return nullptr; // // Like adding binary math, except the conversion can only go // from right to left. // + + // convert base types, nullptr return means not possible + right = addConversion(op, left->getType(), right); + if (right == nullptr) + return nullptr; + + // convert shape + right = addShapeConversion(op, left->getType(), right); + + // build the node TIntermBinary* node = new TIntermBinary(op); if (loc.line == 0) loc = left->getLoc(); node->setLoc(loc); - - TIntermTyped* child = addConversion(op, left->getType(), right); - if (child == 0) - return 0; - node->setLeft(left); - node->setRight(child); + node->setRight(right); + if (! node->promote()) - return 0; + return nullptr; node->updatePrecision(); @@ -414,6 +425,9 @@ TIntermTyped* TIntermediate::setAggregateOperator(TIntermNode* node, TOperator o // Returns a node representing the conversion, which could be the same // node passed in if no conversion was needed. // +// Generally, this is focused on basic type conversion, not shape conversion. +// See addShapeConversion(). +// // Return 0 if a conversion can't be done. // TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TIntermTyped* node) const @@ -681,6 +695,50 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt return newNode; } +// Convert the node's shape of type for the given type, as allowed by the +// operation involved: 'op'. +// +// Generally, the AST represents allowed GLSL shapes, so this isn't needed +// for GLSL. Bad shapes are caught in conversion or promotion. +// +// Return 'node' if no conversion was done. Promotion handles final shape +// checking. +// +TIntermTyped* TIntermediate::addShapeConversion(TOperator op, const TType& type, TIntermTyped* node) +{ + // some source languages don't do this + switch (source) { + case EShSourceHlsl: + break; + case EShSourceGlsl: + default: + return node; + } + + // some operations don't do this + switch (op) { + case EOpAssign: + break; + default: + return node; + } + + // structures and arrays don't change shape, either to or from + if (node->getType().isStruct() || node->getType().isArray() || + type.isStruct() || type.isArray()) + return node; + + // The new node that handles the conversion + TIntermTyped* conversionNode = node; + TOperator constructorOp = mapTypeToConstructorOp(type); + + // scalar -> smeared -> vector + if (type.isVector() && node->getType().isScalar()) + return setAggregateOperator(node, constructorOp, type, node->getLoc()); + + return node; +} + // // See if the 'from' type is allowed to be implicitly converted to the // 'to' type. This is not about vector/array/struct, only about basic type. diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h index 2081d0f0..7bd457d1 100644 --- a/glslang/MachineIndependent/localintermediate.h +++ b/glslang/MachineIndependent/localintermediate.h @@ -183,6 +183,7 @@ public: TIntermSymbol* addSymbol(const TVariable&, const TSourceLoc&); TIntermSymbol* addSymbol(const TType&, const TSourceLoc&); TIntermTyped* addConversion(TOperator, const TType&, TIntermTyped*) const; + TIntermTyped* addShapeConversion(TOperator, const TType&, TIntermTyped*); TIntermTyped* addBinaryMath(TOperator, TIntermTyped* left, TIntermTyped* right, TSourceLoc); TIntermTyped* addAssign(TOperator op, TIntermTyped* left, TIntermTyped* right, TSourceLoc); TIntermTyped* addIndex(TOperator op, TIntermTyped* base, TIntermTyped* index, TSourceLoc); diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp index 4648b4ee..d14be677 100644 --- a/gtests/Hlsl.FromFile.cpp +++ b/gtests/Hlsl.FromFile.cpp @@ -141,6 +141,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.samplelevel.basic.dx10.vert", "main"}, {"hlsl.samplelevel.offset.dx10.frag", "main"}, {"hlsl.samplelevel.offsetarray.dx10.frag", "main"}, + {"hlsl.shapeConv.frag", "main"}, {"hlsl.intrinsics.vert", "VertexShaderFunction"}, {"hlsl.matType.frag", "PixelShaderFunction"}, {"hlsl.max.frag", "PixelShaderFunction"}, diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp index 65d15b0d..3a56fe5b 100755 --- a/hlsl/hlslGrammar.cpp +++ b/hlsl/hlslGrammar.cpp @@ -1605,9 +1605,10 @@ bool HlslGrammar::acceptAssignmentExpression(TIntermTyped*& node) } node = intermediate.addAssign(assignOp, node, rightNode, loc); - // TODO: Turn this on after tests are fixed for it: - //if (node == nullptr) - // parseContext.error(loc, "could not create assignment", "", ""); + if (node == nullptr) { + parseContext.error(loc, "could not create assignment", "", ""); + return false; + } if (! peekTokenClass(EHTokComma)) return true; @@ -1692,6 +1693,10 @@ bool HlslGrammar::acceptBinaryExpression(TIntermTyped*& node, PrecedenceLevel pr } node = intermediate.addBinaryMath(op, node, rightNode, loc); + if (node == nullptr) { + parseContext.error(loc, "Could not perform requested binary operation", "", ""); + return false; + } if (! peekTokenClass(EHTokComma)) return true;