From 33d517470eaeba6665755243547a73f901063976 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 21 Jun 2024 14:07:50 -0400 Subject: [PATCH 001/108] Generate vector constructions more efficiently when sizes match When two vectors are the same size, there is no need to extract the components and construct a new vector. --- SPIRV/SpvBuilder.cpp | 6 + .../hlsl.samplecmp.array.dx10.frag.out | 273 ++-- ...lsl.samplecmplevelzero.array.dx10.frag.out | 273 ++-- .../baseResults/spv.16bitstorage-int.frag.out | 20 +- .../spv.16bitstorage-uint.frag.out | 20 +- Test/baseResults/spv.16bitstorage.frag.out | 20 +- Test/baseResults/spv.8bitstorage-int.frag.out | 20 +- .../baseResults/spv.8bitstorage-uint.frag.out | 20 +- Test/baseResults/spv.debuginfo.glsl.frag.out | 106 +- Test/baseResults/spv.explicittypes.frag.out | 503 ++++--- Test/baseResults/spv.float16.frag.out | 1154 ++++++++--------- Test/baseResults/spv.floatFetch.frag.out | 165 ++- Test/baseResults/spv.int32.frag.out | 1064 ++++++++------- 13 files changed, 1777 insertions(+), 1867 deletions(-) diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index 51c6bc21..6e5c00b5 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -3424,6 +3424,12 @@ Id Builder::createConstructor(Decoration precision, const std::vector& sourc if (sources.size() == 1 && isScalar(sources[0]) && numTargetComponents > 1) return smearScalar(precision, sources[0], resultTypeId); + // Special case: 2 vectors of equal size + if (sources.size() == 1 && isVector(sources[0]) && numTargetComponents == getNumComponents(sources[0])) { + assert(resultTypeId == getTypeId(sources[0])); + return sources[0]; + } + // accumulate the arguments for OpCompositeConstruct std::vector constituents; Id scalarTypeId = getScalarTypeId(resultTypeId); diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out index caddceeb..cde1d519 100644 --- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out @@ -400,14 +400,14 @@ using depth_any Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 209 +// Id's are bound by 194 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 166 170 + EntryPoint Fragment 4 "main" 151 155 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthReplacing Source HLSL 500 @@ -431,26 +431,26 @@ Validation failed Name 96 "g_tTex2du4a" Name 107 "r60" Name 110 "g_tTexcdf4a" - Name 123 "r62" - Name 126 "g_tTexcdi4a" - Name 137 "r64" - Name 140 "g_tTexcdu4a" - Name 152 "psout" - Name 163 "flattenTemp" - Name 166 "@entryPointOutput.Color" - Name 170 "@entryPointOutput.Depth" - Name 175 "g_tTex1df4" - Name 178 "g_tTex1di4" - Name 181 "g_tTex1du4" - Name 184 "g_tTex2df4" - Name 187 "g_tTex2di4" - Name 190 "g_tTex2du4" - Name 193 "g_tTex3df4" - Name 196 "g_tTex3di4" - Name 199 "g_tTex3du4" - Name 202 "g_tTexcdf4" - Name 205 "g_tTexcdi4" - Name 208 "g_tTexcdu4" + Name 118 "r62" + Name 121 "g_tTexcdi4a" + Name 127 "r64" + Name 130 "g_tTexcdu4a" + Name 137 "psout" + Name 148 "flattenTemp" + Name 151 "@entryPointOutput.Color" + Name 155 "@entryPointOutput.Depth" + Name 160 "g_tTex1df4" + Name 163 "g_tTex1di4" + Name 166 "g_tTex1du4" + Name 169 "g_tTex2df4" + Name 172 "g_tTex2di4" + Name 175 "g_tTex2du4" + Name 178 "g_tTex3df4" + Name 181 "g_tTex3di4" + Name 184 "g_tTex3du4" + Name 187 "g_tTexcdf4" + Name 190 "g_tTexcdi4" + Name 193 "g_tTexcdu4" Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 Decorate 20(g_sSamp) DescriptorSet 0 @@ -467,36 +467,36 @@ Validation failed Decorate 96(g_tTex2du4a) Binding 6 Decorate 110(g_tTexcdf4a) DescriptorSet 0 Decorate 110(g_tTexcdf4a) Binding 7 - Decorate 126(g_tTexcdi4a) DescriptorSet 0 - Decorate 126(g_tTexcdi4a) Binding 8 - Decorate 140(g_tTexcdu4a) DescriptorSet 0 - Decorate 140(g_tTexcdu4a) Binding 9 - Decorate 166(@entryPointOutput.Color) Location 0 - Decorate 170(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 175(g_tTex1df4) DescriptorSet 0 - Decorate 175(g_tTex1df4) Binding 0 - Decorate 178(g_tTex1di4) DescriptorSet 0 - Decorate 178(g_tTex1di4) Binding 0 - Decorate 181(g_tTex1du4) DescriptorSet 0 - Decorate 181(g_tTex1du4) Binding 0 - Decorate 184(g_tTex2df4) DescriptorSet 0 - Decorate 184(g_tTex2df4) Binding 0 - Decorate 187(g_tTex2di4) DescriptorSet 0 - Decorate 187(g_tTex2di4) Binding 0 - Decorate 190(g_tTex2du4) DescriptorSet 0 - Decorate 190(g_tTex2du4) Binding 0 - Decorate 193(g_tTex3df4) DescriptorSet 0 - Decorate 193(g_tTex3df4) Binding 0 - Decorate 196(g_tTex3di4) DescriptorSet 0 - Decorate 196(g_tTex3di4) Binding 0 - Decorate 199(g_tTex3du4) DescriptorSet 0 - Decorate 199(g_tTex3du4) Binding 0 - Decorate 202(g_tTexcdf4) DescriptorSet 0 - Decorate 202(g_tTexcdf4) Binding 0 - Decorate 205(g_tTexcdi4) DescriptorSet 0 - Decorate 205(g_tTexcdi4) Binding 0 - Decorate 208(g_tTexcdu4) DescriptorSet 0 - Decorate 208(g_tTexcdu4) Binding 0 + Decorate 121(g_tTexcdi4a) DescriptorSet 0 + Decorate 121(g_tTexcdi4a) Binding 8 + Decorate 130(g_tTexcdu4a) DescriptorSet 0 + Decorate 130(g_tTexcdu4a) Binding 9 + Decorate 151(@entryPointOutput.Color) Location 0 + Decorate 155(@entryPointOutput.Depth) BuiltIn FragDepth + Decorate 160(g_tTex1df4) DescriptorSet 0 + Decorate 160(g_tTex1df4) Binding 0 + Decorate 163(g_tTex1di4) DescriptorSet 0 + Decorate 163(g_tTex1di4) Binding 0 + Decorate 166(g_tTex1du4) DescriptorSet 0 + Decorate 166(g_tTex1du4) Binding 0 + Decorate 169(g_tTex2df4) DescriptorSet 0 + Decorate 169(g_tTex2df4) Binding 0 + Decorate 172(g_tTex2di4) DescriptorSet 0 + Decorate 172(g_tTex2di4) Binding 0 + Decorate 175(g_tTex2du4) DescriptorSet 0 + Decorate 175(g_tTex2du4) Binding 0 + Decorate 178(g_tTex3df4) DescriptorSet 0 + Decorate 178(g_tTex3df4) Binding 0 + Decorate 181(g_tTex3di4) DescriptorSet 0 + Decorate 181(g_tTex3di4) Binding 0 + Decorate 184(g_tTex3du4) DescriptorSet 0 + Decorate 184(g_tTex3du4) Binding 0 + Decorate 187(g_tTexcdf4) DescriptorSet 0 + Decorate 187(g_tTexcdf4) Binding 0 + Decorate 190(g_tTexcdi4) DescriptorSet 0 + Decorate 190(g_tTexcdi4) Binding 0 + Decorate 193(g_tTexcdu4) DescriptorSet 0 + Decorate 193(g_tTexcdu4) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -547,71 +547,71 @@ Validation failed 113: TypeSampledImage 108 115: 6(float) Constant 1053609165 116: 7(fvec4) ConstantComposite 25 26 71 115 - 124: TypeImage 36(int) Cube depth array sampled format:Unknown - 125: TypePointer UniformConstant 124 -126(g_tTexcdi4a): 125(ptr) Variable UniformConstant - 129: TypeSampledImage 124 - 138: TypeImage 50(int) Cube depth array sampled format:Unknown - 139: TypePointer UniformConstant 138 -140(g_tTexcdu4a): 139(ptr) Variable UniformConstant - 143: TypeSampledImage 138 - 151: TypePointer Function 8(PS_OUTPUT) - 153: 36(int) Constant 0 - 154: 6(float) Constant 1065353216 - 155: 7(fvec4) ConstantComposite 154 154 154 154 - 156: TypePointer Function 7(fvec4) - 158: 36(int) Constant 1 - 165: TypePointer Output 7(fvec4) -166(@entryPointOutput.Color): 165(ptr) Variable Output - 169: TypePointer Output 6(float) -170(@entryPointOutput.Depth): 169(ptr) Variable Output - 173: TypeImage 6(float) 1D sampled format:Unknown + 119: TypeImage 36(int) Cube depth array sampled format:Unknown + 120: TypePointer UniformConstant 119 +121(g_tTexcdi4a): 120(ptr) Variable UniformConstant + 124: TypeSampledImage 119 + 128: TypeImage 50(int) Cube depth array sampled format:Unknown + 129: TypePointer UniformConstant 128 +130(g_tTexcdu4a): 129(ptr) Variable UniformConstant + 133: TypeSampledImage 128 + 136: TypePointer Function 8(PS_OUTPUT) + 138: 36(int) Constant 0 + 139: 6(float) Constant 1065353216 + 140: 7(fvec4) ConstantComposite 139 139 139 139 + 141: TypePointer Function 7(fvec4) + 143: 36(int) Constant 1 + 150: TypePointer Output 7(fvec4) +151(@entryPointOutput.Color): 150(ptr) Variable Output + 154: TypePointer Output 6(float) +155(@entryPointOutput.Depth): 154(ptr) Variable Output + 158: TypeImage 6(float) 1D sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160(g_tTex1df4): 159(ptr) Variable UniformConstant + 161: TypeImage 36(int) 1D sampled format:Unknown + 162: TypePointer UniformConstant 161 + 163(g_tTex1di4): 162(ptr) Variable UniformConstant + 164: TypeImage 50(int) 1D sampled format:Unknown + 165: TypePointer UniformConstant 164 + 166(g_tTex1du4): 165(ptr) Variable UniformConstant + 167: TypeImage 6(float) 2D sampled format:Unknown + 168: TypePointer UniformConstant 167 + 169(g_tTex2df4): 168(ptr) Variable UniformConstant + 170: TypeImage 36(int) 2D sampled format:Unknown + 171: TypePointer UniformConstant 170 + 172(g_tTex2di4): 171(ptr) Variable UniformConstant + 173: TypeImage 50(int) 2D sampled format:Unknown 174: TypePointer UniformConstant 173 - 175(g_tTex1df4): 174(ptr) Variable UniformConstant - 176: TypeImage 36(int) 1D sampled format:Unknown + 175(g_tTex2du4): 174(ptr) Variable UniformConstant + 176: TypeImage 6(float) 3D sampled format:Unknown 177: TypePointer UniformConstant 176 - 178(g_tTex1di4): 177(ptr) Variable UniformConstant - 179: TypeImage 50(int) 1D sampled format:Unknown + 178(g_tTex3df4): 177(ptr) Variable UniformConstant + 179: TypeImage 36(int) 3D sampled format:Unknown 180: TypePointer UniformConstant 179 - 181(g_tTex1du4): 180(ptr) Variable UniformConstant - 182: TypeImage 6(float) 2D sampled format:Unknown + 181(g_tTex3di4): 180(ptr) Variable UniformConstant + 182: TypeImage 50(int) 3D sampled format:Unknown 183: TypePointer UniformConstant 182 - 184(g_tTex2df4): 183(ptr) Variable UniformConstant - 185: TypeImage 36(int) 2D sampled format:Unknown + 184(g_tTex3du4): 183(ptr) Variable UniformConstant + 185: TypeImage 6(float) Cube sampled format:Unknown 186: TypePointer UniformConstant 185 - 187(g_tTex2di4): 186(ptr) Variable UniformConstant - 188: TypeImage 50(int) 2D sampled format:Unknown + 187(g_tTexcdf4): 186(ptr) Variable UniformConstant + 188: TypeImage 36(int) Cube sampled format:Unknown 189: TypePointer UniformConstant 188 - 190(g_tTex2du4): 189(ptr) Variable UniformConstant - 191: TypeImage 6(float) 3D sampled format:Unknown + 190(g_tTexcdi4): 189(ptr) Variable UniformConstant + 191: TypeImage 50(int) Cube sampled format:Unknown 192: TypePointer UniformConstant 191 - 193(g_tTex3df4): 192(ptr) Variable UniformConstant - 194: TypeImage 36(int) 3D sampled format:Unknown - 195: TypePointer UniformConstant 194 - 196(g_tTex3di4): 195(ptr) Variable UniformConstant - 197: TypeImage 50(int) 3D sampled format:Unknown - 198: TypePointer UniformConstant 197 - 199(g_tTex3du4): 198(ptr) Variable UniformConstant - 200: TypeImage 6(float) Cube sampled format:Unknown - 201: TypePointer UniformConstant 200 - 202(g_tTexcdf4): 201(ptr) Variable UniformConstant - 203: TypeImage 36(int) Cube sampled format:Unknown - 204: TypePointer UniformConstant 203 - 205(g_tTexcdi4): 204(ptr) Variable UniformConstant - 206: TypeImage 50(int) Cube sampled format:Unknown - 207: TypePointer UniformConstant 206 - 208(g_tTexcdu4): 207(ptr) Variable UniformConstant + 193(g_tTexcdu4): 192(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -163(flattenTemp): 151(ptr) Variable Function - 164:8(PS_OUTPUT) FunctionCall 10(@main() - Store 163(flattenTemp) 164 - 167: 156(ptr) AccessChain 163(flattenTemp) 153 - 168: 7(fvec4) Load 167 - Store 166(@entryPointOutput.Color) 168 - 171: 12(ptr) AccessChain 163(flattenTemp) 158 - 172: 6(float) Load 171 - Store 170(@entryPointOutput.Depth) 172 +148(flattenTemp): 136(ptr) Variable Function + 149:8(PS_OUTPUT) FunctionCall 10(@main() + Store 148(flattenTemp) 149 + 152: 141(ptr) AccessChain 148(flattenTemp) 138 + 153: 7(fvec4) Load 152 + Store 151(@entryPointOutput.Color) 153 + 156: 12(ptr) AccessChain 148(flattenTemp) 143 + 157: 6(float) Load 156 + Store 155(@entryPointOutput.Depth) 157 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 @@ -623,9 +623,9 @@ Validation failed 79(r32): 12(ptr) Variable Function 93(r34): 12(ptr) Variable Function 107(r60): 12(ptr) Variable Function - 123(r62): 12(ptr) Variable Function - 137(r64): 12(ptr) Variable Function - 152(psout): 151(ptr) Variable Function + 118(r62): 12(ptr) Variable Function + 127(r64): 12(ptr) Variable Function + 137(psout): 136(ptr) Variable Function 17: 14 Load 16(g_tTex1df4a) 21: 18 Load 20(g_sSamp) 23: 22 SampledImage 17 21 @@ -686,37 +686,22 @@ Validation failed 111: 108 Load 110(g_tTexcdf4a) 112: 18 Load 20(g_sSamp) 114: 113 SampledImage 111 112 - 117: 6(float) CompositeExtract 116 0 - 118: 6(float) CompositeExtract 116 1 - 119: 6(float) CompositeExtract 116 2 - 120: 6(float) CompositeExtract 116 3 - 121: 7(fvec4) CompositeConstruct 117 118 119 120 - 122: 6(float) ImageSampleDrefImplicitLod 114 121 28 - Store 107(r60) 122 - 127: 124 Load 126(g_tTexcdi4a) - 128: 18 Load 20(g_sSamp) - 130: 129 SampledImage 127 128 - 131: 6(float) CompositeExtract 116 0 - 132: 6(float) CompositeExtract 116 1 - 133: 6(float) CompositeExtract 116 2 - 134: 6(float) CompositeExtract 116 3 - 135: 7(fvec4) CompositeConstruct 131 132 133 134 - 136: 6(float) ImageSampleDrefImplicitLod 130 135 28 - Store 123(r62) 136 - 141: 138 Load 140(g_tTexcdu4a) - 142: 18 Load 20(g_sSamp) - 144: 143 SampledImage 141 142 - 145: 6(float) CompositeExtract 116 0 - 146: 6(float) CompositeExtract 116 1 - 147: 6(float) CompositeExtract 116 2 - 148: 6(float) CompositeExtract 116 3 - 149: 7(fvec4) CompositeConstruct 145 146 147 148 - 150: 6(float) ImageSampleDrefImplicitLod 144 149 28 - Store 137(r64) 150 - 157: 156(ptr) AccessChain 152(psout) 153 - Store 157 155 - 159: 12(ptr) AccessChain 152(psout) 158 - Store 159 154 - 160:8(PS_OUTPUT) Load 152(psout) - ReturnValue 160 + 117: 6(float) ImageSampleDrefImplicitLod 114 116 28 + Store 107(r60) 117 + 122: 119 Load 121(g_tTexcdi4a) + 123: 18 Load 20(g_sSamp) + 125: 124 SampledImage 122 123 + 126: 6(float) ImageSampleDrefImplicitLod 125 116 28 + Store 118(r62) 126 + 131: 128 Load 130(g_tTexcdu4a) + 132: 18 Load 20(g_sSamp) + 134: 133 SampledImage 131 132 + 135: 6(float) ImageSampleDrefImplicitLod 134 116 28 + Store 127(r64) 135 + 142: 141(ptr) AccessChain 137(psout) 138 + Store 142 140 + 144: 12(ptr) AccessChain 137(psout) 143 + Store 144 139 + 145:8(PS_OUTPUT) Load 137(psout) + ReturnValue 145 FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out index 45e33ffa..b9adf6fe 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out @@ -436,14 +436,14 @@ using depth_any Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 210 +// Id's are bound by 195 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 167 171 + EntryPoint Fragment 4 "main" 152 156 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthReplacing Source HLSL 500 @@ -467,26 +467,26 @@ Validation failed Name 97 "g_tTex2du4a" Name 108 "r60" Name 111 "g_tTexcdf4a" - Name 124 "r62" - Name 127 "g_tTexcdi4a" - Name 138 "r64" - Name 141 "g_tTexcdu4a" - Name 153 "psout" - Name 164 "flattenTemp" - Name 167 "@entryPointOutput.Color" - Name 171 "@entryPointOutput.Depth" - Name 176 "g_tTex1df4" - Name 179 "g_tTex1di4" - Name 182 "g_tTex1du4" - Name 185 "g_tTex2df4" - Name 188 "g_tTex2di4" - Name 191 "g_tTex2du4" - Name 194 "g_tTex3df4" - Name 197 "g_tTex3di4" - Name 200 "g_tTex3du4" - Name 203 "g_tTexcdf4" - Name 206 "g_tTexcdi4" - Name 209 "g_tTexcdu4" + Name 119 "r62" + Name 122 "g_tTexcdi4a" + Name 128 "r64" + Name 131 "g_tTexcdu4a" + Name 138 "psout" + Name 149 "flattenTemp" + Name 152 "@entryPointOutput.Color" + Name 156 "@entryPointOutput.Depth" + Name 161 "g_tTex1df4" + Name 164 "g_tTex1di4" + Name 167 "g_tTex1du4" + Name 170 "g_tTex2df4" + Name 173 "g_tTex2di4" + Name 176 "g_tTex2du4" + Name 179 "g_tTex3df4" + Name 182 "g_tTex3di4" + Name 185 "g_tTex3du4" + Name 188 "g_tTexcdf4" + Name 191 "g_tTexcdi4" + Name 194 "g_tTexcdu4" Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 Decorate 20(g_sSamp) DescriptorSet 0 @@ -503,36 +503,36 @@ Validation failed Decorate 97(g_tTex2du4a) Binding 6 Decorate 111(g_tTexcdf4a) DescriptorSet 0 Decorate 111(g_tTexcdf4a) Binding 7 - Decorate 127(g_tTexcdi4a) DescriptorSet 0 - Decorate 127(g_tTexcdi4a) Binding 8 - Decorate 141(g_tTexcdu4a) DescriptorSet 0 - Decorate 141(g_tTexcdu4a) Binding 9 - Decorate 167(@entryPointOutput.Color) Location 0 - Decorate 171(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 176(g_tTex1df4) DescriptorSet 0 - Decorate 176(g_tTex1df4) Binding 0 - Decorate 179(g_tTex1di4) DescriptorSet 0 - Decorate 179(g_tTex1di4) Binding 0 - Decorate 182(g_tTex1du4) DescriptorSet 0 - Decorate 182(g_tTex1du4) Binding 0 - Decorate 185(g_tTex2df4) DescriptorSet 0 - Decorate 185(g_tTex2df4) Binding 0 - Decorate 188(g_tTex2di4) DescriptorSet 0 - Decorate 188(g_tTex2di4) Binding 0 - Decorate 191(g_tTex2du4) DescriptorSet 0 - Decorate 191(g_tTex2du4) Binding 0 - Decorate 194(g_tTex3df4) DescriptorSet 0 - Decorate 194(g_tTex3df4) Binding 0 - Decorate 197(g_tTex3di4) DescriptorSet 0 - Decorate 197(g_tTex3di4) Binding 0 - Decorate 200(g_tTex3du4) DescriptorSet 0 - Decorate 200(g_tTex3du4) Binding 0 - Decorate 203(g_tTexcdf4) DescriptorSet 0 - Decorate 203(g_tTexcdf4) Binding 0 - Decorate 206(g_tTexcdi4) DescriptorSet 0 - Decorate 206(g_tTexcdi4) Binding 0 - Decorate 209(g_tTexcdu4) DescriptorSet 0 - Decorate 209(g_tTexcdu4) Binding 0 + Decorate 122(g_tTexcdi4a) DescriptorSet 0 + Decorate 122(g_tTexcdi4a) Binding 8 + Decorate 131(g_tTexcdu4a) DescriptorSet 0 + Decorate 131(g_tTexcdu4a) Binding 9 + Decorate 152(@entryPointOutput.Color) Location 0 + Decorate 156(@entryPointOutput.Depth) BuiltIn FragDepth + Decorate 161(g_tTex1df4) DescriptorSet 0 + Decorate 161(g_tTex1df4) Binding 0 + Decorate 164(g_tTex1di4) DescriptorSet 0 + Decorate 164(g_tTex1di4) Binding 0 + Decorate 167(g_tTex1du4) DescriptorSet 0 + Decorate 167(g_tTex1du4) Binding 0 + Decorate 170(g_tTex2df4) DescriptorSet 0 + Decorate 170(g_tTex2df4) Binding 0 + Decorate 173(g_tTex2di4) DescriptorSet 0 + Decorate 173(g_tTex2di4) Binding 0 + Decorate 176(g_tTex2du4) DescriptorSet 0 + Decorate 176(g_tTex2du4) Binding 0 + Decorate 179(g_tTex3df4) DescriptorSet 0 + Decorate 179(g_tTex3df4) Binding 0 + Decorate 182(g_tTex3di4) DescriptorSet 0 + Decorate 182(g_tTex3di4) Binding 0 + Decorate 185(g_tTex3du4) DescriptorSet 0 + Decorate 185(g_tTex3du4) Binding 0 + Decorate 188(g_tTexcdf4) DescriptorSet 0 + Decorate 188(g_tTexcdf4) Binding 0 + Decorate 191(g_tTexcdi4) DescriptorSet 0 + Decorate 191(g_tTexcdi4) Binding 0 + Decorate 194(g_tTexcdu4) DescriptorSet 0 + Decorate 194(g_tTexcdu4) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -584,71 +584,71 @@ Validation failed 114: TypeSampledImage 109 116: 6(float) Constant 1053609165 117: 7(fvec4) ConstantComposite 25 26 72 116 - 125: TypeImage 37(int) Cube depth array sampled format:Unknown - 126: TypePointer UniformConstant 125 -127(g_tTexcdi4a): 126(ptr) Variable UniformConstant - 130: TypeSampledImage 125 - 139: TypeImage 51(int) Cube depth array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTexcdu4a): 140(ptr) Variable UniformConstant - 144: TypeSampledImage 139 - 152: TypePointer Function 8(PS_OUTPUT) - 154: 37(int) Constant 0 - 155: 6(float) Constant 1065353216 - 156: 7(fvec4) ConstantComposite 155 155 155 155 - 157: TypePointer Function 7(fvec4) - 159: 37(int) Constant 1 - 166: TypePointer Output 7(fvec4) -167(@entryPointOutput.Color): 166(ptr) Variable Output - 170: TypePointer Output 6(float) -171(@entryPointOutput.Depth): 170(ptr) Variable Output - 174: TypeImage 6(float) 1D sampled format:Unknown + 120: TypeImage 37(int) Cube depth array sampled format:Unknown + 121: TypePointer UniformConstant 120 +122(g_tTexcdi4a): 121(ptr) Variable UniformConstant + 125: TypeSampledImage 120 + 129: TypeImage 51(int) Cube depth array sampled format:Unknown + 130: TypePointer UniformConstant 129 +131(g_tTexcdu4a): 130(ptr) Variable UniformConstant + 134: TypeSampledImage 129 + 137: TypePointer Function 8(PS_OUTPUT) + 139: 37(int) Constant 0 + 140: 6(float) Constant 1065353216 + 141: 7(fvec4) ConstantComposite 140 140 140 140 + 142: TypePointer Function 7(fvec4) + 144: 37(int) Constant 1 + 151: TypePointer Output 7(fvec4) +152(@entryPointOutput.Color): 151(ptr) Variable Output + 155: TypePointer Output 6(float) +156(@entryPointOutput.Depth): 155(ptr) Variable Output + 159: TypeImage 6(float) 1D sampled format:Unknown + 160: TypePointer UniformConstant 159 + 161(g_tTex1df4): 160(ptr) Variable UniformConstant + 162: TypeImage 37(int) 1D sampled format:Unknown + 163: TypePointer UniformConstant 162 + 164(g_tTex1di4): 163(ptr) Variable UniformConstant + 165: TypeImage 51(int) 1D sampled format:Unknown + 166: TypePointer UniformConstant 165 + 167(g_tTex1du4): 166(ptr) Variable UniformConstant + 168: TypeImage 6(float) 2D sampled format:Unknown + 169: TypePointer UniformConstant 168 + 170(g_tTex2df4): 169(ptr) Variable UniformConstant + 171: TypeImage 37(int) 2D sampled format:Unknown + 172: TypePointer UniformConstant 171 + 173(g_tTex2di4): 172(ptr) Variable UniformConstant + 174: TypeImage 51(int) 2D sampled format:Unknown 175: TypePointer UniformConstant 174 - 176(g_tTex1df4): 175(ptr) Variable UniformConstant - 177: TypeImage 37(int) 1D sampled format:Unknown + 176(g_tTex2du4): 175(ptr) Variable UniformConstant + 177: TypeImage 6(float) 3D sampled format:Unknown 178: TypePointer UniformConstant 177 - 179(g_tTex1di4): 178(ptr) Variable UniformConstant - 180: TypeImage 51(int) 1D sampled format:Unknown + 179(g_tTex3df4): 178(ptr) Variable UniformConstant + 180: TypeImage 37(int) 3D sampled format:Unknown 181: TypePointer UniformConstant 180 - 182(g_tTex1du4): 181(ptr) Variable UniformConstant - 183: TypeImage 6(float) 2D sampled format:Unknown + 182(g_tTex3di4): 181(ptr) Variable UniformConstant + 183: TypeImage 51(int) 3D sampled format:Unknown 184: TypePointer UniformConstant 183 - 185(g_tTex2df4): 184(ptr) Variable UniformConstant - 186: TypeImage 37(int) 2D sampled format:Unknown + 185(g_tTex3du4): 184(ptr) Variable UniformConstant + 186: TypeImage 6(float) Cube sampled format:Unknown 187: TypePointer UniformConstant 186 - 188(g_tTex2di4): 187(ptr) Variable UniformConstant - 189: TypeImage 51(int) 2D sampled format:Unknown + 188(g_tTexcdf4): 187(ptr) Variable UniformConstant + 189: TypeImage 37(int) Cube sampled format:Unknown 190: TypePointer UniformConstant 189 - 191(g_tTex2du4): 190(ptr) Variable UniformConstant - 192: TypeImage 6(float) 3D sampled format:Unknown + 191(g_tTexcdi4): 190(ptr) Variable UniformConstant + 192: TypeImage 51(int) Cube sampled format:Unknown 193: TypePointer UniformConstant 192 - 194(g_tTex3df4): 193(ptr) Variable UniformConstant - 195: TypeImage 37(int) 3D sampled format:Unknown - 196: TypePointer UniformConstant 195 - 197(g_tTex3di4): 196(ptr) Variable UniformConstant - 198: TypeImage 51(int) 3D sampled format:Unknown - 199: TypePointer UniformConstant 198 - 200(g_tTex3du4): 199(ptr) Variable UniformConstant - 201: TypeImage 6(float) Cube sampled format:Unknown - 202: TypePointer UniformConstant 201 - 203(g_tTexcdf4): 202(ptr) Variable UniformConstant - 204: TypeImage 37(int) Cube sampled format:Unknown - 205: TypePointer UniformConstant 204 - 206(g_tTexcdi4): 205(ptr) Variable UniformConstant - 207: TypeImage 51(int) Cube sampled format:Unknown - 208: TypePointer UniformConstant 207 - 209(g_tTexcdu4): 208(ptr) Variable UniformConstant + 194(g_tTexcdu4): 193(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -164(flattenTemp): 152(ptr) Variable Function - 165:8(PS_OUTPUT) FunctionCall 10(@main() - Store 164(flattenTemp) 165 - 168: 157(ptr) AccessChain 164(flattenTemp) 154 - 169: 7(fvec4) Load 168 - Store 167(@entryPointOutput.Color) 169 - 172: 12(ptr) AccessChain 164(flattenTemp) 159 - 173: 6(float) Load 172 - Store 171(@entryPointOutput.Depth) 173 +149(flattenTemp): 137(ptr) Variable Function + 150:8(PS_OUTPUT) FunctionCall 10(@main() + Store 149(flattenTemp) 150 + 153: 142(ptr) AccessChain 149(flattenTemp) 139 + 154: 7(fvec4) Load 153 + Store 152(@entryPointOutput.Color) 154 + 157: 12(ptr) AccessChain 149(flattenTemp) 144 + 158: 6(float) Load 157 + Store 156(@entryPointOutput.Depth) 158 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 @@ -660,9 +660,9 @@ Validation failed 80(r32): 12(ptr) Variable Function 94(r34): 12(ptr) Variable Function 108(r60): 12(ptr) Variable Function - 124(r62): 12(ptr) Variable Function - 138(r64): 12(ptr) Variable Function - 153(psout): 152(ptr) Variable Function + 119(r62): 12(ptr) Variable Function + 128(r64): 12(ptr) Variable Function + 138(psout): 137(ptr) Variable Function 17: 14 Load 16(g_tTex1df4a) 21: 18 Load 20(g_sSamp) 23: 22 SampledImage 17 21 @@ -723,37 +723,22 @@ Validation failed 112: 109 Load 111(g_tTexcdf4a) 113: 18 Load 20(g_sSamp) 115: 114 SampledImage 112 113 - 118: 6(float) CompositeExtract 117 0 - 119: 6(float) CompositeExtract 117 1 - 120: 6(float) CompositeExtract 117 2 - 121: 6(float) CompositeExtract 117 3 - 122: 7(fvec4) CompositeConstruct 118 119 120 121 - 123: 6(float) ImageSampleDrefExplicitLod 115 122 28 Lod 33 - Store 108(r60) 123 - 128: 125 Load 127(g_tTexcdi4a) - 129: 18 Load 20(g_sSamp) - 131: 130 SampledImage 128 129 - 132: 6(float) CompositeExtract 117 0 - 133: 6(float) CompositeExtract 117 1 - 134: 6(float) CompositeExtract 117 2 - 135: 6(float) CompositeExtract 117 3 - 136: 7(fvec4) CompositeConstruct 132 133 134 135 - 137: 6(float) ImageSampleDrefExplicitLod 131 136 28 Lod 33 - Store 124(r62) 137 - 142: 139 Load 141(g_tTexcdu4a) - 143: 18 Load 20(g_sSamp) - 145: 144 SampledImage 142 143 - 146: 6(float) CompositeExtract 117 0 - 147: 6(float) CompositeExtract 117 1 - 148: 6(float) CompositeExtract 117 2 - 149: 6(float) CompositeExtract 117 3 - 150: 7(fvec4) CompositeConstruct 146 147 148 149 - 151: 6(float) ImageSampleDrefExplicitLod 145 150 28 Lod 33 - Store 138(r64) 151 - 158: 157(ptr) AccessChain 153(psout) 154 - Store 158 156 - 160: 12(ptr) AccessChain 153(psout) 159 - Store 160 155 - 161:8(PS_OUTPUT) Load 153(psout) - ReturnValue 161 + 118: 6(float) ImageSampleDrefExplicitLod 115 117 28 Lod 33 + Store 108(r60) 118 + 123: 120 Load 122(g_tTexcdi4a) + 124: 18 Load 20(g_sSamp) + 126: 125 SampledImage 123 124 + 127: 6(float) ImageSampleDrefExplicitLod 126 117 28 Lod 33 + Store 119(r62) 127 + 132: 129 Load 131(g_tTexcdu4a) + 133: 18 Load 20(g_sSamp) + 135: 134 SampledImage 132 133 + 136: 6(float) ImageSampleDrefExplicitLod 135 117 28 Lod 33 + Store 128(r64) 136 + 143: 142(ptr) AccessChain 138(psout) 139 + Store 143 141 + 145: 12(ptr) AccessChain 138(psout) 144 + Store 145 140 + 146:8(PS_OUTPUT) Load 138(psout) + ReturnValue 146 FunctionEnd diff --git a/Test/baseResults/spv.16bitstorage-int.frag.out b/Test/baseResults/spv.16bitstorage-int.frag.out index 143983cb..bced9d30 100644 --- a/Test/baseResults/spv.16bitstorage-int.frag.out +++ b/Test/baseResults/spv.16bitstorage-int.frag.out @@ -1,10 +1,9 @@ spv.16bitstorage-int.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 187 +// Id's are bound by 180 Capability Shader - Capability Int16 Capability StorageUniformBufferBlock16 Capability StorageUniform16 Extension "SPV_KHR_16bit_storage" @@ -342,18 +341,11 @@ spv.16bitstorage-int.frag Store 173 172 174: 42(ptr) AccessChain 27(b1) 32 175: 7(i16vec2) Load 174 - 176: 6(int16_t) CompositeExtract 175 0 - 177: 6(int16_t) CompositeExtract 175 1 - 178: 7(i16vec2) CompositeConstruct 176 177 - 179: 42(ptr) AccessChain 19(b2) 32 + 176: 42(ptr) AccessChain 19(b2) 32 + Store 176 175 + 177: 34(ptr) AccessChain 27(b1) 33 + 178: 8(i16vec3) Load 177 + 179: 34(ptr) AccessChain 19(b2) 33 Store 179 178 - 180: 34(ptr) AccessChain 27(b1) 33 - 181: 8(i16vec3) Load 180 - 182: 6(int16_t) CompositeExtract 181 0 - 183: 6(int16_t) CompositeExtract 181 1 - 184: 6(int16_t) CompositeExtract 181 2 - 185: 8(i16vec3) CompositeConstruct 182 183 184 - 186: 34(ptr) AccessChain 19(b2) 33 - Store 186 185 Return FunctionEnd diff --git a/Test/baseResults/spv.16bitstorage-uint.frag.out b/Test/baseResults/spv.16bitstorage-uint.frag.out index 4b30c297..adf5237b 100644 --- a/Test/baseResults/spv.16bitstorage-uint.frag.out +++ b/Test/baseResults/spv.16bitstorage-uint.frag.out @@ -1,10 +1,9 @@ spv.16bitstorage-uint.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 189 +// Id's are bound by 182 Capability Shader - Capability Int16 Capability StorageUniformBufferBlock16 Capability StorageUniform16 Extension "SPV_KHR_16bit_storage" @@ -344,18 +343,11 @@ spv.16bitstorage-uint.frag Store 175 174 176: 42(ptr) AccessChain 27(b1) 32 177: 7(i16vec2) Load 176 - 178: 6(int16_t) CompositeExtract 177 0 - 179: 6(int16_t) CompositeExtract 177 1 - 180: 7(i16vec2) CompositeConstruct 178 179 - 181: 42(ptr) AccessChain 19(b2) 32 + 178: 42(ptr) AccessChain 19(b2) 32 + Store 178 177 + 179: 34(ptr) AccessChain 27(b1) 33 + 180: 8(i16vec3) Load 179 + 181: 34(ptr) AccessChain 19(b2) 33 Store 181 180 - 182: 34(ptr) AccessChain 27(b1) 33 - 183: 8(i16vec3) Load 182 - 184: 6(int16_t) CompositeExtract 183 0 - 185: 6(int16_t) CompositeExtract 183 1 - 186: 6(int16_t) CompositeExtract 183 2 - 187: 8(i16vec3) CompositeConstruct 184 185 186 - 188: 34(ptr) AccessChain 19(b2) 33 - Store 188 187 Return FunctionEnd diff --git a/Test/baseResults/spv.16bitstorage.frag.out b/Test/baseResults/spv.16bitstorage.frag.out index 7e186809..bb1b1642 100644 --- a/Test/baseResults/spv.16bitstorage.frag.out +++ b/Test/baseResults/spv.16bitstorage.frag.out @@ -1,10 +1,9 @@ spv.16bitstorage.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 189 +// Id's are bound by 182 Capability Shader - Capability Float16 Capability StorageUniformBufferBlock16 Capability StorageUniform16 Extension "SPV_KHR_16bit_storage" @@ -344,18 +343,11 @@ spv.16bitstorage.frag Store 175 174 176: 43(ptr) AccessChain 27(b1) 32 177: 7(f16vec2) Load 176 - 178:6(float16_t) CompositeExtract 177 0 - 179:6(float16_t) CompositeExtract 177 1 - 180: 7(f16vec2) CompositeConstruct 178 179 - 181: 43(ptr) AccessChain 19(b2) 32 + 178: 43(ptr) AccessChain 19(b2) 32 + Store 178 177 + 179: 34(ptr) AccessChain 27(b1) 33 + 180: 8(f16vec3) Load 179 + 181: 34(ptr) AccessChain 19(b2) 33 Store 181 180 - 182: 34(ptr) AccessChain 27(b1) 33 - 183: 8(f16vec3) Load 182 - 184:6(float16_t) CompositeExtract 183 0 - 185:6(float16_t) CompositeExtract 183 1 - 186:6(float16_t) CompositeExtract 183 2 - 187: 8(f16vec3) CompositeConstruct 184 185 186 - 188: 34(ptr) AccessChain 19(b2) 33 - Store 188 187 Return FunctionEnd diff --git a/Test/baseResults/spv.8bitstorage-int.frag.out b/Test/baseResults/spv.8bitstorage-int.frag.out index da8fe267..25db1d86 100644 --- a/Test/baseResults/spv.8bitstorage-int.frag.out +++ b/Test/baseResults/spv.8bitstorage-int.frag.out @@ -1,10 +1,9 @@ spv.8bitstorage-int.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 187 +// Id's are bound by 180 Capability Shader - Capability Int8 Capability UniformAndStorageBuffer8BitAccess Extension "SPV_KHR_8bit_storage" 1: ExtInstImport "GLSL.std.450" @@ -341,18 +340,11 @@ spv.8bitstorage-int.frag Store 173 172 174: 42(ptr) AccessChain 27(b1) 32 175: 7(i8vec2) Load 174 - 176: 6(int8_t) CompositeExtract 175 0 - 177: 6(int8_t) CompositeExtract 175 1 - 178: 7(i8vec2) CompositeConstruct 176 177 - 179: 42(ptr) AccessChain 19(b2) 32 + 176: 42(ptr) AccessChain 19(b2) 32 + Store 176 175 + 177: 34(ptr) AccessChain 27(b1) 33 + 178: 8(i8vec3) Load 177 + 179: 34(ptr) AccessChain 19(b2) 33 Store 179 178 - 180: 34(ptr) AccessChain 27(b1) 33 - 181: 8(i8vec3) Load 180 - 182: 6(int8_t) CompositeExtract 181 0 - 183: 6(int8_t) CompositeExtract 181 1 - 184: 6(int8_t) CompositeExtract 181 2 - 185: 8(i8vec3) CompositeConstruct 182 183 184 - 186: 34(ptr) AccessChain 19(b2) 33 - Store 186 185 Return FunctionEnd diff --git a/Test/baseResults/spv.8bitstorage-uint.frag.out b/Test/baseResults/spv.8bitstorage-uint.frag.out index eb1ecca5..d89756b2 100644 --- a/Test/baseResults/spv.8bitstorage-uint.frag.out +++ b/Test/baseResults/spv.8bitstorage-uint.frag.out @@ -1,10 +1,9 @@ spv.8bitstorage-uint.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 189 +// Id's are bound by 182 Capability Shader - Capability Int8 Capability UniformAndStorageBuffer8BitAccess Extension "SPV_KHR_8bit_storage" 1: ExtInstImport "GLSL.std.450" @@ -343,18 +342,11 @@ spv.8bitstorage-uint.frag Store 175 174 176: 42(ptr) AccessChain 27(b1) 32 177: 7(i8vec2) Load 176 - 178: 6(int8_t) CompositeExtract 177 0 - 179: 6(int8_t) CompositeExtract 177 1 - 180: 7(i8vec2) CompositeConstruct 178 179 - 181: 42(ptr) AccessChain 19(b2) 32 + 178: 42(ptr) AccessChain 19(b2) 32 + Store 178 177 + 179: 34(ptr) AccessChain 27(b1) 33 + 180: 8(i8vec3) Load 179 + 181: 34(ptr) AccessChain 19(b2) 33 Store 181 180 - 182: 34(ptr) AccessChain 27(b1) 33 - 183: 8(i8vec3) Load 182 - 184: 6(int8_t) CompositeExtract 183 0 - 185: 6(int8_t) CompositeExtract 183 1 - 186: 6(int8_t) CompositeExtract 183 2 - 187: 8(i8vec3) CompositeConstruct 184 185 186 - 188: 34(ptr) AccessChain 19(b2) 33 - Store 188 187 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.frag.out b/Test/baseResults/spv.debuginfo.glsl.frag.out index c2023e59..6c5e4da6 100644 --- a/Test/baseResults/spv.debuginfo.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.glsl.frag.out @@ -2,7 +2,7 @@ spv.debuginfo.glsl.frag Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 881 +// Id's are bound by 877 Capability Shader Capability ImageQuery @@ -350,8 +350,8 @@ void main() Name 794 "R" Name 804 "NdotR" Name 814 "spec" - Name 865 "param" - Name 870 "param" + Name 861 "param" + Name 866 "param" Decorate 177(samplerShadowMap) DescriptorSet 0 Decorate 177(samplerShadowMap) Binding 5 MemberDecorate 405(Light) 0 Offset 0 @@ -624,10 +624,10 @@ void main() 821: 16(float) Constant 1098907648 826: 16(float) Constant 1075838976 831: 7(int) Constant 184 - 843: 96(int) Constant 2 - 860: 7(int) Constant 188 - 869: 7(int) Constant 190 - 876: 7(int) Constant 193 + 839: 96(int) Constant 2 + 856: 7(int) Constant 188 + 865: 7(int) Constant 190 + 872: 7(int) Constant 193 14(main): 4 Function None 5 15: Label 475(fragPos): 75(ptr) Variable Function @@ -653,8 +653,8 @@ void main() 794(R): 75(ptr) Variable Function 804(NdotR): 25(ptr) Variable Function 814(spec): 75(ptr) Variable Function - 865(param): 75(ptr) Variable Function - 870(param): 75(ptr) Variable Function + 861(param): 75(ptr) Variable Function + 866(param): 75(ptr) Variable Function 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 104 104 12 12 Store 101(global_var) 106 @@ -931,56 +931,52 @@ void main() 835: 73(fvec3) VectorTimesScalar 833 834 836: 16(float) Load 767(heightAttenuation) 837: 73(fvec3) VectorTimesScalar 835 836 - 838: 16(float) CompositeExtract 837 0 - 839: 16(float) CompositeExtract 837 1 - 840: 16(float) CompositeExtract 837 2 - 841: 73(fvec3) CompositeConstruct 838 839 840 - 842: 96(int) Load 654(i) - 844: 678(ptr) AccessChain 431(ubo) 290 842 843 - 845: 19(fvec4) Load 844 - 846: 73(fvec3) VectorShuffle 845 845 0 1 2 - 847: 73(fvec3) FMul 841 846 - 848: 19(fvec4) Load 512(albedo) - 849: 73(fvec3) VectorShuffle 848 848 0 1 2 - 850: 73(fvec3) FMul 847 849 - 851: 73(fvec3) Load 636(fragcolor) - 852: 73(fvec3) FAdd 851 850 - Store 636(fragcolor) 852 + 838: 96(int) Load 654(i) + 840: 678(ptr) AccessChain 431(ubo) 290 838 839 + 841: 19(fvec4) Load 840 + 842: 73(fvec3) VectorShuffle 841 841 0 1 2 + 843: 73(fvec3) FMul 837 842 + 844: 19(fvec4) Load 512(albedo) + 845: 73(fvec3) VectorShuffle 844 844 0 1 2 + 846: 73(fvec3) FMul 843 845 + 847: 73(fvec3) Load 636(fragcolor) + 848: 73(fvec3) FAdd 847 846 + Store 636(fragcolor) 848 Branch 662 662: Label - 854: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 - 853: 96(int) Load 654(i) - 856: 96(int) IAdd 853 290 - Store 654(i) 856 + 850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 851: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 + 849: 96(int) Load 654(i) + 852: 96(int) IAdd 849 290 + Store 654(i) 852 Branch 659 661: Label - 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 860 860 12 12 - 857: 524(ptr) AccessChain 431(ubo) 843 - 861: 96(int) Load 857 - 862: 139(bool) SGreaterThan 861 106 - SelectionMerge 864 None - BranchConditional 862 863 864 - 863: Label - 867: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 869 869 12 12 - 866: 73(fvec3) Load 636(fragcolor) - Store 865(param) 866 - 871: 73(fvec3) Load 475(fragPos) - Store 870(param) 871 - 872: 73(fvec3) FunctionCall 81(shadow(vf3;vf3;) 865(param) 870(param) - Store 636(fragcolor) 872 - Branch 864 - 864: Label - 874: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 875: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 876 876 12 12 - 873: 73(fvec3) Load 636(fragcolor) - 877: 16(float) CompositeExtract 873 0 - 878: 16(float) CompositeExtract 873 1 - 879: 16(float) CompositeExtract 873 2 - 880: 19(fvec4) CompositeConstruct 877 878 879 115 - Store 546(outFragColor) 880 + 854: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 856 856 12 12 + 853: 524(ptr) AccessChain 431(ubo) 839 + 857: 96(int) Load 853 + 858: 139(bool) SGreaterThan 857 106 + SelectionMerge 860 None + BranchConditional 858 859 860 + 859: Label + 863: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 865 865 12 12 + 862: 73(fvec3) Load 636(fragcolor) + Store 861(param) 862 + 867: 73(fvec3) Load 475(fragPos) + Store 866(param) 867 + 868: 73(fvec3) FunctionCall 81(shadow(vf3;vf3;) 861(param) 866(param) + Store 636(fragcolor) 868 + Branch 860 + 860: Label + 870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 871: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 872 872 12 12 + 869: 73(fvec3) Load 636(fragcolor) + 873: 16(float) CompositeExtract 869 0 + 874: 16(float) CompositeExtract 869 1 + 875: 16(float) CompositeExtract 869 2 + 876: 19(fvec4) CompositeConstruct 873 874 875 115 + Store 546(outFragColor) 876 Return FunctionEnd 37(textureProj(vf4;f1;vf2;): 16(float) Function None 32 diff --git a/Test/baseResults/spv.explicittypes.frag.out b/Test/baseResults/spv.explicittypes.frag.out index 65d3b1ff..3b334603 100644 --- a/Test/baseResults/spv.explicittypes.frag.out +++ b/Test/baseResults/spv.explicittypes.frag.out @@ -1,7 +1,7 @@ spv.explicittypes.frag // Module Version 10300 // Generated by (magic number): 8000b -// Id's are bound by 576 +// Id's are bound by 567 Capability Shader Capability Float16 @@ -80,63 +80,63 @@ spv.explicittypes.frag Name 399 "f64v" Name 406 "i8v" Name 412 "i16v" - Name 429 "u8v" - Name 435 "u16v" - Name 452 "f16v" - Name 465 "bv" - Name 481 "u64v" - Name 482 "i64v" - Name 485 "f64v" - Name 490 "i8v" - Name 496 "i16v" - Name 502 "i32v" - Name 510 "u8v" - Name 516 "u16v" - Name 522 "u32v" - Name 534 "f16v" - Name 537 "f32v" - Name 548 "bv" - Name 573 "Block" - MemberName 573(Block) 0 "i16" - MemberName 573(Block) 1 "i16v2" - MemberName 573(Block) 2 "i16v3" - MemberName 573(Block) 3 "i16v4" - MemberName 573(Block) 4 "u16" - MemberName 573(Block) 5 "u16v2" - MemberName 573(Block) 6 "u16v3" - MemberName 573(Block) 7 "u16v4" - MemberName 573(Block) 8 "i32" - MemberName 573(Block) 9 "i32v2" - MemberName 573(Block) 10 "i32v3" - MemberName 573(Block) 11 "i32v4" - MemberName 573(Block) 12 "u32" - MemberName 573(Block) 13 "u32v2" - MemberName 573(Block) 14 "u32v3" - MemberName 573(Block) 15 "u32v4" - Name 575 "block" + Name 426 "u8v" + Name 432 "u16v" + Name 446 "f16v" + Name 459 "bv" + Name 475 "u64v" + Name 476 "i64v" + Name 479 "f64v" + Name 484 "i8v" + Name 490 "i16v" + Name 496 "i32v" + Name 504 "u8v" + Name 510 "u16v" + Name 516 "u32v" + Name 525 "f16v" + Name 528 "f32v" + Name 539 "bv" + Name 564 "Block" + MemberName 564(Block) 0 "i16" + MemberName 564(Block) 1 "i16v2" + MemberName 564(Block) 2 "i16v3" + MemberName 564(Block) 3 "i16v4" + MemberName 564(Block) 4 "u16" + MemberName 564(Block) 5 "u16v2" + MemberName 564(Block) 6 "u16v3" + MemberName 564(Block) 7 "u16v4" + MemberName 564(Block) 8 "i32" + MemberName 564(Block) 9 "i32v2" + MemberName 564(Block) 10 "i32v3" + MemberName 564(Block) 11 "i32v4" + MemberName 564(Block) 12 "u32" + MemberName 564(Block) 13 "u32v2" + MemberName 564(Block) 14 "u32v3" + MemberName 564(Block) 15 "u32v4" + Name 566 "block" MemberDecorate 26(Uniforms) 0 Offset 0 Decorate 26(Uniforms) Block Decorate 28 DescriptorSet 0 Decorate 28 Binding 0 - MemberDecorate 573(Block) 0 Offset 0 - MemberDecorate 573(Block) 1 Offset 4 - MemberDecorate 573(Block) 2 Offset 8 - MemberDecorate 573(Block) 3 Offset 16 - MemberDecorate 573(Block) 4 Offset 24 - MemberDecorate 573(Block) 5 Offset 28 - MemberDecorate 573(Block) 6 Offset 32 - MemberDecorate 573(Block) 7 Offset 40 - MemberDecorate 573(Block) 8 Offset 48 - MemberDecorate 573(Block) 9 Offset 56 - MemberDecorate 573(Block) 10 Offset 64 - MemberDecorate 573(Block) 11 Offset 80 - MemberDecorate 573(Block) 12 Offset 96 - MemberDecorate 573(Block) 13 Offset 104 - MemberDecorate 573(Block) 14 Offset 112 - MemberDecorate 573(Block) 15 Offset 128 - Decorate 573(Block) Block - Decorate 575(block) DescriptorSet 0 - Decorate 575(block) Binding 1 + MemberDecorate 564(Block) 0 Offset 0 + MemberDecorate 564(Block) 1 Offset 4 + MemberDecorate 564(Block) 2 Offset 8 + MemberDecorate 564(Block) 3 Offset 16 + MemberDecorate 564(Block) 4 Offset 24 + MemberDecorate 564(Block) 5 Offset 28 + MemberDecorate 564(Block) 6 Offset 32 + MemberDecorate 564(Block) 7 Offset 40 + MemberDecorate 564(Block) 8 Offset 48 + MemberDecorate 564(Block) 9 Offset 56 + MemberDecorate 564(Block) 10 Offset 64 + MemberDecorate 564(Block) 11 Offset 80 + MemberDecorate 564(Block) 12 Offset 96 + MemberDecorate 564(Block) 13 Offset 104 + MemberDecorate 564(Block) 14 Offset 112 + MemberDecorate 564(Block) 15 Offset 128 + Decorate 564(Block) Block + Decorate 566(block) DescriptorSet 0 + Decorate 566(block) Binding 1 2: TypeVoid 3: TypeFunction 2 16: TypeInt 64 1 @@ -249,32 +249,32 @@ spv.explicittypes.frag 372: 91(int16_t) Constant 1 373:145(i16vec2) ConstantComposite 371 371 374:145(i16vec2) ConstantComposite 372 372 - 467: 29(int) Constant 1 - 468: 148(ivec2) ConstantComposite 30 30 - 469: 148(ivec2) ConstantComposite 467 467 - 472: 19(int) Constant 0 - 473: 19(int) Constant 1 - 474: 154(ivec2) ConstantComposite 472 472 - 475: 154(ivec2) ConstantComposite 473 473 - 550: 16(int64_t) Constant 0 0 - 551: 16(int64_t) Constant 1 0 - 552:162(i64vec2) ConstantComposite 550 550 - 553:162(i64vec2) ConstantComposite 551 551 - 556: 38(int64_t) Constant 0 0 - 557: 38(int64_t) Constant 1 0 - 558:167(i64vec2) ConstantComposite 556 556 - 559:167(i64vec2) ConstantComposite 557 557 - 565: TypeVector 77(int16_t) 3 - 566: TypeVector 77(int16_t) 4 - 567: TypeVector 91(int16_t) 3 - 568: TypeVector 91(int16_t) 4 - 569: TypeVector 29(int) 3 - 570: TypeVector 29(int) 4 - 571: TypeVector 19(int) 3 - 572: TypeVector 19(int) 4 - 573(Block): TypeStruct 77(int16_t) 139(i16vec2) 565(i16vec3) 566(i16vec4) 91(int16_t) 145(i16vec2) 567(i16vec3) 568(i16vec4) 29(int) 148(ivec2) 569(ivec3) 570(ivec4) 19(int) 154(ivec2) 571(ivec3) 572(ivec4) - 574: TypePointer Uniform 573(Block) - 575(block): 574(ptr) Variable Uniform + 461: 29(int) Constant 1 + 462: 148(ivec2) ConstantComposite 30 30 + 463: 148(ivec2) ConstantComposite 461 461 + 466: 19(int) Constant 0 + 467: 19(int) Constant 1 + 468: 154(ivec2) ConstantComposite 466 466 + 469: 154(ivec2) ConstantComposite 467 467 + 541: 16(int64_t) Constant 0 0 + 542: 16(int64_t) Constant 1 0 + 543:162(i64vec2) ConstantComposite 541 541 + 544:162(i64vec2) ConstantComposite 542 542 + 547: 38(int64_t) Constant 0 0 + 548: 38(int64_t) Constant 1 0 + 549:167(i64vec2) ConstantComposite 547 547 + 550:167(i64vec2) ConstantComposite 548 548 + 556: TypeVector 77(int16_t) 3 + 557: TypeVector 77(int16_t) 4 + 558: TypeVector 91(int16_t) 3 + 559: TypeVector 91(int16_t) 4 + 560: TypeVector 29(int) 3 + 561: TypeVector 29(int) 4 + 562: TypeVector 19(int) 3 + 563: TypeVector 19(int) 4 + 564(Block): TypeStruct 77(int16_t) 139(i16vec2) 556(i16vec3) 557(i16vec4) 91(int16_t) 145(i16vec2) 558(i16vec3) 559(i16vec4) 29(int) 148(ivec2) 560(ivec3) 561(ivec4) 19(int) 154(ivec2) 562(ivec3) 563(ivec4) + 565: TypePointer Uniform 564(Block) + 566(block): 565(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label Return @@ -649,10 +649,10 @@ spv.explicittypes.frag 399(f64v): 194(ptr) Variable Function 406(i8v): 135(ptr) Variable Function 412(i16v): 140(ptr) Variable Function - 429(u8v): 132(ptr) Variable Function - 435(u16v): 221(ptr) Variable Function - 452(f16v): 182(ptr) Variable Function - 465(bv): 251(ptr) Variable Function + 426(u8v): 132(ptr) Variable Function + 432(u16v): 221(ptr) Variable Function + 446(f16v): 182(ptr) Variable Function + 459(bv): 251(ptr) Variable Function 382: 148(ivec2) Load 381(i32v) 383: 154(ivec2) Bitcast 382 Store 380(u32v) 383 @@ -697,186 +697,177 @@ spv.explicittypes.frag 417:139(i16vec2) Bitcast 416 Store 412(i16v) 417 418: 148(ivec2) Load 381(i32v) - 419: 29(int) CompositeExtract 418 0 - 420: 29(int) CompositeExtract 418 1 - 421: 148(ivec2) CompositeConstruct 419 420 - Store 381(i32v) 421 - 422: 154(ivec2) Load 380(u32v) - 423: 148(ivec2) Bitcast 422 - Store 381(i32v) 423 - 424: 148(ivec2) Load 381(i32v) - 425:162(i64vec2) SConvert 424 + Store 381(i32v) 418 + 419: 154(ivec2) Load 380(u32v) + 420: 148(ivec2) Bitcast 419 + Store 381(i32v) 420 + 421: 148(ivec2) Load 381(i32v) + 422:162(i64vec2) SConvert 421 + Store 384(i64v) 422 + 423: 154(ivec2) Load 380(u32v) + 424:167(i64vec2) UConvert 423 + 425:162(i64vec2) Bitcast 424 Store 384(i64v) 425 - 426: 154(ivec2) Load 380(u32v) - 427:167(i64vec2) UConvert 426 - 428:162(i64vec2) Bitcast 427 - Store 384(i64v) 428 - 430: 148(ivec2) Load 381(i32v) - 431: 134(i8vec2) SConvert 430 - 432: 131(i8vec2) Bitcast 431 - Store 429(u8v) 432 - 433: 154(ivec2) Load 380(u32v) - 434: 131(i8vec2) UConvert 433 - Store 429(u8v) 434 - 436: 148(ivec2) Load 381(i32v) - 437:139(i16vec2) SConvert 436 - 438:145(i16vec2) Bitcast 437 - Store 435(u16v) 438 - 439: 154(ivec2) Load 380(u32v) - 440:145(i16vec2) UConvert 439 - Store 435(u16v) 440 + 427: 148(ivec2) Load 381(i32v) + 428: 134(i8vec2) SConvert 427 + 429: 131(i8vec2) Bitcast 428 + Store 426(u8v) 429 + 430: 154(ivec2) Load 380(u32v) + 431: 131(i8vec2) UConvert 430 + Store 426(u8v) 431 + 433: 148(ivec2) Load 381(i32v) + 434:139(i16vec2) SConvert 433 + 435:145(i16vec2) Bitcast 434 + Store 432(u16v) 435 + 436: 154(ivec2) Load 380(u32v) + 437:145(i16vec2) UConvert 436 + Store 432(u16v) 437 + 438: 148(ivec2) Load 381(i32v) + 439: 154(ivec2) Bitcast 438 + Store 380(u32v) 439 + 440: 154(ivec2) Load 380(u32v) + Store 380(u32v) 440 441: 148(ivec2) Load 381(i32v) - 442: 154(ivec2) Bitcast 441 - Store 380(u32v) 442 - 443: 154(ivec2) Load 380(u32v) - 444: 19(int) CompositeExtract 443 0 - 445: 19(int) CompositeExtract 443 1 - 446: 154(ivec2) CompositeConstruct 444 445 - Store 380(u32v) 446 + 442:162(i64vec2) SConvert 441 + 443:167(i64vec2) Bitcast 442 + Store 387(u64v) 443 + 444: 154(ivec2) Load 380(u32v) + 445:167(i64vec2) UConvert 444 + Store 387(u64v) 445 447: 148(ivec2) Load 381(i32v) - 448:162(i64vec2) SConvert 447 - 449:167(i64vec2) Bitcast 448 - Store 387(u64v) 449 - 450: 154(ivec2) Load 380(u32v) - 451:167(i64vec2) UConvert 450 - Store 387(u64v) 451 - 453: 148(ivec2) Load 381(i32v) - 454:181(f16vec2) ConvertSToF 453 - Store 452(f16v) 454 - 455: 148(ivec2) Load 381(i32v) - 456: 187(fvec2) ConvertSToF 455 + 448:181(f16vec2) ConvertSToF 447 + Store 446(f16v) 448 + 449: 148(ivec2) Load 381(i32v) + 450: 187(fvec2) ConvertSToF 449 + Store 396(f32v) 450 + 451: 148(ivec2) Load 381(i32v) + 452:193(f64vec2) ConvertSToF 451 + Store 399(f64v) 452 + 453: 154(ivec2) Load 380(u32v) + 454:181(f16vec2) ConvertUToF 453 + Store 446(f16v) 454 + 455: 154(ivec2) Load 380(u32v) + 456: 187(fvec2) ConvertUToF 455 Store 396(f32v) 456 - 457: 148(ivec2) Load 381(i32v) - 458:193(f64vec2) ConvertSToF 457 + 457: 154(ivec2) Load 380(u32v) + 458:193(f64vec2) ConvertUToF 457 Store 399(f64v) 458 - 459: 154(ivec2) Load 380(u32v) - 460:181(f16vec2) ConvertUToF 459 - Store 452(f16v) 460 - 461: 154(ivec2) Load 380(u32v) - 462: 187(fvec2) ConvertUToF 461 - Store 396(f32v) 462 - 463: 154(ivec2) Load 380(u32v) - 464:193(f64vec2) ConvertUToF 463 - Store 399(f64v) 464 - 466: 250(bvec2) Load 465(bv) - 470: 148(ivec2) Select 466 469 468 - Store 381(i32v) 470 - 471: 250(bvec2) Load 465(bv) - 476: 154(ivec2) Select 471 475 474 - Store 380(u32v) 476 - 477: 148(ivec2) Load 381(i32v) - 478: 250(bvec2) INotEqual 477 474 - Store 465(bv) 478 - 479: 154(ivec2) Load 380(u32v) - 480: 250(bvec2) INotEqual 479 474 - Store 465(bv) 480 + 460: 250(bvec2) Load 459(bv) + 464: 148(ivec2) Select 460 463 462 + Store 381(i32v) 464 + 465: 250(bvec2) Load 459(bv) + 470: 154(ivec2) Select 465 469 468 + Store 380(u32v) 470 + 471: 148(ivec2) Load 381(i32v) + 472: 250(bvec2) INotEqual 471 468 + Store 459(bv) 472 + 473: 154(ivec2) Load 380(u32v) + 474: 250(bvec2) INotEqual 473 468 + Store 459(bv) 474 Return FunctionEnd 14(typeCast64(): 2 Function None 3 15: Label - 481(u64v): 168(ptr) Variable Function - 482(i64v): 163(ptr) Variable Function - 485(f64v): 194(ptr) Variable Function - 490(i8v): 135(ptr) Variable Function - 496(i16v): 140(ptr) Variable Function - 502(i32v): 149(ptr) Variable Function - 510(u8v): 132(ptr) Variable Function - 516(u16v): 221(ptr) Variable Function - 522(u32v): 157(ptr) Variable Function - 534(f16v): 182(ptr) Variable Function - 537(f32v): 188(ptr) Variable Function - 548(bv): 251(ptr) Variable Function - 483:162(i64vec2) Load 482(i64v) - 484:167(i64vec2) Bitcast 483 - Store 481(u64v) 484 - 486:162(i64vec2) Load 482(i64v) - 487:193(f64vec2) ConvertSToF 486 - Store 485(f64v) 487 - 488:167(i64vec2) Load 481(u64v) - 489:193(f64vec2) ConvertUToF 488 - Store 485(f64v) 489 - 491:162(i64vec2) Load 482(i64v) - 492: 134(i8vec2) SConvert 491 - Store 490(i8v) 492 - 493:167(i64vec2) Load 481(u64v) - 494: 131(i8vec2) UConvert 493 - 495: 134(i8vec2) Bitcast 494 - Store 490(i8v) 495 - 497:162(i64vec2) Load 482(i64v) - 498:139(i16vec2) SConvert 497 - Store 496(i16v) 498 - 499:167(i64vec2) Load 481(u64v) - 500:145(i16vec2) UConvert 499 - 501:139(i16vec2) Bitcast 500 - Store 496(i16v) 501 - 503:162(i64vec2) Load 482(i64v) - 504: 148(ivec2) SConvert 503 - Store 502(i32v) 504 - 505:167(i64vec2) Load 481(u64v) - 506: 154(ivec2) UConvert 505 - 507: 148(ivec2) Bitcast 506 - Store 502(i32v) 507 - 508:167(i64vec2) Load 481(u64v) - 509:162(i64vec2) Bitcast 508 - Store 482(i64v) 509 - 511:162(i64vec2) Load 482(i64v) - 512: 134(i8vec2) SConvert 511 - 513: 131(i8vec2) Bitcast 512 - Store 510(u8v) 513 - 514:167(i64vec2) Load 481(u64v) - 515: 131(i8vec2) UConvert 514 - Store 510(u8v) 515 - 517:162(i64vec2) Load 482(i64v) - 518:139(i16vec2) SConvert 517 - 519:145(i16vec2) Bitcast 518 - Store 516(u16v) 519 - 520:167(i64vec2) Load 481(u64v) - 521:145(i16vec2) UConvert 520 - Store 516(u16v) 521 - 523:162(i64vec2) Load 482(i64v) - 524: 148(ivec2) SConvert 523 - 525: 154(ivec2) Bitcast 524 - Store 522(u32v) 525 - 526:167(i64vec2) Load 481(u64v) - 527: 154(ivec2) UConvert 526 - Store 522(u32v) 527 - 528:162(i64vec2) Load 482(i64v) - 529:167(i64vec2) Bitcast 528 - Store 481(u64v) 529 - 530:167(i64vec2) Load 481(u64v) - 531: 38(int64_t) CompositeExtract 530 0 - 532: 38(int64_t) CompositeExtract 530 1 - 533:167(i64vec2) CompositeConstruct 531 532 - Store 481(u64v) 533 - 535:162(i64vec2) Load 482(i64v) - 536:181(f16vec2) ConvertSToF 535 - Store 534(f16v) 536 - 538:162(i64vec2) Load 482(i64v) - 539: 187(fvec2) ConvertSToF 538 - Store 537(f32v) 539 - 540:162(i64vec2) Load 482(i64v) - 541:193(f64vec2) ConvertSToF 540 - Store 485(f64v) 541 - 542:167(i64vec2) Load 481(u64v) - 543:181(f16vec2) ConvertUToF 542 - Store 534(f16v) 543 - 544:167(i64vec2) Load 481(u64v) - 545: 187(fvec2) ConvertUToF 544 - Store 537(f32v) 545 - 546:167(i64vec2) Load 481(u64v) - 547:193(f64vec2) ConvertUToF 546 - Store 485(f64v) 547 - 549: 250(bvec2) Load 548(bv) - 554:162(i64vec2) Select 549 553 552 - Store 482(i64v) 554 - 555: 250(bvec2) Load 548(bv) - 560:167(i64vec2) Select 555 559 558 - Store 481(u64v) 560 - 561:162(i64vec2) Load 482(i64v) - 562: 250(bvec2) INotEqual 561 558 - Store 548(bv) 562 - 563:167(i64vec2) Load 481(u64v) - 564: 250(bvec2) INotEqual 563 558 - Store 548(bv) 564 + 475(u64v): 168(ptr) Variable Function + 476(i64v): 163(ptr) Variable Function + 479(f64v): 194(ptr) Variable Function + 484(i8v): 135(ptr) Variable Function + 490(i16v): 140(ptr) Variable Function + 496(i32v): 149(ptr) Variable Function + 504(u8v): 132(ptr) Variable Function + 510(u16v): 221(ptr) Variable Function + 516(u32v): 157(ptr) Variable Function + 525(f16v): 182(ptr) Variable Function + 528(f32v): 188(ptr) Variable Function + 539(bv): 251(ptr) Variable Function + 477:162(i64vec2) Load 476(i64v) + 478:167(i64vec2) Bitcast 477 + Store 475(u64v) 478 + 480:162(i64vec2) Load 476(i64v) + 481:193(f64vec2) ConvertSToF 480 + Store 479(f64v) 481 + 482:167(i64vec2) Load 475(u64v) + 483:193(f64vec2) ConvertUToF 482 + Store 479(f64v) 483 + 485:162(i64vec2) Load 476(i64v) + 486: 134(i8vec2) SConvert 485 + Store 484(i8v) 486 + 487:167(i64vec2) Load 475(u64v) + 488: 131(i8vec2) UConvert 487 + 489: 134(i8vec2) Bitcast 488 + Store 484(i8v) 489 + 491:162(i64vec2) Load 476(i64v) + 492:139(i16vec2) SConvert 491 + Store 490(i16v) 492 + 493:167(i64vec2) Load 475(u64v) + 494:145(i16vec2) UConvert 493 + 495:139(i16vec2) Bitcast 494 + Store 490(i16v) 495 + 497:162(i64vec2) Load 476(i64v) + 498: 148(ivec2) SConvert 497 + Store 496(i32v) 498 + 499:167(i64vec2) Load 475(u64v) + 500: 154(ivec2) UConvert 499 + 501: 148(ivec2) Bitcast 500 + Store 496(i32v) 501 + 502:167(i64vec2) Load 475(u64v) + 503:162(i64vec2) Bitcast 502 + Store 476(i64v) 503 + 505:162(i64vec2) Load 476(i64v) + 506: 134(i8vec2) SConvert 505 + 507: 131(i8vec2) Bitcast 506 + Store 504(u8v) 507 + 508:167(i64vec2) Load 475(u64v) + 509: 131(i8vec2) UConvert 508 + Store 504(u8v) 509 + 511:162(i64vec2) Load 476(i64v) + 512:139(i16vec2) SConvert 511 + 513:145(i16vec2) Bitcast 512 + Store 510(u16v) 513 + 514:167(i64vec2) Load 475(u64v) + 515:145(i16vec2) UConvert 514 + Store 510(u16v) 515 + 517:162(i64vec2) Load 476(i64v) + 518: 148(ivec2) SConvert 517 + 519: 154(ivec2) Bitcast 518 + Store 516(u32v) 519 + 520:167(i64vec2) Load 475(u64v) + 521: 154(ivec2) UConvert 520 + Store 516(u32v) 521 + 522:162(i64vec2) Load 476(i64v) + 523:167(i64vec2) Bitcast 522 + Store 475(u64v) 523 + 524:167(i64vec2) Load 475(u64v) + Store 475(u64v) 524 + 526:162(i64vec2) Load 476(i64v) + 527:181(f16vec2) ConvertSToF 526 + Store 525(f16v) 527 + 529:162(i64vec2) Load 476(i64v) + 530: 187(fvec2) ConvertSToF 529 + Store 528(f32v) 530 + 531:162(i64vec2) Load 476(i64v) + 532:193(f64vec2) ConvertSToF 531 + Store 479(f64v) 532 + 533:167(i64vec2) Load 475(u64v) + 534:181(f16vec2) ConvertUToF 533 + Store 525(f16v) 534 + 535:167(i64vec2) Load 475(u64v) + 536: 187(fvec2) ConvertUToF 535 + Store 528(f32v) 536 + 537:167(i64vec2) Load 475(u64v) + 538:193(f64vec2) ConvertUToF 537 + Store 479(f64v) 538 + 540: 250(bvec2) Load 539(bv) + 545:162(i64vec2) Select 540 544 543 + Store 476(i64v) 545 + 546: 250(bvec2) Load 539(bv) + 551:167(i64vec2) Select 546 550 549 + Store 475(u64v) 551 + 552:162(i64vec2) Load 476(i64v) + 553: 250(bvec2) INotEqual 552 549 + Store 539(bv) 553 + 554:167(i64vec2) Load 475(u64v) + 555: 250(bvec2) INotEqual 554 549 + Store 539(bv) 555 Return FunctionEnd diff --git a/Test/baseResults/spv.float16.frag.out b/Test/baseResults/spv.float16.frag.out index 2cce8155..5c33e2ce 100644 --- a/Test/baseResults/spv.float16.frag.out +++ b/Test/baseResults/spv.float16.frag.out @@ -2,7 +2,7 @@ spv.float16.frag Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 542 +// Id's are bound by 538 Capability Shader Capability Float16 @@ -17,7 +17,7 @@ Validation failed Extension "SPV_KHR_16bit_storage" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 465 + EntryPoint Fragment 4 "main" 461 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_AMD_gpu_shader_half_float" @@ -43,124 +43,124 @@ Validation failed Name 156 "bv" Name 167 "fv" Name 175 "dv" - Name 186 "iv" - Name 193 "uv" - Name 201 "i64v" - Name 209 "u64v" - Name 216 "f16v2" - Name 217 "f16v1" - Name 249 "f16v2" - Name 250 "f16v1" - Name 266 "f16v2" - Name 267 "f16v1" - Name 288 "f16" - Name 292 "f16v3" - Name 332 "bv" - Name 353 "b" - Name 363 "iv" - Name 364 "ResType" - Name 372 "u" - Name 373 "f16v" - Name 378 "f16" - Name 379 "f16v1" - Name 383 "f16v2" - Name 389 "f16v3" - Name 408 "f16m3" - Name 409 "f16m1" - Name 411 "f16m2" - Name 420 "f16v1" - Name 422 "f16v2" - Name 427 "f16m4" - Name 430 "f16" - Name 433 "f16m5" - Name 438 "f16m6" - Name 439 "f16m7" - Name 442 "bv" - Name 443 "f16v1" - Name 445 "f16v2" - Name 463 "f16v" - Name 465 "if16v" - Name 522 "S" - MemberName 522(S) 0 "x" - MemberName 522(S) 1 "y" - MemberName 522(S) 2 "z" - Name 524 "B1" - MemberName 524(B1) 0 "a" - MemberName 524(B1) 1 "b" - MemberName 524(B1) 2 "c" - MemberName 524(B1) 3 "d" - MemberName 524(B1) 4 "e" - MemberName 524(B1) 5 "f" - MemberName 524(B1) 6 "g" - MemberName 524(B1) 7 "h" - Name 526 "" - Name 529 "S" - MemberName 529(S) 0 "x" - MemberName 529(S) 1 "y" - MemberName 529(S) 2 "z" - Name 531 "B2" - MemberName 531(B2) 0 "o" - MemberName 531(B2) 1 "p" - MemberName 531(B2) 2 "q" - MemberName 531(B2) 3 "r" - MemberName 531(B2) 4 "s" - MemberName 531(B2) 5 "t" - MemberName 531(B2) 6 "u" - MemberName 531(B2) 7 "v" - Name 533 "" - Name 534 "sf16" - Name 535 "sf" - Name 536 "sd" - Name 537 "f16_to_f" - Name 539 "f16_to_d" - Name 540 "f_to_f16" - Name 541 "d_to_f16" - Decorate 465(if16v) Location 0 - Decorate 520 ArrayStride 16 - Decorate 521 ArrayStride 32 - MemberDecorate 522(S) 0 Offset 0 - MemberDecorate 522(S) 1 Offset 4 - MemberDecorate 522(S) 2 Offset 8 - Decorate 523 ArrayStride 16 - MemberDecorate 524(B1) 0 Offset 0 - MemberDecorate 524(B1) 1 Offset 4 - MemberDecorate 524(B1) 2 Offset 8 - MemberDecorate 524(B1) 3 Offset 16 - MemberDecorate 524(B1) 4 ColMajor - MemberDecorate 524(B1) 4 Offset 48 - MemberDecorate 524(B1) 4 MatrixStride 16 - MemberDecorate 524(B1) 5 ColMajor - MemberDecorate 524(B1) 5 Offset 80 - MemberDecorate 524(B1) 5 MatrixStride 16 - MemberDecorate 524(B1) 6 Offset 144 - MemberDecorate 524(B1) 7 Offset 160 - Decorate 524(B1) Block - Decorate 526 DescriptorSet 0 - Decorate 526 Binding 0 - Decorate 527 ArrayStride 2 - Decorate 528 ArrayStride 12 - MemberDecorate 529(S) 0 Offset 0 - MemberDecorate 529(S) 1 Offset 4 - MemberDecorate 529(S) 2 Offset 8 - Decorate 530 ArrayStride 16 - MemberDecorate 531(B2) 0 Offset 0 - MemberDecorate 531(B2) 1 Offset 4 - MemberDecorate 531(B2) 2 Offset 8 - MemberDecorate 531(B2) 3 Offset 14 - MemberDecorate 531(B2) 4 RowMajor - MemberDecorate 531(B2) 4 Offset 20 - MemberDecorate 531(B2) 4 MatrixStride 4 - MemberDecorate 531(B2) 5 RowMajor - MemberDecorate 531(B2) 5 Offset 32 - MemberDecorate 531(B2) 5 MatrixStride 4 - MemberDecorate 531(B2) 6 Offset 56 - MemberDecorate 531(B2) 7 Offset 72 - Decorate 531(B2) BufferBlock - Decorate 533 DescriptorSet 0 - Decorate 533 Binding 0 - Decorate 534(sf16) SpecId 100 - Decorate 535(sf) SpecId 101 - Decorate 536(sd) SpecId 102 + Name 182 "iv" + Name 189 "uv" + Name 197 "i64v" + Name 205 "u64v" + Name 212 "f16v2" + Name 213 "f16v1" + Name 245 "f16v2" + Name 246 "f16v1" + Name 262 "f16v2" + Name 263 "f16v1" + Name 284 "f16" + Name 288 "f16v3" + Name 328 "bv" + Name 349 "b" + Name 359 "iv" + Name 360 "ResType" + Name 368 "u" + Name 369 "f16v" + Name 374 "f16" + Name 375 "f16v1" + Name 379 "f16v2" + Name 385 "f16v3" + Name 404 "f16m3" + Name 405 "f16m1" + Name 407 "f16m2" + Name 416 "f16v1" + Name 418 "f16v2" + Name 423 "f16m4" + Name 426 "f16" + Name 429 "f16m5" + Name 434 "f16m6" + Name 435 "f16m7" + Name 438 "bv" + Name 439 "f16v1" + Name 441 "f16v2" + Name 459 "f16v" + Name 461 "if16v" + Name 518 "S" + MemberName 518(S) 0 "x" + MemberName 518(S) 1 "y" + MemberName 518(S) 2 "z" + Name 520 "B1" + MemberName 520(B1) 0 "a" + MemberName 520(B1) 1 "b" + MemberName 520(B1) 2 "c" + MemberName 520(B1) 3 "d" + MemberName 520(B1) 4 "e" + MemberName 520(B1) 5 "f" + MemberName 520(B1) 6 "g" + MemberName 520(B1) 7 "h" + Name 522 "" + Name 525 "S" + MemberName 525(S) 0 "x" + MemberName 525(S) 1 "y" + MemberName 525(S) 2 "z" + Name 527 "B2" + MemberName 527(B2) 0 "o" + MemberName 527(B2) 1 "p" + MemberName 527(B2) 2 "q" + MemberName 527(B2) 3 "r" + MemberName 527(B2) 4 "s" + MemberName 527(B2) 5 "t" + MemberName 527(B2) 6 "u" + MemberName 527(B2) 7 "v" + Name 529 "" + Name 530 "sf16" + Name 531 "sf" + Name 532 "sd" + Name 533 "f16_to_f" + Name 535 "f16_to_d" + Name 536 "f_to_f16" + Name 537 "d_to_f16" + Decorate 461(if16v) Location 0 + Decorate 516 ArrayStride 16 + Decorate 517 ArrayStride 32 + MemberDecorate 518(S) 0 Offset 0 + MemberDecorate 518(S) 1 Offset 4 + MemberDecorate 518(S) 2 Offset 8 + Decorate 519 ArrayStride 16 + MemberDecorate 520(B1) 0 Offset 0 + MemberDecorate 520(B1) 1 Offset 4 + MemberDecorate 520(B1) 2 Offset 8 + MemberDecorate 520(B1) 3 Offset 16 + MemberDecorate 520(B1) 4 ColMajor + MemberDecorate 520(B1) 4 Offset 48 + MemberDecorate 520(B1) 4 MatrixStride 16 + MemberDecorate 520(B1) 5 ColMajor + MemberDecorate 520(B1) 5 Offset 80 + MemberDecorate 520(B1) 5 MatrixStride 16 + MemberDecorate 520(B1) 6 Offset 144 + MemberDecorate 520(B1) 7 Offset 160 + Decorate 520(B1) Block + Decorate 522 DescriptorSet 0 + Decorate 522 Binding 0 + Decorate 523 ArrayStride 2 + Decorate 524 ArrayStride 12 + MemberDecorate 525(S) 0 Offset 0 + MemberDecorate 525(S) 1 Offset 4 + MemberDecorate 525(S) 2 Offset 8 + Decorate 526 ArrayStride 16 + MemberDecorate 527(B2) 0 Offset 0 + MemberDecorate 527(B2) 1 Offset 4 + MemberDecorate 527(B2) 2 Offset 8 + MemberDecorate 527(B2) 3 Offset 14 + MemberDecorate 527(B2) 4 RowMajor + MemberDecorate 527(B2) 4 Offset 20 + MemberDecorate 527(B2) 4 MatrixStride 4 + MemberDecorate 527(B2) 5 RowMajor + MemberDecorate 527(B2) 5 Offset 32 + MemberDecorate 527(B2) 5 MatrixStride 4 + MemberDecorate 527(B2) 6 Offset 56 + MemberDecorate 527(B2) 7 Offset 72 + Decorate 527(B2) BufferBlock + Decorate 529 DescriptorSet 0 + Decorate 529 Binding 0 + Decorate 530(sf16) SpecId 100 + Decorate 531(sf) SpecId 101 + Decorate 532(sd) SpecId 102 2: TypeVoid 3: TypeFunction 2 28: TypeFloat 16 @@ -192,58 +192,58 @@ Validation failed 172: TypeFloat 64 173: TypeVector 172(float64_t) 3 174: TypePointer Function 173(f64vec3) - 183: TypeInt 32 1 - 184: TypeVector 183(int) 3 - 185: TypePointer Function 184(ivec3) - 191: TypeVector 33(int) 3 - 192: TypePointer Function 191(ivec3) - 198: TypeInt 64 1 - 199: TypeVector 198(int64_t) 3 - 200: TypePointer Function 199(i64vec3) - 206: TypeInt 64 0 - 207: TypeVector 206(int64_t) 3 - 208: TypePointer Function 207(i64vec3) - 214: TypeVector 28(float16_t) 4 - 215: TypePointer Function 214(f16vec4) - 364(ResType): TypeStruct 151(f16vec3) 184(ivec3) - 371: TypePointer Function 33(int) - 406: TypeMatrix 151(f16vec3) 2 - 407: TypePointer Function 406 - 425: TypeMatrix 29(f16vec2) 3 - 426: TypePointer Function 425 - 431: TypeMatrix 151(f16vec3) 3 - 432: TypePointer Function 431 - 436: TypeMatrix 214(f16vec4) 4 - 437: TypePointer Function 436 - 464: TypePointer Input 151(f16vec3) - 465(if16v): 464(ptr) Variable Input - 466: TypePointer Input 28(float16_t) - 509: 183(int) Constant 1 - 516:28(float16_t) Constant 14336 - 517: 29(f16vec2) ConstantComposite 516 516 - 519: 33(int) Constant 2 - 520: TypeArray 28(float16_t) 519 - 521: TypeArray 406 519 - 522(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) - 523: TypeArray 522(S) 519 - 524(B1): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 520 406 521 522(S) 523 - 525: TypePointer Uniform 524(B1) - 526: 525(ptr) Variable Uniform - 527: TypeArray 28(float16_t) 519 - 528: TypeArray 406 519 - 529(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) - 530: TypeArray 529(S) 519 - 531(B2): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 527 406 528 529(S) 530 - 532: TypePointer Uniform 531(B2) - 533: 532(ptr) Variable Uniform - 534(sf16):28(float16_t) SpecConstant 12288 - 535(sf): 164(float) SpecConstant 1048576000 - 536(sd):172(float64_t) SpecConstant 0 1071644672 - 537(f16_to_f): 164(float) SpecConstantOp 115 534(sf16) - 538: 164(float) SpecConstantOp 115 534(sf16) - 539(f16_to_d):172(float64_t) SpecConstantOp 115 538 - 540(f_to_f16):28(float16_t) SpecConstantOp 115 535(sf) - 541(d_to_f16):28(float16_t) SpecConstantOp 115 536(sd) + 179: TypeInt 32 1 + 180: TypeVector 179(int) 3 + 181: TypePointer Function 180(ivec3) + 187: TypeVector 33(int) 3 + 188: TypePointer Function 187(ivec3) + 194: TypeInt 64 1 + 195: TypeVector 194(int64_t) 3 + 196: TypePointer Function 195(i64vec3) + 202: TypeInt 64 0 + 203: TypeVector 202(int64_t) 3 + 204: TypePointer Function 203(i64vec3) + 210: TypeVector 28(float16_t) 4 + 211: TypePointer Function 210(f16vec4) + 360(ResType): TypeStruct 151(f16vec3) 180(ivec3) + 367: TypePointer Function 33(int) + 402: TypeMatrix 151(f16vec3) 2 + 403: TypePointer Function 402 + 421: TypeMatrix 29(f16vec2) 3 + 422: TypePointer Function 421 + 427: TypeMatrix 151(f16vec3) 3 + 428: TypePointer Function 427 + 432: TypeMatrix 210(f16vec4) 4 + 433: TypePointer Function 432 + 460: TypePointer Input 151(f16vec3) + 461(if16v): 460(ptr) Variable Input + 462: TypePointer Input 28(float16_t) + 505: 179(int) Constant 1 + 512:28(float16_t) Constant 14336 + 513: 29(f16vec2) ConstantComposite 512 512 + 515: 33(int) Constant 2 + 516: TypeArray 28(float16_t) 515 + 517: TypeArray 402 515 + 518(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) + 519: TypeArray 518(S) 515 + 520(B1): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 516 402 517 518(S) 519 + 521: TypePointer Uniform 520(B1) + 522: 521(ptr) Variable Uniform + 523: TypeArray 28(float16_t) 515 + 524: TypeArray 402 515 + 525(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) + 526: TypeArray 525(S) 515 + 527(B2): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 523 402 524 525(S) 526 + 528: TypePointer Uniform 527(B2) + 529: 528(ptr) Variable Uniform + 530(sf16):28(float16_t) SpecConstant 12288 + 531(sf): 164(float) SpecConstant 1048576000 + 532(sd):172(float64_t) SpecConstant 0 1071644672 + 533(f16_to_f): 164(float) SpecConstantOp 115 530(sf16) + 534: 164(float) SpecConstantOp 115 530(sf16) + 535(f16_to_d):172(float64_t) SpecConstantOp 115 534 + 536(f_to_f16):28(float16_t) SpecConstantOp 115 531(sf) + 537(d_to_f16):28(float16_t) SpecConstantOp 115 532(sd) 4(main): 2 Function None 3 5: Label Return @@ -396,10 +396,10 @@ Validation failed 156(bv): 155(ptr) Variable Function 167(fv): 166(ptr) Variable Function 175(dv): 174(ptr) Variable Function - 186(iv): 185(ptr) Variable Function - 193(uv): 192(ptr) Variable Function - 201(i64v): 200(ptr) Variable Function - 209(u64v): 208(ptr) Variable Function + 182(iv): 181(ptr) Variable Function + 189(uv): 188(ptr) Variable Function + 197(i64v): 196(ptr) Variable Function + 205(u64v): 204(ptr) Variable Function 157: 154(bvec3) Load 156(bv) 161:151(f16vec3) Select 157 160 159 Store 153(f16v) 161 @@ -416,442 +416,438 @@ Validation failed 177:151(f16vec3) FConvert 176 Store 153(f16v) 177 178:173(f64vec3) Load 175(dv) - 179:172(float64_t) CompositeExtract 178 0 - 180:172(float64_t) CompositeExtract 178 1 - 181:172(float64_t) CompositeExtract 178 2 - 182:173(f64vec3) CompositeConstruct 179 180 181 - Store 175(dv) 182 - 187: 184(ivec3) Load 186(iv) - 188:151(f16vec3) ConvertSToF 187 - Store 153(f16v) 188 - 189:151(f16vec3) Load 153(f16v) - 190: 184(ivec3) ConvertFToS 189 - Store 186(iv) 190 - 194: 191(ivec3) Load 193(uv) - 195:151(f16vec3) ConvertUToF 194 - Store 153(f16v) 195 - 196:151(f16vec3) Load 153(f16v) - 197: 191(ivec3) ConvertFToU 196 - Store 193(uv) 197 - 202:199(i64vec3) Load 201(i64v) - 203:151(f16vec3) ConvertSToF 202 - Store 153(f16v) 203 - 204:151(f16vec3) Load 153(f16v) - 205:199(i64vec3) ConvertFToS 204 - Store 201(i64v) 205 - 210:207(i64vec3) Load 209(u64v) - 211:151(f16vec3) ConvertUToF 210 - Store 153(f16v) 211 - 212:151(f16vec3) Load 153(f16v) - 213:207(i64vec3) ConvertFToU 212 - Store 209(u64v) 213 + Store 175(dv) 178 + 183: 180(ivec3) Load 182(iv) + 184:151(f16vec3) ConvertSToF 183 + Store 153(f16v) 184 + 185:151(f16vec3) Load 153(f16v) + 186: 180(ivec3) ConvertFToS 185 + Store 182(iv) 186 + 190: 187(ivec3) Load 189(uv) + 191:151(f16vec3) ConvertUToF 190 + Store 153(f16v) 191 + 192:151(f16vec3) Load 153(f16v) + 193: 187(ivec3) ConvertFToU 192 + Store 189(uv) 193 + 198:195(i64vec3) Load 197(i64v) + 199:151(f16vec3) ConvertSToF 198 + Store 153(f16v) 199 + 200:151(f16vec3) Load 153(f16v) + 201:195(i64vec3) ConvertFToS 200 + Store 197(i64v) 201 + 206:203(i64vec3) Load 205(u64v) + 207:151(f16vec3) ConvertUToF 206 + Store 153(f16v) 207 + 208:151(f16vec3) Load 153(f16v) + 209:203(i64vec3) ConvertFToU 208 + Store 205(u64v) 209 Return FunctionEnd 12(builtinAngleTrigFuncs(): 2 Function None 3 13: Label - 216(f16v2): 215(ptr) Variable Function - 217(f16v1): 215(ptr) Variable Function - 218:214(f16vec4) Load 217(f16v1) - 219:214(f16vec4) ExtInst 1(GLSL.std.450) 11(Radians) 218 - Store 216(f16v2) 219 - 220:214(f16vec4) Load 217(f16v1) - 221:214(f16vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 220 - Store 216(f16v2) 221 - 222:214(f16vec4) Load 217(f16v1) - 223:214(f16vec4) ExtInst 1(GLSL.std.450) 13(Sin) 222 - Store 216(f16v2) 223 - 224:214(f16vec4) Load 217(f16v1) - 225:214(f16vec4) ExtInst 1(GLSL.std.450) 14(Cos) 224 - Store 216(f16v2) 225 - 226:214(f16vec4) Load 217(f16v1) - 227:214(f16vec4) ExtInst 1(GLSL.std.450) 15(Tan) 226 - Store 216(f16v2) 227 - 228:214(f16vec4) Load 217(f16v1) - 229:214(f16vec4) ExtInst 1(GLSL.std.450) 16(Asin) 228 - Store 216(f16v2) 229 - 230:214(f16vec4) Load 217(f16v1) - 231:214(f16vec4) ExtInst 1(GLSL.std.450) 17(Acos) 230 - Store 216(f16v2) 231 - 232:214(f16vec4) Load 217(f16v1) - 233:214(f16vec4) Load 216(f16v2) - 234:214(f16vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 232 233 - Store 216(f16v2) 234 - 235:214(f16vec4) Load 217(f16v1) - 236:214(f16vec4) ExtInst 1(GLSL.std.450) 18(Atan) 235 - Store 216(f16v2) 236 - 237:214(f16vec4) Load 217(f16v1) - 238:214(f16vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 237 - Store 216(f16v2) 238 - 239:214(f16vec4) Load 217(f16v1) - 240:214(f16vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 239 - Store 216(f16v2) 240 - 241:214(f16vec4) Load 217(f16v1) - 242:214(f16vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 241 - Store 216(f16v2) 242 - 243:214(f16vec4) Load 217(f16v1) - 244:214(f16vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 243 - Store 216(f16v2) 244 - 245:214(f16vec4) Load 217(f16v1) - 246:214(f16vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 245 - Store 216(f16v2) 246 - 247:214(f16vec4) Load 217(f16v1) - 248:214(f16vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 247 - Store 216(f16v2) 248 + 212(f16v2): 211(ptr) Variable Function + 213(f16v1): 211(ptr) Variable Function + 214:210(f16vec4) Load 213(f16v1) + 215:210(f16vec4) ExtInst 1(GLSL.std.450) 11(Radians) 214 + Store 212(f16v2) 215 + 216:210(f16vec4) Load 213(f16v1) + 217:210(f16vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 216 + Store 212(f16v2) 217 + 218:210(f16vec4) Load 213(f16v1) + 219:210(f16vec4) ExtInst 1(GLSL.std.450) 13(Sin) 218 + Store 212(f16v2) 219 + 220:210(f16vec4) Load 213(f16v1) + 221:210(f16vec4) ExtInst 1(GLSL.std.450) 14(Cos) 220 + Store 212(f16v2) 221 + 222:210(f16vec4) Load 213(f16v1) + 223:210(f16vec4) ExtInst 1(GLSL.std.450) 15(Tan) 222 + Store 212(f16v2) 223 + 224:210(f16vec4) Load 213(f16v1) + 225:210(f16vec4) ExtInst 1(GLSL.std.450) 16(Asin) 224 + Store 212(f16v2) 225 + 226:210(f16vec4) Load 213(f16v1) + 227:210(f16vec4) ExtInst 1(GLSL.std.450) 17(Acos) 226 + Store 212(f16v2) 227 + 228:210(f16vec4) Load 213(f16v1) + 229:210(f16vec4) Load 212(f16v2) + 230:210(f16vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 228 229 + Store 212(f16v2) 230 + 231:210(f16vec4) Load 213(f16v1) + 232:210(f16vec4) ExtInst 1(GLSL.std.450) 18(Atan) 231 + Store 212(f16v2) 232 + 233:210(f16vec4) Load 213(f16v1) + 234:210(f16vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 233 + Store 212(f16v2) 234 + 235:210(f16vec4) Load 213(f16v1) + 236:210(f16vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 235 + Store 212(f16v2) 236 + 237:210(f16vec4) Load 213(f16v1) + 238:210(f16vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 237 + Store 212(f16v2) 238 + 239:210(f16vec4) Load 213(f16v1) + 240:210(f16vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 239 + Store 212(f16v2) 240 + 241:210(f16vec4) Load 213(f16v1) + 242:210(f16vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 241 + Store 212(f16v2) 242 + 243:210(f16vec4) Load 213(f16v1) + 244:210(f16vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 243 + Store 212(f16v2) 244 Return FunctionEnd 14(builtinExpFuncs(): 2 Function None 3 15: Label - 249(f16v2): 30(ptr) Variable Function - 250(f16v1): 30(ptr) Variable Function - 251: 29(f16vec2) Load 250(f16v1) - 252: 29(f16vec2) Load 249(f16v2) - 253: 29(f16vec2) ExtInst 1(GLSL.std.450) 26(Pow) 251 252 - Store 249(f16v2) 253 - 254: 29(f16vec2) Load 250(f16v1) - 255: 29(f16vec2) ExtInst 1(GLSL.std.450) 27(Exp) 254 - Store 249(f16v2) 255 - 256: 29(f16vec2) Load 250(f16v1) - 257: 29(f16vec2) ExtInst 1(GLSL.std.450) 28(Log) 256 - Store 249(f16v2) 257 - 258: 29(f16vec2) Load 250(f16v1) - 259: 29(f16vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 258 - Store 249(f16v2) 259 - 260: 29(f16vec2) Load 250(f16v1) - 261: 29(f16vec2) ExtInst 1(GLSL.std.450) 30(Log2) 260 - Store 249(f16v2) 261 - 262: 29(f16vec2) Load 250(f16v1) - 263: 29(f16vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 262 - Store 249(f16v2) 263 - 264: 29(f16vec2) Load 250(f16v1) - 265: 29(f16vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 264 - Store 249(f16v2) 265 + 245(f16v2): 30(ptr) Variable Function + 246(f16v1): 30(ptr) Variable Function + 247: 29(f16vec2) Load 246(f16v1) + 248: 29(f16vec2) Load 245(f16v2) + 249: 29(f16vec2) ExtInst 1(GLSL.std.450) 26(Pow) 247 248 + Store 245(f16v2) 249 + 250: 29(f16vec2) Load 246(f16v1) + 251: 29(f16vec2) ExtInst 1(GLSL.std.450) 27(Exp) 250 + Store 245(f16v2) 251 + 252: 29(f16vec2) Load 246(f16v1) + 253: 29(f16vec2) ExtInst 1(GLSL.std.450) 28(Log) 252 + Store 245(f16v2) 253 + 254: 29(f16vec2) Load 246(f16v1) + 255: 29(f16vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 254 + Store 245(f16v2) 255 + 256: 29(f16vec2) Load 246(f16v1) + 257: 29(f16vec2) ExtInst 1(GLSL.std.450) 30(Log2) 256 + Store 245(f16v2) 257 + 258: 29(f16vec2) Load 246(f16v1) + 259: 29(f16vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 258 + Store 245(f16v2) 259 + 260: 29(f16vec2) Load 246(f16v1) + 261: 29(f16vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 260 + Store 245(f16v2) 261 Return FunctionEnd 16(builtinCommonFuncs(): 2 Function None 3 17: Label - 266(f16v2): 152(ptr) Variable Function - 267(f16v1): 152(ptr) Variable Function - 288(f16): 35(ptr) Variable Function - 292(f16v3): 152(ptr) Variable Function - 332(bv): 155(ptr) Variable Function - 353(b): 110(ptr) Variable Function - 363(iv): 185(ptr) Variable Function - 268:151(f16vec3) Load 267(f16v1) - 269:151(f16vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 268 - Store 266(f16v2) 269 - 270:151(f16vec3) Load 267(f16v1) - 271:151(f16vec3) ExtInst 1(GLSL.std.450) 6(FSign) 270 - Store 266(f16v2) 271 - 272:151(f16vec3) Load 267(f16v1) - 273:151(f16vec3) ExtInst 1(GLSL.std.450) 8(Floor) 272 - Store 266(f16v2) 273 - 274:151(f16vec3) Load 267(f16v1) - 275:151(f16vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 274 - Store 266(f16v2) 275 - 276:151(f16vec3) Load 267(f16v1) - 277:151(f16vec3) ExtInst 1(GLSL.std.450) 1(Round) 276 - Store 266(f16v2) 277 - 278:151(f16vec3) Load 267(f16v1) - 279:151(f16vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 278 - Store 266(f16v2) 279 - 280:151(f16vec3) Load 267(f16v1) - 281:151(f16vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 280 - Store 266(f16v2) 281 - 282:151(f16vec3) Load 267(f16v1) - 283:151(f16vec3) ExtInst 1(GLSL.std.450) 10(Fract) 282 - Store 266(f16v2) 283 - 284:151(f16vec3) Load 267(f16v1) - 285:151(f16vec3) Load 266(f16v2) - 286:151(f16vec3) FMod 284 285 - Store 266(f16v2) 286 - 287:151(f16vec3) Load 267(f16v1) - 289:28(float16_t) Load 288(f16) - 290:151(f16vec3) CompositeConstruct 289 289 289 - 291:151(f16vec3) FMod 287 290 - Store 266(f16v2) 291 - 293:151(f16vec3) Load 267(f16v1) - 294:151(f16vec3) ExtInst 1(GLSL.std.450) 35(Modf) 293 266(f16v2) - Store 292(f16v3) 294 - 295:151(f16vec3) Load 267(f16v1) - 296:151(f16vec3) Load 266(f16v2) - 297:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 295 296 - Store 292(f16v3) 297 - 298:151(f16vec3) Load 267(f16v1) - 299:28(float16_t) Load 288(f16) - 300:151(f16vec3) CompositeConstruct 299 299 299 - 301:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 298 300 - Store 292(f16v3) 301 - 302:151(f16vec3) Load 267(f16v1) - 303:151(f16vec3) Load 266(f16v2) - 304:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 302 303 - Store 292(f16v3) 304 - 305:151(f16vec3) Load 267(f16v1) - 306:28(float16_t) Load 288(f16) - 307:151(f16vec3) CompositeConstruct 306 306 306 - 308:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 305 307 - Store 292(f16v3) 308 - 309:151(f16vec3) Load 267(f16v1) - 310:28(float16_t) Load 288(f16) - 311: 35(ptr) AccessChain 266(f16v2) 34 - 312:28(float16_t) Load 311 - 313:151(f16vec3) CompositeConstruct 310 310 310 - 314:151(f16vec3) CompositeConstruct 312 312 312 - 315:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 309 313 314 - Store 292(f16v3) 315 - 316:151(f16vec3) Load 267(f16v1) - 317:151(f16vec3) Load 266(f16v2) - 318:28(float16_t) Load 288(f16) - 319:151(f16vec3) CompositeConstruct 318 318 318 - 320:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 316 317 319 - Store 292(f16v3) 320 - 321:151(f16vec3) Load 267(f16v1) - 322:151(f16vec3) Load 266(f16v2) - 323:28(float16_t) Load 288(f16) - 324:151(f16vec3) CompositeConstruct 323 323 323 - 325:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 321 322 324 - Store 292(f16v3) 325 - 326:151(f16vec3) Load 267(f16v1) - 327:151(f16vec3) Load 266(f16v2) - 328:151(f16vec3) Load 292(f16v3) - 329:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 326 327 328 - Store 292(f16v3) 329 - 330:151(f16vec3) Load 267(f16v1) - 331:151(f16vec3) Load 266(f16v2) - 333: 154(bvec3) Load 332(bv) - 334:151(f16vec3) Select 333 331 330 - Store 292(f16v3) 334 - 335:151(f16vec3) Load 267(f16v1) - 336:151(f16vec3) Load 266(f16v2) - 337:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 335 336 - Store 292(f16v3) 337 - 338:28(float16_t) Load 288(f16) - 339:151(f16vec3) Load 292(f16v3) - 340:151(f16vec3) CompositeConstruct 338 338 338 - 341:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 340 339 - Store 292(f16v3) 341 - 342:151(f16vec3) Load 267(f16v1) - 343:151(f16vec3) Load 266(f16v2) - 344:151(f16vec3) Load 292(f16v3) - 345:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 342 343 344 - Store 292(f16v3) 345 - 346:28(float16_t) Load 288(f16) - 347: 35(ptr) AccessChain 267(f16v1) 34 - 348:28(float16_t) Load 347 - 349:151(f16vec3) Load 266(f16v2) - 350:151(f16vec3) CompositeConstruct 346 346 346 - 351:151(f16vec3) CompositeConstruct 348 348 348 - 352:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 350 351 349 - Store 292(f16v3) 352 - 354:28(float16_t) Load 288(f16) - 355: 109(bool) IsNan 354 - Store 353(b) 355 - 356:151(f16vec3) Load 267(f16v1) - 357: 154(bvec3) IsInf 356 - Store 332(bv) 357 - 358:151(f16vec3) Load 267(f16v1) - 359:151(f16vec3) Load 266(f16v2) - 360:151(f16vec3) Load 292(f16v3) - 361:151(f16vec3) ExtInst 1(GLSL.std.450) 50(Fma) 358 359 360 - Store 292(f16v3) 361 - 362:151(f16vec3) Load 267(f16v1) - 365:364(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 362 - 366: 184(ivec3) CompositeExtract 365 1 - Store 363(iv) 366 - 367:151(f16vec3) CompositeExtract 365 0 - Store 266(f16v2) 367 - 368:151(f16vec3) Load 267(f16v1) - 369: 184(ivec3) Load 363(iv) - 370:151(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 368 369 - Store 266(f16v2) 370 + 262(f16v2): 152(ptr) Variable Function + 263(f16v1): 152(ptr) Variable Function + 284(f16): 35(ptr) Variable Function + 288(f16v3): 152(ptr) Variable Function + 328(bv): 155(ptr) Variable Function + 349(b): 110(ptr) Variable Function + 359(iv): 181(ptr) Variable Function + 264:151(f16vec3) Load 263(f16v1) + 265:151(f16vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 264 + Store 262(f16v2) 265 + 266:151(f16vec3) Load 263(f16v1) + 267:151(f16vec3) ExtInst 1(GLSL.std.450) 6(FSign) 266 + Store 262(f16v2) 267 + 268:151(f16vec3) Load 263(f16v1) + 269:151(f16vec3) ExtInst 1(GLSL.std.450) 8(Floor) 268 + Store 262(f16v2) 269 + 270:151(f16vec3) Load 263(f16v1) + 271:151(f16vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 270 + Store 262(f16v2) 271 + 272:151(f16vec3) Load 263(f16v1) + 273:151(f16vec3) ExtInst 1(GLSL.std.450) 1(Round) 272 + Store 262(f16v2) 273 + 274:151(f16vec3) Load 263(f16v1) + 275:151(f16vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 274 + Store 262(f16v2) 275 + 276:151(f16vec3) Load 263(f16v1) + 277:151(f16vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 276 + Store 262(f16v2) 277 + 278:151(f16vec3) Load 263(f16v1) + 279:151(f16vec3) ExtInst 1(GLSL.std.450) 10(Fract) 278 + Store 262(f16v2) 279 + 280:151(f16vec3) Load 263(f16v1) + 281:151(f16vec3) Load 262(f16v2) + 282:151(f16vec3) FMod 280 281 + Store 262(f16v2) 282 + 283:151(f16vec3) Load 263(f16v1) + 285:28(float16_t) Load 284(f16) + 286:151(f16vec3) CompositeConstruct 285 285 285 + 287:151(f16vec3) FMod 283 286 + Store 262(f16v2) 287 + 289:151(f16vec3) Load 263(f16v1) + 290:151(f16vec3) ExtInst 1(GLSL.std.450) 35(Modf) 289 262(f16v2) + Store 288(f16v3) 290 + 291:151(f16vec3) Load 263(f16v1) + 292:151(f16vec3) Load 262(f16v2) + 293:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 291 292 + Store 288(f16v3) 293 + 294:151(f16vec3) Load 263(f16v1) + 295:28(float16_t) Load 284(f16) + 296:151(f16vec3) CompositeConstruct 295 295 295 + 297:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 294 296 + Store 288(f16v3) 297 + 298:151(f16vec3) Load 263(f16v1) + 299:151(f16vec3) Load 262(f16v2) + 300:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 298 299 + Store 288(f16v3) 300 + 301:151(f16vec3) Load 263(f16v1) + 302:28(float16_t) Load 284(f16) + 303:151(f16vec3) CompositeConstruct 302 302 302 + 304:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 301 303 + Store 288(f16v3) 304 + 305:151(f16vec3) Load 263(f16v1) + 306:28(float16_t) Load 284(f16) + 307: 35(ptr) AccessChain 262(f16v2) 34 + 308:28(float16_t) Load 307 + 309:151(f16vec3) CompositeConstruct 306 306 306 + 310:151(f16vec3) CompositeConstruct 308 308 308 + 311:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 305 309 310 + Store 288(f16v3) 311 + 312:151(f16vec3) Load 263(f16v1) + 313:151(f16vec3) Load 262(f16v2) + 314:28(float16_t) Load 284(f16) + 315:151(f16vec3) CompositeConstruct 314 314 314 + 316:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 312 313 315 + Store 288(f16v3) 316 + 317:151(f16vec3) Load 263(f16v1) + 318:151(f16vec3) Load 262(f16v2) + 319:28(float16_t) Load 284(f16) + 320:151(f16vec3) CompositeConstruct 319 319 319 + 321:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 317 318 320 + Store 288(f16v3) 321 + 322:151(f16vec3) Load 263(f16v1) + 323:151(f16vec3) Load 262(f16v2) + 324:151(f16vec3) Load 288(f16v3) + 325:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 322 323 324 + Store 288(f16v3) 325 + 326:151(f16vec3) Load 263(f16v1) + 327:151(f16vec3) Load 262(f16v2) + 329: 154(bvec3) Load 328(bv) + 330:151(f16vec3) Select 329 327 326 + Store 288(f16v3) 330 + 331:151(f16vec3) Load 263(f16v1) + 332:151(f16vec3) Load 262(f16v2) + 333:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 331 332 + Store 288(f16v3) 333 + 334:28(float16_t) Load 284(f16) + 335:151(f16vec3) Load 288(f16v3) + 336:151(f16vec3) CompositeConstruct 334 334 334 + 337:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 336 335 + Store 288(f16v3) 337 + 338:151(f16vec3) Load 263(f16v1) + 339:151(f16vec3) Load 262(f16v2) + 340:151(f16vec3) Load 288(f16v3) + 341:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 338 339 340 + Store 288(f16v3) 341 + 342:28(float16_t) Load 284(f16) + 343: 35(ptr) AccessChain 263(f16v1) 34 + 344:28(float16_t) Load 343 + 345:151(f16vec3) Load 262(f16v2) + 346:151(f16vec3) CompositeConstruct 342 342 342 + 347:151(f16vec3) CompositeConstruct 344 344 344 + 348:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 346 347 345 + Store 288(f16v3) 348 + 350:28(float16_t) Load 284(f16) + 351: 109(bool) IsNan 350 + Store 349(b) 351 + 352:151(f16vec3) Load 263(f16v1) + 353: 154(bvec3) IsInf 352 + Store 328(bv) 353 + 354:151(f16vec3) Load 263(f16v1) + 355:151(f16vec3) Load 262(f16v2) + 356:151(f16vec3) Load 288(f16v3) + 357:151(f16vec3) ExtInst 1(GLSL.std.450) 50(Fma) 354 355 356 + Store 288(f16v3) 357 + 358:151(f16vec3) Load 263(f16v1) + 361:360(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 358 + 362: 180(ivec3) CompositeExtract 361 1 + Store 359(iv) 362 + 363:151(f16vec3) CompositeExtract 361 0 + Store 262(f16v2) 363 + 364:151(f16vec3) Load 263(f16v1) + 365: 180(ivec3) Load 359(iv) + 366:151(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 364 365 + Store 262(f16v2) 366 Return FunctionEnd 18(builtinPackUnpackFuncs(): 2 Function None 3 19: Label - 372(u): 371(ptr) Variable Function - 373(f16v): 30(ptr) Variable Function - 374: 29(f16vec2) Load 373(f16v) - 375: 33(int) Bitcast 374 - Store 372(u) 375 - 376: 33(int) Load 372(u) - 377: 29(f16vec2) Bitcast 376 - Store 373(f16v) 377 + 368(u): 367(ptr) Variable Function + 369(f16v): 30(ptr) Variable Function + 370: 29(f16vec2) Load 369(f16v) + 371: 33(int) Bitcast 370 + Store 368(u) 371 + 372: 33(int) Load 368(u) + 373: 29(f16vec2) Bitcast 372 + Store 369(f16v) 373 Return FunctionEnd 20(builtinGeometryFuncs(): 2 Function None 3 21: Label - 378(f16): 35(ptr) Variable Function - 379(f16v1): 152(ptr) Variable Function - 383(f16v2): 152(ptr) Variable Function - 389(f16v3): 152(ptr) Variable Function - 380:151(f16vec3) Load 379(f16v1) - 381:28(float16_t) ExtInst 1(GLSL.std.450) 66(Length) 380 - Store 378(f16) 381 - 382:151(f16vec3) Load 379(f16v1) - 384:151(f16vec3) Load 383(f16v2) - 385:28(float16_t) ExtInst 1(GLSL.std.450) 67(Distance) 382 384 - Store 378(f16) 385 - 386:151(f16vec3) Load 379(f16v1) - 387:151(f16vec3) Load 383(f16v2) - 388:28(float16_t) Dot 386 387 - Store 378(f16) 388 - 390:151(f16vec3) Load 379(f16v1) - 391:151(f16vec3) Load 383(f16v2) - 392:151(f16vec3) ExtInst 1(GLSL.std.450) 68(Cross) 390 391 - Store 389(f16v3) 392 - 393:151(f16vec3) Load 379(f16v1) - 394:151(f16vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 393 - Store 383(f16v2) 394 - 395:151(f16vec3) Load 379(f16v1) - 396:151(f16vec3) Load 383(f16v2) - 397:151(f16vec3) Load 389(f16v3) - 398:151(f16vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 395 396 397 - Store 389(f16v3) 398 - 399:151(f16vec3) Load 379(f16v1) - 400:151(f16vec3) Load 383(f16v2) - 401:151(f16vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 399 400 - Store 389(f16v3) 401 - 402:151(f16vec3) Load 379(f16v1) - 403:151(f16vec3) Load 383(f16v2) - 404:28(float16_t) Load 378(f16) - 405:151(f16vec3) ExtInst 1(GLSL.std.450) 72(Refract) 402 403 404 - Store 389(f16v3) 405 + 374(f16): 35(ptr) Variable Function + 375(f16v1): 152(ptr) Variable Function + 379(f16v2): 152(ptr) Variable Function + 385(f16v3): 152(ptr) Variable Function + 376:151(f16vec3) Load 375(f16v1) + 377:28(float16_t) ExtInst 1(GLSL.std.450) 66(Length) 376 + Store 374(f16) 377 + 378:151(f16vec3) Load 375(f16v1) + 380:151(f16vec3) Load 379(f16v2) + 381:28(float16_t) ExtInst 1(GLSL.std.450) 67(Distance) 378 380 + Store 374(f16) 381 + 382:151(f16vec3) Load 375(f16v1) + 383:151(f16vec3) Load 379(f16v2) + 384:28(float16_t) Dot 382 383 + Store 374(f16) 384 + 386:151(f16vec3) Load 375(f16v1) + 387:151(f16vec3) Load 379(f16v2) + 388:151(f16vec3) ExtInst 1(GLSL.std.450) 68(Cross) 386 387 + Store 385(f16v3) 388 + 389:151(f16vec3) Load 375(f16v1) + 390:151(f16vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 389 + Store 379(f16v2) 390 + 391:151(f16vec3) Load 375(f16v1) + 392:151(f16vec3) Load 379(f16v2) + 393:151(f16vec3) Load 385(f16v3) + 394:151(f16vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 391 392 393 + Store 385(f16v3) 394 + 395:151(f16vec3) Load 375(f16v1) + 396:151(f16vec3) Load 379(f16v2) + 397:151(f16vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 395 396 + Store 385(f16v3) 397 + 398:151(f16vec3) Load 375(f16v1) + 399:151(f16vec3) Load 379(f16v2) + 400:28(float16_t) Load 374(f16) + 401:151(f16vec3) ExtInst 1(GLSL.std.450) 72(Refract) 398 399 400 + Store 385(f16v3) 401 Return FunctionEnd 22(builtinMatrixFuncs(): 2 Function None 3 23: Label - 408(f16m3): 407(ptr) Variable Function - 409(f16m1): 407(ptr) Variable Function - 411(f16m2): 407(ptr) Variable Function - 420(f16v1): 152(ptr) Variable Function - 422(f16v2): 30(ptr) Variable Function - 427(f16m4): 426(ptr) Variable Function - 430(f16): 35(ptr) Variable Function - 433(f16m5): 432(ptr) Variable Function - 438(f16m6): 437(ptr) Variable Function - 439(f16m7): 437(ptr) Variable Function - 410: 406 Load 409(f16m1) - 412: 406 Load 411(f16m2) - 413:151(f16vec3) CompositeExtract 410 0 - 414:151(f16vec3) CompositeExtract 412 0 - 415:151(f16vec3) FMul 413 414 - 416:151(f16vec3) CompositeExtract 410 1 - 417:151(f16vec3) CompositeExtract 412 1 - 418:151(f16vec3) FMul 416 417 - 419: 406 CompositeConstruct 415 418 - Store 408(f16m3) 419 - 421:151(f16vec3) Load 420(f16v1) - 423: 29(f16vec2) Load 422(f16v2) - 424: 406 OuterProduct 421 423 - Store 409(f16m1) 424 - 428: 406 Load 409(f16m1) - 429: 425 Transpose 428 - Store 427(f16m4) 429 - 434: 431 Load 433(f16m5) - 435:28(float16_t) ExtInst 1(GLSL.std.450) 33(Determinant) 434 - Store 430(f16) 435 - 440: 436 Load 439(f16m7) - 441: 436 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 440 - Store 438(f16m6) 441 + 404(f16m3): 403(ptr) Variable Function + 405(f16m1): 403(ptr) Variable Function + 407(f16m2): 403(ptr) Variable Function + 416(f16v1): 152(ptr) Variable Function + 418(f16v2): 30(ptr) Variable Function + 423(f16m4): 422(ptr) Variable Function + 426(f16): 35(ptr) Variable Function + 429(f16m5): 428(ptr) Variable Function + 434(f16m6): 433(ptr) Variable Function + 435(f16m7): 433(ptr) Variable Function + 406: 402 Load 405(f16m1) + 408: 402 Load 407(f16m2) + 409:151(f16vec3) CompositeExtract 406 0 + 410:151(f16vec3) CompositeExtract 408 0 + 411:151(f16vec3) FMul 409 410 + 412:151(f16vec3) CompositeExtract 406 1 + 413:151(f16vec3) CompositeExtract 408 1 + 414:151(f16vec3) FMul 412 413 + 415: 402 CompositeConstruct 411 414 + Store 404(f16m3) 415 + 417:151(f16vec3) Load 416(f16v1) + 419: 29(f16vec2) Load 418(f16v2) + 420: 402 OuterProduct 417 419 + Store 405(f16m1) 420 + 424: 402 Load 405(f16m1) + 425: 421 Transpose 424 + Store 423(f16m4) 425 + 430: 427 Load 429(f16m5) + 431:28(float16_t) ExtInst 1(GLSL.std.450) 33(Determinant) 430 + Store 426(f16) 431 + 436: 432 Load 435(f16m7) + 437: 432 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 436 + Store 434(f16m6) 437 Return FunctionEnd 24(builtinVecRelFuncs(): 2 Function None 3 25: Label - 442(bv): 155(ptr) Variable Function - 443(f16v1): 152(ptr) Variable Function - 445(f16v2): 152(ptr) Variable Function - 444:151(f16vec3) Load 443(f16v1) - 446:151(f16vec3) Load 445(f16v2) - 447: 154(bvec3) FOrdLessThan 444 446 - Store 442(bv) 447 - 448:151(f16vec3) Load 443(f16v1) - 449:151(f16vec3) Load 445(f16v2) - 450: 154(bvec3) FOrdLessThanEqual 448 449 - Store 442(bv) 450 - 451:151(f16vec3) Load 443(f16v1) - 452:151(f16vec3) Load 445(f16v2) - 453: 154(bvec3) FOrdGreaterThan 451 452 - Store 442(bv) 453 - 454:151(f16vec3) Load 443(f16v1) - 455:151(f16vec3) Load 445(f16v2) - 456: 154(bvec3) FOrdGreaterThanEqual 454 455 - Store 442(bv) 456 - 457:151(f16vec3) Load 443(f16v1) - 458:151(f16vec3) Load 445(f16v2) - 459: 154(bvec3) FOrdEqual 457 458 - Store 442(bv) 459 - 460:151(f16vec3) Load 443(f16v1) - 461:151(f16vec3) Load 445(f16v2) - 462: 154(bvec3) FUnordNotEqual 460 461 - Store 442(bv) 462 + 438(bv): 155(ptr) Variable Function + 439(f16v1): 152(ptr) Variable Function + 441(f16v2): 152(ptr) Variable Function + 440:151(f16vec3) Load 439(f16v1) + 442:151(f16vec3) Load 441(f16v2) + 443: 154(bvec3) FOrdLessThan 440 442 + Store 438(bv) 443 + 444:151(f16vec3) Load 439(f16v1) + 445:151(f16vec3) Load 441(f16v2) + 446: 154(bvec3) FOrdLessThanEqual 444 445 + Store 438(bv) 446 + 447:151(f16vec3) Load 439(f16v1) + 448:151(f16vec3) Load 441(f16v2) + 449: 154(bvec3) FOrdGreaterThan 447 448 + Store 438(bv) 449 + 450:151(f16vec3) Load 439(f16v1) + 451:151(f16vec3) Load 441(f16v2) + 452: 154(bvec3) FOrdGreaterThanEqual 450 451 + Store 438(bv) 452 + 453:151(f16vec3) Load 439(f16v1) + 454:151(f16vec3) Load 441(f16v2) + 455: 154(bvec3) FOrdEqual 453 454 + Store 438(bv) 455 + 456:151(f16vec3) Load 439(f16v1) + 457:151(f16vec3) Load 441(f16v2) + 458: 154(bvec3) FUnordNotEqual 456 457 + Store 438(bv) 458 Return FunctionEnd 26(builtinFragProcFuncs(): 2 Function None 3 27: Label - 463(f16v): 152(ptr) Variable Function - 467: 466(ptr) AccessChain 465(if16v) 34 + 459(f16v): 152(ptr) Variable Function + 463: 462(ptr) AccessChain 461(if16v) 34 + 464:28(float16_t) Load 463 + 465:28(float16_t) DPdx 464 + 466: 35(ptr) AccessChain 459(f16v) 34 + Store 466 465 + 467: 462(ptr) AccessChain 461(if16v) 90 468:28(float16_t) Load 467 - 469:28(float16_t) DPdx 468 - 470: 35(ptr) AccessChain 463(f16v) 34 + 469:28(float16_t) DPdy 468 + 470: 35(ptr) AccessChain 459(f16v) 90 Store 470 469 - 471: 466(ptr) AccessChain 465(if16v) 90 - 472:28(float16_t) Load 471 - 473:28(float16_t) DPdy 472 - 474: 35(ptr) AccessChain 463(f16v) 90 - Store 474 473 - 475:151(f16vec3) Load 465(if16v) - 476: 29(f16vec2) VectorShuffle 475 475 0 1 - 477: 29(f16vec2) DPdxFine 476 - 478: 35(ptr) AccessChain 463(f16v) 34 - 479:28(float16_t) CompositeExtract 477 0 - Store 478 479 - 480: 35(ptr) AccessChain 463(f16v) 90 - 481:28(float16_t) CompositeExtract 477 1 - Store 480 481 - 482:151(f16vec3) Load 465(if16v) - 483: 29(f16vec2) VectorShuffle 482 482 0 1 - 484: 29(f16vec2) DPdyFine 483 - 485: 35(ptr) AccessChain 463(f16v) 34 - 486:28(float16_t) CompositeExtract 484 0 - Store 485 486 - 487: 35(ptr) AccessChain 463(f16v) 90 - 488:28(float16_t) CompositeExtract 484 1 - Store 487 488 - 489:151(f16vec3) Load 465(if16v) - 490:151(f16vec3) DPdxCoarse 489 - Store 463(f16v) 490 - 491:151(f16vec3) Load 465(if16v) - 492:151(f16vec3) DPdxCoarse 491 - Store 463(f16v) 492 - 493: 466(ptr) AccessChain 465(if16v) 34 - 494:28(float16_t) Load 493 - 495:28(float16_t) Fwidth 494 - 496: 35(ptr) AccessChain 463(f16v) 34 - Store 496 495 - 497:151(f16vec3) Load 465(if16v) - 498: 29(f16vec2) VectorShuffle 497 497 0 1 - 499: 29(f16vec2) FwidthFine 498 - 500: 35(ptr) AccessChain 463(f16v) 34 - 501:28(float16_t) CompositeExtract 499 0 - Store 500 501 - 502: 35(ptr) AccessChain 463(f16v) 90 - 503:28(float16_t) CompositeExtract 499 1 - Store 502 503 - 504:151(f16vec3) Load 465(if16v) - 505:151(f16vec3) FwidthCoarse 504 - Store 463(f16v) 505 - 506: 466(ptr) AccessChain 465(if16v) 34 - 507:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 506 - 508: 35(ptr) AccessChain 463(f16v) 34 - Store 508 507 - 510:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 465(if16v) 509 - 511: 29(f16vec2) VectorShuffle 510 510 0 1 - 512: 35(ptr) AccessChain 463(f16v) 34 - 513:28(float16_t) CompositeExtract 511 0 - Store 512 513 - 514: 35(ptr) AccessChain 463(f16v) 90 - 515:28(float16_t) CompositeExtract 511 1 - Store 514 515 - 518:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 465(if16v) 517 - Store 463(f16v) 518 + 471:151(f16vec3) Load 461(if16v) + 472: 29(f16vec2) VectorShuffle 471 471 0 1 + 473: 29(f16vec2) DPdxFine 472 + 474: 35(ptr) AccessChain 459(f16v) 34 + 475:28(float16_t) CompositeExtract 473 0 + Store 474 475 + 476: 35(ptr) AccessChain 459(f16v) 90 + 477:28(float16_t) CompositeExtract 473 1 + Store 476 477 + 478:151(f16vec3) Load 461(if16v) + 479: 29(f16vec2) VectorShuffle 478 478 0 1 + 480: 29(f16vec2) DPdyFine 479 + 481: 35(ptr) AccessChain 459(f16v) 34 + 482:28(float16_t) CompositeExtract 480 0 + Store 481 482 + 483: 35(ptr) AccessChain 459(f16v) 90 + 484:28(float16_t) CompositeExtract 480 1 + Store 483 484 + 485:151(f16vec3) Load 461(if16v) + 486:151(f16vec3) DPdxCoarse 485 + Store 459(f16v) 486 + 487:151(f16vec3) Load 461(if16v) + 488:151(f16vec3) DPdxCoarse 487 + Store 459(f16v) 488 + 489: 462(ptr) AccessChain 461(if16v) 34 + 490:28(float16_t) Load 489 + 491:28(float16_t) Fwidth 490 + 492: 35(ptr) AccessChain 459(f16v) 34 + Store 492 491 + 493:151(f16vec3) Load 461(if16v) + 494: 29(f16vec2) VectorShuffle 493 493 0 1 + 495: 29(f16vec2) FwidthFine 494 + 496: 35(ptr) AccessChain 459(f16v) 34 + 497:28(float16_t) CompositeExtract 495 0 + Store 496 497 + 498: 35(ptr) AccessChain 459(f16v) 90 + 499:28(float16_t) CompositeExtract 495 1 + Store 498 499 + 500:151(f16vec3) Load 461(if16v) + 501:151(f16vec3) FwidthCoarse 500 + Store 459(f16v) 501 + 502: 462(ptr) AccessChain 461(if16v) 34 + 503:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 502 + 504: 35(ptr) AccessChain 459(f16v) 34 + Store 504 503 + 506:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 461(if16v) 505 + 507: 29(f16vec2) VectorShuffle 506 506 0 1 + 508: 35(ptr) AccessChain 459(f16v) 34 + 509:28(float16_t) CompositeExtract 507 0 + Store 508 509 + 510: 35(ptr) AccessChain 459(f16v) 90 + 511:28(float16_t) CompositeExtract 507 1 + Store 510 511 + 514:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 461(if16v) 513 + Store 459(f16v) 514 Return FunctionEnd diff --git a/Test/baseResults/spv.floatFetch.frag.out b/Test/baseResults/spv.floatFetch.frag.out index 05d04e07..251074d4 100644 --- a/Test/baseResults/spv.floatFetch.frag.out +++ b/Test/baseResults/spv.floatFetch.frag.out @@ -2,7 +2,7 @@ spv.floatFetch.frag Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 3503 +// Id's are bound by 3500 Capability Shader Capability ImageGatherExtended @@ -24,7 +24,7 @@ Validation failed Extension "SPV_AMD_texture_gather_bias_lod" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 127 138 150 197 283 371 866 873 880 2603 3494 3502 + EntryPoint Fragment 4 "main" 127 138 150 197 283 371 866 873 880 2603 3491 3499 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_AMD_texture_gather_bias_lod" @@ -184,12 +184,12 @@ Validation failed Name 3318 "subpass" Name 3324 "subpassMS" Name 3330 "result" - Name 3415 "param" - Name 3494 "fragColor" - Name 3497 "tBuffer" - Name 3499 "t2DMS" - Name 3501 "t2DMSArray" - Name 3502 "bias" + Name 3412 "param" + Name 3491 "fragColor" + Name 3494 "tBuffer" + Name 3496 "t2DMS" + Name 3498 "t2DMSArray" + Name 3499 "bias" Decorate 124(s1D) DescriptorSet 0 Decorate 124(s1D) Binding 0 Decorate 127(c1) Location 0 @@ -284,14 +284,14 @@ Validation failed Decorate 3324(subpassMS) DescriptorSet 3 Decorate 3324(subpassMS) Binding 1 Decorate 3324(subpassMS) InputAttachmentIndex 0 - Decorate 3494(fragColor) Location 0 - Decorate 3497(tBuffer) DescriptorSet 2 - Decorate 3497(tBuffer) Binding 8 - Decorate 3499(t2DMS) DescriptorSet 2 - Decorate 3499(t2DMS) Binding 9 - Decorate 3501(t2DMSArray) DescriptorSet 2 - Decorate 3501(t2DMSArray) Binding 10 - Decorate 3502(bias) Location 6 + Decorate 3491(fragColor) Location 0 + Decorate 3494(tBuffer) DescriptorSet 2 + Decorate 3494(tBuffer) Binding 8 + Decorate 3496(t2DMS) DescriptorSet 2 + Decorate 3496(t2DMS) Binding 9 + Decorate 3498(t2DMSArray) DescriptorSet 2 + Decorate 3498(t2DMSArray) Binding 10 + Decorate 3499(bias) Location 6 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -486,19 +486,19 @@ Validation failed 3322: TypeImage 6(float) SubpassData multi-sampled nonsampled format:Unknown 3323: TypePointer UniformConstant 3322 3324(subpassMS): 3323(ptr) Variable UniformConstant - 3493: TypePointer Output 7(fvec4) - 3494(fragColor): 3493(ptr) Variable Output - 3496: TypePointer UniformConstant 770 - 3497(tBuffer): 3496(ptr) Variable UniformConstant - 3498: TypePointer UniformConstant 781 - 3499(t2DMS): 3498(ptr) Variable UniformConstant - 3500: TypePointer UniformConstant 792 -3501(t2DMSArray): 3500(ptr) Variable UniformConstant - 3502(bias): 126(ptr) Variable Input + 3490: TypePointer Output 7(fvec4) + 3491(fragColor): 3490(ptr) Variable Output + 3493: TypePointer UniformConstant 770 + 3494(tBuffer): 3493(ptr) Variable UniformConstant + 3495: TypePointer UniformConstant 781 + 3496(t2DMS): 3495(ptr) Variable UniformConstant + 3497: TypePointer UniformConstant 792 +3498(t2DMSArray): 3497(ptr) Variable UniformConstant + 3499(bias): 126(ptr) Variable Input 4(main): 2 Function None 3 5: Label 3330(result): 63(ptr) Variable Function - 3415(param): 63(ptr) Variable Function + 3412(param): 63(ptr) Variable Function Store 3330(result) 120 3331: 7(fvec4) FunctionCall 9(testTexture() 3332: 7(fvec4) Load 3330(result) @@ -578,141 +578,138 @@ Validation failed 3388: 7(fvec4) FAdd 3387 3386 Store 3330(result) 3388 3389: 52(fvec2) FunctionCall 54(testTextureQueryLod() - 3390: 6(float) CompositeExtract 3389 0 - 3391: 6(float) CompositeExtract 3389 1 - 3392: 52(fvec2) CompositeConstruct 3390 3391 - 3393: 7(fvec4) Load 3330(result) - 3394: 52(fvec2) VectorShuffle 3393 3393 0 1 - 3395: 52(fvec2) FAdd 3394 3392 - 3396: 174(ptr) AccessChain 3330(result) 173 - 3397: 6(float) CompositeExtract 3395 0 - Store 3396 3397 - 3398: 174(ptr) AccessChain 3330(result) 1447 - 3399: 6(float) CompositeExtract 3395 1 - Store 3398 3399 - 3400: 47(int) FunctionCall 57(testTextureQueryLevels() - 3401: 6(float) ConvertSToF 3400 + 3390: 7(fvec4) Load 3330(result) + 3391: 52(fvec2) VectorShuffle 3390 3390 0 1 + 3392: 52(fvec2) FAdd 3391 3389 + 3393: 174(ptr) AccessChain 3330(result) 173 + 3394: 6(float) CompositeExtract 3392 0 + Store 3393 3394 + 3395: 174(ptr) AccessChain 3330(result) 1447 + 3396: 6(float) CompositeExtract 3392 1 + Store 3395 3396 + 3397: 47(int) FunctionCall 57(testTextureQueryLevels() + 3398: 6(float) ConvertSToF 3397 + 3399: 174(ptr) AccessChain 3330(result) 173 + 3400: 6(float) Load 3399 + 3401: 6(float) FAdd 3400 3398 3402: 174(ptr) AccessChain 3330(result) 173 - 3403: 6(float) Load 3402 - 3404: 6(float) FAdd 3403 3401 + Store 3402 3401 + 3403: 47(int) FunctionCall 59(testTextureSamples() + 3404: 6(float) ConvertSToF 3403 3405: 174(ptr) AccessChain 3330(result) 173 - Store 3405 3404 - 3406: 47(int) FunctionCall 59(testTextureSamples() - 3407: 6(float) ConvertSToF 3406 + 3406: 6(float) Load 3405 + 3407: 6(float) FAdd 3406 3404 3408: 174(ptr) AccessChain 3330(result) 173 - 3409: 6(float) Load 3408 - 3410: 6(float) FAdd 3409 3407 - 3411: 174(ptr) AccessChain 3330(result) 173 - Store 3411 3410 - 3412: 7(fvec4) FunctionCall 61(testImageLoad() + Store 3408 3407 + 3409: 7(fvec4) FunctionCall 61(testImageLoad() + 3410: 7(fvec4) Load 3330(result) + 3411: 7(fvec4) FAdd 3410 3409 + Store 3330(result) 3411 3413: 7(fvec4) Load 3330(result) - 3414: 7(fvec4) FAdd 3413 3412 - Store 3330(result) 3414 + Store 3412(param) 3413 + 3414: 2 FunctionCall 66(testImageStore(vf4;) 3412(param) + 3415: 7(fvec4) FunctionCall 68(testSparseTexture() 3416: 7(fvec4) Load 3330(result) - Store 3415(param) 3416 - 3417: 2 FunctionCall 66(testImageStore(vf4;) 3415(param) - 3418: 7(fvec4) FunctionCall 68(testSparseTexture() + 3417: 7(fvec4) FAdd 3416 3415 + Store 3330(result) 3417 + 3418: 7(fvec4) FunctionCall 70(testSparseTextureLod() 3419: 7(fvec4) Load 3330(result) 3420: 7(fvec4) FAdd 3419 3418 Store 3330(result) 3420 - 3421: 7(fvec4) FunctionCall 70(testSparseTextureLod() + 3421: 7(fvec4) FunctionCall 72(testSparseTextureOffset() 3422: 7(fvec4) Load 3330(result) 3423: 7(fvec4) FAdd 3422 3421 Store 3330(result) 3423 - 3424: 7(fvec4) FunctionCall 72(testSparseTextureOffset() + 3424: 7(fvec4) FunctionCall 74(testSparseTextureLodOffset() 3425: 7(fvec4) Load 3330(result) 3426: 7(fvec4) FAdd 3425 3424 Store 3330(result) 3426 - 3427: 7(fvec4) FunctionCall 74(testSparseTextureLodOffset() + 3427: 7(fvec4) FunctionCall 76(testSparseTextureGrad() 3428: 7(fvec4) Load 3330(result) 3429: 7(fvec4) FAdd 3428 3427 Store 3330(result) 3429 - 3430: 7(fvec4) FunctionCall 76(testSparseTextureGrad() + 3430: 7(fvec4) FunctionCall 78(testSparseTextureGradOffset() 3431: 7(fvec4) Load 3330(result) 3432: 7(fvec4) FAdd 3431 3430 Store 3330(result) 3432 - 3433: 7(fvec4) FunctionCall 78(testSparseTextureGradOffset() + 3433: 7(fvec4) FunctionCall 80(testSparseTexelFetch() 3434: 7(fvec4) Load 3330(result) 3435: 7(fvec4) FAdd 3434 3433 Store 3330(result) 3435 - 3436: 7(fvec4) FunctionCall 80(testSparseTexelFetch() + 3436: 7(fvec4) FunctionCall 82(testSparseTexelFetchOffset() 3437: 7(fvec4) Load 3330(result) 3438: 7(fvec4) FAdd 3437 3436 Store 3330(result) 3438 - 3439: 7(fvec4) FunctionCall 82(testSparseTexelFetchOffset() + 3439: 7(fvec4) FunctionCall 84(testSparseTextureGather() 3440: 7(fvec4) Load 3330(result) 3441: 7(fvec4) FAdd 3440 3439 Store 3330(result) 3441 - 3442: 7(fvec4) FunctionCall 84(testSparseTextureGather() + 3442: 7(fvec4) FunctionCall 86(testSparseTextureGatherOffset() 3443: 7(fvec4) Load 3330(result) 3444: 7(fvec4) FAdd 3443 3442 Store 3330(result) 3444 - 3445: 7(fvec4) FunctionCall 86(testSparseTextureGatherOffset() + 3445: 7(fvec4) FunctionCall 88(testSparseTextureGatherOffsets() 3446: 7(fvec4) Load 3330(result) 3447: 7(fvec4) FAdd 3446 3445 Store 3330(result) 3447 - 3448: 7(fvec4) FunctionCall 88(testSparseTextureGatherOffsets() + 3448: 7(fvec4) FunctionCall 90(testSparseTextureGatherLod() 3449: 7(fvec4) Load 3330(result) 3450: 7(fvec4) FAdd 3449 3448 Store 3330(result) 3450 - 3451: 7(fvec4) FunctionCall 90(testSparseTextureGatherLod() + 3451: 7(fvec4) FunctionCall 92(testSparseTextureGatherLodOffset() 3452: 7(fvec4) Load 3330(result) 3453: 7(fvec4) FAdd 3452 3451 Store 3330(result) 3453 - 3454: 7(fvec4) FunctionCall 92(testSparseTextureGatherLodOffset() + 3454: 7(fvec4) FunctionCall 94(testSparseTextureGatherLodOffsets() 3455: 7(fvec4) Load 3330(result) 3456: 7(fvec4) FAdd 3455 3454 Store 3330(result) 3456 - 3457: 7(fvec4) FunctionCall 94(testSparseTextureGatherLodOffsets() + 3457: 7(fvec4) FunctionCall 96(testSparseImageLoad() 3458: 7(fvec4) Load 3330(result) 3459: 7(fvec4) FAdd 3458 3457 Store 3330(result) 3459 - 3460: 7(fvec4) FunctionCall 96(testSparseImageLoad() + 3460: 7(fvec4) FunctionCall 98(testSparseTextureClamp() 3461: 7(fvec4) Load 3330(result) 3462: 7(fvec4) FAdd 3461 3460 Store 3330(result) 3462 - 3463: 7(fvec4) FunctionCall 98(testSparseTextureClamp() + 3463: 7(fvec4) FunctionCall 100(testTextureClamp() 3464: 7(fvec4) Load 3330(result) 3465: 7(fvec4) FAdd 3464 3463 Store 3330(result) 3465 - 3466: 7(fvec4) FunctionCall 100(testTextureClamp() + 3466: 7(fvec4) FunctionCall 102(testSparseTextureOffsetClamp() 3467: 7(fvec4) Load 3330(result) 3468: 7(fvec4) FAdd 3467 3466 Store 3330(result) 3468 - 3469: 7(fvec4) FunctionCall 102(testSparseTextureOffsetClamp() + 3469: 7(fvec4) FunctionCall 104(testTextureOffsetClamp() 3470: 7(fvec4) Load 3330(result) 3471: 7(fvec4) FAdd 3470 3469 Store 3330(result) 3471 - 3472: 7(fvec4) FunctionCall 104(testTextureOffsetClamp() + 3472: 7(fvec4) FunctionCall 76(testSparseTextureGrad() 3473: 7(fvec4) Load 3330(result) 3474: 7(fvec4) FAdd 3473 3472 Store 3330(result) 3474 - 3475: 7(fvec4) FunctionCall 76(testSparseTextureGrad() + 3475: 7(fvec4) FunctionCall 27(testTextureGrad() 3476: 7(fvec4) Load 3330(result) 3477: 7(fvec4) FAdd 3476 3475 Store 3330(result) 3477 - 3478: 7(fvec4) FunctionCall 27(testTextureGrad() + 3478: 7(fvec4) FunctionCall 110(testSparseTextureGradOffsetClamp() 3479: 7(fvec4) Load 3330(result) 3480: 7(fvec4) FAdd 3479 3478 Store 3330(result) 3480 - 3481: 7(fvec4) FunctionCall 110(testSparseTextureGradOffsetClamp() + 3481: 7(fvec4) FunctionCall 112(testTextureGradOffsetClamp() 3482: 7(fvec4) Load 3330(result) 3483: 7(fvec4) FAdd 3482 3481 Store 3330(result) 3483 - 3484: 7(fvec4) FunctionCall 112(testTextureGradOffsetClamp() + 3484: 7(fvec4) FunctionCall 114(testCombinedTextureSampler() 3485: 7(fvec4) Load 3330(result) 3486: 7(fvec4) FAdd 3485 3484 Store 3330(result) 3486 - 3487: 7(fvec4) FunctionCall 114(testCombinedTextureSampler() + 3487: 7(fvec4) FunctionCall 116(testSubpassLoad() 3488: 7(fvec4) Load 3330(result) 3489: 7(fvec4) FAdd 3488 3487 Store 3330(result) 3489 - 3490: 7(fvec4) FunctionCall 116(testSubpassLoad() - 3491: 7(fvec4) Load 3330(result) - 3492: 7(fvec4) FAdd 3491 3490 - Store 3330(result) 3492 - 3495: 7(fvec4) Load 3330(result) - Store 3494(fragColor) 3495 + 3492: 7(fvec4) Load 3330(result) + Store 3491(fragColor) 3492 Return FunctionEnd 9(testTexture(): 7(fvec4) Function None 8 diff --git a/Test/baseResults/spv.int32.frag.out b/Test/baseResults/spv.int32.frag.out index 2c260dd2..4ee05c82 100644 --- a/Test/baseResults/spv.int32.frag.out +++ b/Test/baseResults/spv.int32.frag.out @@ -1,7 +1,7 @@ spv.int32.frag // Module Version 10300 // Generated by (magic number): 8000b -// Id's are bound by 505 +// Id's are bound by 499 Capability Shader Capability Float16 @@ -43,63 +43,63 @@ spv.int32.frag Name 84 "f64v" Name 94 "i8v" Name 105 "i16v" - Name 125 "u8v" - Name 132 "u16v" - Name 152 "f16v" - Name 168 "bv" - Name 186 "u32v" - Name 191 "i32" - Name 210 "i" - Name 214 "uv" - Name 227 "i64" - Name 260 "b" - Name 312 "i32v" - Name 315 "i32" - Name 325 "u32v" - Name 327 "u32" - Name 399 "i8v4" - Name 402 "i16v2" - Name 407 "u8v4" - Name 410 "u16v2" - Name 413 "i64" - Name 416 "u32v2" - Name 418 "u64" - Name 422 "bv" - Name 497 "Block" - MemberName 497(Block) 0 "i32" - MemberName 497(Block) 1 "i32v2" - MemberName 497(Block) 2 "i32v3" - MemberName 497(Block) 3 "i32v4" - MemberName 497(Block) 4 "u32" - MemberName 497(Block) 5 "u32v2" - MemberName 497(Block) 6 "u32v3" - MemberName 497(Block) 7 "u32v4" - Name 499 "block" - Name 500 "si32" - Name 501 "su32" - Name 502 "si" - Name 503 "su" - Name 504 "sb" + Name 122 "u8v" + Name 129 "u16v" + Name 146 "f16v" + Name 162 "bv" + Name 180 "u32v" + Name 185 "i32" + Name 204 "i" + Name 208 "uv" + Name 221 "i64" + Name 254 "b" + Name 306 "i32v" + Name 309 "i32" + Name 319 "u32v" + Name 321 "u32" + Name 393 "i8v4" + Name 396 "i16v2" + Name 401 "u8v4" + Name 404 "u16v2" + Name 407 "i64" + Name 410 "u32v2" + Name 412 "u64" + Name 416 "bv" + Name 491 "Block" + MemberName 491(Block) 0 "i32" + MemberName 491(Block) 1 "i32v2" + MemberName 491(Block) 2 "i32v3" + MemberName 491(Block) 3 "i32v4" + MemberName 491(Block) 4 "u32" + MemberName 491(Block) 5 "u32v2" + MemberName 491(Block) 6 "u32v3" + MemberName 491(Block) 7 "u32v4" + Name 493 "block" + Name 494 "si32" + Name 495 "su32" + Name 496 "si" + Name 497 "su" + Name 498 "sb" MemberDecorate 27(Uniforms) 0 Offset 0 Decorate 27(Uniforms) Block Decorate 29 DescriptorSet 0 Decorate 29 Binding 0 - MemberDecorate 497(Block) 0 Offset 0 - MemberDecorate 497(Block) 1 Offset 8 - MemberDecorate 497(Block) 2 Offset 16 - MemberDecorate 497(Block) 3 Offset 32 - MemberDecorate 497(Block) 4 Offset 48 - MemberDecorate 497(Block) 5 Offset 56 - MemberDecorate 497(Block) 6 Offset 64 - MemberDecorate 497(Block) 7 Offset 80 - Decorate 497(Block) Block - Decorate 499(block) DescriptorSet 0 - Decorate 499(block) Binding 1 - Decorate 500(si32) SpecId 100 - Decorate 501(su32) SpecId 101 - Decorate 502(si) SpecId 102 - Decorate 503(su) SpecId 103 - Decorate 504(sb) SpecId 104 + MemberDecorate 491(Block) 0 Offset 0 + MemberDecorate 491(Block) 1 Offset 8 + MemberDecorate 491(Block) 2 Offset 16 + MemberDecorate 491(Block) 3 Offset 32 + MemberDecorate 491(Block) 4 Offset 48 + MemberDecorate 491(Block) 5 Offset 56 + MemberDecorate 491(Block) 6 Offset 64 + MemberDecorate 491(Block) 7 Offset 80 + Decorate 491(Block) Block + Decorate 493(block) DescriptorSet 0 + Decorate 493(block) Binding 1 + Decorate 494(si32) SpecId 100 + Decorate 495(su32) SpecId 101 + Decorate 496(si) SpecId 102 + Decorate 497(su) SpecId 103 + Decorate 498(sb) SpecId 104 2: TypeVoid 3: TypeFunction 2 14: TypeInt 32 0 @@ -151,50 +151,50 @@ spv.int32.frag 104: TypePointer Function 103(i16vec2) 109: TypeInt 16 0 110: TypeVector 109(int16_t) 2 - 124: TypePointer Function 99(i8vec2) - 131: TypePointer Function 110(i16vec2) - 149: TypeFloat 16 - 150: TypeVector 149(float16_t) 2 - 151: TypePointer Function 150(f16vec2) - 165: TypeBool - 166: TypeVector 165(bool) 2 - 167: TypePointer Function 166(bvec2) - 170: 18(int) Constant 1 - 171: 52(ivec2) ConstantComposite 30 30 - 172: 52(ivec2) ConstantComposite 170 170 - 175: 14(int) Constant 0 - 176: 14(int) Constant 1 - 177: 49(ivec2) ConstantComposite 175 175 - 178: 49(ivec2) ConstantComposite 176 176 - 184: TypeVector 14(int) 3 - 185: TypePointer Function 184(ivec3) - 188: TypeVector 18(int) 3 - 226: TypePointer Function 57(int64_t) - 251: 14(int) Constant 2 - 259: TypePointer Function 165(bool) - 323: 52(ivec2) ConstantComposite 24 24 - 332: 184(ivec3) ConstantComposite 175 175 175 - 374: 165(bool) ConstantTrue - 381: 165(bool) ConstantFalse - 382: 166(bvec2) ConstantComposite 381 381 - 394: TypeVector 165(bool) 3 - 395: 394(bvec3) ConstantComposite 381 381 381 - 397: TypeVector 91(int8_t) 4 - 398: TypePointer Function 397(i8vec4) - 405: TypeVector 98(int8_t) 4 - 406: TypePointer Function 405(i8vec4) - 417: TypePointer Function 63(int64_t) - 421: TypePointer Function 394(bvec3) - 495: TypeVector 18(int) 4 - 496: TypeVector 14(int) 4 - 497(Block): TypeStruct 18(int) 52(ivec2) 188(ivec3) 495(ivec4) 14(int) 49(ivec2) 184(ivec3) 496(ivec4) - 498: TypePointer Uniform 497(Block) - 499(block): 498(ptr) Variable Uniform - 500(si32): 18(int) SpecConstant 4294967286 - 501(su32): 14(int) SpecConstant 20 - 502(si): 18(int) SpecConstant 4294967291 - 503(su): 14(int) SpecConstant 4 - 504(sb): 165(bool) SpecConstantTrue + 121: TypePointer Function 99(i8vec2) + 128: TypePointer Function 110(i16vec2) + 143: TypeFloat 16 + 144: TypeVector 143(float16_t) 2 + 145: TypePointer Function 144(f16vec2) + 159: TypeBool + 160: TypeVector 159(bool) 2 + 161: TypePointer Function 160(bvec2) + 164: 18(int) Constant 1 + 165: 52(ivec2) ConstantComposite 30 30 + 166: 52(ivec2) ConstantComposite 164 164 + 169: 14(int) Constant 0 + 170: 14(int) Constant 1 + 171: 49(ivec2) ConstantComposite 169 169 + 172: 49(ivec2) ConstantComposite 170 170 + 178: TypeVector 14(int) 3 + 179: TypePointer Function 178(ivec3) + 182: TypeVector 18(int) 3 + 220: TypePointer Function 57(int64_t) + 245: 14(int) Constant 2 + 253: TypePointer Function 159(bool) + 317: 52(ivec2) ConstantComposite 24 24 + 326: 178(ivec3) ConstantComposite 169 169 169 + 368: 159(bool) ConstantTrue + 375: 159(bool) ConstantFalse + 376: 160(bvec2) ConstantComposite 375 375 + 388: TypeVector 159(bool) 3 + 389: 388(bvec3) ConstantComposite 375 375 375 + 391: TypeVector 91(int8_t) 4 + 392: TypePointer Function 391(i8vec4) + 399: TypeVector 98(int8_t) 4 + 400: TypePointer Function 399(i8vec4) + 411: TypePointer Function 63(int64_t) + 415: TypePointer Function 388(bvec3) + 489: TypeVector 18(int) 4 + 490: TypeVector 14(int) 4 + 491(Block): TypeStruct 18(int) 52(ivec2) 182(ivec3) 489(ivec4) 14(int) 49(ivec2) 178(ivec3) 490(ivec4) + 492: TypePointer Uniform 491(Block) + 493(block): 492(ptr) Variable Uniform + 494(si32): 18(int) SpecConstant 4294967286 + 495(su32): 14(int) SpecConstant 20 + 496(si): 18(int) SpecConstant 4294967291 + 497(su): 14(int) SpecConstant 4 + 498(sb): 159(bool) SpecConstantTrue 4(main): 2 Function None 3 5: Label Store 16(u32Max) 17 @@ -230,10 +230,10 @@ spv.int32.frag 84(f64v): 83(ptr) Variable Function 94(i8v): 93(ptr) Variable Function 105(i16v): 104(ptr) Variable Function - 125(u8v): 124(ptr) Variable Function - 132(u16v): 131(ptr) Variable Function - 152(f16v): 151(ptr) Variable Function - 168(bv): 167(ptr) Variable Function + 122(u8v): 121(ptr) Variable Function + 129(u16v): 128(ptr) Variable Function + 146(f16v): 145(ptr) Variable Function + 162(bv): 161(ptr) Variable Function 55: 52(ivec2) Load 54(i32v) 56: 49(ivec2) Bitcast 55 Store 51(u32v) 56 @@ -278,453 +278,447 @@ spv.int32.frag 112:103(i16vec2) Bitcast 111 Store 105(i16v) 112 113: 52(ivec2) Load 54(i32v) - 114: 18(int) CompositeExtract 113 0 - 115: 18(int) CompositeExtract 113 1 - 116: 52(ivec2) CompositeConstruct 114 115 - Store 54(i32v) 116 - 117: 49(ivec2) Load 51(u32v) - 118: 52(ivec2) Bitcast 117 - Store 54(i32v) 118 - 119: 52(ivec2) Load 54(i32v) - 120: 58(i64vec2) SConvert 119 + Store 54(i32v) 113 + 114: 49(ivec2) Load 51(u32v) + 115: 52(ivec2) Bitcast 114 + Store 54(i32v) 115 + 116: 52(ivec2) Load 54(i32v) + 117: 58(i64vec2) SConvert 116 + Store 60(i64v) 117 + 118: 49(ivec2) Load 51(u32v) + 119: 64(i64vec2) UConvert 118 + 120: 58(i64vec2) Bitcast 119 Store 60(i64v) 120 - 121: 49(ivec2) Load 51(u32v) - 122: 64(i64vec2) UConvert 121 - 123: 58(i64vec2) Bitcast 122 - Store 60(i64v) 123 - 126: 52(ivec2) Load 54(i32v) - 127: 92(i8vec2) SConvert 126 - 128: 99(i8vec2) Bitcast 127 - Store 125(u8v) 128 - 129: 49(ivec2) Load 51(u32v) - 130: 99(i8vec2) UConvert 129 - Store 125(u8v) 130 - 133: 52(ivec2) Load 54(i32v) - 134:103(i16vec2) SConvert 133 - 135:110(i16vec2) Bitcast 134 - Store 132(u16v) 135 - 136: 49(ivec2) Load 51(u32v) - 137:110(i16vec2) UConvert 136 - Store 132(u16v) 137 + 123: 52(ivec2) Load 54(i32v) + 124: 92(i8vec2) SConvert 123 + 125: 99(i8vec2) Bitcast 124 + Store 122(u8v) 125 + 126: 49(ivec2) Load 51(u32v) + 127: 99(i8vec2) UConvert 126 + Store 122(u8v) 127 + 130: 52(ivec2) Load 54(i32v) + 131:103(i16vec2) SConvert 130 + 132:110(i16vec2) Bitcast 131 + Store 129(u16v) 132 + 133: 49(ivec2) Load 51(u32v) + 134:110(i16vec2) UConvert 133 + Store 129(u16v) 134 + 135: 52(ivec2) Load 54(i32v) + 136: 49(ivec2) Bitcast 135 + Store 51(u32v) 136 + 137: 49(ivec2) Load 51(u32v) + Store 51(u32v) 137 138: 52(ivec2) Load 54(i32v) - 139: 49(ivec2) Bitcast 138 - Store 51(u32v) 139 - 140: 49(ivec2) Load 51(u32v) - 141: 14(int) CompositeExtract 140 0 - 142: 14(int) CompositeExtract 140 1 - 143: 49(ivec2) CompositeConstruct 141 142 - Store 51(u32v) 143 - 144: 52(ivec2) Load 54(i32v) - 145: 58(i64vec2) SConvert 144 - 146: 64(i64vec2) Bitcast 145 - Store 66(u64v) 146 - 147: 49(ivec2) Load 51(u32v) - 148: 64(i64vec2) UConvert 147 - Store 66(u64v) 148 - 153: 52(ivec2) Load 54(i32v) - 154:150(f16vec2) ConvertSToF 153 - Store 152(f16v) 154 - 155: 52(ivec2) Load 54(i32v) - 156: 76(fvec2) ConvertSToF 155 + 139: 58(i64vec2) SConvert 138 + 140: 64(i64vec2) Bitcast 139 + Store 66(u64v) 140 + 141: 49(ivec2) Load 51(u32v) + 142: 64(i64vec2) UConvert 141 + Store 66(u64v) 142 + 147: 52(ivec2) Load 54(i32v) + 148:144(f16vec2) ConvertSToF 147 + Store 146(f16v) 148 + 149: 52(ivec2) Load 54(i32v) + 150: 76(fvec2) ConvertSToF 149 + Store 78(f32v) 150 + 151: 52(ivec2) Load 54(i32v) + 152: 82(f64vec2) ConvertSToF 151 + Store 84(f64v) 152 + 153: 49(ivec2) Load 51(u32v) + 154:144(f16vec2) ConvertUToF 153 + Store 146(f16v) 154 + 155: 49(ivec2) Load 51(u32v) + 156: 76(fvec2) ConvertUToF 155 Store 78(f32v) 156 - 157: 52(ivec2) Load 54(i32v) - 158: 82(f64vec2) ConvertSToF 157 + 157: 49(ivec2) Load 51(u32v) + 158: 82(f64vec2) ConvertUToF 157 Store 84(f64v) 158 - 159: 49(ivec2) Load 51(u32v) - 160:150(f16vec2) ConvertUToF 159 - Store 152(f16v) 160 - 161: 49(ivec2) Load 51(u32v) - 162: 76(fvec2) ConvertUToF 161 - Store 78(f32v) 162 - 163: 49(ivec2) Load 51(u32v) - 164: 82(f64vec2) ConvertUToF 163 - Store 84(f64v) 164 - 169: 166(bvec2) Load 168(bv) - 173: 52(ivec2) Select 169 172 171 - Store 54(i32v) 173 - 174: 166(bvec2) Load 168(bv) - 179: 49(ivec2) Select 174 178 177 - Store 51(u32v) 179 - 180: 52(ivec2) Load 54(i32v) - 181: 166(bvec2) INotEqual 180 177 - Store 168(bv) 181 - 182: 49(ivec2) Load 51(u32v) - 183: 166(bvec2) INotEqual 182 177 - Store 168(bv) 183 + 163: 160(bvec2) Load 162(bv) + 167: 52(ivec2) Select 163 166 165 + Store 54(i32v) 167 + 168: 160(bvec2) Load 162(bv) + 173: 49(ivec2) Select 168 172 171 + Store 51(u32v) 173 + 174: 52(ivec2) Load 54(i32v) + 175: 160(bvec2) INotEqual 174 171 + Store 162(bv) 175 + 176: 49(ivec2) Load 51(u32v) + 177: 160(bvec2) INotEqual 176 171 + Store 162(bv) 177 Return FunctionEnd 10(operators(): 2 Function None 3 11: Label - 186(u32v): 185(ptr) Variable Function - 191(i32): 19(ptr) Variable Function - 210(i): 19(ptr) Variable Function - 214(uv): 185(ptr) Variable Function - 227(i64): 226(ptr) Variable Function - 260(b): 259(ptr) Variable Function - 187: 184(ivec3) Load 186(u32v) - 189: 188(ivec3) CompositeConstruct 170 170 170 - 190: 184(ivec3) IAdd 187 189 - Store 186(u32v) 190 - 192: 18(int) Load 191(i32) - 193: 18(int) ISub 192 170 - Store 191(i32) 193 - 194: 18(int) Load 191(i32) - 195: 18(int) IAdd 194 170 - Store 191(i32) 195 - 196: 184(ivec3) Load 186(u32v) - 197: 188(ivec3) CompositeConstruct 170 170 170 - 198: 184(ivec3) ISub 196 197 - Store 186(u32v) 198 - 199: 184(ivec3) Load 186(u32v) - 200: 184(ivec3) Not 199 - Store 186(u32v) 200 - 201: 18(int) Load 191(i32) - Store 191(i32) 201 - 202: 184(ivec3) Load 186(u32v) - 203: 184(ivec3) SNegate 202 - Store 186(u32v) 203 - 204: 18(int) Load 191(i32) - 205: 18(int) Load 191(i32) - 206: 18(int) IAdd 205 204 - Store 191(i32) 206 - 207: 184(ivec3) Load 186(u32v) - 208: 184(ivec3) Load 186(u32v) - 209: 184(ivec3) ISub 208 207 - Store 186(u32v) 209 - 211: 18(int) Load 191(i32) - 212: 18(int) Load 210(i) - 213: 18(int) IMul 212 211 - Store 210(i) 213 - 215: 184(ivec3) Load 186(u32v) - 216: 184(ivec3) Load 214(uv) - 217: 184(ivec3) UDiv 216 215 - Store 214(uv) 217 - 218: 18(int) Load 191(i32) - 219: 14(int) Bitcast 218 - 220: 184(ivec3) Load 214(uv) - 221: 184(ivec3) CompositeConstruct 219 219 219 - 222: 184(ivec3) UMod 220 221 - Store 214(uv) 222 - 223: 184(ivec3) Load 186(u32v) - 224: 184(ivec3) Load 214(uv) - 225: 184(ivec3) IAdd 223 224 - Store 214(uv) 225 - 228: 18(int) Load 191(i32) - 229: 57(int64_t) SConvert 228 - 230: 57(int64_t) Load 227(i64) - 231: 57(int64_t) ISub 229 230 - Store 227(i64) 231 - 232: 184(ivec3) Load 186(u32v) - 233: 184(ivec3) Load 214(uv) - 234: 184(ivec3) IMul 232 233 - Store 214(uv) 234 - 235: 18(int) Load 191(i32) - 236: 57(int64_t) SConvert 235 - 237: 57(int64_t) Load 227(i64) - 238: 57(int64_t) IMul 236 237 - Store 227(i64) 238 - 239: 18(int) Load 191(i32) - 240: 18(int) Load 210(i) - 241: 18(int) SMod 239 240 - Store 210(i) 241 - 242: 18(int) Load 191(i32) - 243: 184(ivec3) Load 186(u32v) - 244: 188(ivec3) CompositeConstruct 242 242 242 - 245: 184(ivec3) ShiftLeftLogical 243 244 - Store 186(u32v) 245 - 246: 38(ptr) AccessChain 186(u32v) 176 + 180(u32v): 179(ptr) Variable Function + 185(i32): 19(ptr) Variable Function + 204(i): 19(ptr) Variable Function + 208(uv): 179(ptr) Variable Function + 221(i64): 220(ptr) Variable Function + 254(b): 253(ptr) Variable Function + 181: 178(ivec3) Load 180(u32v) + 183: 182(ivec3) CompositeConstruct 164 164 164 + 184: 178(ivec3) IAdd 181 183 + Store 180(u32v) 184 + 186: 18(int) Load 185(i32) + 187: 18(int) ISub 186 164 + Store 185(i32) 187 + 188: 18(int) Load 185(i32) + 189: 18(int) IAdd 188 164 + Store 185(i32) 189 + 190: 178(ivec3) Load 180(u32v) + 191: 182(ivec3) CompositeConstruct 164 164 164 + 192: 178(ivec3) ISub 190 191 + Store 180(u32v) 192 + 193: 178(ivec3) Load 180(u32v) + 194: 178(ivec3) Not 193 + Store 180(u32v) 194 + 195: 18(int) Load 185(i32) + Store 185(i32) 195 + 196: 178(ivec3) Load 180(u32v) + 197: 178(ivec3) SNegate 196 + Store 180(u32v) 197 + 198: 18(int) Load 185(i32) + 199: 18(int) Load 185(i32) + 200: 18(int) IAdd 199 198 + Store 185(i32) 200 + 201: 178(ivec3) Load 180(u32v) + 202: 178(ivec3) Load 180(u32v) + 203: 178(ivec3) ISub 202 201 + Store 180(u32v) 203 + 205: 18(int) Load 185(i32) + 206: 18(int) Load 204(i) + 207: 18(int) IMul 206 205 + Store 204(i) 207 + 209: 178(ivec3) Load 180(u32v) + 210: 178(ivec3) Load 208(uv) + 211: 178(ivec3) UDiv 210 209 + Store 208(uv) 211 + 212: 18(int) Load 185(i32) + 213: 14(int) Bitcast 212 + 214: 178(ivec3) Load 208(uv) + 215: 178(ivec3) CompositeConstruct 213 213 213 + 216: 178(ivec3) UMod 214 215 + Store 208(uv) 216 + 217: 178(ivec3) Load 180(u32v) + 218: 178(ivec3) Load 208(uv) + 219: 178(ivec3) IAdd 217 218 + Store 208(uv) 219 + 222: 18(int) Load 185(i32) + 223: 57(int64_t) SConvert 222 + 224: 57(int64_t) Load 221(i64) + 225: 57(int64_t) ISub 223 224 + Store 221(i64) 225 + 226: 178(ivec3) Load 180(u32v) + 227: 178(ivec3) Load 208(uv) + 228: 178(ivec3) IMul 226 227 + Store 208(uv) 228 + 229: 18(int) Load 185(i32) + 230: 57(int64_t) SConvert 229 + 231: 57(int64_t) Load 221(i64) + 232: 57(int64_t) IMul 230 231 + Store 221(i64) 232 + 233: 18(int) Load 185(i32) + 234: 18(int) Load 204(i) + 235: 18(int) SMod 233 234 + Store 204(i) 235 + 236: 18(int) Load 185(i32) + 237: 178(ivec3) Load 180(u32v) + 238: 182(ivec3) CompositeConstruct 236 236 236 + 239: 178(ivec3) ShiftLeftLogical 237 238 + Store 180(u32v) 239 + 240: 38(ptr) AccessChain 180(u32v) 170 + 241: 14(int) Load 240 + 242: 18(int) Load 185(i32) + 243: 18(int) ShiftRightArithmetic 242 241 + Store 185(i32) 243 + 244: 57(int64_t) Load 221(i64) + 246: 38(ptr) AccessChain 180(u32v) 245 247: 14(int) Load 246 - 248: 18(int) Load 191(i32) - 249: 18(int) ShiftRightArithmetic 248 247 - Store 191(i32) 249 - 250: 57(int64_t) Load 227(i64) - 252: 38(ptr) AccessChain 186(u32v) 251 - 253: 14(int) Load 252 - 254: 57(int64_t) ShiftLeftLogical 250 253 - Store 227(i64) 254 - 255: 184(ivec3) Load 186(u32v) - 256: 18(int) Load 210(i) - 257: 188(ivec3) CompositeConstruct 256 256 256 - 258: 184(ivec3) ShiftLeftLogical 255 257 - Store 214(uv) 258 - 261: 38(ptr) AccessChain 186(u32v) 175 - 262: 14(int) Load 261 - 263: 18(int) Load 191(i32) - 264: 14(int) Bitcast 263 - 265: 165(bool) INotEqual 262 264 - Store 260(b) 265 - 266: 18(int) Load 191(i32) - 267: 14(int) Bitcast 266 - 268: 38(ptr) AccessChain 186(u32v) 175 - 269: 14(int) Load 268 - 270: 165(bool) IEqual 267 269 - Store 260(b) 270 - 271: 38(ptr) AccessChain 186(u32v) 175 - 272: 14(int) Load 271 - 273: 38(ptr) AccessChain 214(uv) 176 + 248: 57(int64_t) ShiftLeftLogical 244 247 + Store 221(i64) 248 + 249: 178(ivec3) Load 180(u32v) + 250: 18(int) Load 204(i) + 251: 182(ivec3) CompositeConstruct 250 250 250 + 252: 178(ivec3) ShiftLeftLogical 249 251 + Store 208(uv) 252 + 255: 38(ptr) AccessChain 180(u32v) 169 + 256: 14(int) Load 255 + 257: 18(int) Load 185(i32) + 258: 14(int) Bitcast 257 + 259: 159(bool) INotEqual 256 258 + Store 254(b) 259 + 260: 18(int) Load 185(i32) + 261: 14(int) Bitcast 260 + 262: 38(ptr) AccessChain 180(u32v) 169 + 263: 14(int) Load 262 + 264: 159(bool) IEqual 261 263 + Store 254(b) 264 + 265: 38(ptr) AccessChain 180(u32v) 169 + 266: 14(int) Load 265 + 267: 38(ptr) AccessChain 208(uv) 170 + 268: 14(int) Load 267 + 269: 159(bool) UGreaterThan 266 268 + Store 254(b) 269 + 270: 18(int) Load 185(i32) + 271: 18(int) Load 204(i) + 272: 159(bool) SLessThan 270 271 + Store 254(b) 272 + 273: 38(ptr) AccessChain 180(u32v) 170 274: 14(int) Load 273 - 275: 165(bool) UGreaterThan 272 274 - Store 260(b) 275 - 276: 18(int) Load 191(i32) - 277: 18(int) Load 210(i) - 278: 165(bool) SLessThan 276 277 - Store 260(b) 278 - 279: 38(ptr) AccessChain 186(u32v) 176 - 280: 14(int) Load 279 - 281: 38(ptr) AccessChain 214(uv) 175 - 282: 14(int) Load 281 - 283: 165(bool) UGreaterThanEqual 280 282 - Store 260(b) 283 - 284: 18(int) Load 191(i32) - 285: 18(int) Load 210(i) - 286: 165(bool) SLessThanEqual 284 285 - Store 260(b) 286 - 287: 18(int) Load 191(i32) - 288: 14(int) Bitcast 287 - 289: 184(ivec3) Load 214(uv) - 290: 184(ivec3) CompositeConstruct 288 288 288 - 291: 184(ivec3) BitwiseOr 289 290 - Store 214(uv) 291 - 292: 18(int) Load 191(i32) - 293: 18(int) Load 210(i) - 294: 18(int) BitwiseOr 292 293 - Store 210(i) 294 - 295: 18(int) Load 191(i32) - 296: 57(int64_t) SConvert 295 - 297: 57(int64_t) Load 227(i64) - 298: 57(int64_t) BitwiseAnd 297 296 - Store 227(i64) 298 - 299: 184(ivec3) Load 186(u32v) - 300: 184(ivec3) Load 214(uv) - 301: 184(ivec3) BitwiseAnd 299 300 - Store 214(uv) 301 - 302: 18(int) Load 191(i32) + 275: 38(ptr) AccessChain 208(uv) 169 + 276: 14(int) Load 275 + 277: 159(bool) UGreaterThanEqual 274 276 + Store 254(b) 277 + 278: 18(int) Load 185(i32) + 279: 18(int) Load 204(i) + 280: 159(bool) SLessThanEqual 278 279 + Store 254(b) 280 + 281: 18(int) Load 185(i32) + 282: 14(int) Bitcast 281 + 283: 178(ivec3) Load 208(uv) + 284: 178(ivec3) CompositeConstruct 282 282 282 + 285: 178(ivec3) BitwiseOr 283 284 + Store 208(uv) 285 + 286: 18(int) Load 185(i32) + 287: 18(int) Load 204(i) + 288: 18(int) BitwiseOr 286 287 + Store 204(i) 288 + 289: 18(int) Load 185(i32) + 290: 57(int64_t) SConvert 289 + 291: 57(int64_t) Load 221(i64) + 292: 57(int64_t) BitwiseAnd 291 290 + Store 221(i64) 292 + 293: 178(ivec3) Load 180(u32v) + 294: 178(ivec3) Load 208(uv) + 295: 178(ivec3) BitwiseAnd 293 294 + Store 208(uv) 295 + 296: 18(int) Load 185(i32) + 297: 14(int) Bitcast 296 + 298: 178(ivec3) Load 208(uv) + 299: 178(ivec3) CompositeConstruct 297 297 297 + 300: 178(ivec3) BitwiseXor 298 299 + Store 208(uv) 300 + 301: 178(ivec3) Load 180(u32v) + 302: 18(int) Load 185(i32) 303: 14(int) Bitcast 302 - 304: 184(ivec3) Load 214(uv) - 305: 184(ivec3) CompositeConstruct 303 303 303 - 306: 184(ivec3) BitwiseXor 304 305 - Store 214(uv) 306 - 307: 184(ivec3) Load 186(u32v) - 308: 18(int) Load 191(i32) - 309: 14(int) Bitcast 308 - 310: 184(ivec3) CompositeConstruct 309 309 309 - 311: 184(ivec3) BitwiseXor 307 310 - Store 186(u32v) 311 + 304: 178(ivec3) CompositeConstruct 303 303 303 + 305: 178(ivec3) BitwiseXor 301 304 + Store 180(u32v) 305 Return FunctionEnd 12(builtinFuncs(): 2 Function None 3 13: Label - 312(i32v): 53(ptr) Variable Function - 315(i32): 19(ptr) Variable Function - 325(u32v): 185(ptr) Variable Function - 327(u32): 38(ptr) Variable Function - 399(i8v4): 398(ptr) Variable Function - 402(i16v2): 104(ptr) Variable Function - 407(u8v4): 406(ptr) Variable Function - 410(u16v2): 131(ptr) Variable Function - 413(i64): 226(ptr) Variable Function - 416(u32v2): 50(ptr) Variable Function - 418(u64): 417(ptr) Variable Function - 422(bv): 421(ptr) Variable Function - 313: 52(ivec2) Load 312(i32v) - 314: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 313 - Store 312(i32v) 314 - 316: 18(int) Load 315(i32) - 317: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 316 - Store 315(i32) 317 - 318: 52(ivec2) Load 312(i32v) - 319: 18(int) Load 315(i32) - 320: 52(ivec2) CompositeConstruct 319 319 - 321: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 318 320 - Store 312(i32v) 321 - 322: 52(ivec2) Load 312(i32v) - 324: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 322 323 - Store 312(i32v) 324 - 326: 184(ivec3) Load 325(u32v) - 328: 14(int) Load 327(u32) - 329: 184(ivec3) CompositeConstruct 328 328 328 - 330: 184(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 326 329 - Store 325(u32v) 330 - 331: 184(ivec3) Load 325(u32v) - 333: 184(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 331 332 - Store 325(u32v) 333 - 334: 52(ivec2) Load 312(i32v) - 335: 18(int) Load 315(i32) - 336: 52(ivec2) CompositeConstruct 335 335 - 337: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 334 336 - Store 312(i32v) 337 - 338: 52(ivec2) Load 312(i32v) - 339: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 338 323 - Store 312(i32v) 339 - 340: 184(ivec3) Load 325(u32v) - 341: 14(int) Load 327(u32) - 342: 184(ivec3) CompositeConstruct 341 341 341 - 343: 184(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 340 342 - Store 325(u32v) 343 - 344: 184(ivec3) Load 325(u32v) - 345: 184(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 344 332 - Store 325(u32v) 345 - 346: 52(ivec2) Load 312(i32v) - 347: 18(int) Load 315(i32) - 348: 18(int) SNegate 347 - 349: 18(int) Load 315(i32) - 350: 52(ivec2) CompositeConstruct 348 348 - 351: 52(ivec2) CompositeConstruct 349 349 - 352: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 346 350 351 - Store 312(i32v) 352 - 353: 52(ivec2) Load 312(i32v) - 354: 52(ivec2) Load 312(i32v) - 355: 52(ivec2) SNegate 354 - 356: 52(ivec2) Load 312(i32v) - 357: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 353 355 356 - Store 312(i32v) 357 - 358: 184(ivec3) Load 325(u32v) - 359: 14(int) Load 327(u32) - 360: 14(int) SNegate 359 - 361: 14(int) Load 327(u32) - 362: 184(ivec3) CompositeConstruct 360 360 360 - 363: 184(ivec3) CompositeConstruct 361 361 361 - 364: 184(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 358 362 363 - Store 325(u32v) 364 - 365: 184(ivec3) Load 325(u32v) - 366: 184(ivec3) Load 325(u32v) - 367: 184(ivec3) SNegate 366 - 368: 184(ivec3) Load 325(u32v) - 369: 184(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 365 367 368 - Store 325(u32v) 369 - 370: 19(ptr) AccessChain 312(i32v) 175 - 371: 18(int) Load 370 - 372: 19(ptr) AccessChain 312(i32v) 176 - 373: 18(int) Load 372 - 375: 18(int) Select 374 373 371 - Store 315(i32) 375 - 376: 18(int) Load 315(i32) - 377: 52(ivec2) CompositeConstruct 376 376 - 378: 18(int) Load 315(i32) - 379: 18(int) SNegate 378 - 380: 52(ivec2) CompositeConstruct 379 379 - 383: 52(ivec2) Select 382 380 377 - Store 312(i32v) 383 - 384: 38(ptr) AccessChain 325(u32v) 175 - 385: 14(int) Load 384 - 386: 38(ptr) AccessChain 325(u32v) 176 - 387: 14(int) Load 386 - 388: 14(int) Select 374 387 385 - Store 327(u32) 388 - 389: 14(int) Load 327(u32) - 390: 184(ivec3) CompositeConstruct 389 389 389 - 391: 14(int) Load 327(u32) - 392: 14(int) SNegate 391 - 393: 184(ivec3) CompositeConstruct 392 392 392 - 396: 184(ivec3) Select 395 393 390 - Store 325(u32v) 396 - 400: 397(i8vec4) Load 399(i8v4) - 401: 18(int) Bitcast 400 - Store 315(i32) 401 - 403:103(i16vec2) Load 402(i16v2) - 404: 18(int) Bitcast 403 - Store 315(i32) 404 - 408: 405(i8vec4) Load 407(u8v4) - 409: 14(int) Bitcast 408 - Store 327(u32) 409 - 411:110(i16vec2) Load 410(u16v2) - 412: 14(int) Bitcast 411 - Store 327(u32) 412 - 414: 57(int64_t) Load 413(i64) - 415: 52(ivec2) Bitcast 414 - Store 312(i32v) 415 - 419: 63(int64_t) Load 418(u64) - 420: 49(ivec2) Bitcast 419 - Store 416(u32v2) 420 - 423: 184(ivec3) Load 325(u32v) - 424: 14(int) Load 327(u32) - 425: 184(ivec3) CompositeConstruct 424 424 424 - 426: 394(bvec3) ULessThan 423 425 - Store 422(bv) 426 - 427: 52(ivec2) Load 312(i32v) - 428: 18(int) Load 315(i32) - 429: 52(ivec2) CompositeConstruct 428 428 - 430: 166(bvec2) SLessThan 427 429 - 431: 259(ptr) AccessChain 422(bv) 175 - 432: 165(bool) CompositeExtract 430 0 - Store 431 432 - 433: 259(ptr) AccessChain 422(bv) 176 - 434: 165(bool) CompositeExtract 430 1 - Store 433 434 - 435: 184(ivec3) Load 325(u32v) - 436: 14(int) Load 327(u32) - 437: 184(ivec3) CompositeConstruct 436 436 436 - 438: 394(bvec3) ULessThanEqual 435 437 - Store 422(bv) 438 - 439: 52(ivec2) Load 312(i32v) - 440: 18(int) Load 315(i32) - 441: 52(ivec2) CompositeConstruct 440 440 - 442: 166(bvec2) SLessThanEqual 439 441 - 443: 259(ptr) AccessChain 422(bv) 175 - 444: 165(bool) CompositeExtract 442 0 - Store 443 444 - 445: 259(ptr) AccessChain 422(bv) 176 - 446: 165(bool) CompositeExtract 442 1 - Store 445 446 - 447: 184(ivec3) Load 325(u32v) - 448: 14(int) Load 327(u32) - 449: 184(ivec3) CompositeConstruct 448 448 448 - 450: 394(bvec3) UGreaterThan 447 449 - Store 422(bv) 450 - 451: 52(ivec2) Load 312(i32v) - 452: 18(int) Load 315(i32) - 453: 52(ivec2) CompositeConstruct 452 452 - 454: 166(bvec2) SGreaterThan 451 453 - 455: 259(ptr) AccessChain 422(bv) 175 - 456: 165(bool) CompositeExtract 454 0 - Store 455 456 - 457: 259(ptr) AccessChain 422(bv) 176 - 458: 165(bool) CompositeExtract 454 1 - Store 457 458 - 459: 184(ivec3) Load 325(u32v) - 460: 14(int) Load 327(u32) - 461: 184(ivec3) CompositeConstruct 460 460 460 - 462: 394(bvec3) UGreaterThanEqual 459 461 - Store 422(bv) 462 - 463: 52(ivec2) Load 312(i32v) - 464: 18(int) Load 315(i32) - 465: 52(ivec2) CompositeConstruct 464 464 - 466: 166(bvec2) SGreaterThanEqual 463 465 - 467: 259(ptr) AccessChain 422(bv) 175 - 468: 165(bool) CompositeExtract 466 0 - Store 467 468 - 469: 259(ptr) AccessChain 422(bv) 176 - 470: 165(bool) CompositeExtract 466 1 - Store 469 470 - 471: 184(ivec3) Load 325(u32v) - 472: 14(int) Load 327(u32) - 473: 184(ivec3) CompositeConstruct 472 472 472 - 474: 394(bvec3) IEqual 471 473 - Store 422(bv) 474 - 475: 52(ivec2) Load 312(i32v) - 476: 18(int) Load 315(i32) - 477: 52(ivec2) CompositeConstruct 476 476 - 478: 166(bvec2) IEqual 475 477 - 479: 259(ptr) AccessChain 422(bv) 175 - 480: 165(bool) CompositeExtract 478 0 - Store 479 480 - 481: 259(ptr) AccessChain 422(bv) 176 - 482: 165(bool) CompositeExtract 478 1 - Store 481 482 - 483: 184(ivec3) Load 325(u32v) - 484: 14(int) Load 327(u32) - 485: 184(ivec3) CompositeConstruct 484 484 484 - 486: 394(bvec3) INotEqual 483 485 - Store 422(bv) 486 - 487: 52(ivec2) Load 312(i32v) - 488: 18(int) Load 315(i32) - 489: 52(ivec2) CompositeConstruct 488 488 - 490: 166(bvec2) INotEqual 487 489 - 491: 259(ptr) AccessChain 422(bv) 175 - 492: 165(bool) CompositeExtract 490 0 - Store 491 492 - 493: 259(ptr) AccessChain 422(bv) 176 - 494: 165(bool) CompositeExtract 490 1 - Store 493 494 + 306(i32v): 53(ptr) Variable Function + 309(i32): 19(ptr) Variable Function + 319(u32v): 179(ptr) Variable Function + 321(u32): 38(ptr) Variable Function + 393(i8v4): 392(ptr) Variable Function + 396(i16v2): 104(ptr) Variable Function + 401(u8v4): 400(ptr) Variable Function + 404(u16v2): 128(ptr) Variable Function + 407(i64): 220(ptr) Variable Function + 410(u32v2): 50(ptr) Variable Function + 412(u64): 411(ptr) Variable Function + 416(bv): 415(ptr) Variable Function + 307: 52(ivec2) Load 306(i32v) + 308: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 307 + Store 306(i32v) 308 + 310: 18(int) Load 309(i32) + 311: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 310 + Store 309(i32) 311 + 312: 52(ivec2) Load 306(i32v) + 313: 18(int) Load 309(i32) + 314: 52(ivec2) CompositeConstruct 313 313 + 315: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 312 314 + Store 306(i32v) 315 + 316: 52(ivec2) Load 306(i32v) + 318: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 316 317 + Store 306(i32v) 318 + 320: 178(ivec3) Load 319(u32v) + 322: 14(int) Load 321(u32) + 323: 178(ivec3) CompositeConstruct 322 322 322 + 324: 178(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 320 323 + Store 319(u32v) 324 + 325: 178(ivec3) Load 319(u32v) + 327: 178(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 325 326 + Store 319(u32v) 327 + 328: 52(ivec2) Load 306(i32v) + 329: 18(int) Load 309(i32) + 330: 52(ivec2) CompositeConstruct 329 329 + 331: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 328 330 + Store 306(i32v) 331 + 332: 52(ivec2) Load 306(i32v) + 333: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 332 317 + Store 306(i32v) 333 + 334: 178(ivec3) Load 319(u32v) + 335: 14(int) Load 321(u32) + 336: 178(ivec3) CompositeConstruct 335 335 335 + 337: 178(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 334 336 + Store 319(u32v) 337 + 338: 178(ivec3) Load 319(u32v) + 339: 178(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 338 326 + Store 319(u32v) 339 + 340: 52(ivec2) Load 306(i32v) + 341: 18(int) Load 309(i32) + 342: 18(int) SNegate 341 + 343: 18(int) Load 309(i32) + 344: 52(ivec2) CompositeConstruct 342 342 + 345: 52(ivec2) CompositeConstruct 343 343 + 346: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 340 344 345 + Store 306(i32v) 346 + 347: 52(ivec2) Load 306(i32v) + 348: 52(ivec2) Load 306(i32v) + 349: 52(ivec2) SNegate 348 + 350: 52(ivec2) Load 306(i32v) + 351: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 347 349 350 + Store 306(i32v) 351 + 352: 178(ivec3) Load 319(u32v) + 353: 14(int) Load 321(u32) + 354: 14(int) SNegate 353 + 355: 14(int) Load 321(u32) + 356: 178(ivec3) CompositeConstruct 354 354 354 + 357: 178(ivec3) CompositeConstruct 355 355 355 + 358: 178(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 352 356 357 + Store 319(u32v) 358 + 359: 178(ivec3) Load 319(u32v) + 360: 178(ivec3) Load 319(u32v) + 361: 178(ivec3) SNegate 360 + 362: 178(ivec3) Load 319(u32v) + 363: 178(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 359 361 362 + Store 319(u32v) 363 + 364: 19(ptr) AccessChain 306(i32v) 169 + 365: 18(int) Load 364 + 366: 19(ptr) AccessChain 306(i32v) 170 + 367: 18(int) Load 366 + 369: 18(int) Select 368 367 365 + Store 309(i32) 369 + 370: 18(int) Load 309(i32) + 371: 52(ivec2) CompositeConstruct 370 370 + 372: 18(int) Load 309(i32) + 373: 18(int) SNegate 372 + 374: 52(ivec2) CompositeConstruct 373 373 + 377: 52(ivec2) Select 376 374 371 + Store 306(i32v) 377 + 378: 38(ptr) AccessChain 319(u32v) 169 + 379: 14(int) Load 378 + 380: 38(ptr) AccessChain 319(u32v) 170 + 381: 14(int) Load 380 + 382: 14(int) Select 368 381 379 + Store 321(u32) 382 + 383: 14(int) Load 321(u32) + 384: 178(ivec3) CompositeConstruct 383 383 383 + 385: 14(int) Load 321(u32) + 386: 14(int) SNegate 385 + 387: 178(ivec3) CompositeConstruct 386 386 386 + 390: 178(ivec3) Select 389 387 384 + Store 319(u32v) 390 + 394: 391(i8vec4) Load 393(i8v4) + 395: 18(int) Bitcast 394 + Store 309(i32) 395 + 397:103(i16vec2) Load 396(i16v2) + 398: 18(int) Bitcast 397 + Store 309(i32) 398 + 402: 399(i8vec4) Load 401(u8v4) + 403: 14(int) Bitcast 402 + Store 321(u32) 403 + 405:110(i16vec2) Load 404(u16v2) + 406: 14(int) Bitcast 405 + Store 321(u32) 406 + 408: 57(int64_t) Load 407(i64) + 409: 52(ivec2) Bitcast 408 + Store 306(i32v) 409 + 413: 63(int64_t) Load 412(u64) + 414: 49(ivec2) Bitcast 413 + Store 410(u32v2) 414 + 417: 178(ivec3) Load 319(u32v) + 418: 14(int) Load 321(u32) + 419: 178(ivec3) CompositeConstruct 418 418 418 + 420: 388(bvec3) ULessThan 417 419 + Store 416(bv) 420 + 421: 52(ivec2) Load 306(i32v) + 422: 18(int) Load 309(i32) + 423: 52(ivec2) CompositeConstruct 422 422 + 424: 160(bvec2) SLessThan 421 423 + 425: 253(ptr) AccessChain 416(bv) 169 + 426: 159(bool) CompositeExtract 424 0 + Store 425 426 + 427: 253(ptr) AccessChain 416(bv) 170 + 428: 159(bool) CompositeExtract 424 1 + Store 427 428 + 429: 178(ivec3) Load 319(u32v) + 430: 14(int) Load 321(u32) + 431: 178(ivec3) CompositeConstruct 430 430 430 + 432: 388(bvec3) ULessThanEqual 429 431 + Store 416(bv) 432 + 433: 52(ivec2) Load 306(i32v) + 434: 18(int) Load 309(i32) + 435: 52(ivec2) CompositeConstruct 434 434 + 436: 160(bvec2) SLessThanEqual 433 435 + 437: 253(ptr) AccessChain 416(bv) 169 + 438: 159(bool) CompositeExtract 436 0 + Store 437 438 + 439: 253(ptr) AccessChain 416(bv) 170 + 440: 159(bool) CompositeExtract 436 1 + Store 439 440 + 441: 178(ivec3) Load 319(u32v) + 442: 14(int) Load 321(u32) + 443: 178(ivec3) CompositeConstruct 442 442 442 + 444: 388(bvec3) UGreaterThan 441 443 + Store 416(bv) 444 + 445: 52(ivec2) Load 306(i32v) + 446: 18(int) Load 309(i32) + 447: 52(ivec2) CompositeConstruct 446 446 + 448: 160(bvec2) SGreaterThan 445 447 + 449: 253(ptr) AccessChain 416(bv) 169 + 450: 159(bool) CompositeExtract 448 0 + Store 449 450 + 451: 253(ptr) AccessChain 416(bv) 170 + 452: 159(bool) CompositeExtract 448 1 + Store 451 452 + 453: 178(ivec3) Load 319(u32v) + 454: 14(int) Load 321(u32) + 455: 178(ivec3) CompositeConstruct 454 454 454 + 456: 388(bvec3) UGreaterThanEqual 453 455 + Store 416(bv) 456 + 457: 52(ivec2) Load 306(i32v) + 458: 18(int) Load 309(i32) + 459: 52(ivec2) CompositeConstruct 458 458 + 460: 160(bvec2) SGreaterThanEqual 457 459 + 461: 253(ptr) AccessChain 416(bv) 169 + 462: 159(bool) CompositeExtract 460 0 + Store 461 462 + 463: 253(ptr) AccessChain 416(bv) 170 + 464: 159(bool) CompositeExtract 460 1 + Store 463 464 + 465: 178(ivec3) Load 319(u32v) + 466: 14(int) Load 321(u32) + 467: 178(ivec3) CompositeConstruct 466 466 466 + 468: 388(bvec3) IEqual 465 467 + Store 416(bv) 468 + 469: 52(ivec2) Load 306(i32v) + 470: 18(int) Load 309(i32) + 471: 52(ivec2) CompositeConstruct 470 470 + 472: 160(bvec2) IEqual 469 471 + 473: 253(ptr) AccessChain 416(bv) 169 + 474: 159(bool) CompositeExtract 472 0 + Store 473 474 + 475: 253(ptr) AccessChain 416(bv) 170 + 476: 159(bool) CompositeExtract 472 1 + Store 475 476 + 477: 178(ivec3) Load 319(u32v) + 478: 14(int) Load 321(u32) + 479: 178(ivec3) CompositeConstruct 478 478 478 + 480: 388(bvec3) INotEqual 477 479 + Store 416(bv) 480 + 481: 52(ivec2) Load 306(i32v) + 482: 18(int) Load 309(i32) + 483: 52(ivec2) CompositeConstruct 482 482 + 484: 160(bvec2) INotEqual 481 483 + 485: 253(ptr) AccessChain 416(bv) 169 + 486: 159(bool) CompositeExtract 484 0 + Store 485 486 + 487: 253(ptr) AccessChain 416(bv) 170 + 488: 159(bool) CompositeExtract 484 1 + Store 487 488 Return FunctionEnd From 0c15a28c94bf83a6814b31d15551437f5fc5fd42 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 21 Jun 2024 17:31:00 -0400 Subject: [PATCH 002/108] refactor: Make type component/constituent counts unsigned A type can't have a negative number of constituents, components, rows, or columns. Therefore, the utility functions to query said information on types and values should return unsigned int rather than int. --- SPIRV/SpvBuilder.cpp | 44 ++++++++++++++++++++++---------------------- SPIRV/SpvBuilder.h | 14 +++++++------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index 6e5c00b5..d5c03704 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -1312,7 +1312,7 @@ Op Builder::getMostBasicTypeClass(Id typeId) const } } -int Builder::getNumTypeConstituents(Id typeId) const +unsigned int Builder::getNumTypeConstituents(Id typeId) const { Instruction* instr = module.getInstruction(typeId); @@ -2924,7 +2924,7 @@ Id Builder::createLvalueSwizzle(Id typeId, Id target, Id source, const std::vect swizzle->reserveOperands(2); swizzle->addIdOperand(target); - assert(getNumComponents(source) == (int)channels.size()); + assert(getNumComponents(source) == channels.size()); assert(isVector(source)); swizzle->addIdOperand(source); @@ -3371,7 +3371,7 @@ Id Builder::createCompositeCompare(Decoration precision, Id value1, Id value2, b Id Builder::createCompositeConstruct(Id typeId, const std::vector& constituents) { assert(isAggregateType(typeId) || (getNumTypeConstituents(typeId) > 1 && - getNumTypeConstituents(typeId) == (int)constituents.size())); + getNumTypeConstituents(typeId) == constituents.size())); if (generatingOpCodeForSpecConst) { // Sometime, even in spec-constant-op mode, the constant composite to be @@ -3464,8 +3464,8 @@ Id Builder::createConstructor(Decoration precision, const std::vector& sourc if (sourcesToUse + targetComponent > numTargetComponents) sourcesToUse = numTargetComponents - targetComponent; - int col = 0; - int row = 0; + unsigned int col = 0; + unsigned int row = 0; for (unsigned int s = 0; s < sourcesToUse; ++s) { if (row >= getNumRows(sourceArg)) { row = 0; @@ -3510,8 +3510,8 @@ Id Builder::createConstructor(Decoration precision, const std::vector& sourc Id Builder::createMatrixConstructor(Decoration precision, const std::vector& sources, Id resultTypeId) { Id componentTypeId = getScalarTypeId(resultTypeId); - int numCols = getTypeNumColumns(resultTypeId); - int numRows = getTypeNumRows(resultTypeId); + unsigned int numCols = getTypeNumColumns(resultTypeId); + unsigned int numRows = getTypeNumRows(resultTypeId); Instruction* instr = module.getInstruction(componentTypeId); const unsigned bitCount = instr->getImmediateOperand(0); @@ -3526,11 +3526,11 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector& Id sourceColumnTypeId = getContainedTypeId(getTypeId(matrix)); std::vector channels; - for (int row = 0; row < numRows; ++row) + for (unsigned int row = 0; row < numRows; ++row) channels.push_back(row); std::vector matrixColumns; - for (int col = 0; col < numCols; ++col) { + for (unsigned int col = 0; col < numCols; ++col) { std::vector indexes; indexes.push_back(col); Id colv = createCompositeExtract(matrix, sourceColumnTypeId, indexes); @@ -3548,7 +3548,7 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector& // Detect a matrix being constructed from a repeated vector of the correct size. // Create the composite directly from it. - if ((int)sources.size() == numCols && isVector(sources[0]) && getNumComponents(sources[0]) == numRows && + if (sources.size() == numCols && isVector(sources[0]) && getNumComponents(sources[0]) == numRows && std::equal(sources.begin() + 1, sources.end(), sources.begin())) { return setPrecision(createCompositeConstruct(resultTypeId, sources), precision); } @@ -3580,12 +3580,12 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector& } else if (isMatrix(sources[0])) { // constructing from another matrix; copy over the parts that exist in both the argument and constructee Id matrix = sources[0]; - int minCols = std::min(numCols, getNumColumns(matrix)); - int minRows = std::min(numRows, getNumRows(matrix)); - for (int col = 0; col < minCols; ++col) { + unsigned int minCols = std::min(numCols, getNumColumns(matrix)); + unsigned int minRows = std::min(numRows, getNumRows(matrix)); + for (unsigned int col = 0; col < minCols; ++col) { std::vector indexes; indexes.push_back(col); - for (int row = 0; row < minRows; ++row) { + for (unsigned int row = 0; row < minRows; ++row) { indexes.push_back(row); ids[col][row] = createCompositeExtract(matrix, componentTypeId, indexes); indexes.pop_back(); @@ -3594,12 +3594,12 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector& } } else { // fill in the matrix in column-major order with whatever argument components are available - int row = 0; - int col = 0; + unsigned int row = 0; + unsigned int col = 0; - for (int arg = 0; arg < (int)sources.size() && col < numCols; ++arg) { + for (unsigned int arg = 0; arg < sources.size() && col < numCols; ++arg) { Id argComp = sources[arg]; - for (int comp = 0; comp < getNumComponents(sources[arg]); ++comp) { + for (unsigned int comp = 0; comp < getNumComponents(sources[arg]); ++comp) { if (getNumComponents(sources[arg]) > 1) { argComp = createCompositeExtract(sources[arg], componentTypeId, comp); setPrecision(argComp, precision); @@ -3623,9 +3623,9 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector& // make the column vectors Id columnTypeId = getContainedTypeId(resultTypeId); std::vector matrixColumns; - for (int col = 0; col < numCols; ++col) { + for (unsigned int col = 0; col < numCols; ++col) { std::vector vectorComponents; - for (int row = 0; row < numRows; ++row) + for (unsigned int row = 0; row < numRows; ++row) vectorComponents.push_back(ids[col][row]); Id column = createCompositeConstruct(columnTypeId, vectorComponents); setPrecision(column, precision); @@ -3852,7 +3852,7 @@ void Builder::accessChainStore(Id rvalue, Decoration nonUniform, spv::MemoryAcce // If a swizzle exists and is not full and is not dynamic, then the swizzle will be broken into individual stores. if (accessChain.swizzle.size() > 0 && - getNumTypeComponents(getResultingAccessChainType()) != (int)accessChain.swizzle.size() && + getNumTypeComponents(getResultingAccessChainType()) != accessChain.swizzle.size() && accessChain.component == NoResult) { for (unsigned int i = 0; i < accessChain.swizzle.size(); ++i) { accessChain.indexChain.push_back(makeUintConstant(accessChain.swizzle[i])); @@ -4172,7 +4172,7 @@ void Builder::simplifyAccessChainSwizzle() { // If the swizzle has fewer components than the vector, it is subsetting, and must stay // to preserve that fact. - if (getNumTypeComponents(accessChain.preSwizzleBaseType) > (int)accessChain.swizzle.size()) + if (getNumTypeComponents(accessChain.preSwizzleBaseType) > accessChain.swizzle.size()) return; // if components are out of order, it is a swizzle diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h index 35327d6e..08057f43 100644 --- a/SPIRV/SpvBuilder.h +++ b/SPIRV/SpvBuilder.h @@ -264,9 +264,9 @@ public: Op getOpCode(Id id) const { return module.getInstruction(id)->getOpCode(); } Op getTypeClass(Id typeId) const { return getOpCode(typeId); } Op getMostBasicTypeClass(Id typeId) const; - int getNumComponents(Id resultId) const { return getNumTypeComponents(getTypeId(resultId)); } - int getNumTypeConstituents(Id typeId) const; - int getNumTypeComponents(Id typeId) const { return getNumTypeConstituents(typeId); } + unsigned int getNumComponents(Id resultId) const { return getNumTypeComponents(getTypeId(resultId)); } + unsigned int getNumTypeConstituents(Id typeId) const; + unsigned int getNumTypeComponents(Id typeId) const { return getNumTypeConstituents(typeId); } Id getScalarTypeId(Id typeId) const; Id getContainedTypeId(Id typeId) const; Id getContainedTypeId(Id typeId, int) const; @@ -334,18 +334,18 @@ public: return module.getInstruction(scalarTypeId)->getImmediateOperand(0); } - int getTypeNumColumns(Id typeId) const + unsigned int getTypeNumColumns(Id typeId) const { assert(isMatrixType(typeId)); return getNumTypeConstituents(typeId); } - int getNumColumns(Id resultId) const { return getTypeNumColumns(getTypeId(resultId)); } - int getTypeNumRows(Id typeId) const + unsigned int getNumColumns(Id resultId) const { return getTypeNumColumns(getTypeId(resultId)); } + unsigned int getTypeNumRows(Id typeId) const { assert(isMatrixType(typeId)); return getNumTypeComponents(getContainedTypeId(typeId)); } - int getNumRows(Id resultId) const { return getTypeNumRows(getTypeId(resultId)); } + unsigned int getNumRows(Id resultId) const { return getTypeNumRows(getTypeId(resultId)); } Dim getTypeDimensionality(Id typeId) const { From 0d6be86cf1f49e77aaaca6cc6817c75452f26ce0 Mon Sep 17 00:00:00 2001 From: Jeremy Hayes Date: Tue, 25 Jun 2024 11:24:55 -0600 Subject: [PATCH 003/108] Update known_good.json --- known_good.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/known_good.json b/known_good.json index 03d5a0f5..b062866a 100644 --- a/known_good.json +++ b/known_good.json @@ -5,7 +5,7 @@ "site" : "github", "subrepo" : "KhronosGroup/SPIRV-Tools", "subdir" : "External/spirv-tools", - "commit": "bc28ac7c195f59b14535edec8472d97fd32a91ad" + "commit": "0cfe9e7219148716dfd30b37f4d21753f098707a" }, { "name" : "spirv-tools/external/spirv-headers", From fa9c3deb49e035a8abcabe366f26aac010f6cbfb Mon Sep 17 00:00:00 2001 From: Jeremy Hayes Date: Tue, 25 Jun 2024 16:09:26 -0600 Subject: [PATCH 004/108] Update CHANGES for 14.3.0 --- CHANGES.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 13fa1556..5dd05bb0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/). +## 14.3.0 2024-06-25 +* Generate vector constructions more efficiently when sizes match +* Skip identity conversions for 8-bit and 16-bit types +* Add cmake aliases for public libraries +* Support ARM extended matrix layout +* Emit debug info for buffer references +* Add support for OpExtInstWithForwardRefsKHR +* Generate SPV_EXT_replicated_compisites when requested by pragma +* Reuse loads generated for repeated function arguments +* Fix gl_HitT alias of gl_RayTmax +* Fix some cases where invalid SPIR-V was being generated when using separate samplers +* Add back layoutLocation to public API + ## 14.2.0 2024-05-02 * Improve checking for location aliasing errors * Fix undefined behavior in parser From ea087ff90d03947307cfe52500b74551aa35d34d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 06:38:25 +0000 Subject: [PATCH 005/108] Bump lukka/get-cmake from 3.29.5 to 3.29.6 Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.29.5 to 3.29.6. - [Release notes](https://github.com/lukka/get-cmake/releases) - [Commits](https://github.com/lukka/get-cmake/compare/18d87816d12dd87ec1449d47b9b3a587e0a1cc19...2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59) --- updated-dependencies: - dependency-name: lukka/get-cmake dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/continuous_deployment.yml | 6 +++--- .github/workflows/continuous_integration.yml | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index ac7e3d1c..2e154caa 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -42,7 +42,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' @@ -106,7 +106,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' @@ -163,7 +163,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 642eef10..537b1a38 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -18,7 +18,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' @@ -54,7 +54,7 @@ jobs: flags: ['-fsanitize=address', '-fsanitize=thread'] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' @@ -95,7 +95,7 @@ jobs: - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 with: cmakeVersion: 3.17.2 - name: Setup ccache @@ -127,7 +127,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 - run: ./update_glslang_sources.py - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON env: @@ -151,7 +151,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' @@ -169,7 +169,7 @@ jobs: runs-on: macos-13 steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 - name: Setup ccache uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 with: @@ -198,7 +198,7 @@ jobs: LEGACY: [ON, OFF] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 - name: Setup ccache uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 with: @@ -224,7 +224,7 @@ jobs: - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 - name: Setup ccache uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 with: From 20490a11aacd261ec371d9a80db9536a9cec6cd8 Mon Sep 17 00:00:00 2001 From: Antoine Date: Wed, 22 May 2024 22:56:43 +0200 Subject: [PATCH 006/108] Adding the preprocessor value DISABLE_THREAD_SUPPORT to allow compilation of glslang without thread support for WASI. --- glslang/MachineIndependent/PoolAlloc.cpp | 11 +++++++++-- glslang/MachineIndependent/ShaderLang.cpp | 9 +++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/glslang/MachineIndependent/PoolAlloc.cpp b/glslang/MachineIndependent/PoolAlloc.cpp index 5d7173c9..93a3b0d1 100644 --- a/glslang/MachineIndependent/PoolAlloc.cpp +++ b/glslang/MachineIndependent/PoolAlloc.cpp @@ -35,14 +35,21 @@ #include "../Include/Common.h" #include "../Include/PoolAlloc.h" +// Mostly here for target that do not support threads such as WASI. +#ifdef DISABLE_THREAD_SUPPORT +#define THREAD_LOCAL +#else +#define THREAD_LOCAL thread_local +#endif + namespace glslang { namespace { -thread_local TPoolAllocator* threadPoolAllocator = nullptr; +THREAD_LOCAL TPoolAllocator* threadPoolAllocator = nullptr; TPoolAllocator* GetDefaultThreadPoolAllocator() { - thread_local TPoolAllocator defaultAllocator; + THREAD_LOCAL TPoolAllocator defaultAllocator; return &defaultAllocator; } } // anonymous namespace diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index 034a0306..be3248e3 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -82,7 +82,10 @@ namespace { // anonymous namespace for file-local functions and symbols int NumberOfClients = 0; // global initialization lock +#ifndef DISABLE_THREAD_SUPPORT std::mutex init_lock; +#endif + using namespace glslang; @@ -420,7 +423,9 @@ void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& sp TInfoSink infoSink; // Make sure only one thread tries to do this at a time +#ifndef DISABLE_THREAD_SUPPORT const std::lock_guard lock(init_lock); +#endif // See if it's already been done for this version/profile combination int versionIndex = MapVersionToIndex(version); @@ -1311,7 +1316,9 @@ bool CompileDeferred( // int ShInitialize() { +#ifndef DISABLE_THREAD_SUPPORT const std::lock_guard lock(init_lock); +#endif ++NumberOfClients; if (PerProcessGPA == nullptr) @@ -1371,7 +1378,9 @@ void ShDestruct(ShHandle handle) // int ShFinalize() { +#ifndef DISABLE_THREAD_SUPPORT const std::lock_guard lock(init_lock); +#endif --NumberOfClients; assert(NumberOfClients >= 0); if (NumberOfClients > 0) From 7c40de7aa2768320af4d09119b58676629156e78 Mon Sep 17 00:00:00 2001 From: Antoine Date: Mon, 24 Jun 2024 23:02:55 +0200 Subject: [PATCH 007/108] Auto-detect WASI platform --- glslang/Include/Common.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/glslang/Include/Common.h b/glslang/Include/Common.h index d1bd13b5..0c142605 100644 --- a/glslang/Include/Common.h +++ b/glslang/Include/Common.h @@ -94,6 +94,11 @@ std::string to_string(const T& val) { #pragma warning(disable : 4201) // nameless union #endif +// Allow compilation to WASI which does not support threads yet. +#ifdef __wasi__ +#define DISABLE_THREAD_SUPPORT +#endif + #include "PoolAlloc.h" // From 33c7e30860928bab3819c3abae8297b109a02f73 Mon Sep 17 00:00:00 2001 From: Steven Perron Date: Fri, 28 Jun 2024 19:16:59 -0400 Subject: [PATCH 008/108] Don't emit duplicate decorations. (#3635) It is invalid if the same decoration is applied to the same id multiple times. This adds a check before adding a decoration that the decoration is not already in the list. If it is, then the duplicate is not added. Fixes #3627 --- SPIRV/SpvBuilder.cpp | 65 +++++-- SPIRV/SpvBuilder.h | 7 +- SPIRV/SpvPostProcess.cpp | 14 +- .../hlsl.aliasOpaque.frag.out | 4 +- .../hlsl.flattenOpaque.frag.out | 8 +- .../hlsl.flattenOpaqueInit.vert.out | 4 +- .../hlsl.flattenOpaqueInitMix.vert.out | 4 +- .../hlsl.flattenSubset.frag.out | 4 +- .../glsl.autosampledtextures.frag.out | 2 +- .../glsl.entryPointRename.vert.bad.out | 2 +- .../glsl.entryPointRename.vert.out | 2 +- Test/baseResults/hlsl.aliasOpaque.frag.out | 6 +- Test/baseResults/hlsl.amend.frag.out | 4 +- Test/baseResults/hlsl.array.flatten.frag.out | 40 ++-- Test/baseResults/hlsl.array.frag.out | 4 +- Test/baseResults/hlsl.array.multidim.frag.out | 4 +- .../hlsl.attribute.expression.comp.out | 4 +- Test/baseResults/hlsl.attributeC11.frag.out | 10 +- .../hlsl.attributeGlobalBuffer.frag.out | 4 +- .../hlsl.autosampledtextures.frag.out | 2 +- Test/baseResults/hlsl.buffer.frag.out | 28 +-- .../hlsl.buffer_ref_parameter.comp.out | 8 +- .../hlsl.calculatelod.dx10.frag.out | 22 +-- .../hlsl.calculatelodunclamped.dx10.frag.out | 22 +-- .../hlsl.cbuffer-identifier.vert.out | 20 +- .../baseResults/hlsl.cbuffer-offsets.comp.out | 32 ++-- Test/baseResults/hlsl.color.hull.tesc.out | 8 +- Test/baseResults/hlsl.comparison.vec.frag.out | 4 +- Test/baseResults/hlsl.conditional.frag.out | 4 +- Test/baseResults/hlsl.constantbuffer.frag.out | 14 +- Test/baseResults/hlsl.dashI.vert.out | 4 +- Test/baseResults/hlsl.domain.1.tese.out | 6 +- Test/baseResults/hlsl.domain.2.tese.out | 6 +- Test/baseResults/hlsl.domain.3.tese.out | 6 +- .../hlsl.earlydepthstencil.frag.out | 2 +- .../hlsl.emptystructreturn.tesc.out | 4 +- Test/baseResults/hlsl.entry.rename.frag.out | 4 +- .../hlsl.explicitDescriptorSet-2.frag.out | 12 +- .../hlsl.explicitDescriptorSet.frag.out | 12 +- Test/baseResults/hlsl.flattenOpaque.frag.out | 8 +- .../hlsl.flattenOpaqueInit.vert.out | 4 +- .../hlsl.flattenOpaqueInitMix.vert.out | 4 +- Test/baseResults/hlsl.flattenSubset.frag.out | 4 +- Test/baseResults/hlsl.flattenSubset2.frag.out | 2 +- Test/baseResults/hlsl.float4.frag.out | 4 +- .../hlsl.format.rwtexture.frag.out | 88 ++++----- .../hlsl.gather.array.dx10.frag.out | 22 +-- .../hlsl.gather.basic.dx10.frag.out | 30 +-- .../hlsl.gather.basic.dx10.vert.out | 30 +-- .../hlsl.gather.offset.dx10.frag.out | 28 +-- .../hlsl.gather.offsetarray.dx10.frag.out | 16 +- .../hlsl.gatherRGBA.array.dx10.frag.out | 26 +-- .../hlsl.gatherRGBA.basic.dx10.frag.out | 34 ++-- .../hlsl.gatherRGBA.offset.dx10.frag.out | 34 ++-- .../hlsl.gatherRGBA.offsetarray.dx10.frag.out | 26 +-- .../hlsl.gathercmpRGBA.offset.dx10.frag.out | 32 ++-- .../hlsl.getdimensions.dx10.frag.out | 56 +++--- .../hlsl.getdimensions.dx10.vert.out | 4 +- .../hlsl.getdimensions.rw.dx10.frag.out | 42 ++--- .../hlsl.getsampleposition.dx10.frag.out | 6 +- .../hlsl.global-const-init.frag.out | 4 +- Test/baseResults/hlsl.groupid.comp.out | 2 +- Test/baseResults/hlsl.gs-hs-mix.tesc.out | 16 +- Test/baseResults/hlsl.hlslOffset.vert.out | 4 +- Test/baseResults/hlsl.hull.1.tesc.out | 2 +- Test/baseResults/hlsl.hull.2.tesc.out | 2 +- Test/baseResults/hlsl.hull.3.tesc.out | 2 +- Test/baseResults/hlsl.hull.4.tesc.out | 4 +- Test/baseResults/hlsl.hull.6.tesc.out | 4 +- Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out | 4 +- Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out | 4 +- .../hlsl.imagefetch-subvec4.comp.out | 30 +-- .../hlsl.imageload-subvec4.comp.out | 22 +-- Test/baseResults/hlsl.implicitBool.frag.out | 4 +- Test/baseResults/hlsl.include.vert.out | 4 +- Test/baseResults/hlsl.init.frag.out | 4 +- Test/baseResults/hlsl.inoutquals.frag.out | 2 +- .../hlsl.intrinsics.d3dcolortoubyte4.frag.out | 4 +- .../hlsl.intrinsics.promote.down.frag.out | 4 +- .../hlsl.intrinsics.promote.frag.out | 8 +- .../hlsl.intrinsics.promote.outputs.frag.out | 8 +- Test/baseResults/hlsl.isfinite.frag.out | 4 +- Test/baseResults/hlsl.layout.frag.out | 10 +- Test/baseResults/hlsl.layoutOverride.vert.out | 4 +- Test/baseResults/hlsl.load.2dms.dx10.frag.out | 18 +- .../baseResults/hlsl.load.array.dx10.frag.out | 48 ++--- .../baseResults/hlsl.load.basic.dx10.frag.out | 48 ++--- .../baseResults/hlsl.load.basic.dx10.vert.out | 48 ++--- .../hlsl.load.buffer.dx10.frag.out | 12 +- .../hlsl.load.buffer.float.dx10.frag.out | 12 +- .../hlsl.load.offset.dx10.frag.out | 48 ++--- .../hlsl.load.offsetarray.dx10.frag.out | 48 ++--- .../hlsl.load.rwbuffer.dx10.frag.out | 10 +- .../hlsl.load.rwtexture.array.dx10.frag.out | 36 ++-- .../hlsl.load.rwtexture.dx10.frag.out | 36 ++-- Test/baseResults/hlsl.logical.binary.frag.out | 4 +- .../hlsl.logical.binary.vec.frag.out | 4 +- Test/baseResults/hlsl.logical.unary.frag.out | 4 +- Test/baseResults/hlsl.matType.frag.out | 14 +- Test/baseResults/hlsl.matpack-1.frag.out | 12 +- .../hlsl.matpack-pragma-global.frag.out | 8 +- Test/baseResults/hlsl.matpack-pragma.frag.out | 18 +- Test/baseResults/hlsl.matrixindex.frag.out | 6 +- Test/baseResults/hlsl.mintypes.frag.out | 4 +- Test/baseResults/hlsl.mip.operator.frag.out | 4 +- Test/baseResults/hlsl.mul-truncate.frag.out | 16 +- .../hlsl.multiDescriptorSet.frag.out | 34 ++-- Test/baseResults/hlsl.multiEntry.vert.out | 2 +- Test/baseResults/hlsl.multiReturn.frag.out | 6 +- Test/baseResults/hlsl.multiView.frag.out | 2 +- .../hlsl.nested-runtimeArray.frag.out | 6 +- .../hlsl.noSemantic.functionality1.comp.out | 12 +- .../baseResults/hlsl.opaque-type-bug.frag.out | 2 +- Test/baseResults/hlsl.params.default.frag.out | 4 +- .../hlsl.partialFlattenLocal.vert.out | 2 +- .../hlsl.partialFlattenMixed.vert.out | 4 +- Test/baseResults/hlsl.pp.line2.frag.out | 6 +- Test/baseResults/hlsl.pp.line3.frag.out | 6 +- Test/baseResults/hlsl.pp.line4.frag.out | 6 +- Test/baseResults/hlsl.pp.vert.out | 4 +- Test/baseResults/hlsl.preprocessor.frag.out | 4 +- Test/baseResults/hlsl.promote.atomic.frag.out | 2 +- Test/baseResults/hlsl.promote.binary.frag.out | 4 +- Test/baseResults/hlsl.promotions.frag.out | 4 +- Test/baseResults/hlsl.rw.atomics.frag.out | 42 ++--- Test/baseResults/hlsl.rw.bracket.frag.out | 36 ++-- Test/baseResults/hlsl.rw.register.frag.out | 4 +- .../hlsl.rw.scalar.bracket.frag.out | 36 ++-- Test/baseResults/hlsl.rw.swizzle.frag.out | 4 +- .../baseResults/hlsl.rw.vec2.bracket.frag.out | 36 ++-- .../hlsl.sample.array.dx10.frag.out | 22 +-- .../hlsl.sample.basic.dx10.frag.out | 32 ++-- Test/baseResults/hlsl.sample.dx9.frag.out | 10 +- Test/baseResults/hlsl.sample.dx9.vert.out | 4 +- .../hlsl.sample.offset.dx10.frag.out | 28 +-- .../hlsl.sample.offsetarray.dx10.frag.out | 16 +- .../hlsl.sample.sub-vec4.dx10.frag.out | 10 +- .../hlsl.samplebias.array.dx10.frag.out | 22 +-- .../hlsl.samplebias.basic.dx10.frag.out | 28 +-- .../hlsl.samplebias.offset.dx10.frag.out | 28 +-- .../hlsl.samplebias.offsetarray.dx10.frag.out | 16 +- .../hlsl.samplecmp.array.dx10.frag.out | 44 ++--- .../hlsl.samplecmp.basic.dx10.frag.out | 44 ++--- .../hlsl.samplecmp.dualmode.frag.out | 8 +- .../hlsl.samplecmp.offset.dx10.frag.out | 44 ++--- .../hlsl.samplecmp.offsetarray.dx10.frag.out | 44 ++--- ...lsl.samplecmplevelzero.array.dx10.frag.out | 44 ++--- ...lsl.samplecmplevelzero.basic.dx10.frag.out | 44 ++--- ...sl.samplecmplevelzero.offset.dx10.frag.out | 44 ++--- ...mplecmplevelzero.offsetarray.dx10.frag.out | 44 ++--- .../hlsl.samplegrad.array.dx10.frag.out | 22 +-- .../hlsl.samplegrad.basic.dx10.frag.out | 28 +-- .../hlsl.samplegrad.basic.dx10.vert.out | 28 +-- .../hlsl.samplegrad.offset.dx10.frag.out | 28 +-- .../hlsl.samplegrad.offsetarray.dx10.frag.out | 22 +-- .../hlsl.samplelevel.array.dx10.frag.out | 22 +-- .../hlsl.samplelevel.basic.dx10.frag.out | 30 +-- .../hlsl.samplelevel.basic.dx10.vert.out | 28 +-- .../hlsl.samplelevel.offset.dx10.frag.out | 28 +-- ...hlsl.samplelevel.offsetarray.dx10.frag.out | 16 +- Test/baseResults/hlsl.snorm.uav.comp.out | 12 +- ...sl.store.rwbyteaddressbuffer.type.comp.out | 4 +- Test/baseResults/hlsl.stringtoken.frag.out | 6 +- Test/baseResults/hlsl.struct.frag.out | 6 +- .../baseResults/hlsl.structIoFourWay.frag.out | 8 +- .../hlsl.structarray.flatten.frag.out | 32 ++-- .../hlsl.structbuffer.append.fn.frag.out | 18 +- .../hlsl.structbuffer.append.frag.out | 14 +- .../hlsl.structbuffer.atomics.frag.out | 4 +- .../hlsl.structbuffer.byte.frag.out | 4 +- .../hlsl.structbuffer.coherent.frag.out | 8 +- .../hlsl.structbuffer.floatidx.comp.out | 14 +- .../baseResults/hlsl.structbuffer.fn.frag.out | 18 +- .../hlsl.structbuffer.fn2.comp.out | 6 +- Test/baseResults/hlsl.structbuffer.frag.out | 8 +- ...hlsl.structbuffer.incdec.frag.hlslfun1.out | 18 +- .../hlsl.structbuffer.incdec.frag.out | 14 +- .../baseResults/hlsl.structbuffer.rw.frag.out | 8 +- .../hlsl.structbuffer.rwbyte.frag.out | 4 +- .../hlsl.structbuffer.rwbyte2.comp.out | 8 +- Test/baseResults/hlsl.structcopy.comp.out | 10 +- .../hlsl.structcopylogical.comp.out | 10 +- Test/baseResults/hlsl.subpass.frag.out | 50 ++--- Test/baseResults/hlsl.texture.struct.frag.out | 14 +- .../baseResults/hlsl.texture.subvec4.frag.out | 18 +- Test/baseResults/hlsl.texturebuffer.frag.out | 8 +- Test/baseResults/hlsl.tx.bracket.frag.out | 36 ++-- Test/baseResults/hlsl.tx.overload.frag.out | 8 +- Test/baseResults/hlsl.typeGraphCopy.vert.out | 4 +- Test/baseResults/hlsl.w-recip.frag.out | 4 +- Test/baseResults/hlsl.w-recip2.frag.out | 4 +- Test/baseResults/hlsl.wavebroadcast.comp.out | 4 +- Test/baseResults/hlsl.waveprefix.comp.out | 4 +- Test/baseResults/hlsl.wavequad.comp.out | 4 +- Test/baseResults/hlsl.wavequery.comp.out | 4 +- Test/baseResults/hlsl.wavereduction.comp.out | 4 +- Test/baseResults/hlsl.wavevote.comp.out | 4 +- Test/baseResults/hlsl.y-negate-1.vert.out | 4 +- Test/baseResults/hlsl.y-negate-2.vert.out | 4 +- Test/baseResults/hlsl.y-negate-3.vert.out | 4 +- .../iomap.blockOutVariableIn.2.vert.out | 4 +- .../iomap.blockOutVariableIn.vert.out | 2 +- Test/baseResults/iomap.crossStage.2.vert.out | 32 ++-- Test/baseResults/iomap.crossStage.vert.out | 28 +-- Test/baseResults/iomap.crossStage.vk.vert.out | 32 ++-- .../iomap.variableOutBlockIn.2.vert.out | 4 +- .../iomap.variableOutBlockIn.vert.out | 2 +- ...link.vk.inconsistentGLPerVertex.0.vert.out | 2 +- .../link.vk.matchingPC.0.0.frag.out | 2 +- .../link.vk.multiBlocksValid.0.0.vert.out | 32 ++-- .../link.vk.multiBlocksValid.1.0.geom.out | 28 +-- .../link.vk.pcNamingValid.0.0.vert.out | 8 +- Test/baseResults/link1.vk.frag.out | 10 +- ...onvertUToAccelerationStructureKHR.comp.out | 2 +- Test/baseResults/rayQuery-allOps.comp.out | 10 +- Test/baseResults/rayQuery-allOps.frag.out | 10 +- Test/baseResults/rayQuery-allOps.rgen.out | 10 +- Test/baseResults/rayQuery-global.rgen.out | 2 +- Test/baseResults/rayQuery-initialize.rgen.out | 6 +- Test/baseResults/rayQuery-no-cse.rgen.out | 6 +- Test/baseResults/rayQuery-types.comp.out | 2 +- Test/baseResults/rayQuery.rgen.out | 4 +- ...emap.hlsl.sample.basic.everything.frag.out | 26 +-- .../remap.hlsl.sample.basic.none.frag.out | 32 ++-- .../remap.hlsl.sample.basic.strip.frag.out | 32 ++-- .../remap.uniformarray.none.frag.out | 2 +- .../spv.1.3.8bitstorage-ssbo.vert.out | 4 +- .../spv.1.3.8bitstorage-ubo.vert.out | 4 +- Test/baseResults/spv.1.3.coopmat.comp.out | 4 +- .../spv.1.4.OpCopyLogical.comp.out | 20 +- .../spv.1.4.OpCopyLogical.funcall.frag.out | 6 +- .../spv.1.4.OpCopyLogicalBool.comp.out | 20 +- .../baseResults/spv.1.4.OpEntryPoint.frag.out | 10 +- ...spv.1.4.OpEntryPoint.opaqueParams.vert.out | 6 +- .../spv.1.4.constructComposite.comp.out | 4 +- .../spv.1.4.funcall.array.frag.out | 4 +- Test/baseResults/spv.1.4.image.frag.out | 12 +- ...4.load.bool.array.interface.block.frag.out | 8 +- .../spv.1.4.sparseTexture.frag.out | 12 +- Test/baseResults/spv.1.4.texture.frag.out | 6 +- .../spv.1.6.conditionalDiscard.frag.out | 2 +- ...spv.1.6.helperInvocation.memmodel.frag.out | 4 +- .../spv.1.6.samplerBuffer.frag.out | 2 +- Test/baseResults/spv.1.6.separate.frag.out | 8 +- .../baseResults/spv.1.6.specConstant.comp.out | 4 +- Test/baseResults/spv.130.frag.out | 30 +-- Test/baseResults/spv.140.frag.out | 42 ++--- Test/baseResults/spv.150.geom.out | 12 +- Test/baseResults/spv.150.vert.out | 6 +- .../baseResults/spv.16bitstorage-int.frag.out | 24 +-- .../spv.16bitstorage-uint.frag.out | 24 +-- Test/baseResults/spv.16bitstorage.frag.out | 24 +-- Test/baseResults/spv.16bitxfb.vert.out | 8 +- Test/baseResults/spv.300BuiltIns.vert.out | 6 +- Test/baseResults/spv.300layout.vert.out | 50 ++--- Test/baseResults/spv.300layoutp.vert.out | 50 ++--- Test/baseResults/spv.310.comp.out | 12 +- .../spv.320.meshShaderUserDefined.mesh.out | 2 +- Test/baseResults/spv.330.geom.out | 4 +- Test/baseResults/spv.400.frag.nanclamp.out | 10 +- Test/baseResults/spv.400.frag.out | 10 +- Test/baseResults/spv.400.tesc.out | 8 +- Test/baseResults/spv.400.tese.out | 8 +- Test/baseResults/spv.420.geom.out | 8 +- Test/baseResults/spv.430.frag.out | 4 +- Test/baseResults/spv.430.vert.out | 20 +- Test/baseResults/spv.450.geom.out | 4 +- Test/baseResults/spv.450.noRedecl.tesc.out | 2 +- Test/baseResults/spv.450.tesc.out | 10 +- Test/baseResults/spv.460.frag.out | 4 +- Test/baseResults/spv.460.subgroupEXT.mesh.out | 18 +- Test/baseResults/spv.460.subgroupEXT.task.out | 8 +- .../spv.8bit-16bit-construction.frag.out | 4 +- Test/baseResults/spv.8bitstorage-int.frag.out | 24 +-- .../baseResults/spv.8bitstorage-ssbo.vert.out | 4 +- Test/baseResults/spv.8bitstorage-ubo.vert.out | 4 +- .../baseResults/spv.8bitstorage-uint.frag.out | 24 +-- Test/baseResults/spv.ARMCoreBuiltIns.frag.out | 10 +- Test/baseResults/spv.ARMCoreBuiltIns.vert.out | 4 +- Test/baseResults/spv.AofA.frag.out | 4 +- .../spv.ClosestHitShader.rchit.out | 2 +- .../spv.ClosestHitShaderMotion.rchit.out | 2 +- .../spv.GeometryShaderPassthrough.geom.out | 2 +- Test/baseResults/spv.MissShader.rmiss.out | 2 +- .../spv.MissShaderMotion.rmiss.out | 2 +- Test/baseResults/spv.OVR_multiview.vert.out | 2 +- Test/baseResults/spv.RayConstants.rgen.out | 2 +- Test/baseResults/spv.RayGenShader.rgen.out | 6 +- Test/baseResults/spv.RayGenShader11.rgen.out | 4 +- .../spv.RayGenShaderArray.rgen.out | 6 +- .../spv.RayGenShaderMotion.rgen.out | 2 +- ...pMemoryExplicitLayout.16BitAccess.comp.out | 2 +- ...upMemoryExplicitLayout.8BitAccess.comp.out | 2 +- ...upMemoryExplicitLayout.MultiBlock.comp.out | 8 +- ...pMemoryExplicitLayout.SingleBlock.comp.out | 2 +- ...kgroupMemoryExplicitLayout.scalar.comp.out | 2 +- ...kgroupMemoryExplicitLayout.std140.comp.out | 2 +- ...kgroupMemoryExplicitLayout.std430.comp.out | 2 +- Test/baseResults/spv.aggOps.frag.out | 10 +- .../spv.arbPostDepthCoverage.frag.out | 2 +- Test/baseResults/spv.atomiAddEXT.task.out | 8 +- Test/baseResults/spv.atomic.comp.out | 12 +- .../spv.atomicAdd.bufferReference.comp.out | 10 +- Test/baseResults/spv.atomicFloat.comp.out | 20 +- Test/baseResults/spv.atomicInt64.comp.out | 4 +- .../baseResults/spv.atomicStoreInt64.comp.out | 8 +- Test/baseResults/spv.bool.vert.out | 6 +- Test/baseResults/spv.boolInBlock.frag.out | 8 +- Test/baseResults/spv.branch-return.vert.out | 2 +- .../spv.buffer.autoassign.frag.out | 12 +- Test/baseResults/spv.bufferhandle1.frag.out | 6 +- Test/baseResults/spv.bufferhandle10.frag.out | 6 +- Test/baseResults/spv.bufferhandle11.frag.out | 8 +- Test/baseResults/spv.bufferhandle12.frag.out | 18 +- Test/baseResults/spv.bufferhandle13.frag.out | 10 +- Test/baseResults/spv.bufferhandle14.frag.out | 8 +- Test/baseResults/spv.bufferhandle15.frag.out | 14 +- Test/baseResults/spv.bufferhandle16.frag.out | 2 +- Test/baseResults/spv.bufferhandle18.frag.out | 4 +- Test/baseResults/spv.bufferhandle2.frag.out | 6 +- Test/baseResults/spv.bufferhandle3.frag.out | 14 +- Test/baseResults/spv.bufferhandle4.frag.out | 12 +- Test/baseResults/spv.bufferhandle5.frag.out | 6 +- Test/baseResults/spv.bufferhandle6.frag.out | 10 +- Test/baseResults/spv.bufferhandle7.frag.out | 12 +- Test/baseResults/spv.bufferhandle8.frag.out | 16 +- Test/baseResults/spv.bufferhandle9.frag.out | 6 +- .../spv.bufferhandleUvec2.frag.out | 6 +- Test/baseResults/spv.builtInXFB.vert.out | 8 +- .../spv.builtin.ShadingRateEXT.frag.out | 2 +- .../spv.computeShaderDerivatives.comp.out | 4 +- .../spv.computeShaderDerivatives2.comp.out | 4 +- .../spv.conditionalDemote.frag.out | 2 +- .../spv.conditionalDiscard.frag.out | 2 +- .../spv.constructComposite.comp.out | 4 +- Test/baseResults/spv.coopmat.comp.out | 10 +- Test/baseResults/spv.coopmatKHR.comp.out | 10 +- .../spv.coopmat_armlayout.comp.out | 10 +- Test/baseResults/spv.dataOutIndirect.frag.out | 4 +- Test/baseResults/spv.debugInfo.1.1.frag.out | 6 +- Test/baseResults/spv.debugInfo.frag.out | 6 +- .../spv.debuginfo.bufferref.glsl.frag.out | 8 +- Test/baseResults/spv.debuginfo.glsl.comp.out | 14 +- Test/baseResults/spv.debuginfo.glsl.frag.out | 14 +- Test/baseResults/spv.debuginfo.glsl.geom.out | 20 +- Test/baseResults/spv.debuginfo.glsl.tesc.out | 18 +- Test/baseResults/spv.debuginfo.glsl.tese.out | 14 +- Test/baseResults/spv.debuginfo.glsl.vert.out | 10 +- Test/baseResults/spv.debuginfo.hlsl.comp.out | 16 +- Test/baseResults/spv.debuginfo.hlsl.frag.out | 22 +-- Test/baseResults/spv.debuginfo.hlsl.geom.out | 8 +- Test/baseResults/spv.debuginfo.hlsl.tesc.out | 16 +- Test/baseResults/spv.debuginfo.hlsl.tese.out | 18 +- Test/baseResults/spv.debuginfo.hlsl.vert.out | 8 +- .../spv.debuginfo.include.glsl.frag.out | 4 +- .../spv.debuginfo.rt_types.glsl.rgen.out | 4 +- Test/baseResults/spv.deepRvalue.frag.out | 2 +- Test/baseResults/spv.deviceGroup.frag.out | 2 +- Test/baseResults/spv.double.comp.out | 8 +- .../spv.expect_assume.assumeEXT.comp.out | 4 +- .../spv.expect_assume.expectEXT.comp.out | 4 +- ....expect_assume.expectEXT.exttypes.comp.out | 4 +- Test/baseResults/spv.explicittypes.frag.out | 8 +- Test/baseResults/spv.ext.AccelDecl.frag.out | 2 +- .../spv.ext.ClosestHitShader.rchit.out | 2 +- ...pv.ext.ClosestHitShader_Subgroup.rchit.out | 2 +- Test/baseResults/spv.ext.MissShader.rmiss.out | 4 +- .../baseResults/spv.ext.RayConstants.rgen.out | 2 +- .../spv.ext.RayGenSBTlayout.rgen.out | 2 +- .../spv.ext.RayGenSBTlayout140.rgen.out | 2 +- .../spv.ext.RayGenSBTlayout430.rgen.out | 2 +- .../spv.ext.RayGenSBTlayoutscalar.rgen.out | 2 +- .../baseResults/spv.ext.RayGenShader.rgen.out | 8 +- .../spv.ext.RayGenShader11.rgen.out | 4 +- .../spv.ext.RayGenShaderArray.rgen.out | 6 +- Test/baseResults/spv.ext.World3x4.rahit.out | 2 +- .../spv.ext.meshShaderBuiltins.mesh.out | 18 +- ...ext.meshShaderBuiltinsShadingRate.mesh.out | 22 +-- .../spv.ext.meshShaderRedeclBuiltins.mesh.out | 18 +- .../spv.ext.meshShaderTaskMem.mesh.out | 4 +- .../spv.ext.meshShaderUserDefined.mesh.out | 2 +- .../spv.ext.meshTaskShader.task.out | 8 +- .../spv.ext.textureShadowLod.frag.out | 6 +- Test/baseResults/spv.float16.frag.out | 16 +- Test/baseResults/spv.float16Fetch.frag.out | 88 ++++----- .../baseResults/spv.float16NoRelaxed.vert.out | 4 +- Test/baseResults/spv.float32.frag.out | 8 +- Test/baseResults/spv.float64.frag.out | 8 +- Test/baseResults/spv.floatFetch.frag.out | 88 ++++----- Test/baseResults/spv.forwardFun.frag.out | 2 +- .../spv.fragmentDensity-es.frag.out | 4 +- Test/baseResults/spv.fragmentDensity.frag.out | 4 +- Test/baseResults/spv.fsi.frag.out | 8 +- Test/baseResults/spv.funcall.array.frag.out | 4 +- .../spv.functionNestedOpaque.vert.out | 2 +- .../spv.glsl.register.autoassign.frag.out | 34 ++-- .../spv.glsl.register.noautoassign.frag.out | 34 ++-- Test/baseResults/spv.hlslOffsets.vert.out | 4 +- Test/baseResults/spv.image.frag.out | 34 ++-- Test/baseResults/spv.imageAtomic64.comp.out | 6 +- Test/baseResults/spv.imageAtomic64.frag.out | 26 +-- .../spv.imageLoadStoreLod.frag.out | 32 ++-- Test/baseResults/spv.int16.amd.frag.out | 8 +- Test/baseResults/spv.int16.frag.out | 8 +- Test/baseResults/spv.int32.frag.out | 8 +- Test/baseResults/spv.int64.frag.out | 8 +- Test/baseResults/spv.int8.frag.out | 8 +- Test/baseResults/spv.intcoopmat.comp.out | 10 +- ...spv.intrinsicsInteractWithCoopMat.comp.out | 4 +- .../spv.intrinsicsSpirvDecorateId.comp.out | 8 +- .../spv.intrinsicsSpirvType.rgen.out | 2 +- Test/baseResults/spv.invariantAll.vert.out | 18 +- Test/baseResults/spv.layoutNested.vert.out | 50 ++--- ...v.load.bool.array.interface.block.frag.out | 8 +- Test/baseResults/spv.localAggregates.frag.out | 2 +- Test/baseResults/spv.matFun.vert.out | 16 +- Test/baseResults/spv.memoryQualifier.frag.out | 26 +-- .../spv.memoryScopeSemantics.comp.out | 34 ++-- .../spv.meshShaderBuiltins.mesh.out | 22 +-- .../spv.meshShaderPerViewBuiltins.mesh.out | 22 +-- .../spv.meshShaderPerViewUserDefined.mesh.out | 20 +- .../spv.meshShaderRedeclBuiltins.mesh.out | 18 +- ...v.meshShaderRedeclPerViewBuiltins.mesh.out | 18 +- .../spv.meshShaderSharedMem.mesh.out | 8 +- .../spv.meshShaderTaskMem.mesh.out | 12 +- .../spv.meshShaderUserDefined.mesh.out | 2 +- Test/baseResults/spv.meshTaskShader.task.out | 20 +- Test/baseResults/spv.multiStruct.comp.out | 20 +- .../spv.multiStructFuncall.frag.out | 6 +- Test/baseResults/spv.multiView.frag.out | 2 +- .../spv.multiple.var.same.const.frag.out | 21 +++ .../spv.multiviewPerViewAttributes.tesc.out | 4 +- .../spv.multiviewPerViewAttributes.vert.out | 2 +- Test/baseResults/spv.newTexture.frag.out | 36 ++-- Test/baseResults/spv.noBuiltInLoc.vert.out | 6 +- .../spv.noDeadDecorations.vert.out | 4 +- Test/baseResults/spv.nonuniform.frag.out | 28 +-- Test/baseResults/spv.nonuniform2.frag.out | 2 +- Test/baseResults/spv.nonuniform3.frag.out | 4 +- Test/baseResults/spv.nonuniform4.frag.out | 2 +- Test/baseResults/spv.nonuniform5.frag.out | 4 +- Test/baseResults/spv.nv.dmm-allops.comp.out | 6 +- Test/baseResults/spv.nv.dmm-allops.mesh.out | 6 +- Test/baseResults/spv.nv.dmm-allops.rahit.out | 6 +- Test/baseResults/spv.nv.dmm-allops.rchit.out | 6 +- Test/baseResults/spv.nv.dmm-allops.rgen.out | 6 +- .../spv.nv.hitobject-allops.rchit.out | 6 +- .../spv.nv.hitobject-allops.rgen.out | 6 +- .../spv.nv.hitobject-allops.rmiss.out | 6 +- Test/baseResults/spv.nvAtomicFp16Vec.frag.out | 60 +++--- Test/baseResults/spv.offsets.frag.out | 8 +- Test/baseResults/spv.paramMemory.420.frag.out | 16 +- Test/baseResults/spv.paramMemory.frag.out | 8 +- Test/baseResults/spv.perprimitiveNV.frag.out | 4 +- Test/baseResults/spv.pp.line.frag.out | 4 +- Test/baseResults/spv.precise.tesc.out | 4 +- Test/baseResults/spv.precise.tese.out | 2 +- Test/baseResults/spv.precision.frag.out | 4 +- Test/baseResults/spv.precisionArgs.frag.out | 2 +- .../spv.precisionNonESSamp.frag.out | 8 +- .../baseResults/spv.precisionTexture.frag.out | 12 +- Test/baseResults/spv.pushConstant.vert.out | 2 +- .../baseResults/spv.pushConstantAnon.vert.out | 2 +- Test/baseResults/spv.queryL.frag.out | 40 ++-- .../baseResults/spv.queueFamilyScope.comp.out | 4 +- Test/baseResults/spv.rankShift.comp.out | 4 +- .../spv.register.autoassign-2.frag.out | 6 +- .../spv.register.autoassign.frag.out | 34 ++-- ...spv.register.autoassign.rangetest.frag.out | 4 +- .../spv.register.noautoassign.frag.out | 34 ++-- .../baseResults/spv.register.subpass.frag.out | 6 +- Test/baseResults/spv.rw.autoassign.frag.out | 4 +- Test/baseResults/spv.sampleId.frag.out | 2 +- .../spv.sampledImageBlock.frag.out | 8 +- .../spv.samplerlessTextureFunctions.frag.out | 6 +- Test/baseResults/spv.scalarlayout.frag.out | 8 +- .../spv.scalarlayoutfloat16.frag.out | 4 +- Test/baseResults/spv.separate.frag.out | 76 ++++---- Test/baseResults/spv.set.vert.out | 6 +- Test/baseResults/spv.shaderBallot.comp.out | 4 +- Test/baseResults/spv.shaderBallotAMD.comp.out | 4 +- .../baseResults/spv.shaderDrawParams.vert.out | 6 +- .../spv.shaderFragMaskAMD.frag.out | 6 +- Test/baseResults/spv.shaderGroupVote.comp.out | 4 +- .../spv.shaderImageFootprint.frag.out | 12 +- Test/baseResults/spv.shadingRate.frag.out | 4 +- Test/baseResults/spv.smBuiltins.frag.out | 8 +- Test/baseResults/spv.smBuiltins.vert.out | 4 +- Test/baseResults/spv.sparseTexture.frag.out | 30 +-- .../spv.sparseTextureClamp.frag.out | 22 +-- Test/baseResults/spv.specConst.vert.out | 2 +- Test/baseResults/spv.specConstant.comp.out | 4 +- .../spv.specConstant.float16.comp.out | 4 +- .../spv.specConstant.int16.comp.out | 4 +- .../spv.specConstant.int8.comp.out | 4 +- .../spv.specConstantOp.float16.comp.out | 4 +- .../spv.specConstantOp.int16.comp.out | 4 +- .../spv.specConstantOp.int8.comp.out | 4 +- Test/baseResults/spv.specTexture.frag.out | 2 +- Test/baseResults/spv.ssbo.autoassign.frag.out | 12 +- Test/baseResults/spv.ssboAlias.frag.out | 14 +- .../spv.stereoViewRendering.tesc.out | 4 +- .../spv.stereoViewRendering.vert.out | 2 +- Test/baseResults/spv.storageBuffer.vert.out | 10 +- .../baseResults/spv.structAssignment.frag.out | 2 +- Test/baseResults/spv.structCopy.comp.out | 8 +- Test/baseResults/spv.structDeref.frag.out | 2 +- Test/baseResults/spv.structure.frag.out | 2 +- Test/baseResults/spv.subgroup.frag.out | 4 +- Test/baseResults/spv.subgroup.geom.out | 4 +- Test/baseResults/spv.subgroup.tesc.out | 4 +- Test/baseResults/spv.subgroup.tese.out | 4 +- Test/baseResults/spv.subgroup.vert.out | 4 +- .../spv.subgroupArithmetic.comp.out | 4 +- Test/baseResults/spv.subgroupBallot.comp.out | 4 +- Test/baseResults/spv.subgroupBasic.comp.out | 4 +- .../spv.subgroupClustered.comp.out | 4 +- ...v.subgroupExtendedTypesArithmetic.comp.out | 4 +- .../spv.subgroupExtendedTypesBallot.comp.out | 4 +- ...pv.subgroupExtendedTypesClustered.comp.out | 4 +- ....subgroupExtendedTypesPartitioned.comp.out | 4 +- .../spv.subgroupExtendedTypesQuad.comp.out | 4 +- .../spv.subgroupExtendedTypesRotate.comp.out | 8 +- .../spv.subgroupExtendedTypesShuffle.comp.out | 4 +- ...groupExtendedTypesShuffleRelative.comp.out | 4 +- .../spv.subgroupExtendedTypesVote.comp.out | 4 +- .../spv.subgroupPartitioned.comp.out | 4 +- Test/baseResults/spv.subgroupQuad.comp.out | 4 +- Test/baseResults/spv.subgroupRotate.comp.out | 8 +- Test/baseResults/spv.subgroupShuffle.comp.out | 4 +- .../spv.subgroupShuffleRelative.comp.out | 4 +- Test/baseResults/spv.subgroupSizeARB.frag.out | 2 +- Test/baseResults/spv.subgroupVote.comp.out | 4 +- Test/baseResults/spv.subpass.frag.out | 12 +- Test/baseResults/spv.switch.frag.out | 4 +- Test/baseResults/spv.test.frag.out | 4 +- Test/baseResults/spv.texture.frag.out | 12 +- .../spv.texture.sampler.transform.frag.out | 2 +- Test/baseResults/spv.texture.vert.out | 12 +- Test/baseResults/spv.textureBuffer.vert.out | 10 +- .../spv.textureGatherBiasLod.frag.out | 8 +- .../spv.tpipBlockMatchGatherSAD.frag.out | 18 +- .../spv.tpipBlockMatchGatherSSD.frag.out | 18 +- .../spv.tpipBlockMatchSAD.frag.out | 18 +- .../spv.tpipBlockMatchSSD.frag.out | 18 +- .../spv.tpipBlockMatchWindowSAD.frag.out | 18 +- .../spv.tpipBlockMatchWindowSSD.frag.out | 18 +- Test/baseResults/spv.tpipBoxFilter.frag.out | 10 +- .../spv.tpipSampleWeighted.frag.out | 12 +- .../spv.tpipTextureArrays.frag.out | 10 +- Test/baseResults/spv.uint.frag.out | 2 +- Test/baseResults/spv.uniformArray.frag.out | 2 +- .../spv.uniformInitializer.frag.out | 2 +- .../spv.uniformInitializerStruct.frag.out | 2 +- .../spv.variableArrayIndex.frag.out | 2 +- Test/baseResults/spv.varyingArray.frag.out | 2 +- .../spv.varyingArrayIndirect.frag.out | 2 +- Test/baseResults/spv.viewportArray2.tesc.out | 2 +- Test/baseResults/spv.volatileAtomic.comp.out | 4 +- Test/baseResults/spv.vulkan110.int16.frag.out | 8 +- .../spv.vulkan110.storageBuffer.vert.out | 10 +- Test/baseResults/spv.xfb.vert.out | 8 +- Test/baseResults/spv.xfb2.vert.out | 8 +- Test/baseResults/spv.xfb3.vert.out | 8 +- ...xfbOffsetOnBlockMembersAssignment.vert.out | 4 +- ...fbOffsetOnStructMembersAssignment.vert.out | 6 +- ...rlapOffsetCheckWithBlockAndMember.vert.out | 4 +- .../spv.xfbStrideJustOnce.vert.out | 2 +- .../baseResults/vk.relaxed.changeSet.vert.out | 12 +- Test/baseResults/vk.relaxed.frag.out | 32 ++-- Test/baseResults/vk.relaxed.link1.frag.out | 8 +- .../vk.relaxed.stagelink.0.0.vert.out | 176 +++++++++--------- .../baseResults/vk.relaxed.stagelink.vert.out | 16 +- Test/spv.multiple.var.same.const.frag | 6 + gtests/Spv.FromFile.cpp | 1 + 575 files changed, 3482 insertions(+), 3414 deletions(-) create mode 100644 Test/baseResults/spv.multiple.var.same.const.frag.out create mode 100644 Test/spv.multiple.var.same.const.frag diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index d5c03704..738c9169 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -1979,7 +1979,7 @@ void Builder::addDecoration(Id id, Decoration decoration, int num) if (num >= 0) dec->addImmediateOperand(num); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addDecoration(Id id, Decoration decoration, const char* s) @@ -1993,7 +1993,7 @@ void Builder::addDecoration(Id id, Decoration decoration, const char* s) dec->addImmediateOperand(decoration); dec->addStringOperand(s); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addDecoration(Id id, Decoration decoration, const std::vector& literals) @@ -2008,7 +2008,7 @@ void Builder::addDecoration(Id id, Decoration decoration, const std::vectoraddImmediateOperand(literal); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addDecoration(Id id, Decoration decoration, const std::vector& strings) @@ -2023,7 +2023,7 @@ void Builder::addDecoration(Id id, Decoration decoration, const std::vectoraddStringOperand(string); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addLinkageDecoration(Id id, const char* name, spv::LinkageType linkType) { @@ -2034,7 +2034,7 @@ void Builder::addLinkageDecoration(Id id, const char* name, spv::LinkageType lin dec->addStringOperand(name); dec->addImmediateOperand(linkType); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addDecorationId(Id id, Decoration decoration, Id idDecoration) @@ -2048,7 +2048,7 @@ void Builder::addDecorationId(Id id, Decoration decoration, Id idDecoration) dec->addImmediateOperand(decoration); dec->addIdOperand(idDecoration); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addDecorationId(Id id, Decoration decoration, const std::vector& operandIds) @@ -2064,7 +2064,7 @@ void Builder::addDecorationId(Id id, Decoration decoration, const std::vectoraddIdOperand(operandId); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decoration, int num) @@ -2080,7 +2080,7 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat if (num >= 0) dec->addImmediateOperand(num); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decoration, const char *s) @@ -2095,7 +2095,7 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat dec->addImmediateOperand(decoration); dec->addStringOperand(s); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decoration, const std::vector& literals) @@ -2111,7 +2111,7 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat for (auto literal : literals) dec->addImmediateOperand(literal); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decoration, const std::vector& strings) @@ -2127,7 +2127,7 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat for (auto string : strings) dec->addStringOperand(string); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addInstruction(std::unique_ptr inst) { @@ -4330,11 +4330,10 @@ void Builder::dumpSourceInstructions(std::vector& out) const dumpSourceInstructions(iItr->first, *iItr->second, out); } -void Builder::dumpInstructions(std::vector& out, - const std::vector >& instructions) const +template void Builder::dumpInstructions(std::vector& out, const Range& instructions) const { - for (int i = 0; i < (int)instructions.size(); ++i) { - instructions[i]->dump(out); + for (const auto& inst : instructions) { + inst->dump(out); } } @@ -4347,4 +4346,40 @@ void Builder::dumpModuleProcesses(std::vector& out) const } } +bool Builder::DecorationInstructionLessThan::operator()(const std::unique_ptr& lhs, + const std::unique_ptr& rhs) const +{ + // Order by the id to which the decoration applies first. This is more intuitive. + assert(lhs->isIdOperand(0) && rhs->isIdOperand(0)); + if (lhs->getIdOperand(0) != rhs->getIdOperand(0)) { + return lhs->getIdOperand(0) < rhs->getIdOperand(0); + } + + if (lhs->getOpCode() != rhs->getOpCode()) + return lhs->getOpCode() < rhs->getOpCode(); + + // Now compare the operands. + int minSize = std::min(lhs->getNumOperands(), rhs->getNumOperands()); + for (int i = 1; i < minSize; ++i) { + if (lhs->isIdOperand(i) != rhs->isIdOperand(i)) { + return lhs->isIdOperand(i) < rhs->isIdOperand(i); + } + + if (lhs->isIdOperand(i)) { + if (lhs->getIdOperand(i) != rhs->getIdOperand(i)) { + return lhs->getIdOperand(i) < rhs->getIdOperand(i); + } + } else { + if (lhs->getImmediateOperand(i) != rhs->getImmediateOperand(i)) { + return lhs->getImmediateOperand(i) < rhs->getImmediateOperand(i); + } + } + } + + if (lhs->getNumOperands() != rhs->getNumOperands()) + return lhs->getNumOperands() < rhs->getNumOperands(); + + // In this case they are equal. + return false; +} } // end spv namespace diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h index 08057f43..ab4d5abe 100644 --- a/SPIRV/SpvBuilder.h +++ b/SPIRV/SpvBuilder.h @@ -890,10 +890,13 @@ public: void createSelectionMerge(Block* mergeBlock, unsigned int control); void dumpSourceInstructions(std::vector&) const; void dumpSourceInstructions(const spv::Id fileId, const std::string& text, std::vector&) const; - void dumpInstructions(std::vector&, const std::vector >&) const; + template void dumpInstructions(std::vector& out, const Range& instructions) const; void dumpModuleProcesses(std::vector&) const; spv::MemoryAccessMask sanitizeMemoryAccessForStorageClass(spv::MemoryAccessMask memoryAccess, StorageClass sc) const; + struct DecorationInstructionLessThan { + bool operator()(const std::unique_ptr& lhs, const std::unique_ptr& rhs) const; + }; unsigned int spvVersion; // the version of SPIR-V to emit in the header SourceLanguage sourceLang; @@ -950,7 +953,7 @@ public: std::vector > entryPoints; std::vector > executionModes; std::vector > names; - std::vector > decorations; + std::set, DecorationInstructionLessThan> decorations; std::vector > constantsTypesGlobals; std::vector > externals; std::vector > functions; diff --git a/SPIRV/SpvPostProcess.cpp b/SPIRV/SpvPostProcess.cpp index 5b3fbb56..e35ab71f 100644 --- a/SPIRV/SpvPostProcess.cpp +++ b/SPIRV/SpvPostProcess.cpp @@ -387,12 +387,14 @@ void Builder::postProcessCFG() } // Remove unneeded decorations, for unreachable instructions - decorations.erase(std::remove_if(decorations.begin(), decorations.end(), - [&unreachableDefinitions](std::unique_ptr& I) -> bool { - Id decoration_id = I.get()->getIdOperand(0); - return unreachableDefinitions.count(decoration_id) != 0; - }), - decorations.end()); + for (auto decorationIter = decorations.begin(); decorationIter != decorations.end();) { + Id decorationId = (*decorationIter)->getIdOperand(0); + if (unreachableDefinitions.count(decorationId) != 0) { + decorationIter = decorations.erase(decorationIter); + } else { + ++decorationIter; + } + } } // comment in header diff --git a/Test/baseLegalResults/hlsl.aliasOpaque.frag.out b/Test/baseLegalResults/hlsl.aliasOpaque.frag.out index 100f6d71..1e6521e6 100644 --- a/Test/baseLegalResults/hlsl.aliasOpaque.frag.out +++ b/Test/baseLegalResults/hlsl.aliasOpaque.frag.out @@ -13,10 +13,10 @@ hlsl.aliasOpaque.frag Name 47 "gss" Name 51 "gtex" Name 62 "@entryPointOutput" - Decorate 47(gss) DescriptorSet 0 Decorate 47(gss) Binding 0 - Decorate 51(gtex) DescriptorSet 0 + Decorate 47(gss) DescriptorSet 0 Decorate 51(gtex) Binding 2 + Decorate 51(gtex) DescriptorSet 0 Decorate 62(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseLegalResults/hlsl.flattenOpaque.frag.out b/Test/baseLegalResults/hlsl.flattenOpaque.frag.out index be1637ff..3a839db9 100644 --- a/Test/baseLegalResults/hlsl.flattenOpaque.frag.out +++ b/Test/baseLegalResults/hlsl.flattenOpaque.frag.out @@ -15,14 +15,14 @@ hlsl.flattenOpaque.frag Name 97 "s2.s2D" Name 100 "s2.tex" Name 120 "@entryPointOutput" - Decorate 38(tex) DescriptorSet 0 Decorate 38(tex) Binding 0 - Decorate 82(s.s2D) DescriptorSet 0 + Decorate 38(tex) DescriptorSet 0 Decorate 82(s.s2D) Binding 1 - Decorate 97(s2.s2D) DescriptorSet 0 + Decorate 82(s.s2D) DescriptorSet 0 Decorate 97(s2.s2D) Binding 2 - Decorate 100(s2.tex) DescriptorSet 0 + Decorate 97(s2.s2D) DescriptorSet 0 Decorate 100(s2.tex) Binding 3 + Decorate 100(s2.tex) DescriptorSet 0 Decorate 120(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out index 18d76949..5aa5fdc2 100644 --- a/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out +++ b/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out @@ -12,10 +12,10 @@ hlsl.flattenOpaqueInit.vert Name 43 "g_tInputTexture_sampler" Name 47 "g_tInputTexture" Name 80 "@entryPointOutput" - Decorate 43(g_tInputTexture_sampler) DescriptorSet 0 Decorate 43(g_tInputTexture_sampler) Binding 0 - Decorate 47(g_tInputTexture) DescriptorSet 0 + Decorate 43(g_tInputTexture_sampler) DescriptorSet 0 Decorate 47(g_tInputTexture) Binding 1 + Decorate 47(g_tInputTexture) DescriptorSet 0 Decorate 80(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out index 914d9b5d..60e71516 100644 --- a/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out +++ b/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out @@ -12,10 +12,10 @@ hlsl.flattenOpaqueInitMix.vert Name 44 "g_tInputTexture_sampler" Name 47 "g_tInputTexture" Name 57 "@entryPointOutput" - Decorate 44(g_tInputTexture_sampler) DescriptorSet 0 Decorate 44(g_tInputTexture_sampler) Binding 0 - Decorate 47(g_tInputTexture) DescriptorSet 0 + Decorate 44(g_tInputTexture_sampler) DescriptorSet 0 Decorate 47(g_tInputTexture) Binding 1 + Decorate 47(g_tInputTexture) DescriptorSet 0 Decorate 57(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseLegalResults/hlsl.flattenSubset.frag.out b/Test/baseLegalResults/hlsl.flattenSubset.frag.out index 2be41f04..92c62cf0 100644 --- a/Test/baseLegalResults/hlsl.flattenSubset.frag.out +++ b/Test/baseLegalResults/hlsl.flattenSubset.frag.out @@ -13,10 +13,10 @@ hlsl.flattenSubset.frag Name 21 "samp" Name 33 "tex" Name 50 "@entryPointOutput" - Decorate 21(samp) DescriptorSet 0 Decorate 21(samp) Binding 0 - Decorate 33(tex) DescriptorSet 0 + Decorate 21(samp) DescriptorSet 0 Decorate 33(tex) Binding 1 + Decorate 33(tex) DescriptorSet 0 Decorate 50(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/glsl.autosampledtextures.frag.out b/Test/baseResults/glsl.autosampledtextures.frag.out index cbbb2021..522cc4ad 100644 --- a/Test/baseResults/glsl.autosampledtextures.frag.out +++ b/Test/baseResults/glsl.autosampledtextures.frag.out @@ -14,8 +14,8 @@ glsl.autosampledtextures.frag Name 13 "u_Tex" Name 17 "in_UV" Name 21 "out_Color" - Decorate 13(u_Tex) DescriptorSet 0 Decorate 13(u_Tex) Binding 0 + Decorate 13(u_Tex) DescriptorSet 0 Decorate 17(in_UV) Location 0 Decorate 21(out_Color) Location 0 2: TypeVoid diff --git a/Test/baseResults/glsl.entryPointRename.vert.bad.out b/Test/baseResults/glsl.entryPointRename.vert.bad.out index ae5de6e3..d46ef59a 100644 --- a/Test/baseResults/glsl.entryPointRename.vert.bad.out +++ b/Test/baseResults/glsl.entryPointRename.vert.bad.out @@ -17,11 +17,11 @@ ERROR: Source entry point must be "main" MemberName 11(gl_PerVertex) 2 "gl_ClipDistance" MemberName 11(gl_PerVertex) 3 "gl_CullDistance" Name 13 "" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/glsl.entryPointRename.vert.out b/Test/baseResults/glsl.entryPointRename.vert.out index bc142a58..87ddf2a0 100644 --- a/Test/baseResults/glsl.entryPointRename.vert.out +++ b/Test/baseResults/glsl.entryPointRename.vert.out @@ -15,11 +15,11 @@ glsl.entryPointRename.vert MemberName 11(gl_PerVertex) 2 "gl_ClipDistance" MemberName 11(gl_PerVertex) 3 "gl_CullDistance" Name 13 "" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.aliasOpaque.frag.out b/Test/baseResults/hlsl.aliasOpaque.frag.out index 7bea6917..af6d18ba 100644 --- a/Test/baseResults/hlsl.aliasOpaque.frag.out +++ b/Test/baseResults/hlsl.aliasOpaque.frag.out @@ -166,12 +166,12 @@ gl_FragCoord origin is upper left Name 51 "gtex" Name 56 "param" Name 62 "@entryPointOutput" - Decorate 44(gss2) DescriptorSet 0 Decorate 44(gss2) Binding 1 - Decorate 47(gss) DescriptorSet 0 + Decorate 44(gss2) DescriptorSet 0 Decorate 47(gss) Binding 0 - Decorate 51(gtex) DescriptorSet 0 + Decorate 47(gss) DescriptorSet 0 Decorate 51(gtex) Binding 2 + Decorate 51(gtex) DescriptorSet 0 Decorate 62(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.amend.frag.out b/Test/baseResults/hlsl.amend.frag.out index b8ac133c..89b0c948 100644 --- a/Test/baseResults/hlsl.amend.frag.out +++ b/Test/baseResults/hlsl.amend.frag.out @@ -182,14 +182,14 @@ gl_FragCoord origin is upper left MemberName 20($Global) 3 "d" MemberName 20($Global) 4 "e" Name 22 "" + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 16 MemberDecorate 20($Global) 2 Offset 32 MemberDecorate 20($Global) 3 Offset 44 MemberDecorate 20($Global) 4 Offset 48 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 0 + Decorate 22 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 14: TypeFloat 32 diff --git a/Test/baseResults/hlsl.array.flatten.frag.out b/Test/baseResults/hlsl.array.flatten.frag.out index 264a716c..e225f196 100644 --- a/Test/baseResults/hlsl.array.flatten.frag.out +++ b/Test/baseResults/hlsl.array.flatten.frag.out @@ -392,44 +392,44 @@ gl_FragCoord origin is upper left Name 140 "g_samp_explicit[0]" Name 141 "g_samp_explicit[1]" Name 142 "g_samp_explicit[2]" - Decorate 42(g_tex[1]) DescriptorSet 0 Decorate 42(g_tex[1]) Binding 4 - Decorate 45(g_samp[1]) DescriptorSet 0 + Decorate 42(g_tex[1]) DescriptorSet 0 Decorate 45(g_samp[1]) Binding 10 - Decorate 65(g_samp[0]) DescriptorSet 0 + Decorate 45(g_samp[1]) DescriptorSet 0 Decorate 65(g_samp[0]) Binding 9 - Decorate 70(g_samp[2]) DescriptorSet 0 + Decorate 65(g_samp[0]) DescriptorSet 0 Decorate 70(g_samp[2]) Binding 11 - Decorate 74(g_tex[0]) DescriptorSet 0 + Decorate 70(g_samp[2]) DescriptorSet 0 Decorate 74(g_tex[0]) Binding 0 - Decorate 79(g_tex[2]) DescriptorSet 0 + Decorate 74(g_tex[0]) DescriptorSet 0 Decorate 79(g_tex[2]) Binding 8 + Decorate 79(g_tex[2]) DescriptorSet 0 Decorate 88 ArrayStride 48 Decorate 89 ArrayStride 48 Decorate 90 ArrayStride 16 - MemberDecorate 91($Global) 0 RowMajor - MemberDecorate 91($Global) 0 Offset 0 - MemberDecorate 91($Global) 0 MatrixStride 16 - MemberDecorate 91($Global) 1 RowMajor - MemberDecorate 91($Global) 1 Offset 192 - MemberDecorate 91($Global) 1 MatrixStride 16 - MemberDecorate 91($Global) 2 Offset 384 Decorate 91($Global) Block - Decorate 93 DescriptorSet 0 + MemberDecorate 91($Global) 0 RowMajor + MemberDecorate 91($Global) 0 MatrixStride 16 + MemberDecorate 91($Global) 0 Offset 0 + MemberDecorate 91($Global) 1 RowMajor + MemberDecorate 91($Global) 1 MatrixStride 16 + MemberDecorate 91($Global) 1 Offset 192 + MemberDecorate 91($Global) 2 Offset 384 Decorate 93 Binding 12 + Decorate 93 DescriptorSet 0 Decorate 134(ps_output.color) Location 0 - Decorate 137(g_tex_explicit[0]) DescriptorSet 0 Decorate 137(g_tex_explicit[0]) Binding 1 - Decorate 138(g_tex_explicit[1]) DescriptorSet 0 + Decorate 137(g_tex_explicit[0]) DescriptorSet 0 Decorate 138(g_tex_explicit[1]) Binding 2 - Decorate 139(g_tex_explicit[2]) DescriptorSet 0 + Decorate 138(g_tex_explicit[1]) DescriptorSet 0 Decorate 139(g_tex_explicit[2]) Binding 3 - Decorate 140(g_samp_explicit[0]) DescriptorSet 0 + Decorate 139(g_tex_explicit[2]) DescriptorSet 0 Decorate 140(g_samp_explicit[0]) Binding 5 - Decorate 141(g_samp_explicit[1]) DescriptorSet 0 + Decorate 140(g_samp_explicit[0]) DescriptorSet 0 Decorate 141(g_samp_explicit[1]) Binding 6 - Decorate 142(g_samp_explicit[2]) DescriptorSet 0 + Decorate 141(g_samp_explicit[1]) DescriptorSet 0 Decorate 142(g_samp_explicit[2]) Binding 7 + Decorate 142(g_samp_explicit[2]) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out index 6a13326a..45307eac 100644 --- a/Test/baseResults/hlsl.array.frag.out +++ b/Test/baseResults/hlsl.array.frag.out @@ -328,13 +328,13 @@ gl_FragCoord origin is upper left Decorate 47 ArrayStride 112 Decorate 49 ArrayStride 16 Decorate 50 ArrayStride 16 + Decorate 51($Global) Block MemberDecorate 51($Global) 0 Offset 0 MemberDecorate 51($Global) 1 Offset 64 MemberDecorate 51($Global) 2 Offset 1296 MemberDecorate 51($Global) 3 Offset 1312 - Decorate 51($Global) Block - Decorate 53 DescriptorSet 0 Decorate 53 Binding 0 + Decorate 53 DescriptorSet 0 Decorate 103(i) Flat Decorate 103(i) Location 0 Decorate 107(input) Location 1 diff --git a/Test/baseResults/hlsl.array.multidim.frag.out b/Test/baseResults/hlsl.array.multidim.frag.out index 7b9d9621..50cfeb21 100644 --- a/Test/baseResults/hlsl.array.multidim.frag.out +++ b/Test/baseResults/hlsl.array.multidim.frag.out @@ -157,10 +157,10 @@ gl_FragCoord origin is upper left Decorate 22 ArrayStride 16 Decorate 24 ArrayStride 48 Decorate 26 ArrayStride 192 - MemberDecorate 27($Global) 0 Offset 0 Decorate 27($Global) Block - Decorate 29 DescriptorSet 0 + MemberDecorate 27($Global) 0 Offset 0 Decorate 29 Binding 0 + Decorate 29 DescriptorSet 0 Decorate 54(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.attribute.expression.comp.out b/Test/baseResults/hlsl.attribute.expression.comp.out index ee183c8d..910ccfdb 100644 --- a/Test/baseResults/hlsl.attribute.expression.comp.out +++ b/Test/baseResults/hlsl.attribute.expression.comp.out @@ -79,10 +79,10 @@ local_size = (4, 6, 8) Name 18 "$Global" MemberName 18($Global) 0 "bound" Name 20 "" - MemberDecorate 18($Global) 0 Offset 0 Decorate 18($Global) Block - Decorate 20 DescriptorSet 0 + MemberDecorate 18($Global) 0 Offset 0 Decorate 20 Binding 0 + Decorate 20 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.attributeC11.frag.out b/Test/baseResults/hlsl.attributeC11.frag.out index c97c300a..8def5712 100644 --- a/Test/baseResults/hlsl.attributeC11.frag.out +++ b/Test/baseResults/hlsl.attributeC11.frag.out @@ -122,23 +122,23 @@ Validation failed Name 48 "pcBuf" MemberName 48(pcBuf) 0 "a" Name 50 "" - Decorate 16(attach) DescriptorSet 0 Decorate 16(attach) Binding 0 + Decorate 16(attach) DescriptorSet 0 Decorate 16(attach) InputAttachmentIndex 4 Decorate 33(input) Location 8 Decorate 36(@entryPointOutput) Location 7 MemberDecorate 41(S) 0 Offset 0 Decorate 42 ArrayStride 8 + Decorate 43(buffer1) BufferBlock MemberDecorate 43(buffer1) 0 NonWritable MemberDecorate 43(buffer1) 0 Offset 0 - Decorate 43(buffer1) BufferBlock - Decorate 45(buffer1) DescriptorSet 0 Decorate 45(buffer1) Binding 1 - Decorate 46(buffer3) DescriptorSet 2 + Decorate 45(buffer1) DescriptorSet 0 Decorate 46(buffer3) Binding 3 + Decorate 46(buffer3) DescriptorSet 2 Decorate 47(ci) SpecId 13 - MemberDecorate 48(pcBuf) 0 Offset 0 Decorate 48(pcBuf) Block + MemberDecorate 48(pcBuf) 0 Offset 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out b/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out index 4726ddd0..ec3be437 100644 --- a/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out +++ b/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out @@ -72,11 +72,11 @@ gl_FragCoord origin is upper left MemberName 11($Global) 1 "u2" Name 13 "" Name 26 "@entryPointOutput" + Decorate 11($Global) Block MemberDecorate 11($Global) 0 Offset 0 MemberDecorate 11($Global) 1 Offset 16 - Decorate 11($Global) Block - Decorate 13 DescriptorSet 2 Decorate 13 Binding 5 + Decorate 13 DescriptorSet 2 Decorate 26(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.autosampledtextures.frag.out b/Test/baseResults/hlsl.autosampledtextures.frag.out index 070af823..4a54526a 100644 --- a/Test/baseResults/hlsl.autosampledtextures.frag.out +++ b/Test/baseResults/hlsl.autosampledtextures.frag.out @@ -22,8 +22,8 @@ hlsl.autosampledtextures.frag Name 36 "i.vTextureCoords" Name 40 "@entryPointOutput.vColor" Name 41 "param" - Decorate 23(g_tColor) DescriptorSet 0 Decorate 23(g_tColor) Binding 0 + Decorate 23(g_tColor) DescriptorSet 0 Decorate 36(i.vTextureCoords) Location 0 Decorate 40(@entryPointOutput.vColor) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.buffer.frag.out b/Test/baseResults/hlsl.buffer.frag.out index f95b8398..64959d69 100644 --- a/Test/baseResults/hlsl.buffer.frag.out +++ b/Test/baseResults/hlsl.buffer.frag.out @@ -194,24 +194,25 @@ Validation failed Name 65 "input" Name 68 "@entryPointOutput.a" Name 69 "param" - MemberDecorate 24(cbufName2) 0 Offset 0 Decorate 24(cbufName2) Block - Decorate 26 DescriptorSet 0 + MemberDecorate 24(cbufName2) 0 Offset 0 Decorate 26 Binding 3 - MemberDecorate 31(buf1) 0 Offset 0 + Decorate 26 DescriptorSet 0 Decorate 31(buf1) Block - Decorate 33 DescriptorSet 0 + MemberDecorate 31(buf1) 0 Offset 0 Decorate 33 Binding 0 + Decorate 33 DescriptorSet 0 + Decorate 37(buf2) BufferBlock MemberDecorate 37(buf2) 0 NonWritable MemberDecorate 37(buf2) 0 Offset 0 - Decorate 37(buf2) BufferBlock - Decorate 39 DescriptorSet 0 Decorate 39 Binding 1 + Decorate 39 DescriptorSet 0 + Decorate 43(cbufName) Block MemberDecorate 43(cbufName) 0 Offset 0 MemberDecorate 43(cbufName) 1 Offset 20 - Decorate 43(cbufName) Block - Decorate 45 DescriptorSet 0 Decorate 45 Binding 2 + Decorate 45 DescriptorSet 0 + Decorate 50(tbufName) BufferBlock MemberDecorate 50(tbufName) 0 NonWritable MemberDecorate 50(tbufName) 0 Offset 16 MemberDecorate 50(tbufName) 1 NonWritable @@ -229,24 +230,23 @@ Validation failed MemberDecorate 50(tbufName) 7 NonWritable MemberDecorate 50(tbufName) 7 Offset 128 MemberDecorate 50(tbufName) 8 RowMajor + MemberDecorate 50(tbufName) 8 MatrixStride 16 MemberDecorate 50(tbufName) 8 NonWritable MemberDecorate 50(tbufName) 8 Offset 112 - MemberDecorate 50(tbufName) 8 MatrixStride 16 MemberDecorate 50(tbufName) 9 ColMajor + MemberDecorate 50(tbufName) 9 MatrixStride 16 MemberDecorate 50(tbufName) 9 NonWritable MemberDecorate 50(tbufName) 9 Offset 176 - MemberDecorate 50(tbufName) 9 MatrixStride 16 MemberDecorate 50(tbufName) 10 RowMajor + MemberDecorate 50(tbufName) 10 MatrixStride 16 MemberDecorate 50(tbufName) 10 NonWritable MemberDecorate 50(tbufName) 10 Offset 240 - MemberDecorate 50(tbufName) 10 MatrixStride 16 MemberDecorate 50(tbufName) 11 RowMajor + MemberDecorate 50(tbufName) 11 MatrixStride 16 MemberDecorate 50(tbufName) 11 NonWritable MemberDecorate 50(tbufName) 11 Offset 304 - MemberDecorate 50(tbufName) 11 MatrixStride 16 - Decorate 50(tbufName) BufferBlock - Decorate 52 DescriptorSet 0 Decorate 52 Binding 8 + Decorate 52 DescriptorSet 0 Decorate 65(input) BuiltIn FragCoord Decorate 68(@entryPointOutput.a) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.buffer_ref_parameter.comp.out b/Test/baseResults/hlsl.buffer_ref_parameter.comp.out index 4ddf6f70..1f7f0906 100644 --- a/Test/baseResults/hlsl.buffer_ref_parameter.comp.out +++ b/Test/baseResults/hlsl.buffer_ref_parameter.comp.out @@ -275,17 +275,17 @@ local_size = (64, 1, 1) Name 85 "gi" Name 87 "param" Decorate 7 ArrayStride 4 + Decorate 8 Block MemberDecorate 8 0 NonWritable MemberDecorate 8 0 Offset 0 - Decorate 8 Block Decorate 14(buffer_position) NonWritable - Decorate 53(buffer_position_ms) DescriptorSet 0 Decorate 53(buffer_position_ms) Binding 0 + Decorate 53(buffer_position_ms) DescriptorSet 0 Decorate 59 ArrayStride 4 - MemberDecorate 60(r) 0 Offset 0 Decorate 60(r) Block - Decorate 62(r) DescriptorSet 0 + MemberDecorate 60(r) 0 Offset 0 Decorate 62(r) Binding 1 + Decorate 62(r) DescriptorSet 0 Decorate 85(gi) BuiltIn LocalInvocationIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out index 7d896cea..14ed71e2 100644 --- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out @@ -400,30 +400,30 @@ using depth_any Name 140 "@entryPointOutput.Color" Name 144 "@entryPointOutput.Depth" Name 147 "g_tTex1df4" - Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4a) Binding 2 - Decorate 45(g_tTex1du4a) DescriptorSet 0 + Decorate 33(g_tTex1di4a) DescriptorSet 0 Decorate 45(g_tTex1du4a) Binding 3 - Decorate 56(g_tTex2df4a) DescriptorSet 0 + Decorate 45(g_tTex1du4a) DescriptorSet 0 Decorate 56(g_tTex2df4a) Binding 4 - Decorate 67(g_tTex2di4a) DescriptorSet 0 + Decorate 56(g_tTex2df4a) DescriptorSet 0 Decorate 67(g_tTex2di4a) Binding 5 - Decorate 79(g_tTex2du4a) DescriptorSet 0 + Decorate 67(g_tTex2di4a) DescriptorSet 0 Decorate 79(g_tTex2du4a) Binding 6 - Decorate 92(g_tTexcdf4a) DescriptorSet 0 + Decorate 79(g_tTex2du4a) DescriptorSet 0 Decorate 92(g_tTexcdf4a) Binding 7 - Decorate 104(g_tTexcdi4a) DescriptorSet 0 + Decorate 92(g_tTexcdf4a) DescriptorSet 0 Decorate 104(g_tTexcdi4a) Binding 8 - Decorate 115(g_tTexcdu4a) DescriptorSet 0 + Decorate 104(g_tTexcdi4a) DescriptorSet 0 Decorate 115(g_tTexcdu4a) Binding 9 + Decorate 115(g_tTexcdu4a) DescriptorSet 0 Decorate 140(@entryPointOutput.Color) Location 0 Decorate 144(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 147(g_tTex1df4) DescriptorSet 0 Decorate 147(g_tTex1df4) Binding 0 + Decorate 147(g_tTex1df4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out index 3ce857d9..c052200a 100644 --- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out @@ -400,30 +400,30 @@ using depth_any Name 140 "@entryPointOutput.Color" Name 144 "@entryPointOutput.Depth" Name 147 "g_tTex1df4" - Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4a) Binding 2 - Decorate 45(g_tTex1du4a) DescriptorSet 0 + Decorate 33(g_tTex1di4a) DescriptorSet 0 Decorate 45(g_tTex1du4a) Binding 3 - Decorate 56(g_tTex2df4a) DescriptorSet 0 + Decorate 45(g_tTex1du4a) DescriptorSet 0 Decorate 56(g_tTex2df4a) Binding 4 - Decorate 67(g_tTex2di4a) DescriptorSet 0 + Decorate 56(g_tTex2df4a) DescriptorSet 0 Decorate 67(g_tTex2di4a) Binding 5 - Decorate 79(g_tTex2du4a) DescriptorSet 0 + Decorate 67(g_tTex2di4a) DescriptorSet 0 Decorate 79(g_tTex2du4a) Binding 6 - Decorate 92(g_tTexcdf4a) DescriptorSet 0 + Decorate 79(g_tTex2du4a) DescriptorSet 0 Decorate 92(g_tTexcdf4a) Binding 7 - Decorate 104(g_tTexcdi4a) DescriptorSet 0 + Decorate 92(g_tTexcdf4a) DescriptorSet 0 Decorate 104(g_tTexcdi4a) Binding 8 - Decorate 115(g_tTexcdu4a) DescriptorSet 0 + Decorate 104(g_tTexcdi4a) DescriptorSet 0 Decorate 115(g_tTexcdu4a) Binding 9 + Decorate 115(g_tTexcdu4a) DescriptorSet 0 Decorate 140(@entryPointOutput.Color) Location 0 Decorate 144(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 147(g_tTex1df4) DescriptorSet 0 Decorate 147(g_tTex1df4) Binding 0 + Decorate 147(g_tTex1df4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.cbuffer-identifier.vert.out b/Test/baseResults/hlsl.cbuffer-identifier.vert.out index de9deea7..3fa3d5d2 100644 --- a/Test/baseResults/hlsl.cbuffer-identifier.vert.out +++ b/Test/baseResults/hlsl.cbuffer-identifier.vert.out @@ -281,18 +281,18 @@ Shader version: 500 Name 82 "param" Name 86 "@entryPointOutput.Pos" Name 90 "@entryPointOutput.Norm" - MemberDecorate 28(C) 0 RowMajor - MemberDecorate 28(C) 0 Offset 0 - MemberDecorate 28(C) 0 MatrixStride 16 - MemberDecorate 28(C) 1 RowMajor - MemberDecorate 28(C) 1 Offset 64 - MemberDecorate 28(C) 1 MatrixStride 16 - MemberDecorate 28(C) 2 RowMajor - MemberDecorate 28(C) 2 Offset 128 - MemberDecorate 28(C) 2 MatrixStride 16 Decorate 28(C) Block - Decorate 30 DescriptorSet 0 + MemberDecorate 28(C) 0 RowMajor + MemberDecorate 28(C) 0 MatrixStride 16 + MemberDecorate 28(C) 0 Offset 0 + MemberDecorate 28(C) 1 RowMajor + MemberDecorate 28(C) 1 MatrixStride 16 + MemberDecorate 28(C) 1 Offset 64 + MemberDecorate 28(C) 2 RowMajor + MemberDecorate 28(C) 2 MatrixStride 16 + MemberDecorate 28(C) 2 Offset 128 Decorate 30 Binding 0 + Decorate 30 DescriptorSet 0 Decorate 74(input.Pos) Location 0 Decorate 78(input.Norm) Location 1 Decorate 86(@entryPointOutput.Pos) BuiltIn Position diff --git a/Test/baseResults/hlsl.cbuffer-offsets.comp.out b/Test/baseResults/hlsl.cbuffer-offsets.comp.out index feb0bb69..793d5b91 100644 --- a/Test/baseResults/hlsl.cbuffer-offsets.comp.out +++ b/Test/baseResults/hlsl.cbuffer-offsets.comp.out @@ -70,63 +70,63 @@ Validation failed Name 27 "" Decorate 13 ArrayStride 16 Decorate 24 ArrayStride 16 + Decorate 25(CB) Block MemberDecorate 25(CB) 0 Offset 0 MemberDecorate 25(CB) 1 Offset 16 MemberDecorate 25(CB) 2 Offset 60 MemberDecorate 25(CB) 3 Offset 64 MemberDecorate 25(CB) 4 RowMajor - MemberDecorate 25(CB) 4 Offset 68 MemberDecorate 25(CB) 4 MatrixStride 16 + MemberDecorate 25(CB) 4 Offset 68 MemberDecorate 25(CB) 5 RowMajor - MemberDecorate 25(CB) 5 Offset 80 MemberDecorate 25(CB) 5 MatrixStride 16 + MemberDecorate 25(CB) 5 Offset 80 MemberDecorate 25(CB) 6 RowMajor - MemberDecorate 25(CB) 6 Offset 100 MemberDecorate 25(CB) 6 MatrixStride 16 + MemberDecorate 25(CB) 6 Offset 100 MemberDecorate 25(CB) 7 RowMajor - MemberDecorate 25(CB) 7 Offset 112 MemberDecorate 25(CB) 7 MatrixStride 16 + MemberDecorate 25(CB) 7 Offset 112 MemberDecorate 25(CB) 8 RowMajor - MemberDecorate 25(CB) 8 Offset 144 MemberDecorate 25(CB) 8 MatrixStride 16 + MemberDecorate 25(CB) 8 Offset 144 MemberDecorate 25(CB) 9 Offset 188 MemberDecorate 25(CB) 10 RowMajor - MemberDecorate 25(CB) 10 Offset 192 MemberDecorate 25(CB) 10 MatrixStride 16 + MemberDecorate 25(CB) 10 Offset 192 MemberDecorate 25(CB) 11 Offset 252 MemberDecorate 25(CB) 12 RowMajor - MemberDecorate 25(CB) 12 Offset 256 MemberDecorate 25(CB) 12 MatrixStride 16 + MemberDecorate 25(CB) 12 Offset 256 MemberDecorate 25(CB) 13 Offset 304 MemberDecorate 25(CB) 14 ColMajor - MemberDecorate 25(CB) 14 Offset 308 MemberDecorate 25(CB) 14 MatrixStride 16 + MemberDecorate 25(CB) 14 Offset 308 MemberDecorate 25(CB) 15 ColMajor - MemberDecorate 25(CB) 15 Offset 312 MemberDecorate 25(CB) 15 MatrixStride 16 + MemberDecorate 25(CB) 15 Offset 312 MemberDecorate 25(CB) 16 ColMajor - MemberDecorate 25(CB) 16 Offset 320 MemberDecorate 25(CB) 16 MatrixStride 16 + MemberDecorate 25(CB) 16 Offset 320 MemberDecorate 25(CB) 17 ColMajor - MemberDecorate 25(CB) 17 Offset 352 MemberDecorate 25(CB) 17 MatrixStride 16 + MemberDecorate 25(CB) 17 Offset 352 MemberDecorate 25(CB) 18 ColMajor - MemberDecorate 25(CB) 18 Offset 384 MemberDecorate 25(CB) 18 MatrixStride 16 + MemberDecorate 25(CB) 18 Offset 384 MemberDecorate 25(CB) 19 Offset 428 MemberDecorate 25(CB) 20 ColMajor - MemberDecorate 25(CB) 20 Offset 432 MemberDecorate 25(CB) 20 MatrixStride 16 + MemberDecorate 25(CB) 20 Offset 432 MemberDecorate 25(CB) 21 Offset 480 MemberDecorate 25(CB) 22 ColMajor - MemberDecorate 25(CB) 22 Offset 496 MemberDecorate 25(CB) 22 MatrixStride 16 + MemberDecorate 25(CB) 22 Offset 496 MemberDecorate 25(CB) 23 Offset 556 MemberDecorate 25(CB) 24 Offset 560 MemberDecorate 25(CB) 25 Offset 596 - Decorate 25(CB) Block - Decorate 27 DescriptorSet 0 Decorate 27 Binding 0 + Decorate 27 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 9: TypeFloat 32 diff --git a/Test/baseResults/hlsl.color.hull.tesc.out b/Test/baseResults/hlsl.color.hull.tesc.out index 7a1f8305..39a7597b 100644 --- a/Test/baseResults/hlsl.color.hull.tesc.out +++ b/Test/baseResults/hlsl.color.hull.tesc.out @@ -583,21 +583,21 @@ triangle order = cw Name 137 "param" Name 142 "@patchConstantOutput.edges" Name 155 "@patchConstantOutput.inside" + Decorate 33(TessellationBuffer) Block MemberDecorate 33(TessellationBuffer) 0 Offset 0 MemberDecorate 33(TessellationBuffer) 1 Offset 4 - Decorate 33(TessellationBuffer) Block - Decorate 35 DescriptorSet 0 Decorate 35 Binding 0 + Decorate 35 DescriptorSet 0 Decorate 73(patch.position) Location 0 Decorate 80(patch.color) Location 1 Decorate 99(pointId) BuiltIn InvocationId Decorate 102(patchId) BuiltIn PrimitiveId Decorate 113(@entryPointOutput.position) Location 0 Decorate 120(@entryPointOutput.color) Location 1 - Decorate 142(@patchConstantOutput.edges) Patch Decorate 142(@patchConstantOutput.edges) BuiltIn TessLevelOuter - Decorate 155(@patchConstantOutput.inside) Patch + Decorate 142(@patchConstantOutput.edges) Patch Decorate 155(@patchConstantOutput.inside) BuiltIn TessLevelInner + Decorate 155(@patchConstantOutput.inside) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.comparison.vec.frag.out b/Test/baseResults/hlsl.comparison.vec.frag.out index 720aea24..67b82d55 100644 --- a/Test/baseResults/hlsl.comparison.vec.frag.out +++ b/Test/baseResults/hlsl.comparison.vec.frag.out @@ -297,10 +297,10 @@ gl_FragCoord origin is upper left MemberName 93($Global) 0 "uf4" Name 95 "" Decorate 90(@entryPointOutput.Color) Location 0 - MemberDecorate 93($Global) 0 Offset 0 Decorate 93($Global) Block - Decorate 95 DescriptorSet 0 + MemberDecorate 93($Global) 0 Offset 0 Decorate 95 Binding 0 + Decorate 95 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.conditional.frag.out b/Test/baseResults/hlsl.conditional.frag.out index 47c7877a..a56178ec 100644 --- a/Test/baseResults/hlsl.conditional.frag.out +++ b/Test/baseResults/hlsl.conditional.frag.out @@ -696,14 +696,14 @@ gl_FragCoord origin is upper left Name 226 "input" Name 229 "@entryPointOutput" Name 230 "param" + Decorate 29($Global) Block MemberDecorate 29($Global) 0 Offset 0 MemberDecorate 29($Global) 1 Offset 16 MemberDecorate 29($Global) 2 Offset 32 MemberDecorate 29($Global) 3 Offset 48 MemberDecorate 29($Global) 4 Offset 52 - Decorate 29($Global) Block - Decorate 31 DescriptorSet 0 Decorate 31 Binding 0 + Decorate 31 DescriptorSet 0 Decorate 226(input) Location 0 Decorate 229(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.constantbuffer.frag.out b/Test/baseResults/hlsl.constantbuffer.frag.out index 78ad5770..e321d6d9 100644 --- a/Test/baseResults/hlsl.constantbuffer.frag.out +++ b/Test/baseResults/hlsl.constantbuffer.frag.out @@ -156,21 +156,21 @@ Validation failed MemberName 46(cbuff) 0 "c1" Name 48 "" Name 64 "@entryPointOutput" + Decorate 12(cb3) Block MemberDecorate 12(cb3) 0 Offset 0 MemberDecorate 12(cb3) 1 Offset 4 - Decorate 12(cb3) Block - Decorate 18(cb3) DescriptorSet 0 Decorate 18(cb3) Binding 1 - MemberDecorate 31(cb1) 0 Offset 0 + Decorate 18(cb3) DescriptorSet 0 Decorate 31(cb1) Block - Decorate 33(cb1) DescriptorSet 0 + MemberDecorate 31(cb1) 0 Offset 0 Decorate 33(cb1) Binding 12 - Decorate 40(cb2) DescriptorSet 0 + Decorate 33(cb1) DescriptorSet 0 Decorate 40(cb2) Binding 0 - MemberDecorate 46(cbuff) 0 Offset 0 + Decorate 40(cb2) DescriptorSet 0 Decorate 46(cbuff) Block - Decorate 48 DescriptorSet 0 + MemberDecorate 46(cbuff) 0 Offset 0 Decorate 48 Binding 2 + Decorate 48 DescriptorSet 0 Decorate 64(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.dashI.vert.out b/Test/baseResults/hlsl.dashI.vert.out index ccd530af..125b4bdd 100644 --- a/Test/baseResults/hlsl.dashI.vert.out +++ b/Test/baseResults/hlsl.dashI.vert.out @@ -18,14 +18,14 @@ hlsl.dashI.vert MemberName 11($Global) 4 "i4" Name 13 "" Name 38 "@entryPointOutput" + Decorate 11($Global) Block MemberDecorate 11($Global) 0 Offset 0 MemberDecorate 11($Global) 1 Offset 16 MemberDecorate 11($Global) 2 Offset 32 MemberDecorate 11($Global) 3 Offset 48 MemberDecorate 11($Global) 4 Offset 64 - Decorate 11($Global) Block - Decorate 13 DescriptorSet 0 Decorate 13 Binding 0 + Decorate 13 DescriptorSet 0 Decorate 38(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.domain.1.tese.out b/Test/baseResults/hlsl.domain.1.tese.out index 738f7cd0..41a5ab07 100644 --- a/Test/baseResults/hlsl.domain.1.tese.out +++ b/Test/baseResults/hlsl.domain.1.tese.out @@ -473,12 +473,12 @@ triangle order = none Decorate 62(i.norm) Location 1 Decorate 82(f) Patch Decorate 82(f) Location 2 - Decorate 85(tesscoord) Patch Decorate 85(tesscoord) BuiltIn TessCoord - Decorate 91(pcf_data.flTessFactor) Patch + Decorate 85(tesscoord) Patch Decorate 91(pcf_data.flTessFactor) BuiltIn TessLevelOuter - Decorate 104(pcf_data.flInsideTessFactor) Patch + Decorate 91(pcf_data.flTessFactor) Patch Decorate 104(pcf_data.flInsideTessFactor) BuiltIn TessLevelInner + Decorate 104(pcf_data.flInsideTessFactor) Patch Decorate 118(@entryPointOutput.pos) Location 0 Decorate 122(@entryPointOutput.norm) Location 1 2: TypeVoid diff --git a/Test/baseResults/hlsl.domain.2.tese.out b/Test/baseResults/hlsl.domain.2.tese.out index ddb176a0..97590ffa 100644 --- a/Test/baseResults/hlsl.domain.2.tese.out +++ b/Test/baseResults/hlsl.domain.2.tese.out @@ -465,16 +465,16 @@ triangle order = none Name 109 "param" Name 113 "@entryPointOutput.pos" Name 117 "@entryPointOutput.norm" - Decorate 52(pcf_data.flTessFactor) Patch Decorate 52(pcf_data.flTessFactor) BuiltIn TessLevelOuter - Decorate 67(pcf_data.flInsideTessFactor) Patch + Decorate 52(pcf_data.flTessFactor) Patch Decorate 67(pcf_data.flInsideTessFactor) BuiltIn TessLevelInner + Decorate 67(pcf_data.flInsideTessFactor) Patch Decorate 71(pcf_data.foo) Patch Decorate 71(pcf_data.foo) Location 2 Decorate 78(i.pos) Location 0 Decorate 85(i.norm) Location 1 - Decorate 103(tesscoord) Patch Decorate 103(tesscoord) BuiltIn TessCoord + Decorate 103(tesscoord) Patch Decorate 113(@entryPointOutput.pos) Location 0 Decorate 117(@entryPointOutput.norm) Location 1 2: TypeVoid diff --git a/Test/baseResults/hlsl.domain.3.tese.out b/Test/baseResults/hlsl.domain.3.tese.out index 1dc7b2fd..552f3fdb 100644 --- a/Test/baseResults/hlsl.domain.3.tese.out +++ b/Test/baseResults/hlsl.domain.3.tese.out @@ -397,12 +397,12 @@ triangle order = none Name 113 "@entryPointOutput.norm" Decorate 55(i.pos) Location 0 Decorate 62(i.norm) Location 1 - Decorate 74(tesscoord) Patch Decorate 74(tesscoord) BuiltIn TessCoord - Decorate 83(pcf_data.flTessFactor) Patch + Decorate 74(tesscoord) Patch Decorate 83(pcf_data.flTessFactor) BuiltIn TessLevelOuter - Decorate 97(pcf_data.flInsideTessFactor) Patch + Decorate 83(pcf_data.flTessFactor) Patch Decorate 97(pcf_data.flInsideTessFactor) BuiltIn TessLevelInner + Decorate 97(pcf_data.flInsideTessFactor) Patch Decorate 109(@entryPointOutput.pos) Location 0 Decorate 113(@entryPointOutput.norm) Location 1 2: TypeVoid diff --git a/Test/baseResults/hlsl.earlydepthstencil.frag.out b/Test/baseResults/hlsl.earlydepthstencil.frag.out index a629bdc7..60d90699 100644 --- a/Test/baseResults/hlsl.earlydepthstencil.frag.out +++ b/Test/baseResults/hlsl.earlydepthstencil.frag.out @@ -129,8 +129,8 @@ using early_fragment_tests Name 41 "input.Position" Name 46 "@entryPointOutput" Name 47 "param" - Decorate 19(Values) DescriptorSet 0 Decorate 19(Values) Binding 0 + Decorate 19(Values) DescriptorSet 0 Decorate 41(input.Position) BuiltIn FragCoord Decorate 46(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.emptystructreturn.tesc.out b/Test/baseResults/hlsl.emptystructreturn.tesc.out index ffdbb02d..0d82b7b2 100644 --- a/Test/baseResults/hlsl.emptystructreturn.tesc.out +++ b/Test/baseResults/hlsl.emptystructreturn.tesc.out @@ -439,10 +439,10 @@ Validation failed Decorate 65(patch.position) BuiltIn Position Decorate 79(pointId) BuiltIn InvocationId Decorate 82(patchId) BuiltIn PrimitiveId - Decorate 115(@patchConstantOutput.edges) Patch Decorate 115(@patchConstantOutput.edges) BuiltIn TessLevelOuter - Decorate 128(@patchConstantOutput.inside) Patch + Decorate 115(@patchConstantOutput.edges) Patch Decorate 128(@patchConstantOutput.inside) BuiltIn TessLevelInner + Decorate 128(@patchConstantOutput.inside) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.entry.rename.frag.out b/Test/baseResults/hlsl.entry.rename.frag.out index d635c67a..d1758052 100644 --- a/Test/baseResults/hlsl.entry.rename.frag.out +++ b/Test/baseResults/hlsl.entry.rename.frag.out @@ -92,10 +92,10 @@ gl_FragCoord origin is upper left MemberName 29($Global) 0 "also_not_the_entry_point" Name 31 "" Decorate 26(@entryPointOutput.Color) Location 0 - MemberDecorate 29($Global) 0 Offset 0 Decorate 29($Global) Block - Decorate 31 DescriptorSet 0 + MemberDecorate 29($Global) 0 Offset 0 Decorate 31 Binding 0 + Decorate 31 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 diff --git a/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out b/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out index 5c89f7e0..ac6364db 100644 --- a/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out +++ b/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out @@ -21,19 +21,19 @@ hlsl.explicitDescriptorSet.frag MemberName 25($Global) 0 "floatval_amb" Name 27 "" Name 30 "floatbuff" - Decorate 13(g_sSamp2_amb) DescriptorSet 3 Decorate 13(g_sSamp2_amb) Binding 10 + Decorate 13(g_sSamp2_amb) DescriptorSet 3 Decorate 19(@entryPointOutput) Location 0 - Decorate 21(g_sSamp) DescriptorSet 3 Decorate 21(g_sSamp) Binding 11 - Decorate 24(g_tTex1df4) DescriptorSet 3 + Decorate 21(g_sSamp) DescriptorSet 3 Decorate 24(g_tTex1df4) Binding 20 - MemberDecorate 25($Global) 0 Offset 0 + Decorate 24(g_tTex1df4) DescriptorSet 3 Decorate 25($Global) Block - Decorate 27 DescriptorSet 3 + MemberDecorate 25($Global) 0 Offset 0 Decorate 27 Binding 0 - Decorate 30(floatbuff) DescriptorSet 3 + Decorate 27 DescriptorSet 3 Decorate 30(floatbuff) Binding 0 + Decorate 30(floatbuff) DescriptorSet 3 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.explicitDescriptorSet.frag.out b/Test/baseResults/hlsl.explicitDescriptorSet.frag.out index 1b0e45f0..0693f026 100644 --- a/Test/baseResults/hlsl.explicitDescriptorSet.frag.out +++ b/Test/baseResults/hlsl.explicitDescriptorSet.frag.out @@ -21,19 +21,19 @@ hlsl.explicitDescriptorSet.frag MemberName 25($Global) 0 "floatval_amb" Name 27 "" Name 30 "floatbuff" - Decorate 13(g_sSamp2_amb) DescriptorSet 4 Decorate 13(g_sSamp2_amb) Binding 10 + Decorate 13(g_sSamp2_amb) DescriptorSet 4 Decorate 19(@entryPointOutput) Location 0 - Decorate 21(g_sSamp) DescriptorSet 4 Decorate 21(g_sSamp) Binding 11 - Decorate 24(g_tTex1df4) DescriptorSet 4 + Decorate 21(g_sSamp) DescriptorSet 4 Decorate 24(g_tTex1df4) Binding 20 - MemberDecorate 25($Global) 0 Offset 0 + Decorate 24(g_tTex1df4) DescriptorSet 4 Decorate 25($Global) Block - Decorate 27 DescriptorSet 4 + MemberDecorate 25($Global) 0 Offset 0 Decorate 27 Binding 0 - Decorate 30(floatbuff) DescriptorSet 4 + Decorate 27 DescriptorSet 4 Decorate 30(floatbuff) Binding 0 + Decorate 30(floatbuff) DescriptorSet 4 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.flattenOpaque.frag.out b/Test/baseResults/hlsl.flattenOpaque.frag.out index 589b1e1f..47ea7d3f 100644 --- a/Test/baseResults/hlsl.flattenOpaque.frag.out +++ b/Test/baseResults/hlsl.flattenOpaque.frag.out @@ -336,14 +336,14 @@ gl_FragCoord origin is upper left Name 112 "param" Name 114 "param" Name 120 "@entryPointOutput" - Decorate 38(tex) DescriptorSet 0 Decorate 38(tex) Binding 0 - Decorate 82(s.s2D) DescriptorSet 0 + Decorate 38(tex) DescriptorSet 0 Decorate 82(s.s2D) Binding 1 - Decorate 97(s2.s2D) DescriptorSet 0 + Decorate 82(s.s2D) DescriptorSet 0 Decorate 97(s2.s2D) Binding 2 - Decorate 100(s2.tex) DescriptorSet 0 + Decorate 97(s2.s2D) DescriptorSet 0 Decorate 100(s2.tex) Binding 3 + Decorate 100(s2.tex) DescriptorSet 0 Decorate 120(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out index dbd64469..482f8182 100644 --- a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out +++ b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out @@ -192,10 +192,10 @@ Shader version: 500 Name 69 "tex3" Name 71 "param" Name 80 "@entryPointOutput" - Decorate 43(g_tInputTexture_sampler) DescriptorSet 0 Decorate 43(g_tInputTexture_sampler) Binding 0 - Decorate 47(g_tInputTexture) DescriptorSet 0 + Decorate 43(g_tInputTexture_sampler) DescriptorSet 0 Decorate 47(g_tInputTexture) Binding 1 + Decorate 47(g_tInputTexture) DescriptorSet 0 Decorate 80(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out index 66084f67..7ff5c4aa 100644 --- a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out +++ b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out @@ -128,10 +128,10 @@ Shader version: 500 Name 47 "g_tInputTexture" Name 51 "param" Name 57 "@entryPointOutput" - Decorate 44(g_tInputTexture_sampler) DescriptorSet 0 Decorate 44(g_tInputTexture_sampler) Binding 0 - Decorate 47(g_tInputTexture) DescriptorSet 0 + Decorate 44(g_tInputTexture_sampler) DescriptorSet 0 Decorate 47(g_tInputTexture) Binding 1 + Decorate 47(g_tInputTexture) DescriptorSet 0 Decorate 57(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.flattenSubset.frag.out b/Test/baseResults/hlsl.flattenSubset.frag.out index 65d34677..b96c1415 100644 --- a/Test/baseResults/hlsl.flattenSubset.frag.out +++ b/Test/baseResults/hlsl.flattenSubset.frag.out @@ -151,10 +151,10 @@ gl_FragCoord origin is upper left Name 47 "vpos" Name 50 "@entryPointOutput" Name 51 "param" - Decorate 21(samp) DescriptorSet 0 Decorate 21(samp) Binding 0 - Decorate 33(tex) DescriptorSet 0 + Decorate 21(samp) DescriptorSet 0 Decorate 33(tex) Binding 1 + Decorate 33(tex) DescriptorSet 0 Decorate 47(vpos) Location 0 Decorate 50(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.flattenSubset2.frag.out b/Test/baseResults/hlsl.flattenSubset2.frag.out index c8a91932..46cbcd4e 100644 --- a/Test/baseResults/hlsl.flattenSubset2.frag.out +++ b/Test/baseResults/hlsl.flattenSubset2.frag.out @@ -179,8 +179,8 @@ gl_FragCoord origin is upper left Name 49 "vpos" Name 52 "@entryPointOutput" Name 53 "param" - Decorate 36(someTex) DescriptorSet 0 Decorate 36(someTex) Binding 0 + Decorate 36(someTex) DescriptorSet 0 Decorate 49(vpos) Location 0 Decorate 52(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.float4.frag.out b/Test/baseResults/hlsl.float4.frag.out index 5fcc3c14..8b9fc02c 100644 --- a/Test/baseResults/hlsl.float4.frag.out +++ b/Test/baseResults/hlsl.float4.frag.out @@ -61,14 +61,14 @@ gl_FragCoord origin is upper left MemberName 15($Global) 3 "ff3" MemberName 15($Global) 4 "ff4" Name 17 "" + Decorate 15($Global) Block MemberDecorate 15($Global) 0 Offset 0 MemberDecorate 15($Global) 1 Offset 16 MemberDecorate 15($Global) 2 Offset 20 MemberDecorate 15($Global) 3 Offset 32 MemberDecorate 15($Global) 4 Offset 48 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 + Decorate 17 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.format.rwtexture.frag.out b/Test/baseResults/hlsl.format.rwtexture.frag.out index 3edbbb6e..eb81229d 100644 --- a/Test/baseResults/hlsl.format.rwtexture.frag.out +++ b/Test/baseResults/hlsl.format.rwtexture.frag.out @@ -248,92 +248,92 @@ using depth_any Name 159 "g_tTex25" Decorate 29(@entryPointOutput.Color) Location 0 Decorate 33(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 38(g_sSamp) DescriptorSet 0 Decorate 38(g_sSamp) Binding 0 - Decorate 41(g_tTex1df4) DescriptorSet 0 + Decorate 38(g_sSamp) DescriptorSet 0 Decorate 41(g_tTex1df4) Binding 0 - Decorate 44(g_tTex1di4) DescriptorSet 0 + Decorate 41(g_tTex1df4) DescriptorSet 0 Decorate 44(g_tTex1di4) Binding 0 - Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 44(g_tTex1di4) DescriptorSet 0 Decorate 48(g_tTex1du4) Binding 0 - Decorate 51(g_tTex2df4) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 Decorate 51(g_tTex2df4) Binding 0 - Decorate 54(g_tTex2di4) DescriptorSet 0 + Decorate 51(g_tTex2df4) DescriptorSet 0 Decorate 54(g_tTex2di4) Binding 0 - Decorate 57(g_tTex2du4) DescriptorSet 0 + Decorate 54(g_tTex2di4) DescriptorSet 0 Decorate 57(g_tTex2du4) Binding 0 - Decorate 60(g_tTex3df4) DescriptorSet 0 - Decorate 60(g_tTex3df4) Binding 0 + Decorate 57(g_tTex2du4) DescriptorSet 0 Decorate 60(g_tTex3df4) NonWritable - Decorate 63(g_tTex3di4) DescriptorSet 0 - Decorate 63(g_tTex3di4) Binding 0 + Decorate 60(g_tTex3df4) Binding 0 + Decorate 60(g_tTex3df4) DescriptorSet 0 Decorate 63(g_tTex3di4) NonReadable - Decorate 66(g_tTex3du4) DescriptorSet 0 - Decorate 66(g_tTex3du4) Binding 0 + Decorate 63(g_tTex3di4) Binding 0 + Decorate 63(g_tTex3di4) DescriptorSet 0 Decorate 66(g_tTex3du4) NonWritable Decorate 66(g_tTex3du4) NonReadable - Decorate 69(g_tTex1df4a) DescriptorSet 0 + Decorate 66(g_tTex3du4) Binding 0 + Decorate 66(g_tTex3du4) DescriptorSet 0 Decorate 69(g_tTex1df4a) Binding 0 - Decorate 72(g_tTex1di4a) DescriptorSet 0 + Decorate 69(g_tTex1df4a) DescriptorSet 0 Decorate 72(g_tTex1di4a) Binding 0 - Decorate 75(g_tTex1du4a) DescriptorSet 0 + Decorate 72(g_tTex1di4a) DescriptorSet 0 Decorate 75(g_tTex1du4a) Binding 0 - Decorate 78(g_tTex2df4a) DescriptorSet 0 + Decorate 75(g_tTex1du4a) DescriptorSet 0 Decorate 78(g_tTex2df4a) Binding 0 - Decorate 81(g_tTex2di4a) DescriptorSet 0 + Decorate 78(g_tTex2df4a) DescriptorSet 0 Decorate 81(g_tTex2di4a) Binding 0 - Decorate 84(g_tTex2du4a) DescriptorSet 0 + Decorate 81(g_tTex2di4a) DescriptorSet 0 Decorate 84(g_tTex2du4a) Binding 0 - Decorate 87(g_tTex01) DescriptorSet 0 + Decorate 84(g_tTex2du4a) DescriptorSet 0 Decorate 87(g_tTex01) Binding 0 - Decorate 90(g_tTex02) DescriptorSet 0 + Decorate 87(g_tTex01) DescriptorSet 0 Decorate 90(g_tTex02) Binding 0 - Decorate 93(g_tTex03) DescriptorSet 0 + Decorate 90(g_tTex02) DescriptorSet 0 Decorate 93(g_tTex03) Binding 0 - Decorate 96(g_tTex04) DescriptorSet 0 + Decorate 93(g_tTex03) DescriptorSet 0 Decorate 96(g_tTex04) Binding 0 - Decorate 99(g_tTex05) DescriptorSet 0 + Decorate 96(g_tTex04) DescriptorSet 0 Decorate 99(g_tTex05) Binding 0 - Decorate 102(g_tTex06) DescriptorSet 0 + Decorate 99(g_tTex05) DescriptorSet 0 Decorate 102(g_tTex06) Binding 0 - Decorate 105(g_tTex07) DescriptorSet 0 + Decorate 102(g_tTex06) DescriptorSet 0 Decorate 105(g_tTex07) Binding 0 - Decorate 108(g_tTex08) DescriptorSet 0 + Decorate 105(g_tTex07) DescriptorSet 0 Decorate 108(g_tTex08) Binding 0 - Decorate 111(g_tTex09) DescriptorSet 0 + Decorate 108(g_tTex08) DescriptorSet 0 Decorate 111(g_tTex09) Binding 0 - Decorate 114(g_tTex10) DescriptorSet 0 + Decorate 111(g_tTex09) DescriptorSet 0 Decorate 114(g_tTex10) Binding 0 - Decorate 117(g_tTex11) DescriptorSet 0 + Decorate 114(g_tTex10) DescriptorSet 0 Decorate 117(g_tTex11) Binding 0 - Decorate 120(g_tTex12) DescriptorSet 0 + Decorate 117(g_tTex11) DescriptorSet 0 Decorate 120(g_tTex12) Binding 0 - Decorate 123(g_tTex13) DescriptorSet 0 + Decorate 120(g_tTex12) DescriptorSet 0 Decorate 123(g_tTex13) Binding 0 - Decorate 126(g_tTex14) DescriptorSet 0 + Decorate 123(g_tTex13) DescriptorSet 0 Decorate 126(g_tTex14) Binding 0 - Decorate 129(g_tTex15) DescriptorSet 0 + Decorate 126(g_tTex14) DescriptorSet 0 Decorate 129(g_tTex15) Binding 0 - Decorate 132(g_tTex16) DescriptorSet 0 + Decorate 129(g_tTex15) DescriptorSet 0 Decorate 132(g_tTex16) Binding 0 - Decorate 135(g_tTex17) DescriptorSet 0 + Decorate 132(g_tTex16) DescriptorSet 0 Decorate 135(g_tTex17) Binding 0 - Decorate 138(g_tTex18) DescriptorSet 0 + Decorate 135(g_tTex17) DescriptorSet 0 Decorate 138(g_tTex18) Binding 0 - Decorate 141(g_tTex19) DescriptorSet 0 + Decorate 138(g_tTex18) DescriptorSet 0 Decorate 141(g_tTex19) Binding 0 - Decorate 144(g_tTex20) DescriptorSet 0 + Decorate 141(g_tTex19) DescriptorSet 0 Decorate 144(g_tTex20) Binding 0 - Decorate 147(g_tTex21) DescriptorSet 0 + Decorate 144(g_tTex20) DescriptorSet 0 Decorate 147(g_tTex21) Binding 0 - Decorate 150(g_tTex22) DescriptorSet 0 + Decorate 147(g_tTex21) DescriptorSet 0 Decorate 150(g_tTex22) Binding 0 - Decorate 153(g_tTex23) DescriptorSet 0 + Decorate 150(g_tTex22) DescriptorSet 0 Decorate 153(g_tTex23) Binding 0 - Decorate 156(g_tTex24) DescriptorSet 0 + Decorate 153(g_tTex23) DescriptorSet 0 Decorate 156(g_tTex24) Binding 0 - Decorate 159(g_tTex25) DescriptorSet 0 + Decorate 156(g_tTex24) DescriptorSet 0 Decorate 159(g_tTex25) Binding 0 + Decorate 159(g_tTex25) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out index 13b7ebb3..e0a1901f 100644 --- a/Test/baseResults/hlsl.gather.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out @@ -300,30 +300,30 @@ using depth_any Name 117 "g_tTex1df4" Name 120 "g_tTex1di4a" Name 123 "g_tTex1du4a" - Decorate 16(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_tTex2df4a) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 37(g_tTex2di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 37(g_tTex2di4a) Binding 3 - Decorate 52(g_tTex2du4a) DescriptorSet 0 + Decorate 37(g_tTex2di4a) DescriptorSet 0 Decorate 52(g_tTex2du4a) Binding 4 - Decorate 64(g_tTexcdf4a) DescriptorSet 0 + Decorate 52(g_tTex2du4a) DescriptorSet 0 Decorate 64(g_tTexcdf4a) Binding 5 - Decorate 74(g_tTexcdi4a) DescriptorSet 0 + Decorate 64(g_tTexcdf4a) DescriptorSet 0 Decorate 74(g_tTexcdi4a) Binding 6 - Decorate 84(g_tTexcdu4a) DescriptorSet 0 + Decorate 74(g_tTexcdi4a) DescriptorSet 0 Decorate 84(g_tTexcdu4a) Binding 7 + Decorate 84(g_tTexcdu4a) DescriptorSet 0 Decorate 107(@entryPointOutput.Color) Location 0 Decorate 111(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 116(g_tTex1df4a) DescriptorSet 0 Decorate 116(g_tTex1df4a) Binding 1 - Decorate 117(g_tTex1df4) DescriptorSet 0 + Decorate 116(g_tTex1df4a) DescriptorSet 0 Decorate 117(g_tTex1df4) Binding 0 - Decorate 120(g_tTex1di4a) DescriptorSet 0 + Decorate 117(g_tTex1df4) DescriptorSet 0 Decorate 120(g_tTex1di4a) Binding 0 - Decorate 123(g_tTex1du4a) DescriptorSet 0 + Decorate 120(g_tTex1di4a) DescriptorSet 0 Decorate 123(g_tTex1du4a) Binding 0 + Decorate 123(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out index 0aa00f74..6a9df41d 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out @@ -299,38 +299,38 @@ using depth_any Name 128 "g_tTex3df4" Name 131 "g_tTex3di4" Name 134 "g_tTex3du4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex2di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex2di4) Binding 3 - Decorate 51(g_tTex2du4) DescriptorSet 0 + Decorate 36(g_tTex2di4) DescriptorSet 0 Decorate 51(g_tTex2du4) Binding 4 - Decorate 63(g_tTexcdf4) DescriptorSet 0 + Decorate 51(g_tTex2du4) DescriptorSet 0 Decorate 63(g_tTexcdf4) Binding 5 - Decorate 74(g_tTexcdi4) DescriptorSet 0 + Decorate 63(g_tTexcdf4) DescriptorSet 0 Decorate 74(g_tTexcdi4) Binding 6 - Decorate 84(g_tTexcdu4) DescriptorSet 0 + Decorate 74(g_tTexcdi4) DescriptorSet 0 Decorate 84(g_tTexcdu4) Binding 7 + Decorate 84(g_tTexcdu4) DescriptorSet 0 Decorate 108(@entryPointOutput.Color) Location 0 Decorate 112(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 115(g_sSamp2d) DescriptorSet 0 Decorate 115(g_sSamp2d) Binding 0 - Decorate 118(g_tTex1df4a) DescriptorSet 0 + Decorate 115(g_sSamp2d) DescriptorSet 0 Decorate 118(g_tTex1df4a) Binding 1 - Decorate 119(g_tTex1df4) DescriptorSet 0 + Decorate 118(g_tTex1df4a) DescriptorSet 0 Decorate 119(g_tTex1df4) Binding 0 - Decorate 122(g_tTex1di4) DescriptorSet 0 + Decorate 119(g_tTex1df4) DescriptorSet 0 Decorate 122(g_tTex1di4) Binding 0 - Decorate 125(g_tTex1du4) DescriptorSet 0 + Decorate 122(g_tTex1di4) DescriptorSet 0 Decorate 125(g_tTex1du4) Binding 0 - Decorate 128(g_tTex3df4) DescriptorSet 0 + Decorate 125(g_tTex1du4) DescriptorSet 0 Decorate 128(g_tTex3df4) Binding 0 - Decorate 131(g_tTex3di4) DescriptorSet 0 + Decorate 128(g_tTex3df4) DescriptorSet 0 Decorate 131(g_tTex3di4) Binding 0 - Decorate 134(g_tTex3du4) DescriptorSet 0 + Decorate 131(g_tTex3di4) DescriptorSet 0 Decorate 134(g_tTex3du4) Binding 0 + Decorate 134(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/Test/baseResults/hlsl.gather.basic.dx10.vert.out index d743074e..8bffb131 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out @@ -256,37 +256,37 @@ Shader version: 500 Name 119 "g_tTex3df4" Name 122 "g_tTex3di4" Name 125 "g_tTex3du4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex2di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex2di4) Binding 3 - Decorate 51(g_tTex2du4) DescriptorSet 0 + Decorate 36(g_tTex2di4) DescriptorSet 0 Decorate 51(g_tTex2du4) Binding 4 - Decorate 63(g_tTexcdf4) DescriptorSet 0 + Decorate 51(g_tTex2du4) DescriptorSet 0 Decorate 63(g_tTexcdf4) Binding 5 - Decorate 74(g_tTexcdi4) DescriptorSet 0 + Decorate 63(g_tTexcdf4) DescriptorSet 0 Decorate 74(g_tTexcdi4) Binding 6 - Decorate 84(g_tTexcdu4) DescriptorSet 0 + Decorate 74(g_tTexcdi4) DescriptorSet 0 Decorate 84(g_tTexcdu4) Binding 7 + Decorate 84(g_tTexcdu4) DescriptorSet 0 Decorate 103(@entryPointOutput.Pos) BuiltIn Position - Decorate 106(g_sSamp2d) DescriptorSet 0 Decorate 106(g_sSamp2d) Binding 0 - Decorate 109(g_tTex1df4a) DescriptorSet 0 + Decorate 106(g_sSamp2d) DescriptorSet 0 Decorate 109(g_tTex1df4a) Binding 1 - Decorate 110(g_tTex1df4) DescriptorSet 0 + Decorate 109(g_tTex1df4a) DescriptorSet 0 Decorate 110(g_tTex1df4) Binding 0 - Decorate 113(g_tTex1di4) DescriptorSet 0 + Decorate 110(g_tTex1df4) DescriptorSet 0 Decorate 113(g_tTex1di4) Binding 0 - Decorate 116(g_tTex1du4) DescriptorSet 0 + Decorate 113(g_tTex1di4) DescriptorSet 0 Decorate 116(g_tTex1du4) Binding 0 - Decorate 119(g_tTex3df4) DescriptorSet 0 + Decorate 116(g_tTex1du4) DescriptorSet 0 Decorate 119(g_tTex3df4) Binding 0 - Decorate 122(g_tTex3di4) DescriptorSet 0 + Decorate 119(g_tTex3df4) DescriptorSet 0 Decorate 122(g_tTex3di4) Binding 0 - Decorate 125(g_tTex3du4) DescriptorSet 0 + Decorate 122(g_tTex3di4) DescriptorSet 0 Decorate 125(g_tTex3du4) Binding 0 + Decorate 125(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out index 9656db57..ae409bbd 100644 --- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out @@ -245,36 +245,36 @@ using depth_any Name 107 "g_tTexcdf4" Name 110 "g_tTexcdi4" Name 113 "g_tTexcdu4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 39(g_tTex2di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 39(g_tTex2di4) Binding 3 - Decorate 55(g_tTex2du4) DescriptorSet 0 + Decorate 39(g_tTex2di4) DescriptorSet 0 Decorate 55(g_tTex2du4) Binding 4 + Decorate 55(g_tTex2du4) DescriptorSet 0 Decorate 79(@entryPointOutput.Color) Location 0 Decorate 83(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 88(g_tTex1df4a) DescriptorSet 0 Decorate 88(g_tTex1df4a) Binding 1 - Decorate 89(g_tTex1df4) DescriptorSet 0 + Decorate 88(g_tTex1df4a) DescriptorSet 0 Decorate 89(g_tTex1df4) Binding 0 - Decorate 92(g_tTex1di4) DescriptorSet 0 + Decorate 89(g_tTex1df4) DescriptorSet 0 Decorate 92(g_tTex1di4) Binding 0 - Decorate 95(g_tTex1du4) DescriptorSet 0 + Decorate 92(g_tTex1di4) DescriptorSet 0 Decorate 95(g_tTex1du4) Binding 0 - Decorate 98(g_tTex3df4) DescriptorSet 0 + Decorate 95(g_tTex1du4) DescriptorSet 0 Decorate 98(g_tTex3df4) Binding 0 - Decorate 101(g_tTex3di4) DescriptorSet 0 + Decorate 98(g_tTex3df4) DescriptorSet 0 Decorate 101(g_tTex3di4) Binding 0 - Decorate 104(g_tTex3du4) DescriptorSet 0 + Decorate 101(g_tTex3di4) DescriptorSet 0 Decorate 104(g_tTex3du4) Binding 0 - Decorate 107(g_tTexcdf4) DescriptorSet 0 + Decorate 104(g_tTex3du4) DescriptorSet 0 Decorate 107(g_tTexcdf4) Binding 0 - Decorate 110(g_tTexcdi4) DescriptorSet 0 + Decorate 107(g_tTexcdf4) DescriptorSet 0 Decorate 110(g_tTexcdi4) Binding 0 - Decorate 113(g_tTexcdu4) DescriptorSet 0 + Decorate 110(g_tTexcdi4) DescriptorSet 0 Decorate 113(g_tTexcdu4) Binding 0 + Decorate 113(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out index 2e6221a2..695428ae 100644 --- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out @@ -233,24 +233,24 @@ using depth_any Name 90 "g_tTex1df4" Name 93 "g_tTex1di4" Name 96 "g_tTex1du4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 40(g_tTex2di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 40(g_tTex2di4) Binding 3 - Decorate 55(g_tTex2du4) DescriptorSet 0 + Decorate 40(g_tTex2di4) DescriptorSet 0 Decorate 55(g_tTex2du4) Binding 4 + Decorate 55(g_tTex2du4) DescriptorSet 0 Decorate 80(@entryPointOutput.Color) Location 0 Decorate 84(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 89(g_tTex1df4a) DescriptorSet 0 Decorate 89(g_tTex1df4a) Binding 1 - Decorate 90(g_tTex1df4) DescriptorSet 0 + Decorate 89(g_tTex1df4a) DescriptorSet 0 Decorate 90(g_tTex1df4) Binding 0 - Decorate 93(g_tTex1di4) DescriptorSet 0 + Decorate 90(g_tTex1df4) DescriptorSet 0 Decorate 93(g_tTex1di4) Binding 0 - Decorate 96(g_tTex1du4) DescriptorSet 0 + Decorate 93(g_tTex1di4) DescriptorSet 0 Decorate 96(g_tTex1du4) Binding 0 + Decorate 96(g_tTex1du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out index 904aaece..3bf68b55 100644 --- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out @@ -812,37 +812,37 @@ using depth_any Name 248 "g_tTex1df4a" Name 251 "g_tTex1di4a" Name 254 "g_tTex1du4a" - Decorate 16(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_tTex2df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 26($Global) Block MemberDecorate 26($Global) 0 Offset 0 MemberDecorate 26($Global) 1 Offset 8 MemberDecorate 26($Global) 2 Offset 16 MemberDecorate 26($Global) 3 Offset 32 - Decorate 26($Global) Block - Decorate 28 DescriptorSet 0 Decorate 28 Binding 7 - Decorate 41(g_tTex2di4a) DescriptorSet 0 + Decorate 28 DescriptorSet 0 Decorate 41(g_tTex2di4a) Binding 2 - Decorate 55(g_tTex2du4a) DescriptorSet 0 + Decorate 41(g_tTex2di4a) DescriptorSet 0 Decorate 55(g_tTex2du4a) Binding 3 - Decorate 131(g_tTexcdf4a) DescriptorSet 0 + Decorate 55(g_tTex2du4a) DescriptorSet 0 Decorate 131(g_tTexcdf4a) Binding 4 - Decorate 143(g_tTexcdi4a) DescriptorSet 0 + Decorate 131(g_tTexcdf4a) DescriptorSet 0 Decorate 143(g_tTexcdi4a) Binding 5 - Decorate 154(g_tTexcdu4a) DescriptorSet 0 + Decorate 143(g_tTexcdi4a) DescriptorSet 0 Decorate 154(g_tTexcdu4a) Binding 6 + Decorate 154(g_tTexcdu4a) DescriptorSet 0 Decorate 238(@entryPointOutput.Color) Location 0 Decorate 242(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 245(g_sSamp2d) DescriptorSet 0 Decorate 245(g_sSamp2d) Binding 0 - Decorate 248(g_tTex1df4a) DescriptorSet 0 + Decorate 245(g_sSamp2d) DescriptorSet 0 Decorate 248(g_tTex1df4a) Binding 0 - Decorate 251(g_tTex1di4a) DescriptorSet 0 + Decorate 248(g_tTex1df4a) DescriptorSet 0 Decorate 251(g_tTex1di4a) Binding 0 - Decorate 254(g_tTex1du4a) DescriptorSet 0 + Decorate 251(g_tTex1di4a) DescriptorSet 0 Decorate 254(g_tTex1du4a) Binding 0 + Decorate 254(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out index f8fa2f46..e94789a3 100644 --- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out @@ -823,45 +823,45 @@ using depth_any Name 258 "g_tTex3df4" Name 261 "g_tTex3di4" Name 264 "g_tTex3du4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 26($Global) Block MemberDecorate 26($Global) 0 Offset 0 MemberDecorate 26($Global) 1 Offset 8 MemberDecorate 26($Global) 2 Offset 16 MemberDecorate 26($Global) 3 Offset 32 - Decorate 26($Global) Block - Decorate 28 DescriptorSet 0 Decorate 28 Binding 8 - Decorate 41(g_tTex2di4) DescriptorSet 0 + Decorate 28 DescriptorSet 0 Decorate 41(g_tTex2di4) Binding 3 - Decorate 55(g_tTex2du4) DescriptorSet 0 + Decorate 41(g_tTex2di4) DescriptorSet 0 Decorate 55(g_tTex2du4) Binding 4 - Decorate 131(g_tTexcdf4) DescriptorSet 0 + Decorate 55(g_tTex2du4) DescriptorSet 0 Decorate 131(g_tTexcdf4) Binding 5 - Decorate 143(g_tTexcdi4) DescriptorSet 0 + Decorate 131(g_tTexcdf4) DescriptorSet 0 Decorate 143(g_tTexcdi4) Binding 6 - Decorate 154(g_tTexcdu4) DescriptorSet 0 + Decorate 143(g_tTexcdi4) DescriptorSet 0 Decorate 154(g_tTexcdu4) Binding 7 + Decorate 154(g_tTexcdu4) DescriptorSet 0 Decorate 238(@entryPointOutput.Color) Location 0 Decorate 242(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 245(g_sSamp2d) DescriptorSet 0 Decorate 245(g_sSamp2d) Binding 0 - Decorate 248(g_tTex1df4a) DescriptorSet 0 + Decorate 245(g_sSamp2d) DescriptorSet 0 Decorate 248(g_tTex1df4a) Binding 1 - Decorate 249(g_tTex1df4) DescriptorSet 0 + Decorate 248(g_tTex1df4a) DescriptorSet 0 Decorate 249(g_tTex1df4) Binding 0 - Decorate 252(g_tTex1di4) DescriptorSet 0 + Decorate 249(g_tTex1df4) DescriptorSet 0 Decorate 252(g_tTex1di4) Binding 0 - Decorate 255(g_tTex1du4) DescriptorSet 0 + Decorate 252(g_tTex1di4) DescriptorSet 0 Decorate 255(g_tTex1du4) Binding 0 - Decorate 258(g_tTex3df4) DescriptorSet 0 + Decorate 255(g_tTex1du4) DescriptorSet 0 Decorate 258(g_tTex3df4) Binding 0 - Decorate 261(g_tTex3di4) DescriptorSet 0 + Decorate 258(g_tTex3df4) DescriptorSet 0 Decorate 261(g_tTex3di4) Binding 0 - Decorate 264(g_tTex3du4) DescriptorSet 0 + Decorate 261(g_tTex3di4) DescriptorSet 0 Decorate 264(g_tTex3du4) Binding 0 + Decorate 264(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out index 63cb39fc..165c10c9 100644 --- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out @@ -1333,10 +1333,11 @@ Validation failed Name 392 "g_tTexcdf4" Name 395 "g_tTexcdi4" Name 398 "g_tTexcdu4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 30($Global) Block MemberDecorate 30($Global) 0 Offset 0 MemberDecorate 30($Global) 1 Offset 8 MemberDecorate 30($Global) 2 Offset 16 @@ -1345,37 +1346,36 @@ Validation failed MemberDecorate 30($Global) 5 Offset 56 MemberDecorate 30($Global) 6 Offset 64 MemberDecorate 30($Global) 7 Offset 80 - Decorate 30($Global) Block - Decorate 32 DescriptorSet 0 Decorate 32 Binding 5 - Decorate 47(g_tTex2di4) DescriptorSet 0 + Decorate 32 DescriptorSet 0 Decorate 47(g_tTex2di4) Binding 3 - Decorate 63(g_tTex2du4) DescriptorSet 0 + Decorate 47(g_tTex2di4) DescriptorSet 0 Decorate 63(g_tTex2du4) Binding 4 + Decorate 63(g_tTex2du4) DescriptorSet 0 Decorate 363(@entryPointOutput.Color) Location 0 Decorate 367(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 370(g_sSamp2d) DescriptorSet 0 Decorate 370(g_sSamp2d) Binding 0 - Decorate 373(g_tTex1df4a) DescriptorSet 0 + Decorate 370(g_sSamp2d) DescriptorSet 0 Decorate 373(g_tTex1df4a) Binding 1 - Decorate 374(g_tTex1df4) DescriptorSet 0 + Decorate 373(g_tTex1df4a) DescriptorSet 0 Decorate 374(g_tTex1df4) Binding 0 - Decorate 377(g_tTex1di4) DescriptorSet 0 + Decorate 374(g_tTex1df4) DescriptorSet 0 Decorate 377(g_tTex1di4) Binding 0 - Decorate 380(g_tTex1du4) DescriptorSet 0 + Decorate 377(g_tTex1di4) DescriptorSet 0 Decorate 380(g_tTex1du4) Binding 0 - Decorate 383(g_tTex3df4) DescriptorSet 0 + Decorate 380(g_tTex1du4) DescriptorSet 0 Decorate 383(g_tTex3df4) Binding 0 - Decorate 386(g_tTex3di4) DescriptorSet 0 + Decorate 383(g_tTex3df4) DescriptorSet 0 Decorate 386(g_tTex3di4) Binding 0 - Decorate 389(g_tTex3du4) DescriptorSet 0 + Decorate 386(g_tTex3di4) DescriptorSet 0 Decorate 389(g_tTex3du4) Binding 0 - Decorate 392(g_tTexcdf4) DescriptorSet 0 + Decorate 389(g_tTex3du4) DescriptorSet 0 Decorate 392(g_tTexcdf4) Binding 0 - Decorate 395(g_tTexcdi4) DescriptorSet 0 + Decorate 392(g_tTexcdf4) DescriptorSet 0 Decorate 395(g_tTexcdi4) Binding 0 - Decorate 398(g_tTexcdu4) DescriptorSet 0 + Decorate 395(g_tTexcdi4) DescriptorSet 0 Decorate 398(g_tTexcdu4) Binding 0 + Decorate 398(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out index da83e011..42360c59 100644 --- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out @@ -1322,10 +1322,11 @@ Validation failed Name 382 "g_tTexcdf4a" Name 385 "g_tTexcdi4a" Name 388 "g_tTexcdu4a" - Decorate 16(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_tTex2df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 30($Global) Block MemberDecorate 30($Global) 0 Offset 0 MemberDecorate 30($Global) 1 Offset 8 MemberDecorate 30($Global) 2 Offset 16 @@ -1334,29 +1335,28 @@ Validation failed MemberDecorate 30($Global) 5 Offset 56 MemberDecorate 30($Global) 6 Offset 64 MemberDecorate 30($Global) 7 Offset 80 - Decorate 30($Global) Block - Decorate 32 DescriptorSet 0 Decorate 32 Binding 4 - Decorate 47(g_tTex2di4a) DescriptorSet 0 + Decorate 32 DescriptorSet 0 Decorate 47(g_tTex2di4a) Binding 2 - Decorate 63(g_tTex2du4a) DescriptorSet 0 + Decorate 47(g_tTex2di4a) DescriptorSet 0 Decorate 63(g_tTex2du4a) Binding 3 + Decorate 63(g_tTex2du4a) DescriptorSet 0 Decorate 363(@entryPointOutput.Color) Location 0 Decorate 367(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 370(g_sSamp2d) DescriptorSet 0 Decorate 370(g_sSamp2d) Binding 0 - Decorate 373(g_tTex1df4a) DescriptorSet 0 + Decorate 370(g_sSamp2d) DescriptorSet 0 Decorate 373(g_tTex1df4a) Binding 0 - Decorate 376(g_tTex1di4a) DescriptorSet 0 + Decorate 373(g_tTex1df4a) DescriptorSet 0 Decorate 376(g_tTex1di4a) Binding 0 - Decorate 379(g_tTex1du4a) DescriptorSet 0 + Decorate 376(g_tTex1di4a) DescriptorSet 0 Decorate 379(g_tTex1du4a) Binding 0 - Decorate 382(g_tTexcdf4a) DescriptorSet 0 + Decorate 379(g_tTex1du4a) DescriptorSet 0 Decorate 382(g_tTexcdf4a) Binding 0 - Decorate 385(g_tTexcdi4a) DescriptorSet 0 + Decorate 382(g_tTexcdf4a) DescriptorSet 0 Decorate 385(g_tTexcdi4a) Binding 0 - Decorate 388(g_tTexcdu4a) DescriptorSet 0 + Decorate 385(g_tTexcdi4a) DescriptorSet 0 Decorate 388(g_tTexcdu4a) Binding 0 + Decorate 388(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out index ff834ec4..b734da5e 100644 --- a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out @@ -506,43 +506,43 @@ using depth_any Name 157 "g_tTexcdf4" Name 160 "g_tTexcdi4" Name 163 "g_tTexcdu4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSampCmp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSampCmp) Binding 0 + Decorate 20(g_sSampCmp) DescriptorSet 0 + Decorate 26($Global) Block MemberDecorate 26($Global) 0 Offset 0 MemberDecorate 26($Global) 1 Offset 8 MemberDecorate 26($Global) 2 Offset 16 MemberDecorate 26($Global) 3 Offset 32 - Decorate 26($Global) Block - Decorate 28 DescriptorSet 0 Decorate 28 Binding 5 - Decorate 44(g_tTex2di4) DescriptorSet 0 + Decorate 28 DescriptorSet 0 Decorate 44(g_tTex2di4) Binding 3 - Decorate 60(g_tTex2du4) DescriptorSet 0 + Decorate 44(g_tTex2di4) DescriptorSet 0 Decorate 60(g_tTex2du4) Binding 4 + Decorate 60(g_tTex2du4) DescriptorSet 0 Decorate 129(@entryPointOutput.Color) Location 0 Decorate 133(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 138(g_tTex1df4a) DescriptorSet 0 Decorate 138(g_tTex1df4a) Binding 1 - Decorate 139(g_tTex1df4) DescriptorSet 0 + Decorate 138(g_tTex1df4a) DescriptorSet 0 Decorate 139(g_tTex1df4) Binding 0 - Decorate 142(g_tTex1di4) DescriptorSet 0 + Decorate 139(g_tTex1df4) DescriptorSet 0 Decorate 142(g_tTex1di4) Binding 0 - Decorate 145(g_tTex1du4) DescriptorSet 0 + Decorate 142(g_tTex1di4) DescriptorSet 0 Decorate 145(g_tTex1du4) Binding 0 - Decorate 148(g_tTex3df4) DescriptorSet 0 + Decorate 145(g_tTex1du4) DescriptorSet 0 Decorate 148(g_tTex3df4) Binding 0 - Decorate 151(g_tTex3di4) DescriptorSet 0 + Decorate 148(g_tTex3df4) DescriptorSet 0 Decorate 151(g_tTex3di4) Binding 0 - Decorate 154(g_tTex3du4) DescriptorSet 0 + Decorate 151(g_tTex3di4) DescriptorSet 0 Decorate 154(g_tTex3du4) Binding 0 - Decorate 157(g_tTexcdf4) DescriptorSet 0 + Decorate 154(g_tTex3du4) DescriptorSet 0 Decorate 157(g_tTexcdf4) Binding 0 - Decorate 160(g_tTexcdi4) DescriptorSet 0 + Decorate 157(g_tTexcdf4) DescriptorSet 0 Decorate 160(g_tTexcdi4) Binding 0 - Decorate 163(g_tTexcdu4) DescriptorSet 0 + Decorate 160(g_tTexcdi4) DescriptorSet 0 Decorate 163(g_tTexcdu4) Binding 0 + Decorate 163(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out index 9e1d5439..18d55009 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out @@ -2422,64 +2422,64 @@ using depth_any Name 540 "@entryPointOutput.Color" Name 544 "@entryPointOutput.Depth" Name 549 "g_sSamp" - Decorate 17(g_tTex1df4) DescriptorSet 0 Decorate 17(g_tTex1df4) Binding 0 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 17(g_tTex1df4) DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 1 - Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 48(g_tTex1du4) Binding 2 - Decorate 63(g_tTex1df4a) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 Decorate 63(g_tTex1df4a) Binding 12 - Decorate 85(g_tTex1di4a) DescriptorSet 0 + Decorate 63(g_tTex1df4a) DescriptorSet 0 Decorate 85(g_tTex1di4a) Binding 13 - Decorate 104(g_tTex1du4a) DescriptorSet 0 + Decorate 85(g_tTex1di4a) DescriptorSet 0 Decorate 104(g_tTex1du4a) Binding 14 - Decorate 123(g_tTex2df4) DescriptorSet 0 + Decorate 104(g_tTex1du4a) DescriptorSet 0 Decorate 123(g_tTex2df4) Binding 3 - Decorate 143(g_tTex2di4) DescriptorSet 0 + Decorate 123(g_tTex2df4) DescriptorSet 0 Decorate 143(g_tTex2di4) Binding 4 - Decorate 162(g_tTex2du4) DescriptorSet 0 + Decorate 143(g_tTex2di4) DescriptorSet 0 Decorate 162(g_tTex2du4) Binding 5 - Decorate 183(g_tTex2df4a) DescriptorSet 0 + Decorate 162(g_tTex2du4) DescriptorSet 0 Decorate 183(g_tTex2df4a) Binding 15 - Decorate 207(g_tTex2di4a) DescriptorSet 0 + Decorate 183(g_tTex2df4a) DescriptorSet 0 Decorate 207(g_tTex2di4a) Binding 16 - Decorate 230(g_tTex2du4a) DescriptorSet 0 + Decorate 207(g_tTex2di4a) DescriptorSet 0 Decorate 230(g_tTex2du4a) Binding 17 - Decorate 253(g_tTex3df4) DescriptorSet 0 + Decorate 230(g_tTex2du4a) DescriptorSet 0 Decorate 253(g_tTex3df4) Binding 6 - Decorate 277(g_tTex3di4) DescriptorSet 0 + Decorate 253(g_tTex3df4) DescriptorSet 0 Decorate 277(g_tTex3di4) Binding 7 - Decorate 300(g_tTex3du4) DescriptorSet 0 + Decorate 277(g_tTex3di4) DescriptorSet 0 Decorate 300(g_tTex3du4) Binding 8 - Decorate 323(g_tTexcdf4) DescriptorSet 0 + Decorate 300(g_tTex3du4) DescriptorSet 0 Decorate 323(g_tTexcdf4) Binding 9 - Decorate 342(g_tTexcdi4) DescriptorSet 0 + Decorate 323(g_tTexcdf4) DescriptorSet 0 Decorate 342(g_tTexcdi4) Binding 10 - Decorate 361(g_tTexcdu4) DescriptorSet 0 + Decorate 342(g_tTexcdi4) DescriptorSet 0 Decorate 361(g_tTexcdu4) Binding 11 - Decorate 380(g_tTexcdf4a) DescriptorSet 0 + Decorate 361(g_tTexcdu4) DescriptorSet 0 Decorate 380(g_tTexcdf4a) Binding 18 - Decorate 403(g_tTexcdi4a) DescriptorSet 0 + Decorate 380(g_tTexcdf4a) DescriptorSet 0 Decorate 403(g_tTexcdi4a) Binding 19 - Decorate 426(g_tTexcdu4a) DescriptorSet 0 + Decorate 403(g_tTexcdi4a) DescriptorSet 0 Decorate 426(g_tTexcdu4a) Binding 20 - Decorate 449(g_tTex2dmsf4) DescriptorSet 0 + Decorate 426(g_tTexcdu4a) DescriptorSet 0 Decorate 449(g_tTex2dmsf4) Binding 21 - Decorate 462(g_tTex2dmsi4) DescriptorSet 0 + Decorate 449(g_tTex2dmsf4) DescriptorSet 0 Decorate 462(g_tTex2dmsi4) Binding 22 - Decorate 474(g_tTex2dmsu4) DescriptorSet 0 + Decorate 462(g_tTex2dmsi4) DescriptorSet 0 Decorate 474(g_tTex2dmsu4) Binding 23 - Decorate 486(g_tTex2dmsf4a) DescriptorSet 0 + Decorate 474(g_tTex2dmsu4) DescriptorSet 0 Decorate 486(g_tTex2dmsf4a) Binding 24 - Decorate 500(g_tTex2dmsi4a) DescriptorSet 0 + Decorate 486(g_tTex2dmsf4a) DescriptorSet 0 Decorate 500(g_tTex2dmsi4a) Binding 25 - Decorate 514(g_tTex2dmsu4a) DescriptorSet 0 + Decorate 500(g_tTex2dmsi4a) DescriptorSet 0 Decorate 514(g_tTex2dmsu4a) Binding 26 + Decorate 514(g_tTex2dmsu4a) DescriptorSet 0 Decorate 540(@entryPointOutput.Color) Location 0 Decorate 544(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 549(g_sSamp) DescriptorSet 0 Decorate 549(g_sSamp) Binding 0 + Decorate 549(g_sSamp) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/Test/baseResults/hlsl.getdimensions.dx10.vert.out index a7d27a86..925dd7e3 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.vert.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out @@ -138,11 +138,11 @@ Shader version: 500 Name 33 "vsout" Name 42 "@entryPointOutput.Pos" Name 47 "g_sSamp" - Decorate 17(g_tTex1df4) DescriptorSet 0 Decorate 17(g_tTex1df4) Binding 0 + Decorate 17(g_tTex1df4) DescriptorSet 0 Decorate 42(@entryPointOutput.Pos) BuiltIn Position - Decorate 47(g_sSamp) DescriptorSet 0 Decorate 47(g_sSamp) Binding 0 + Decorate 47(g_sSamp) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out index 7af13b23..01e99844 100644 --- a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out +++ b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out @@ -791,46 +791,47 @@ using depth_any MemberName 229($Global) 6 "o3" MemberName 229($Global) 7 "o4" Name 231 "" - Decorate 17(g_tTex1df4) DescriptorSet 0 Decorate 17(g_tTex1df4) Binding 0 - Decorate 26(g_tTex1di4) DescriptorSet 0 + Decorate 17(g_tTex1df4) DescriptorSet 0 Decorate 26(g_tTex1di4) Binding 1 - Decorate 33(g_tTex1du4) DescriptorSet 0 + Decorate 26(g_tTex1di4) DescriptorSet 0 Decorate 33(g_tTex1du4) Binding 2 - Decorate 40(g_tBuffF) DescriptorSet 0 + Decorate 33(g_tTex1du4) DescriptorSet 0 Decorate 40(g_tBuffF) Binding 15 - Decorate 47(g_tBuffI) DescriptorSet 0 + Decorate 40(g_tBuffF) DescriptorSet 0 Decorate 47(g_tBuffI) Binding 16 - Decorate 54(g_tBuffU) DescriptorSet 0 + Decorate 47(g_tBuffI) DescriptorSet 0 Decorate 54(g_tBuffU) Binding 17 - Decorate 63(g_tTex1df4a) DescriptorSet 0 + Decorate 54(g_tBuffU) DescriptorSet 0 Decorate 63(g_tTex1df4a) Binding 9 - Decorate 76(g_tTex1di4a) DescriptorSet 0 + Decorate 63(g_tTex1df4a) DescriptorSet 0 Decorate 76(g_tTex1di4a) Binding 10 - Decorate 86(g_tTex1du4a) DescriptorSet 0 + Decorate 76(g_tTex1di4a) DescriptorSet 0 Decorate 86(g_tTex1du4a) Binding 11 - Decorate 96(g_tTex2df4) DescriptorSet 0 + Decorate 86(g_tTex1du4a) DescriptorSet 0 Decorate 96(g_tTex2df4) Binding 3 - Decorate 107(g_tTex2di4) DescriptorSet 0 + Decorate 96(g_tTex2df4) DescriptorSet 0 Decorate 107(g_tTex2di4) Binding 4 - Decorate 117(g_tTex2du4) DescriptorSet 0 + Decorate 107(g_tTex2di4) DescriptorSet 0 Decorate 117(g_tTex2du4) Binding 5 - Decorate 129(g_tTex2df4a) DescriptorSet 0 + Decorate 117(g_tTex2du4) DescriptorSet 0 Decorate 129(g_tTex2df4a) Binding 12 - Decorate 142(g_tTex2di4a) DescriptorSet 0 + Decorate 129(g_tTex2df4a) DescriptorSet 0 Decorate 142(g_tTex2di4a) Binding 13 - Decorate 154(g_tTex2du4a) DescriptorSet 0 + Decorate 142(g_tTex2di4a) DescriptorSet 0 Decorate 154(g_tTex2du4a) Binding 14 - Decorate 166(g_tTex3df4) DescriptorSet 0 + Decorate 154(g_tTex2du4a) DescriptorSet 0 Decorate 166(g_tTex3df4) Binding 6 - Decorate 179(g_tTex3di4) DescriptorSet 0 + Decorate 166(g_tTex3df4) DescriptorSet 0 Decorate 179(g_tTex3di4) Binding 7 - Decorate 191(g_tTex3du4) DescriptorSet 0 + Decorate 179(g_tTex3di4) DescriptorSet 0 Decorate 191(g_tTex3du4) Binding 8 + Decorate 191(g_tTex3du4) DescriptorSet 0 Decorate 216(@entryPointOutput.Color) Location 0 Decorate 220(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 225(g_sSamp) DescriptorSet 0 Decorate 225(g_sSamp) Binding 0 + Decorate 225(g_sSamp) DescriptorSet 0 + Decorate 229($Global) Block MemberDecorate 229($Global) 0 Offset 0 MemberDecorate 229($Global) 1 Offset 8 MemberDecorate 229($Global) 2 Offset 16 @@ -839,9 +840,8 @@ using depth_any MemberDecorate 229($Global) 5 Offset 56 MemberDecorate 229($Global) 6 Offset 64 MemberDecorate 229($Global) 7 Offset 80 - Decorate 229($Global) Block - Decorate 231 DescriptorSet 0 Decorate 231 Binding 0 + Decorate 231 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out index f08a91cd..c2b97094 100644 --- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out +++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out @@ -619,16 +619,16 @@ using depth_any Name 188 "@entryPointOutput.Color" Name 192 "@entryPointOutput.Depth" Name 197 "g_sSamp" - Decorate 23(g_tTex2dmsf4) DescriptorSet 0 Decorate 23(g_tTex2dmsf4) Binding 1 - Decorate 131(g_tTex2dmsf4a) DescriptorSet 0 + Decorate 23(g_tTex2dmsf4) DescriptorSet 0 Decorate 131(g_tTex2dmsf4a) Binding 2 + Decorate 131(g_tTex2dmsf4a) DescriptorSet 0 Decorate 181(sample) Flat Decorate 181(sample) Location 0 Decorate 188(@entryPointOutput.Color) Location 0 Decorate 192(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 197(g_sSamp) DescriptorSet 0 Decorate 197(g_sSamp) Binding 0 + Decorate 197(g_sSamp) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.global-const-init.frag.out b/Test/baseResults/hlsl.global-const-init.frag.out index 0510b3e8..4b9d98e7 100644 --- a/Test/baseResults/hlsl.global-const-init.frag.out +++ b/Test/baseResults/hlsl.global-const-init.frag.out @@ -119,10 +119,10 @@ gl_FragCoord origin is upper left Name 15 "" Name 26 "a1" Name 41 "@entryPointOutput" - MemberDecorate 13(CB) 0 Offset 0 Decorate 13(CB) Block - Decorate 15 DescriptorSet 0 + MemberDecorate 13(CB) 0 Offset 0 Decorate 15 Binding 0 + Decorate 15 DescriptorSet 0 Decorate 41(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.groupid.comp.out b/Test/baseResults/hlsl.groupid.comp.out index 39c5fede..ba1eb136 100644 --- a/Test/baseResults/hlsl.groupid.comp.out +++ b/Test/baseResults/hlsl.groupid.comp.out @@ -99,8 +99,8 @@ local_size = (8, 8, 1) Name 26 "vGroupId" Name 29 "vGroupId" Name 34 "param" - Decorate 22(OutputTexture) DescriptorSet 0 Decorate 22(OutputTexture) Binding 0 + Decorate 22(OutputTexture) DescriptorSet 0 Decorate 29(vGroupId) BuiltIn WorkgroupId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.gs-hs-mix.tesc.out b/Test/baseResults/hlsl.gs-hs-mix.tesc.out index 5071a474..8dcbe4db 100644 --- a/Test/baseResults/hlsl.gs-hs-mix.tesc.out +++ b/Test/baseResults/hlsl.gs-hs-mix.tesc.out @@ -1057,32 +1057,32 @@ triangle order = ccw Name 204 "Q1" Name 213 "Q2" Name 222 "vertex" + Decorate 42(UniformBlock0) Block MemberDecorate 42(UniformBlock0) 0 RowMajor - MemberDecorate 42(UniformBlock0) 0 Offset 0 MemberDecorate 42(UniformBlock0) 0 MatrixStride 16 + MemberDecorate 42(UniformBlock0) 0 Offset 0 MemberDecorate 42(UniformBlock0) 1 RowMajor - MemberDecorate 42(UniformBlock0) 1 Offset 64 MemberDecorate 42(UniformBlock0) 1 MatrixStride 16 + MemberDecorate 42(UniformBlock0) 1 Offset 64 MemberDecorate 42(UniformBlock0) 2 RowMajor - MemberDecorate 42(UniformBlock0) 2 Offset 128 MemberDecorate 42(UniformBlock0) 2 MatrixStride 16 + MemberDecorate 42(UniformBlock0) 2 Offset 128 MemberDecorate 42(UniformBlock0) 3 RowMajor - MemberDecorate 42(UniformBlock0) 3 Offset 192 MemberDecorate 42(UniformBlock0) 3 MatrixStride 16 + MemberDecorate 42(UniformBlock0) 3 Offset 192 MemberDecorate 42(UniformBlock0) 4 Offset 240 MemberDecorate 42(UniformBlock0) 5 Offset 256 MemberDecorate 42(UniformBlock0) 6 Offset 272 - Decorate 42(UniformBlock0) Block - Decorate 44 DescriptorSet 0 Decorate 44 Binding 0 + Decorate 44 DescriptorSet 0 Decorate 97(patch.PositionWS) Location 0 Decorate 102(patch.NormalWS) Location 1 Decorate 120(id) BuiltIn InvocationId Decorate 123(@entryPointOutput.PositionWS) Location 0 - Decorate 145(@patchConstantOutput.EdgeTessFactor) Patch Decorate 145(@patchConstantOutput.EdgeTessFactor) BuiltIn TessLevelOuter - Decorate 158(@patchConstantOutput.InsideTessFactor) Patch + Decorate 145(@patchConstantOutput.EdgeTessFactor) Patch Decorate 158(@patchConstantOutput.InsideTessFactor) BuiltIn TessLevelInner + Decorate 158(@patchConstantOutput.InsideTessFactor) Patch Decorate 162(@patchConstantOutput.NormalWS[0]) Patch Decorate 162(@patchConstantOutput.NormalWS[0]) Location 1 Decorate 165(@patchConstantOutput.NormalWS[1]) Patch diff --git a/Test/baseResults/hlsl.hlslOffset.vert.out b/Test/baseResults/hlsl.hlslOffset.vert.out index 0f7b09bf..d4b90dbf 100644 --- a/Test/baseResults/hlsl.hlslOffset.vert.out +++ b/Test/baseResults/hlsl.hlslOffset.vert.out @@ -50,6 +50,7 @@ Shader version: 500 MemberName 15(b) 10 "m96" Name 17 "" Decorate 14 ArrayStride 16 + Decorate 15(b) Block MemberDecorate 15(b) 0 Offset 0 MemberDecorate 15(b) 1 Offset 4 MemberDecorate 15(b) 2 Offset 16 @@ -61,9 +62,8 @@ Shader version: 500 MemberDecorate 15(b) 8 Offset 76 MemberDecorate 15(b) 9 Offset 80 MemberDecorate 15(b) 10 Offset 96 - Decorate 15(b) Block - Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 + Decorate 17 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 9: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.1.tesc.out b/Test/baseResults/hlsl.hull.1.tesc.out index 41889420..6914456d 100644 --- a/Test/baseResults/hlsl.hull.1.tesc.out +++ b/Test/baseResults/hlsl.hull.1.tesc.out @@ -364,8 +364,8 @@ vertex spacing = equal_spacing Decorate 60(m_cpid) BuiltIn InvocationId Decorate 63(@entryPointOutput.cpoint) Location 0 Decorate 81(pid) BuiltIn PrimitiveId - Decorate 87(@patchConstantOutput.edges) Patch Decorate 87(@patchConstantOutput.edges) BuiltIn TessLevelOuter + Decorate 87(@patchConstantOutput.edges) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.2.tesc.out b/Test/baseResults/hlsl.hull.2.tesc.out index 0d08b681..1a117359 100644 --- a/Test/baseResults/hlsl.hull.2.tesc.out +++ b/Test/baseResults/hlsl.hull.2.tesc.out @@ -361,8 +361,8 @@ vertex spacing = equal_spacing Decorate 63(InvocationId) BuiltIn InvocationId Decorate 79(pid) BuiltIn PrimitiveId Decorate 81(pos) BuiltIn Position - Decorate 89(@patchConstantOutput.edges) Patch Decorate 89(@patchConstantOutput.edges) BuiltIn TessLevelOuter + Decorate 89(@patchConstantOutput.edges) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.3.tesc.out b/Test/baseResults/hlsl.hull.3.tesc.out index 808edd3a..4e0bf678 100644 --- a/Test/baseResults/hlsl.hull.3.tesc.out +++ b/Test/baseResults/hlsl.hull.3.tesc.out @@ -362,8 +362,8 @@ vertex spacing = equal_spacing Decorate 63(InvocationId) BuiltIn InvocationId Decorate 79(pid) BuiltIn PrimitiveId Decorate 81(pos) BuiltIn Position - Decorate 89(@patchConstantOutput.edges) Patch Decorate 89(@patchConstantOutput.edges) BuiltIn TessLevelOuter + Decorate 89(@patchConstantOutput.edges) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.4.tesc.out b/Test/baseResults/hlsl.hull.4.tesc.out index bffc4646..343844b9 100644 --- a/Test/baseResults/hlsl.hull.4.tesc.out +++ b/Test/baseResults/hlsl.hull.4.tesc.out @@ -502,10 +502,10 @@ triangle order = cw Decorate 61(I.m_Normal) Location 0 Decorate 80(cpid) BuiltIn InvocationId Decorate 83(@entryPointOutput.m_Position) BuiltIn Position - Decorate 107(@patchConstantOutput.fTessFactor) Patch Decorate 107(@patchConstantOutput.fTessFactor) BuiltIn TessLevelOuter - Decorate 120(@patchConstantOutput.fInsideTessFactor) Patch + Decorate 107(@patchConstantOutput.fTessFactor) Patch Decorate 120(@patchConstantOutput.fInsideTessFactor) BuiltIn TessLevelInner + Decorate 120(@patchConstantOutput.fInsideTessFactor) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.6.tesc.out b/Test/baseResults/hlsl.hull.6.tesc.out index b673a8c5..8522e94b 100644 --- a/Test/baseResults/hlsl.hull.6.tesc.out +++ b/Test/baseResults/hlsl.hull.6.tesc.out @@ -503,10 +503,10 @@ triangle order = ccw Decorate 97(@entryPointOutput.Position) Location 0 Decorate 104(@entryPointOutput.Color) Location 1 Decorate 117(BlockID) BuiltIn PrimitiveId - Decorate 119(Inside) Patch Decorate 119(Inside) BuiltIn TessLevelInner - Decorate 128(@patchConstantOutput.Edges) Patch + Decorate 119(Inside) Patch Decorate 128(@patchConstantOutput.Edges) BuiltIn TessLevelOuter + Decorate 128(@patchConstantOutput.Edges) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out b/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out index 4e706c0f..38927652 100644 --- a/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out +++ b/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out @@ -522,10 +522,10 @@ triangle order = cw Decorate 42(i.val) Location 0 Decorate 57(cpid) BuiltIn InvocationId Decorate 60(@entryPointOutput.val) Location 0 - Decorate 105(@patchConstantOutput.tfactor) Patch Decorate 105(@patchConstantOutput.tfactor) BuiltIn TessLevelOuter - Decorate 119(@patchConstantOutput.flInFactor) Patch + Decorate 105(@patchConstantOutput.tfactor) Patch Decorate 119(@patchConstantOutput.flInFactor) BuiltIn TessLevelInner + Decorate 119(@patchConstantOutput.flInFactor) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out b/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out index fd7cf0b6..a1894468 100644 --- a/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out +++ b/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out @@ -541,10 +541,10 @@ triangle order = cw Decorate 43(i.val) Location 0 Decorate 58(cpid) BuiltIn InvocationId Decorate 61(@entryPointOutput.val) Location 0 - Decorate 107(@patchConstantOutput.tfactor) Patch Decorate 107(@patchConstantOutput.tfactor) BuiltIn TessLevelOuter - Decorate 121(@patchConstantOutput.flInFactor) Patch + Decorate 107(@patchConstantOutput.tfactor) Patch Decorate 121(@patchConstantOutput.flInFactor) BuiltIn TessLevelInner + Decorate 121(@patchConstantOutput.flInFactor) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.imagefetch-subvec4.comp.out b/Test/baseResults/hlsl.imagefetch-subvec4.comp.out index 6573820d..83f04cfc 100644 --- a/Test/baseResults/hlsl.imagefetch-subvec4.comp.out +++ b/Test/baseResults/hlsl.imagefetch-subvec4.comp.out @@ -444,36 +444,36 @@ local_size = (8, 8, 8) Name 179 "tid" Name 181 "tid" Name 183 "param" - Decorate 19(i1D) DescriptorSet 0 Decorate 19(i1D) Binding 0 - Decorate 34(i2D) DescriptorSet 0 + Decorate 19(i1D) DescriptorSet 0 Decorate 34(i2D) Binding 1 - Decorate 45(i3D) DescriptorSet 0 + Decorate 34(i2D) DescriptorSet 0 Decorate 45(i3D) Binding 2 - Decorate 54(i1DArray) DescriptorSet 0 + Decorate 45(i3D) DescriptorSet 0 Decorate 54(i1DArray) Binding 3 - Decorate 64(i2DArray) DescriptorSet 0 + Decorate 54(i1DArray) DescriptorSet 0 Decorate 64(i2DArray) Binding 4 - Decorate 73(i2DMS) DescriptorSet 0 + Decorate 64(i2DArray) DescriptorSet 0 Decorate 73(i2DMS) Binding 5 - Decorate 86(i2DMSArray) DescriptorSet 0 + Decorate 73(i2DMS) DescriptorSet 0 Decorate 86(i2DMSArray) Binding 6 - Decorate 100(ii1D) DescriptorSet 0 + Decorate 86(i2DMSArray) DescriptorSet 0 Decorate 100(ii1D) Binding 7 - Decorate 111(ii2D) DescriptorSet 0 + Decorate 100(ii1D) DescriptorSet 0 Decorate 111(ii2D) Binding 8 - Decorate 121(ii3D) DescriptorSet 0 + Decorate 111(ii2D) DescriptorSet 0 Decorate 121(ii3D) Binding 9 - Decorate 130(ii1DArray) DescriptorSet 0 + Decorate 121(ii3D) DescriptorSet 0 Decorate 130(ii1DArray) Binding 10 - Decorate 140(ii2DArray) DescriptorSet 0 + Decorate 130(ii1DArray) DescriptorSet 0 Decorate 140(ii2DArray) Binding 11 - Decorate 149(ii2DMS) DescriptorSet 0 + Decorate 140(ii2DArray) DescriptorSet 0 Decorate 149(ii2DMS) Binding 12 - Decorate 160(ii2DMSArray) DescriptorSet 0 + Decorate 149(ii2DMS) DescriptorSet 0 Decorate 160(ii2DMSArray) Binding 13 - Decorate 175(OUT) DescriptorSet 0 + Decorate 160(ii2DMSArray) DescriptorSet 0 Decorate 175(OUT) Binding 0 + Decorate 175(OUT) DescriptorSet 0 Decorate 181(tid) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.imageload-subvec4.comp.out b/Test/baseResults/hlsl.imageload-subvec4.comp.out index d54075f1..e1714172 100644 --- a/Test/baseResults/hlsl.imageload-subvec4.comp.out +++ b/Test/baseResults/hlsl.imageload-subvec4.comp.out @@ -296,28 +296,28 @@ local_size = (8, 8, 8) Name 131 "tid" Name 133 "tid" Name 135 "param" - Decorate 19(i1D) DescriptorSet 0 Decorate 19(i1D) Binding 0 - Decorate 32(i2D) DescriptorSet 0 + Decorate 19(i1D) DescriptorSet 0 Decorate 32(i2D) Binding 1 - Decorate 43(i3D) DescriptorSet 0 + Decorate 32(i2D) DescriptorSet 0 Decorate 43(i3D) Binding 2 - Decorate 52(i1DArray) DescriptorSet 0 + Decorate 43(i3D) DescriptorSet 0 Decorate 52(i1DArray) Binding 3 - Decorate 62(i2DArray) DescriptorSet 0 + Decorate 52(i1DArray) DescriptorSet 0 Decorate 62(i2DArray) Binding 4 - Decorate 75(ii1D) DescriptorSet 0 + Decorate 62(i2DArray) DescriptorSet 0 Decorate 75(ii1D) Binding 5 - Decorate 86(ii2D) DescriptorSet 0 + Decorate 75(ii1D) DescriptorSet 0 Decorate 86(ii2D) Binding 6 - Decorate 96(ii3D) DescriptorSet 0 + Decorate 86(ii2D) DescriptorSet 0 Decorate 96(ii3D) Binding 7 - Decorate 105(ii1DArray) DescriptorSet 0 + Decorate 96(ii3D) DescriptorSet 0 Decorate 105(ii1DArray) Binding 8 - Decorate 115(ii2DArray) DescriptorSet 0 + Decorate 105(ii1DArray) DescriptorSet 0 Decorate 115(ii2DArray) Binding 9 - Decorate 127(OUT) DescriptorSet 0 + Decorate 115(ii2DArray) DescriptorSet 0 Decorate 127(OUT) Binding 10 + Decorate 127(OUT) DescriptorSet 0 Decorate 133(tid) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.implicitBool.frag.out b/Test/baseResults/hlsl.implicitBool.frag.out index 381e835c..03d04876 100644 --- a/Test/baseResults/hlsl.implicitBool.frag.out +++ b/Test/baseResults/hlsl.implicitBool.frag.out @@ -354,13 +354,13 @@ gl_FragCoord origin is upper left Name 100 "i" Name 120 "g" Name 137 "@entryPointOutput" + Decorate 16($Global) Block MemberDecorate 16($Global) 0 Offset 0 MemberDecorate 16($Global) 1 Offset 4 MemberDecorate 16($Global) 2 Offset 8 MemberDecorate 16($Global) 3 Offset 12 - Decorate 16($Global) Block - Decorate 18 DescriptorSet 0 Decorate 18 Binding 0 + Decorate 18 DescriptorSet 0 Decorate 137(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.include.vert.out b/Test/baseResults/hlsl.include.vert.out index 95a5b906..d2e147bd 100644 --- a/Test/baseResults/hlsl.include.vert.out +++ b/Test/baseResults/hlsl.include.vert.out @@ -19,15 +19,15 @@ MemberName 11($Global) 5 "i5" Name 13 "" Name 42 "@entryPointOutput" + Decorate 11($Global) Block MemberDecorate 11($Global) 0 Offset 0 MemberDecorate 11($Global) 1 Offset 16 MemberDecorate 11($Global) 2 Offset 32 MemberDecorate 11($Global) 3 Offset 48 MemberDecorate 11($Global) 4 Offset 64 MemberDecorate 11($Global) 5 Offset 80 - Decorate 11($Global) Block - Decorate 13 DescriptorSet 0 Decorate 13 Binding 0 + Decorate 13 DescriptorSet 0 Decorate 42(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.init.frag.out b/Test/baseResults/hlsl.init.frag.out index 35a89f04..89b1a74f 100644 --- a/Test/baseResults/hlsl.init.frag.out +++ b/Test/baseResults/hlsl.init.frag.out @@ -392,12 +392,12 @@ gl_FragCoord origin is upper left Name 109 "" Decorate 98(input) Location 0 Decorate 101(@entryPointOutput) Location 0 + Decorate 107(Constants) Block MemberDecorate 107(Constants) 0 Offset 0 MemberDecorate 107(Constants) 1 Offset 4 MemberDecorate 107(Constants) 2 Offset 8 - Decorate 107(Constants) Block - Decorate 109 DescriptorSet 0 Decorate 109 Binding 0 + Decorate 109 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.inoutquals.frag.out b/Test/baseResults/hlsl.inoutquals.frag.out index 931208b9..acea80bf 100644 --- a/Test/baseResults/hlsl.inoutquals.frag.out +++ b/Test/baseResults/hlsl.inoutquals.frag.out @@ -253,8 +253,8 @@ using depth_any Name 78 "@entryPointOutput.Color" Name 82 "@entryPointOutput.Depth" Name 88 "sampleMask" - Decorate 68(inpos) NoPerspective Decorate 68(inpos) BuiltIn FragCoord + Decorate 68(inpos) NoPerspective Decorate 78(@entryPointOutput.Color) Location 0 Decorate 82(@entryPointOutput.Depth) BuiltIn FragDepth Decorate 88(sampleMask) BuiltIn SampleMask diff --git a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out index 75a66d6f..69416c37 100644 --- a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out +++ b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out @@ -89,10 +89,10 @@ gl_FragCoord origin is upper left MemberName 14($Global) 0 "col4" Name 16 "" Name 27 "@entryPointOutput" - MemberDecorate 14($Global) 0 Offset 0 Decorate 14($Global) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14($Global) 0 Offset 0 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 27(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out index c68fc960..592bb887 100644 --- a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out +++ b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out @@ -131,6 +131,7 @@ gl_FragCoord origin is upper left Name 29 "r01" Name 37 "ps_output" Name 47 "@entryPointOutput.color" + Decorate 19($Global) Block MemberDecorate 19($Global) 0 Offset 0 MemberDecorate 19($Global) 1 Offset 4 MemberDecorate 19($Global) 2 Offset 8 @@ -139,9 +140,8 @@ gl_FragCoord origin is upper left MemberDecorate 19($Global) 5 Offset 24 MemberDecorate 19($Global) 6 Offset 32 MemberDecorate 19($Global) 7 Offset 40 - Decorate 19($Global) Block - Decorate 21 DescriptorSet 0 Decorate 21 Binding 0 + Decorate 21 DescriptorSet 0 Decorate 47(@entryPointOutput.color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.intrinsics.promote.frag.out b/Test/baseResults/hlsl.intrinsics.promote.frag.out index 99176f1a..e0a1c7d9 100644 --- a/Test/baseResults/hlsl.intrinsics.promote.frag.out +++ b/Test/baseResults/hlsl.intrinsics.promote.frag.out @@ -952,6 +952,7 @@ gl_FragCoord origin is upper left Name 301 "sizeQueryTemp" Name 310 "ps_output" Name 319 "@entryPointOutput.color" + Decorate 19($Global) Block MemberDecorate 19($Global) 0 Offset 0 MemberDecorate 19($Global) 1 Offset 4 MemberDecorate 19($Global) 2 Offset 8 @@ -962,13 +963,12 @@ gl_FragCoord origin is upper left MemberDecorate 19($Global) 7 Offset 40 MemberDecorate 19($Global) 8 Offset 48 MemberDecorate 19($Global) 9 Offset 52 - Decorate 19($Global) Block - Decorate 21 DescriptorSet 0 Decorate 21 Binding 0 - Decorate 258(g_tTexbfs) DescriptorSet 0 + Decorate 21 DescriptorSet 0 Decorate 258(g_tTexbfs) Binding 1 - Decorate 277(g_tTex1df4) DescriptorSet 0 + Decorate 258(g_tTexbfs) DescriptorSet 0 Decorate 277(g_tTex1df4) Binding 2 + Decorate 277(g_tTex1df4) DescriptorSet 0 Decorate 319(@entryPointOutput.color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out index e0fbfe6d..48d4cc8b 100644 --- a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out +++ b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out @@ -244,6 +244,7 @@ gl_FragCoord origin is upper left Name 66 "ps_output" Name 74 "@entryPointOutput.color" Name 79 "g_tTexbfs" + Decorate 17($Global) Block MemberDecorate 17($Global) 0 Offset 0 MemberDecorate 17($Global) 1 Offset 4 MemberDecorate 17($Global) 2 Offset 8 @@ -254,14 +255,13 @@ gl_FragCoord origin is upper left MemberDecorate 17($Global) 7 Offset 40 MemberDecorate 17($Global) 8 Offset 48 MemberDecorate 17($Global) 9 Offset 52 - Decorate 17($Global) Block - Decorate 19 DescriptorSet 0 Decorate 19 Binding 0 - Decorate 31(g_tTex1df4) DescriptorSet 0 + Decorate 19 DescriptorSet 0 Decorate 31(g_tTex1df4) Binding 1 + Decorate 31(g_tTex1df4) DescriptorSet 0 Decorate 74(@entryPointOutput.color) Location 0 - Decorate 79(g_tTexbfs) DescriptorSet 0 Decorate 79(g_tTexbfs) Binding 0 + Decorate 79(g_tTexbfs) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.isfinite.frag.out b/Test/baseResults/hlsl.isfinite.frag.out index e46e7718..9f562e3b 100644 --- a/Test/baseResults/hlsl.isfinite.frag.out +++ b/Test/baseResults/hlsl.isfinite.frag.out @@ -195,12 +195,12 @@ gl_FragCoord origin is upper left Name 51 "@finitetmp" Name 65 "@finitetmp" Name 83 "@entryPointOutput" + Decorate 35($Global) Block MemberDecorate 35($Global) 0 Offset 0 MemberDecorate 35($Global) 1 Offset 8 MemberDecorate 35($Global) 2 Offset 16 - Decorate 35($Global) Block - Decorate 37 DescriptorSet 0 Decorate 37 Binding 0 + Decorate 37 DescriptorSet 0 Decorate 83(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.layout.frag.out b/Test/baseResults/hlsl.layout.frag.out index b2306d07..564de6d0 100644 --- a/Test/baseResults/hlsl.layout.frag.out +++ b/Test/baseResults/hlsl.layout.frag.out @@ -111,19 +111,19 @@ Validation failed MemberName 33(tbufName2) 0 "v1PostLayout" Name 35 "" Name 43 "specConst" + Decorate 17(tbufName) BufferBlock MemberDecorate 17(tbufName) 0 NonWritable MemberDecorate 17(tbufName) 0 Offset 16 - Decorate 17(tbufName) BufferBlock - Decorate 19 DescriptorSet 3 Decorate 19 Binding 5 + Decorate 19 DescriptorSet 3 + Decorate 26(tbufName2) BufferBlock MemberDecorate 26(tbufName2) 0 NonWritable MemberDecorate 26(tbufName2) 0 Offset 0 - Decorate 26(tbufName2) BufferBlock + Decorate 33(tbufName2) BufferBlock MemberDecorate 33(tbufName2) 0 NonWritable MemberDecorate 33(tbufName2) 0 Offset 16 - Decorate 33(tbufName2) BufferBlock - Decorate 35 DescriptorSet 4 Decorate 35 Binding 7 + Decorate 35 DescriptorSet 4 Decorate 43(specConst) SpecId 17 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.layoutOverride.vert.out b/Test/baseResults/hlsl.layoutOverride.vert.out index 80c3e456..a0d8ad84 100644 --- a/Test/baseResults/hlsl.layoutOverride.vert.out +++ b/Test/baseResults/hlsl.layoutOverride.vert.out @@ -65,10 +65,10 @@ Shader version: 500 Name 13 "tex" Name 17 "samp" Name 30 "@entryPointOutput" - Decorate 13(tex) DescriptorSet 2 Decorate 13(tex) Binding 0 - Decorate 17(samp) DescriptorSet 0 + Decorate 13(tex) DescriptorSet 2 Decorate 17(samp) Binding 0 + Decorate 17(samp) DescriptorSet 0 Decorate 30(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out index 09086cbc..f8ede047 100644 --- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out +++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out @@ -370,29 +370,29 @@ using depth_any Name 119 "@entryPointOutput.Color" Name 123 "@entryPointOutput.Depth" Name 128 "g_sSamp" - Decorate 23(g_tTex2dmsf4) DescriptorSet 0 Decorate 23(g_tTex2dmsf4) Binding 1 + Decorate 23(g_tTex2dmsf4) DescriptorSet 0 + Decorate 27($Global) Block MemberDecorate 27($Global) 0 Offset 0 MemberDecorate 27($Global) 1 Offset 8 MemberDecorate 27($Global) 2 Offset 16 MemberDecorate 27($Global) 3 Offset 32 - Decorate 27($Global) Block - Decorate 29 DescriptorSet 0 Decorate 29 Binding 7 - Decorate 37(g_tTex2dmsi4) DescriptorSet 0 + Decorate 29 DescriptorSet 0 Decorate 37(g_tTex2dmsi4) Binding 2 - Decorate 45(g_tTex2dmsu4) DescriptorSet 0 + Decorate 37(g_tTex2dmsi4) DescriptorSet 0 Decorate 45(g_tTex2dmsu4) Binding 3 - Decorate 68(g_tTex2dmsf4a) DescriptorSet 0 + Decorate 45(g_tTex2dmsu4) DescriptorSet 0 Decorate 68(g_tTex2dmsf4a) Binding 4 - Decorate 77(g_tTex2dmsi4a) DescriptorSet 0 + Decorate 68(g_tTex2dmsf4a) DescriptorSet 0 Decorate 77(g_tTex2dmsi4a) Binding 5 - Decorate 84(g_tTex2dmsu4a) DescriptorSet 0 + Decorate 77(g_tTex2dmsi4a) DescriptorSet 0 Decorate 84(g_tTex2dmsu4a) Binding 6 + Decorate 84(g_tTex2dmsu4a) DescriptorSet 0 Decorate 119(@entryPointOutput.Color) Location 0 Decorate 123(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 128(g_sSamp) DescriptorSet 0 Decorate 128(g_sSamp) Binding 0 + Decorate 128(g_sSamp) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out index 96792a95..4bc42a6b 100644 --- a/Test/baseResults/hlsl.load.array.dx10.frag.out +++ b/Test/baseResults/hlsl.load.array.dx10.frag.out @@ -441,8 +441,9 @@ using depth_any Name 152 "g_tTexcdf4a" Name 155 "g_tTexcdi4a" Name 158 "g_tTexcdu4a" - Decorate 14(g_tTex1df4a) DescriptorSet 0 Decorate 14(g_tTex1df4a) Binding 1 + Decorate 14(g_tTex1df4a) DescriptorSet 0 + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 8 MemberDecorate 20($Global) 2 Offset 16 @@ -451,53 +452,52 @@ using depth_any MemberDecorate 20($Global) 5 Offset 56 MemberDecorate 20($Global) 6 Offset 64 MemberDecorate 20($Global) 7 Offset 80 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 7 - Decorate 36(g_tTex1di4a) DescriptorSet 0 + Decorate 22 DescriptorSet 0 Decorate 36(g_tTex1di4a) Binding 2 - Decorate 46(g_tTex1du4a) DescriptorSet 0 + Decorate 36(g_tTex1di4a) DescriptorSet 0 Decorate 46(g_tTex1du4a) Binding 3 - Decorate 57(g_tTex2df4a) DescriptorSet 0 + Decorate 46(g_tTex1du4a) DescriptorSet 0 Decorate 57(g_tTex2df4a) Binding 4 - Decorate 70(g_tTex2di4a) DescriptorSet 0 + Decorate 57(g_tTex2df4a) DescriptorSet 0 Decorate 70(g_tTex2di4a) Binding 5 - Decorate 80(g_tTex2du4a) DescriptorSet 0 + Decorate 70(g_tTex2di4a) DescriptorSet 0 Decorate 80(g_tTex2du4a) Binding 6 + Decorate 80(g_tTex2du4a) DescriptorSet 0 Decorate 104(@entryPointOutput.Color) Location 0 Decorate 108(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 113(g_sSamp) DescriptorSet 0 Decorate 113(g_sSamp) Binding 0 - Decorate 116(g_tTex1df4) DescriptorSet 0 + Decorate 113(g_sSamp) DescriptorSet 0 Decorate 116(g_tTex1df4) Binding 0 - Decorate 119(g_tTex1di4) DescriptorSet 0 + Decorate 116(g_tTex1df4) DescriptorSet 0 Decorate 119(g_tTex1di4) Binding 0 - Decorate 122(g_tTex1du4) DescriptorSet 0 + Decorate 119(g_tTex1di4) DescriptorSet 0 Decorate 122(g_tTex1du4) Binding 0 - Decorate 125(g_tTex2df4) DescriptorSet 0 + Decorate 122(g_tTex1du4) DescriptorSet 0 Decorate 125(g_tTex2df4) Binding 0 - Decorate 128(g_tTex2di4) DescriptorSet 0 + Decorate 125(g_tTex2df4) DescriptorSet 0 Decorate 128(g_tTex2di4) Binding 0 - Decorate 131(g_tTex2du4) DescriptorSet 0 + Decorate 128(g_tTex2di4) DescriptorSet 0 Decorate 131(g_tTex2du4) Binding 0 - Decorate 134(g_tTex3df4) DescriptorSet 0 + Decorate 131(g_tTex2du4) DescriptorSet 0 Decorate 134(g_tTex3df4) Binding 0 - Decorate 137(g_tTex3di4) DescriptorSet 0 + Decorate 134(g_tTex3df4) DescriptorSet 0 Decorate 137(g_tTex3di4) Binding 0 - Decorate 140(g_tTex3du4) DescriptorSet 0 + Decorate 137(g_tTex3di4) DescriptorSet 0 Decorate 140(g_tTex3du4) Binding 0 - Decorate 143(g_tTexcdf4) DescriptorSet 0 + Decorate 140(g_tTex3du4) DescriptorSet 0 Decorate 143(g_tTexcdf4) Binding 0 - Decorate 146(g_tTexcdi4) DescriptorSet 0 + Decorate 143(g_tTexcdf4) DescriptorSet 0 Decorate 146(g_tTexcdi4) Binding 0 - Decorate 149(g_tTexcdu4) DescriptorSet 0 + Decorate 146(g_tTexcdi4) DescriptorSet 0 Decorate 149(g_tTexcdu4) Binding 0 - Decorate 152(g_tTexcdf4a) DescriptorSet 0 + Decorate 149(g_tTexcdu4) DescriptorSet 0 Decorate 152(g_tTexcdf4a) Binding 0 - Decorate 155(g_tTexcdi4a) DescriptorSet 0 + Decorate 152(g_tTexcdf4a) DescriptorSet 0 Decorate 155(g_tTexcdi4a) Binding 0 - Decorate 158(g_tTexcdu4a) DescriptorSet 0 + Decorate 155(g_tTexcdi4a) DescriptorSet 0 Decorate 158(g_tTexcdu4a) Binding 0 + Decorate 158(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out index b9730f37..d1be427e 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out @@ -543,8 +543,9 @@ using depth_any Name 172 "g_tTexcdf4a" Name 175 "g_tTexcdi4a" Name 178 "g_tTexcdu4a" - Decorate 14(g_tTex1df4) DescriptorSet 0 Decorate 14(g_tTex1df4) Binding 0 + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 8 MemberDecorate 20($Global) 2 Offset 16 @@ -553,53 +554,52 @@ using depth_any MemberDecorate 20($Global) 5 Offset 56 MemberDecorate 20($Global) 6 Offset 64 MemberDecorate 20($Global) 7 Offset 80 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 9 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 22 DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 1 - Decorate 44(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 44(g_tTex1du4) Binding 2 - Decorate 54(g_tTex2df4) DescriptorSet 0 + Decorate 44(g_tTex1du4) DescriptorSet 0 Decorate 54(g_tTex2df4) Binding 3 - Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 54(g_tTex2df4) DescriptorSet 0 Decorate 67(g_tTex2di4) Binding 4 - Decorate 77(g_tTex2du4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 Decorate 77(g_tTex2du4) Binding 5 - Decorate 87(g_tTex3df4) DescriptorSet 0 + Decorate 77(g_tTex2du4) DescriptorSet 0 Decorate 87(g_tTex3df4) Binding 6 - Decorate 100(g_tTex3di4) DescriptorSet 0 + Decorate 87(g_tTex3df4) DescriptorSet 0 Decorate 100(g_tTex3di4) Binding 7 - Decorate 110(g_tTex3du4) DescriptorSet 0 + Decorate 100(g_tTex3di4) DescriptorSet 0 Decorate 110(g_tTex3du4) Binding 8 + Decorate 110(g_tTex3du4) DescriptorSet 0 Decorate 133(@entryPointOutput.Color) Location 0 Decorate 137(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 142(g_sSamp) DescriptorSet 0 Decorate 142(g_sSamp) Binding 0 - Decorate 145(g_tTexcdf4) DescriptorSet 0 + Decorate 142(g_sSamp) DescriptorSet 0 Decorate 145(g_tTexcdf4) Binding 0 - Decorate 148(g_tTexcdi4) DescriptorSet 0 + Decorate 145(g_tTexcdf4) DescriptorSet 0 Decorate 148(g_tTexcdi4) Binding 0 - Decorate 151(g_tTexcdu4) DescriptorSet 0 + Decorate 148(g_tTexcdi4) DescriptorSet 0 Decorate 151(g_tTexcdu4) Binding 0 - Decorate 154(g_tTex1df4a) DescriptorSet 0 + Decorate 151(g_tTexcdu4) DescriptorSet 0 Decorate 154(g_tTex1df4a) Binding 0 - Decorate 157(g_tTex1di4a) DescriptorSet 0 + Decorate 154(g_tTex1df4a) DescriptorSet 0 Decorate 157(g_tTex1di4a) Binding 0 - Decorate 160(g_tTex1du4a) DescriptorSet 0 + Decorate 157(g_tTex1di4a) DescriptorSet 0 Decorate 160(g_tTex1du4a) Binding 0 - Decorate 163(g_tTex2df4a) DescriptorSet 0 + Decorate 160(g_tTex1du4a) DescriptorSet 0 Decorate 163(g_tTex2df4a) Binding 0 - Decorate 166(g_tTex2di4a) DescriptorSet 0 + Decorate 163(g_tTex2df4a) DescriptorSet 0 Decorate 166(g_tTex2di4a) Binding 0 - Decorate 169(g_tTex2du4a) DescriptorSet 0 + Decorate 166(g_tTex2di4a) DescriptorSet 0 Decorate 169(g_tTex2du4a) Binding 0 - Decorate 172(g_tTexcdf4a) DescriptorSet 0 + Decorate 169(g_tTex2du4a) DescriptorSet 0 Decorate 172(g_tTexcdf4a) Binding 0 - Decorate 175(g_tTexcdi4a) DescriptorSet 0 + Decorate 172(g_tTexcdf4a) DescriptorSet 0 Decorate 175(g_tTexcdi4a) Binding 0 - Decorate 178(g_tTexcdu4a) DescriptorSet 0 + Decorate 175(g_tTexcdi4a) DescriptorSet 0 Decorate 178(g_tTexcdu4a) Binding 0 + Decorate 178(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out index c387d5f9..1dc4464f 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out @@ -500,8 +500,9 @@ Shader version: 500 Name 164 "g_tTexcdf4a" Name 167 "g_tTexcdi4a" Name 170 "g_tTexcdu4a" - Decorate 14(g_tTex1df4) DescriptorSet 0 Decorate 14(g_tTex1df4) Binding 0 + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 8 MemberDecorate 20($Global) 2 Offset 16 @@ -510,52 +511,51 @@ Shader version: 500 MemberDecorate 20($Global) 5 Offset 56 MemberDecorate 20($Global) 6 Offset 64 MemberDecorate 20($Global) 7 Offset 80 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 9 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 22 DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 1 - Decorate 44(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 44(g_tTex1du4) Binding 2 - Decorate 54(g_tTex2df4) DescriptorSet 0 + Decorate 44(g_tTex1du4) DescriptorSet 0 Decorate 54(g_tTex2df4) Binding 3 - Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 54(g_tTex2df4) DescriptorSet 0 Decorate 67(g_tTex2di4) Binding 4 - Decorate 77(g_tTex2du4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 Decorate 77(g_tTex2du4) Binding 5 - Decorate 87(g_tTex3df4) DescriptorSet 0 + Decorate 77(g_tTex2du4) DescriptorSet 0 Decorate 87(g_tTex3df4) Binding 6 - Decorate 100(g_tTex3di4) DescriptorSet 0 + Decorate 87(g_tTex3df4) DescriptorSet 0 Decorate 100(g_tTex3di4) Binding 7 - Decorate 110(g_tTex3du4) DescriptorSet 0 + Decorate 100(g_tTex3di4) DescriptorSet 0 Decorate 110(g_tTex3du4) Binding 8 + Decorate 110(g_tTex3du4) DescriptorSet 0 Decorate 129(@entryPointOutput.Pos) BuiltIn Position - Decorate 134(g_sSamp) DescriptorSet 0 Decorate 134(g_sSamp) Binding 0 - Decorate 137(g_tTexcdf4) DescriptorSet 0 + Decorate 134(g_sSamp) DescriptorSet 0 Decorate 137(g_tTexcdf4) Binding 0 - Decorate 140(g_tTexcdi4) DescriptorSet 0 + Decorate 137(g_tTexcdf4) DescriptorSet 0 Decorate 140(g_tTexcdi4) Binding 0 - Decorate 143(g_tTexcdu4) DescriptorSet 0 + Decorate 140(g_tTexcdi4) DescriptorSet 0 Decorate 143(g_tTexcdu4) Binding 0 - Decorate 146(g_tTex1df4a) DescriptorSet 0 + Decorate 143(g_tTexcdu4) DescriptorSet 0 Decorate 146(g_tTex1df4a) Binding 0 - Decorate 149(g_tTex1di4a) DescriptorSet 0 + Decorate 146(g_tTex1df4a) DescriptorSet 0 Decorate 149(g_tTex1di4a) Binding 0 - Decorate 152(g_tTex1du4a) DescriptorSet 0 + Decorate 149(g_tTex1di4a) DescriptorSet 0 Decorate 152(g_tTex1du4a) Binding 0 - Decorate 155(g_tTex2df4a) DescriptorSet 0 + Decorate 152(g_tTex1du4a) DescriptorSet 0 Decorate 155(g_tTex2df4a) Binding 0 - Decorate 158(g_tTex2di4a) DescriptorSet 0 + Decorate 155(g_tTex2df4a) DescriptorSet 0 Decorate 158(g_tTex2di4a) Binding 0 - Decorate 161(g_tTex2du4a) DescriptorSet 0 + Decorate 158(g_tTex2di4a) DescriptorSet 0 Decorate 161(g_tTex2du4a) Binding 0 - Decorate 164(g_tTexcdf4a) DescriptorSet 0 + Decorate 161(g_tTex2du4a) DescriptorSet 0 Decorate 164(g_tTexcdf4a) Binding 0 - Decorate 167(g_tTexcdi4a) DescriptorSet 0 + Decorate 164(g_tTexcdf4a) DescriptorSet 0 Decorate 167(g_tTexcdi4a) Binding 0 - Decorate 170(g_tTexcdu4a) DescriptorSet 0 + Decorate 167(g_tTexcdi4a) DescriptorSet 0 Decorate 170(g_tTexcdu4a) Binding 0 + Decorate 170(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out index b37e3c93..900c1184 100644 --- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out +++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out @@ -203,8 +203,9 @@ using depth_any Name 64 "@entryPointOutput.Color" Name 68 "@entryPointOutput.Depth" Name 71 "g_tTexbf4_test" - Decorate 16(g_tTexbf4) DescriptorSet 0 Decorate 16(g_tTexbf4) Binding 1 + Decorate 16(g_tTexbf4) DescriptorSet 0 + Decorate 22($Global) Block MemberDecorate 22($Global) 0 Offset 0 MemberDecorate 22($Global) 1 Offset 8 MemberDecorate 22($Global) 2 Offset 16 @@ -213,17 +214,16 @@ using depth_any MemberDecorate 22($Global) 5 Offset 56 MemberDecorate 22($Global) 6 Offset 64 MemberDecorate 22($Global) 7 Offset 80 - Decorate 22($Global) Block - Decorate 24 DescriptorSet 0 Decorate 24 Binding 4 - Decorate 34(g_tTexbi4) DescriptorSet 0 + Decorate 24 DescriptorSet 0 Decorate 34(g_tTexbi4) Binding 2 - Decorate 45(g_tTexbu4) DescriptorSet 0 + Decorate 34(g_tTexbi4) DescriptorSet 0 Decorate 45(g_tTexbu4) Binding 3 + Decorate 45(g_tTexbu4) DescriptorSet 0 Decorate 64(@entryPointOutput.Color) Location 0 Decorate 68(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 71(g_tTexbf4_test) DescriptorSet 0 Decorate 71(g_tTexbf4_test) Binding 0 + Decorate 71(g_tTexbf4_test) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out index b248ed6b..c88fd6a2 100644 --- a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out +++ b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out @@ -209,8 +209,9 @@ using depth_any Name 67 "@entryPointOutput.Color" Name 71 "@entryPointOutput.Depth" Name 74 "g_tTexbfs_test" - Decorate 16(g_tTexbfs) DescriptorSet 0 Decorate 16(g_tTexbfs) Binding 1 + Decorate 16(g_tTexbfs) DescriptorSet 0 + Decorate 22($Global) Block MemberDecorate 22($Global) 0 Offset 0 MemberDecorate 22($Global) 1 Offset 8 MemberDecorate 22($Global) 2 Offset 16 @@ -219,17 +220,16 @@ using depth_any MemberDecorate 22($Global) 5 Offset 56 MemberDecorate 22($Global) 6 Offset 64 MemberDecorate 22($Global) 7 Offset 80 - Decorate 22($Global) Block - Decorate 24 DescriptorSet 0 Decorate 24 Binding 4 - Decorate 35(g_tTexbis) DescriptorSet 0 + Decorate 24 DescriptorSet 0 Decorate 35(g_tTexbis) Binding 2 - Decorate 46(g_tTexbus) DescriptorSet 0 + Decorate 35(g_tTexbis) DescriptorSet 0 Decorate 46(g_tTexbus) Binding 3 + Decorate 46(g_tTexbus) DescriptorSet 0 Decorate 67(@entryPointOutput.Color) Location 0 Decorate 71(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 74(g_tTexbfs_test) DescriptorSet 0 Decorate 74(g_tTexbfs_test) Binding 0 + Decorate 74(g_tTexbfs_test) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out index f8d43837..0d07130d 100644 --- a/Test/baseResults/hlsl.load.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out @@ -603,59 +603,59 @@ using depth_any Name 198 "g_tTexcdf4a" Name 201 "g_tTexcdi4a" Name 204 "g_tTexcdu4a" - Decorate 35(g_tTex1df4) DescriptorSet 0 Decorate 35(g_tTex1df4) Binding 0 + Decorate 35(g_tTex1df4) DescriptorSet 0 + Decorate 38($Global) Block MemberDecorate 38($Global) 0 Offset 0 MemberDecorate 38($Global) 1 Offset 8 MemberDecorate 38($Global) 2 Offset 16 MemberDecorate 38($Global) 3 Offset 32 - Decorate 38($Global) Block - Decorate 40 DescriptorSet 0 Decorate 40 Binding 9 - Decorate 53(g_tTex1di4) DescriptorSet 0 + Decorate 40 DescriptorSet 0 Decorate 53(g_tTex1di4) Binding 1 - Decorate 63(g_tTex1du4) DescriptorSet 0 + Decorate 53(g_tTex1di4) DescriptorSet 0 Decorate 63(g_tTex1du4) Binding 2 - Decorate 74(g_tTex2df4) DescriptorSet 0 + Decorate 63(g_tTex1du4) DescriptorSet 0 Decorate 74(g_tTex2df4) Binding 3 - Decorate 88(g_tTex2di4) DescriptorSet 0 + Decorate 74(g_tTex2df4) DescriptorSet 0 Decorate 88(g_tTex2di4) Binding 4 - Decorate 99(g_tTex2du4) DescriptorSet 0 + Decorate 88(g_tTex2di4) DescriptorSet 0 Decorate 99(g_tTex2du4) Binding 5 - Decorate 110(g_tTex3df4) DescriptorSet 0 + Decorate 99(g_tTex2du4) DescriptorSet 0 Decorate 110(g_tTex3df4) Binding 6 - Decorate 124(g_tTex3di4) DescriptorSet 0 + Decorate 110(g_tTex3df4) DescriptorSet 0 Decorate 124(g_tTex3di4) Binding 7 - Decorate 135(g_tTex3du4) DescriptorSet 0 + Decorate 124(g_tTex3di4) DescriptorSet 0 Decorate 135(g_tTex3du4) Binding 8 + Decorate 135(g_tTex3du4) DescriptorSet 0 Decorate 159(@entryPointOutput.Color) Location 0 Decorate 163(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 168(g_sSamp) DescriptorSet 0 Decorate 168(g_sSamp) Binding 0 - Decorate 171(g_tTexcdf4) DescriptorSet 0 + Decorate 168(g_sSamp) DescriptorSet 0 Decorate 171(g_tTexcdf4) Binding 0 - Decorate 174(g_tTexcdi4) DescriptorSet 0 + Decorate 171(g_tTexcdf4) DescriptorSet 0 Decorate 174(g_tTexcdi4) Binding 0 - Decorate 177(g_tTexcdu4) DescriptorSet 0 + Decorate 174(g_tTexcdi4) DescriptorSet 0 Decorate 177(g_tTexcdu4) Binding 0 - Decorate 180(g_tTex1df4a) DescriptorSet 0 + Decorate 177(g_tTexcdu4) DescriptorSet 0 Decorate 180(g_tTex1df4a) Binding 0 - Decorate 183(g_tTex1di4a) DescriptorSet 0 + Decorate 180(g_tTex1df4a) DescriptorSet 0 Decorate 183(g_tTex1di4a) Binding 0 - Decorate 186(g_tTex1du4a) DescriptorSet 0 + Decorate 183(g_tTex1di4a) DescriptorSet 0 Decorate 186(g_tTex1du4a) Binding 0 - Decorate 189(g_tTex2df4a) DescriptorSet 0 + Decorate 186(g_tTex1du4a) DescriptorSet 0 Decorate 189(g_tTex2df4a) Binding 0 - Decorate 192(g_tTex2di4a) DescriptorSet 0 + Decorate 189(g_tTex2df4a) DescriptorSet 0 Decorate 192(g_tTex2di4a) Binding 0 - Decorate 195(g_tTex2du4a) DescriptorSet 0 + Decorate 192(g_tTex2di4a) DescriptorSet 0 Decorate 195(g_tTex2du4a) Binding 0 - Decorate 198(g_tTexcdf4a) DescriptorSet 0 + Decorate 195(g_tTex2du4a) DescriptorSet 0 Decorate 198(g_tTexcdf4a) Binding 0 - Decorate 201(g_tTexcdi4a) DescriptorSet 0 + Decorate 198(g_tTexcdf4a) DescriptorSet 0 Decorate 201(g_tTexcdi4a) Binding 0 - Decorate 204(g_tTexcdu4a) DescriptorSet 0 + Decorate 201(g_tTexcdi4a) DescriptorSet 0 Decorate 204(g_tTexcdu4a) Binding 0 + Decorate 204(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out index bc5f632d..0cfd2a87 100644 --- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out @@ -478,59 +478,59 @@ using depth_any Name 169 "g_tTexcdf4a" Name 172 "g_tTexcdi4a" Name 175 "g_tTexcdu4a" - Decorate 28(g_tTex1df4a) DescriptorSet 0 Decorate 28(g_tTex1df4a) Binding 1 + Decorate 28(g_tTex1df4a) DescriptorSet 0 + Decorate 32($Global) Block MemberDecorate 32($Global) 0 Offset 0 MemberDecorate 32($Global) 1 Offset 8 MemberDecorate 32($Global) 2 Offset 16 MemberDecorate 32($Global) 3 Offset 32 - Decorate 32($Global) Block - Decorate 34 DescriptorSet 0 Decorate 34 Binding 7 - Decorate 49(g_tTex1di4a) DescriptorSet 0 + Decorate 34 DescriptorSet 0 Decorate 49(g_tTex1di4a) Binding 2 - Decorate 60(g_tTex1du4a) DescriptorSet 0 + Decorate 49(g_tTex1di4a) DescriptorSet 0 Decorate 60(g_tTex1du4a) Binding 3 - Decorate 72(g_tTex2df4a) DescriptorSet 0 + Decorate 60(g_tTex1du4a) DescriptorSet 0 Decorate 72(g_tTex2df4a) Binding 4 - Decorate 86(g_tTex2di4a) DescriptorSet 0 + Decorate 72(g_tTex2df4a) DescriptorSet 0 Decorate 86(g_tTex2di4a) Binding 5 - Decorate 97(g_tTex2du4a) DescriptorSet 0 + Decorate 86(g_tTex2di4a) DescriptorSet 0 Decorate 97(g_tTex2du4a) Binding 6 + Decorate 97(g_tTex2du4a) DescriptorSet 0 Decorate 121(@entryPointOutput.Color) Location 0 Decorate 125(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 130(g_sSamp) DescriptorSet 0 Decorate 130(g_sSamp) Binding 0 - Decorate 133(g_tTex1df4) DescriptorSet 0 + Decorate 130(g_sSamp) DescriptorSet 0 Decorate 133(g_tTex1df4) Binding 0 - Decorate 136(g_tTex1di4) DescriptorSet 0 + Decorate 133(g_tTex1df4) DescriptorSet 0 Decorate 136(g_tTex1di4) Binding 0 - Decorate 139(g_tTex1du4) DescriptorSet 0 + Decorate 136(g_tTex1di4) DescriptorSet 0 Decorate 139(g_tTex1du4) Binding 0 - Decorate 142(g_tTex2df4) DescriptorSet 0 + Decorate 139(g_tTex1du4) DescriptorSet 0 Decorate 142(g_tTex2df4) Binding 0 - Decorate 145(g_tTex2di4) DescriptorSet 0 + Decorate 142(g_tTex2df4) DescriptorSet 0 Decorate 145(g_tTex2di4) Binding 0 - Decorate 148(g_tTex2du4) DescriptorSet 0 + Decorate 145(g_tTex2di4) DescriptorSet 0 Decorate 148(g_tTex2du4) Binding 0 - Decorate 151(g_tTex3df4) DescriptorSet 0 + Decorate 148(g_tTex2du4) DescriptorSet 0 Decorate 151(g_tTex3df4) Binding 0 - Decorate 154(g_tTex3di4) DescriptorSet 0 + Decorate 151(g_tTex3df4) DescriptorSet 0 Decorate 154(g_tTex3di4) Binding 0 - Decorate 157(g_tTex3du4) DescriptorSet 0 + Decorate 154(g_tTex3di4) DescriptorSet 0 Decorate 157(g_tTex3du4) Binding 0 - Decorate 160(g_tTexcdf4) DescriptorSet 0 + Decorate 157(g_tTex3du4) DescriptorSet 0 Decorate 160(g_tTexcdf4) Binding 0 - Decorate 163(g_tTexcdi4) DescriptorSet 0 + Decorate 160(g_tTexcdf4) DescriptorSet 0 Decorate 163(g_tTexcdi4) Binding 0 - Decorate 166(g_tTexcdu4) DescriptorSet 0 + Decorate 163(g_tTexcdi4) DescriptorSet 0 Decorate 166(g_tTexcdu4) Binding 0 - Decorate 169(g_tTexcdf4a) DescriptorSet 0 + Decorate 166(g_tTexcdu4) DescriptorSet 0 Decorate 169(g_tTexcdf4a) Binding 0 - Decorate 172(g_tTexcdi4a) DescriptorSet 0 + Decorate 169(g_tTexcdf4a) DescriptorSet 0 Decorate 172(g_tTexcdi4a) Binding 0 - Decorate 175(g_tTexcdu4a) DescriptorSet 0 + Decorate 172(g_tTexcdi4a) DescriptorSet 0 Decorate 175(g_tTexcdu4a) Binding 0 + Decorate 175(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out index ed6f5286..78fbf417 100644 --- a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out +++ b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out @@ -139,8 +139,9 @@ gl_FragCoord origin is upper left Name 39 "g_tBuffI" Name 45 "psout" Name 54 "@entryPointOutput.Color" - Decorate 14(g_tBuffF) DescriptorSet 0 Decorate 14(g_tBuffF) Binding 0 + Decorate 14(g_tBuffF) DescriptorSet 0 + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 8 MemberDecorate 20($Global) 2 Offset 16 @@ -149,13 +150,12 @@ gl_FragCoord origin is upper left MemberDecorate 20($Global) 5 Offset 56 MemberDecorate 20($Global) 6 Offset 64 MemberDecorate 20($Global) 7 Offset 80 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 3 - Decorate 31(g_tBuffU) DescriptorSet 0 + Decorate 22 DescriptorSet 0 Decorate 31(g_tBuffU) Binding 2 - Decorate 39(g_tBuffI) DescriptorSet 0 + Decorate 31(g_tBuffU) DescriptorSet 0 Decorate 39(g_tBuffI) Binding 1 + Decorate 39(g_tBuffI) DescriptorSet 0 Decorate 54(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out index a94da2fc..e8bf2901 100644 --- a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out +++ b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out @@ -254,8 +254,9 @@ using depth_any Name 112 "g_tTex3df4" Name 115 "g_tTex3di4" Name 118 "g_tTex3du4" - Decorate 14(g_tTex1df4a) DescriptorSet 0 Decorate 14(g_tTex1df4a) Binding 1 + Decorate 14(g_tTex1df4a) DescriptorSet 0 + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 8 MemberDecorate 20($Global) 2 Offset 16 @@ -264,41 +265,40 @@ using depth_any MemberDecorate 20($Global) 5 Offset 56 MemberDecorate 20($Global) 6 Offset 64 MemberDecorate 20($Global) 7 Offset 80 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 7 - Decorate 30(g_tTex1di4a) DescriptorSet 0 + Decorate 22 DescriptorSet 0 Decorate 30(g_tTex1di4a) Binding 2 - Decorate 38(g_tTex1du4a) DescriptorSet 0 + Decorate 30(g_tTex1di4a) DescriptorSet 0 Decorate 38(g_tTex1du4a) Binding 3 - Decorate 46(g_tTex2df4a) DescriptorSet 0 + Decorate 38(g_tTex1du4a) DescriptorSet 0 Decorate 46(g_tTex2df4a) Binding 4 - Decorate 55(g_tTex2di4a) DescriptorSet 0 + Decorate 46(g_tTex2df4a) DescriptorSet 0 Decorate 55(g_tTex2di4a) Binding 5 - Decorate 62(g_tTex2du4a) DescriptorSet 0 + Decorate 55(g_tTex2di4a) DescriptorSet 0 Decorate 62(g_tTex2du4a) Binding 6 + Decorate 62(g_tTex2du4a) DescriptorSet 0 Decorate 82(@entryPointOutput.Color) Location 0 Decorate 86(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 91(g_sSamp) DescriptorSet 0 Decorate 91(g_sSamp) Binding 0 - Decorate 94(g_tTex1df4) DescriptorSet 0 + Decorate 91(g_sSamp) DescriptorSet 0 Decorate 94(g_tTex1df4) Binding 0 - Decorate 97(g_tTex1di4) DescriptorSet 0 + Decorate 94(g_tTex1df4) DescriptorSet 0 Decorate 97(g_tTex1di4) Binding 0 - Decorate 100(g_tTex1du4) DescriptorSet 0 + Decorate 97(g_tTex1di4) DescriptorSet 0 Decorate 100(g_tTex1du4) Binding 0 - Decorate 103(g_tTex2df4) DescriptorSet 0 + Decorate 100(g_tTex1du4) DescriptorSet 0 Decorate 103(g_tTex2df4) Binding 0 - Decorate 106(g_tTex2di4) DescriptorSet 0 + Decorate 103(g_tTex2df4) DescriptorSet 0 Decorate 106(g_tTex2di4) Binding 0 - Decorate 109(g_tTex2du4) DescriptorSet 0 + Decorate 106(g_tTex2di4) DescriptorSet 0 Decorate 109(g_tTex2du4) Binding 0 - Decorate 112(g_tTex3df4) DescriptorSet 0 + Decorate 109(g_tTex2du4) DescriptorSet 0 Decorate 112(g_tTex3df4) Binding 0 - Decorate 115(g_tTex3di4) DescriptorSet 0 + Decorate 112(g_tTex3df4) DescriptorSet 0 Decorate 115(g_tTex3di4) Binding 0 - Decorate 118(g_tTex3du4) DescriptorSet 0 + Decorate 115(g_tTex3di4) DescriptorSet 0 Decorate 118(g_tTex3du4) Binding 0 + Decorate 118(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out index b00da802..d829dda5 100644 --- a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out +++ b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out @@ -290,8 +290,9 @@ using depth_any Name 125 "g_tTex2df4a" Name 128 "g_tTex2di4a" Name 131 "g_tTex2du4a" - Decorate 14(g_tTex1df4) DescriptorSet 0 Decorate 14(g_tTex1df4) Binding 0 + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 8 MemberDecorate 20($Global) 2 Offset 16 @@ -300,41 +301,40 @@ using depth_any MemberDecorate 20($Global) 5 Offset 56 MemberDecorate 20($Global) 6 Offset 64 MemberDecorate 20($Global) 7 Offset 80 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 9 - Decorate 30(g_tTex1di4) DescriptorSet 0 + Decorate 22 DescriptorSet 0 Decorate 30(g_tTex1di4) Binding 1 - Decorate 38(g_tTex1du4) DescriptorSet 0 + Decorate 30(g_tTex1di4) DescriptorSet 0 Decorate 38(g_tTex1du4) Binding 2 - Decorate 46(g_tTex2df4) DescriptorSet 0 + Decorate 38(g_tTex1du4) DescriptorSet 0 Decorate 46(g_tTex2df4) Binding 3 - Decorate 55(g_tTex2di4) DescriptorSet 0 + Decorate 46(g_tTex2df4) DescriptorSet 0 Decorate 55(g_tTex2di4) Binding 4 - Decorate 62(g_tTex2du4) DescriptorSet 0 + Decorate 55(g_tTex2di4) DescriptorSet 0 Decorate 62(g_tTex2du4) Binding 5 - Decorate 69(g_tTex3df4) DescriptorSet 0 + Decorate 62(g_tTex2du4) DescriptorSet 0 Decorate 69(g_tTex3df4) Binding 6 - Decorate 78(g_tTex3di4) DescriptorSet 0 + Decorate 69(g_tTex3df4) DescriptorSet 0 Decorate 78(g_tTex3di4) Binding 7 - Decorate 85(g_tTex3du4) DescriptorSet 0 + Decorate 78(g_tTex3di4) DescriptorSet 0 Decorate 85(g_tTex3du4) Binding 8 + Decorate 85(g_tTex3du4) DescriptorSet 0 Decorate 104(@entryPointOutput.Color) Location 0 Decorate 108(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 113(g_sSamp) DescriptorSet 0 Decorate 113(g_sSamp) Binding 0 - Decorate 116(g_tTex1df4a) DescriptorSet 0 + Decorate 113(g_sSamp) DescriptorSet 0 Decorate 116(g_tTex1df4a) Binding 0 - Decorate 119(g_tTex1di4a) DescriptorSet 0 + Decorate 116(g_tTex1df4a) DescriptorSet 0 Decorate 119(g_tTex1di4a) Binding 0 - Decorate 122(g_tTex1du4a) DescriptorSet 0 + Decorate 119(g_tTex1di4a) DescriptorSet 0 Decorate 122(g_tTex1du4a) Binding 0 - Decorate 125(g_tTex2df4a) DescriptorSet 0 + Decorate 122(g_tTex1du4a) DescriptorSet 0 Decorate 125(g_tTex2df4a) Binding 0 - Decorate 128(g_tTex2di4a) DescriptorSet 0 + Decorate 125(g_tTex2df4a) DescriptorSet 0 Decorate 128(g_tTex2di4a) Binding 0 - Decorate 131(g_tTex2du4a) DescriptorSet 0 + Decorate 128(g_tTex2di4a) DescriptorSet 0 Decorate 131(g_tTex2du4a) Binding 0 + Decorate 131(g_tTex2du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.logical.binary.frag.out b/Test/baseResults/hlsl.logical.binary.frag.out index e6f484e4..97d1de1f 100644 --- a/Test/baseResults/hlsl.logical.binary.frag.out +++ b/Test/baseResults/hlsl.logical.binary.frag.out @@ -145,13 +145,13 @@ gl_FragCoord origin is upper left Name 16 "" Name 44 "psout" Name 53 "@entryPointOutput.Color" + Decorate 14($Global) Block MemberDecorate 14($Global) 0 Offset 0 MemberDecorate 14($Global) 1 Offset 16 MemberDecorate 14($Global) 2 Offset 32 MemberDecorate 14($Global) 3 Offset 48 - Decorate 14($Global) Block - Decorate 16 DescriptorSet 0 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 53(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.logical.binary.vec.frag.out b/Test/baseResults/hlsl.logical.binary.vec.frag.out index 986d83fd..04b02d4e 100644 --- a/Test/baseResults/hlsl.logical.binary.vec.frag.out +++ b/Test/baseResults/hlsl.logical.binary.vec.frag.out @@ -282,13 +282,13 @@ gl_FragCoord origin is upper left Name 77 "r21" Name 87 "psout" Name 112 "@entryPointOutput.Color" + Decorate 18($Global) Block MemberDecorate 18($Global) 0 Offset 0 MemberDecorate 18($Global) 1 Offset 16 MemberDecorate 18($Global) 2 Offset 32 MemberDecorate 18($Global) 3 Offset 36 - Decorate 18($Global) Block - Decorate 20 DescriptorSet 0 Decorate 20 Binding 0 + Decorate 20 DescriptorSet 0 Decorate 112(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.logical.unary.frag.out b/Test/baseResults/hlsl.logical.unary.frag.out index cc933bbc..23655d8d 100644 --- a/Test/baseResults/hlsl.logical.unary.frag.out +++ b/Test/baseResults/hlsl.logical.unary.frag.out @@ -205,13 +205,13 @@ gl_FragCoord origin is upper left Name 16 "" Name 72 "psout" Name 81 "@entryPointOutput.Color" + Decorate 14($Global) Block MemberDecorate 14($Global) 0 Offset 0 MemberDecorate 14($Global) 1 Offset 16 MemberDecorate 14($Global) 2 Offset 32 MemberDecorate 14($Global) 3 Offset 48 - Decorate 14($Global) Block - Decorate 16 DescriptorSet 0 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 81(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.matType.frag.out b/Test/baseResults/hlsl.matType.frag.out index 92d44a46..47fb02a1 100644 --- a/Test/baseResults/hlsl.matType.frag.out +++ b/Test/baseResults/hlsl.matType.frag.out @@ -54,25 +54,25 @@ Validation failed MemberName 27($Global) 4 "dmat23" MemberName 27($Global) 5 "int44" Name 29 "" + Decorate 27($Global) Block MemberDecorate 27($Global) 0 Offset 0 MemberDecorate 27($Global) 1 RowMajor - MemberDecorate 27($Global) 1 Offset 16 MemberDecorate 27($Global) 1 MatrixStride 16 + MemberDecorate 27($Global) 1 Offset 16 MemberDecorate 27($Global) 2 RowMajor - MemberDecorate 27($Global) 2 Offset 32 MemberDecorate 27($Global) 2 MatrixStride 16 + MemberDecorate 27($Global) 2 Offset 32 MemberDecorate 27($Global) 3 RowMajor - MemberDecorate 27($Global) 3 Offset 48 MemberDecorate 27($Global) 3 MatrixStride 16 + MemberDecorate 27($Global) 3 Offset 48 MemberDecorate 27($Global) 4 RowMajor - MemberDecorate 27($Global) 4 Offset 80 MemberDecorate 27($Global) 4 MatrixStride 16 + MemberDecorate 27($Global) 4 Offset 80 MemberDecorate 27($Global) 5 RowMajor - MemberDecorate 27($Global) 5 Offset 128 MemberDecorate 27($Global) 5 MatrixStride 16 - Decorate 27($Global) Block - Decorate 29 DescriptorSet 0 + MemberDecorate 27($Global) 5 Offset 128 Decorate 29 Binding 0 + Decorate 29 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.matpack-1.frag.out b/Test/baseResults/hlsl.matpack-1.frag.out index 5af6c2b5..844b0855 100644 --- a/Test/baseResults/hlsl.matpack-1.frag.out +++ b/Test/baseResults/hlsl.matpack-1.frag.out @@ -126,25 +126,25 @@ gl_FragCoord origin is upper left Name 16 "" Name 37 "@entryPointOutput" MemberDecorate 12(MyBuffer1) 0 RowMajor - MemberDecorate 12(MyBuffer1) 0 Offset 0 MemberDecorate 12(MyBuffer1) 0 MatrixStride 16 + MemberDecorate 12(MyBuffer1) 0 Offset 0 MemberDecorate 12(MyBuffer1) 1 ColMajor - MemberDecorate 12(MyBuffer1) 1 Offset 64 MemberDecorate 12(MyBuffer1) 1 MatrixStride 16 + MemberDecorate 12(MyBuffer1) 1 Offset 64 MemberDecorate 12(MyBuffer1) 2 Offset 128 MemberDecorate 12(MyBuffer1) 3 Offset 144 MemberDecorate 13(MyBuffer2) 0 ColMajor - MemberDecorate 13(MyBuffer2) 0 Offset 0 MemberDecorate 13(MyBuffer2) 0 MatrixStride 16 + MemberDecorate 13(MyBuffer2) 0 Offset 0 MemberDecorate 13(MyBuffer2) 1 Offset 64 + Decorate 14(Example) Block MemberDecorate 14(Example) 0 Offset 0 MemberDecorate 14(Example) 1 Offset 160 MemberDecorate 14(Example) 2 RowMajor - MemberDecorate 14(Example) 2 Offset 240 MemberDecorate 14(Example) 2 MatrixStride 16 - Decorate 14(Example) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14(Example) 2 Offset 240 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 37(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.matpack-pragma-global.frag.out b/Test/baseResults/hlsl.matpack-pragma-global.frag.out index d6afb4e9..c64fcb0a 100644 --- a/Test/baseResults/hlsl.matpack-pragma-global.frag.out +++ b/Test/baseResults/hlsl.matpack-pragma-global.frag.out @@ -67,12 +67,12 @@ gl_FragCoord origin is upper left MemberName 12($Global) 0 "g_GlobalMat1" Name 14 "" Name 23 "@entryPointOutput" - MemberDecorate 12($Global) 0 ColMajor - MemberDecorate 12($Global) 0 Offset 0 - MemberDecorate 12($Global) 0 MatrixStride 16 Decorate 12($Global) Block - Decorate 14 DescriptorSet 0 + MemberDecorate 12($Global) 0 ColMajor + MemberDecorate 12($Global) 0 MatrixStride 16 + MemberDecorate 12($Global) 0 Offset 0 Decorate 14 Binding 0 + Decorate 14 DescriptorSet 0 Decorate 23(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.matpack-pragma.frag.out b/Test/baseResults/hlsl.matpack-pragma.frag.out index aac5af5f..5938a031 100644 --- a/Test/baseResults/hlsl.matpack-pragma.frag.out +++ b/Test/baseResults/hlsl.matpack-pragma.frag.out @@ -196,31 +196,31 @@ gl_FragCoord origin is upper left Name 16 "" Name 42 "@entryPointOutput" MemberDecorate 12(MyBuffer1) 0 RowMajor - MemberDecorate 12(MyBuffer1) 0 Offset 0 MemberDecorate 12(MyBuffer1) 0 MatrixStride 16 + MemberDecorate 12(MyBuffer1) 0 Offset 0 MemberDecorate 12(MyBuffer1) 1 ColMajor - MemberDecorate 12(MyBuffer1) 1 Offset 64 MemberDecorate 12(MyBuffer1) 1 MatrixStride 16 + MemberDecorate 12(MyBuffer1) 1 Offset 64 MemberDecorate 12(MyBuffer1) 2 ColMajor - MemberDecorate 12(MyBuffer1) 2 Offset 128 MemberDecorate 12(MyBuffer1) 2 MatrixStride 16 + MemberDecorate 12(MyBuffer1) 2 Offset 128 MemberDecorate 13(MyBuffer2) 0 RowMajor - MemberDecorate 13(MyBuffer2) 0 Offset 0 MemberDecorate 13(MyBuffer2) 0 MatrixStride 16 + MemberDecorate 13(MyBuffer2) 0 Offset 0 MemberDecorate 13(MyBuffer2) 1 ColMajor - MemberDecorate 13(MyBuffer2) 1 Offset 64 MemberDecorate 13(MyBuffer2) 1 MatrixStride 16 + MemberDecorate 13(MyBuffer2) 1 Offset 64 MemberDecorate 13(MyBuffer2) 2 RowMajor - MemberDecorate 13(MyBuffer2) 2 Offset 128 MemberDecorate 13(MyBuffer2) 2 MatrixStride 16 + MemberDecorate 13(MyBuffer2) 2 Offset 128 + Decorate 14(Example) Block MemberDecorate 14(Example) 0 Offset 0 MemberDecorate 14(Example) 1 Offset 192 MemberDecorate 14(Example) 2 RowMajor - MemberDecorate 14(Example) 2 Offset 384 MemberDecorate 14(Example) 2 MatrixStride 16 - Decorate 14(Example) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14(Example) 2 Offset 384 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 42(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.matrixindex.frag.out b/Test/baseResults/hlsl.matrixindex.frag.out index cf75c056..418bc2f5 100644 --- a/Test/baseResults/hlsl.matrixindex.frag.out +++ b/Test/baseResults/hlsl.matrixindex.frag.out @@ -309,13 +309,13 @@ gl_FragCoord origin is upper left Name 63 "r0c" Name 71 "psout" Name 80 "@entryPointOutput.Color" + Decorate 52($Global) Block MemberDecorate 52($Global) 0 Offset 0 MemberDecorate 52($Global) 1 RowMajor - MemberDecorate 52($Global) 1 Offset 16 MemberDecorate 52($Global) 1 MatrixStride 16 - Decorate 52($Global) Block - Decorate 54 DescriptorSet 0 + MemberDecorate 52($Global) 1 Offset 16 Decorate 54 Binding 0 + Decorate 54 DescriptorSet 0 Decorate 80(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.mintypes.frag.out b/Test/baseResults/hlsl.mintypes.frag.out index 2b51d12c..9d0b3c94 100644 --- a/Test/baseResults/hlsl.mintypes.frag.out +++ b/Test/baseResults/hlsl.mintypes.frag.out @@ -294,13 +294,13 @@ gl_FragCoord origin is upper left Decorate 114 RelaxedPrecision Decorate 115 RelaxedPrecision Decorate 126(@entryPointOutput.Color) Location 0 + Decorate 129($Global) Block MemberDecorate 129($Global) 0 RelaxedPrecision MemberDecorate 129($Global) 0 Offset 0 MemberDecorate 129($Global) 1 RelaxedPrecision MemberDecorate 129($Global) 1 Offset 4 - Decorate 129($Global) Block - Decorate 131 DescriptorSet 0 Decorate 131 Binding 0 + Decorate 131 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.mip.operator.frag.out b/Test/baseResults/hlsl.mip.operator.frag.out index 2c03a260..c69cf8df 100644 --- a/Test/baseResults/hlsl.mip.operator.frag.out +++ b/Test/baseResults/hlsl.mip.operator.frag.out @@ -142,10 +142,10 @@ gl_FragCoord origin is upper left Name 13 "g_tTex2df4" Name 25 "g_tTex2df4a" Name 59 "@entryPointOutput" - Decorate 13(g_tTex2df4) DescriptorSet 0 Decorate 13(g_tTex2df4) Binding 1 - Decorate 25(g_tTex2df4a) DescriptorSet 0 + Decorate 13(g_tTex2df4) DescriptorSet 0 Decorate 25(g_tTex2df4a) Binding 0 + Decorate 25(g_tTex2df4a) DescriptorSet 0 Decorate 59(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.mul-truncate.frag.out b/Test/baseResults/hlsl.mul-truncate.frag.out index 806d2419..c736d25f 100644 --- a/Test/baseResults/hlsl.mul-truncate.frag.out +++ b/Test/baseResults/hlsl.mul-truncate.frag.out @@ -416,30 +416,30 @@ gl_FragCoord origin is upper left Name 133 "r32" Name 146 "r33" Name 188 "@entryPointOutput" + Decorate 21(Matrix) Block MemberDecorate 21(Matrix) 0 RowMajor - MemberDecorate 21(Matrix) 0 Offset 0 MemberDecorate 21(Matrix) 0 MatrixStride 16 + MemberDecorate 21(Matrix) 0 Offset 0 MemberDecorate 21(Matrix) 1 RowMajor - MemberDecorate 21(Matrix) 1 Offset 64 MemberDecorate 21(Matrix) 1 MatrixStride 16 + MemberDecorate 21(Matrix) 1 Offset 64 MemberDecorate 21(Matrix) 2 RowMajor - MemberDecorate 21(Matrix) 2 Offset 112 MemberDecorate 21(Matrix) 2 MatrixStride 16 + MemberDecorate 21(Matrix) 2 Offset 112 MemberDecorate 21(Matrix) 3 RowMajor - MemberDecorate 21(Matrix) 3 Offset 176 MemberDecorate 21(Matrix) 3 MatrixStride 16 + MemberDecorate 21(Matrix) 3 Offset 176 MemberDecorate 21(Matrix) 4 RowMajor - MemberDecorate 21(Matrix) 4 Offset 224 MemberDecorate 21(Matrix) 4 MatrixStride 16 + MemberDecorate 21(Matrix) 4 Offset 224 MemberDecorate 21(Matrix) 5 RowMajor - MemberDecorate 21(Matrix) 5 Offset 288 MemberDecorate 21(Matrix) 5 MatrixStride 16 + MemberDecorate 21(Matrix) 5 Offset 288 MemberDecorate 21(Matrix) 6 Offset 320 MemberDecorate 21(Matrix) 7 Offset 336 MemberDecorate 21(Matrix) 8 Offset 352 - Decorate 21(Matrix) Block - Decorate 23 DescriptorSet 0 Decorate 23 Binding 0 + Decorate 23 DescriptorSet 0 Decorate 188(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.multiDescriptorSet.frag.out b/Test/baseResults/hlsl.multiDescriptorSet.frag.out index d79b1213..bf0b7b13 100644 --- a/Test/baseResults/hlsl.multiDescriptorSet.frag.out +++ b/Test/baseResults/hlsl.multiDescriptorSet.frag.out @@ -35,36 +35,36 @@ hlsl.multiDescriptorSet.frag Name 87 "param" Name 90 "txDiffuseB" Name 91 "samLinearB" - MemberDecorate 23(cbChangesEveryFrame) 0 RowMajor - MemberDecorate 23(cbChangesEveryFrame) 0 Offset 0 - MemberDecorate 23(cbChangesEveryFrame) 0 MatrixStride 16 - MemberDecorate 23(cbChangesEveryFrame) 1 Offset 64 Decorate 23(cbChangesEveryFrame) Block - Decorate 25 DescriptorSet 2 + MemberDecorate 23(cbChangesEveryFrame) 0 RowMajor + MemberDecorate 23(cbChangesEveryFrame) 0 MatrixStride 16 + MemberDecorate 23(cbChangesEveryFrame) 0 Offset 0 + MemberDecorate 23(cbChangesEveryFrame) 1 Offset 64 Decorate 25 Binding 2 - MemberDecorate 34(cbNeverChanges) 0 RowMajor - MemberDecorate 34(cbNeverChanges) 0 Offset 0 - MemberDecorate 34(cbNeverChanges) 0 MatrixStride 16 + Decorate 25 DescriptorSet 2 Decorate 34(cbNeverChanges) Block - Decorate 36 DescriptorSet 2 + MemberDecorate 34(cbNeverChanges) 0 RowMajor + MemberDecorate 34(cbNeverChanges) 0 MatrixStride 16 + MemberDecorate 34(cbNeverChanges) 0 Offset 0 Decorate 36 Binding 0 - MemberDecorate 43(cbChangeOnResize) 0 RowMajor - MemberDecorate 43(cbChangeOnResize) 0 Offset 0 - MemberDecorate 43(cbChangeOnResize) 0 MatrixStride 16 + Decorate 36 DescriptorSet 2 Decorate 43(cbChangeOnResize) Block - Decorate 45 DescriptorSet 2 + MemberDecorate 43(cbChangeOnResize) 0 RowMajor + MemberDecorate 43(cbChangeOnResize) 0 MatrixStride 16 + MemberDecorate 43(cbChangeOnResize) 0 Offset 0 Decorate 45 Binding 1 - Decorate 59(txDiffuseA) DescriptorSet 0 + Decorate 45 DescriptorSet 2 Decorate 59(txDiffuseA) Binding 0 - Decorate 63(samLinearA) DescriptorSet 0 + Decorate 59(txDiffuseA) DescriptorSet 0 Decorate 63(samLinearA) Binding 1 + Decorate 63(samLinearA) DescriptorSet 0 Decorate 78(input.Pos) BuiltIn FragCoord Decorate 82(input.Tex) Location 0 Decorate 86(@entryPointOutput) Location 0 - Decorate 90(txDiffuseB) DescriptorSet 1 Decorate 90(txDiffuseB) Binding 0 - Decorate 91(samLinearB) DescriptorSet 1 + Decorate 90(txDiffuseB) DescriptorSet 1 Decorate 91(samLinearB) Binding 1 + Decorate 91(samLinearB) DescriptorSet 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.multiEntry.vert.out b/Test/baseResults/hlsl.multiEntry.vert.out index 0e31ed6e..3bf8d79c 100644 --- a/Test/baseResults/hlsl.multiEntry.vert.out +++ b/Test/baseResults/hlsl.multiEntry.vert.out @@ -90,8 +90,8 @@ Shader version: 500 Name 34 "Index" Name 37 "@entryPointOutput" Name 38 "param" - Decorate 19(Position) DescriptorSet 0 Decorate 19(Position) Binding 0 + Decorate 19(Position) DescriptorSet 0 Decorate 34(Index) BuiltIn VertexIndex Decorate 37(@entryPointOutput) BuiltIn Position 2: TypeVoid diff --git a/Test/baseResults/hlsl.multiReturn.frag.out b/Test/baseResults/hlsl.multiReturn.frag.out index fbe7fbf9..38df9f05 100644 --- a/Test/baseResults/hlsl.multiReturn.frag.out +++ b/Test/baseResults/hlsl.multiReturn.frag.out @@ -74,12 +74,12 @@ gl_FragCoord origin is upper left MemberDecorate 15(S) 0 Offset 0 MemberDecorate 15(S) 1 Offset 4 MemberDecorate 15(S) 2 RowMajor - MemberDecorate 15(S) 2 Offset 16 MemberDecorate 15(S) 2 MatrixStride 16 - MemberDecorate 16(bufName) 0 Offset 0 + MemberDecorate 15(S) 2 Offset 16 Decorate 16(bufName) Block - Decorate 18 DescriptorSet 0 + MemberDecorate 16(bufName) 0 Offset 0 Decorate 18 Binding 0 + Decorate 18 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.multiView.frag.out b/Test/baseResults/hlsl.multiView.frag.out index 32e669ca..95c93444 100644 --- a/Test/baseResults/hlsl.multiView.frag.out +++ b/Test/baseResults/hlsl.multiView.frag.out @@ -84,8 +84,8 @@ gl_FragCoord origin is upper left Name 22 "ViewIndex" Name 25 "@entryPointOutput" Name 26 "param" - Decorate 22(ViewIndex) Flat Decorate 22(ViewIndex) BuiltIn ViewIndex + Decorate 22(ViewIndex) Flat Decorate 25(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.nested-runtimeArray.frag.out b/Test/baseResults/hlsl.nested-runtimeArray.frag.out index f019290c..c80ea850 100644 --- a/Test/baseResults/hlsl.nested-runtimeArray.frag.out +++ b/Test/baseResults/hlsl.nested-runtimeArray.frag.out @@ -82,13 +82,13 @@ gl_FragCoord origin is upper left Name 15 "B" Name 24 "@entryPointOutput" Decorate 10 ArrayStride 4 - MemberDecorate 11(A) 0 Offset 0 Decorate 11(A) BufferBlock + MemberDecorate 11(A) 0 Offset 0 Decorate 12 ArrayStride 4 - MemberDecorate 13(B) 0 Offset 0 Decorate 13(B) BufferBlock - Decorate 15(B) DescriptorSet 0 + MemberDecorate 13(B) 0 Offset 0 Decorate 15(B) Binding 0 + Decorate 15(B) DescriptorSet 0 Decorate 24(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.noSemantic.functionality1.comp.out b/Test/baseResults/hlsl.noSemantic.functionality1.comp.out index 1121e0b0..ab02db0e 100644 --- a/Test/baseResults/hlsl.noSemantic.functionality1.comp.out +++ b/Test/baseResults/hlsl.noSemantic.functionality1.comp.out @@ -19,15 +19,15 @@ hlsl.noSemantic.functionality1.comp MemberName 17(Buf@count) 0 "@count" Name 19 "Buf@count" Decorate 10 ArrayStride 16 - MemberDecorate 11(Buf) 0 Offset 0 Decorate 11(Buf) BufferBlock - Decorate 13(Buf) DescriptorSet 0 + MemberDecorate 11(Buf) 0 Offset 0 Decorate 13(Buf) Binding 0 - MemberDecorate 17(Buf@count) 0 Offset 0 - Decorate 17(Buf@count) BufferBlock - Decorate 19(Buf@count) DescriptorSet 0 - Decorate 19(Buf@count) Binding 0 + Decorate 13(Buf) DescriptorSet 0 DecorateId 13(Buf) DecorationHlslCounterBufferGOOGLE 19(Buf@count) + Decorate 17(Buf@count) BufferBlock + MemberDecorate 17(Buf@count) 0 Offset 0 + Decorate 19(Buf@count) Binding 0 + Decorate 19(Buf@count) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 diff --git a/Test/baseResults/hlsl.opaque-type-bug.frag.out b/Test/baseResults/hlsl.opaque-type-bug.frag.out index d82509d6..2c8a5546 100644 --- a/Test/baseResults/hlsl.opaque-type-bug.frag.out +++ b/Test/baseResults/hlsl.opaque-type-bug.frag.out @@ -75,8 +75,8 @@ gl_FragCoord origin is upper left Name 20 "MyTexture" Name 22 "final_RGB" Name 23 "param" - Decorate 20(MyTexture) DescriptorSet 0 Decorate 20(MyTexture) Binding 0 + Decorate 20(MyTexture) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.params.default.frag.out b/Test/baseResults/hlsl.params.default.frag.out index be1f6416..81fc98c6 100644 --- a/Test/baseResults/hlsl.params.default.frag.out +++ b/Test/baseResults/hlsl.params.default.frag.out @@ -437,10 +437,10 @@ gl_FragCoord origin is upper left Name 168 "param" Name 169 "param" Name 175 "@entryPointOutput" - MemberDecorate 108($Global) 0 Offset 0 Decorate 108($Global) Block - Decorate 110 DescriptorSet 0 + MemberDecorate 108($Global) 0 Offset 0 Decorate 110 Binding 0 + Decorate 110 DescriptorSet 0 Decorate 175(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.partialFlattenLocal.vert.out b/Test/baseResults/hlsl.partialFlattenLocal.vert.out index 6a1b1ded..c18f10d3 100644 --- a/Test/baseResults/hlsl.partialFlattenLocal.vert.out +++ b/Test/baseResults/hlsl.partialFlattenLocal.vert.out @@ -262,8 +262,8 @@ Shader version: 500 Name 86 "pos" Name 89 "@entryPointOutput" Name 90 "param" - Decorate 27(tex) DescriptorSet 0 Decorate 27(tex) Binding 0 + Decorate 27(tex) DescriptorSet 0 Decorate 86(pos) Location 0 Decorate 89(@entryPointOutput) BuiltIn Position 2: TypeVoid diff --git a/Test/baseResults/hlsl.partialFlattenMixed.vert.out b/Test/baseResults/hlsl.partialFlattenMixed.vert.out index eae3c98b..a34caad1 100644 --- a/Test/baseResults/hlsl.partialFlattenMixed.vert.out +++ b/Test/baseResults/hlsl.partialFlattenMixed.vert.out @@ -113,10 +113,10 @@ Shader version: 500 Name 36 "pos" Name 39 "@entryPointOutput" Name 40 "param" - Decorate 24(tex[0]) DescriptorSet 0 Decorate 24(tex[0]) Binding 0 - Decorate 28(tex[1]) DescriptorSet 0 + Decorate 24(tex[0]) DescriptorSet 0 Decorate 28(tex[1]) Binding 1 + Decorate 28(tex[1]) DescriptorSet 0 Decorate 36(pos) Location 0 Decorate 39(@entryPointOutput) BuiltIn Position 2: TypeVoid diff --git a/Test/baseResults/hlsl.pp.line2.frag.out b/Test/baseResults/hlsl.pp.line2.frag.out index 1c73bceb..48697a6e 100644 --- a/Test/baseResults/hlsl.pp.line2.frag.out +++ b/Test/baseResults/hlsl.pp.line2.frag.out @@ -81,14 +81,14 @@ PS_OUTPUT MainPs ( PS_INPUT i ) Name 71 "i.vTextureCoords" Name 75 "@entryPointOutput.vColor" Name 76 "param" + Decorate 19(PerViewConstantBuffer_t) Block MemberDecorate 19(PerViewConstantBuffer_t) 0 Offset 0 MemberDecorate 19(PerViewConstantBuffer_t) 1 Offset 4 MemberDecorate 19(PerViewConstantBuffer_t) 2 Offset 8 - Decorate 19(PerViewConstantBuffer_t) Block - Decorate 49(g_tColor) DescriptorSet 0 Decorate 49(g_tColor) Binding 0 - Decorate 56(g_sAniso) DescriptorSet 0 + Decorate 49(g_tColor) DescriptorSet 0 Decorate 56(g_sAniso) Binding 1 + Decorate 56(g_sAniso) DescriptorSet 0 Decorate 71(i.vTextureCoords) Location 0 Decorate 75(@entryPointOutput.vColor) Location 0 3: TypeVoid diff --git a/Test/baseResults/hlsl.pp.line3.frag.out b/Test/baseResults/hlsl.pp.line3.frag.out index 717a21b9..a2c43de8 100644 --- a/Test/baseResults/hlsl.pp.line3.frag.out +++ b/Test/baseResults/hlsl.pp.line3.frag.out @@ -72,14 +72,14 @@ PS_OUTPUT MainPs ( PS_INPUT i ) Name 69 "i.vTextureCoords" Name 73 "@entryPointOutput.vColor" Name 74 "param" + Decorate 19(PerViewConstantBuffer_t) Block MemberDecorate 19(PerViewConstantBuffer_t) 0 Offset 0 MemberDecorate 19(PerViewConstantBuffer_t) 1 Offset 4 MemberDecorate 19(PerViewConstantBuffer_t) 2 Offset 8 - Decorate 19(PerViewConstantBuffer_t) Block - Decorate 47(g_tColor) DescriptorSet 0 Decorate 47(g_tColor) Binding 0 - Decorate 54(g_sAniso) DescriptorSet 0 + Decorate 47(g_tColor) DescriptorSet 0 Decorate 54(g_sAniso) Binding 0 + Decorate 54(g_sAniso) DescriptorSet 0 Decorate 69(i.vTextureCoords) Location 0 Decorate 73(@entryPointOutput.vColor) Location 0 4: TypeVoid diff --git a/Test/baseResults/hlsl.pp.line4.frag.out b/Test/baseResults/hlsl.pp.line4.frag.out index da968b23..af2ac0fe 100644 --- a/Test/baseResults/hlsl.pp.line4.frag.out +++ b/Test/baseResults/hlsl.pp.line4.frag.out @@ -72,14 +72,14 @@ PS_OUTPUT MainPs ( PS_INPUT i ) Name 55 "g_sAniso" Name 70 "i.vTextureCoords" Name 74 "@entryPointOutput.vColor" + Decorate 19(PerViewConstantBuffer_t) Block MemberDecorate 19(PerViewConstantBuffer_t) 0 Offset 0 MemberDecorate 19(PerViewConstantBuffer_t) 1 Offset 4 MemberDecorate 19(PerViewConstantBuffer_t) 2 Offset 8 - Decorate 19(PerViewConstantBuffer_t) Block - Decorate 48(g_tColor) DescriptorSet 0 Decorate 48(g_tColor) Binding 0 - Decorate 55(g_sAniso) DescriptorSet 0 + Decorate 48(g_tColor) DescriptorSet 0 Decorate 55(g_sAniso) Binding 1 + Decorate 55(g_sAniso) DescriptorSet 0 Decorate 70(i.vTextureCoords) Location 0 Decorate 74(@entryPointOutput.vColor) Location 0 3: TypeVoid diff --git a/Test/baseResults/hlsl.pp.vert.out b/Test/baseResults/hlsl.pp.vert.out index 652cf174..c0850415 100644 --- a/Test/baseResults/hlsl.pp.vert.out +++ b/Test/baseResults/hlsl.pp.vert.out @@ -40,11 +40,11 @@ Shader version: 500 MemberName 10($Global) 0 "goodGlobal1" MemberName 10($Global) 1 "goodGlobal2" Name 12 "" + Decorate 10($Global) Block MemberDecorate 10($Global) 0 Offset 0 MemberDecorate 10($Global) 1 Offset 4 - Decorate 10($Global) Block - Decorate 12 DescriptorSet 0 Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 9: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.preprocessor.frag.out b/Test/baseResults/hlsl.preprocessor.frag.out index 106762bf..d0795d8a 100644 --- a/Test/baseResults/hlsl.preprocessor.frag.out +++ b/Test/baseResults/hlsl.preprocessor.frag.out @@ -113,10 +113,10 @@ gl_FragCoord origin is upper left Name 33 "input" Name 36 "@entryPointOutput" Name 37 "param" - Decorate 16(test_texture) DescriptorSet 0 Decorate 16(test_texture) Binding 0 - Decorate 20(test_texture_ss) DescriptorSet 0 + Decorate 16(test_texture) DescriptorSet 0 Decorate 20(test_texture_ss) Binding 1 + Decorate 20(test_texture_ss) DescriptorSet 0 Decorate 33(input) Location 0 Decorate 36(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.promote.atomic.frag.out b/Test/baseResults/hlsl.promote.atomic.frag.out index 91b1d587..22d578e3 100644 --- a/Test/baseResults/hlsl.promote.atomic.frag.out +++ b/Test/baseResults/hlsl.promote.atomic.frag.out @@ -81,8 +81,8 @@ gl_FragCoord origin is upper left Name 18 "Loc" Name 20 "Inc" Name 34 "@entryPointOutput" - Decorate 17(s_uintbuff) DescriptorSet 0 Decorate 17(s_uintbuff) Binding 0 + Decorate 17(s_uintbuff) DescriptorSet 0 Decorate 34(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.promote.binary.frag.out b/Test/baseResults/hlsl.promote.binary.frag.out index f9f57a43..d2dee888 100644 --- a/Test/baseResults/hlsl.promote.binary.frag.out +++ b/Test/baseResults/hlsl.promote.binary.frag.out @@ -196,15 +196,15 @@ gl_FragCoord origin is upper left Name 66 "l_int" Name 73 "psout" Name 80 "@entryPointOutput.Color" + Decorate 16($Global) Block MemberDecorate 16($Global) 0 Offset 0 MemberDecorate 16($Global) 1 Offset 16 MemberDecorate 16($Global) 2 Offset 32 MemberDecorate 16($Global) 3 Offset 48 MemberDecorate 16($Global) 4 Offset 64 MemberDecorate 16($Global) 5 Offset 80 - Decorate 16($Global) Block - Decorate 18 DescriptorSet 0 Decorate 18 Binding 0 + Decorate 18 DescriptorSet 0 Decorate 80(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out index 6d73cc7c..7bc2bb63 100644 --- a/Test/baseResults/hlsl.promotions.frag.out +++ b/Test/baseResults/hlsl.promotions.frag.out @@ -1683,6 +1683,7 @@ gl_FragCoord origin is upper left Name 578 "outval" Name 586 "psout" Name 593 "@entryPointOutput.Color" + Decorate 111($Global) Block MemberDecorate 111($Global) 0 Offset 0 MemberDecorate 111($Global) 1 Offset 16 MemberDecorate 111($Global) 2 Offset 32 @@ -1693,9 +1694,8 @@ gl_FragCoord origin is upper left MemberDecorate 111($Global) 7 Offset 96 MemberDecorate 111($Global) 8 Offset 100 MemberDecorate 111($Global) 9 Offset 104 - Decorate 111($Global) Block - Decorate 113 DescriptorSet 0 Decorate 113 Binding 0 + Decorate 113 DescriptorSet 0 Decorate 593(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.rw.atomics.frag.out b/Test/baseResults/hlsl.rw.atomics.frag.out index 83169f13..80754191 100644 --- a/Test/baseResults/hlsl.rw.atomics.frag.out +++ b/Test/baseResults/hlsl.rw.atomics.frag.out @@ -3996,8 +3996,9 @@ gl_FragCoord origin is upper left Name 1140 "g_tTex2di1a" Name 1143 "g_tTex2du1a" Name 1146 "g_tBuffF" - Decorate 15(g_tTex1di1) DescriptorSet 0 Decorate 15(g_tTex1di1) Binding 0 + Decorate 15(g_tTex1di1) DescriptorSet 0 + Decorate 21($Global) Block MemberDecorate 21($Global) 0 Offset 0 MemberDecorate 21($Global) 1 Offset 8 MemberDecorate 21($Global) 2 Offset 16 @@ -4008,46 +4009,45 @@ gl_FragCoord origin is upper left MemberDecorate 21($Global) 7 Offset 48 MemberDecorate 21($Global) 8 Offset 60 MemberDecorate 21($Global) 9 Offset 64 - Decorate 21($Global) Block - Decorate 23 DescriptorSet 0 Decorate 23 Binding 10 - Decorate 121(g_tTex1du1) DescriptorSet 0 + Decorate 23 DescriptorSet 0 Decorate 121(g_tTex1du1) Binding 1 - Decorate 217(g_tTex2di1) DescriptorSet 0 + Decorate 121(g_tTex1du1) DescriptorSet 0 Decorate 217(g_tTex2di1) Binding 2 - Decorate 308(g_tTex2du1) DescriptorSet 0 + Decorate 217(g_tTex2di1) DescriptorSet 0 Decorate 308(g_tTex2du1) Binding 3 - Decorate 399(g_tTex3di1) DescriptorSet 0 + Decorate 308(g_tTex2du1) DescriptorSet 0 Decorate 399(g_tTex3di1) Binding 4 - Decorate 490(g_tTex3du1) DescriptorSet 0 + Decorate 399(g_tTex3di1) DescriptorSet 0 Decorate 490(g_tTex3du1) Binding 5 - Decorate 581(g_tTex1di1a) DescriptorSet 0 + Decorate 490(g_tTex3du1) DescriptorSet 0 Decorate 581(g_tTex1di1a) Binding 6 - Decorate 670(g_tTex1du1a) DescriptorSet 0 + Decorate 581(g_tTex1di1a) DescriptorSet 0 Decorate 670(g_tTex1du1a) Binding 7 - Decorate 931(g_tBuffI) DescriptorSet 0 + Decorate 670(g_tTex1du1a) DescriptorSet 0 Decorate 931(g_tBuffI) Binding 8 - Decorate 1020(g_tBuffU) DescriptorSet 0 + Decorate 931(g_tBuffI) DescriptorSet 0 Decorate 1020(g_tBuffU) Binding 9 + Decorate 1020(g_tBuffU) DescriptorSet 0 Decorate 1117(@entryPointOutput.Color) Location 0 - Decorate 1122(g_sSamp) DescriptorSet 0 Decorate 1122(g_sSamp) Binding 0 - Decorate 1125(g_tTex1df1) DescriptorSet 0 + Decorate 1122(g_sSamp) DescriptorSet 0 Decorate 1125(g_tTex1df1) Binding 0 - Decorate 1128(g_tTex2df1) DescriptorSet 0 + Decorate 1125(g_tTex1df1) DescriptorSet 0 Decorate 1128(g_tTex2df1) Binding 0 - Decorate 1131(g_tTex3df1) DescriptorSet 0 + Decorate 1128(g_tTex2df1) DescriptorSet 0 Decorate 1131(g_tTex3df1) Binding 0 - Decorate 1134(g_tTex1df1a) DescriptorSet 0 + Decorate 1131(g_tTex3df1) DescriptorSet 0 Decorate 1134(g_tTex1df1a) Binding 0 - Decorate 1137(g_tTex2df1a) DescriptorSet 0 + Decorate 1134(g_tTex1df1a) DescriptorSet 0 Decorate 1137(g_tTex2df1a) Binding 0 - Decorate 1140(g_tTex2di1a) DescriptorSet 0 + Decorate 1137(g_tTex2df1a) DescriptorSet 0 Decorate 1140(g_tTex2di1a) Binding 0 - Decorate 1143(g_tTex2du1a) DescriptorSet 0 + Decorate 1140(g_tTex2di1a) DescriptorSet 0 Decorate 1143(g_tTex2du1a) Binding 0 - Decorate 1146(g_tBuffF) DescriptorSet 0 + Decorate 1143(g_tTex2du1a) DescriptorSet 0 Decorate 1146(g_tBuffF) Binding 0 + Decorate 1146(g_tBuffF) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.rw.bracket.frag.out b/Test/baseResults/hlsl.rw.bracket.frag.out index 02ed3799..f199c620 100644 --- a/Test/baseResults/hlsl.rw.bracket.frag.out +++ b/Test/baseResults/hlsl.rw.bracket.frag.out @@ -1880,6 +1880,7 @@ gl_FragCoord origin is upper left Name 600 "g_tTex2df4a" Name 603 "g_tTex2di4a" Name 606 "g_tTex2du4a" + Decorate 63($Global) Block MemberDecorate 63($Global) 0 Offset 0 MemberDecorate 63($Global) 1 Offset 8 MemberDecorate 63($Global) 2 Offset 16 @@ -1891,42 +1892,41 @@ gl_FragCoord origin is upper left MemberDecorate 63($Global) 8 Offset 96 MemberDecorate 63($Global) 9 Offset 112 MemberDecorate 63($Global) 10 Offset 128 - Decorate 63($Global) Block - Decorate 65 DescriptorSet 0 Decorate 65 Binding 9 - Decorate 75(g_tTex1df4) DescriptorSet 0 + Decorate 65 DescriptorSet 0 Decorate 75(g_tTex1df4) Binding 0 - Decorate 89(g_tTex1di4) DescriptorSet 0 + Decorate 75(g_tTex1df4) DescriptorSet 0 Decorate 89(g_tTex1di4) Binding 1 - Decorate 97(g_tTex1du4) DescriptorSet 0 + Decorate 89(g_tTex1di4) DescriptorSet 0 Decorate 97(g_tTex1du4) Binding 2 - Decorate 105(g_tTex2df4) DescriptorSet 0 + Decorate 97(g_tTex1du4) DescriptorSet 0 Decorate 105(g_tTex2df4) Binding 3 - Decorate 115(g_tTex2di4) DescriptorSet 0 + Decorate 105(g_tTex2df4) DescriptorSet 0 Decorate 115(g_tTex2di4) Binding 4 - Decorate 123(g_tTex2du4) DescriptorSet 0 + Decorate 115(g_tTex2di4) DescriptorSet 0 Decorate 123(g_tTex2du4) Binding 5 - Decorate 131(g_tTex3df4) DescriptorSet 0 + Decorate 123(g_tTex2du4) DescriptorSet 0 Decorate 131(g_tTex3df4) Binding 6 - Decorate 141(g_tTex3di4) DescriptorSet 0 + Decorate 131(g_tTex3df4) DescriptorSet 0 Decorate 141(g_tTex3di4) Binding 7 - Decorate 149(g_tTex3du4) DescriptorSet 0 + Decorate 141(g_tTex3di4) DescriptorSet 0 Decorate 149(g_tTex3du4) Binding 8 + Decorate 149(g_tTex3du4) DescriptorSet 0 Decorate 583(@entryPointOutput.Color) Location 0 - Decorate 588(g_sSamp) DescriptorSet 0 Decorate 588(g_sSamp) Binding 0 - Decorate 591(g_tTex1df4a) DescriptorSet 0 + Decorate 588(g_sSamp) DescriptorSet 0 Decorate 591(g_tTex1df4a) Binding 0 - Decorate 594(g_tTex1di4a) DescriptorSet 0 + Decorate 591(g_tTex1df4a) DescriptorSet 0 Decorate 594(g_tTex1di4a) Binding 0 - Decorate 597(g_tTex1du4a) DescriptorSet 0 + Decorate 594(g_tTex1di4a) DescriptorSet 0 Decorate 597(g_tTex1du4a) Binding 0 - Decorate 600(g_tTex2df4a) DescriptorSet 0 + Decorate 597(g_tTex1du4a) DescriptorSet 0 Decorate 600(g_tTex2df4a) Binding 0 - Decorate 603(g_tTex2di4a) DescriptorSet 0 + Decorate 600(g_tTex2df4a) DescriptorSet 0 Decorate 603(g_tTex2di4a) Binding 0 - Decorate 606(g_tTex2du4a) DescriptorSet 0 + Decorate 603(g_tTex2di4a) DescriptorSet 0 Decorate 606(g_tTex2du4a) Binding 0 + Decorate 606(g_tTex2du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.rw.register.frag.out b/Test/baseResults/hlsl.rw.register.frag.out index 558bf424..a4f37730 100644 --- a/Test/baseResults/hlsl.rw.register.frag.out +++ b/Test/baseResults/hlsl.rw.register.frag.out @@ -119,10 +119,10 @@ gl_FragCoord origin is upper left Name 27 "g_tBuf1du1" Name 33 "psout" Name 42 "@entryPointOutput.Color" - Decorate 16(g_tTex1df1) DescriptorSet 0 Decorate 16(g_tTex1df1) Binding 2 - Decorate 27(g_tBuf1du1) DescriptorSet 0 + Decorate 16(g_tTex1df1) DescriptorSet 0 Decorate 27(g_tBuf1du1) Binding 3 + Decorate 27(g_tBuf1du1) DescriptorSet 0 Decorate 42(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out index f2bef19a..20c7600f 100644 --- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out +++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out @@ -1826,6 +1826,7 @@ gl_FragCoord origin is upper left Name 600 "g_tTex2df1a" Name 603 "g_tTex2di1a" Name 606 "g_tTex2du1a" + Decorate 59($Global) Block MemberDecorate 59($Global) 0 Offset 0 MemberDecorate 59($Global) 1 Offset 8 MemberDecorate 59($Global) 2 Offset 16 @@ -1837,42 +1838,41 @@ gl_FragCoord origin is upper left MemberDecorate 59($Global) 8 Offset 96 MemberDecorate 59($Global) 9 Offset 100 MemberDecorate 59($Global) 10 Offset 104 - Decorate 59($Global) Block - Decorate 61 DescriptorSet 0 Decorate 61 Binding 10 - Decorate 70(g_tTex1df1) DescriptorSet 0 + Decorate 61 DescriptorSet 0 Decorate 70(g_tTex1df1) Binding 1 - Decorate 85(g_tTex1di1) DescriptorSet 0 + Decorate 70(g_tTex1df1) DescriptorSet 0 Decorate 85(g_tTex1di1) Binding 2 - Decorate 94(g_tTex1du1) DescriptorSet 0 + Decorate 85(g_tTex1di1) DescriptorSet 0 Decorate 94(g_tTex1du1) Binding 3 - Decorate 104(g_tTex2df1) DescriptorSet 0 + Decorate 94(g_tTex1du1) DescriptorSet 0 Decorate 104(g_tTex2df1) Binding 4 - Decorate 115(g_tTex2di1) DescriptorSet 0 + Decorate 104(g_tTex2df1) DescriptorSet 0 Decorate 115(g_tTex2di1) Binding 5 - Decorate 124(g_tTex2du1) DescriptorSet 0 + Decorate 115(g_tTex2di1) DescriptorSet 0 Decorate 124(g_tTex2du1) Binding 6 - Decorate 133(g_tTex3df1) DescriptorSet 0 + Decorate 124(g_tTex2du1) DescriptorSet 0 Decorate 133(g_tTex3df1) Binding 7 - Decorate 144(g_tTex3di1) DescriptorSet 0 + Decorate 133(g_tTex3df1) DescriptorSet 0 Decorate 144(g_tTex3di1) Binding 8 - Decorate 153(g_tTex3du1) DescriptorSet 0 + Decorate 144(g_tTex3di1) DescriptorSet 0 Decorate 153(g_tTex3du1) Binding 9 + Decorate 153(g_tTex3du1) DescriptorSet 0 Decorate 583(@entryPointOutput.Color) Location 0 - Decorate 588(g_sSamp) DescriptorSet 0 Decorate 588(g_sSamp) Binding 0 - Decorate 591(g_tTex1df1a) DescriptorSet 0 + Decorate 588(g_sSamp) DescriptorSet 0 Decorate 591(g_tTex1df1a) Binding 0 - Decorate 594(g_tTex1di1a) DescriptorSet 0 + Decorate 591(g_tTex1df1a) DescriptorSet 0 Decorate 594(g_tTex1di1a) Binding 0 - Decorate 597(g_tTex1du1a) DescriptorSet 0 + Decorate 594(g_tTex1di1a) DescriptorSet 0 Decorate 597(g_tTex1du1a) Binding 0 - Decorate 600(g_tTex2df1a) DescriptorSet 0 + Decorate 597(g_tTex1du1a) DescriptorSet 0 Decorate 600(g_tTex2df1a) Binding 0 - Decorate 603(g_tTex2di1a) DescriptorSet 0 + Decorate 600(g_tTex2df1a) DescriptorSet 0 Decorate 603(g_tTex2di1a) Binding 0 - Decorate 606(g_tTex2du1a) DescriptorSet 0 + Decorate 603(g_tTex2di1a) DescriptorSet 0 Decorate 606(g_tTex2du1a) Binding 0 + Decorate 606(g_tTex2du1a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.rw.swizzle.frag.out b/Test/baseResults/hlsl.rw.swizzle.frag.out index 5121cebd..28788f9d 100644 --- a/Test/baseResults/hlsl.rw.swizzle.frag.out +++ b/Test/baseResults/hlsl.rw.swizzle.frag.out @@ -223,11 +223,11 @@ gl_FragCoord origin is upper left Name 46 "storeTemp" Name 58 "@entryPointOutput" Name 62 "buf" - Decorate 35(rwtx) DescriptorSet 0 Decorate 35(rwtx) Binding 0 + Decorate 35(rwtx) DescriptorSet 0 Decorate 58(@entryPointOutput) Location 0 - Decorate 62(buf) DescriptorSet 0 Decorate 62(buf) Binding 0 + Decorate 62(buf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out index a0c639bf..304ff9c0 100644 --- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out +++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out @@ -1845,6 +1845,7 @@ gl_FragCoord origin is upper left Name 704 "g_tTex2df2a" Name 707 "g_tTex2di2a" Name 710 "g_tTex2du2a" + Decorate 64($Global) Block MemberDecorate 64($Global) 0 Offset 0 MemberDecorate 64($Global) 1 Offset 8 MemberDecorate 64($Global) 2 Offset 16 @@ -1856,42 +1857,41 @@ gl_FragCoord origin is upper left MemberDecorate 64($Global) 8 Offset 96 MemberDecorate 64($Global) 9 Offset 104 MemberDecorate 64($Global) 10 Offset 112 - Decorate 64($Global) Block - Decorate 66 DescriptorSet 0 Decorate 66 Binding 10 - Decorate 76(g_tTex1df2) DescriptorSet 0 + Decorate 66 DescriptorSet 0 Decorate 76(g_tTex1df2) Binding 1 - Decorate 96(g_tTex1di2) DescriptorSet 0 + Decorate 76(g_tTex1df2) DescriptorSet 0 Decorate 96(g_tTex1di2) Binding 2 - Decorate 107(g_tTex1du2) DescriptorSet 0 + Decorate 96(g_tTex1di2) DescriptorSet 0 Decorate 107(g_tTex1du2) Binding 3 - Decorate 119(g_tTex2df2) DescriptorSet 0 + Decorate 107(g_tTex1du2) DescriptorSet 0 Decorate 119(g_tTex2df2) Binding 4 - Decorate 130(g_tTex2di2) DescriptorSet 0 + Decorate 119(g_tTex2df2) DescriptorSet 0 Decorate 130(g_tTex2di2) Binding 5 - Decorate 141(g_tTex2du2) DescriptorSet 0 + Decorate 130(g_tTex2di2) DescriptorSet 0 Decorate 141(g_tTex2du2) Binding 6 - Decorate 152(g_tTex3df2) DescriptorSet 0 + Decorate 141(g_tTex2du2) DescriptorSet 0 Decorate 152(g_tTex3df2) Binding 7 - Decorate 165(g_tTex3di2) DescriptorSet 0 + Decorate 152(g_tTex3df2) DescriptorSet 0 Decorate 165(g_tTex3di2) Binding 8 - Decorate 176(g_tTex3du2) DescriptorSet 0 + Decorate 165(g_tTex3di2) DescriptorSet 0 Decorate 176(g_tTex3du2) Binding 9 + Decorate 176(g_tTex3du2) DescriptorSet 0 Decorate 687(@entryPointOutput.Color) Location 0 - Decorate 692(g_sSamp) DescriptorSet 0 Decorate 692(g_sSamp) Binding 0 - Decorate 695(g_tTex1df2a) DescriptorSet 0 + Decorate 692(g_sSamp) DescriptorSet 0 Decorate 695(g_tTex1df2a) Binding 0 - Decorate 698(g_tTex1di2a) DescriptorSet 0 + Decorate 695(g_tTex1df2a) DescriptorSet 0 Decorate 698(g_tTex1di2a) Binding 0 - Decorate 701(g_tTex1du2a) DescriptorSet 0 + Decorate 698(g_tTex1di2a) DescriptorSet 0 Decorate 701(g_tTex1du2a) Binding 0 - Decorate 704(g_tTex2df2a) DescriptorSet 0 + Decorate 701(g_tTex1du2a) DescriptorSet 0 Decorate 704(g_tTex2df2a) Binding 0 - Decorate 707(g_tTex2di2a) DescriptorSet 0 + Decorate 704(g_tTex2df2a) DescriptorSet 0 Decorate 707(g_tTex2di2a) Binding 0 - Decorate 710(g_tTex2du2a) DescriptorSet 0 + Decorate 707(g_tTex2di2a) DescriptorSet 0 Decorate 710(g_tTex2du2a) Binding 0 + Decorate 710(g_tTex2du2a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out index 1acca183..eb5ed7b9 100644 --- a/Test/baseResults/hlsl.sample.array.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out @@ -363,30 +363,30 @@ using depth_any Name 138 "@entryPointOutput.Color" Name 142 "@entryPointOutput.Depth" Name 145 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 2 - Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 49(g_tTex1du4) Binding 3 - Decorate 60(g_tTex2df4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 Decorate 60(g_tTex2df4) Binding 4 - Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 60(g_tTex2df4) DescriptorSet 0 Decorate 71(g_tTex2di4) Binding 5 - Decorate 82(g_tTex2du4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 Decorate 82(g_tTex2du4) Binding 6 - Decorate 94(g_tTexcdf4) DescriptorSet 0 + Decorate 82(g_tTex2du4) DescriptorSet 0 Decorate 94(g_tTexcdf4) Binding 7 - Decorate 104(g_tTexcdi4) DescriptorSet 0 + Decorate 94(g_tTexcdf4) DescriptorSet 0 Decorate 104(g_tTexcdi4) Binding 8 - Decorate 114(g_tTexcdu4) DescriptorSet 0 + Decorate 104(g_tTexcdi4) DescriptorSet 0 Decorate 114(g_tTexcdu4) Binding 9 + Decorate 114(g_tTexcdu4) DescriptorSet 0 Decorate 138(@entryPointOutput.Color) Location 0 Decorate 142(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 145(g_tTex1df4a) DescriptorSet 0 Decorate 145(g_tTex1df4a) Binding 1 + Decorate 145(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out index e3063178..8e2739d9 100644 --- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out @@ -612,40 +612,40 @@ using depth_any Name 195 "g_sSamp2d" Name 196 "g_sSamp2D_b" Name 197 "g_tTex1df4a" - Decorate 45(g_tTex1df4) DescriptorSet 0 Decorate 45(g_tTex1df4) Binding 0 - Decorate 49(g_sSamp) DescriptorSet 0 + Decorate 45(g_tTex1df4) DescriptorSet 0 Decorate 49(g_sSamp) Binding 0 - Decorate 60(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_sSamp) DescriptorSet 0 Decorate 60(g_tTex1di4) Binding 2 - Decorate 73(g_tTex1du4) DescriptorSet 0 + Decorate 60(g_tTex1di4) DescriptorSet 0 Decorate 73(g_tTex1du4) Binding 3 - Decorate 83(g_tTex2df4) DescriptorSet 0 + Decorate 73(g_tTex1du4) DescriptorSet 0 Decorate 83(g_tTex2df4) Binding 4 - Decorate 94(g_tTex2di4) DescriptorSet 0 + Decorate 83(g_tTex2df4) DescriptorSet 0 Decorate 94(g_tTex2di4) Binding 5 - Decorate 105(g_tTex2du4) DescriptorSet 0 + Decorate 94(g_tTex2di4) DescriptorSet 0 Decorate 105(g_tTex2du4) Binding 6 - Decorate 117(g_tTex3df4) DescriptorSet 0 + Decorate 105(g_tTex2du4) DescriptorSet 0 Decorate 117(g_tTex3df4) Binding 7 - Decorate 128(g_tTex3di4) DescriptorSet 0 + Decorate 117(g_tTex3df4) DescriptorSet 0 Decorate 128(g_tTex3di4) Binding 8 - Decorate 138(g_tTex3du4) DescriptorSet 0 + Decorate 128(g_tTex3di4) DescriptorSet 0 Decorate 138(g_tTex3du4) Binding 9 - Decorate 151(g_tTexcdf4) DescriptorSet 0 + Decorate 138(g_tTex3du4) DescriptorSet 0 Decorate 151(g_tTexcdf4) Binding 10 - Decorate 160(g_tTexcdi4) DescriptorSet 0 + Decorate 151(g_tTexcdf4) DescriptorSet 0 Decorate 160(g_tTexcdi4) Binding 11 - Decorate 169(g_tTexcdu4) DescriptorSet 0 + Decorate 160(g_tTexcdi4) DescriptorSet 0 Decorate 169(g_tTexcdu4) Binding 12 + Decorate 169(g_tTexcdu4) DescriptorSet 0 Decorate 188(@entryPointOutput.Color) Location 0 Decorate 192(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 195(g_sSamp2d) DescriptorSet 0 Decorate 195(g_sSamp2d) Binding 0 - Decorate 196(g_sSamp2D_b) DescriptorSet 0 + Decorate 195(g_sSamp2d) DescriptorSet 0 Decorate 196(g_sSamp2D_b) Binding 0 - Decorate 197(g_tTex1df4a) DescriptorSet 0 + Decorate 196(g_sSamp2D_b) DescriptorSet 0 Decorate 197(g_tTex1df4a) Binding 1 + Decorate 197(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.sample.dx9.frag.out b/Test/baseResults/hlsl.sample.dx9.frag.out index 04eb9d36..f1a6e0ae 100644 --- a/Test/baseResults/hlsl.sample.dx9.frag.out +++ b/Test/baseResults/hlsl.sample.dx9.frag.out @@ -413,16 +413,16 @@ using depth_any Name 125 "flattenTemp" Name 128 "@entryPointOutput.Color" Name 132 "@entryPointOutput.Depth" - Decorate 20(g_sam) DescriptorSet 0 Decorate 20(g_sam) Binding 0 - Decorate 32(g_sam1D) DescriptorSet 0 + Decorate 20(g_sam) DescriptorSet 0 Decorate 32(g_sam1D) Binding 1 - Decorate 38(g_sam2D) DescriptorSet 0 + Decorate 32(g_sam1D) DescriptorSet 0 Decorate 38(g_sam2D) Binding 2 - Decorate 48(g_sam3D) DescriptorSet 0 + Decorate 38(g_sam2D) DescriptorSet 0 Decorate 48(g_sam3D) Binding 3 - Decorate 58(g_samCube) DescriptorSet 0 + Decorate 48(g_sam3D) DescriptorSet 0 Decorate 58(g_samCube) Binding 4 + Decorate 58(g_samCube) DescriptorSet 0 Decorate 128(@entryPointOutput.Color) Location 0 Decorate 132(@entryPointOutput.Depth) BuiltIn FragDepth 3: TypeVoid diff --git a/Test/baseResults/hlsl.sample.dx9.vert.out b/Test/baseResults/hlsl.sample.dx9.vert.out index 59878a99..2b6520a0 100644 --- a/Test/baseResults/hlsl.sample.dx9.vert.out +++ b/Test/baseResults/hlsl.sample.dx9.vert.out @@ -180,10 +180,10 @@ Shader version: 500 Name 36 "g_sam2D" Name 49 "vsout" Name 61 "@entryPointOutput.Pos" - Decorate 20(g_sam) DescriptorSet 0 Decorate 20(g_sam) Binding 0 - Decorate 36(g_sam2D) DescriptorSet 0 + Decorate 20(g_sam) DescriptorSet 0 Decorate 36(g_sam2D) Binding 1 + Decorate 36(g_sam2D) DescriptorSet 0 Decorate 61(@entryPointOutput.Pos) BuiltIn Position 3: TypeVoid 4: TypeFunction 3 diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out index 0a351b43..f2be35ae 100644 --- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out @@ -407,36 +407,36 @@ using depth_any Name 154 "g_tTexcdf4" Name 157 "g_tTexcdi4" Name 160 "g_tTexcdu4" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4) Binding 2 - Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 Decorate 46(g_tTex1du4) Binding 3 - Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 Decorate 56(g_tTex2df4) Binding 4 - Decorate 70(g_tTex2di4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 Decorate 70(g_tTex2di4) Binding 5 - Decorate 82(g_tTex2du4) DescriptorSet 0 + Decorate 70(g_tTex2di4) DescriptorSet 0 Decorate 82(g_tTex2du4) Binding 6 - Decorate 96(g_tTex3df4) DescriptorSet 0 + Decorate 82(g_tTex2du4) DescriptorSet 0 Decorate 96(g_tTex3df4) Binding 7 - Decorate 109(g_tTex3di4) DescriptorSet 0 + Decorate 96(g_tTex3df4) DescriptorSet 0 Decorate 109(g_tTex3di4) Binding 8 - Decorate 120(g_tTex3du4) DescriptorSet 0 + Decorate 109(g_tTex3di4) DescriptorSet 0 Decorate 120(g_tTex3du4) Binding 9 + Decorate 120(g_tTex3du4) DescriptorSet 0 Decorate 144(@entryPointOutput.Color) Location 0 Decorate 148(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 151(g_tTex1df4a) DescriptorSet 0 Decorate 151(g_tTex1df4a) Binding 1 - Decorate 154(g_tTexcdf4) DescriptorSet 0 + Decorate 151(g_tTex1df4a) DescriptorSet 0 Decorate 154(g_tTexcdf4) Binding 0 - Decorate 157(g_tTexcdi4) DescriptorSet 0 + Decorate 154(g_tTexcdf4) DescriptorSet 0 Decorate 157(g_tTexcdi4) Binding 0 - Decorate 160(g_tTexcdu4) DescriptorSet 0 + Decorate 157(g_tTexcdi4) DescriptorSet 0 Decorate 160(g_tTexcdu4) Binding 0 + Decorate 160(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out index 0770e0ba..08da1837 100644 --- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out @@ -308,24 +308,24 @@ using depth_any Name 110 "@entryPointOutput.Color" Name 114 "@entryPointOutput.Depth" Name 117 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex1di4) Binding 2 - Decorate 51(g_tTex1du4) DescriptorSet 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 Decorate 51(g_tTex1du4) Binding 3 - Decorate 63(g_tTex2df4) DescriptorSet 0 + Decorate 51(g_tTex1du4) DescriptorSet 0 Decorate 63(g_tTex2df4) Binding 4 - Decorate 76(g_tTex2di4) DescriptorSet 0 + Decorate 63(g_tTex2df4) DescriptorSet 0 Decorate 76(g_tTex2di4) Binding 5 - Decorate 87(g_tTex2du4) DescriptorSet 0 + Decorate 76(g_tTex2di4) DescriptorSet 0 Decorate 87(g_tTex2du4) Binding 6 + Decorate 87(g_tTex2du4) DescriptorSet 0 Decorate 110(@entryPointOutput.Color) Location 0 Decorate 114(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 117(g_tTex1df4a) DescriptorSet 0 Decorate 117(g_tTex1df4a) Binding 1 + Decorate 117(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out index ea0e4e24..71c0162b 100644 --- a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out @@ -179,16 +179,16 @@ gl_FragCoord origin is upper left Name 53 "g_tTex1df4" Name 59 "psout" Name 69 "@entryPointOutput.Color" - Decorate 16(g_tTex1df1) DescriptorSet 0 Decorate 16(g_tTex1df1) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df1) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 30(g_tTex1df2) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 30(g_tTex1df2) Binding 2 - Decorate 42(g_tTex1df3) DescriptorSet 0 + Decorate 30(g_tTex1df2) DescriptorSet 0 Decorate 42(g_tTex1df3) Binding 3 - Decorate 53(g_tTex1df4) DescriptorSet 0 + Decorate 42(g_tTex1df3) DescriptorSet 0 Decorate 53(g_tTex1df4) Binding 4 + Decorate 53(g_tTex1df4) DescriptorSet 0 Decorate 69(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out index f59fc811..dd18bbe7 100644 --- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out @@ -399,30 +399,30 @@ using depth_any Name 138 "@entryPointOutput.Color" Name 142 "@entryPointOutput.Depth" Name 145 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex1di4) Binding 2 - Decorate 50(g_tTex1du4) DescriptorSet 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 Decorate 50(g_tTex1du4) Binding 3 - Decorate 61(g_tTex2df4) DescriptorSet 0 + Decorate 50(g_tTex1du4) DescriptorSet 0 Decorate 61(g_tTex2df4) Binding 4 - Decorate 72(g_tTex2di4) DescriptorSet 0 + Decorate 61(g_tTex2df4) DescriptorSet 0 Decorate 72(g_tTex2di4) Binding 5 - Decorate 82(g_tTex2du4) DescriptorSet 0 + Decorate 72(g_tTex2di4) DescriptorSet 0 Decorate 82(g_tTex2du4) Binding 6 - Decorate 94(g_tTexcdf4) DescriptorSet 0 + Decorate 82(g_tTex2du4) DescriptorSet 0 Decorate 94(g_tTexcdf4) Binding 7 - Decorate 104(g_tTexcdi4) DescriptorSet 0 + Decorate 94(g_tTexcdf4) DescriptorSet 0 Decorate 104(g_tTexcdi4) Binding 8 - Decorate 114(g_tTexcdu4) DescriptorSet 0 + Decorate 104(g_tTexcdi4) DescriptorSet 0 Decorate 114(g_tTexcdu4) Binding 9 + Decorate 114(g_tTexcdu4) DescriptorSet 0 Decorate 138(@entryPointOutput.Color) Location 0 Decorate 142(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 145(g_tTex1df4a) DescriptorSet 0 Decorate 145(g_tTex1df4a) Binding 1 + Decorate 145(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out index 919be719..4b95ca2a 100644 --- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out @@ -470,36 +470,36 @@ using depth_any Name 162 "@entryPointOutput.Color" Name 166 "@entryPointOutput.Depth" Name 169 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4) Binding 2 - Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 Decorate 46(g_tTex1du4) Binding 3 - Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 Decorate 56(g_tTex2df4) Binding 4 - Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 Decorate 67(g_tTex2di4) Binding 5 - Decorate 78(g_tTex2du4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 Decorate 78(g_tTex2du4) Binding 6 - Decorate 89(g_tTex3df4) DescriptorSet 0 + Decorate 78(g_tTex2du4) DescriptorSet 0 Decorate 89(g_tTex3df4) Binding 7 - Decorate 100(g_tTex3di4) DescriptorSet 0 + Decorate 89(g_tTex3df4) DescriptorSet 0 Decorate 100(g_tTex3di4) Binding 8 - Decorate 110(g_tTex3du4) DescriptorSet 0 + Decorate 100(g_tTex3di4) DescriptorSet 0 Decorate 110(g_tTex3du4) Binding 9 - Decorate 123(g_tTexcdf4) DescriptorSet 0 + Decorate 110(g_tTex3du4) DescriptorSet 0 Decorate 123(g_tTexcdf4) Binding 10 - Decorate 132(g_tTexcdi4) DescriptorSet 0 + Decorate 123(g_tTexcdf4) DescriptorSet 0 Decorate 132(g_tTexcdi4) Binding 11 - Decorate 141(g_tTexcdu4) DescriptorSet 0 + Decorate 132(g_tTexcdi4) DescriptorSet 0 Decorate 141(g_tTexcdu4) Binding 12 + Decorate 141(g_tTexcdu4) DescriptorSet 0 Decorate 162(@entryPointOutput.Color) Location 0 Decorate 166(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 169(g_tTex1df4a) DescriptorSet 0 Decorate 169(g_tTex1df4a) Binding 1 + Decorate 169(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out index 5b297577..f6403a0e 100644 --- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out @@ -443,36 +443,36 @@ using depth_any Name 154 "g_tTexcdf4" Name 157 "g_tTexcdi4" Name 160 "g_tTexcdu4" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 34(g_tTex1di4) Binding 2 - Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 Decorate 47(g_tTex1du4) Binding 3 - Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 Decorate 57(g_tTex2df4) Binding 4 - Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 Decorate 71(g_tTex2di4) Binding 5 - Decorate 83(g_tTex2du4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 Decorate 83(g_tTex2du4) Binding 6 - Decorate 96(g_tTex3df4) DescriptorSet 0 + Decorate 83(g_tTex2du4) DescriptorSet 0 Decorate 96(g_tTex3df4) Binding 7 - Decorate 109(g_tTex3di4) DescriptorSet 0 + Decorate 96(g_tTex3df4) DescriptorSet 0 Decorate 109(g_tTex3di4) Binding 8 - Decorate 120(g_tTex3du4) DescriptorSet 0 + Decorate 109(g_tTex3di4) DescriptorSet 0 Decorate 120(g_tTex3du4) Binding 9 + Decorate 120(g_tTex3du4) DescriptorSet 0 Decorate 144(@entryPointOutput.Color) Location 0 Decorate 148(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 151(g_tTex1df4a) DescriptorSet 0 Decorate 151(g_tTex1df4a) Binding 1 - Decorate 154(g_tTexcdf4) DescriptorSet 0 + Decorate 151(g_tTex1df4a) DescriptorSet 0 Decorate 154(g_tTexcdf4) Binding 0 - Decorate 157(g_tTexcdi4) DescriptorSet 0 + Decorate 154(g_tTexcdf4) DescriptorSet 0 Decorate 157(g_tTexcdi4) Binding 0 - Decorate 160(g_tTexcdu4) DescriptorSet 0 + Decorate 157(g_tTexcdi4) DescriptorSet 0 Decorate 160(g_tTexcdu4) Binding 0 + Decorate 160(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out index c3114a1b..ba31124f 100644 --- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out @@ -332,24 +332,24 @@ using depth_any Name 110 "@entryPointOutput.Color" Name 114 "@entryPointOutput.Depth" Name 117 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 37(g_tTex1di4) Binding 2 - Decorate 52(g_tTex1du4) DescriptorSet 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 Decorate 52(g_tTex1du4) Binding 3 - Decorate 64(g_tTex2df4) DescriptorSet 0 + Decorate 52(g_tTex1du4) DescriptorSet 0 Decorate 64(g_tTex2df4) Binding 4 - Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 64(g_tTex2df4) DescriptorSet 0 Decorate 77(g_tTex2di4) Binding 5 - Decorate 87(g_tTex2du4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 Decorate 87(g_tTex2du4) Binding 6 + Decorate 87(g_tTex2du4) DescriptorSet 0 Decorate 110(@entryPointOutput.Color) Location 0 Decorate 114(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 117(g_tTex1df4a) DescriptorSet 0 Decorate 117(g_tTex1df4a) Binding 1 + Decorate 117(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out index cde1d519..7ecb39f1 100644 --- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out @@ -451,52 +451,52 @@ Validation failed Name 187 "g_tTexcdf4" Name 190 "g_tTexcdi4" Name 193 "g_tTexcdu4" - Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 39(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 39(g_tTex1di4a) Binding 2 - Decorate 53(g_tTex1du4a) DescriptorSet 0 + Decorate 39(g_tTex1di4a) DescriptorSet 0 Decorate 53(g_tTex1du4a) Binding 3 - Decorate 66(g_tTex2df4a) DescriptorSet 0 + Decorate 53(g_tTex1du4a) DescriptorSet 0 Decorate 66(g_tTex2df4a) Binding 4 - Decorate 82(g_tTex2di4a) DescriptorSet 0 + Decorate 66(g_tTex2df4a) DescriptorSet 0 Decorate 82(g_tTex2di4a) Binding 5 - Decorate 96(g_tTex2du4a) DescriptorSet 0 + Decorate 82(g_tTex2di4a) DescriptorSet 0 Decorate 96(g_tTex2du4a) Binding 6 - Decorate 110(g_tTexcdf4a) DescriptorSet 0 + Decorate 96(g_tTex2du4a) DescriptorSet 0 Decorate 110(g_tTexcdf4a) Binding 7 - Decorate 121(g_tTexcdi4a) DescriptorSet 0 + Decorate 110(g_tTexcdf4a) DescriptorSet 0 Decorate 121(g_tTexcdi4a) Binding 8 - Decorate 130(g_tTexcdu4a) DescriptorSet 0 + Decorate 121(g_tTexcdi4a) DescriptorSet 0 Decorate 130(g_tTexcdu4a) Binding 9 + Decorate 130(g_tTexcdu4a) DescriptorSet 0 Decorate 151(@entryPointOutput.Color) Location 0 Decorate 155(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 160(g_tTex1df4) DescriptorSet 0 Decorate 160(g_tTex1df4) Binding 0 - Decorate 163(g_tTex1di4) DescriptorSet 0 + Decorate 160(g_tTex1df4) DescriptorSet 0 Decorate 163(g_tTex1di4) Binding 0 - Decorate 166(g_tTex1du4) DescriptorSet 0 + Decorate 163(g_tTex1di4) DescriptorSet 0 Decorate 166(g_tTex1du4) Binding 0 - Decorate 169(g_tTex2df4) DescriptorSet 0 + Decorate 166(g_tTex1du4) DescriptorSet 0 Decorate 169(g_tTex2df4) Binding 0 - Decorate 172(g_tTex2di4) DescriptorSet 0 + Decorate 169(g_tTex2df4) DescriptorSet 0 Decorate 172(g_tTex2di4) Binding 0 - Decorate 175(g_tTex2du4) DescriptorSet 0 + Decorate 172(g_tTex2di4) DescriptorSet 0 Decorate 175(g_tTex2du4) Binding 0 - Decorate 178(g_tTex3df4) DescriptorSet 0 + Decorate 175(g_tTex2du4) DescriptorSet 0 Decorate 178(g_tTex3df4) Binding 0 - Decorate 181(g_tTex3di4) DescriptorSet 0 + Decorate 178(g_tTex3df4) DescriptorSet 0 Decorate 181(g_tTex3di4) Binding 0 - Decorate 184(g_tTex3du4) DescriptorSet 0 + Decorate 181(g_tTex3di4) DescriptorSet 0 Decorate 184(g_tTex3du4) Binding 0 - Decorate 187(g_tTexcdf4) DescriptorSet 0 + Decorate 184(g_tTex3du4) DescriptorSet 0 Decorate 187(g_tTexcdf4) Binding 0 - Decorate 190(g_tTexcdi4) DescriptorSet 0 + Decorate 187(g_tTexcdf4) DescriptorSet 0 Decorate 190(g_tTexcdi4) Binding 0 - Decorate 193(g_tTexcdu4) DescriptorSet 0 + Decorate 190(g_tTexcdi4) DescriptorSet 0 Decorate 193(g_tTexcdu4) Binding 0 + Decorate 193(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out index fde1b58c..a355f880 100644 --- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out @@ -433,52 +433,52 @@ Validation failed Name 191 "g_tTexcdf4a" Name 194 "g_tTexcdi4a" Name 197 "g_tTexcdu4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 34(g_tTex1di4) Binding 1 - Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 Decorate 46(g_tTex1du4) Binding 2 - Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 Decorate 57(g_tTex2df4) Binding 3 - Decorate 73(g_tTex2di4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 Decorate 73(g_tTex2di4) Binding 4 - Decorate 86(g_tTex2du4) DescriptorSet 0 + Decorate 73(g_tTex2di4) DescriptorSet 0 Decorate 86(g_tTex2du4) Binding 5 - Decorate 99(g_tTexcdf4) DescriptorSet 0 + Decorate 86(g_tTex2du4) DescriptorSet 0 Decorate 99(g_tTexcdf4) Binding 6 - Decorate 115(g_tTexcdi4) DescriptorSet 0 + Decorate 99(g_tTexcdf4) DescriptorSet 0 Decorate 115(g_tTexcdi4) Binding 7 - Decorate 129(g_tTexcdu4) DescriptorSet 0 + Decorate 115(g_tTexcdi4) DescriptorSet 0 Decorate 129(g_tTexcdu4) Binding 8 + Decorate 129(g_tTexcdu4) DescriptorSet 0 Decorate 155(@entryPointOutput.Color) Location 0 Decorate 159(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 164(g_tTex3df4) DescriptorSet 0 Decorate 164(g_tTex3df4) Binding 0 - Decorate 167(g_tTex3di4) DescriptorSet 0 + Decorate 164(g_tTex3df4) DescriptorSet 0 Decorate 167(g_tTex3di4) Binding 0 - Decorate 170(g_tTex3du4) DescriptorSet 0 + Decorate 167(g_tTex3di4) DescriptorSet 0 Decorate 170(g_tTex3du4) Binding 0 - Decorate 173(g_tTex1df4a) DescriptorSet 0 + Decorate 170(g_tTex3du4) DescriptorSet 0 Decorate 173(g_tTex1df4a) Binding 0 - Decorate 176(g_tTex1di4a) DescriptorSet 0 + Decorate 173(g_tTex1df4a) DescriptorSet 0 Decorate 176(g_tTex1di4a) Binding 0 - Decorate 179(g_tTex1du4a) DescriptorSet 0 + Decorate 176(g_tTex1di4a) DescriptorSet 0 Decorate 179(g_tTex1du4a) Binding 0 - Decorate 182(g_tTex2df4a) DescriptorSet 0 + Decorate 179(g_tTex1du4a) DescriptorSet 0 Decorate 182(g_tTex2df4a) Binding 0 - Decorate 185(g_tTex2di4a) DescriptorSet 0 + Decorate 182(g_tTex2df4a) DescriptorSet 0 Decorate 185(g_tTex2di4a) Binding 0 - Decorate 188(g_tTex2du4a) DescriptorSet 0 + Decorate 185(g_tTex2di4a) DescriptorSet 0 Decorate 188(g_tTex2du4a) Binding 0 - Decorate 191(g_tTexcdf4a) DescriptorSet 0 + Decorate 188(g_tTex2du4a) DescriptorSet 0 Decorate 191(g_tTexcdf4a) Binding 0 - Decorate 194(g_tTexcdi4a) DescriptorSet 0 + Decorate 191(g_tTexcdf4a) DescriptorSet 0 Decorate 194(g_tTexcdi4a) Binding 0 - Decorate 197(g_tTexcdu4a) DescriptorSet 0 + Decorate 194(g_tTexcdi4a) DescriptorSet 0 Decorate 197(g_tTexcdu4a) Binding 0 + Decorate 197(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmp.dualmode.frag.out b/Test/baseResults/hlsl.samplecmp.dualmode.frag.out index 7f17e900..da2b024a 100644 --- a/Test/baseResults/hlsl.samplecmp.dualmode.frag.out +++ b/Test/baseResults/hlsl.samplecmp.dualmode.frag.out @@ -102,14 +102,14 @@ gl_FragCoord origin is upper left Name 29 "g_tTex" Name 31 "g_sSamp" Name 41 "@entryPointOutput" - Decorate 13(g_tTex) DescriptorSet 0 Decorate 13(g_tTex) Binding 3 - Decorate 17(g_sSampCmp) DescriptorSet 0 + Decorate 13(g_tTex) DescriptorSet 0 Decorate 17(g_sSampCmp) Binding 1 - Decorate 29(g_tTex) DescriptorSet 0 + Decorate 17(g_sSampCmp) DescriptorSet 0 Decorate 29(g_tTex) Binding 3 - Decorate 31(g_sSamp) DescriptorSet 0 + Decorate 29(g_tTex) DescriptorSet 0 Decorate 31(g_sSamp) Binding 0 + Decorate 31(g_sSamp) DescriptorSet 0 Decorate 41(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out index cc1b8581..f5286378 100644 --- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out @@ -376,52 +376,52 @@ Validation failed Name 160 "g_tTexcdf4a" Name 163 "g_tTexcdi4a" Name 166 "g_tTexcdu4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 1 - Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 47(g_tTex1du4) Binding 2 - Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 Decorate 58(g_tTex2df4) Binding 3 - Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 Decorate 77(g_tTex2di4) Binding 4 - Decorate 90(g_tTex2du4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 Decorate 90(g_tTex2du4) Binding 5 + Decorate 90(g_tTex2du4) DescriptorSet 0 Decorate 115(@entryPointOutput.Color) Location 0 Decorate 119(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 124(g_tTex3df4) DescriptorSet 0 Decorate 124(g_tTex3df4) Binding 0 - Decorate 127(g_tTex3di4) DescriptorSet 0 + Decorate 124(g_tTex3df4) DescriptorSet 0 Decorate 127(g_tTex3di4) Binding 0 - Decorate 130(g_tTex3du4) DescriptorSet 0 + Decorate 127(g_tTex3di4) DescriptorSet 0 Decorate 130(g_tTex3du4) Binding 0 - Decorate 133(g_tTexcdf4) DescriptorSet 0 + Decorate 130(g_tTex3du4) DescriptorSet 0 Decorate 133(g_tTexcdf4) Binding 0 - Decorate 136(g_tTexcdi4) DescriptorSet 0 + Decorate 133(g_tTexcdf4) DescriptorSet 0 Decorate 136(g_tTexcdi4) Binding 0 - Decorate 139(g_tTexcdu4) DescriptorSet 0 + Decorate 136(g_tTexcdi4) DescriptorSet 0 Decorate 139(g_tTexcdu4) Binding 0 - Decorate 142(g_tTex1df4a) DescriptorSet 0 + Decorate 139(g_tTexcdu4) DescriptorSet 0 Decorate 142(g_tTex1df4a) Binding 0 - Decorate 145(g_tTex1di4a) DescriptorSet 0 + Decorate 142(g_tTex1df4a) DescriptorSet 0 Decorate 145(g_tTex1di4a) Binding 0 - Decorate 148(g_tTex1du4a) DescriptorSet 0 + Decorate 145(g_tTex1di4a) DescriptorSet 0 Decorate 148(g_tTex1du4a) Binding 0 - Decorate 151(g_tTex2df4a) DescriptorSet 0 + Decorate 148(g_tTex1du4a) DescriptorSet 0 Decorate 151(g_tTex2df4a) Binding 0 - Decorate 154(g_tTex2di4a) DescriptorSet 0 + Decorate 151(g_tTex2df4a) DescriptorSet 0 Decorate 154(g_tTex2di4a) Binding 0 - Decorate 157(g_tTex2du4a) DescriptorSet 0 + Decorate 154(g_tTex2di4a) DescriptorSet 0 Decorate 157(g_tTex2du4a) Binding 0 - Decorate 160(g_tTexcdf4a) DescriptorSet 0 + Decorate 157(g_tTex2du4a) DescriptorSet 0 Decorate 160(g_tTexcdf4a) Binding 0 - Decorate 163(g_tTexcdi4a) DescriptorSet 0 + Decorate 160(g_tTexcdf4a) DescriptorSet 0 Decorate 163(g_tTexcdi4a) Binding 0 - Decorate 166(g_tTexcdu4a) DescriptorSet 0 + Decorate 163(g_tTexcdi4a) DescriptorSet 0 Decorate 166(g_tTexcdu4a) Binding 0 + Decorate 166(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out index 9d8413c9..0500534c 100644 --- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out @@ -388,52 +388,52 @@ Validation failed Name 171 "g_tTexcdf4a" Name 174 "g_tTexcdi4a" Name 177 "g_tTexcdu4a" - Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 40(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 40(g_tTex1di4a) Binding 2 - Decorate 54(g_tTex1du4a) DescriptorSet 0 + Decorate 40(g_tTex1di4a) DescriptorSet 0 Decorate 54(g_tTex1du4a) Binding 3 - Decorate 67(g_tTex2df4a) DescriptorSet 0 + Decorate 54(g_tTex1du4a) DescriptorSet 0 Decorate 67(g_tTex2df4a) Binding 4 - Decorate 86(g_tTex2di4a) DescriptorSet 0 + Decorate 67(g_tTex2df4a) DescriptorSet 0 Decorate 86(g_tTex2di4a) Binding 5 - Decorate 100(g_tTex2du4a) DescriptorSet 0 + Decorate 86(g_tTex2di4a) DescriptorSet 0 Decorate 100(g_tTex2du4a) Binding 6 + Decorate 100(g_tTex2du4a) DescriptorSet 0 Decorate 126(@entryPointOutput.Color) Location 0 Decorate 130(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 135(g_tTex1df4) DescriptorSet 0 Decorate 135(g_tTex1df4) Binding 0 - Decorate 138(g_tTex1di4) DescriptorSet 0 + Decorate 135(g_tTex1df4) DescriptorSet 0 Decorate 138(g_tTex1di4) Binding 0 - Decorate 141(g_tTex1du4) DescriptorSet 0 + Decorate 138(g_tTex1di4) DescriptorSet 0 Decorate 141(g_tTex1du4) Binding 0 - Decorate 144(g_tTex2df4) DescriptorSet 0 + Decorate 141(g_tTex1du4) DescriptorSet 0 Decorate 144(g_tTex2df4) Binding 0 - Decorate 147(g_tTex2di4) DescriptorSet 0 + Decorate 144(g_tTex2df4) DescriptorSet 0 Decorate 147(g_tTex2di4) Binding 0 - Decorate 150(g_tTex2du4) DescriptorSet 0 + Decorate 147(g_tTex2di4) DescriptorSet 0 Decorate 150(g_tTex2du4) Binding 0 - Decorate 153(g_tTex3df4) DescriptorSet 0 + Decorate 150(g_tTex2du4) DescriptorSet 0 Decorate 153(g_tTex3df4) Binding 0 - Decorate 156(g_tTex3di4) DescriptorSet 0 + Decorate 153(g_tTex3df4) DescriptorSet 0 Decorate 156(g_tTex3di4) Binding 0 - Decorate 159(g_tTex3du4) DescriptorSet 0 + Decorate 156(g_tTex3di4) DescriptorSet 0 Decorate 159(g_tTex3du4) Binding 0 - Decorate 162(g_tTexcdf4) DescriptorSet 0 + Decorate 159(g_tTex3du4) DescriptorSet 0 Decorate 162(g_tTexcdf4) Binding 0 - Decorate 165(g_tTexcdi4) DescriptorSet 0 + Decorate 162(g_tTexcdf4) DescriptorSet 0 Decorate 165(g_tTexcdi4) Binding 0 - Decorate 168(g_tTexcdu4) DescriptorSet 0 + Decorate 165(g_tTexcdi4) DescriptorSet 0 Decorate 168(g_tTexcdu4) Binding 0 - Decorate 171(g_tTexcdf4a) DescriptorSet 0 + Decorate 168(g_tTexcdu4) DescriptorSet 0 Decorate 171(g_tTexcdf4a) Binding 0 - Decorate 174(g_tTexcdi4a) DescriptorSet 0 + Decorate 171(g_tTexcdf4a) DescriptorSet 0 Decorate 174(g_tTexcdi4a) Binding 0 - Decorate 177(g_tTexcdu4a) DescriptorSet 0 + Decorate 174(g_tTexcdi4a) DescriptorSet 0 Decorate 177(g_tTexcdu4a) Binding 0 + Decorate 177(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out index b9adf6fe..66b5092a 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out @@ -487,52 +487,52 @@ Validation failed Name 188 "g_tTexcdf4" Name 191 "g_tTexcdi4" Name 194 "g_tTexcdu4" - Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 40(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 40(g_tTex1di4a) Binding 2 - Decorate 54(g_tTex1du4a) DescriptorSet 0 + Decorate 40(g_tTex1di4a) DescriptorSet 0 Decorate 54(g_tTex1du4a) Binding 3 - Decorate 67(g_tTex2df4a) DescriptorSet 0 + Decorate 54(g_tTex1du4a) DescriptorSet 0 Decorate 67(g_tTex2df4a) Binding 4 - Decorate 83(g_tTex2di4a) DescriptorSet 0 + Decorate 67(g_tTex2df4a) DescriptorSet 0 Decorate 83(g_tTex2di4a) Binding 5 - Decorate 97(g_tTex2du4a) DescriptorSet 0 + Decorate 83(g_tTex2di4a) DescriptorSet 0 Decorate 97(g_tTex2du4a) Binding 6 - Decorate 111(g_tTexcdf4a) DescriptorSet 0 + Decorate 97(g_tTex2du4a) DescriptorSet 0 Decorate 111(g_tTexcdf4a) Binding 7 - Decorate 122(g_tTexcdi4a) DescriptorSet 0 + Decorate 111(g_tTexcdf4a) DescriptorSet 0 Decorate 122(g_tTexcdi4a) Binding 8 - Decorate 131(g_tTexcdu4a) DescriptorSet 0 + Decorate 122(g_tTexcdi4a) DescriptorSet 0 Decorate 131(g_tTexcdu4a) Binding 9 + Decorate 131(g_tTexcdu4a) DescriptorSet 0 Decorate 152(@entryPointOutput.Color) Location 0 Decorate 156(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 161(g_tTex1df4) DescriptorSet 0 Decorate 161(g_tTex1df4) Binding 0 - Decorate 164(g_tTex1di4) DescriptorSet 0 + Decorate 161(g_tTex1df4) DescriptorSet 0 Decorate 164(g_tTex1di4) Binding 0 - Decorate 167(g_tTex1du4) DescriptorSet 0 + Decorate 164(g_tTex1di4) DescriptorSet 0 Decorate 167(g_tTex1du4) Binding 0 - Decorate 170(g_tTex2df4) DescriptorSet 0 + Decorate 167(g_tTex1du4) DescriptorSet 0 Decorate 170(g_tTex2df4) Binding 0 - Decorate 173(g_tTex2di4) DescriptorSet 0 + Decorate 170(g_tTex2df4) DescriptorSet 0 Decorate 173(g_tTex2di4) Binding 0 - Decorate 176(g_tTex2du4) DescriptorSet 0 + Decorate 173(g_tTex2di4) DescriptorSet 0 Decorate 176(g_tTex2du4) Binding 0 - Decorate 179(g_tTex3df4) DescriptorSet 0 + Decorate 176(g_tTex2du4) DescriptorSet 0 Decorate 179(g_tTex3df4) Binding 0 - Decorate 182(g_tTex3di4) DescriptorSet 0 + Decorate 179(g_tTex3df4) DescriptorSet 0 Decorate 182(g_tTex3di4) Binding 0 - Decorate 185(g_tTex3du4) DescriptorSet 0 + Decorate 182(g_tTex3di4) DescriptorSet 0 Decorate 185(g_tTex3du4) Binding 0 - Decorate 188(g_tTexcdf4) DescriptorSet 0 + Decorate 185(g_tTex3du4) DescriptorSet 0 Decorate 188(g_tTexcdf4) Binding 0 - Decorate 191(g_tTexcdi4) DescriptorSet 0 + Decorate 188(g_tTexcdf4) DescriptorSet 0 Decorate 191(g_tTexcdi4) Binding 0 - Decorate 194(g_tTexcdu4) DescriptorSet 0 + Decorate 191(g_tTexcdi4) DescriptorSet 0 Decorate 194(g_tTexcdu4) Binding 0 + Decorate 194(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out index 6807d995..c833b51a 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out @@ -469,52 +469,52 @@ Validation failed Name 192 "g_tTexcdf4a" Name 195 "g_tTexcdi4a" Name 198 "g_tTexcdu4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 1 - Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 47(g_tTex1du4) Binding 2 - Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 Decorate 58(g_tTex2df4) Binding 3 - Decorate 74(g_tTex2di4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 Decorate 74(g_tTex2di4) Binding 4 - Decorate 87(g_tTex2du4) DescriptorSet 0 + Decorate 74(g_tTex2di4) DescriptorSet 0 Decorate 87(g_tTex2du4) Binding 5 - Decorate 100(g_tTexcdf4) DescriptorSet 0 + Decorate 87(g_tTex2du4) DescriptorSet 0 Decorate 100(g_tTexcdf4) Binding 6 - Decorate 116(g_tTexcdi4) DescriptorSet 0 + Decorate 100(g_tTexcdf4) DescriptorSet 0 Decorate 116(g_tTexcdi4) Binding 7 - Decorate 130(g_tTexcdu4) DescriptorSet 0 + Decorate 116(g_tTexcdi4) DescriptorSet 0 Decorate 130(g_tTexcdu4) Binding 8 + Decorate 130(g_tTexcdu4) DescriptorSet 0 Decorate 156(@entryPointOutput.Color) Location 0 Decorate 160(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 165(g_tTex3df4) DescriptorSet 0 Decorate 165(g_tTex3df4) Binding 0 - Decorate 168(g_tTex3di4) DescriptorSet 0 + Decorate 165(g_tTex3df4) DescriptorSet 0 Decorate 168(g_tTex3di4) Binding 0 - Decorate 171(g_tTex3du4) DescriptorSet 0 + Decorate 168(g_tTex3di4) DescriptorSet 0 Decorate 171(g_tTex3du4) Binding 0 - Decorate 174(g_tTex1df4a) DescriptorSet 0 + Decorate 171(g_tTex3du4) DescriptorSet 0 Decorate 174(g_tTex1df4a) Binding 0 - Decorate 177(g_tTex1di4a) DescriptorSet 0 + Decorate 174(g_tTex1df4a) DescriptorSet 0 Decorate 177(g_tTex1di4a) Binding 0 - Decorate 180(g_tTex1du4a) DescriptorSet 0 + Decorate 177(g_tTex1di4a) DescriptorSet 0 Decorate 180(g_tTex1du4a) Binding 0 - Decorate 183(g_tTex2df4a) DescriptorSet 0 + Decorate 180(g_tTex1du4a) DescriptorSet 0 Decorate 183(g_tTex2df4a) Binding 0 - Decorate 186(g_tTex2di4a) DescriptorSet 0 + Decorate 183(g_tTex2df4a) DescriptorSet 0 Decorate 186(g_tTex2di4a) Binding 0 - Decorate 189(g_tTex2du4a) DescriptorSet 0 + Decorate 186(g_tTex2di4a) DescriptorSet 0 Decorate 189(g_tTex2du4a) Binding 0 - Decorate 192(g_tTexcdf4a) DescriptorSet 0 + Decorate 189(g_tTex2du4a) DescriptorSet 0 Decorate 192(g_tTexcdf4a) Binding 0 - Decorate 195(g_tTexcdi4a) DescriptorSet 0 + Decorate 192(g_tTexcdf4a) DescriptorSet 0 Decorate 195(g_tTexcdi4a) Binding 0 - Decorate 198(g_tTexcdu4a) DescriptorSet 0 + Decorate 195(g_tTexcdi4a) DescriptorSet 0 Decorate 198(g_tTexcdu4a) Binding 0 + Decorate 198(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out index 338a5e71..70d2bd77 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out @@ -400,52 +400,52 @@ Validation failed Name 161 "g_tTexcdf4a" Name 164 "g_tTexcdi4a" Name 167 "g_tTexcdu4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex1di4) Binding 1 - Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 Decorate 48(g_tTex1du4) Binding 2 - Decorate 59(g_tTex2df4) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 Decorate 59(g_tTex2df4) Binding 3 - Decorate 78(g_tTex2di4) DescriptorSet 0 + Decorate 59(g_tTex2df4) DescriptorSet 0 Decorate 78(g_tTex2di4) Binding 4 - Decorate 91(g_tTex2du4) DescriptorSet 0 + Decorate 78(g_tTex2di4) DescriptorSet 0 Decorate 91(g_tTex2du4) Binding 5 + Decorate 91(g_tTex2du4) DescriptorSet 0 Decorate 116(@entryPointOutput.Color) Location 0 Decorate 120(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 125(g_tTex3df4) DescriptorSet 0 Decorate 125(g_tTex3df4) Binding 0 - Decorate 128(g_tTex3di4) DescriptorSet 0 + Decorate 125(g_tTex3df4) DescriptorSet 0 Decorate 128(g_tTex3di4) Binding 0 - Decorate 131(g_tTex3du4) DescriptorSet 0 + Decorate 128(g_tTex3di4) DescriptorSet 0 Decorate 131(g_tTex3du4) Binding 0 - Decorate 134(g_tTexcdf4) DescriptorSet 0 + Decorate 131(g_tTex3du4) DescriptorSet 0 Decorate 134(g_tTexcdf4) Binding 0 - Decorate 137(g_tTexcdi4) DescriptorSet 0 + Decorate 134(g_tTexcdf4) DescriptorSet 0 Decorate 137(g_tTexcdi4) Binding 0 - Decorate 140(g_tTexcdu4) DescriptorSet 0 + Decorate 137(g_tTexcdi4) DescriptorSet 0 Decorate 140(g_tTexcdu4) Binding 0 - Decorate 143(g_tTex1df4a) DescriptorSet 0 + Decorate 140(g_tTexcdu4) DescriptorSet 0 Decorate 143(g_tTex1df4a) Binding 0 - Decorate 146(g_tTex1di4a) DescriptorSet 0 + Decorate 143(g_tTex1df4a) DescriptorSet 0 Decorate 146(g_tTex1di4a) Binding 0 - Decorate 149(g_tTex1du4a) DescriptorSet 0 + Decorate 146(g_tTex1di4a) DescriptorSet 0 Decorate 149(g_tTex1du4a) Binding 0 - Decorate 152(g_tTex2df4a) DescriptorSet 0 + Decorate 149(g_tTex1du4a) DescriptorSet 0 Decorate 152(g_tTex2df4a) Binding 0 - Decorate 155(g_tTex2di4a) DescriptorSet 0 + Decorate 152(g_tTex2df4a) DescriptorSet 0 Decorate 155(g_tTex2di4a) Binding 0 - Decorate 158(g_tTex2du4a) DescriptorSet 0 + Decorate 155(g_tTex2di4a) DescriptorSet 0 Decorate 158(g_tTex2du4a) Binding 0 - Decorate 161(g_tTexcdf4a) DescriptorSet 0 + Decorate 158(g_tTex2du4a) DescriptorSet 0 Decorate 161(g_tTexcdf4a) Binding 0 - Decorate 164(g_tTexcdi4a) DescriptorSet 0 + Decorate 161(g_tTexcdf4a) DescriptorSet 0 Decorate 164(g_tTexcdi4a) Binding 0 - Decorate 167(g_tTexcdu4a) DescriptorSet 0 + Decorate 164(g_tTexcdi4a) DescriptorSet 0 Decorate 167(g_tTexcdu4a) Binding 0 + Decorate 167(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out index 4b68c90f..c3fbf0d1 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out @@ -412,52 +412,52 @@ Validation failed Name 172 "g_tTexcdf4a" Name 175 "g_tTexcdi4a" Name 178 "g_tTexcdu4a" - Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 41(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 41(g_tTex1di4a) Binding 2 - Decorate 55(g_tTex1du4a) DescriptorSet 0 + Decorate 41(g_tTex1di4a) DescriptorSet 0 Decorate 55(g_tTex1du4a) Binding 3 - Decorate 68(g_tTex2df4a) DescriptorSet 0 + Decorate 55(g_tTex1du4a) DescriptorSet 0 Decorate 68(g_tTex2df4a) Binding 4 - Decorate 87(g_tTex2di4a) DescriptorSet 0 + Decorate 68(g_tTex2df4a) DescriptorSet 0 Decorate 87(g_tTex2di4a) Binding 5 - Decorate 101(g_tTex2du4a) DescriptorSet 0 + Decorate 87(g_tTex2di4a) DescriptorSet 0 Decorate 101(g_tTex2du4a) Binding 6 + Decorate 101(g_tTex2du4a) DescriptorSet 0 Decorate 127(@entryPointOutput.Color) Location 0 Decorate 131(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 136(g_tTex1df4) DescriptorSet 0 Decorate 136(g_tTex1df4) Binding 0 - Decorate 139(g_tTex1di4) DescriptorSet 0 + Decorate 136(g_tTex1df4) DescriptorSet 0 Decorate 139(g_tTex1di4) Binding 0 - Decorate 142(g_tTex1du4) DescriptorSet 0 + Decorate 139(g_tTex1di4) DescriptorSet 0 Decorate 142(g_tTex1du4) Binding 0 - Decorate 145(g_tTex2df4) DescriptorSet 0 + Decorate 142(g_tTex1du4) DescriptorSet 0 Decorate 145(g_tTex2df4) Binding 0 - Decorate 148(g_tTex2di4) DescriptorSet 0 + Decorate 145(g_tTex2df4) DescriptorSet 0 Decorate 148(g_tTex2di4) Binding 0 - Decorate 151(g_tTex2du4) DescriptorSet 0 + Decorate 148(g_tTex2di4) DescriptorSet 0 Decorate 151(g_tTex2du4) Binding 0 - Decorate 154(g_tTex3df4) DescriptorSet 0 + Decorate 151(g_tTex2du4) DescriptorSet 0 Decorate 154(g_tTex3df4) Binding 0 - Decorate 157(g_tTex3di4) DescriptorSet 0 + Decorate 154(g_tTex3df4) DescriptorSet 0 Decorate 157(g_tTex3di4) Binding 0 - Decorate 160(g_tTex3du4) DescriptorSet 0 + Decorate 157(g_tTex3di4) DescriptorSet 0 Decorate 160(g_tTex3du4) Binding 0 - Decorate 163(g_tTexcdf4) DescriptorSet 0 + Decorate 160(g_tTex3du4) DescriptorSet 0 Decorate 163(g_tTexcdf4) Binding 0 - Decorate 166(g_tTexcdi4) DescriptorSet 0 + Decorate 163(g_tTexcdf4) DescriptorSet 0 Decorate 166(g_tTexcdi4) Binding 0 - Decorate 169(g_tTexcdu4) DescriptorSet 0 + Decorate 166(g_tTexcdi4) DescriptorSet 0 Decorate 169(g_tTexcdu4) Binding 0 - Decorate 172(g_tTexcdf4a) DescriptorSet 0 + Decorate 169(g_tTexcdu4) DescriptorSet 0 Decorate 172(g_tTexcdf4a) Binding 0 - Decorate 175(g_tTexcdi4a) DescriptorSet 0 + Decorate 172(g_tTexcdf4a) DescriptorSet 0 Decorate 175(g_tTexcdi4a) Binding 0 - Decorate 178(g_tTexcdu4a) DescriptorSet 0 + Decorate 175(g_tTexcdi4a) DescriptorSet 0 Decorate 178(g_tTexcdu4a) Binding 0 + Decorate 178(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out index a2e58bd6..b70b0bff 100644 --- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out @@ -471,30 +471,30 @@ using depth_any Name 132 "@entryPointOutput.Color" Name 136 "@entryPointOutput.Depth" Name 139 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 37(g_tTex1di4) Binding 2 - Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 Decorate 49(g_tTex1du4) Binding 3 - Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 Decorate 58(g_tTex2df4) Binding 4 - Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 Decorate 71(g_tTex2di4) Binding 5 - Decorate 80(g_tTex2du4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 Decorate 80(g_tTex2du4) Binding 6 - Decorate 89(g_tTexcdf4) DescriptorSet 0 + Decorate 80(g_tTex2du4) DescriptorSet 0 Decorate 89(g_tTexcdf4) Binding 7 - Decorate 102(g_tTexcdi4) DescriptorSet 0 + Decorate 89(g_tTexcdf4) DescriptorSet 0 Decorate 102(g_tTexcdi4) Binding 8 - Decorate 111(g_tTexcdu4) DescriptorSet 0 + Decorate 102(g_tTexcdi4) DescriptorSet 0 Decorate 111(g_tTexcdu4) Binding 9 + Decorate 111(g_tTexcdu4) DescriptorSet 0 Decorate 132(@entryPointOutput.Color) Location 0 Decorate 136(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 139(g_tTex1df4a) DescriptorSet 0 Decorate 139(g_tTex1df4a) Binding 1 + Decorate 139(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out index 09bfbdf3..b17306d0 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out @@ -578,36 +578,36 @@ using depth_any Name 167 "@entryPointOutput.Color" Name 171 "@entryPointOutput.Depth" Name 174 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 34(g_tTex1di4) Binding 2 - Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 Decorate 47(g_tTex1du4) Binding 3 - Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 Decorate 57(g_tTex2df4) Binding 4 - Decorate 69(g_tTex2di4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 Decorate 69(g_tTex2di4) Binding 5 - Decorate 80(g_tTex2du4) DescriptorSet 0 + Decorate 69(g_tTex2di4) DescriptorSet 0 Decorate 80(g_tTex2du4) Binding 6 - Decorate 92(g_tTex3df4) DescriptorSet 0 + Decorate 80(g_tTex2du4) DescriptorSet 0 Decorate 92(g_tTex3df4) Binding 7 - Decorate 105(g_tTex3di4) DescriptorSet 0 + Decorate 92(g_tTex3df4) DescriptorSet 0 Decorate 105(g_tTex3di4) Binding 8 - Decorate 115(g_tTex3du4) DescriptorSet 0 + Decorate 105(g_tTex3di4) DescriptorSet 0 Decorate 115(g_tTex3du4) Binding 9 - Decorate 128(g_tTexcdf4) DescriptorSet 0 + Decorate 115(g_tTex3du4) DescriptorSet 0 Decorate 128(g_tTexcdf4) Binding 10 - Decorate 137(g_tTexcdi4) DescriptorSet 0 + Decorate 128(g_tTexcdf4) DescriptorSet 0 Decorate 137(g_tTexcdi4) Binding 11 - Decorate 146(g_tTexcdu4) DescriptorSet 0 + Decorate 137(g_tTexcdi4) DescriptorSet 0 Decorate 146(g_tTexcdu4) Binding 12 + Decorate 146(g_tTexcdu4) DescriptorSet 0 Decorate 167(@entryPointOutput.Color) Location 0 Decorate 171(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 174(g_tTex1df4a) DescriptorSet 0 Decorate 174(g_tTex1df4a) Binding 1 + Decorate 174(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out index f63d9e8e..902500cd 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out @@ -535,35 +535,35 @@ Shader version: 500 Name 153 "vsout" Name 162 "@entryPointOutput.Pos" Name 165 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 34(g_tTex1di4) Binding 2 - Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 Decorate 47(g_tTex1du4) Binding 3 - Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 Decorate 57(g_tTex2df4) Binding 4 - Decorate 69(g_tTex2di4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 Decorate 69(g_tTex2di4) Binding 5 - Decorate 80(g_tTex2du4) DescriptorSet 0 + Decorate 69(g_tTex2di4) DescriptorSet 0 Decorate 80(g_tTex2du4) Binding 6 - Decorate 92(g_tTex3df4) DescriptorSet 0 + Decorate 80(g_tTex2du4) DescriptorSet 0 Decorate 92(g_tTex3df4) Binding 7 - Decorate 105(g_tTex3di4) DescriptorSet 0 + Decorate 92(g_tTex3df4) DescriptorSet 0 Decorate 105(g_tTex3di4) Binding 8 - Decorate 115(g_tTex3du4) DescriptorSet 0 + Decorate 105(g_tTex3di4) DescriptorSet 0 Decorate 115(g_tTex3du4) Binding 9 - Decorate 128(g_tTexcdf4) DescriptorSet 0 + Decorate 115(g_tTex3du4) DescriptorSet 0 Decorate 128(g_tTexcdf4) Binding 10 - Decorate 137(g_tTexcdi4) DescriptorSet 0 + Decorate 128(g_tTexcdf4) DescriptorSet 0 Decorate 137(g_tTexcdi4) Binding 11 - Decorate 146(g_tTexcdu4) DescriptorSet 0 + Decorate 137(g_tTexcdi4) DescriptorSet 0 Decorate 146(g_tTexcdu4) Binding 12 + Decorate 146(g_tTexcdu4) DescriptorSet 0 Decorate 162(@entryPointOutput.Pos) BuiltIn Position - Decorate 165(g_tTex1df4a) DescriptorSet 0 Decorate 165(g_tTex1df4a) Binding 1 + Decorate 165(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out index 3180e7a3..63c94219 100644 --- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out @@ -515,36 +515,36 @@ using depth_any Name 159 "g_tTexcdf4" Name 162 "g_tTexcdi4" Name 165 "g_tTexcdu4" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 2 - Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 48(g_tTex1du4) Binding 3 - Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 Decorate 58(g_tTex2df4) Binding 4 - Decorate 73(g_tTex2di4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 Decorate 73(g_tTex2di4) Binding 5 - Decorate 85(g_tTex2du4) DescriptorSet 0 + Decorate 73(g_tTex2di4) DescriptorSet 0 Decorate 85(g_tTex2du4) Binding 6 - Decorate 99(g_tTex3df4) DescriptorSet 0 + Decorate 85(g_tTex2du4) DescriptorSet 0 Decorate 99(g_tTex3df4) Binding 7 - Decorate 114(g_tTex3di4) DescriptorSet 0 + Decorate 99(g_tTex3df4) DescriptorSet 0 Decorate 114(g_tTex3di4) Binding 8 - Decorate 125(g_tTex3du4) DescriptorSet 0 + Decorate 114(g_tTex3di4) DescriptorSet 0 Decorate 125(g_tTex3du4) Binding 9 + Decorate 125(g_tTex3du4) DescriptorSet 0 Decorate 149(@entryPointOutput.Color) Location 0 Decorate 153(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 156(g_tTex1df4a) DescriptorSet 0 Decorate 156(g_tTex1df4a) Binding 1 - Decorate 159(g_tTexcdf4) DescriptorSet 0 + Decorate 156(g_tTex1df4a) DescriptorSet 0 Decorate 159(g_tTexcdf4) Binding 0 - Decorate 162(g_tTexcdi4) DescriptorSet 0 + Decorate 159(g_tTexcdf4) DescriptorSet 0 Decorate 162(g_tTexcdi4) Binding 0 - Decorate 165(g_tTexcdu4) DescriptorSet 0 + Decorate 162(g_tTexcdi4) DescriptorSet 0 Decorate 165(g_tTexcdu4) Binding 0 + Decorate 165(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out index ce799699..2f245162 100644 --- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out @@ -378,30 +378,30 @@ using depth_any Name 113 "g_tTexcdf4" Name 116 "g_tTexcdi4" Name 119 "g_tTexcdu4" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 38(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 38(g_tTex1di4) Binding 2 - Decorate 50(g_tTex1du4) DescriptorSet 0 + Decorate 38(g_tTex1di4) DescriptorSet 0 Decorate 50(g_tTex1du4) Binding 3 - Decorate 59(g_tTex2df4) DescriptorSet 0 + Decorate 50(g_tTex1du4) DescriptorSet 0 Decorate 59(g_tTex2df4) Binding 4 - Decorate 75(g_tTex2di4) DescriptorSet 0 + Decorate 59(g_tTex2df4) DescriptorSet 0 Decorate 75(g_tTex2di4) Binding 5 - Decorate 84(g_tTex2du4) DescriptorSet 0 + Decorate 75(g_tTex2di4) DescriptorSet 0 Decorate 84(g_tTex2du4) Binding 6 + Decorate 84(g_tTex2du4) DescriptorSet 0 Decorate 103(@entryPointOutput.Color) Location 0 Decorate 107(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 110(g_tTex1df4a) DescriptorSet 0 Decorate 110(g_tTex1df4a) Binding 1 - Decorate 113(g_tTexcdf4) DescriptorSet 0 + Decorate 110(g_tTex1df4a) DescriptorSet 0 Decorate 113(g_tTexcdf4) Binding 0 - Decorate 116(g_tTexcdi4) DescriptorSet 0 + Decorate 113(g_tTexcdf4) DescriptorSet 0 Decorate 116(g_tTexcdi4) Binding 0 - Decorate 119(g_tTexcdu4) DescriptorSet 0 + Decorate 116(g_tTexcdi4) DescriptorSet 0 Decorate 119(g_tTexcdu4) Binding 0 + Decorate 119(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out index 7f3af783..5057df6b 100644 --- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out @@ -399,30 +399,30 @@ using depth_any Name 139 "@entryPointOutput.Color" Name 143 "@entryPointOutput.Depth" Name 146 "g_tTex1df4" - Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex1di4a) Binding 2 - Decorate 50(g_tTex1du4a) DescriptorSet 0 + Decorate 36(g_tTex1di4a) DescriptorSet 0 Decorate 50(g_tTex1du4a) Binding 3 - Decorate 61(g_tTex2df4a) DescriptorSet 0 + Decorate 50(g_tTex1du4a) DescriptorSet 0 Decorate 61(g_tTex2df4a) Binding 4 - Decorate 72(g_tTex2di4a) DescriptorSet 0 + Decorate 61(g_tTex2df4a) DescriptorSet 0 Decorate 72(g_tTex2di4a) Binding 5 - Decorate 83(g_tTex2du4a) DescriptorSet 0 + Decorate 72(g_tTex2di4a) DescriptorSet 0 Decorate 83(g_tTex2du4a) Binding 6 - Decorate 95(g_tTexcdf4a) DescriptorSet 0 + Decorate 83(g_tTex2du4a) DescriptorSet 0 Decorate 95(g_tTexcdf4a) Binding 7 - Decorate 105(g_tTexcdi4a) DescriptorSet 0 + Decorate 95(g_tTexcdf4a) DescriptorSet 0 Decorate 105(g_tTexcdi4a) Binding 8 - Decorate 115(g_tTexcdu4a) DescriptorSet 0 + Decorate 105(g_tTexcdi4a) DescriptorSet 0 Decorate 115(g_tTexcdu4a) Binding 9 + Decorate 115(g_tTexcdu4a) DescriptorSet 0 Decorate 139(@entryPointOutput.Color) Location 0 Decorate 143(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 146(g_tTex1df4) DescriptorSet 0 Decorate 146(g_tTex1df4) Binding 0 + Decorate 146(g_tTex1df4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out index e1d449f5..7055dfae 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out @@ -473,38 +473,38 @@ using depth_any Name 167 "@entryPointOutput.Depth" Name 170 "g_sSamp2d" Name 171 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4) Binding 2 - Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 Decorate 46(g_tTex1du4) Binding 3 - Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 Decorate 56(g_tTex2df4) Binding 4 - Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 Decorate 67(g_tTex2di4) Binding 5 - Decorate 78(g_tTex2du4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 Decorate 78(g_tTex2du4) Binding 6 - Decorate 90(g_tTex3df4) DescriptorSet 0 + Decorate 78(g_tTex2du4) DescriptorSet 0 Decorate 90(g_tTex3df4) Binding 7 - Decorate 101(g_tTex3di4) DescriptorSet 0 + Decorate 90(g_tTex3df4) DescriptorSet 0 Decorate 101(g_tTex3di4) Binding 8 - Decorate 111(g_tTex3du4) DescriptorSet 0 + Decorate 101(g_tTex3di4) DescriptorSet 0 Decorate 111(g_tTex3du4) Binding 9 - Decorate 124(g_tTexcdf4) DescriptorSet 0 + Decorate 111(g_tTex3du4) DescriptorSet 0 Decorate 124(g_tTexcdf4) Binding 10 - Decorate 133(g_tTexcdi4) DescriptorSet 0 + Decorate 124(g_tTexcdf4) DescriptorSet 0 Decorate 133(g_tTexcdi4) Binding 11 - Decorate 142(g_tTexcdu4) DescriptorSet 0 + Decorate 133(g_tTexcdi4) DescriptorSet 0 Decorate 142(g_tTexcdu4) Binding 12 + Decorate 142(g_tTexcdu4) DescriptorSet 0 Decorate 163(@entryPointOutput.Color) Location 0 Decorate 167(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 170(g_sSamp2d) DescriptorSet 0 Decorate 170(g_sSamp2d) Binding 0 - Decorate 171(g_tTex1df4a) DescriptorSet 0 + Decorate 170(g_sSamp2d) DescriptorSet 0 Decorate 171(g_tTex1df4a) Binding 1 + Decorate 171(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out index bbb51f37..f5901331 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out @@ -427,35 +427,35 @@ Shader version: 500 Name 149 "vsout" Name 158 "@entryPointOutput.Pos" Name 161 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4) Binding 2 - Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 Decorate 46(g_tTex1du4) Binding 3 - Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 Decorate 56(g_tTex2df4) Binding 4 - Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 Decorate 67(g_tTex2di4) Binding 5 - Decorate 78(g_tTex2du4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 Decorate 78(g_tTex2du4) Binding 6 - Decorate 90(g_tTex3df4) DescriptorSet 0 + Decorate 78(g_tTex2du4) DescriptorSet 0 Decorate 90(g_tTex3df4) Binding 7 - Decorate 101(g_tTex3di4) DescriptorSet 0 + Decorate 90(g_tTex3df4) DescriptorSet 0 Decorate 101(g_tTex3di4) Binding 8 - Decorate 111(g_tTex3du4) DescriptorSet 0 + Decorate 101(g_tTex3di4) DescriptorSet 0 Decorate 111(g_tTex3du4) Binding 9 - Decorate 124(g_tTexcdf4) DescriptorSet 0 + Decorate 111(g_tTex3du4) DescriptorSet 0 Decorate 124(g_tTexcdf4) Binding 10 - Decorate 133(g_tTexcdi4) DescriptorSet 0 + Decorate 124(g_tTexcdf4) DescriptorSet 0 Decorate 133(g_tTexcdi4) Binding 11 - Decorate 142(g_tTexcdu4) DescriptorSet 0 + Decorate 133(g_tTexcdi4) DescriptorSet 0 Decorate 142(g_tTexcdu4) Binding 12 + Decorate 142(g_tTexcdu4) DescriptorSet 0 Decorate 158(@entryPointOutput.Pos) BuiltIn Position - Decorate 161(g_tTex1df4a) DescriptorSet 0 Decorate 161(g_tTex1df4a) Binding 1 + Decorate 161(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out index 1b06c579..e1ec0fae 100644 --- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out @@ -443,36 +443,36 @@ using depth_any Name 155 "g_tTexcdf4" Name 158 "g_tTexcdi4" Name 161 "g_tTexcdu4" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 34(g_tTex1di4) Binding 2 - Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 Decorate 47(g_tTex1du4) Binding 3 - Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 Decorate 57(g_tTex2df4) Binding 4 - Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 Decorate 71(g_tTex2di4) Binding 5 - Decorate 83(g_tTex2du4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 Decorate 83(g_tTex2du4) Binding 6 - Decorate 97(g_tTex3df4) DescriptorSet 0 + Decorate 83(g_tTex2du4) DescriptorSet 0 Decorate 97(g_tTex3df4) Binding 7 - Decorate 110(g_tTex3di4) DescriptorSet 0 + Decorate 97(g_tTex3df4) DescriptorSet 0 Decorate 110(g_tTex3di4) Binding 8 - Decorate 121(g_tTex3du4) DescriptorSet 0 + Decorate 110(g_tTex3di4) DescriptorSet 0 Decorate 121(g_tTex3du4) Binding 9 + Decorate 121(g_tTex3du4) DescriptorSet 0 Decorate 145(@entryPointOutput.Color) Location 0 Decorate 149(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 152(g_tTex1df4a) DescriptorSet 0 Decorate 152(g_tTex1df4a) Binding 1 - Decorate 155(g_tTexcdf4) DescriptorSet 0 + Decorate 152(g_tTex1df4a) DescriptorSet 0 Decorate 155(g_tTexcdf4) Binding 0 - Decorate 158(g_tTexcdi4) DescriptorSet 0 + Decorate 155(g_tTexcdf4) DescriptorSet 0 Decorate 158(g_tTexcdi4) Binding 0 - Decorate 161(g_tTexcdu4) DescriptorSet 0 + Decorate 158(g_tTexcdi4) DescriptorSet 0 Decorate 161(g_tTexcdu4) Binding 0 + Decorate 161(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out index e2560546..7c057dff 100644 --- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out @@ -332,24 +332,24 @@ using depth_any Name 111 "@entryPointOutput.Color" Name 115 "@entryPointOutput.Depth" Name 118 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 37(g_tTex1di4) Binding 2 - Decorate 52(g_tTex1du4) DescriptorSet 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 Decorate 52(g_tTex1du4) Binding 3 - Decorate 64(g_tTex2df4) DescriptorSet 0 + Decorate 52(g_tTex1du4) DescriptorSet 0 Decorate 64(g_tTex2df4) Binding 4 - Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 64(g_tTex2df4) DescriptorSet 0 Decorate 77(g_tTex2di4) Binding 5 - Decorate 88(g_tTex2du4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 Decorate 88(g_tTex2du4) Binding 6 + Decorate 88(g_tTex2du4) DescriptorSet 0 Decorate 111(@entryPointOutput.Color) Location 0 Decorate 115(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 118(g_tTex1df4a) DescriptorSet 0 Decorate 118(g_tTex1df4a) Binding 1 + Decorate 118(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.snorm.uav.comp.out b/Test/baseResults/hlsl.snorm.uav.comp.out index 40ab6cf1..de82aa4d 100644 --- a/Test/baseResults/hlsl.snorm.uav.comp.out +++ b/Test/baseResults/hlsl.snorm.uav.comp.out @@ -136,18 +136,18 @@ local_size = (16, 16, 1) Name 47 "tid" Name 49 "tid" Name 51 "param" - Decorate 19(ResultInS) DescriptorSet 0 Decorate 19(ResultInS) Binding 1 - MemberDecorate 25($Global) 0 Offset 0 + Decorate 19(ResultInS) DescriptorSet 0 Decorate 25($Global) Block - Decorate 27 DescriptorSet 0 + MemberDecorate 25($Global) 0 Offset 0 Decorate 27 Binding 2 - Decorate 34(ResultOutS) DescriptorSet 0 + Decorate 27 DescriptorSet 0 Decorate 34(ResultOutS) Binding 1 - Decorate 39(ResultInU) DescriptorSet 0 + Decorate 34(ResultOutS) DescriptorSet 0 Decorate 39(ResultInU) Binding 0 - Decorate 43(ResultOutU) DescriptorSet 0 + Decorate 39(ResultInU) DescriptorSet 0 Decorate 43(ResultOutU) Binding 0 + Decorate 43(ResultOutU) DescriptorSet 0 Decorate 49(tid) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out b/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out index 2198affb..3524cf9f 100644 --- a/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out +++ b/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out @@ -116,10 +116,10 @@ local_size = (64, 1, 1) Name 37 "dispatchThreadID" Name 39 "param" Decorate 27 ArrayStride 4 - MemberDecorate 28(buffer) 0 Offset 0 Decorate 28(buffer) BufferBlock - Decorate 30(buffer) DescriptorSet 0 + MemberDecorate 28(buffer) 0 Offset 0 Decorate 30(buffer) Binding 0 + Decorate 30(buffer) DescriptorSet 0 Decorate 37(dispatchThreadID) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.stringtoken.frag.out b/Test/baseResults/hlsl.stringtoken.frag.out index 144bebc6..b656ae88 100644 --- a/Test/baseResults/hlsl.stringtoken.frag.out +++ b/Test/baseResults/hlsl.stringtoken.frag.out @@ -90,12 +90,12 @@ gl_FragCoord origin is upper left MemberName 31($Global) 0 "TestUF" Name 33 "" Decorate 25(@entryPointOutput.Color) Location 0 - Decorate 30(TestTexture) DescriptorSet 0 Decorate 30(TestTexture) Binding 0 - MemberDecorate 31($Global) 0 Offset 0 + Decorate 30(TestTexture) DescriptorSet 0 Decorate 31($Global) Block - Decorate 33 DescriptorSet 0 + MemberDecorate 31($Global) 0 Offset 0 Decorate 33 Binding 0 + Decorate 33 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out index a36bba42..24671d46 100644 --- a/Test/baseResults/hlsl.struct.frag.out +++ b/Test/baseResults/hlsl.struct.frag.out @@ -279,8 +279,8 @@ Validation failed Decorate 65(s.c) Location 3 Decorate 71(s.d) Centroid Decorate 71(s.d) Location 4 - Decorate 76(s.ff1) Flat Decorate 76(s.ff1) BuiltIn FrontFacing + Decorate 76(s.ff1) Flat Decorate 80(s.ff2) Flat Decorate 80(s.ff2) Location 5 Decorate 84(s.ff3) Flat @@ -291,12 +291,12 @@ Validation failed MemberDecorate 98(myS) 1 Offset 4 MemberDecorate 98(myS) 2 Offset 16 MemberDecorate 98(myS) 3 Offset 32 + Decorate 99($Global) Block MemberDecorate 99($Global) 0 Offset 0 MemberDecorate 99($Global) 1 Offset 1620 MemberDecorate 99($Global) 2 Offset 1636 - Decorate 99($Global) Block - Decorate 101 DescriptorSet 0 Decorate 101 Binding 0 + Decorate 101 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.structIoFourWay.frag.out b/Test/baseResults/hlsl.structIoFourWay.frag.out index 3faff5bd..1143a942 100644 --- a/Test/baseResults/hlsl.structIoFourWay.frag.out +++ b/Test/baseResults/hlsl.structIoFourWay.frag.out @@ -217,14 +217,14 @@ using depth_greater MemberDecorate 58(T) 1 Offset 72 MemberDecorate 58(T) 2 Offset 76 MemberDecorate 58(T) 3 Offset 80 - MemberDecorate 59($Global) 0 Offset 0 Decorate 59($Global) Block - Decorate 61 DescriptorSet 0 + MemberDecorate 59($Global) 0 Offset 0 Decorate 61 Binding 0 - MemberDecorate 62(buff) 0 Offset 96 + Decorate 61 DescriptorSet 0 Decorate 62(buff) Block - Decorate 64 DescriptorSet 0 + MemberDecorate 62(buff) 0 Offset 96 Decorate 64 Binding 0 + Decorate 64 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.structarray.flatten.frag.out b/Test/baseResults/hlsl.structarray.flatten.frag.out index 4896dca5..e5c01fcc 100644 --- a/Test/baseResults/hlsl.structarray.flatten.frag.out +++ b/Test/baseResults/hlsl.structarray.flatten.frag.out @@ -198,51 +198,51 @@ Validation failed Name 77 "g_texdata_array2[2].samp" Name 78 "g_texdata_array2[2].tex" Name 79 "g_texdata_array2[2].nonopaque_thing" - Decorate 18(g_texdata.tex) DescriptorSet 0 Decorate 18(g_texdata.tex) Binding 1 - Decorate 22(g_texdata.samp) DescriptorSet 0 + Decorate 18(g_texdata.tex) DescriptorSet 0 Decorate 22(g_texdata.samp) Binding 0 - Decorate 28(g_texdata_array[1].tex) DescriptorSet 0 + Decorate 22(g_texdata.samp) DescriptorSet 0 Decorate 28(g_texdata_array[1].tex) Binding 3 - Decorate 30(g_texdata_array[1].samp) DescriptorSet 0 + Decorate 28(g_texdata_array[1].tex) DescriptorSet 0 Decorate 30(g_texdata_array[1].samp) Binding 2 - Decorate 40(g_texdata_array2[1].tex) DescriptorSet 0 + Decorate 30(g_texdata_array[1].samp) DescriptorSet 0 Decorate 40(g_texdata_array2[1].tex) Binding 5 - Decorate 45(g_texdata_array2[1].samp) DescriptorSet 0 + Decorate 40(g_texdata_array2[1].tex) DescriptorSet 0 Decorate 45(g_texdata_array2[1].samp) Binding 4 + Decorate 45(g_texdata_array2[1].samp) DescriptorSet 0 Decorate 59(ps_output.color) Location 0 - Decorate 62(g_samp) DescriptorSet 0 Decorate 62(g_samp) Binding 0 - Decorate 63(g_tex) DescriptorSet 0 + Decorate 62(g_samp) DescriptorSet 0 Decorate 63(g_tex) Binding 0 + Decorate 63(g_tex) DescriptorSet 0 Decorate 65(g_texdata.nonopaque_thing) Location 0 Decorate 65(g_texdata.nonopaque_thing) DescriptorSet 0 - Decorate 66(g_texdata_array[0].samp) DescriptorSet 0 Decorate 66(g_texdata_array[0].samp) Binding 0 - Decorate 67(g_texdata_array[0].tex) DescriptorSet 0 + Decorate 66(g_texdata_array[0].samp) DescriptorSet 0 Decorate 67(g_texdata_array[0].tex) Binding 0 + Decorate 67(g_texdata_array[0].tex) DescriptorSet 0 Decorate 68(g_texdata_array[0].nonopaque_thing) Location 1 Decorate 68(g_texdata_array[0].nonopaque_thing) DescriptorSet 0 Decorate 69(g_texdata_array[1].nonopaque_thing) Location 2 Decorate 69(g_texdata_array[1].nonopaque_thing) DescriptorSet 0 - Decorate 70(g_texdata_array[2].samp) DescriptorSet 0 Decorate 70(g_texdata_array[2].samp) Binding 0 - Decorate 71(g_texdata_array[2].tex) DescriptorSet 0 + Decorate 70(g_texdata_array[2].samp) DescriptorSet 0 Decorate 71(g_texdata_array[2].tex) Binding 0 + Decorate 71(g_texdata_array[2].tex) DescriptorSet 0 Decorate 72(g_texdata_array[2].nonopaque_thing) Location 3 Decorate 72(g_texdata_array[2].nonopaque_thing) DescriptorSet 0 - Decorate 73(g_texdata_array2[0].samp) DescriptorSet 0 Decorate 73(g_texdata_array2[0].samp) Binding 0 - Decorate 74(g_texdata_array2[0].tex) DescriptorSet 0 + Decorate 73(g_texdata_array2[0].samp) DescriptorSet 0 Decorate 74(g_texdata_array2[0].tex) Binding 0 + Decorate 74(g_texdata_array2[0].tex) DescriptorSet 0 Decorate 75(g_texdata_array2[0].nonopaque_thing) Location 4 Decorate 75(g_texdata_array2[0].nonopaque_thing) DescriptorSet 0 Decorate 76(g_texdata_array2[1].nonopaque_thing) Location 5 Decorate 76(g_texdata_array2[1].nonopaque_thing) DescriptorSet 0 - Decorate 77(g_texdata_array2[2].samp) DescriptorSet 0 Decorate 77(g_texdata_array2[2].samp) Binding 0 - Decorate 78(g_texdata_array2[2].tex) DescriptorSet 0 + Decorate 77(g_texdata_array2[2].samp) DescriptorSet 0 Decorate 78(g_texdata_array2[2].tex) Binding 0 + Decorate 78(g_texdata_array2[2].tex) DescriptorSet 0 Decorate 79(g_texdata_array2[2].nonopaque_thing) Location 6 Decorate 79(g_texdata_array2[2].nonopaque_thing) DescriptorSet 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.structbuffer.append.fn.frag.out b/Test/baseResults/hlsl.structbuffer.append.fn.frag.out index acfbf5d9..aa3fa98c 100644 --- a/Test/baseResults/hlsl.structbuffer.append.fn.frag.out +++ b/Test/baseResults/hlsl.structbuffer.append.fn.frag.out @@ -186,28 +186,28 @@ Validation failed Name 68 "sbuf_c@count" Name 69 "sbuf_unused" Decorate 8 ArrayStride 16 - MemberDecorate 9 0 Offset 0 Decorate 9 BufferBlock + MemberDecorate 9 0 Offset 0 Decorate 12 BufferBlock - Decorate 49(sbuf_a) DescriptorSet 0 Decorate 49(sbuf_a) Binding 0 - Decorate 50(sbuf_a@count) DescriptorSet 0 + Decorate 49(sbuf_a) DescriptorSet 0 Decorate 50(sbuf_a@count) Binding 0 - Decorate 51(sbuf_c) DescriptorSet 0 + Decorate 50(sbuf_a@count) DescriptorSet 0 Decorate 51(sbuf_c) Binding 1 - Decorate 52(sbuf_c@count) DescriptorSet 0 + Decorate 51(sbuf_c) DescriptorSet 0 Decorate 52(sbuf_c@count) Binding 0 + Decorate 52(sbuf_c@count) DescriptorSet 0 Decorate 58(pos) Flat Decorate 58(pos) Location 0 Decorate 61(@entryPointOutput) Location 0 - MemberDecorate 65(sbuf_a@count) 0 Offset 0 Decorate 65(sbuf_a@count) BufferBlock - Decorate 67(sbuf_a@count) DescriptorSet 0 + MemberDecorate 65(sbuf_a@count) 0 Offset 0 Decorate 67(sbuf_a@count) Binding 0 - Decorate 68(sbuf_c@count) DescriptorSet 0 + Decorate 67(sbuf_a@count) DescriptorSet 0 Decorate 68(sbuf_c@count) Binding 0 - Decorate 69(sbuf_unused) DescriptorSet 0 + Decorate 68(sbuf_c@count) DescriptorSet 0 Decorate 69(sbuf_unused) Binding 0 + Decorate 69(sbuf_unused) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.structbuffer.append.frag.out b/Test/baseResults/hlsl.structbuffer.append.frag.out index 4c57e0bc..48dfe6a5 100644 --- a/Test/baseResults/hlsl.structbuffer.append.frag.out +++ b/Test/baseResults/hlsl.structbuffer.append.frag.out @@ -150,23 +150,23 @@ gl_FragCoord origin is upper left Name 52 "param" Name 55 "sbuf_unused" Decorate 14 ArrayStride 16 - MemberDecorate 15(sbuf_a) 0 Offset 0 Decorate 15(sbuf_a) BufferBlock - Decorate 17(sbuf_a) DescriptorSet 0 + MemberDecorate 15(sbuf_a) 0 Offset 0 Decorate 17(sbuf_a) Binding 0 - MemberDecorate 20(sbuf_a@count) 0 Offset 0 + Decorate 17(sbuf_a) DescriptorSet 0 Decorate 20(sbuf_a@count) BufferBlock - Decorate 22(sbuf_a@count) DescriptorSet 0 + MemberDecorate 20(sbuf_a@count) 0 Offset 0 Decorate 22(sbuf_a@count) Binding 1 - Decorate 35(sbuf_c) DescriptorSet 0 + Decorate 22(sbuf_a@count) DescriptorSet 0 Decorate 35(sbuf_c) Binding 2 - Decorate 36(sbuf_c@count) DescriptorSet 0 + Decorate 35(sbuf_c) DescriptorSet 0 Decorate 36(sbuf_c@count) Binding 3 + Decorate 36(sbuf_c@count) DescriptorSet 0 Decorate 48(pos) Flat Decorate 48(pos) Location 0 Decorate 51(@entryPointOutput) Location 0 - Decorate 55(sbuf_unused) DescriptorSet 0 Decorate 55(sbuf_unused) Binding 0 + Decorate 55(sbuf_unused) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/hlsl.structbuffer.atomics.frag.out b/Test/baseResults/hlsl.structbuffer.atomics.frag.out index 3f26652d..712d974c 100644 --- a/Test/baseResults/hlsl.structbuffer.atomics.frag.out +++ b/Test/baseResults/hlsl.structbuffer.atomics.frag.out @@ -496,10 +496,10 @@ Validation failed Name 83 "@entryPointOutput" Name 84 "param" Decorate 14 ArrayStride 4 - MemberDecorate 15(sbuf) 0 Offset 0 Decorate 15(sbuf) BufferBlock - Decorate 17(sbuf) DescriptorSet 0 + MemberDecorate 15(sbuf) 0 Offset 0 Decorate 17(sbuf) Binding 0 + Decorate 17(sbuf) DescriptorSet 0 Decorate 80(pos) Flat Decorate 80(pos) Location 0 Decorate 83(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.byte.frag.out b/Test/baseResults/hlsl.structbuffer.byte.frag.out index f3e92cea..389cd9c1 100644 --- a/Test/baseResults/hlsl.structbuffer.byte.frag.out +++ b/Test/baseResults/hlsl.structbuffer.byte.frag.out @@ -348,11 +348,11 @@ gl_FragCoord origin is upper left Name 110 "@entryPointOutput" Name 111 "param" Decorate 15 ArrayStride 4 + Decorate 16(sbuf) BufferBlock MemberDecorate 16(sbuf) 0 NonWritable MemberDecorate 16(sbuf) 0 Offset 0 - Decorate 16(sbuf) BufferBlock - Decorate 18(sbuf) DescriptorSet 0 Decorate 18(sbuf) Binding 0 + Decorate 18(sbuf) DescriptorSet 0 Decorate 107(pos) Flat Decorate 107(pos) Location 0 Decorate 110(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.coherent.frag.out b/Test/baseResults/hlsl.structbuffer.coherent.frag.out index 65e4a146..6647df1a 100644 --- a/Test/baseResults/hlsl.structbuffer.coherent.frag.out +++ b/Test/baseResults/hlsl.structbuffer.coherent.frag.out @@ -204,19 +204,19 @@ gl_FragCoord origin is upper left Name 74 "@entryPointOutput" Name 75 "param" Decorate 14 ArrayStride 4 + Decorate 15(sbuf2) BufferBlock MemberDecorate 15(sbuf2) 0 Coherent MemberDecorate 15(sbuf2) 0 Offset 0 - Decorate 15(sbuf2) BufferBlock - Decorate 17(sbuf2) DescriptorSet 0 Decorate 17(sbuf2) Binding 1 + Decorate 17(sbuf2) DescriptorSet 0 MemberDecorate 28(sb_t) 0 Offset 0 MemberDecorate 28(sb_t) 1 Offset 12 Decorate 29 ArrayStride 16 + Decorate 30(sbuf) BufferBlock MemberDecorate 30(sbuf) 0 Coherent MemberDecorate 30(sbuf) 0 Offset 0 - Decorate 30(sbuf) BufferBlock - Decorate 32(sbuf) DescriptorSet 0 Decorate 32(sbuf) Binding 0 + Decorate 32(sbuf) DescriptorSet 0 Decorate 71(pos) Flat Decorate 71(pos) Location 0 Decorate 74(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.floatidx.comp.out b/Test/baseResults/hlsl.structbuffer.floatidx.comp.out index 6a86e481..cea0ef7a 100644 --- a/Test/baseResults/hlsl.structbuffer.floatidx.comp.out +++ b/Test/baseResults/hlsl.structbuffer.floatidx.comp.out @@ -217,21 +217,21 @@ local_size = (1, 1, 1) MemberDecorate 19(sb_t) 0 Offset 0 MemberDecorate 19(sb_t) 1 Offset 16 Decorate 20 ArrayStride 32 - MemberDecorate 21(csb) 0 Offset 0 Decorate 21(csb) BufferBlock - Decorate 23(csb) DescriptorSet 0 + MemberDecorate 21(csb) 0 Offset 0 Decorate 23(csb) Binding 1 - MemberDecorate 26(csb@count) 0 Offset 0 + Decorate 23(csb) DescriptorSet 0 Decorate 26(csb@count) BufferBlock - Decorate 28(csb@count) DescriptorSet 0 + MemberDecorate 26(csb@count) 0 Offset 0 Decorate 28(csb@count) Binding 2 - Decorate 58(outtx) DescriptorSet 0 + Decorate 28(csb@count) DescriptorSet 0 Decorate 58(outtx) Binding 0 + Decorate 58(outtx) DescriptorSet 0 Decorate 63 ArrayStride 16 - MemberDecorate 64(rwsb) 0 Offset 0 Decorate 64(rwsb) BufferBlock - Decorate 66(rwsb) DescriptorSet 0 + MemberDecorate 64(rwsb) 0 Offset 0 Decorate 66(rwsb) Binding 3 + Decorate 66(rwsb) DescriptorSet 0 Decorate 80(nThreadId) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.structbuffer.fn.frag.out b/Test/baseResults/hlsl.structbuffer.fn.frag.out index 2086d59f..846bcab5 100644 --- a/Test/baseResults/hlsl.structbuffer.fn.frag.out +++ b/Test/baseResults/hlsl.structbuffer.fn.frag.out @@ -182,33 +182,33 @@ Validation failed MemberName 75(sbuf3) 0 "@data" Name 77 "sbuf3" Decorate 8 ArrayStride 16 + Decorate 9 BufferBlock MemberDecorate 9 0 NonWritable MemberDecorate 9 0 Offset 0 - Decorate 9 BufferBlock Decorate 13(sb) NonWritable Decorate 17 ArrayStride 16 - MemberDecorate 18 0 Offset 0 Decorate 18 BufferBlock + MemberDecorate 18 0 Offset 0 Decorate 20 BufferBlock - Decorate 47(sbuf2) DescriptorSet 0 Decorate 47(sbuf2) Binding 0 - Decorate 48(sbuf2@count) DescriptorSet 0 + Decorate 47(sbuf2) DescriptorSet 0 Decorate 48(sbuf2@count) Binding 0 - Decorate 50(sbuf) DescriptorSet 0 + Decorate 48(sbuf2@count) DescriptorSet 0 Decorate 50(sbuf) Binding 10 + Decorate 50(sbuf) DescriptorSet 0 Decorate 63(pos) Flat Decorate 63(pos) Location 0 Decorate 66(@entryPointOutput) Location 0 - MemberDecorate 70(sbuf2@count) 0 Offset 0 Decorate 70(sbuf2@count) BufferBlock - Decorate 72(sbuf2@count) DescriptorSet 0 + MemberDecorate 70(sbuf2@count) 0 Offset 0 Decorate 72(sbuf2@count) Binding 0 + Decorate 72(sbuf2@count) DescriptorSet 0 Decorate 74 ArrayStride 16 + Decorate 75(sbuf3) BufferBlock MemberDecorate 75(sbuf3) 0 NonWritable MemberDecorate 75(sbuf3) 0 Offset 0 - Decorate 75(sbuf3) BufferBlock - Decorate 77(sbuf3) DescriptorSet 0 Decorate 77(sbuf3) Binding 12 + Decorate 77(sbuf3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/hlsl.structbuffer.fn2.comp.out b/Test/baseResults/hlsl.structbuffer.fn2.comp.out index 1953d467..20159a59 100644 --- a/Test/baseResults/hlsl.structbuffer.fn2.comp.out +++ b/Test/baseResults/hlsl.structbuffer.fn2.comp.out @@ -165,14 +165,14 @@ local_size = (256, 1, 1) Name 57 "dispatchId" Name 60 "param" Decorate 8 ArrayStride 4 + Decorate 9 BufferBlock MemberDecorate 9 0 NonWritable MemberDecorate 9 0 Offset 0 - Decorate 9 BufferBlock Decorate 14(buffer) NonWritable - Decorate 44(g_input) DescriptorSet 0 Decorate 44(g_input) Binding 0 - Decorate 50(g_output) DescriptorSet 0 + Decorate 44(g_input) DescriptorSet 0 Decorate 50(g_output) Binding 1 + Decorate 50(g_output) DescriptorSet 0 Decorate 57(dispatchId) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.structbuffer.frag.out b/Test/baseResults/hlsl.structbuffer.frag.out index 0e16ef16..abcfa485 100644 --- a/Test/baseResults/hlsl.structbuffer.frag.out +++ b/Test/baseResults/hlsl.structbuffer.frag.out @@ -225,17 +225,17 @@ gl_FragCoord origin is upper left MemberDecorate 19(sb_t) 1 Offset 12 MemberDecorate 19(sb_t) 2 Offset 16 Decorate 20 ArrayStride 32 + Decorate 21(sbuf) BufferBlock MemberDecorate 21(sbuf) 0 NonWritable MemberDecorate 21(sbuf) 0 Offset 0 - Decorate 21(sbuf) BufferBlock - Decorate 23(sbuf) DescriptorSet 0 Decorate 23(sbuf) Binding 10 + Decorate 23(sbuf) DescriptorSet 0 Decorate 58 ArrayStride 4 + Decorate 59(sbuf2) BufferBlock MemberDecorate 59(sbuf2) 0 NonWritable MemberDecorate 59(sbuf2) 0 Offset 0 - Decorate 59(sbuf2) BufferBlock - Decorate 61(sbuf2) DescriptorSet 0 Decorate 61(sbuf2) Binding 0 + Decorate 61(sbuf2) DescriptorSet 0 Decorate 89(pos) Flat Decorate 89(pos) Location 0 Decorate 92(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out b/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out index 95b13a8f..be5f1cb6 100644 --- a/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out +++ b/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out @@ -30,27 +30,27 @@ hlsl.structbuffer.incdec.frag Name 66 "@entryPointOutput" Name 67 "param" Decorate 19 ArrayStride 16 - MemberDecorate 20(sbuf_rw_i) 0 Offset 0 Decorate 20(sbuf_rw_i) BufferBlock - Decorate 22(sbuf_rw_i) DescriptorSet 0 + MemberDecorate 20(sbuf_rw_i) 0 Offset 0 Decorate 22(sbuf_rw_i) Binding 0 - Decorate 26(sbuf_rw_d) DescriptorSet 0 + Decorate 22(sbuf_rw_i) DescriptorSet 0 + DecorateId 22(sbuf_rw_i) DecorationHlslCounterBufferGOOGLE 36(sbuf_rw_i@count) Decorate 26(sbuf_rw_d) Binding 0 - Decorate 27(sbuf_rw_nocounter) DescriptorSet 0 + Decorate 26(sbuf_rw_d) DescriptorSet 0 + DecorateId 26(sbuf_rw_d) DecorationHlslCounterBufferGOOGLE 42(sbuf_rw_d@count) Decorate 27(sbuf_rw_nocounter) Binding 0 - MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0 + Decorate 27(sbuf_rw_nocounter) DescriptorSet 0 Decorate 34(sbuf_rw_i@count) BufferBlock - Decorate 36(sbuf_rw_i@count) DescriptorSet 0 + MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0 Decorate 36(sbuf_rw_i@count) Binding 0 - Decorate 42(sbuf_rw_d@count) DescriptorSet 0 + Decorate 36(sbuf_rw_i@count) DescriptorSet 0 Decorate 42(sbuf_rw_d@count) Binding 0 + Decorate 42(sbuf_rw_d@count) DescriptorSet 0 Decorate 63(pos) Flat Decorate 63(pos) Location 0 DecorateStringGOOGLE 63(pos) DecorationHlslSemanticGOOGLE "FOO" Decorate 66(@entryPointOutput) Location 0 DecorateStringGOOGLE 66(@entryPointOutput) DecorationHlslSemanticGOOGLE "SV_TARGET0" - DecorateId 22(sbuf_rw_i) DecorationHlslCounterBufferGOOGLE 36(sbuf_rw_i@count) - DecorateId 26(sbuf_rw_d) DecorationHlslCounterBufferGOOGLE 42(sbuf_rw_d@count) 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/hlsl.structbuffer.incdec.frag.out b/Test/baseResults/hlsl.structbuffer.incdec.frag.out index 72efcc0e..3f12758c 100644 --- a/Test/baseResults/hlsl.structbuffer.incdec.frag.out +++ b/Test/baseResults/hlsl.structbuffer.incdec.frag.out @@ -233,20 +233,20 @@ gl_FragCoord origin is upper left Name 66 "@entryPointOutput" Name 67 "param" Decorate 19 ArrayStride 16 - MemberDecorate 20(sbuf_rw_i) 0 Offset 0 Decorate 20(sbuf_rw_i) BufferBlock - Decorate 22(sbuf_rw_i) DescriptorSet 0 + MemberDecorate 20(sbuf_rw_i) 0 Offset 0 Decorate 22(sbuf_rw_i) Binding 0 - Decorate 26(sbuf_rw_d) DescriptorSet 0 + Decorate 22(sbuf_rw_i) DescriptorSet 0 Decorate 26(sbuf_rw_d) Binding 2 - Decorate 27(sbuf_rw_nocounter) DescriptorSet 0 + Decorate 26(sbuf_rw_d) DescriptorSet 0 Decorate 27(sbuf_rw_nocounter) Binding 4 - MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0 + Decorate 27(sbuf_rw_nocounter) DescriptorSet 0 Decorate 34(sbuf_rw_i@count) BufferBlock - Decorate 36(sbuf_rw_i@count) DescriptorSet 0 + MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0 Decorate 36(sbuf_rw_i@count) Binding 1 - Decorate 42(sbuf_rw_d@count) DescriptorSet 0 + Decorate 36(sbuf_rw_i@count) DescriptorSet 0 Decorate 42(sbuf_rw_d@count) Binding 3 + Decorate 42(sbuf_rw_d@count) DescriptorSet 0 Decorate 63(pos) Flat Decorate 63(pos) Location 0 Decorate 66(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.rw.frag.out b/Test/baseResults/hlsl.structbuffer.rw.frag.out index 9dfdaf04..4fcc6896 100644 --- a/Test/baseResults/hlsl.structbuffer.rw.frag.out +++ b/Test/baseResults/hlsl.structbuffer.rw.frag.out @@ -204,17 +204,17 @@ gl_FragCoord origin is upper left Name 74 "@entryPointOutput" Name 75 "param" Decorate 14 ArrayStride 4 - MemberDecorate 15(sbuf2) 0 Offset 0 Decorate 15(sbuf2) BufferBlock - Decorate 17(sbuf2) DescriptorSet 0 + MemberDecorate 15(sbuf2) 0 Offset 0 Decorate 17(sbuf2) Binding 1 + Decorate 17(sbuf2) DescriptorSet 0 MemberDecorate 28(sb_t) 0 Offset 0 MemberDecorate 28(sb_t) 1 Offset 12 Decorate 29 ArrayStride 16 - MemberDecorate 30(sbuf) 0 Offset 0 Decorate 30(sbuf) BufferBlock - Decorate 32(sbuf) DescriptorSet 0 + MemberDecorate 30(sbuf) 0 Offset 0 Decorate 32(sbuf) Binding 0 + Decorate 32(sbuf) DescriptorSet 0 Decorate 71(pos) Flat Decorate 71(pos) Location 0 Decorate 74(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out index 5fdbd1d1..d8ba034e 100644 --- a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out +++ b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out @@ -1032,10 +1032,10 @@ gl_FragCoord origin is upper left Name 235 "@entryPointOutput" Name 236 "param" Decorate 15 ArrayStride 4 - MemberDecorate 16(sbuf) 0 Offset 0 Decorate 16(sbuf) BufferBlock - Decorate 18(sbuf) DescriptorSet 0 + MemberDecorate 16(sbuf) 0 Offset 0 Decorate 18(sbuf) Binding 0 + Decorate 18(sbuf) DescriptorSet 0 Decorate 232(pos) Flat Decorate 232(pos) Location 0 Decorate 235(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out b/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out index b024bd42..fa058b61 100644 --- a/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out +++ b/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out @@ -95,15 +95,15 @@ local_size = (1, 1, 1) MemberName 24(g_sbuf) 0 "@data" Name 26 "g_sbuf" Decorate 11 ArrayStride 4 - MemberDecorate 12(g_bbuf) 0 Offset 0 Decorate 12(g_bbuf) BufferBlock - Decorate 14(g_bbuf) DescriptorSet 0 + MemberDecorate 12(g_bbuf) 0 Offset 0 Decorate 14(g_bbuf) Binding 1 + Decorate 14(g_bbuf) DescriptorSet 0 Decorate 23 ArrayStride 4 - MemberDecorate 24(g_sbuf) 0 Offset 0 Decorate 24(g_sbuf) BufferBlock - Decorate 26(g_sbuf) DescriptorSet 0 + MemberDecorate 24(g_sbuf) 0 Offset 0 Decorate 26(g_sbuf) Binding 0 + Decorate 26(g_sbuf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeInt 32 0 diff --git a/Test/baseResults/hlsl.structcopy.comp.out b/Test/baseResults/hlsl.structcopy.comp.out index afc03e09..43e513d2 100644 --- a/Test/baseResults/hlsl.structcopy.comp.out +++ b/Test/baseResults/hlsl.structcopy.comp.out @@ -281,21 +281,21 @@ local_size = (128, 1, 1) MemberDecorate 26(MyStruct) 1 Offset 4 MemberDecorate 26(MyStruct) 2 Offset 8 Decorate 27 ArrayStride 12 + Decorate 28(MyStructs) BufferBlock MemberDecorate 28(MyStructs) 0 Offset 0 MemberDecorate 28(MyStructs) 1 Offset 4 - Decorate 28(MyStructs) BufferBlock Decorate 29 ArrayStride 16 + Decorate 30(sb) BufferBlock MemberDecorate 30(sb) 0 NonWritable MemberDecorate 30(sb) 0 Offset 0 - Decorate 30(sb) BufferBlock - Decorate 32(sb) DescriptorSet 0 Decorate 32(sb) Binding 0 + Decorate 32(sb) DescriptorSet 0 Decorate 64 ArrayStride 12 + Decorate 65(o) BufferBlock MemberDecorate 65(o) 0 NonWritable MemberDecorate 65(o) 0 Offset 0 - Decorate 65(o) BufferBlock - Decorate 67(o) DescriptorSet 0 Decorate 67(o) Binding 1 + Decorate 67(o) DescriptorSet 0 Decorate 83(id) BuiltIn LocalInvocationIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.structcopylogical.comp.out b/Test/baseResults/hlsl.structcopylogical.comp.out index a9b849be..700d415a 100644 --- a/Test/baseResults/hlsl.structcopylogical.comp.out +++ b/Test/baseResults/hlsl.structcopylogical.comp.out @@ -281,21 +281,21 @@ local_size = (128, 1, 1) MemberDecorate 26(MyStruct) 1 Offset 4 MemberDecorate 26(MyStruct) 2 Offset 8 Decorate 27 ArrayStride 12 + Decorate 28(MyStructs) Block MemberDecorate 28(MyStructs) 0 Offset 0 MemberDecorate 28(MyStructs) 1 Offset 4 - Decorate 28(MyStructs) Block Decorate 29 ArrayStride 16 + Decorate 30(sb) Block MemberDecorate 30(sb) 0 NonWritable MemberDecorate 30(sb) 0 Offset 0 - Decorate 30(sb) Block - Decorate 32(sb) DescriptorSet 0 Decorate 32(sb) Binding 0 + Decorate 32(sb) DescriptorSet 0 Decorate 54 ArrayStride 12 + Decorate 55(o) Block MemberDecorate 55(o) 0 NonWritable MemberDecorate 55(o) 0 Offset 0 - Decorate 55(o) Block - Decorate 57(o) DescriptorSet 0 Decorate 57(o) Binding 1 + Decorate 57(o) DescriptorSet 0 Decorate 74(id) BuiltIn LocalInvocationIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.subpass.frag.out b/Test/baseResults/hlsl.subpass.frag.out index 942ef5ee..4841862e 100644 --- a/Test/baseResults/hlsl.subpass.frag.out +++ b/Test/baseResults/hlsl.subpass.frag.out @@ -493,80 +493,80 @@ gl_FragCoord origin is upper left Name 193 "result73" Name 194 "subpass_2" Name 202 "@entryPointOutput" - Decorate 15(subpass_f4) DescriptorSet 0 Decorate 15(subpass_f4) Binding 1 + Decorate 15(subpass_f4) DescriptorSet 0 Decorate 15(subpass_f4) InputAttachmentIndex 1 - Decorate 27(subpass_i4) DescriptorSet 0 Decorate 27(subpass_i4) Binding 0 + Decorate 27(subpass_i4) DescriptorSet 0 Decorate 27(subpass_i4) InputAttachmentIndex 2 - Decorate 36(subpass_u4) DescriptorSet 0 Decorate 36(subpass_u4) Binding 2 + Decorate 36(subpass_u4) DescriptorSet 0 Decorate 36(subpass_u4) InputAttachmentIndex 3 - Decorate 42(subpass_ms_f4) DescriptorSet 0 Decorate 42(subpass_ms_f4) Binding 3 + Decorate 42(subpass_ms_f4) DescriptorSet 0 Decorate 42(subpass_ms_f4) InputAttachmentIndex 4 - Decorate 49(subpass_ms_i4) DescriptorSet 0 Decorate 49(subpass_ms_i4) Binding 4 + Decorate 49(subpass_ms_i4) DescriptorSet 0 Decorate 49(subpass_ms_i4) InputAttachmentIndex 5 - Decorate 55(subpass_ms_u4) DescriptorSet 0 Decorate 55(subpass_ms_u4) Binding 5 + Decorate 55(subpass_ms_u4) DescriptorSet 0 Decorate 55(subpass_ms_u4) InputAttachmentIndex 6 - Decorate 61(subpass_f3) DescriptorSet 0 Decorate 61(subpass_f3) Binding 6 + Decorate 61(subpass_f3) DescriptorSet 0 Decorate 61(subpass_f3) InputAttachmentIndex 1 - Decorate 71(subpass_i3) DescriptorSet 0 Decorate 71(subpass_i3) Binding 7 + Decorate 71(subpass_i3) DescriptorSet 0 Decorate 71(subpass_i3) InputAttachmentIndex 2 - Decorate 81(subpass_u3) DescriptorSet 0 Decorate 81(subpass_u3) Binding 8 + Decorate 81(subpass_u3) DescriptorSet 0 Decorate 81(subpass_u3) InputAttachmentIndex 3 - Decorate 89(subpass_ms_f3) DescriptorSet 0 Decorate 89(subpass_ms_f3) Binding 9 + Decorate 89(subpass_ms_f3) DescriptorSet 0 Decorate 89(subpass_ms_f3) InputAttachmentIndex 4 - Decorate 97(subpass_ms_i3) DescriptorSet 0 Decorate 97(subpass_ms_i3) Binding 10 + Decorate 97(subpass_ms_i3) DescriptorSet 0 Decorate 97(subpass_ms_i3) InputAttachmentIndex 5 - Decorate 105(subpass_ms_u3) DescriptorSet 0 Decorate 105(subpass_ms_u3) Binding 11 + Decorate 105(subpass_ms_u3) DescriptorSet 0 Decorate 105(subpass_ms_u3) InputAttachmentIndex 6 - Decorate 115(subpass_f2) DescriptorSet 0 Decorate 115(subpass_f2) Binding 12 + Decorate 115(subpass_f2) DescriptorSet 0 Decorate 115(subpass_f2) InputAttachmentIndex 1 - Decorate 123(subpass_i2) DescriptorSet 0 Decorate 123(subpass_i2) Binding 13 + Decorate 123(subpass_i2) DescriptorSet 0 Decorate 123(subpass_i2) InputAttachmentIndex 2 - Decorate 132(subpass_u2) DescriptorSet 0 Decorate 132(subpass_u2) Binding 14 + Decorate 132(subpass_u2) DescriptorSet 0 Decorate 132(subpass_u2) InputAttachmentIndex 3 - Decorate 139(subpass_ms_f2) DescriptorSet 0 Decorate 139(subpass_ms_f2) Binding 15 + Decorate 139(subpass_ms_f2) DescriptorSet 0 Decorate 139(subpass_ms_f2) InputAttachmentIndex 4 - Decorate 147(subpass_ms_i2) DescriptorSet 0 Decorate 147(subpass_ms_i2) Binding 16 + Decorate 147(subpass_ms_i2) DescriptorSet 0 Decorate 147(subpass_ms_i2) InputAttachmentIndex 5 - Decorate 154(subpass_ms_u2) DescriptorSet 0 Decorate 154(subpass_ms_u2) Binding 17 + Decorate 154(subpass_ms_u2) DescriptorSet 0 Decorate 154(subpass_ms_u2) InputAttachmentIndex 6 - Decorate 162(subpass_f) DescriptorSet 0 Decorate 162(subpass_f) Binding 18 + Decorate 162(subpass_f) DescriptorSet 0 Decorate 162(subpass_f) InputAttachmentIndex 1 - Decorate 168(subpass_i) DescriptorSet 0 Decorate 168(subpass_i) Binding 19 + Decorate 168(subpass_i) DescriptorSet 0 Decorate 168(subpass_i) InputAttachmentIndex 2 - Decorate 174(subpass_u) DescriptorSet 0 Decorate 174(subpass_u) Binding 20 + Decorate 174(subpass_u) DescriptorSet 0 Decorate 174(subpass_u) InputAttachmentIndex 3 - Decorate 179(subpass_ms_f) DescriptorSet 0 Decorate 179(subpass_ms_f) Binding 21 + Decorate 179(subpass_ms_f) DescriptorSet 0 Decorate 179(subpass_ms_f) InputAttachmentIndex 4 - Decorate 184(subpass_ms_i) DescriptorSet 0 Decorate 184(subpass_ms_i) Binding 22 + Decorate 184(subpass_ms_i) DescriptorSet 0 Decorate 184(subpass_ms_i) InputAttachmentIndex 5 - Decorate 189(subpass_ms_u) DescriptorSet 0 Decorate 189(subpass_ms_u) Binding 23 + Decorate 189(subpass_ms_u) DescriptorSet 0 Decorate 189(subpass_ms_u) InputAttachmentIndex 6 - Decorate 194(subpass_2) DescriptorSet 0 Decorate 194(subpass_2) Binding 24 + Decorate 194(subpass_2) DescriptorSet 0 Decorate 194(subpass_2) InputAttachmentIndex 7 Decorate 202(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.texture.struct.frag.out b/Test/baseResults/hlsl.texture.struct.frag.out index ba632bed..879d0673 100644 --- a/Test/baseResults/hlsl.texture.struct.frag.out +++ b/Test/baseResults/hlsl.texture.struct.frag.out @@ -904,20 +904,20 @@ Validation failed Name 229 "g_tTex2s1a" Name 230 "param" Name 238 "@entryPointOutput" - Decorate 30(g_sSamp) DescriptorSet 0 Decorate 30(g_sSamp) Binding 0 - Decorate 90(g_tTex2s1) DescriptorSet 0 + Decorate 30(g_sSamp) DescriptorSet 0 Decorate 90(g_tTex2s1) Binding 1 - Decorate 114(g_tTex2s2) DescriptorSet 0 + Decorate 90(g_tTex2s1) DescriptorSet 0 Decorate 114(g_tTex2s2) Binding 2 - Decorate 140(g_tTex2s3) DescriptorSet 0 + Decorate 114(g_tTex2s2) DescriptorSet 0 Decorate 140(g_tTex2s3) Binding 3 - Decorate 168(g_tTex2s4) DescriptorSet 0 + Decorate 140(g_tTex2s3) DescriptorSet 0 Decorate 168(g_tTex2s4) Binding 4 - Decorate 202(g_tTex2s5) DescriptorSet 0 + Decorate 168(g_tTex2s4) DescriptorSet 0 Decorate 202(g_tTex2s5) Binding 5 - Decorate 229(g_tTex2s1a) DescriptorSet 0 + Decorate 202(g_tTex2s5) DescriptorSet 0 Decorate 229(g_tTex2s1a) Binding 6 + Decorate 229(g_tTex2s1a) DescriptorSet 0 Decorate 238(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.texture.subvec4.frag.out b/Test/baseResults/hlsl.texture.subvec4.frag.out index 9c3b7417..715cb6d1 100644 --- a/Test/baseResults/hlsl.texture.subvec4.frag.out +++ b/Test/baseResults/hlsl.texture.subvec4.frag.out @@ -385,24 +385,24 @@ gl_FragCoord origin is upper left Name 109 "g_tTex2df3" Name 118 "g_tTex2df4" Name 128 "@entryPointOutput" - Decorate 17(g_tTex2dmsf1) DescriptorSet 0 Decorate 17(g_tTex2dmsf1) Binding 0 - Decorate 33(g_tTex2dmsf2) DescriptorSet 0 + Decorate 17(g_tTex2dmsf1) DescriptorSet 0 Decorate 33(g_tTex2dmsf2) Binding 1 - Decorate 43(g_tTex2dmsf3) DescriptorSet 0 + Decorate 33(g_tTex2dmsf2) DescriptorSet 0 Decorate 43(g_tTex2dmsf3) Binding 2 - Decorate 53(g_tTex2dmsf4) DescriptorSet 0 + Decorate 43(g_tTex2dmsf3) DescriptorSet 0 Decorate 53(g_tTex2dmsf4) Binding 3 - Decorate 88(g_tTex2df1) DescriptorSet 0 + Decorate 53(g_tTex2dmsf4) DescriptorSet 0 Decorate 88(g_tTex2df1) Binding 4 - Decorate 92(g_sSamp) DescriptorSet 0 + Decorate 88(g_tTex2df1) DescriptorSet 0 Decorate 92(g_sSamp) Binding 8 - Decorate 101(g_tTex2df2) DescriptorSet 0 + Decorate 92(g_sSamp) DescriptorSet 0 Decorate 101(g_tTex2df2) Binding 5 - Decorate 109(g_tTex2df3) DescriptorSet 0 + Decorate 101(g_tTex2df2) DescriptorSet 0 Decorate 109(g_tTex2df3) Binding 6 - Decorate 118(g_tTex2df4) DescriptorSet 0 + Decorate 109(g_tTex2df3) DescriptorSet 0 Decorate 118(g_tTex2df4) Binding 7 + Decorate 118(g_tTex2df4) DescriptorSet 0 Decorate 128(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.texturebuffer.frag.out b/Test/baseResults/hlsl.texturebuffer.frag.out index ae1d4f75..7cba9c34 100644 --- a/Test/baseResults/hlsl.texturebuffer.frag.out +++ b/Test/baseResults/hlsl.texturebuffer.frag.out @@ -94,20 +94,20 @@ gl_FragCoord origin is upper left Name 32 "pos" Name 35 "@entryPointOutput" Name 36 "param" + Decorate 15(TextureBuffer_var) BufferBlock MemberDecorate 15(TextureBuffer_var) 0 NonWritable MemberDecorate 15(TextureBuffer_var) 0 Offset 0 MemberDecorate 15(TextureBuffer_var) 1 NonWritable MemberDecorate 15(TextureBuffer_var) 1 Offset 16 - Decorate 15(TextureBuffer_var) BufferBlock - Decorate 17(TextureBuffer_var) DescriptorSet 0 Decorate 17(TextureBuffer_var) Binding 0 + Decorate 17(TextureBuffer_var) DescriptorSet 0 + Decorate 22(tbuf2) BufferBlock MemberDecorate 22(tbuf2) 0 NonWritable MemberDecorate 22(tbuf2) 0 Offset 0 MemberDecorate 22(tbuf2) 1 NonWritable MemberDecorate 22(tbuf2) 1 Offset 16 - Decorate 22(tbuf2) BufferBlock - Decorate 24 DescriptorSet 0 Decorate 24 Binding 1 + Decorate 24 DescriptorSet 0 Decorate 32(pos) BuiltIn FragCoord Decorate 35(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.tx.bracket.frag.out b/Test/baseResults/hlsl.tx.bracket.frag.out index 07f19099..ad83b5f9 100644 --- a/Test/baseResults/hlsl.tx.bracket.frag.out +++ b/Test/baseResults/hlsl.tx.bracket.frag.out @@ -483,6 +483,7 @@ gl_FragCoord origin is upper left Name 181 "g_tTex2df4a" Name 184 "g_tTex2di4a" Name 187 "g_tTex2du4a" + Decorate 45($Global) Block MemberDecorate 45($Global) 0 Offset 0 MemberDecorate 45($Global) 1 Offset 8 MemberDecorate 45($Global) 2 Offset 16 @@ -491,42 +492,41 @@ gl_FragCoord origin is upper left MemberDecorate 45($Global) 5 Offset 56 MemberDecorate 45($Global) 6 Offset 64 MemberDecorate 45($Global) 7 Offset 80 - Decorate 45($Global) Block - Decorate 47 DescriptorSet 0 Decorate 47 Binding 9 - Decorate 57(g_tTex1df4) DescriptorSet 0 + Decorate 47 DescriptorSet 0 Decorate 57(g_tTex1df4) Binding 0 - Decorate 72(g_tTex1di4) DescriptorSet 0 + Decorate 57(g_tTex1df4) DescriptorSet 0 Decorate 72(g_tTex1di4) Binding 1 - Decorate 80(g_tTex1du4) DescriptorSet 0 + Decorate 72(g_tTex1di4) DescriptorSet 0 Decorate 80(g_tTex1du4) Binding 2 - Decorate 88(g_tTex2df4) DescriptorSet 0 + Decorate 80(g_tTex1du4) DescriptorSet 0 Decorate 88(g_tTex2df4) Binding 3 - Decorate 98(g_tTex2di4) DescriptorSet 0 + Decorate 88(g_tTex2df4) DescriptorSet 0 Decorate 98(g_tTex2di4) Binding 4 - Decorate 106(g_tTex2du4) DescriptorSet 0 + Decorate 98(g_tTex2di4) DescriptorSet 0 Decorate 106(g_tTex2du4) Binding 5 - Decorate 114(g_tTex3df4) DescriptorSet 0 + Decorate 106(g_tTex2du4) DescriptorSet 0 Decorate 114(g_tTex3df4) Binding 6 - Decorate 124(g_tTex3di4) DescriptorSet 0 + Decorate 114(g_tTex3df4) DescriptorSet 0 Decorate 124(g_tTex3di4) Binding 7 - Decorate 132(g_tTex3du4) DescriptorSet 0 + Decorate 124(g_tTex3di4) DescriptorSet 0 Decorate 132(g_tTex3du4) Binding 8 + Decorate 132(g_tTex3du4) DescriptorSet 0 Decorate 164(@entryPointOutput.Color) Location 0 - Decorate 169(g_sSamp) DescriptorSet 0 Decorate 169(g_sSamp) Binding 0 - Decorate 172(g_tTex1df4a) DescriptorSet 0 + Decorate 169(g_sSamp) DescriptorSet 0 Decorate 172(g_tTex1df4a) Binding 0 - Decorate 175(g_tTex1di4a) DescriptorSet 0 + Decorate 172(g_tTex1df4a) DescriptorSet 0 Decorate 175(g_tTex1di4a) Binding 0 - Decorate 178(g_tTex1du4a) DescriptorSet 0 + Decorate 175(g_tTex1di4a) DescriptorSet 0 Decorate 178(g_tTex1du4a) Binding 0 - Decorate 181(g_tTex2df4a) DescriptorSet 0 + Decorate 178(g_tTex1du4a) DescriptorSet 0 Decorate 181(g_tTex2df4a) Binding 0 - Decorate 184(g_tTex2di4a) DescriptorSet 0 + Decorate 181(g_tTex2df4a) DescriptorSet 0 Decorate 184(g_tTex2di4a) Binding 0 - Decorate 187(g_tTex2du4a) DescriptorSet 0 + Decorate 184(g_tTex2di4a) DescriptorSet 0 Decorate 187(g_tTex2du4a) Binding 0 + Decorate 187(g_tTex2du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.tx.overload.frag.out b/Test/baseResults/hlsl.tx.overload.frag.out index df1bb20f..88b38e8f 100644 --- a/Test/baseResults/hlsl.tx.overload.frag.out +++ b/Test/baseResults/hlsl.tx.overload.frag.out @@ -162,14 +162,14 @@ gl_FragCoord origin is upper left Name 63 "twf4" Name 64 "param" Name 71 "@entryPointOutput" - Decorate 45(tf1) DescriptorSet 0 Decorate 45(tf1) Binding 0 - Decorate 49(tf4) DescriptorSet 0 + Decorate 45(tf1) DescriptorSet 0 Decorate 49(tf4) Binding 1 - Decorate 56(twf1) DescriptorSet 0 + Decorate 49(tf4) DescriptorSet 0 Decorate 56(twf1) Binding 2 - Decorate 63(twf4) DescriptorSet 0 + Decorate 56(twf1) DescriptorSet 0 Decorate 63(twf4) Binding 3 + Decorate 63(twf4) DescriptorSet 0 Decorate 71(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.typeGraphCopy.vert.out b/Test/baseResults/hlsl.typeGraphCopy.vert.out index e3805477..8f52cd66 100644 --- a/Test/baseResults/hlsl.typeGraphCopy.vert.out +++ b/Test/baseResults/hlsl.typeGraphCopy.vert.out @@ -93,10 +93,10 @@ Shader version: 500 MemberDecorate 13(N3) 0 Offset 0 MemberDecorate 13(N3) 1 Offset 32 MemberDecorate 13(N3) 2 Offset 48 - MemberDecorate 14($Global) 0 Offset 0 Decorate 14($Global) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14($Global) 0 Offset 0 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 26(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.w-recip.frag.out b/Test/baseResults/hlsl.w-recip.frag.out index a4fc494d..dc9bb111 100644 --- a/Test/baseResults/hlsl.w-recip.frag.out +++ b/Test/baseResults/hlsl.w-recip.frag.out @@ -183,11 +183,11 @@ gl_FragCoord origin is upper left Name 53 "vpos" Name 65 "@entryPointOutput" Name 66 "param" + Decorate 36($Global) Block MemberDecorate 36($Global) 0 Offset 0 MemberDecorate 36($Global) 1 Offset 16 - Decorate 36($Global) Block - Decorate 38 DescriptorSet 0 Decorate 38 Binding 0 + Decorate 38 DescriptorSet 0 Decorate 53(vpos) BuiltIn FragCoord Decorate 65(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.w-recip2.frag.out b/Test/baseResults/hlsl.w-recip2.frag.out index 2157ce4c..03312b8d 100644 --- a/Test/baseResults/hlsl.w-recip2.frag.out +++ b/Test/baseResults/hlsl.w-recip2.frag.out @@ -207,11 +207,11 @@ gl_FragCoord origin is upper left Name 66 "VSOut.TexCoord" Name 71 "@entryPointOutput" Name 72 "param" + Decorate 28($Global) Block MemberDecorate 28($Global) 0 Offset 0 MemberDecorate 28($Global) 1 Offset 16 - Decorate 28($Global) Block - Decorate 30 DescriptorSet 0 Decorate 30 Binding 0 + Decorate 30 DescriptorSet 0 Decorate 44(VSOut.PositionPS) BuiltIn FragCoord Decorate 56(VSOut.PosInLightViewSpace) Location 0 Decorate 61(VSOut.NormalWS) Location 1 diff --git a/Test/baseResults/hlsl.wavebroadcast.comp.out b/Test/baseResults/hlsl.wavebroadcast.comp.out index ed35cba3..667986cd 100644 --- a/Test/baseResults/hlsl.wavebroadcast.comp.out +++ b/Test/baseResults/hlsl.wavebroadcast.comp.out @@ -2330,10 +2330,10 @@ local_size = (32, 16, 1) MemberDecorate 20(Types) 2 Offset 32 MemberDecorate 20(Types) 3 Offset 64 Decorate 21 ArrayStride 96 - MemberDecorate 22(data) 0 Offset 0 Decorate 22(data) Block - Decorate 24(data) DescriptorSet 0 + MemberDecorate 22(data) 0 Offset 0 Decorate 24(data) Binding 0 + Decorate 24(data) DescriptorSet 0 Decorate 388(dti) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.waveprefix.comp.out b/Test/baseResults/hlsl.waveprefix.comp.out index ecc1b3eb..e9ac1350 100644 --- a/Test/baseResults/hlsl.waveprefix.comp.out +++ b/Test/baseResults/hlsl.waveprefix.comp.out @@ -2354,10 +2354,10 @@ local_size = (32, 16, 1) MemberDecorate 20(Types) 2 Offset 32 MemberDecorate 20(Types) 3 Offset 64 Decorate 21 ArrayStride 96 - MemberDecorate 22(data) 0 Offset 0 Decorate 22(data) Block - Decorate 24(data) DescriptorSet 0 + MemberDecorate 22(data) 0 Offset 0 Decorate 24(data) Binding 0 + Decorate 24(data) DescriptorSet 0 Decorate 398(dti) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.wavequad.comp.out b/Test/baseResults/hlsl.wavequad.comp.out index 7deb7c7e..338b4dc7 100644 --- a/Test/baseResults/hlsl.wavequad.comp.out +++ b/Test/baseResults/hlsl.wavequad.comp.out @@ -8057,10 +8057,10 @@ local_size = (32, 16, 1) MemberDecorate 20(Types) 2 Offset 32 MemberDecorate 20(Types) 3 Offset 64 Decorate 21 ArrayStride 96 - MemberDecorate 22(data) 0 Offset 0 Decorate 22(data) Block - Decorate 24(data) DescriptorSet 0 + MemberDecorate 22(data) 0 Offset 0 Decorate 24(data) Binding 0 + Decorate 24(data) DescriptorSet 0 Decorate 1227(dti) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.wavequery.comp.out b/Test/baseResults/hlsl.wavequery.comp.out index 8e08b09e..015890af 100644 --- a/Test/baseResults/hlsl.wavequery.comp.out +++ b/Test/baseResults/hlsl.wavequery.comp.out @@ -78,10 +78,10 @@ local_size = (32, 16, 1) Name 16 "@gl_SubgroupInvocationID" Name 21 "@gl_SubgroupSize" Decorate 9 ArrayStride 4 - MemberDecorate 10(data) 0 Offset 0 Decorate 10(data) Block - Decorate 12(data) DescriptorSet 0 + MemberDecorate 10(data) 0 Offset 0 Decorate 12(data) Binding 0 + Decorate 12(data) DescriptorSet 0 Decorate 16(@gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId Decorate 21(@gl_SubgroupSize) BuiltIn SubgroupSize 2: TypeVoid diff --git a/Test/baseResults/hlsl.wavereduction.comp.out b/Test/baseResults/hlsl.wavereduction.comp.out index 9a636f5a..81b24353 100644 --- a/Test/baseResults/hlsl.wavereduction.comp.out +++ b/Test/baseResults/hlsl.wavereduction.comp.out @@ -6218,10 +6218,10 @@ local_size = (32, 16, 1) MemberDecorate 20(Types) 2 Offset 32 MemberDecorate 20(Types) 3 Offset 64 Decorate 21 ArrayStride 96 - MemberDecorate 22(data) 0 Offset 0 Decorate 22(data) Block - Decorate 24(data) DescriptorSet 0 + MemberDecorate 22(data) 0 Offset 0 Decorate 24(data) Binding 0 + Decorate 24(data) DescriptorSet 0 Decorate 986(dti) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.wavevote.comp.out b/Test/baseResults/hlsl.wavevote.comp.out index 382f504f..adb0d9a1 100644 --- a/Test/baseResults/hlsl.wavevote.comp.out +++ b/Test/baseResults/hlsl.wavevote.comp.out @@ -227,10 +227,10 @@ local_size = (32, 16, 1) Name 70 "dti" Name 72 "param" Decorate 14 ArrayStride 8 - MemberDecorate 15(data) 0 Offset 0 Decorate 15(data) Block - Decorate 17(data) DescriptorSet 0 + MemberDecorate 15(data) 0 Offset 0 Decorate 17(data) Binding 0 + Decorate 17(data) DescriptorSet 0 Decorate 70(dti) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.y-negate-1.vert.out b/Test/baseResults/hlsl.y-negate-1.vert.out index e0007524..43a49b6d 100644 --- a/Test/baseResults/hlsl.y-negate-1.vert.out +++ b/Test/baseResults/hlsl.y-negate-1.vert.out @@ -87,10 +87,10 @@ Shader version: 500 Name 13 "" Name 22 "@position" Name 32 "@entryPointOutput" - MemberDecorate 11($Global) 0 Offset 0 Decorate 11($Global) Block - Decorate 13 DescriptorSet 0 + MemberDecorate 11($Global) 0 Offset 0 Decorate 13 Binding 0 + Decorate 13 DescriptorSet 0 Decorate 32(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.y-negate-2.vert.out b/Test/baseResults/hlsl.y-negate-2.vert.out index 57a47ab7..98d71b96 100644 --- a/Test/baseResults/hlsl.y-negate-2.vert.out +++ b/Test/baseResults/hlsl.y-negate-2.vert.out @@ -98,10 +98,10 @@ Shader version: 500 Name 22 "param" Name 25 "@position" Name 35 "position" - MemberDecorate 13($Global) 0 Offset 0 Decorate 13($Global) Block - Decorate 15 DescriptorSet 0 + MemberDecorate 13($Global) 0 Offset 0 Decorate 15 Binding 0 + Decorate 15 DescriptorSet 0 Decorate 35(position) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.y-negate-3.vert.out b/Test/baseResults/hlsl.y-negate-3.vert.out index 3e589511..770e37fd 100644 --- a/Test/baseResults/hlsl.y-negate-3.vert.out +++ b/Test/baseResults/hlsl.y-negate-3.vert.out @@ -147,10 +147,10 @@ Shader version: 500 Name 33 "@position" Name 44 "@entryPointOutput.pos" Name 47 "@entryPointOutput.somethingelse" - MemberDecorate 16($Global) 0 Offset 0 Decorate 16($Global) Block - Decorate 18 DescriptorSet 0 + MemberDecorate 16($Global) 0 Offset 0 Decorate 18 Binding 0 + Decorate 18 DescriptorSet 0 Decorate 44(@entryPointOutput.pos) BuiltIn Position Decorate 47(@entryPointOutput.somethingelse) Location 0 2: TypeVoid diff --git a/Test/baseResults/iomap.blockOutVariableIn.2.vert.out b/Test/baseResults/iomap.blockOutVariableIn.2.vert.out index 2c4ecdc5..49ad83e6 100644 --- a/Test/baseResults/iomap.blockOutVariableIn.2.vert.out +++ b/Test/baseResults/iomap.blockOutVariableIn.2.vert.out @@ -277,10 +277,10 @@ output primitive = triangle_strip Name 32 "gl_InstanceID" Decorate 9(Block) Block Decorate 11 Location 0 + Decorate 26(gl_PerVertex) Block MemberDecorate 26(gl_PerVertex) 0 BuiltIn Position MemberDecorate 26(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 26(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 26(gl_PerVertex) Block Decorate 31(gl_VertexID) BuiltIn VertexId Decorate 32(gl_InstanceID) BuiltIn InstanceId 2: TypeVoid @@ -346,10 +346,10 @@ output primitive = triangle_strip Decorate 14(in_a1) Location 0 Decorate 22(a2) Location 1 Decorate 25(in_a2) Location 1 + Decorate 31(gl_PerVertex) Block MemberDecorate 31(gl_PerVertex) 0 BuiltIn Position MemberDecorate 31(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 31(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 31(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/iomap.blockOutVariableIn.vert.out b/Test/baseResults/iomap.blockOutVariableIn.vert.out index a43e52f5..3ccf47b3 100644 --- a/Test/baseResults/iomap.blockOutVariableIn.vert.out +++ b/Test/baseResults/iomap.blockOutVariableIn.vert.out @@ -149,10 +149,10 @@ Shader version: 440 Name 32 "gl_InstanceID" Decorate 9(Block) Block Decorate 11 Location 0 + Decorate 26(gl_PerVertex) Block MemberDecorate 26(gl_PerVertex) 0 BuiltIn Position MemberDecorate 26(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 26(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 26(gl_PerVertex) Block Decorate 31(gl_VertexID) BuiltIn VertexId Decorate 32(gl_InstanceID) BuiltIn InstanceId 2: TypeVoid diff --git a/Test/baseResults/iomap.crossStage.2.vert.out b/Test/baseResults/iomap.crossStage.2.vert.out index 171cc0e3..ffb10bc4 100644 --- a/Test/baseResults/iomap.crossStage.2.vert.out +++ b/Test/baseResults/iomap.crossStage.2.vert.out @@ -452,22 +452,22 @@ Shader version: 460 Decorate 36(um2) Location 4 Decorate 36(um2) DescriptorSet 0 Decorate 40(glass) Location 0 - Decorate 40(glass) DescriptorSet 0 Decorate 40(glass) Binding 0 + Decorate 40(glass) DescriptorSet 0 + Decorate 41(crossStageBlock1) Block MemberDecorate 41(crossStageBlock1) 0 Offset 0 MemberDecorate 41(crossStageBlock1) 1 Offset 16 - Decorate 41(crossStageBlock1) Block - Decorate 43 DescriptorSet 0 Decorate 43 Binding 0 - MemberDecorate 44(vertOnlyBlock) 0 Offset 0 + Decorate 43 DescriptorSet 0 Decorate 44(vertOnlyBlock) BufferBlock - Decorate 46 DescriptorSet 0 + MemberDecorate 44(vertOnlyBlock) 0 Offset 0 Decorate 46 Binding 0 + Decorate 46 DescriptorSet 0 + Decorate 47(crossStageBlock2) Block MemberDecorate 47(crossStageBlock2) 0 Offset 0 MemberDecorate 47(crossStageBlock2) 1 Offset 16 - Decorate 47(crossStageBlock2) Block - Decorate 52(blockName1) DescriptorSet 0 Decorate 52(blockName1) Binding 0 + Decorate 52(blockName1) DescriptorSet 0 Decorate 54(gl_VertexID) BuiltIn VertexId Decorate 55(gl_InstanceID) BuiltIn InstanceId 2: TypeVoid @@ -575,11 +575,11 @@ Shader version: 460 Decorate 57(u2) DescriptorSet 0 Decorate 59(u3) Location 3 Decorate 59(u3) DescriptorSet 0 + Decorate 60(crossStageBlock2) Block MemberDecorate 60(crossStageBlock2) 0 Offset 0 MemberDecorate 60(crossStageBlock2) 1 Offset 16 - Decorate 60(crossStageBlock2) Block - Decorate 64(blockName1) DescriptorSet 0 Decorate 64(blockName1) Binding 0 + Decorate 64(blockName1) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -706,22 +706,22 @@ Shader version: 460 Decorate 45(um2) Location 4 Decorate 45(um2) DescriptorSet 0 Decorate 49(glass) Location 0 - Decorate 49(glass) DescriptorSet 0 Decorate 49(glass) Binding 0 + Decorate 49(glass) DescriptorSet 0 + Decorate 50(crossStageBlock1) Block MemberDecorate 50(crossStageBlock1) 0 Offset 0 MemberDecorate 50(crossStageBlock1) 1 Offset 16 - Decorate 50(crossStageBlock1) Block - Decorate 52 DescriptorSet 0 Decorate 52 Binding 0 - MemberDecorate 53(fragOnlyBlock) 0 Offset 0 + Decorate 52 DescriptorSet 0 Decorate 53(fragOnlyBlock) BufferBlock - Decorate 55 DescriptorSet 0 + MemberDecorate 53(fragOnlyBlock) 0 Offset 0 Decorate 55 Binding 0 + Decorate 55 DescriptorSet 0 + Decorate 56(crossStageBlock2) Block MemberDecorate 56(crossStageBlock2) 0 Offset 0 MemberDecorate 56(crossStageBlock2) 1 Offset 16 - Decorate 56(crossStageBlock2) Block - Decorate 61(blockName2) DescriptorSet 0 Decorate 61(blockName2) Binding 0 + Decorate 61(blockName2) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/iomap.crossStage.vert.out b/Test/baseResults/iomap.crossStage.vert.out index d6b6e4fe..e195b5b6 100644 --- a/Test/baseResults/iomap.crossStage.vert.out +++ b/Test/baseResults/iomap.crossStage.vert.out @@ -309,22 +309,22 @@ Shader version: 460 Decorate 36(um2) Location 4 Decorate 36(um2) DescriptorSet 0 Decorate 40(glass) Location 0 - Decorate 40(glass) DescriptorSet 0 Decorate 40(glass) Binding 0 + Decorate 40(glass) DescriptorSet 0 + Decorate 41(crossStageBlock1) Block MemberDecorate 41(crossStageBlock1) 0 Offset 0 MemberDecorate 41(crossStageBlock1) 1 Offset 16 - Decorate 41(crossStageBlock1) Block - Decorate 43 DescriptorSet 0 Decorate 43 Binding 0 - MemberDecorate 44(vertOnlyBlock) 0 Offset 0 + Decorate 43 DescriptorSet 0 Decorate 44(vertOnlyBlock) BufferBlock - Decorate 46 DescriptorSet 0 + MemberDecorate 44(vertOnlyBlock) 0 Offset 0 Decorate 46 Binding 0 + Decorate 46 DescriptorSet 0 + Decorate 47(crossStageBlock2) Block MemberDecorate 47(crossStageBlock2) 0 Offset 0 MemberDecorate 47(crossStageBlock2) 1 Offset 16 - Decorate 47(crossStageBlock2) Block - Decorate 52(blockName1) DescriptorSet 0 Decorate 52(blockName1) Binding 0 + Decorate 52(blockName1) DescriptorSet 0 Decorate 54(gl_VertexID) BuiltIn VertexId Decorate 55(gl_InstanceID) BuiltIn InstanceId 2: TypeVoid @@ -434,22 +434,22 @@ Shader version: 460 Decorate 45(um2) Location 4 Decorate 45(um2) DescriptorSet 0 Decorate 49(glass) Location 0 - Decorate 49(glass) DescriptorSet 0 Decorate 49(glass) Binding 0 + Decorate 49(glass) DescriptorSet 0 + Decorate 50(crossStageBlock1) Block MemberDecorate 50(crossStageBlock1) 0 Offset 0 MemberDecorate 50(crossStageBlock1) 1 Offset 16 - Decorate 50(crossStageBlock1) Block - Decorate 52 DescriptorSet 0 Decorate 52 Binding 0 - MemberDecorate 53(fragOnlyBlock) 0 Offset 0 + Decorate 52 DescriptorSet 0 Decorate 53(fragOnlyBlock) BufferBlock - Decorate 55 DescriptorSet 0 + MemberDecorate 53(fragOnlyBlock) 0 Offset 0 Decorate 55 Binding 0 + Decorate 55 DescriptorSet 0 + Decorate 56(crossStageBlock2) Block MemberDecorate 56(crossStageBlock2) 0 Offset 0 MemberDecorate 56(crossStageBlock2) 1 Offset 16 - Decorate 56(crossStageBlock2) Block - Decorate 61(blockName2) DescriptorSet 0 Decorate 61(blockName2) Binding 0 + Decorate 61(blockName2) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/iomap.crossStage.vk.vert.out b/Test/baseResults/iomap.crossStage.vk.vert.out index dd8029d1..850b087f 100644 --- a/Test/baseResults/iomap.crossStage.vk.vert.out +++ b/Test/baseResults/iomap.crossStage.vk.vert.out @@ -411,23 +411,23 @@ gl_FragCoord origin is upper left Decorate 14(vgo2) Location 1 Decorate 16(outBlock) Block Decorate 18 Location 5 - Decorate 25(glass) DescriptorSet 0 Decorate 25(glass) Binding 0 + Decorate 25(glass) DescriptorSet 0 + Decorate 26(crossStageBlock1) Block MemberDecorate 26(crossStageBlock1) 0 Offset 0 MemberDecorate 26(crossStageBlock1) 1 Offset 16 - Decorate 26(crossStageBlock1) Block - Decorate 28 DescriptorSet 0 Decorate 28 Binding 1 + Decorate 28 DescriptorSet 0 + Decorate 29(vertOnlyBlock) BufferBlock MemberDecorate 29(vertOnlyBlock) 0 NonWritable MemberDecorate 29(vertOnlyBlock) 0 Offset 0 - Decorate 29(vertOnlyBlock) BufferBlock - Decorate 31 DescriptorSet 0 Decorate 31 Binding 0 + Decorate 31 DescriptorSet 0 + Decorate 32(crossStageBlock2) Block MemberDecorate 32(crossStageBlock2) 0 Offset 0 MemberDecorate 32(crossStageBlock2) 1 Offset 16 - Decorate 32(crossStageBlock2) Block - Decorate 37(blockName1) DescriptorSet 0 Decorate 37(blockName1) Binding 3 + Decorate 37(blockName1) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -506,11 +506,11 @@ gl_FragCoord origin is upper left Decorate 37(inBlock) Location 5 Decorate 48(vgo1) Location 0 Decorate 51(vgo2) Location 1 + Decorate 52(crossStageBlock2) Block MemberDecorate 52(crossStageBlock2) 0 Offset 0 MemberDecorate 52(crossStageBlock2) 1 Offset 16 - Decorate 52(crossStageBlock2) Block - Decorate 56(blockName1) DescriptorSet 0 Decorate 56(blockName1) Binding 3 + Decorate 56(blockName1) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -613,28 +613,28 @@ gl_FragCoord origin is upper left Name 74 "" Name 76 "gfo2" Name 80 "glass" + Decorate 15(fragOnlyBlock) BufferBlock MemberDecorate 15(fragOnlyBlock) 0 NonWritable MemberDecorate 15(fragOnlyBlock) 0 Offset 0 - Decorate 15(fragOnlyBlock) BufferBlock - Decorate 17 DescriptorSet 0 Decorate 17 Binding 2 + Decorate 17 DescriptorSet 0 + Decorate 23(crossStageBlock2) Block MemberDecorate 23(crossStageBlock2) 0 Offset 0 MemberDecorate 23(crossStageBlock2) 1 Offset 16 - Decorate 23(crossStageBlock2) Block - Decorate 28(blockName2) DescriptorSet 0 Decorate 28(blockName2) Binding 3 + Decorate 28(blockName2) DescriptorSet 0 + Decorate 38(crossStageBlock1) Block MemberDecorate 38(crossStageBlock1) 0 Offset 0 MemberDecorate 38(crossStageBlock1) 1 Offset 16 - Decorate 38(crossStageBlock1) Block - Decorate 40 DescriptorSet 0 Decorate 40 Binding 1 + Decorate 40 DescriptorSet 0 Decorate 64(gfo1) Location 0 Decorate 70(outColor) Location 0 Decorate 72(outBlock) Block Decorate 74 Location 5 Decorate 76(gfo2) Location 1 - Decorate 80(glass) DescriptorSet 0 Decorate 80(glass) Binding 0 + Decorate 80(glass) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/iomap.variableOutBlockIn.2.vert.out b/Test/baseResults/iomap.variableOutBlockIn.2.vert.out index 3e6d30b5..e638befd 100644 --- a/Test/baseResults/iomap.variableOutBlockIn.2.vert.out +++ b/Test/baseResults/iomap.variableOutBlockIn.2.vert.out @@ -169,10 +169,10 @@ output primitive = triangle_strip Name 28 "gl_InstanceID" Decorate 9(a1) Location 0 Decorate 14(a2) Location 1 + Decorate 20(gl_PerVertex) Block MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 20(gl_PerVertex) Block Decorate 27(gl_VertexID) BuiltIn VertexId Decorate 28(gl_InstanceID) BuiltIn InstanceId 2: TypeVoid @@ -234,10 +234,10 @@ output primitive = triangle_strip Name 30 "gin" Decorate 9(a1) Location 0 Decorate 14(a2) Location 1 + Decorate 20(gl_PerVertex) Block MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 20(gl_PerVertex) Block Decorate 26(Inputs) Block Decorate 30(gin) Location 0 2: TypeVoid diff --git a/Test/baseResults/iomap.variableOutBlockIn.vert.out b/Test/baseResults/iomap.variableOutBlockIn.vert.out index 4b0ce649..d96df37a 100644 --- a/Test/baseResults/iomap.variableOutBlockIn.vert.out +++ b/Test/baseResults/iomap.variableOutBlockIn.vert.out @@ -147,10 +147,10 @@ Shader version: 440 Name 28 "gl_InstanceID" Decorate 9(a1) Location 0 Decorate 14(a2) Location 1 + Decorate 20(gl_PerVertex) Block MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 20(gl_PerVertex) Block Decorate 27(gl_VertexID) BuiltIn VertexId Decorate 28(gl_InstanceID) BuiltIn InstanceId 2: TypeVoid diff --git a/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out b/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out index d3545bfa..765fcccf 100755 --- a/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out +++ b/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out @@ -274,11 +274,11 @@ output primitive = triangle_strip Name 27 "P" Decorate 8(vs_output) Block Decorate 10(vs_out) Location 0 + Decorate 20(gl_PerVertex) Block MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 20(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 20(gl_PerVertex) Block Decorate 27(P) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/link.vk.matchingPC.0.0.frag.out b/Test/baseResults/link.vk.matchingPC.0.0.frag.out index 87d3b02c..d2101fde 100644 --- a/Test/baseResults/link.vk.matchingPC.0.0.frag.out +++ b/Test/baseResults/link.vk.matchingPC.0.0.frag.out @@ -109,10 +109,10 @@ gl_FragCoord origin is upper left MemberName 16(PushConstantBlock) 2 "scale" Name 18 "uPC" Decorate 15(color) Location 0 + Decorate 16(PushConstantBlock) Block MemberDecorate 16(PushConstantBlock) 0 Offset 0 MemberDecorate 16(PushConstantBlock) 1 Offset 16 MemberDecorate 16(PushConstantBlock) 2 Offset 32 - Decorate 16(PushConstantBlock) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out b/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out index 7f9a05a7..b6638761 100644 --- a/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out +++ b/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out @@ -216,39 +216,39 @@ Shader version: 430 MemberName 70(BufferBlock) 0 "p" Name 72 "uBuf" Decorate 14(oColor) Location 2 + Decorate 16(ColorBlock) Block MemberDecorate 16(ColorBlock) 0 Offset 0 MemberDecorate 16(ColorBlock) 1 Offset 16 MemberDecorate 16(ColorBlock) 2 Offset 32 MemberDecorate 16(ColorBlock) 3 Offset 48 - Decorate 16(ColorBlock) Block - Decorate 18(uC) DescriptorSet 0 Decorate 18(uC) Binding 1 - MemberDecorate 26(SecondaryColorBlock) 0 Offset 0 + Decorate 18(uC) DescriptorSet 0 Decorate 26(SecondaryColorBlock) BufferBlock - Decorate 28(uColorBuf) DescriptorSet 0 + MemberDecorate 26(SecondaryColorBlock) 0 Offset 0 Decorate 28(uColorBuf) Binding 0 + Decorate 28(uColorBuf) DescriptorSet 0 Decorate 32(Vertex) Block Decorate 34(oV) Location 0 + Decorate 40(gl_PerVertex) Block MemberDecorate 40(gl_PerVertex) 0 BuiltIn Position MemberDecorate 40(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 40(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 40(gl_PerVertex) Block - MemberDecorate 44(MatrixBlock) 0 ColMajor - MemberDecorate 44(MatrixBlock) 0 Offset 0 - MemberDecorate 44(MatrixBlock) 0 MatrixStride 16 - MemberDecorate 44(MatrixBlock) 1 ColMajor - MemberDecorate 44(MatrixBlock) 1 Offset 64 - MemberDecorate 44(MatrixBlock) 1 MatrixStride 16 Decorate 44(MatrixBlock) Block - Decorate 46(uM) DescriptorSet 0 + MemberDecorate 44(MatrixBlock) 0 ColMajor + MemberDecorate 44(MatrixBlock) 0 MatrixStride 16 + MemberDecorate 44(MatrixBlock) 0 Offset 0 + MemberDecorate 44(MatrixBlock) 1 ColMajor + MemberDecorate 44(MatrixBlock) 1 MatrixStride 16 + MemberDecorate 44(MatrixBlock) 1 Offset 64 Decorate 46(uM) Binding 0 + Decorate 46(uM) DescriptorSet 0 Decorate 65(P) Location 0 - MemberDecorate 70(BufferBlock) 0 ColMajor - MemberDecorate 70(BufferBlock) 0 Offset 0 - MemberDecorate 70(BufferBlock) 0 MatrixStride 16 Decorate 70(BufferBlock) BufferBlock - Decorate 72(uBuf) DescriptorSet 0 + MemberDecorate 70(BufferBlock) 0 ColMajor + MemberDecorate 70(BufferBlock) 0 MatrixStride 16 + MemberDecorate 70(BufferBlock) 0 Offset 0 Decorate 72(uBuf) Binding 1 + Decorate 72(uBuf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out b/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out index 374a2a08..7c2b242c 100644 --- a/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out +++ b/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out @@ -310,36 +310,36 @@ output primitive = triangle_strip Name 97 "uBuf" Name 100 "P" Decorate 18(oColor) Location 1 + Decorate 20(ColorBlock) Block MemberDecorate 20(ColorBlock) 0 Offset 0 MemberDecorate 20(ColorBlock) 1 Offset 16 MemberDecorate 20(ColorBlock) 2 Offset 32 MemberDecorate 20(ColorBlock) 3 Offset 48 - Decorate 20(ColorBlock) Block - Decorate 22(uC) DescriptorSet 0 Decorate 22(uC) Binding 1 + Decorate 22(uC) DescriptorSet 0 + Decorate 44(gl_PerVertex) Block MemberDecorate 44(gl_PerVertex) 0 BuiltIn Position MemberDecorate 44(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 44(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 44(gl_PerVertex) Block - MemberDecorate 48(MatrixBlock) 0 ColMajor - MemberDecorate 48(MatrixBlock) 0 Offset 0 - MemberDecorate 48(MatrixBlock) 0 MatrixStride 16 - MemberDecorate 48(MatrixBlock) 1 ColMajor - MemberDecorate 48(MatrixBlock) 1 Offset 64 - MemberDecorate 48(MatrixBlock) 1 MatrixStride 16 Decorate 48(MatrixBlock) Block - Decorate 50(uM) DescriptorSet 0 + MemberDecorate 48(MatrixBlock) 0 ColMajor + MemberDecorate 48(MatrixBlock) 0 MatrixStride 16 + MemberDecorate 48(MatrixBlock) 0 Offset 0 + MemberDecorate 48(MatrixBlock) 1 ColMajor + MemberDecorate 48(MatrixBlock) 1 MatrixStride 16 + MemberDecorate 48(MatrixBlock) 1 Offset 64 Decorate 50(uM) Binding 0 + Decorate 50(uM) DescriptorSet 0 Decorate 59(Vertex) Block Decorate 61(oV) Location 0 Decorate 64(Vertex) Block Decorate 68(iV) Location 0 - MemberDecorate 95(BufferBlock) 0 ColMajor - MemberDecorate 95(BufferBlock) 0 Offset 0 - MemberDecorate 95(BufferBlock) 0 MatrixStride 16 Decorate 95(BufferBlock) BufferBlock - Decorate 97(uBuf) DescriptorSet 0 + MemberDecorate 95(BufferBlock) 0 ColMajor + MemberDecorate 95(BufferBlock) 0 MatrixStride 16 + MemberDecorate 95(BufferBlock) 0 Offset 0 Decorate 97(uBuf) Binding 1 + Decorate 97(uBuf) DescriptorSet 0 Decorate 100(P) Location 2 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/link.vk.pcNamingValid.0.0.vert.out b/Test/baseResults/link.vk.pcNamingValid.0.0.vert.out index 410f192e..74bc3fb6 100644 --- a/Test/baseResults/link.vk.pcNamingValid.0.0.vert.out +++ b/Test/baseResults/link.vk.pcNamingValid.0.0.vert.out @@ -135,20 +135,20 @@ Shader version: 450 Name 31 "" Name 48 "P" Decorate 14(oColor) Location 0 + Decorate 16(PCBlock) Block MemberDecorate 16(PCBlock) 0 ColMajor - MemberDecorate 16(PCBlock) 0 Offset 0 MemberDecorate 16(PCBlock) 0 MatrixStride 16 + MemberDecorate 16(PCBlock) 0 Offset 0 MemberDecorate 16(PCBlock) 1 ColMajor - MemberDecorate 16(PCBlock) 1 Offset 64 MemberDecorate 16(PCBlock) 1 MatrixStride 16 + MemberDecorate 16(PCBlock) 1 Offset 64 MemberDecorate 16(PCBlock) 2 Offset 128 MemberDecorate 16(PCBlock) 3 Offset 144 - Decorate 16(PCBlock) Block + Decorate 29(gl_PerVertex) Block MemberDecorate 29(gl_PerVertex) 0 BuiltIn Position MemberDecorate 29(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 29(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 29(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 29(gl_PerVertex) Block Decorate 48(P) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/link1.vk.frag.out b/Test/baseResults/link1.vk.frag.out index 225aee13..a758f200 100644 --- a/Test/baseResults/link1.vk.frag.out +++ b/Test/baseResults/link1.vk.frag.out @@ -222,18 +222,18 @@ gl_FragCoord origin is upper left MemberName 67(bnameImplicit) 0 "m" Name 69 "" Decorate 12(color) Location 0 - Decorate 53(s2D) DescriptorSet 0 Decorate 53(s2D) Binding 1 + Decorate 53(s2D) DescriptorSet 0 Decorate 61 ArrayStride 4 - MemberDecorate 62(bnameRuntime) 0 Offset 0 Decorate 62(bnameRuntime) BufferBlock - Decorate 64 DescriptorSet 0 + MemberDecorate 62(bnameRuntime) 0 Offset 0 Decorate 64 Binding 0 + Decorate 64 DescriptorSet 0 Decorate 66 ArrayStride 4 - MemberDecorate 67(bnameImplicit) 0 Offset 0 Decorate 67(bnameImplicit) BufferBlock - Decorate 69 DescriptorSet 0 + MemberDecorate 67(bnameImplicit) 0 Offset 0 Decorate 69 Binding 1 + Decorate 69 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out b/Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out index 007dcb90..e6bc9f56 100644 --- a/Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out +++ b/Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out @@ -17,8 +17,8 @@ rayQuery-OpConvertUToAccelerationStructureKHR.comp Name 11 "params" MemberName 11(params) 0 "tlas" Name 13 "" - MemberDecorate 11(params) 0 Offset 0 Decorate 11(params) Block + MemberDecorate 11(params) 0 Offset 0 2: TypeVoid 3: TypeFunction 2 6: TypeRayQueryKHR diff --git a/Test/baseResults/rayQuery-allOps.comp.out b/Test/baseResults/rayQuery-allOps.comp.out index a84d9196..9a606ed9 100644 --- a/Test/baseResults/rayQuery-allOps.comp.out +++ b/Test/baseResults/rayQuery-allOps.comp.out @@ -49,22 +49,22 @@ rayQuery-allOps.comp Name 272 "Rays" MemberName 272(Rays) 0 "rays" Name 274 "" + Decorate 15(Log) BufferBlock MemberDecorate 15(Log) 0 Offset 0 MemberDecorate 15(Log) 1 Offset 4 - Decorate 15(Log) BufferBlock - Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 - Decorate 50(rtas) DescriptorSet 0 + Decorate 17 DescriptorSet 0 Decorate 50(rtas) Binding 1 + Decorate 50(rtas) DescriptorSet 0 MemberDecorate 270(Ray) 0 Offset 0 MemberDecorate 270(Ray) 1 Offset 12 MemberDecorate 270(Ray) 2 Offset 16 MemberDecorate 270(Ray) 3 Offset 28 Decorate 271 ArrayStride 32 - MemberDecorate 272(Rays) 0 Offset 0 Decorate 272(Rays) BufferBlock - Decorate 274 DescriptorSet 0 + MemberDecorate 272(Rays) 0 Offset 0 Decorate 274 Binding 2 + Decorate 274 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 diff --git a/Test/baseResults/rayQuery-allOps.frag.out b/Test/baseResults/rayQuery-allOps.frag.out index 19a61711..814f9313 100644 --- a/Test/baseResults/rayQuery-allOps.frag.out +++ b/Test/baseResults/rayQuery-allOps.frag.out @@ -44,22 +44,22 @@ rayQuery-allOps.frag Name 254 "Rays" MemberName 254(Rays) 0 "rays" Name 256 "" + Decorate 15(Log) BufferBlock MemberDecorate 15(Log) 0 Offset 0 MemberDecorate 15(Log) 1 Offset 4 - Decorate 15(Log) BufferBlock - Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 - Decorate 50(rtas) DescriptorSet 0 + Decorate 17 DescriptorSet 0 Decorate 50(rtas) Binding 1 + Decorate 50(rtas) DescriptorSet 0 MemberDecorate 252(Ray) 0 Offset 0 MemberDecorate 252(Ray) 1 Offset 12 MemberDecorate 252(Ray) 2 Offset 16 MemberDecorate 252(Ray) 3 Offset 28 Decorate 253 ArrayStride 32 - MemberDecorate 254(Rays) 0 Offset 0 Decorate 254(Rays) BufferBlock - Decorate 256 DescriptorSet 0 + MemberDecorate 254(Rays) 0 Offset 0 Decorate 256 Binding 2 + Decorate 256 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 diff --git a/Test/baseResults/rayQuery-allOps.rgen.out b/Test/baseResults/rayQuery-allOps.rgen.out index 67447b9e..6b04403c 100644 --- a/Test/baseResults/rayQuery-allOps.rgen.out +++ b/Test/baseResults/rayQuery-allOps.rgen.out @@ -44,22 +44,22 @@ rayQuery-allOps.rgen Name 254 "Rays" MemberName 254(Rays) 0 "rays" Name 256 "" + Decorate 15(Log) BufferBlock MemberDecorate 15(Log) 0 Offset 0 MemberDecorate 15(Log) 1 Offset 4 - Decorate 15(Log) BufferBlock - Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 - Decorate 50(rtas) DescriptorSet 0 + Decorate 17 DescriptorSet 0 Decorate 50(rtas) Binding 1 + Decorate 50(rtas) DescriptorSet 0 MemberDecorate 252(Ray) 0 Offset 0 MemberDecorate 252(Ray) 1 Offset 12 MemberDecorate 252(Ray) 2 Offset 16 MemberDecorate 252(Ray) 3 Offset 28 Decorate 253 ArrayStride 32 - MemberDecorate 254(Rays) 0 Offset 0 Decorate 254(Rays) BufferBlock - Decorate 256 DescriptorSet 0 + MemberDecorate 254(Rays) 0 Offset 0 Decorate 256 Binding 2 + Decorate 256 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 diff --git a/Test/baseResults/rayQuery-global.rgen.out b/Test/baseResults/rayQuery-global.rgen.out index 968a178b..dfd98403 100644 --- a/Test/baseResults/rayQuery-global.rgen.out +++ b/Test/baseResults/rayQuery-global.rgen.out @@ -22,8 +22,8 @@ rayQuery-global.rgen Name 22 "rq2" Name 27 "rtas" Name 40 "rq2" - Decorate 27(rtas) DescriptorSet 0 Decorate 27(rtas) Binding 1 + Decorate 27(rtas) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeRayQueryKHR diff --git a/Test/baseResults/rayQuery-initialize.rgen.out b/Test/baseResults/rayQuery-initialize.rgen.out index dc213c5b..5e97f807 100644 --- a/Test/baseResults/rayQuery-initialize.rgen.out +++ b/Test/baseResults/rayQuery-initialize.rgen.out @@ -40,17 +40,17 @@ rayQuery-initialize.rgen Name 90 "param" Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR - Decorate 50(rtas) DescriptorSet 0 Decorate 50(rtas) Binding 0 + Decorate 50(rtas) DescriptorSet 0 MemberDecorate 72(Ray) 0 Offset 0 MemberDecorate 72(Ray) 1 Offset 12 MemberDecorate 72(Ray) 2 Offset 16 MemberDecorate 72(Ray) 3 Offset 28 Decorate 73 ArrayStride 32 - MemberDecorate 74(Rays) 0 Offset 0 Decorate 74(Rays) BufferBlock - Decorate 76 DescriptorSet 0 + MemberDecorate 74(Rays) 0 Offset 0 Decorate 76 Binding 2 + Decorate 76 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/rayQuery-no-cse.rgen.out b/Test/baseResults/rayQuery-no-cse.rgen.out index 0a751a3c..eff4123f 100644 --- a/Test/baseResults/rayQuery-no-cse.rgen.out +++ b/Test/baseResults/rayQuery-no-cse.rgen.out @@ -42,17 +42,17 @@ rayQuery-no-cse.rgen Name 104 "param" Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR - Decorate 50(rtas) DescriptorSet 0 Decorate 50(rtas) Binding 0 + Decorate 50(rtas) DescriptorSet 0 MemberDecorate 72(Ray) 0 Offset 0 MemberDecorate 72(Ray) 1 Offset 12 MemberDecorate 72(Ray) 2 Offset 16 MemberDecorate 72(Ray) 3 Offset 28 Decorate 73 ArrayStride 32 - MemberDecorate 74(Rays) 0 Offset 0 Decorate 74(Rays) BufferBlock - Decorate 76 DescriptorSet 0 + MemberDecorate 74(Rays) 0 Offset 0 Decorate 76 Binding 2 + Decorate 76 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/rayQuery-types.comp.out b/Test/baseResults/rayQuery-types.comp.out index bb7ed7bc..3a58ab50 100644 --- a/Test/baseResults/rayQuery-types.comp.out +++ b/Test/baseResults/rayQuery-types.comp.out @@ -34,8 +34,8 @@ rayQuery-types.comp Name 73 "objRayOrigin" Name 77 "objToWorld" Name 79 "worldToObj" - Decorate 11(tlas) DescriptorSet 0 Decorate 11(tlas) Binding 0 + Decorate 11(tlas) DescriptorSet 0 Decorate 85 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/rayQuery.rgen.out b/Test/baseResults/rayQuery.rgen.out index 4a54973c..05ebd131 100644 --- a/Test/baseResults/rayQuery.rgen.out +++ b/Test/baseResults/rayQuery.rgen.out @@ -23,11 +23,11 @@ rayQuery.rgen MemberName 26(block) 0 "dir" MemberName 26(block) 1 "origin" Name 28 "" - Decorate 21(acc0) DescriptorSet 0 Decorate 21(acc0) Binding 0 + Decorate 21(acc0) DescriptorSet 0 + Decorate 26(block) BufferBlock MemberDecorate 26(block) 0 Offset 0 MemberDecorate 26(block) 1 Offset 16 - Decorate 26(block) BufferBlock 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out index b1ce523b..a15675ea 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out @@ -12,32 +12,32 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented EntryPoint Fragment 5663 "main" 4253 3709 ExecutionMode 5663 OriginUpperLeft ExecutionMode 5663 DepthReplacing - Decorate 4727 DescriptorSet 0 Decorate 4727 Binding 0 - Decorate 3305 DescriptorSet 0 + Decorate 4727 DescriptorSet 0 Decorate 3305 Binding 0 - Decorate 4743 DescriptorSet 0 + Decorate 3305 DescriptorSet 0 Decorate 4743 Binding 2 - Decorate 4807 DescriptorSet 0 + Decorate 4743 DescriptorSet 0 Decorate 4807 Binding 3 - Decorate 5042 DescriptorSet 0 + Decorate 4807 DescriptorSet 0 Decorate 5042 Binding 4 - Decorate 5058 DescriptorSet 0 + Decorate 5042 DescriptorSet 0 Decorate 5058 Binding 5 - Decorate 5122 DescriptorSet 0 + Decorate 5058 DescriptorSet 0 Decorate 5122 Binding 6 - Decorate 3967 DescriptorSet 0 + Decorate 5122 DescriptorSet 0 Decorate 3967 Binding 7 - Decorate 3983 DescriptorSet 0 + Decorate 3967 DescriptorSet 0 Decorate 3983 Binding 8 - Decorate 4047 DescriptorSet 0 + Decorate 3983 DescriptorSet 0 Decorate 4047 Binding 9 - Decorate 3789 DescriptorSet 0 + Decorate 4047 DescriptorSet 0 Decorate 3789 Binding 10 - Decorate 3805 DescriptorSet 0 + Decorate 3789 DescriptorSet 0 Decorate 3805 Binding 11 - Decorate 3869 DescriptorSet 0 + Decorate 3805 DescriptorSet 0 Decorate 3869 Binding 12 + Decorate 3869 DescriptorSet 0 Decorate 4253 Location 0 Decorate 3709 BuiltIn FragDepth 8: TypeVoid diff --git a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out index 13ac4f26..5e61daae 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out @@ -64,40 +64,40 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented Name 195 "g_sSamp2d" Name 196 "g_sSamp2D_b" Name 197 "g_tTex1df4a" - Decorate 45(g_tTex1df4) DescriptorSet 0 Decorate 45(g_tTex1df4) Binding 0 - Decorate 49(g_sSamp) DescriptorSet 0 + Decorate 45(g_tTex1df4) DescriptorSet 0 Decorate 49(g_sSamp) Binding 0 - Decorate 60(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_sSamp) DescriptorSet 0 Decorate 60(g_tTex1di4) Binding 2 - Decorate 73(g_tTex1du4) DescriptorSet 0 + Decorate 60(g_tTex1di4) DescriptorSet 0 Decorate 73(g_tTex1du4) Binding 3 - Decorate 83(g_tTex2df4) DescriptorSet 0 + Decorate 73(g_tTex1du4) DescriptorSet 0 Decorate 83(g_tTex2df4) Binding 4 - Decorate 94(g_tTex2di4) DescriptorSet 0 + Decorate 83(g_tTex2df4) DescriptorSet 0 Decorate 94(g_tTex2di4) Binding 5 - Decorate 105(g_tTex2du4) DescriptorSet 0 + Decorate 94(g_tTex2di4) DescriptorSet 0 Decorate 105(g_tTex2du4) Binding 6 - Decorate 117(g_tTex3df4) DescriptorSet 0 + Decorate 105(g_tTex2du4) DescriptorSet 0 Decorate 117(g_tTex3df4) Binding 7 - Decorate 128(g_tTex3di4) DescriptorSet 0 + Decorate 117(g_tTex3df4) DescriptorSet 0 Decorate 128(g_tTex3di4) Binding 8 - Decorate 138(g_tTex3du4) DescriptorSet 0 + Decorate 128(g_tTex3di4) DescriptorSet 0 Decorate 138(g_tTex3du4) Binding 9 - Decorate 151(g_tTexcdf4) DescriptorSet 0 + Decorate 138(g_tTex3du4) DescriptorSet 0 Decorate 151(g_tTexcdf4) Binding 10 - Decorate 160(g_tTexcdi4) DescriptorSet 0 + Decorate 151(g_tTexcdf4) DescriptorSet 0 Decorate 160(g_tTexcdi4) Binding 11 - Decorate 169(g_tTexcdu4) DescriptorSet 0 + Decorate 160(g_tTexcdi4) DescriptorSet 0 Decorate 169(g_tTexcdu4) Binding 12 + Decorate 169(g_tTexcdu4) DescriptorSet 0 Decorate 188(@entryPointOutput.Color) Location 0 Decorate 192(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 195(g_sSamp2d) DescriptorSet 0 Decorate 195(g_sSamp2d) Binding 0 - Decorate 196(g_sSamp2D_b) DescriptorSet 0 + Decorate 195(g_sSamp2d) DescriptorSet 0 Decorate 196(g_sSamp2D_b) Binding 0 - Decorate 197(g_tTex1df4a) DescriptorSet 0 + Decorate 196(g_sSamp2D_b) DescriptorSet 0 Decorate 197(g_tTex1df4a) Binding 1 + Decorate 197(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out index d861a436..a9d041a8 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out @@ -12,40 +12,40 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented EntryPoint Fragment 4 "main" 188 192 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthReplacing - Decorate 45 DescriptorSet 0 Decorate 45 Binding 0 - Decorate 49 DescriptorSet 0 + Decorate 45 DescriptorSet 0 Decorate 49 Binding 0 - Decorate 60 DescriptorSet 0 + Decorate 49 DescriptorSet 0 Decorate 60 Binding 2 - Decorate 73 DescriptorSet 0 + Decorate 60 DescriptorSet 0 Decorate 73 Binding 3 - Decorate 83 DescriptorSet 0 + Decorate 73 DescriptorSet 0 Decorate 83 Binding 4 - Decorate 94 DescriptorSet 0 + Decorate 83 DescriptorSet 0 Decorate 94 Binding 5 - Decorate 105 DescriptorSet 0 + Decorate 94 DescriptorSet 0 Decorate 105 Binding 6 - Decorate 117 DescriptorSet 0 + Decorate 105 DescriptorSet 0 Decorate 117 Binding 7 - Decorate 128 DescriptorSet 0 + Decorate 117 DescriptorSet 0 Decorate 128 Binding 8 - Decorate 138 DescriptorSet 0 + Decorate 128 DescriptorSet 0 Decorate 138 Binding 9 - Decorate 151 DescriptorSet 0 + Decorate 138 DescriptorSet 0 Decorate 151 Binding 10 - Decorate 160 DescriptorSet 0 + Decorate 151 DescriptorSet 0 Decorate 160 Binding 11 - Decorate 169 DescriptorSet 0 + Decorate 160 DescriptorSet 0 Decorate 169 Binding 12 + Decorate 169 DescriptorSet 0 Decorate 188 Location 0 Decorate 192 BuiltIn FragDepth - Decorate 195 DescriptorSet 0 Decorate 195 Binding 0 - Decorate 196 DescriptorSet 0 + Decorate 195 DescriptorSet 0 Decorate 196 Binding 0 - Decorate 197 DescriptorSet 0 + Decorate 196 DescriptorSet 0 Decorate 197 Binding 1 + Decorate 197 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/remap.uniformarray.none.frag.out b/Test/baseResults/remap.uniformarray.none.frag.out index cc4fc7db..458d8c78 100644 --- a/Test/baseResults/remap.uniformarray.none.frag.out +++ b/Test/baseResults/remap.uniformarray.none.frag.out @@ -20,8 +20,8 @@ remap.uniformarray.none.frag Decorate 25(inColor) Location 0 Decorate 43(alpha) Location 7 Decorate 54(gl_FragColor) Location 0 - Decorate 59(texSampler2D) DescriptorSet 0 Decorate 59(texSampler2D) Binding 0 + Decorate 59(texSampler2D) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out b/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out index 858a0dbe..59e05bad 100644 --- a/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out +++ b/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out @@ -19,11 +19,11 @@ spv.1.3.8bitstorage-ssbo.vert Name 18 "gl_VertexIndex" Decorate 9(color) Location 0 Decorate 11 ArrayStride 1 + Decorate 12(Vertices) Block MemberDecorate 12(Vertices) 0 NonWritable MemberDecorate 12(Vertices) 0 Offset 0 - Decorate 12(Vertices) Block - Decorate 14 DescriptorSet 0 Decorate 14 Binding 0 + Decorate 14 DescriptorSet 0 Decorate 18(gl_VertexIndex) BuiltIn VertexIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out b/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out index e7ec5ed3..2aa51a8e 100644 --- a/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out +++ b/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out @@ -19,10 +19,10 @@ spv.1.3.8bitstorage-ubo.vert Name 20 "gl_VertexIndex" Decorate 9(color) Location 0 Decorate 13 ArrayStride 16 - MemberDecorate 14(Vertices) 0 Offset 0 Decorate 14(Vertices) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14(Vertices) 0 Offset 0 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 20(gl_VertexIndex) BuiltIn VertexIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.1.3.coopmat.comp.out b/Test/baseResults/spv.1.3.coopmat.comp.out index 6b15772d..b14f0577 100644 --- a/Test/baseResults/spv.1.3.coopmat.comp.out +++ b/Test/baseResults/spv.1.3.coopmat.comp.out @@ -26,11 +26,11 @@ spv.1.3.coopmat.comp Name 35 "block" Decorate 31 ArrayStride 4 Decorate 32 ArrayStride 4 + Decorate 33(Block) Block MemberDecorate 33(Block) 0 Offset 0 MemberDecorate 33(Block) 1 Offset 4194304 - Decorate 33(Block) Block - Decorate 35(block) DescriptorSet 0 Decorate 35(block) Binding 0 + Decorate 35(block) DescriptorSet 0 Decorate 51 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.1.4.OpCopyLogical.comp.out b/Test/baseResults/spv.1.4.OpCopyLogical.comp.out index ad0397b3..f82a144c 100644 --- a/Test/baseResults/spv.1.4.OpCopyLogical.comp.out +++ b/Test/baseResults/spv.1.4.OpCopyLogical.comp.out @@ -48,35 +48,35 @@ spv.1.4.OpCopyLogical.comp Decorate 15 ArrayStride 8 MemberDecorate 16(MyStruct) 0 Offset 0 MemberDecorate 16(MyStruct) 1 Offset 16 - MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 17(SSBO0) Block - Decorate 19(inBuf) DescriptorSet 0 + MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 19(inBuf) Binding 0 - MemberDecorate 25(SSBO1) 0 Offset 0 + Decorate 19(inBuf) DescriptorSet 0 Decorate 25(SSBO1) Block - Decorate 27(outBuf) DescriptorSet 0 + MemberDecorate 25(SSBO1) 0 Offset 0 Decorate 27(outBuf) Binding 1 + Decorate 27(outBuf) DescriptorSet 0 Decorate 31 ArrayStride 16 MemberDecorate 32(MyStruct) 0 Offset 0 MemberDecorate 32(MyStruct) 1 Offset 32 - MemberDecorate 33(UBO) 0 Offset 0 Decorate 33(UBO) Block - Decorate 35(uBuf) DescriptorSet 0 + MemberDecorate 33(UBO) 0 Offset 0 Decorate 35(uBuf) Binding 2 + Decorate 35(uBuf) DescriptorSet 0 Decorate 47 ArrayStride 48 MemberDecorate 48(Nested) 0 Offset 0 MemberDecorate 48(Nested) 1 Offset 16 - MemberDecorate 49(UBON) 0 Offset 0 Decorate 49(UBON) Block - Decorate 51(uBufN) DescriptorSet 0 + MemberDecorate 49(UBON) 0 Offset 0 Decorate 51(uBufN) Binding 2 + Decorate 51(uBufN) DescriptorSet 0 Decorate 56 ArrayStride 24 MemberDecorate 57(Nested) 0 Offset 0 MemberDecorate 57(Nested) 1 Offset 8 - MemberDecorate 58(SSBO1N) 0 Offset 0 Decorate 58(SSBO1N) Block - Decorate 60(outBufN) DescriptorSet 0 + MemberDecorate 58(SSBO1N) 0 Offset 0 Decorate 60(outBufN) Binding 1 + Decorate 60(outBufN) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out b/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out index 850ee915..c37bca66 100644 --- a/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out +++ b/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out @@ -30,12 +30,12 @@ spv.1.4.OpCopyLogical.funcall.frag Name 47 "param" Name 55 "param" MemberDecorate 22(S) 0 ColMajor - MemberDecorate 22(S) 0 Offset 0 MemberDecorate 22(S) 0 MatrixStride 16 - MemberDecorate 23(blockName) 0 Offset 0 + MemberDecorate 22(S) 0 Offset 0 Decorate 23(blockName) Block - Decorate 25 DescriptorSet 0 + MemberDecorate 23(blockName) 0 Offset 0 Decorate 25 Binding 0 + Decorate 25 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out b/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out index 7b525959..0e6f6a61 100644 --- a/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out +++ b/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out @@ -48,35 +48,35 @@ spv.1.4.OpCopyLogicalBool.comp Decorate 15 ArrayStride 8 MemberDecorate 16(MyStruct) 0 Offset 0 MemberDecorate 16(MyStruct) 1 Offset 16 - MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 17(SSBO0) Block - Decorate 19(inBuf) DescriptorSet 0 + MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 19(inBuf) Binding 0 - MemberDecorate 35(SSBO1) 0 Offset 0 + Decorate 19(inBuf) DescriptorSet 0 Decorate 35(SSBO1) Block - Decorate 37(outBuf) DescriptorSet 0 + MemberDecorate 35(SSBO1) 0 Offset 0 Decorate 37(outBuf) Binding 1 + Decorate 37(outBuf) DescriptorSet 0 Decorate 49 ArrayStride 16 MemberDecorate 50(MyStruct) 0 Offset 0 MemberDecorate 50(MyStruct) 1 Offset 32 - MemberDecorate 51(UBO) 0 Offset 0 Decorate 51(UBO) Block - Decorate 53(uBuf) DescriptorSet 0 + MemberDecorate 51(UBO) 0 Offset 0 Decorate 53(uBuf) Binding 2 + Decorate 53(uBuf) DescriptorSet 0 Decorate 75 ArrayStride 48 MemberDecorate 76(Nested) 0 Offset 0 MemberDecorate 76(Nested) 1 Offset 16 - MemberDecorate 77(UBON) 0 Offset 0 Decorate 77(UBON) Block - Decorate 79(uBufN) DescriptorSet 0 + MemberDecorate 77(UBON) 0 Offset 0 Decorate 79(uBufN) Binding 2 + Decorate 79(uBufN) DescriptorSet 0 Decorate 105 ArrayStride 24 MemberDecorate 106(Nested) 0 Offset 0 MemberDecorate 106(Nested) 1 Offset 8 - MemberDecorate 107(SSBO1N) 0 Offset 0 Decorate 107(SSBO1N) Block - Decorate 109(outBufN) DescriptorSet 0 + MemberDecorate 107(SSBO1N) 0 Offset 0 Decorate 109(outBufN) Binding 1 + Decorate 109(outBufN) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.4.OpEntryPoint.frag.out b/Test/baseResults/spv.1.4.OpEntryPoint.frag.out index f37b0fdf..dd7dbbb9 100644 --- a/Test/baseResults/spv.1.4.OpEntryPoint.frag.out +++ b/Test/baseResults/spv.1.4.OpEntryPoint.frag.out @@ -25,16 +25,16 @@ spv.1.4.OpEntryPoint.frag Name 41 "bufferv" Decorate 11(inv) Location 0 Decorate 17(outv) Location 0 - MemberDecorate 23(ubt) 0 Offset 0 Decorate 23(ubt) Block - Decorate 25(uniformv) DescriptorSet 0 + MemberDecorate 23(ubt) 0 Offset 0 Decorate 25(uniformv) Binding 0 - MemberDecorate 31(pushB) 0 Offset 0 + Decorate 25(uniformv) DescriptorSet 0 Decorate 31(pushB) Block - MemberDecorate 39(bbt) 0 Offset 0 + MemberDecorate 31(pushB) 0 Offset 0 Decorate 39(bbt) Block - Decorate 41(bufferv) DescriptorSet 0 + MemberDecorate 39(bbt) 0 Offset 0 Decorate 41(bufferv) Binding 1 + Decorate 41(bufferv) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out b/Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out index dff799f0..4a394014 100644 --- a/Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out +++ b/Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out @@ -18,12 +18,12 @@ spv.1.4.OpEntryPoint.opaqueParams.vert Name 41 "s2D" Name 42 "t2D" Name 43 "s" - Decorate 41(s2D) DescriptorSet 0 Decorate 41(s2D) Binding 0 - Decorate 42(t2D) DescriptorSet 0 + Decorate 41(s2D) DescriptorSet 0 Decorate 42(t2D) Binding 1 - Decorate 43(s) DescriptorSet 0 + Decorate 42(t2D) DescriptorSet 0 Decorate 43(s) Binding 3 + Decorate 43(s) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.4.constructComposite.comp.out b/Test/baseResults/spv.1.4.constructComposite.comp.out index e896cf80..d228e20d 100644 --- a/Test/baseResults/spv.1.4.constructComposite.comp.out +++ b/Test/baseResults/spv.1.4.constructComposite.comp.out @@ -27,10 +27,10 @@ spv.1.4.constructComposite.comp MemberDecorate 11(sA) 0 Offset 0 MemberDecorate 11(sA) 1 Offset 4 MemberDecorate 12(sB) 0 Offset 0 - MemberDecorate 13(ubo) 0 Offset 0 Decorate 13(ubo) Block - Decorate 15 DescriptorSet 0 + MemberDecorate 13(ubo) 0 Offset 0 Decorate 15 Binding 0 + Decorate 15 DescriptorSet 0 Decorate 26 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.1.4.funcall.array.frag.out b/Test/baseResults/spv.1.4.funcall.array.frag.out index 6a23f2aa..a7fec762 100644 --- a/Test/baseResults/spv.1.4.funcall.array.frag.out +++ b/Test/baseResults/spv.1.4.funcall.array.frag.out @@ -22,10 +22,10 @@ spv.1.4.funcall.array.frag Name 40 "param" Decorate 27(color) Location 0 Decorate 28 ArrayStride 16 - MemberDecorate 29(ub) 0 Offset 0 Decorate 29(ub) Block - Decorate 31 DescriptorSet 0 + MemberDecorate 29(ub) 0 Offset 0 Decorate 31 Binding 0 + Decorate 31 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.4.image.frag.out b/Test/baseResults/spv.1.4.image.frag.out index 059ed196..5feb0daf 100644 --- a/Test/baseResults/spv.1.4.image.frag.out +++ b/Test/baseResults/spv.1.4.image.frag.out @@ -23,20 +23,20 @@ spv.1.4.image.frag Name 89 "ui2DMS" Name 100 "fragData" Name 103 "value" - Decorate 26(i2D) DescriptorSet 0 Decorate 26(i2D) Binding 1 + Decorate 26(i2D) DescriptorSet 0 Decorate 30(ic2D) Flat Decorate 30(ic2D) Location 0 - Decorate 40(ii2D) DescriptorSet 0 Decorate 40(ii2D) Binding 12 - Decorate 52(ui2D) DescriptorSet 0 + Decorate 40(ii2D) DescriptorSet 0 Decorate 52(ui2D) Binding 12 - Decorate 64(i2DMS) DescriptorSet 0 + Decorate 52(ui2D) DescriptorSet 0 Decorate 64(i2DMS) Binding 9 - Decorate 77(ii2DMS) DescriptorSet 0 + Decorate 64(i2DMS) DescriptorSet 0 Decorate 77(ii2DMS) Binding 13 - Decorate 89(ui2DMS) DescriptorSet 0 + Decorate 77(ii2DMS) DescriptorSet 0 Decorate 89(ui2DMS) Binding 13 + Decorate 89(ui2DMS) DescriptorSet 0 Decorate 100(fragData) Location 0 Decorate 103(value) Flat Decorate 103(value) Location 1 diff --git a/Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out b/Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out index fea83ab3..507434fd 100644 --- a/Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out +++ b/Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out @@ -20,16 +20,16 @@ Validation failed Name 61 "color" Decorate 8 ArrayStride 4 Decorate 10 ArrayStride 12 - MemberDecorate 11(ssbo) 0 Offset 0 Decorate 11(ssbo) Block - Decorate 13 DescriptorSet 0 + MemberDecorate 11(ssbo) 0 Offset 0 Decorate 13 Binding 1 + Decorate 13 DescriptorSet 0 Decorate 16 ArrayStride 16 Decorate 17 ArrayStride 48 - MemberDecorate 18(ub) 0 Offset 0 Decorate 18(ub) Block - Decorate 20 DescriptorSet 0 + MemberDecorate 18(ub) 0 Offset 0 Decorate 20 Binding 0 + Decorate 20 DescriptorSet 0 Decorate 61(color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.1.4.sparseTexture.frag.out b/Test/baseResults/spv.1.4.sparseTexture.frag.out index a26ae66e..214a02f8 100644 --- a/Test/baseResults/spv.1.4.sparseTexture.frag.out +++ b/Test/baseResults/spv.1.4.sparseTexture.frag.out @@ -47,21 +47,21 @@ spv.1.4.sparseTexture.frag Name 206 "c3" Name 208 "c4" Name 212 "offsets" - Decorate 29(s2D) DescriptorSet 0 Decorate 29(s2D) Binding 0 + Decorate 29(s2D) DescriptorSet 0 Decorate 33(c2) Location 0 - Decorate 46(is2D) DescriptorSet 0 Decorate 46(is2D) Binding 1 - Decorate 63(us2D) DescriptorSet 0 + Decorate 46(is2D) DescriptorSet 0 Decorate 63(us2D) Binding 2 - Decorate 149(i2D) DescriptorSet 0 + Decorate 63(us2D) DescriptorSet 0 Decorate 149(i2D) Binding 3 + Decorate 149(i2D) DescriptorSet 0 Decorate 152(ic2) Flat Decorate 152(ic2) Location 3 - Decorate 162(ii2DMS) DescriptorSet 0 Decorate 162(ii2DMS) Binding 4 - Decorate 177(ui3D) DescriptorSet 0 + Decorate 162(ii2DMS) DescriptorSet 0 Decorate 177(ui3D) Binding 5 + Decorate 177(ui3D) DescriptorSet 0 Decorate 181(ic3) Flat Decorate 181(ic3) Location 4 Decorate 189(outColor) Location 0 diff --git a/Test/baseResults/spv.1.4.texture.frag.out b/Test/baseResults/spv.1.4.texture.frag.out index 6d28e1f0..352b9210 100644 --- a/Test/baseResults/spv.1.4.texture.frag.out +++ b/Test/baseResults/spv.1.4.texture.frag.out @@ -19,13 +19,13 @@ spv.1.4.texture.frag Name 54 "iLod" Name 76 "t" Name 78 "color" - Decorate 15(texSampler2D) DescriptorSet 0 Decorate 15(texSampler2D) Binding 0 + Decorate 15(texSampler2D) DescriptorSet 0 Decorate 19(coords2D) Location 1 - Decorate 28(itexSampler2D) DescriptorSet 0 Decorate 28(itexSampler2D) Binding 1 - Decorate 40(utexSampler2D) DescriptorSet 0 + Decorate 28(itexSampler2D) DescriptorSet 0 Decorate 40(utexSampler2D) Binding 2 + Decorate 40(utexSampler2D) DescriptorSet 0 Decorate 51(iCoords2D) Flat Decorate 51(iCoords2D) Location 2 Decorate 54(iLod) Flat diff --git a/Test/baseResults/spv.1.6.conditionalDiscard.frag.out b/Test/baseResults/spv.1.6.conditionalDiscard.frag.out index 6364773d..aa631f3a 100644 --- a/Test/baseResults/spv.1.6.conditionalDiscard.frag.out +++ b/Test/baseResults/spv.1.6.conditionalDiscard.frag.out @@ -14,8 +14,8 @@ spv.1.6.conditionalDiscard.frag Name 13 "tex" Name 17 "coord" Name 34 "gl_FragColor" - Decorate 13(tex) DescriptorSet 0 Decorate 13(tex) Binding 0 + Decorate 13(tex) DescriptorSet 0 Decorate 17(coord) Location 0 Decorate 34(gl_FragColor) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.1.6.helperInvocation.memmodel.frag.out b/Test/baseResults/spv.1.6.helperInvocation.memmodel.frag.out index fea4e458..10ca5df2 100644 --- a/Test/baseResults/spv.1.6.helperInvocation.memmodel.frag.out +++ b/Test/baseResults/spv.1.6.helperInvocation.memmodel.frag.out @@ -18,10 +18,10 @@ spv.1.6.helperInvocation.memmodel.frag MemberName 7(B) 0 "o" Name 9 "" Name 14 "gl_HelperInvocation" - MemberDecorate 7(B) 0 Offset 0 Decorate 7(B) Block - Decorate 9 DescriptorSet 0 + MemberDecorate 7(B) 0 Offset 0 Decorate 9 Binding 0 + Decorate 9 DescriptorSet 0 Decorate 14(gl_HelperInvocation) BuiltIn HelperInvocation 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.1.6.samplerBuffer.frag.out b/Test/baseResults/spv.1.6.samplerBuffer.frag.out index 1bd52da9..eef89e93 100644 --- a/Test/baseResults/spv.1.6.samplerBuffer.frag.out +++ b/Test/baseResults/spv.1.6.samplerBuffer.frag.out @@ -15,8 +15,8 @@ spv.1.6.samplerBuffer.frag Name 9 "o" Name 13 "sampB" Decorate 9(o) Location 0 - Decorate 13(sampB) DescriptorSet 0 Decorate 13(sampB) Binding 0 + Decorate 13(sampB) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.6.separate.frag.out b/Test/baseResults/spv.1.6.separate.frag.out index f485fad1..3037fab1 100644 --- a/Test/baseResults/spv.1.6.separate.frag.out +++ b/Test/baseResults/spv.1.6.separate.frag.out @@ -15,14 +15,14 @@ spv.1.6.separate.frag Name 13 "s" Name 18 "itexBuffer" Name 24 "utexBuffer" - Decorate 9(texBuffer) DescriptorSet 0 Decorate 9(texBuffer) Binding 1 - Decorate 13(s) DescriptorSet 0 + Decorate 9(texBuffer) DescriptorSet 0 Decorate 13(s) Binding 0 - Decorate 18(itexBuffer) DescriptorSet 0 + Decorate 13(s) DescriptorSet 0 Decorate 18(itexBuffer) Binding 2 - Decorate 24(utexBuffer) DescriptorSet 0 + Decorate 18(itexBuffer) DescriptorSet 0 Decorate 24(utexBuffer) Binding 3 + Decorate 24(utexBuffer) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.6.specConstant.comp.out b/Test/baseResults/spv.1.6.specConstant.comp.out index 2c32fbd6..13eb93c6 100644 --- a/Test/baseResults/spv.1.6.specConstant.comp.out +++ b/Test/baseResults/spv.1.6.specConstant.comp.out @@ -18,10 +18,10 @@ spv.1.6.specConstant.comp Name 37 "param" Decorate 7 SpecId 18 Decorate 9 SpecId 19 - MemberDecorate 16(bn) 0 Offset 0 Decorate 16(bn) Block - Decorate 18(bi) DescriptorSet 0 + MemberDecorate 16(bn) 0 Offset 0 Decorate 18(bi) Binding 0 + Decorate 18(bi) DescriptorSet 0 Decorate 25 SpecId 18 Decorate 26 SpecId 19 2: TypeVoid diff --git a/Test/baseResults/spv.130.frag.out b/Test/baseResults/spv.130.frag.out index 84fa9a3f..8e6c1182 100644 --- a/Test/baseResults/spv.130.frag.out +++ b/Test/baseResults/spv.130.frag.out @@ -59,45 +59,45 @@ Validation failed Name 203 "s1D" Name 204 "s2DS" Decorate 17(o) Location 0 - Decorate 21(samp2D) DescriptorSet 0 Decorate 21(samp2D) Binding 2 - Decorate 37(samp2DA) DescriptorSet 0 + Decorate 21(samp2D) DescriptorSet 0 Decorate 37(samp2DA) Binding 5 - Decorate 47(samp2DR) DescriptorSet 0 + Decorate 37(samp2DA) DescriptorSet 0 Decorate 47(samp2DR) Binding 4 - Decorate 55(samp2DS) DescriptorSet 0 + Decorate 47(samp2DR) DescriptorSet 0 Decorate 55(samp2DS) Binding 3 + Decorate 55(samp2DS) DescriptorSet 0 Decorate 68(io) Location 1 - Decorate 72(Sca) DescriptorSet 0 Decorate 72(Sca) Binding 6 + Decorate 72(Sca) DescriptorSet 0 Decorate 79(i) Location 0 - Decorate 87(Isca) DescriptorSet 0 Decorate 87(Isca) Binding 7 + Decorate 87(Isca) DescriptorSet 0 Decorate 99(uo) Location 2 - Decorate 103(Usca) DescriptorSet 0 Decorate 103(Usca) Binding 8 - Decorate 118(Scas) DescriptorSet 0 + Decorate 103(Usca) DescriptorSet 0 Decorate 118(Scas) Binding 9 - Decorate 167(sampC) DescriptorSet 0 + Decorate 118(Scas) DescriptorSet 0 Decorate 167(sampC) Binding 1 + Decorate 167(sampC) DescriptorSet 0 Decorate 173(gl_ClipDistance) BuiltIn ClipDistance Decorate 184(fflat) Flat Decorate 184(fflat) Location 1 Decorate 185(fsmooth) Location 2 Decorate 186(fnop) NoPerspective Decorate 186(fnop) Location 3 - Decorate 193(bounds) DescriptorSet 0 Decorate 193(bounds) Binding 0 - Decorate 194(s2D) DescriptorSet 0 + Decorate 193(bounds) DescriptorSet 0 Decorate 194(s2D) Binding 0 - Decorate 195(s2DR) DescriptorSet 0 + Decorate 194(s2D) DescriptorSet 0 Decorate 195(s2DR) Binding 0 - Decorate 199(s2DRS) DescriptorSet 0 + Decorate 195(s2DR) DescriptorSet 0 Decorate 199(s2DRS) Binding 0 - Decorate 203(s1D) DescriptorSet 0 + Decorate 199(s2DRS) DescriptorSet 0 Decorate 203(s1D) Binding 0 - Decorate 204(s2DS) DescriptorSet 0 + Decorate 203(s1D) DescriptorSet 0 Decorate 204(s2DS) Binding 0 + Decorate 204(s2DS) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 14: TypeFloat 32 diff --git a/Test/baseResults/spv.140.frag.out b/Test/baseResults/spv.140.frag.out index a4401a28..be76ab44 100644 --- a/Test/baseResults/spv.140.frag.out +++ b/Test/baseResults/spv.140.frag.out @@ -40,37 +40,37 @@ Validation failed Decorate 23(o) Location 0 Decorate 28(gl_ClipDistance) BuiltIn ClipDistance Decorate 38(k) Location 0 - Decorate 50(sampR) DescriptorSet 0 Decorate 50(sampR) Binding 0 - Decorate 58(sampB) DescriptorSet 0 + Decorate 50(sampR) DescriptorSet 0 Decorate 58(sampB) Binding 1 - Decorate 82(samp2Da) DescriptorSet 0 + Decorate 58(sampB) DescriptorSet 0 Decorate 82(samp2Da) Binding 0 + Decorate 82(samp2Da) DescriptorSet 0 Decorate 85 ArrayStride 64 Decorate 86 ArrayStride 64 - MemberDecorate 87(bn) 0 RowMajor - MemberDecorate 87(bn) 0 Offset 0 - MemberDecorate 87(bn) 0 MatrixStride 16 - MemberDecorate 87(bn) 1 ColMajor - MemberDecorate 87(bn) 1 Offset 256 - MemberDecorate 87(bn) 1 MatrixStride 16 - MemberDecorate 87(bn) 2 RowMajor - MemberDecorate 87(bn) 2 Offset 512 - MemberDecorate 87(bn) 2 MatrixStride 16 - MemberDecorate 87(bn) 3 ColMajor - MemberDecorate 87(bn) 3 Offset 576 - MemberDecorate 87(bn) 3 MatrixStride 16 - MemberDecorate 87(bn) 4 RowMajor - MemberDecorate 87(bn) 4 Offset 1024 - MemberDecorate 87(bn) 4 MatrixStride 16 Decorate 87(bn) Block - Decorate 89 DescriptorSet 0 + MemberDecorate 87(bn) 0 RowMajor + MemberDecorate 87(bn) 0 MatrixStride 16 + MemberDecorate 87(bn) 0 Offset 0 + MemberDecorate 87(bn) 1 ColMajor + MemberDecorate 87(bn) 1 MatrixStride 16 + MemberDecorate 87(bn) 1 Offset 256 + MemberDecorate 87(bn) 2 RowMajor + MemberDecorate 87(bn) 2 MatrixStride 16 + MemberDecorate 87(bn) 2 Offset 512 + MemberDecorate 87(bn) 3 ColMajor + MemberDecorate 87(bn) 3 MatrixStride 16 + MemberDecorate 87(bn) 3 Offset 576 + MemberDecorate 87(bn) 4 RowMajor + MemberDecorate 87(bn) 4 MatrixStride 16 + MemberDecorate 87(bn) 4 Offset 1024 Decorate 89 Binding 0 + Decorate 89 DescriptorSet 0 Decorate 91 ArrayStride 16 - MemberDecorate 92(bi) 0 Offset 0 Decorate 92(bi) Block - Decorate 95(bname) DescriptorSet 0 + MemberDecorate 92(bi) 0 Offset 0 Decorate 95(bname) Binding 0 + Decorate 95(bname) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.150.geom.out b/Test/baseResults/spv.150.geom.out index b6e22e16..1acde693 100644 --- a/Test/baseResults/spv.150.geom.out +++ b/Test/baseResults/spv.150.geom.out @@ -38,27 +38,27 @@ spv.150.geom MemberName 68(toFragment) 0 "color" Name 70 "toF" Decorate 8(fromVertex) Block - Decorate 10 Location 1 Decorate 10 Stream 3 + Decorate 10 Location 1 Decorate 13(fromVertex) Block Decorate 18(fromV) Location 0 + Decorate 27(gl_PerVertex) Block MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 27(gl_PerVertex) Block Decorate 29 Stream 0 + Decorate 30(gl_PerVertex) Block MemberDecorate 30(gl_PerVertex) 0 BuiltIn Position MemberDecorate 30(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 30(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 30(gl_PerVertex) Block - Decorate 47(gl_PrimitiveID) Stream 0 Decorate 47(gl_PrimitiveID) BuiltIn PrimitiveId + Decorate 47(gl_PrimitiveID) Stream 0 Decorate 49(gl_PrimitiveIDIn) BuiltIn PrimitiveId - Decorate 51(gl_Layer) Stream 0 Decorate 51(gl_Layer) BuiltIn Layer + Decorate 51(gl_Layer) Stream 0 Decorate 68(toFragment) Block - Decorate 70(toF) Location 0 Decorate 70(toF) Stream 3 + Decorate 70(toF) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.150.vert.out b/Test/baseResults/spv.150.vert.out index 167a15e3..a5513ace 100644 --- a/Test/baseResults/spv.150.vert.out +++ b/Test/baseResults/spv.150.vert.out @@ -28,16 +28,16 @@ spv.150.vert Name 40 "i" Name 47 "s2D" Name 62 "ui" - MemberDecorate 11(gl_PerVertex) 0 Invariant + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 11(gl_PerVertex) 0 Invariant MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 11(gl_PerVertex) Block Decorate 17(iv4) Location 0 Decorate 23(ps) Location 1 Decorate 38(s2out) Location 0 - Decorate 47(s2D) DescriptorSet 0 Decorate 47(s2D) Binding 0 + Decorate 47(s2D) DescriptorSet 0 Decorate 62(ui) Location 2 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.16bitstorage-int.frag.out b/Test/baseResults/spv.16bitstorage-int.frag.out index bced9d30..07db828e 100644 --- a/Test/baseResults/spv.16bitstorage-int.frag.out +++ b/Test/baseResults/spv.16bitstorage-int.frag.out @@ -83,6 +83,7 @@ spv.16bitstorage-int.frag Decorate 13 ArrayStride 16 Decorate 15 ArrayStride 4 Decorate 16 ArrayStride 2 + Decorate 17(B2) BufferBlock MemberDecorate 17(B2) 0 Offset 0 MemberDecorate 17(B2) 1 Offset 4 MemberDecorate 17(B2) 2 Offset 8 @@ -91,14 +92,14 @@ spv.16bitstorage-int.frag MemberDecorate 17(B2) 5 Offset 40 MemberDecorate 17(B2) 6 Offset 72 MemberDecorate 17(B2) 7 Offset 472 - Decorate 17(B2) BufferBlock - Decorate 19(b2) DescriptorSet 0 Decorate 19(b2) Binding 1 + Decorate 19(b2) DescriptorSet 0 Decorate 22 ArrayStride 16 MemberDecorate 23(S) 0 Offset 0 MemberDecorate 23(S) 1 Offset 4 MemberDecorate 23(S) 2 Offset 8 Decorate 24 ArrayStride 16 + Decorate 25(B1) Block MemberDecorate 25(B1) 0 Offset 0 MemberDecorate 25(B1) 1 Offset 4 MemberDecorate 25(B1) 2 Offset 8 @@ -106,9 +107,8 @@ spv.16bitstorage-int.frag MemberDecorate 25(B1) 4 Offset 48 MemberDecorate 25(B1) 5 Offset 64 MemberDecorate 25(B1) 6 Offset 96 - Decorate 25(B1) Block - Decorate 27(b1) DescriptorSet 0 Decorate 27(b1) Binding 0 + Decorate 27(b1) DescriptorSet 0 Decorate 44 ArrayStride 16 MemberDecorate 45(S) 0 Offset 0 MemberDecorate 45(S) 1 Offset 4 @@ -116,6 +116,7 @@ spv.16bitstorage-int.frag Decorate 46 ArrayStride 16 Decorate 47 ArrayStride 16 Decorate 48 ArrayStride 16 + Decorate 49(B5) Block MemberDecorate 49(B5) 0 Offset 0 MemberDecorate 49(B5) 1 Offset 4 MemberDecorate 49(B5) 2 Offset 8 @@ -124,29 +125,28 @@ spv.16bitstorage-int.frag MemberDecorate 49(B5) 5 Offset 64 MemberDecorate 49(B5) 6 Offset 96 MemberDecorate 49(B5) 7 Offset 1696 - Decorate 49(B5) Block - Decorate 51(b5) DescriptorSet 0 Decorate 51(b5) Binding 2 + Decorate 51(b5) DescriptorSet 0 MemberDecorate 88(S2) 0 ColMajor - MemberDecorate 88(S2) 0 Offset 0 MemberDecorate 88(S2) 0 MatrixStride 16 + MemberDecorate 88(S2) 0 Offset 0 MemberDecorate 88(S2) 1 Offset 64 MemberDecorate 88(S2) 2 Offset 68 MemberDecorate 89(S3) 0 Offset 0 + Decorate 90(B4) BufferBlock MemberDecorate 90(B4) 0 Offset 0 MemberDecorate 90(B4) 1 Offset 80 - Decorate 90(B4) BufferBlock - Decorate 92(b4) DescriptorSet 0 Decorate 92(b4) Binding 4 + Decorate 92(b4) DescriptorSet 0 MemberDecorate 93(S2) 0 RowMajor - MemberDecorate 93(S2) 0 Offset 0 MemberDecorate 93(S2) 0 MatrixStride 16 + MemberDecorate 93(S2) 0 Offset 0 MemberDecorate 93(S2) 1 Offset 64 MemberDecorate 93(S2) 2 Offset 68 - MemberDecorate 94(B3) 0 Offset 0 Decorate 94(B3) BufferBlock - Decorate 96(b3) DescriptorSet 0 + MemberDecorate 94(B3) 0 Offset 0 Decorate 96(b3) Binding 3 + Decorate 96(b3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 16 1 diff --git a/Test/baseResults/spv.16bitstorage-uint.frag.out b/Test/baseResults/spv.16bitstorage-uint.frag.out index adf5237b..8b169f3a 100644 --- a/Test/baseResults/spv.16bitstorage-uint.frag.out +++ b/Test/baseResults/spv.16bitstorage-uint.frag.out @@ -83,6 +83,7 @@ spv.16bitstorage-uint.frag Decorate 13 ArrayStride 16 Decorate 15 ArrayStride 4 Decorate 16 ArrayStride 2 + Decorate 17(B2) BufferBlock MemberDecorate 17(B2) 0 Offset 0 MemberDecorate 17(B2) 1 Offset 4 MemberDecorate 17(B2) 2 Offset 8 @@ -91,14 +92,14 @@ spv.16bitstorage-uint.frag MemberDecorate 17(B2) 5 Offset 40 MemberDecorate 17(B2) 6 Offset 72 MemberDecorate 17(B2) 7 Offset 472 - Decorate 17(B2) BufferBlock - Decorate 19(b2) DescriptorSet 0 Decorate 19(b2) Binding 1 + Decorate 19(b2) DescriptorSet 0 Decorate 22 ArrayStride 16 MemberDecorate 23(S) 0 Offset 0 MemberDecorate 23(S) 1 Offset 4 MemberDecorate 23(S) 2 Offset 8 Decorate 24 ArrayStride 16 + Decorate 25(B1) Block MemberDecorate 25(B1) 0 Offset 0 MemberDecorate 25(B1) 1 Offset 4 MemberDecorate 25(B1) 2 Offset 8 @@ -106,9 +107,8 @@ spv.16bitstorage-uint.frag MemberDecorate 25(B1) 4 Offset 48 MemberDecorate 25(B1) 5 Offset 64 MemberDecorate 25(B1) 6 Offset 96 - Decorate 25(B1) Block - Decorate 27(b1) DescriptorSet 0 Decorate 27(b1) Binding 0 + Decorate 27(b1) DescriptorSet 0 Decorate 44 ArrayStride 16 MemberDecorate 45(S) 0 Offset 0 MemberDecorate 45(S) 1 Offset 4 @@ -116,6 +116,7 @@ spv.16bitstorage-uint.frag Decorate 46 ArrayStride 16 Decorate 47 ArrayStride 16 Decorate 48 ArrayStride 16 + Decorate 49(B5) Block MemberDecorate 49(B5) 0 Offset 0 MemberDecorate 49(B5) 1 Offset 4 MemberDecorate 49(B5) 2 Offset 8 @@ -124,29 +125,28 @@ spv.16bitstorage-uint.frag MemberDecorate 49(B5) 5 Offset 64 MemberDecorate 49(B5) 6 Offset 96 MemberDecorate 49(B5) 7 Offset 1696 - Decorate 49(B5) Block - Decorate 51(b5) DescriptorSet 0 Decorate 51(b5) Binding 2 + Decorate 51(b5) DescriptorSet 0 MemberDecorate 89(S2) 0 ColMajor - MemberDecorate 89(S2) 0 Offset 0 MemberDecorate 89(S2) 0 MatrixStride 16 + MemberDecorate 89(S2) 0 Offset 0 MemberDecorate 89(S2) 1 Offset 64 MemberDecorate 89(S2) 2 Offset 68 MemberDecorate 90(S3) 0 Offset 0 + Decorate 91(B4) BufferBlock MemberDecorate 91(B4) 0 Offset 0 MemberDecorate 91(B4) 1 Offset 80 - Decorate 91(B4) BufferBlock - Decorate 93(b4) DescriptorSet 0 Decorate 93(b4) Binding 4 + Decorate 93(b4) DescriptorSet 0 MemberDecorate 94(S2) 0 RowMajor - MemberDecorate 94(S2) 0 Offset 0 MemberDecorate 94(S2) 0 MatrixStride 16 + MemberDecorate 94(S2) 0 Offset 0 MemberDecorate 94(S2) 1 Offset 64 MemberDecorate 94(S2) 2 Offset 68 - MemberDecorate 95(B3) 0 Offset 0 Decorate 95(B3) BufferBlock - Decorate 97(b3) DescriptorSet 0 + MemberDecorate 95(B3) 0 Offset 0 Decorate 97(b3) Binding 3 + Decorate 97(b3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 16 0 diff --git a/Test/baseResults/spv.16bitstorage.frag.out b/Test/baseResults/spv.16bitstorage.frag.out index bb1b1642..f62f17ac 100644 --- a/Test/baseResults/spv.16bitstorage.frag.out +++ b/Test/baseResults/spv.16bitstorage.frag.out @@ -83,6 +83,7 @@ spv.16bitstorage.frag Decorate 13 ArrayStride 16 Decorate 15 ArrayStride 4 Decorate 16 ArrayStride 2 + Decorate 17(B2) BufferBlock MemberDecorate 17(B2) 0 Offset 0 MemberDecorate 17(B2) 1 Offset 4 MemberDecorate 17(B2) 2 Offset 8 @@ -91,14 +92,14 @@ spv.16bitstorage.frag MemberDecorate 17(B2) 5 Offset 40 MemberDecorate 17(B2) 6 Offset 72 MemberDecorate 17(B2) 7 Offset 472 - Decorate 17(B2) BufferBlock - Decorate 19(b2) DescriptorSet 0 Decorate 19(b2) Binding 1 + Decorate 19(b2) DescriptorSet 0 Decorate 22 ArrayStride 16 MemberDecorate 23(S) 0 Offset 0 MemberDecorate 23(S) 1 Offset 4 MemberDecorate 23(S) 2 Offset 8 Decorate 24 ArrayStride 16 + Decorate 25(B1) Block MemberDecorate 25(B1) 0 Offset 0 MemberDecorate 25(B1) 1 Offset 4 MemberDecorate 25(B1) 2 Offset 8 @@ -106,9 +107,8 @@ spv.16bitstorage.frag MemberDecorate 25(B1) 4 Offset 48 MemberDecorate 25(B1) 5 Offset 64 MemberDecorate 25(B1) 6 Offset 96 - Decorate 25(B1) Block - Decorate 27(b1) DescriptorSet 0 Decorate 27(b1) Binding 0 + Decorate 27(b1) DescriptorSet 0 Decorate 45 ArrayStride 16 MemberDecorate 46(S) 0 Offset 0 MemberDecorate 46(S) 1 Offset 4 @@ -116,6 +116,7 @@ spv.16bitstorage.frag Decorate 47 ArrayStride 16 Decorate 48 ArrayStride 16 Decorate 49 ArrayStride 16 + Decorate 50(B5) Block MemberDecorate 50(B5) 0 Offset 0 MemberDecorate 50(B5) 1 Offset 4 MemberDecorate 50(B5) 2 Offset 8 @@ -124,29 +125,28 @@ spv.16bitstorage.frag MemberDecorate 50(B5) 5 Offset 64 MemberDecorate 50(B5) 6 Offset 96 MemberDecorate 50(B5) 7 Offset 1696 - Decorate 50(B5) Block - Decorate 52(b5) DescriptorSet 0 Decorate 52(b5) Binding 2 + Decorate 52(b5) DescriptorSet 0 MemberDecorate 88(S2) 0 ColMajor - MemberDecorate 88(S2) 0 Offset 0 MemberDecorate 88(S2) 0 MatrixStride 16 + MemberDecorate 88(S2) 0 Offset 0 MemberDecorate 88(S2) 1 Offset 64 MemberDecorate 88(S2) 2 Offset 68 MemberDecorate 89(S3) 0 Offset 0 + Decorate 90(B4) BufferBlock MemberDecorate 90(B4) 0 Offset 0 MemberDecorate 90(B4) 1 Offset 80 - Decorate 90(B4) BufferBlock - Decorate 92(b4) DescriptorSet 0 Decorate 92(b4) Binding 4 + Decorate 92(b4) DescriptorSet 0 MemberDecorate 93(S2) 0 RowMajor - MemberDecorate 93(S2) 0 Offset 0 MemberDecorate 93(S2) 0 MatrixStride 16 + MemberDecorate 93(S2) 0 Offset 0 MemberDecorate 93(S2) 1 Offset 64 MemberDecorate 93(S2) 2 Offset 68 - MemberDecorate 94(B3) 0 Offset 0 Decorate 94(B3) BufferBlock - Decorate 96(b3) DescriptorSet 0 + MemberDecorate 94(B3) 0 Offset 0 Decorate 96(b3) Binding 3 + Decorate 96(b3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 16 diff --git a/Test/baseResults/spv.16bitxfb.vert.out b/Test/baseResults/spv.16bitxfb.vert.out index 2dd93d4b..4fe2bf73 100644 --- a/Test/baseResults/spv.16bitxfb.vert.out +++ b/Test/baseResults/spv.16bitxfb.vert.out @@ -31,24 +31,24 @@ spv.16bitxfb.vert Name 46 "" Name 49 "iu16v4" Decorate 9(of16v3) Location 0 + Decorate 9(of16v3) Offset 0 Decorate 9(of16v3) XfbBuffer 0 Decorate 9(of16v3) XfbStride 6 - Decorate 9(of16v3) Offset 0 Decorate 12(if16v4) Location 0 + Decorate 16(F16Out) Block MemberDecorate 16(F16Out) 0 Offset 0 MemberDecorate 16(F16Out) 1 Offset 2 - Decorate 16(F16Out) Block Decorate 18 Location 1 Decorate 18 XfbBuffer 1 Decorate 18 XfbStride 6 Decorate 36(oi16v3) Location 5 + Decorate 36(oi16v3) Offset 0 Decorate 36(oi16v3) XfbBuffer 2 Decorate 36(oi16v3) XfbStride 6 - Decorate 36(oi16v3) Offset 0 Decorate 39(ii16v4) Location 1 + Decorate 44(I16Out) Block MemberDecorate 44(I16Out) 0 Offset 0 MemberDecorate 44(I16Out) 1 Offset 2 - Decorate 44(I16Out) Block Decorate 46 Location 6 Decorate 46 XfbBuffer 3 Decorate 46 XfbStride 6 diff --git a/Test/baseResults/spv.300BuiltIns.vert.out b/Test/baseResults/spv.300BuiltIns.vert.out index 10f115be..b2607d33 100644 --- a/Test/baseResults/spv.300BuiltIns.vert.out +++ b/Test/baseResults/spv.300BuiltIns.vert.out @@ -16,10 +16,10 @@ spv.300BuiltIns.vert Name 14 "ps" Name 21 "gl_VertexIndex" Name 34 "gl_InstanceIndex" - MemberDecorate 8(gl_PerVertex) 0 Invariant - MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position - MemberDecorate 8(gl_PerVertex) 1 BuiltIn PointSize Decorate 8(gl_PerVertex) Block + MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 8(gl_PerVertex) 0 Invariant + MemberDecorate 8(gl_PerVertex) 1 BuiltIn PointSize Decorate 14(ps) RelaxedPrecision Decorate 14(ps) Location 0 Decorate 15 RelaxedPrecision diff --git a/Test/baseResults/spv.300layout.vert.out b/Test/baseResults/spv.300layout.vert.out index 6345aa12..7806b588 100644 --- a/Test/baseResults/spv.300layout.vert.out +++ b/Test/baseResults/spv.300layout.vert.out @@ -38,40 +38,40 @@ spv.300layout.vert Name 128 "s" Decorate 9(pos) Location 0 Decorate 11(p) Location 3 - MemberDecorate 17(Transform) 0 RowMajor - MemberDecorate 17(Transform) 0 Offset 0 - MemberDecorate 17(Transform) 0 MatrixStride 16 - MemberDecorate 17(Transform) 1 ColMajor - MemberDecorate 17(Transform) 1 Offset 64 - MemberDecorate 17(Transform) 1 MatrixStride 16 - MemberDecorate 17(Transform) 2 RowMajor - MemberDecorate 17(Transform) 2 Offset 128 - MemberDecorate 17(Transform) 2 MatrixStride 16 - MemberDecorate 17(Transform) 3 Offset 176 Decorate 17(Transform) Block - Decorate 19(tblock) DescriptorSet 0 + MemberDecorate 17(Transform) 0 RowMajor + MemberDecorate 17(Transform) 0 MatrixStride 16 + MemberDecorate 17(Transform) 0 Offset 0 + MemberDecorate 17(Transform) 1 ColMajor + MemberDecorate 17(Transform) 1 MatrixStride 16 + MemberDecorate 17(Transform) 1 Offset 64 + MemberDecorate 17(Transform) 2 RowMajor + MemberDecorate 17(Transform) 2 MatrixStride 16 + MemberDecorate 17(Transform) 2 Offset 128 + MemberDecorate 17(Transform) 3 Offset 176 Decorate 19(tblock) Binding 0 + Decorate 19(tblock) DescriptorSet 0 Decorate 44 ArrayStride 16 - MemberDecorate 45(T3) 0 ColMajor - MemberDecorate 45(T3) 0 Offset 0 - MemberDecorate 45(T3) 0 MatrixStride 16 - MemberDecorate 45(T3) 1 RowMajor - MemberDecorate 45(T3) 1 Offset 64 - MemberDecorate 45(T3) 1 MatrixStride 16 - MemberDecorate 45(T3) 2 ColMajor - MemberDecorate 45(T3) 2 Offset 128 - MemberDecorate 45(T3) 2 MatrixStride 16 - MemberDecorate 45(T3) 3 Offset 2048 Decorate 45(T3) Block - Decorate 47 DescriptorSet 0 + MemberDecorate 45(T3) 0 ColMajor + MemberDecorate 45(T3) 0 MatrixStride 16 + MemberDecorate 45(T3) 0 Offset 0 + MemberDecorate 45(T3) 1 RowMajor + MemberDecorate 45(T3) 1 MatrixStride 16 + MemberDecorate 45(T3) 1 Offset 64 + MemberDecorate 45(T3) 2 ColMajor + MemberDecorate 45(T3) 2 MatrixStride 16 + MemberDecorate 45(T3) 2 Offset 128 + MemberDecorate 45(T3) 3 Offset 2048 Decorate 47 Binding 2 + Decorate 47 DescriptorSet 0 + Decorate 78(T2) Block MemberDecorate 78(T2) 0 Offset 0 MemberDecorate 78(T2) 1 RowMajor - MemberDecorate 78(T2) 1 Offset 16 MemberDecorate 78(T2) 1 MatrixStride 16 - Decorate 78(T2) Block - Decorate 80 DescriptorSet 0 + MemberDecorate 78(T2) 1 Offset 16 Decorate 80 Binding 1 + Decorate 80 DescriptorSet 0 Decorate 98(color) Location 1 Decorate 100(c) Location 7 Decorate 108(iout) Flat diff --git a/Test/baseResults/spv.300layoutp.vert.out b/Test/baseResults/spv.300layoutp.vert.out index d986fb54..cec34743 100644 --- a/Test/baseResults/spv.300layoutp.vert.out +++ b/Test/baseResults/spv.300layoutp.vert.out @@ -38,40 +38,40 @@ spv.300layoutp.vert Name 80 "s" Decorate 9(pos) Location 0 Decorate 11(p) Location 3 - MemberDecorate 17(Transform) 0 RowMajor - MemberDecorate 17(Transform) 0 Offset 0 - MemberDecorate 17(Transform) 0 MatrixStride 16 - MemberDecorate 17(Transform) 1 ColMajor - MemberDecorate 17(Transform) 1 Offset 64 - MemberDecorate 17(Transform) 1 MatrixStride 16 - MemberDecorate 17(Transform) 2 RowMajor - MemberDecorate 17(Transform) 2 Offset 128 - MemberDecorate 17(Transform) 2 MatrixStride 16 - MemberDecorate 17(Transform) 3 Offset 176 Decorate 17(Transform) Block - Decorate 19(tblock) DescriptorSet 0 + MemberDecorate 17(Transform) 0 RowMajor + MemberDecorate 17(Transform) 0 MatrixStride 16 + MemberDecorate 17(Transform) 0 Offset 0 + MemberDecorate 17(Transform) 1 ColMajor + MemberDecorate 17(Transform) 1 MatrixStride 16 + MemberDecorate 17(Transform) 1 Offset 64 + MemberDecorate 17(Transform) 2 RowMajor + MemberDecorate 17(Transform) 2 MatrixStride 16 + MemberDecorate 17(Transform) 2 Offset 128 + MemberDecorate 17(Transform) 3 Offset 176 Decorate 19(tblock) Binding 0 + Decorate 19(tblock) DescriptorSet 0 Decorate 32 ArrayStride 16 - MemberDecorate 33(T3) 0 ColMajor - MemberDecorate 33(T3) 0 Offset 0 - MemberDecorate 33(T3) 0 MatrixStride 16 - MemberDecorate 33(T3) 1 RowMajor - MemberDecorate 33(T3) 1 Offset 64 - MemberDecorate 33(T3) 1 MatrixStride 16 - MemberDecorate 33(T3) 2 ColMajor - MemberDecorate 33(T3) 2 Offset 128 - MemberDecorate 33(T3) 2 MatrixStride 16 - MemberDecorate 33(T3) 3 Offset 160 Decorate 33(T3) Block - Decorate 35 DescriptorSet 0 + MemberDecorate 33(T3) 0 ColMajor + MemberDecorate 33(T3) 0 MatrixStride 16 + MemberDecorate 33(T3) 0 Offset 0 + MemberDecorate 33(T3) 1 RowMajor + MemberDecorate 33(T3) 1 MatrixStride 16 + MemberDecorate 33(T3) 1 Offset 64 + MemberDecorate 33(T3) 2 ColMajor + MemberDecorate 33(T3) 2 MatrixStride 16 + MemberDecorate 33(T3) 2 Offset 128 + MemberDecorate 33(T3) 3 Offset 160 Decorate 35 Binding 2 + Decorate 35 DescriptorSet 0 + Decorate 42(T2) Block MemberDecorate 42(T2) 0 Offset 0 MemberDecorate 42(T2) 1 RowMajor - MemberDecorate 42(T2) 1 Offset 16 MemberDecorate 42(T2) 1 MatrixStride 16 - Decorate 42(T2) Block - Decorate 44 DescriptorSet 0 + MemberDecorate 42(T2) 1 Offset 16 Decorate 44 Binding 1 + Decorate 44 DescriptorSet 0 Decorate 50(color) Location 1 Decorate 52(c) Location 7 Decorate 60(iout) Flat diff --git a/Test/baseResults/spv.310.comp.out b/Test/baseResults/spv.310.comp.out index 459c689b..1b585c7b 100644 --- a/Test/baseResults/spv.310.comp.out +++ b/Test/baseResults/spv.310.comp.out @@ -32,24 +32,24 @@ spv.310.comp Name 53 "gl_LocalInvocationID" Name 65 "gl_DeviceIndex" Decorate 11 ArrayStride 16 + Decorate 12(outb) BufferBlock MemberDecorate 12(outb) 0 Offset 0 MemberDecorate 12(outb) 1 Offset 4 MemberDecorate 12(outb) 2 Offset 8 MemberDecorate 12(outb) 3 Offset 16 - Decorate 12(outb) BufferBlock - Decorate 14(outbname) DescriptorSet 0 Decorate 14(outbname) Binding 0 + Decorate 14(outbname) DescriptorSet 0 + Decorate 23(outbna) BufferBlock MemberDecorate 23(outbna) 0 Offset 0 MemberDecorate 23(outbna) 1 Offset 16 - Decorate 23(outbna) BufferBlock - Decorate 25(outbnamena) DescriptorSet 0 Decorate 25(outbnamena) Binding 1 + Decorate 25(outbnamena) DescriptorSet 0 Decorate 47 ArrayStride 16 + Decorate 48(outs) BufferBlock MemberDecorate 48(outs) 0 Offset 0 MemberDecorate 48(outs) 1 Offset 16 - Decorate 48(outs) BufferBlock - Decorate 50(outnames) DescriptorSet 0 Decorate 50(outnames) Binding 2 + Decorate 50(outnames) DescriptorSet 0 Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 65(gl_DeviceIndex) BuiltIn DeviceIndex Decorate 71 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out b/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out index 197fe602..5d82e66d 100644 --- a/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out +++ b/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out @@ -34,13 +34,13 @@ spv.320.meshShaderUserDefined.mesh Name 106 "blk2" Decorate 12(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 33(myblock) Block MemberDecorate 33(myblock) 0 PerPrimitiveNV MemberDecorate 33(myblock) 1 PerPrimitiveNV MemberDecorate 33(myblock) 2 PerPrimitiveNV MemberDecorate 33(myblock) 3 PerPrimitiveNV MemberDecorate 33(myblock) 4 PerPrimitiveNV MemberDecorate 33(myblock) 5 PerPrimitiveNV - Decorate 33(myblock) Block Decorate 37(blk) Location 0 Decorate 102(myblock2) Block Decorate 106(blk2) Location 20 diff --git a/Test/baseResults/spv.330.geom.out b/Test/baseResults/spv.330.geom.out index f9e69e57..a6923466 100644 --- a/Test/baseResults/spv.330.geom.out +++ b/Test/baseResults/spv.330.geom.out @@ -23,12 +23,12 @@ spv.330.geom MemberName 16(gl_PerVertex) 0 "gl_Position" MemberName 16(gl_PerVertex) 1 "gl_ClipDistance" Name 20 "gl_in" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn ClipDistance - Decorate 11(gl_PerVertex) Block + Decorate 16(gl_PerVertex) Block MemberDecorate 16(gl_PerVertex) 0 BuiltIn Position MemberDecorate 16(gl_PerVertex) 1 BuiltIn ClipDistance - Decorate 16(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.400.frag.nanclamp.out b/Test/baseResults/spv.400.frag.nanclamp.out index f03e9386..c913e41c 100644 --- a/Test/baseResults/spv.400.frag.nanclamp.out +++ b/Test/baseResults/spv.400.frag.nanclamp.out @@ -53,27 +53,27 @@ spv.400.frag Name 1119 "id" Name 1120 "gl_PrimitiveID" Decorate 13(outp) Location 1 - Decorate 17(u2drs) DescriptorSet 0 Decorate 17(u2drs) Binding 3 - Decorate 1025(arrayedSampler) DescriptorSet 0 + Decorate 17(u2drs) DescriptorSet 0 Decorate 1025(arrayedSampler) Binding 0 + Decorate 1025(arrayedSampler) DescriptorSet 0 Decorate 1027(i) Flat Decorate 1027(i) Location 1 Decorate 1033(c2D) Location 0 Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance Decorate 1054(uoutp) Location 3 - Decorate 1058(samp2dr) DescriptorSet 0 Decorate 1058(samp2dr) Binding 1 + Decorate 1058(samp2dr) DescriptorSet 0 Decorate 1080(ioutp) Location 2 - Decorate 1084(isamp2DA) DescriptorSet 0 Decorate 1084(isamp2DA) Binding 2 + Decorate 1084(isamp2DA) DescriptorSet 0 Decorate 1101(gl_FragCoord) BuiltIn FragCoord Decorate 1103(vl2) Location 6 Decorate 1109(uo) Location 0 Decorate 1111(u) Flat Decorate 1111(u) Location 2 - Decorate 1120(gl_PrimitiveID) Flat Decorate 1120(gl_PrimitiveID) BuiltIn PrimitiveId + Decorate 1120(gl_PrimitiveID) Flat 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out index aa42d282..b010d7da 100644 --- a/Test/baseResults/spv.400.frag.out +++ b/Test/baseResults/spv.400.frag.out @@ -54,27 +54,27 @@ Validation failed Name 1119 "id" Name 1120 "gl_PrimitiveID" Decorate 13(outp) Location 1 - Decorate 17(u2drs) DescriptorSet 0 Decorate 17(u2drs) Binding 3 - Decorate 1025(arrayedSampler) DescriptorSet 0 + Decorate 17(u2drs) DescriptorSet 0 Decorate 1025(arrayedSampler) Binding 0 + Decorate 1025(arrayedSampler) DescriptorSet 0 Decorate 1027(i) Flat Decorate 1027(i) Location 1 Decorate 1033(c2D) Location 0 Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance Decorate 1054(uoutp) Location 3 - Decorate 1058(samp2dr) DescriptorSet 0 Decorate 1058(samp2dr) Binding 1 + Decorate 1058(samp2dr) DescriptorSet 0 Decorate 1080(ioutp) Location 2 - Decorate 1084(isamp2DA) DescriptorSet 0 Decorate 1084(isamp2DA) Binding 2 + Decorate 1084(isamp2DA) DescriptorSet 0 Decorate 1101(gl_FragCoord) BuiltIn FragCoord Decorate 1103(vl2) Location 6 Decorate 1109(uo) Location 0 Decorate 1111(u) Flat Decorate 1111(u) Location 2 - Decorate 1120(gl_PrimitiveID) Flat Decorate 1120(gl_PrimitiveID) BuiltIn PrimitiveId + Decorate 1120(gl_PrimitiveID) Flat 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 diff --git a/Test/baseResults/spv.400.tesc.out b/Test/baseResults/spv.400.tesc.out index b6f0ddfd..79369339 100644 --- a/Test/baseResults/spv.400.tesc.out +++ b/Test/baseResults/spv.400.tesc.out @@ -43,21 +43,21 @@ spv.400.tesc Name 87 "ivlb" Name 90 "ovla" Name 91 "ovlb" + Decorate 20(gl_PerVertex) Block MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 20(gl_PerVertex) Block Decorate 41(gl_PatchVerticesIn) BuiltIn PatchVertices Decorate 44(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 47(gl_InvocationID) BuiltIn InvocationId + Decorate 50(gl_PerVertex) Block MemberDecorate 50(gl_PerVertex) 0 BuiltIn Position MemberDecorate 50(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 50(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 50(gl_PerVertex) Block - Decorate 67(gl_TessLevelOuter) Patch Decorate 67(gl_TessLevelOuter) BuiltIn TessLevelOuter - Decorate 72(gl_TessLevelInner) Patch + Decorate 67(gl_TessLevelOuter) Patch Decorate 72(gl_TessLevelInner) BuiltIn TessLevelInner + Decorate 72(gl_TessLevelInner) Patch Decorate 78(patchOut) Patch Decorate 78(patchOut) Location 0 Decorate 82(inb) Location 0 diff --git a/Test/baseResults/spv.400.tese.out b/Test/baseResults/spv.400.tese.out index 0b8abf66..0bcfc118 100644 --- a/Test/baseResults/spv.400.tese.out +++ b/Test/baseResults/spv.400.tese.out @@ -52,21 +52,21 @@ spv.400.tese Name 91 "ivla" Name 92 "ivlb" Name 95 "ovla" + Decorate 17(gl_PerVertex) Block MemberDecorate 17(gl_PerVertex) 0 BuiltIn Position MemberDecorate 17(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 17(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 17(gl_PerVertex) Block Decorate 38(gl_PatchVerticesIn) BuiltIn PatchVertices Decorate 41(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 47(gl_TessCoord) BuiltIn TessCoord - Decorate 53(gl_TessLevelOuter) Patch Decorate 53(gl_TessLevelOuter) BuiltIn TessLevelOuter - Decorate 61(gl_TessLevelInner) Patch + Decorate 53(gl_TessLevelOuter) Patch Decorate 61(gl_TessLevelInner) BuiltIn TessLevelInner + Decorate 61(gl_TessLevelInner) Patch + Decorate 64(gl_PerVertex) Block MemberDecorate 64(gl_PerVertex) 0 BuiltIn Position MemberDecorate 64(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 64(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 64(gl_PerVertex) Block Decorate 75(patchIn) Patch Decorate 75(patchIn) Location 0 Decorate 79(inb) Location 1 diff --git a/Test/baseResults/spv.420.geom.out b/Test/baseResults/spv.420.geom.out index d814d1ae..8cd44205 100644 --- a/Test/baseResults/spv.420.geom.out +++ b/Test/baseResults/spv.420.geom.out @@ -32,16 +32,16 @@ spv.420.geom Name 46 "coord" Name 64 "i" Name 67 "indexable" - MemberDecorate 9(gl_PerVertex) 0 BuiltIn PointSize Decorate 9(gl_PerVertex) Block - MemberDecorate 21(gl_PerVertex) 0 BuiltIn PointSize + MemberDecorate 9(gl_PerVertex) 0 BuiltIn PointSize Decorate 21(gl_PerVertex) Block + MemberDecorate 21(gl_PerVertex) 0 BuiltIn PointSize Decorate 23 Stream 0 - Decorate 28(gl_ViewportIndex) Stream 0 Decorate 28(gl_ViewportIndex) BuiltIn ViewportIndex + Decorate 28(gl_ViewportIndex) Stream 0 Decorate 33(gl_InvocationID) BuiltIn InvocationId - Decorate 41(s2D) DescriptorSet 0 Decorate 41(s2D) Binding 0 + Decorate 41(s2D) DescriptorSet 0 Decorate 46(coord) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.430.frag.out b/Test/baseResults/spv.430.frag.out index bc00fa13..009f0638 100644 --- a/Test/baseResults/spv.430.frag.out +++ b/Test/baseResults/spv.430.frag.out @@ -16,10 +16,10 @@ spv.430.frag Name 14 "gl_Layer" Name 19 "gl_ViewportIndex" Decorate 9(color) Location 0 - Decorate 14(gl_Layer) Flat Decorate 14(gl_Layer) BuiltIn Layer - Decorate 19(gl_ViewportIndex) Flat + Decorate 14(gl_Layer) Flat Decorate 19(gl_ViewportIndex) BuiltIn ViewportIndex + Decorate 19(gl_ViewportIndex) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.430.vert.out b/Test/baseResults/spv.430.vert.out index eada8d05..8a75ae0a 100644 --- a/Test/baseResults/spv.430.vert.out +++ b/Test/baseResults/spv.430.vert.out @@ -40,34 +40,34 @@ Validation failed Name 63 "MS" MemberName 63(MS) 0 "f" Name 65 "outMS" - MemberDecorate 10(gl_PerVertex) 0 BuiltIn ClipDistance Decorate 10(gl_PerVertex) Block + MemberDecorate 10(gl_PerVertex) 0 BuiltIn ClipDistance Decorate 23(bad) Location 0 Decorate 34(badorder3) Flat Decorate 34(badorder3) Location 1 Decorate 38(f) Location 11 Decorate 41(badorder) Location 10 - Decorate 42(badorder2) Location 0 Decorate 42(badorder2) Invariant - MemberDecorate 43(boundblock) 0 Offset 0 + Decorate 42(badorder2) Location 0 Decorate 43(boundblock) Block - Decorate 45(boundInst) DescriptorSet 0 + MemberDecorate 43(boundblock) 0 Offset 0 Decorate 45(boundInst) Binding 3 - MemberDecorate 46(anonblock) 0 Offset 0 + Decorate 45(boundInst) DescriptorSet 0 Decorate 46(anonblock) Block - Decorate 48 DescriptorSet 0 + MemberDecorate 46(anonblock) 0 Offset 0 Decorate 48 Binding 7 - Decorate 52(sampb1) DescriptorSet 0 + Decorate 48 DescriptorSet 0 Decorate 52(sampb1) Binding 4 - Decorate 55(sampb2) DescriptorSet 0 + Decorate 52(sampb1) DescriptorSet 0 Decorate 55(sampb2) Binding 5 - Decorate 56(sampb4) DescriptorSet 0 + Decorate 55(sampb2) DescriptorSet 0 Decorate 56(sampb4) Binding 31 + Decorate 56(sampb4) DescriptorSet 0 MemberDecorate 59(S) 0 RelaxedPrecision Decorate 62(var) Flat Decorate 62(var) Location 0 - MemberDecorate 63(MS) 0 Location 17 Decorate 63(MS) Block + MemberDecorate 63(MS) 0 Location 17 Decorate 65(outMS) Location 2 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.450.geom.out b/Test/baseResults/spv.450.geom.out index 5398b3c0..f2f9a065 100644 --- a/Test/baseResults/spv.450.geom.out +++ b/Test/baseResults/spv.450.geom.out @@ -29,16 +29,16 @@ spv.450.geom Name 20 "gl_in" Name 27 "gl_Layer" Name 29 "gl_ViewportIndex" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block + Decorate 16(gl_PerVertex) Block MemberDecorate 16(gl_PerVertex) 0 BuiltIn Position MemberDecorate 16(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 16(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 16(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 16(gl_PerVertex) Block Decorate 27(gl_Layer) BuiltIn Layer Decorate 29(gl_ViewportIndex) BuiltIn ViewportIndex 2: TypeVoid diff --git a/Test/baseResults/spv.450.noRedecl.tesc.out b/Test/baseResults/spv.450.noRedecl.tesc.out index dcf0a9f9..fb31be5f 100644 --- a/Test/baseResults/spv.450.noRedecl.tesc.out +++ b/Test/baseResults/spv.450.noRedecl.tesc.out @@ -18,11 +18,11 @@ spv.450.noRedecl.tesc MemberName 11(gl_PerVertex) 3 "gl_CullDistance" Name 15 "gl_in" Name 20 "patchOut" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block Decorate 20(patchOut) Patch Decorate 20(patchOut) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.450.tesc.out b/Test/baseResults/spv.450.tesc.out index eabb9e7c..bb5d55bd 100644 --- a/Test/baseResults/spv.450.tesc.out +++ b/Test/baseResults/spv.450.tesc.out @@ -43,36 +43,36 @@ Validation failed MemberName 42(bn) 1 "v2" MemberName 42(bn) 2 "v3" Name 44 "" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block Decorate 18(gl_InvocationID) BuiltIn InvocationId + Decorate 21(gl_PerVertex) Block MemberDecorate 21(gl_PerVertex) 0 BuiltIn Position MemberDecorate 21(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 21(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 21(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 21(gl_PerVertex) Block Decorate 32(patchOut) Patch Decorate 32(patchOut) Location 1 + Decorate 34(TheBlock) Block MemberDecorate 34(TheBlock) 0 Patch MemberDecorate 34(TheBlock) 1 Patch MemberDecorate 34(TheBlock) 2 Patch - Decorate 34(TheBlock) Block Decorate 38(tcBlock) Location 12 + Decorate 39(SingleBlock) Block MemberDecorate 39(SingleBlock) 0 Patch MemberDecorate 39(SingleBlock) 1 Patch MemberDecorate 39(SingleBlock) 2 Patch - Decorate 39(SingleBlock) Block Decorate 41(singleBlock) Location 2 + Decorate 42(bn) Block MemberDecorate 42(bn) 0 Patch MemberDecorate 42(bn) 0 Location 20 MemberDecorate 42(bn) 1 Patch MemberDecorate 42(bn) 1 Location 24 MemberDecorate 42(bn) 2 Patch MemberDecorate 42(bn) 2 Location 25 - Decorate 42(bn) Block Decorate 44 Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.460.frag.out b/Test/baseResults/spv.460.frag.out index 4201fbb8..e40e833f 100644 --- a/Test/baseResults/spv.460.frag.out +++ b/Test/baseResults/spv.460.frag.out @@ -15,9 +15,9 @@ spv.460.frag Name 4 "main" Name 8 "aui" Name 10 "ui" - Decorate 8(aui) Offset 0 - Decorate 8(aui) DescriptorSet 0 Decorate 8(aui) Binding 0 + Decorate 8(aui) DescriptorSet 0 + Decorate 8(aui) Offset 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.460.subgroupEXT.mesh.out b/Test/baseResults/spv.460.subgroupEXT.mesh.out index f41895fd..112d50d2 100644 --- a/Test/baseResults/spv.460.subgroupEXT.mesh.out +++ b/Test/baseResults/spv.460.subgroupEXT.mesh.out @@ -79,20 +79,20 @@ spv.460.subgroupEXT.mesh Name 253 "ballot" Decorate 35(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 41(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 54(gl_MeshPerVertexEXT) Block MemberDecorate 54(gl_MeshPerVertexEXT) 0 BuiltIn Position MemberDecorate 54(gl_MeshPerVertexEXT) 1 BuiltIn PointSize MemberDecorate 54(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance MemberDecorate 54(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance - Decorate 54(gl_MeshPerVertexEXT) Block - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT Decorate 106(gl_MeshPerPrimitiveEXT) Block + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV Decorate 147(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT Decorate 161(gl_SubgroupSize) RelaxedPrecision Decorate 161(gl_SubgroupSize) BuiltIn SubgroupSize diff --git a/Test/baseResults/spv.460.subgroupEXT.task.out b/Test/baseResults/spv.460.subgroupEXT.task.out index efe30b75..4424b2ac 100644 --- a/Test/baseResults/spv.460.subgroupEXT.task.out +++ b/Test/baseResults/spv.460.subgroupEXT.task.out @@ -70,13 +70,13 @@ spv.460.subgroupEXT.task Name 216 "ballot" Decorate 35(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 41(gl_WorkGroupID) BuiltIn WorkgroupId - MemberDecorate 59(block0) 0 Offset 0 Decorate 59(block0) Block - Decorate 61 DescriptorSet 0 + MemberDecorate 59(block0) 0 Offset 0 Decorate 61 Binding 1 - Decorate 77(uni_image) DescriptorSet 0 - Decorate 77(uni_image) Binding 0 + Decorate 61 DescriptorSet 0 Decorate 77(uni_image) NonReadable + Decorate 77(uni_image) Binding 0 + Decorate 77(uni_image) DescriptorSet 0 Decorate 123(gl_SubgroupSize) RelaxedPrecision Decorate 123(gl_SubgroupSize) BuiltIn SubgroupSize Decorate 124(gl_SubgroupInvocationID) RelaxedPrecision diff --git a/Test/baseResults/spv.8bit-16bit-construction.frag.out b/Test/baseResults/spv.8bit-16bit-construction.frag.out index 9a85a6ac..78e941a2 100644 --- a/Test/baseResults/spv.8bit-16bit-construction.frag.out +++ b/Test/baseResults/spv.8bit-16bit-construction.frag.out @@ -24,14 +24,14 @@ Validation failed MemberName 11(B) 3 "u16_from_u8" MemberName 11(B) 4 "f16_from_i8" Name 13 "" + Decorate 11(B) BufferBlock MemberDecorate 11(B) 0 Offset 0 MemberDecorate 11(B) 1 Offset 2 MemberDecorate 11(B) 2 Offset 4 MemberDecorate 11(B) 3 Offset 6 MemberDecorate 11(B) 4 Offset 8 - Decorate 11(B) BufferBlock - Decorate 13 DescriptorSet 0 Decorate 13 Binding 0 + Decorate 13 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 8 1 diff --git a/Test/baseResults/spv.8bitstorage-int.frag.out b/Test/baseResults/spv.8bitstorage-int.frag.out index 25db1d86..a40e2c1d 100644 --- a/Test/baseResults/spv.8bitstorage-int.frag.out +++ b/Test/baseResults/spv.8bitstorage-int.frag.out @@ -82,6 +82,7 @@ spv.8bitstorage-int.frag Decorate 13 ArrayStride 8 Decorate 15 ArrayStride 2 Decorate 16 ArrayStride 1 + Decorate 17(B2) BufferBlock MemberDecorate 17(B2) 0 Offset 0 MemberDecorate 17(B2) 1 Offset 2 MemberDecorate 17(B2) 2 Offset 4 @@ -90,14 +91,14 @@ spv.8bitstorage-int.frag MemberDecorate 17(B2) 5 Offset 20 MemberDecorate 17(B2) 6 Offset 36 MemberDecorate 17(B2) 7 Offset 236 - Decorate 17(B2) BufferBlock - Decorate 19(b2) DescriptorSet 0 Decorate 19(b2) Binding 1 + Decorate 19(b2) DescriptorSet 0 Decorate 22 ArrayStride 16 MemberDecorate 23(S) 0 Offset 0 MemberDecorate 23(S) 1 Offset 2 MemberDecorate 23(S) 2 Offset 4 Decorate 24 ArrayStride 16 + Decorate 25(B1) Block MemberDecorate 25(B1) 0 Offset 0 MemberDecorate 25(B1) 1 Offset 2 MemberDecorate 25(B1) 2 Offset 4 @@ -105,9 +106,8 @@ spv.8bitstorage-int.frag MemberDecorate 25(B1) 4 Offset 48 MemberDecorate 25(B1) 5 Offset 64 MemberDecorate 25(B1) 6 Offset 96 - Decorate 25(B1) Block - Decorate 27(b1) DescriptorSet 0 Decorate 27(b1) Binding 0 + Decorate 27(b1) DescriptorSet 0 Decorate 44 ArrayStride 16 MemberDecorate 45(S) 0 Offset 0 MemberDecorate 45(S) 1 Offset 2 @@ -115,6 +115,7 @@ spv.8bitstorage-int.frag Decorate 46 ArrayStride 16 Decorate 47 ArrayStride 16 Decorate 48 ArrayStride 16 + Decorate 49(B5) Block MemberDecorate 49(B5) 0 Offset 0 MemberDecorate 49(B5) 1 Offset 2 MemberDecorate 49(B5) 2 Offset 4 @@ -123,29 +124,28 @@ spv.8bitstorage-int.frag MemberDecorate 49(B5) 5 Offset 64 MemberDecorate 49(B5) 6 Offset 96 MemberDecorate 49(B5) 7 Offset 1696 - Decorate 49(B5) Block - Decorate 51(b5) DescriptorSet 0 Decorate 51(b5) Binding 2 + Decorate 51(b5) DescriptorSet 0 MemberDecorate 88(S2) 0 ColMajor - MemberDecorate 88(S2) 0 Offset 0 MemberDecorate 88(S2) 0 MatrixStride 16 + MemberDecorate 88(S2) 0 Offset 0 MemberDecorate 88(S2) 1 Offset 64 MemberDecorate 88(S2) 2 Offset 68 MemberDecorate 89(S3) 0 Offset 0 + Decorate 90(B4) BufferBlock MemberDecorate 90(B4) 0 Offset 0 MemberDecorate 90(B4) 1 Offset 80 - Decorate 90(B4) BufferBlock - Decorate 92(b4) DescriptorSet 0 Decorate 92(b4) Binding 4 + Decorate 92(b4) DescriptorSet 0 MemberDecorate 93(S2) 0 RowMajor - MemberDecorate 93(S2) 0 Offset 0 MemberDecorate 93(S2) 0 MatrixStride 16 + MemberDecorate 93(S2) 0 Offset 0 MemberDecorate 93(S2) 1 Offset 64 MemberDecorate 93(S2) 2 Offset 68 - MemberDecorate 94(B3) 0 Offset 0 Decorate 94(B3) BufferBlock - Decorate 96(b3) DescriptorSet 0 + MemberDecorate 94(B3) 0 Offset 0 Decorate 96(b3) Binding 3 + Decorate 96(b3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 8 1 diff --git a/Test/baseResults/spv.8bitstorage-ssbo.vert.out b/Test/baseResults/spv.8bitstorage-ssbo.vert.out index e8e9ca35..19e7d433 100644 --- a/Test/baseResults/spv.8bitstorage-ssbo.vert.out +++ b/Test/baseResults/spv.8bitstorage-ssbo.vert.out @@ -19,11 +19,11 @@ spv.8bitstorage-ssbo.vert Name 18 "gl_VertexIndex" Decorate 9(color) Location 0 Decorate 11 ArrayStride 1 + Decorate 12(Vertices) BufferBlock MemberDecorate 12(Vertices) 0 NonWritable MemberDecorate 12(Vertices) 0 Offset 0 - Decorate 12(Vertices) BufferBlock - Decorate 14 DescriptorSet 0 Decorate 14 Binding 0 + Decorate 14 DescriptorSet 0 Decorate 18(gl_VertexIndex) BuiltIn VertexIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.8bitstorage-ubo.vert.out b/Test/baseResults/spv.8bitstorage-ubo.vert.out index f41f63ee..7dd1e32a 100644 --- a/Test/baseResults/spv.8bitstorage-ubo.vert.out +++ b/Test/baseResults/spv.8bitstorage-ubo.vert.out @@ -19,10 +19,10 @@ spv.8bitstorage-ubo.vert Name 20 "gl_VertexIndex" Decorate 9(color) Location 0 Decorate 13 ArrayStride 16 - MemberDecorate 14(Vertices) 0 Offset 0 Decorate 14(Vertices) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14(Vertices) 0 Offset 0 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 20(gl_VertexIndex) BuiltIn VertexIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.8bitstorage-uint.frag.out b/Test/baseResults/spv.8bitstorage-uint.frag.out index d89756b2..a90edf12 100644 --- a/Test/baseResults/spv.8bitstorage-uint.frag.out +++ b/Test/baseResults/spv.8bitstorage-uint.frag.out @@ -82,6 +82,7 @@ spv.8bitstorage-uint.frag Decorate 13 ArrayStride 8 Decorate 15 ArrayStride 2 Decorate 16 ArrayStride 1 + Decorate 17(B2) BufferBlock MemberDecorate 17(B2) 0 Offset 0 MemberDecorate 17(B2) 1 Offset 2 MemberDecorate 17(B2) 2 Offset 4 @@ -90,14 +91,14 @@ spv.8bitstorage-uint.frag MemberDecorate 17(B2) 5 Offset 20 MemberDecorate 17(B2) 6 Offset 36 MemberDecorate 17(B2) 7 Offset 236 - Decorate 17(B2) BufferBlock - Decorate 19(b2) DescriptorSet 0 Decorate 19(b2) Binding 1 + Decorate 19(b2) DescriptorSet 0 Decorate 22 ArrayStride 16 MemberDecorate 23(S) 0 Offset 0 MemberDecorate 23(S) 1 Offset 2 MemberDecorate 23(S) 2 Offset 4 Decorate 24 ArrayStride 16 + Decorate 25(B1) Block MemberDecorate 25(B1) 0 Offset 0 MemberDecorate 25(B1) 1 Offset 2 MemberDecorate 25(B1) 2 Offset 4 @@ -105,9 +106,8 @@ spv.8bitstorage-uint.frag MemberDecorate 25(B1) 4 Offset 48 MemberDecorate 25(B1) 5 Offset 64 MemberDecorate 25(B1) 6 Offset 96 - Decorate 25(B1) Block - Decorate 27(b1) DescriptorSet 0 Decorate 27(b1) Binding 0 + Decorate 27(b1) DescriptorSet 0 Decorate 44 ArrayStride 16 MemberDecorate 45(S) 0 Offset 0 MemberDecorate 45(S) 1 Offset 2 @@ -115,6 +115,7 @@ spv.8bitstorage-uint.frag Decorate 46 ArrayStride 16 Decorate 47 ArrayStride 16 Decorate 48 ArrayStride 16 + Decorate 49(B5) Block MemberDecorate 49(B5) 0 Offset 0 MemberDecorate 49(B5) 1 Offset 2 MemberDecorate 49(B5) 2 Offset 4 @@ -123,29 +124,28 @@ spv.8bitstorage-uint.frag MemberDecorate 49(B5) 5 Offset 64 MemberDecorate 49(B5) 6 Offset 96 MemberDecorate 49(B5) 7 Offset 1696 - Decorate 49(B5) Block - Decorate 51(b5) DescriptorSet 0 Decorate 51(b5) Binding 2 + Decorate 51(b5) DescriptorSet 0 MemberDecorate 89(S2) 0 ColMajor - MemberDecorate 89(S2) 0 Offset 0 MemberDecorate 89(S2) 0 MatrixStride 16 + MemberDecorate 89(S2) 0 Offset 0 MemberDecorate 89(S2) 1 Offset 64 MemberDecorate 89(S2) 2 Offset 68 MemberDecorate 90(S3) 0 Offset 0 + Decorate 91(B4) BufferBlock MemberDecorate 91(B4) 0 Offset 0 MemberDecorate 91(B4) 1 Offset 80 - Decorate 91(B4) BufferBlock - Decorate 93(b4) DescriptorSet 0 Decorate 93(b4) Binding 4 + Decorate 93(b4) DescriptorSet 0 MemberDecorate 94(S2) 0 RowMajor - MemberDecorate 94(S2) 0 Offset 0 MemberDecorate 94(S2) 0 MatrixStride 16 + MemberDecorate 94(S2) 0 Offset 0 MemberDecorate 94(S2) 1 Offset 64 MemberDecorate 94(S2) 2 Offset 68 - MemberDecorate 95(B3) 0 Offset 0 Decorate 95(B3) BufferBlock - Decorate 97(b3) DescriptorSet 0 + MemberDecorate 95(B3) 0 Offset 0 Decorate 97(b3) Binding 3 + Decorate 97(b3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 8 0 diff --git a/Test/baseResults/spv.ARMCoreBuiltIns.frag.out b/Test/baseResults/spv.ARMCoreBuiltIns.frag.out index ccfb4093..6da6921b 100644 --- a/Test/baseResults/spv.ARMCoreBuiltIns.frag.out +++ b/Test/baseResults/spv.ARMCoreBuiltIns.frag.out @@ -20,17 +20,17 @@ spv.ARMCoreBuiltIns.frag Name 17 "gl_CoreCountARM" Name 19 "gl_CoreMaxIDARM" Name 21 "gl_WarpIDARM" - Decorate 10(gl_WarpMaxIDARM) Flat Decorate 10(gl_WarpMaxIDARM) BuiltIn BuiltInWarpMaxIDARM + Decorate 10(gl_WarpMaxIDARM) Flat Decorate 14(data) Location 0 - Decorate 15(gl_CoreIDARM) Flat Decorate 15(gl_CoreIDARM) BuiltIn CoreIDARM - Decorate 17(gl_CoreCountARM) Flat + Decorate 15(gl_CoreIDARM) Flat Decorate 17(gl_CoreCountARM) BuiltIn CoreCountARM - Decorate 19(gl_CoreMaxIDARM) Flat + Decorate 17(gl_CoreCountARM) Flat Decorate 19(gl_CoreMaxIDARM) BuiltIn CoreMaxIDARM - Decorate 21(gl_WarpIDARM) Flat + Decorate 19(gl_CoreMaxIDARM) Flat Decorate 21(gl_WarpIDARM) BuiltIn WarpIDARM + Decorate 21(gl_WarpIDARM) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.ARMCoreBuiltIns.vert.out b/Test/baseResults/spv.ARMCoreBuiltIns.vert.out index 5419be45..e1503add 100644 --- a/Test/baseResults/spv.ARMCoreBuiltIns.vert.out +++ b/Test/baseResults/spv.ARMCoreBuiltIns.vert.out @@ -22,10 +22,10 @@ spv.ARMCoreBuiltIns.vert Name 22 "gl_CoreMaxIDARM" Name 24 "gl_WarpIDARM" Decorate 10(gl_WarpMaxIDARM) BuiltIn BuiltInWarpMaxIDARM - MemberDecorate 13(Output) 0 Offset 0 Decorate 13(Output) BufferBlock - Decorate 15 DescriptorSet 0 + MemberDecorate 13(Output) 0 Offset 0 Decorate 15 Binding 0 + Decorate 15 DescriptorSet 0 Decorate 18(gl_CoreIDARM) BuiltIn CoreIDARM Decorate 20(gl_CoreCountARM) BuiltIn CoreCountARM Decorate 22(gl_CoreMaxIDARM) BuiltIn CoreMaxIDARM diff --git a/Test/baseResults/spv.AofA.frag.out b/Test/baseResults/spv.AofA.frag.out index b2df36a6..9c5a014a 100644 --- a/Test/baseResults/spv.AofA.frag.out +++ b/Test/baseResults/spv.AofA.frag.out @@ -41,10 +41,10 @@ Validation failed Decorate 78(infloat) Location 0 Decorate 92 ArrayStride 16 Decorate 93 ArrayStride 64 - MemberDecorate 94(uAofA) 0 Offset 0 Decorate 94(uAofA) Block - Decorate 98(nameAofA) DescriptorSet 0 + MemberDecorate 94(uAofA) 0 Offset 0 Decorate 98(nameAofA) Binding 0 + Decorate 98(nameAofA) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.ClosestHitShader.rchit.out b/Test/baseResults/spv.ClosestHitShader.rchit.out index a84ef23e..af0f80fc 100644 --- a/Test/baseResults/spv.ClosestHitShader.rchit.out +++ b/Test/baseResults/spv.ClosestHitShader.rchit.out @@ -57,8 +57,8 @@ spv.ClosestHitShader.rchit Decorate 57(gl_HitKindNV) BuiltIn HitKindKHR Decorate 63(gl_ObjectToWorldNV) BuiltIn ObjectToWorldKHR Decorate 66(gl_WorldToObjectNV) BuiltIn WorldToObjectKHR - Decorate 70(accNV) DescriptorSet 0 Decorate 70(accNV) Binding 0 + Decorate 70(accNV) DescriptorSet 0 Decorate 84(localPayload) Location 0 Decorate 86(incomingPayload) Location 1 2: TypeVoid diff --git a/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out b/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out index e20df80a..846151f0 100644 --- a/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out +++ b/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out @@ -19,8 +19,8 @@ spv.ClosestHitShaderMotion.rchit Name 16 "accEXT" Name 32 "incomingPayloadEXT" Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV - Decorate 16(accEXT) DescriptorSet 0 Decorate 16(accEXT) Binding 0 + Decorate 16(accEXT) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.GeometryShaderPassthrough.geom.out b/Test/baseResults/spv.GeometryShaderPassthrough.geom.out index 57fa6911..f4e1a9fa 100644 --- a/Test/baseResults/spv.GeometryShaderPassthrough.geom.out +++ b/Test/baseResults/spv.GeometryShaderPassthrough.geom.out @@ -23,8 +23,8 @@ spv.GeometryShaderPassthrough.geom MemberName 12(Inputs) 0 "texcoord" MemberName 12(Inputs) 1 "baseColor" Name 14 "" - MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position Decorate 8(gl_PerVertex) Block + MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position Decorate 10 PassthroughNV Decorate 12(Inputs) Block Decorate 14 Location 0 diff --git a/Test/baseResults/spv.MissShader.rmiss.out b/Test/baseResults/spv.MissShader.rmiss.out index 581c0c6b..d0f381e3 100644 --- a/Test/baseResults/spv.MissShader.rmiss.out +++ b/Test/baseResults/spv.MissShader.rmiss.out @@ -35,8 +35,8 @@ spv.MissShader.rmiss Decorate 29(gl_IncomingRayFlagsNV) BuiltIn IncomingRayFlagsKHR Decorate 34(gl_RayTminNV) BuiltIn RayTminKHR Decorate 37(gl_RayTmaxNV) BuiltIn RayTmaxKHR - Decorate 41(accNV) DescriptorSet 0 Decorate 41(accNV) Binding 0 + Decorate 41(accNV) DescriptorSet 0 Decorate 56(localPayload) Location 0 Decorate 58(incomingPayload) Location 1 2: TypeVoid diff --git a/Test/baseResults/spv.MissShaderMotion.rmiss.out b/Test/baseResults/spv.MissShaderMotion.rmiss.out index 220dda99..455f343f 100644 --- a/Test/baseResults/spv.MissShaderMotion.rmiss.out +++ b/Test/baseResults/spv.MissShaderMotion.rmiss.out @@ -19,8 +19,8 @@ spv.MissShaderMotion.rmiss Name 16 "accEXT" Name 32 "localPayloadEXT" Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV - Decorate 16(accEXT) DescriptorSet 0 Decorate 16(accEXT) Binding 0 + Decorate 16(accEXT) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.OVR_multiview.vert.out b/Test/baseResults/spv.OVR_multiview.vert.out index df7d9499..1eeae2a1 100644 --- a/Test/baseResults/spv.OVR_multiview.vert.out +++ b/Test/baseResults/spv.OVR_multiview.vert.out @@ -20,10 +20,10 @@ spv.OVR_multiview.vert Name 17 "gl_ViewID_OVR" Name 25 "gl_VertexID" Name 26 "gl_InstanceID" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 11(gl_PerVertex) Block Decorate 17(gl_ViewID_OVR) BuiltIn ViewIndex Decorate 25(gl_VertexID) BuiltIn VertexId Decorate 26(gl_InstanceID) BuiltIn InstanceId diff --git a/Test/baseResults/spv.RayConstants.rgen.out b/Test/baseResults/spv.RayConstants.rgen.out index ebdcb50b..fb503c93 100644 --- a/Test/baseResults/spv.RayConstants.rgen.out +++ b/Test/baseResults/spv.RayConstants.rgen.out @@ -13,8 +13,8 @@ spv.RayConstants.rgen Name 4 "main" Name 8 "accNV" Name 26 "payload" - Decorate 8(accNV) DescriptorSet 0 Decorate 8(accNV) Binding 0 + Decorate 8(accNV) DescriptorSet 0 Decorate 26(payload) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.RayGenShader.rgen.out b/Test/baseResults/spv.RayGenShader.rgen.out index 01fdbf01..76bc1f62 100644 --- a/Test/baseResults/spv.RayGenShader.rgen.out +++ b/Test/baseResults/spv.RayGenShader.rgen.out @@ -26,13 +26,13 @@ spv.RayGenShader.rgen Name 53 "payload" Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR - Decorate 29(accNV0) DescriptorSet 0 Decorate 29(accNV0) Binding 0 + Decorate 29(accNV0) DescriptorSet 0 + Decorate 37(block) BufferBlock MemberDecorate 37(block) 0 Offset 0 MemberDecorate 37(block) 1 Offset 16 - Decorate 37(block) BufferBlock - Decorate 50(accNV1) DescriptorSet 0 Decorate 50(accNV1) Binding 1 + Decorate 50(accNV1) DescriptorSet 0 Decorate 53(payload) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.RayGenShader11.rgen.out b/Test/baseResults/spv.RayGenShader11.rgen.out index ae55e658..37093889 100644 --- a/Test/baseResults/spv.RayGenShader11.rgen.out +++ b/Test/baseResults/spv.RayGenShader11.rgen.out @@ -25,11 +25,11 @@ spv.RayGenShader11.rgen Name 52 "payload" Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR - Decorate 29(accNV) DescriptorSet 0 Decorate 29(accNV) Binding 0 + Decorate 29(accNV) DescriptorSet 0 + Decorate 37(block) Block MemberDecorate 37(block) 0 Offset 0 MemberDecorate 37(block) 1 Offset 16 - Decorate 37(block) Block Decorate 52(payload) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.RayGenShaderArray.rgen.out b/Test/baseResults/spv.RayGenShaderArray.rgen.out index c3bd1911..ddb2f6bb 100644 --- a/Test/baseResults/spv.RayGenShaderArray.rgen.out +++ b/Test/baseResults/spv.RayGenShaderArray.rgen.out @@ -31,14 +31,14 @@ spv.RayGenShaderArray.rgen Name 88 "payload" Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR - Decorate 30(accNV0) DescriptorSet 0 Decorate 30(accNV0) Binding 0 + Decorate 30(accNV0) DescriptorSet 0 + Decorate 34(block) BufferBlock MemberDecorate 34(block) 0 Offset 0 MemberDecorate 34(block) 1 Offset 16 MemberDecorate 34(block) 2 Offset 28 - Decorate 34(block) BufferBlock - Decorate 60(accNV1) DescriptorSet 0 Decorate 60(accNV1) Binding 1 + Decorate 60(accNV1) DescriptorSet 0 Decorate 75 DecorationNonUniformEXT Decorate 76 DecorationNonUniformEXT Decorate 77 DecorationNonUniformEXT diff --git a/Test/baseResults/spv.RayGenShaderMotion.rgen.out b/Test/baseResults/spv.RayGenShaderMotion.rgen.out index 9a3421ca..09506757 100644 --- a/Test/baseResults/spv.RayGenShaderMotion.rgen.out +++ b/Test/baseResults/spv.RayGenShaderMotion.rgen.out @@ -24,8 +24,8 @@ spv.RayGenShaderMotion.rgen Name 46 "payloadEXT" Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR - Decorate 29(accEXT) DescriptorSet 0 Decorate 29(accEXT) Binding 0 + Decorate 29(accEXT) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out index 4001462d..e5496d32 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out @@ -21,9 +21,9 @@ spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp MemberName 8(first) 0 "a" MemberName 8(first) 1 "f" Name 10 "" + Decorate 8(first) Block MemberDecorate 8(first) 0 Offset 0 MemberDecorate 8(first) 1 Offset 2 - Decorate 8(first) Block Decorate 24 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out index d0906a42..a3f16954 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out @@ -19,8 +19,8 @@ spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp Name 7 "first" MemberName 7(first) 0 "a" Name 9 "" - MemberDecorate 7(first) 0 Offset 0 Decorate 7(first) Block + MemberDecorate 7(first) 0 Offset 0 Decorate 19 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out index 2a15286e..33cae8b5 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out @@ -19,13 +19,13 @@ spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp Name 14 "second" MemberName 14(second) 0 "b" Name 16 "" - MemberDecorate 7(first) 0 Offset 0 Decorate 7(first) Block - MemberDecorate 14(second) 0 Offset 0 - Decorate 14(second) Block - Decorate 23 BuiltIn WorkgroupSize + MemberDecorate 7(first) 0 Offset 0 Decorate 9 Aliased + Decorate 14(second) Block + MemberDecorate 14(second) 0 Offset 0 Decorate 16 Aliased + Decorate 23 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out index cb3bd31a..2d484770 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out @@ -16,8 +16,8 @@ spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp Name 7 "first" MemberName 7(first) 0 "a" Name 9 "" - MemberDecorate 7(first) 0 Offset 0 Decorate 7(first) Block + MemberDecorate 7(first) 0 Offset 0 Decorate 18 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out index 3d7ece13..a651b635 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out @@ -50,9 +50,9 @@ spv.WorkgroupMemoryExplicitLayout.scalar.comp MemberDecorate 24(S) 8 Offset 196 MemberDecorate 24(S) 9 Offset 292 Decorate 25 ArrayStride 364 + Decorate 26(Block) Block MemberDecorate 26(Block) 0 Offset 0 MemberDecorate 26(Block) 1 Offset 364 - Decorate 26(Block) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out index 5c8f86d2..bc8a5f64 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out @@ -49,9 +49,9 @@ spv.WorkgroupMemoryExplicitLayout.std140.comp MemberDecorate 24(S) 8 Offset 384 MemberDecorate 24(S) 9 Offset 480 Decorate 25 ArrayStride 768 + Decorate 26(Block) Block MemberDecorate 26(Block) 0 Offset 0 MemberDecorate 26(Block) 1 Offset 768 - Decorate 26(Block) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out index bfc35e98..a60209d9 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out @@ -49,9 +49,9 @@ spv.WorkgroupMemoryExplicitLayout.std430.comp MemberDecorate 24(S) 8 Offset 240 MemberDecorate 24(S) 9 Offset 336 Decorate 25 ArrayStride 416 + Decorate 26(Block) Block MemberDecorate 26(Block) 0 Offset 0 MemberDecorate 26(Block) 1 Offset 416 - Decorate 26(Block) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.aggOps.frag.out b/Test/baseResults/spv.aggOps.frag.out index bc19f23f..47527996 100644 --- a/Test/baseResults/spv.aggOps.frag.out +++ b/Test/baseResults/spv.aggOps.frag.out @@ -51,21 +51,21 @@ WARNING: 0:4: '' : all default precisions are highp; use precision statements to MemberDecorate 56(s2) 0 Offset 0 MemberDecorate 56(s2) 1 Offset 4 MemberDecorate 56(s2) 2 Offset 16 - MemberDecorate 57(ub1) 0 Offset 0 Decorate 57(ub1) Block - Decorate 59(uName1) DescriptorSet 0 + MemberDecorate 57(ub1) 0 Offset 0 Decorate 59(uName1) Binding 1 + Decorate 59(uName1) DescriptorSet 0 MemberDecorate 64(s1) 0 Offset 0 MemberDecorate 64(s1) 1 Offset 4 MemberDecorate 65(s2) 0 Offset 0 MemberDecorate 65(s2) 1 Offset 4 MemberDecorate 65(s2) 2 Offset 8 - MemberDecorate 66(ub2) 0 Offset 0 Decorate 66(ub2) BufferBlock - Decorate 68(uName2) DescriptorSet 0 + MemberDecorate 66(ub2) 0 Offset 0 Decorate 68(uName2) Binding 2 - Decorate 97(samp2D) DescriptorSet 0 + Decorate 68(uName2) DescriptorSet 0 Decorate 97(samp2D) Binding 0 + Decorate 97(samp2D) DescriptorSet 0 Decorate 101(coord) RelaxedPrecision Decorate 101(coord) Location 0 Decorate 102 RelaxedPrecision diff --git a/Test/baseResults/spv.arbPostDepthCoverage.frag.out b/Test/baseResults/spv.arbPostDepthCoverage.frag.out index 5daa156d..a36b9ee4 100644 --- a/Test/baseResults/spv.arbPostDepthCoverage.frag.out +++ b/Test/baseResults/spv.arbPostDepthCoverage.frag.out @@ -19,8 +19,8 @@ spv.arbPostDepthCoverage.frag Name 8 "readSampleMaskIn" Name 13 "gl_SampleMaskIn" Decorate 8(readSampleMaskIn) Location 0 - Decorate 13(gl_SampleMaskIn) Flat Decorate 13(gl_SampleMaskIn) BuiltIn SampleMask + Decorate 13(gl_SampleMaskIn) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.atomiAddEXT.task.out b/Test/baseResults/spv.atomiAddEXT.task.out index 9ff35aa6..bf937240 100644 --- a/Test/baseResults/spv.atomiAddEXT.task.out +++ b/Test/baseResults/spv.atomiAddEXT.task.out @@ -23,17 +23,17 @@ spv.atomiAddEXT.task Name 26 "taskBlock" MemberName 26(taskBlock) 0 "atom1" Name 28 "mytask" + Decorate 7(Buffer) Block MemberDecorate 7(Buffer) 0 Coherent MemberDecorate 7(Buffer) 0 Offset 0 - Decorate 7(Buffer) Block - Decorate 9 DescriptorSet 0 Decorate 9 Binding 1 + Decorate 9 DescriptorSet 0 Decorate 19 ArrayStride 4 MemberDecorate 20(structType) 0 Offset 0 - MemberDecorate 21(t2) 0 Offset 0 Decorate 21(t2) Block - Decorate 23(t) DescriptorSet 0 + MemberDecorate 21(t2) 0 Offset 0 Decorate 23(t) Binding 0 + Decorate 23(t) DescriptorSet 0 Decorate 33 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.atomic.comp.out b/Test/baseResults/spv.atomic.comp.out index 7c001ae1..53548089 100644 --- a/Test/baseResults/spv.atomic.comp.out +++ b/Test/baseResults/spv.atomic.comp.out @@ -29,19 +29,19 @@ spv.atomic.comp Name 71 "arrX" Name 72 "arrY" Name 73 "arrZ" - Decorate 20(counter) Offset 0 - Decorate 20(counter) DescriptorSet 0 Decorate 20(counter) Binding 0 - Decorate 27(countArr) Offset 4 - Decorate 27(countArr) DescriptorSet 0 + Decorate 20(counter) DescriptorSet 0 + Decorate 20(counter) Offset 0 Decorate 27(countArr) Binding 0 + Decorate 27(countArr) DescriptorSet 0 + Decorate 27(countArr) Offset 4 + Decorate 62(dataSSB) BufferBlock MemberDecorate 62(dataSSB) 0 Restrict MemberDecorate 62(dataSSB) 0 Offset 0 MemberDecorate 62(dataSSB) 1 Restrict MemberDecorate 62(dataSSB) 1 Offset 16 - Decorate 62(dataSSB) BufferBlock - Decorate 64(result) DescriptorSet 0 Decorate 64(result) Binding 0 + Decorate 64(result) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.atomicAdd.bufferReference.comp.out b/Test/baseResults/spv.atomicAdd.bufferReference.comp.out index a00c45a3..31edb5e9 100644 --- a/Test/baseResults/spv.atomicAdd.bufferReference.comp.out +++ b/Test/baseResults/spv.atomicAdd.bufferReference.comp.out @@ -56,25 +56,25 @@ spv.atomicAdd.bufferReference.comp MemberName 179(Fail) 0 "x" Name 181 "fail" Decorate 17 ArrayStride 4 - MemberDecorate 18(PayloadRef) 0 Offset 0 Decorate 18(PayloadRef) Block + MemberDecorate 18(PayloadRef) 0 Offset 0 Decorate 20(payload) DecorationAliasedPointerEXT + Decorate 22(PC) Block MemberDecorate 22(PC) 0 Offset 0 MemberDecorate 22(PC) 1 Offset 8 - Decorate 22(PC) Block Decorate 23 ArrayStride 4 - MemberDecorate 24(GuardRef) 0 Offset 0 Decorate 24(GuardRef) Block + MemberDecorate 24(GuardRef) 0 Offset 0 Decorate 37(gl_GlobalInvocationID) BuiltIn GlobalInvocationId Decorate 43(DIM) SpecId 0 Decorate 44(NUM_WORKGROUP_EACH_DIM) SpecId 1 Decorate 81(gl_WorkGroupID) BuiltIn WorkgroupId Decorate 133(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 178 ArrayStride 4 - MemberDecorate 179(Fail) 0 Offset 0 Decorate 179(Fail) Block - Decorate 181(fail) DescriptorSet 0 + MemberDecorate 179(Fail) 0 Offset 0 Decorate 181(fail) Binding 2 + Decorate 181(fail) DescriptorSet 0 Decorate 185 SpecId 0 Decorate 186 SpecId 0 Decorate 187 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.atomicFloat.comp.out b/Test/baseResults/spv.atomicFloat.comp.out index acb5d817..c7b8f489 100644 --- a/Test/baseResults/spv.atomicFloat.comp.out +++ b/Test/baseResults/spv.atomicFloat.comp.out @@ -38,35 +38,35 @@ spv.atomicFloat.comp Name 352 "fimageCube" Name 392 "fimageCubeArray" Name 430 "fimage3D" + Decorate 25(Buffer) BufferBlock MemberDecorate 25(Buffer) 0 Offset 0 MemberDecorate 25(Buffer) 1 Offset 8 - Decorate 25(Buffer) BufferBlock - Decorate 27(buf) DescriptorSet 0 Decorate 27(buf) Binding 0 + Decorate 27(buf) DescriptorSet 0 Decorate 143(fimage1D) Location 0 - Decorate 143(fimage1D) DescriptorSet 0 Decorate 143(fimage1D) Binding 0 + Decorate 143(fimage1D) DescriptorSet 0 Decorate 189(fimage1DArray) Location 1 - Decorate 189(fimage1DArray) DescriptorSet 0 Decorate 189(fimage1DArray) Binding 1 + Decorate 189(fimage1DArray) DescriptorSet 0 Decorate 232(fimage2D) Location 2 - Decorate 232(fimage2D) DescriptorSet 0 Decorate 232(fimage2D) Binding 2 + Decorate 232(fimage2D) DescriptorSet 0 Decorate 270(fimage2DRect) Location 4 - Decorate 270(fimage2DRect) DescriptorSet 0 Decorate 270(fimage2DRect) Binding 4 + Decorate 270(fimage2DRect) DescriptorSet 0 Decorate 308(fimage2DArray) Location 3 - Decorate 308(fimage2DArray) DescriptorSet 0 Decorate 308(fimage2DArray) Binding 3 + Decorate 308(fimage2DArray) DescriptorSet 0 Decorate 352(fimageCube) Location 5 - Decorate 352(fimageCube) DescriptorSet 0 Decorate 352(fimageCube) Binding 5 + Decorate 352(fimageCube) DescriptorSet 0 Decorate 392(fimageCubeArray) Location 6 - Decorate 392(fimageCubeArray) DescriptorSet 0 Decorate 392(fimageCubeArray) Binding 6 + Decorate 392(fimageCubeArray) DescriptorSet 0 Decorate 430(fimage3D) Location 7 - Decorate 430(fimage3D) DescriptorSet 0 Decorate 430(fimage3D) Binding 9 + Decorate 430(fimage3D) DescriptorSet 0 Decorate 469 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.atomicInt64.comp.out b/Test/baseResults/spv.atomicInt64.comp.out index 24805ccc..2464e506 100644 --- a/Test/baseResults/spv.atomicInt64.comp.out +++ b/Test/baseResults/spv.atomicInt64.comp.out @@ -24,11 +24,11 @@ spv.atomicInt64.comp MemberName 84(Struct) 0 "i64" MemberName 84(Struct) 1 "u64" Name 86 "s" + Decorate 14(Buffer) BufferBlock MemberDecorate 14(Buffer) 0 Offset 0 MemberDecorate 14(Buffer) 1 Offset 8 - Decorate 14(Buffer) BufferBlock - Decorate 16(buf) DescriptorSet 0 Decorate 16(buf) Binding 0 + Decorate 16(buf) DescriptorSet 0 Decorate 148 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.atomicStoreInt64.comp.out b/Test/baseResults/spv.atomicStoreInt64.comp.out index c2b3f30d..9114bc34 100644 --- a/Test/baseResults/spv.atomicStoreInt64.comp.out +++ b/Test/baseResults/spv.atomicStoreInt64.comp.out @@ -21,14 +21,14 @@ spv.atomicStoreInt64.comp Name 14 "ubo" MemberName 14(ubo) 0 "z" Name 16 "" - MemberDecorate 7(ssbo) 0 Offset 0 Decorate 7(ssbo) BufferBlock - Decorate 9 DescriptorSet 0 + MemberDecorate 7(ssbo) 0 Offset 0 Decorate 9 Binding 0 - MemberDecorate 14(ubo) 0 Offset 0 + Decorate 9 DescriptorSet 0 Decorate 14(ubo) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14(ubo) 0 Offset 0 Decorate 16 Binding 1 + Decorate 16 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 64 0 diff --git a/Test/baseResults/spv.bool.vert.out b/Test/baseResults/spv.bool.vert.out index 265d9007..dbab6986 100644 --- a/Test/baseResults/spv.bool.vert.out +++ b/Test/baseResults/spv.bool.vert.out @@ -21,15 +21,15 @@ spv.bool.vert MemberName 27(ubname) 0 "b" Name 29 "ubinst" Name 30 "param" + Decorate 22(gl_PerVertex) Block MemberDecorate 22(gl_PerVertex) 0 BuiltIn Position MemberDecorate 22(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 22(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 22(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 22(gl_PerVertex) Block - MemberDecorate 27(ubname) 0 Offset 0 Decorate 27(ubname) Block - Decorate 29(ubinst) DescriptorSet 0 + MemberDecorate 27(ubname) 0 Offset 0 Decorate 29(ubinst) Binding 0 + Decorate 29(ubinst) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeBool diff --git a/Test/baseResults/spv.boolInBlock.frag.out b/Test/baseResults/spv.boolInBlock.frag.out index c234cb4d..9db304a5 100644 --- a/Test/baseResults/spv.boolInBlock.frag.out +++ b/Test/baseResults/spv.boolInBlock.frag.out @@ -23,14 +23,14 @@ spv.boolInBlock.frag Name 60 "param" Name 66 "param" Name 74 "fragColor" - MemberDecorate 25(Buffer) 0 Offset 0 Decorate 25(Buffer) BufferBlock - Decorate 27 DescriptorSet 0 + MemberDecorate 25(Buffer) 0 Offset 0 Decorate 27 Binding 1 - MemberDecorate 40(Uniform) 0 Offset 0 + Decorate 27 DescriptorSet 0 Decorate 40(Uniform) Block - Decorate 42 DescriptorSet 0 + MemberDecorate 40(Uniform) 0 Offset 0 Decorate 42 Binding 0 + Decorate 42 DescriptorSet 0 Decorate 74(fragColor) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.branch-return.vert.out b/Test/baseResults/spv.branch-return.vert.out index 53ef8765..86df58af 100644 --- a/Test/baseResults/spv.branch-return.vert.out +++ b/Test/baseResults/spv.branch-return.vert.out @@ -15,9 +15,9 @@ spv.branch-return.vert MemberName 18(gl_PerVertex) 1 "gl_PointSize" Name 20 "" Decorate 8(gl_InstanceIndex) BuiltIn InstanceIndex + Decorate 18(gl_PerVertex) Block MemberDecorate 18(gl_PerVertex) 0 BuiltIn Position MemberDecorate 18(gl_PerVertex) 1 BuiltIn PointSize - Decorate 18(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.buffer.autoassign.frag.out b/Test/baseResults/spv.buffer.autoassign.frag.out index 3afe6439..0ccd8408 100644 --- a/Test/baseResults/spv.buffer.autoassign.frag.out +++ b/Test/baseResults/spv.buffer.autoassign.frag.out @@ -25,19 +25,19 @@ spv.buffer.autoassign.frag MemberName 34(MyUB3) 0 "g_d" Name 36 "" Name 47 "@entryPointOutput.Color" + Decorate 16(MyUB1) Block MemberDecorate 16(MyUB1) 0 Offset 0 MemberDecorate 16(MyUB1) 1 Offset 4 - Decorate 16(MyUB1) Block - Decorate 18 DescriptorSet 0 Decorate 18 Binding 20 - MemberDecorate 28(MyUB2) 0 Offset 0 + Decorate 18 DescriptorSet 0 Decorate 28(MyUB2) Block - Decorate 30 DescriptorSet 0 + MemberDecorate 28(MyUB2) 0 Offset 0 Decorate 30 Binding 15 - MemberDecorate 34(MyUB3) 0 Offset 0 + Decorate 30 DescriptorSet 0 Decorate 34(MyUB3) Block - Decorate 36 DescriptorSet 0 + MemberDecorate 34(MyUB3) 0 Offset 0 Decorate 36 Binding 16 + Decorate 36 DescriptorSet 0 Decorate 47(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.bufferhandle1.frag.out b/Test/baseResults/spv.bufferhandle1.frag.out index c44ad2a6..6fb4dcce 100644 --- a/Test/baseResults/spv.bufferhandle1.frag.out +++ b/Test/baseResults/spv.bufferhandle1.frag.out @@ -29,10 +29,11 @@ spv.bufferhandle1.frag MemberName 13(blockType) 6 "g" Name 15 "t" Name 28 "j" + Decorate 7(t2) Block MemberDecorate 7(t2) 0 Offset 0 MemberDecorate 7(t2) 1 Offset 8 - Decorate 7(t2) Block Decorate 11 ArrayStride 4 + Decorate 13(blockType) Block MemberDecorate 13(blockType) 0 Offset 0 MemberDecorate 13(blockType) 1 Offset 4 MemberDecorate 13(blockType) 2 Offset 8 @@ -40,9 +41,8 @@ spv.bufferhandle1.frag MemberDecorate 13(blockType) 4 Offset 16 MemberDecorate 13(blockType) 5 Offset 32 MemberDecorate 13(blockType) 6 Offset 48 - Decorate 13(blockType) Block - Decorate 15(t) DescriptorSet 0 Decorate 15(t) Binding 0 + Decorate 15(t) DescriptorSet 0 Decorate 28(j) DecorationAliasedPointerEXT 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.bufferhandle10.frag.out b/Test/baseResults/spv.bufferhandle10.frag.out index 93c3f70a..d2b8719e 100644 --- a/Test/baseResults/spv.bufferhandle10.frag.out +++ b/Test/baseResults/spv.bufferhandle10.frag.out @@ -25,13 +25,13 @@ spv.bufferhandle10.frag Name 19 "i" Name 28 "b" Name 34 "b2" - MemberDecorate 7(t2) 0 Offset 0 Decorate 7(t2) Block + MemberDecorate 7(t2) 0 Offset 0 Decorate 9 ArrayStride 4 - MemberDecorate 10(blockType) 0 Offset 0 Decorate 10(blockType) Block - Decorate 12(t) DescriptorSet 0 + MemberDecorate 10(blockType) 0 Offset 0 Decorate 12(t) Binding 0 + Decorate 12(t) DescriptorSet 0 Decorate 19(i) Flat Decorate 19(i) Location 0 Decorate 28(b) DecorationAliasedPointerEXT diff --git a/Test/baseResults/spv.bufferhandle11.frag.out b/Test/baseResults/spv.bufferhandle11.frag.out index eec3cf34..a24406b1 100644 --- a/Test/baseResults/spv.bufferhandle11.frag.out +++ b/Test/baseResults/spv.bufferhandle11.frag.out @@ -35,14 +35,14 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to Name 48 "AcBlock" MemberName 48(AcBlock) 0 "ac_numPassed" Name 50 "" - MemberDecorate 26(PC) 0 Offset 0 Decorate 26(PC) Block - MemberDecorate 28(Block) 0 Offset 0 + MemberDecorate 26(PC) 0 Offset 0 Decorate 28(Block) Block - MemberDecorate 48(AcBlock) 0 Offset 0 + MemberDecorate 28(Block) 0 Offset 0 Decorate 48(AcBlock) Block - Decorate 50 DescriptorSet 0 + MemberDecorate 48(AcBlock) 0 Offset 0 Decorate 50 Binding 0 + Decorate 50 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.bufferhandle12.frag.out b/Test/baseResults/spv.bufferhandle12.frag.out index 319684f8..66ba75a6 100644 --- a/Test/baseResults/spv.bufferhandle12.frag.out +++ b/Test/baseResults/spv.bufferhandle12.frag.out @@ -67,26 +67,26 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to Name 167 "AcBlock" MemberName 167(AcBlock) 0 "ac_numPassed" Name 169 "" + Decorate 139(PC) Block MemberDecorate 139(PC) 0 Offset 0 MemberDecorate 139(PC) 1 Offset 8 MemberDecorate 139(PC) 2 Offset 16 - Decorate 139(PC) Block + Decorate 141(BlockB) Block MemberDecorate 141(BlockB) 0 Offset 0 MemberDecorate 141(BlockB) 1 Offset 8 - Decorate 141(BlockB) Block - MemberDecorate 142(BlockC) 0 ColMajor - MemberDecorate 142(BlockC) 0 RelaxedPrecision - MemberDecorate 142(BlockC) 0 Offset 0 - MemberDecorate 142(BlockC) 0 MatrixStride 16 Decorate 142(BlockC) Block + MemberDecorate 142(BlockC) 0 RelaxedPrecision + MemberDecorate 142(BlockC) 0 ColMajor + MemberDecorate 142(BlockC) 0 MatrixStride 16 + MemberDecorate 142(BlockC) 0 Offset 0 + Decorate 143(BlockD) Block MemberDecorate 143(BlockD) 0 RelaxedPrecision MemberDecorate 143(BlockD) 0 Offset 0 - Decorate 143(BlockD) Block Decorate 160 RelaxedPrecision - MemberDecorate 167(AcBlock) 0 Offset 0 Decorate 167(AcBlock) Block - Decorate 169 DescriptorSet 0 + MemberDecorate 167(AcBlock) 0 Offset 0 Decorate 169 Binding 0 + Decorate 169 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.bufferhandle13.frag.out b/Test/baseResults/spv.bufferhandle13.frag.out index 84eb884c..cb98c1ad 100644 --- a/Test/baseResults/spv.bufferhandle13.frag.out +++ b/Test/baseResults/spv.bufferhandle13.frag.out @@ -33,23 +33,23 @@ spv.bufferhandle13.frag Name 52 "param" Name 56 "g1" Name 57 "g2" - MemberDecorate 8(t4) 0 Offset 0 Decorate 8(t4) Block + MemberDecorate 8(t4) 0 Offset 0 Decorate 10(y) Aliased Decorate 15(y) DecorationAliasedPointerEXT Decorate 18(y) Restrict Decorate 21(y) Restrict Decorate 21(y) DecorationRestrictPointerEXT Decorate 34(a) DecorationAliasedPointerEXT - MemberDecorate 35(t5) 0 Offset 0 Decorate 35(t5) Block - Decorate 37(s5) DescriptorSet 0 + MemberDecorate 35(t5) 0 Offset 0 Decorate 37(s5) Binding 0 + Decorate 37(s5) DescriptorSet 0 Decorate 42(b) DecorationRestrictPointerEXT - Decorate 56(g1) DecorationAliasedPointerEXT - Decorate 57(g2) DecorationRestrictPointerEXT Decorate 47(param) DecorationAliasedPointerEXT Decorate 52(param) DecorationAliasedPointerEXT + Decorate 56(g1) DecorationAliasedPointerEXT + Decorate 57(g2) DecorationRestrictPointerEXT 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT diff --git a/Test/baseResults/spv.bufferhandle14.frag.out b/Test/baseResults/spv.bufferhandle14.frag.out index 4f994e19..c1069240 100644 --- a/Test/baseResults/spv.bufferhandle14.frag.out +++ b/Test/baseResults/spv.bufferhandle14.frag.out @@ -33,25 +33,25 @@ spv.bufferhandle14.frag MemberName 38(T4) 1 "j" MemberName 38(T4) 2 "k" Name 40 "t4" + Decorate 8(T1) Block MemberDecorate 8(T1) 0 Offset 0 MemberDecorate 8(T1) 1 Offset 4 MemberDecorate 8(T1) 2 Offset 8 - Decorate 8(T1) Block Decorate 10(t1) DecorationAliasedPointerEXT + Decorate 20(T2) Block MemberDecorate 20(T2) 0 Offset 0 MemberDecorate 20(T2) 1 Offset 4 MemberDecorate 20(T2) 2 Offset 8 - Decorate 20(T2) Block Decorate 22(t2) DecorationAliasedPointerEXT + Decorate 29(T3) Block MemberDecorate 29(T3) 0 Offset 0 MemberDecorate 29(T3) 1 Offset 4 MemberDecorate 29(T3) 2 Offset 8 - Decorate 29(T3) Block Decorate 31(t3) DecorationAliasedPointerEXT + Decorate 38(T4) Block MemberDecorate 38(T4) 0 Offset 0 MemberDecorate 38(T4) 1 Offset 4 MemberDecorate 38(T4) 2 Offset 8 - Decorate 38(T4) Block Decorate 40(t4) DecorationAliasedPointerEXT 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.bufferhandle15.frag.out b/Test/baseResults/spv.bufferhandle15.frag.out index 34d3d598..6bd429a9 100644 --- a/Test/baseResults/spv.bufferhandle15.frag.out +++ b/Test/baseResults/spv.bufferhandle15.frag.out @@ -36,29 +36,29 @@ WARNING: 0:16: '' : all default precisions are highp; use precision statements t Name 31 "t4" Name 37 "i" Name 52 "z" + Decorate 13(T4) Block MemberDecorate 13(T4) 0 Offset 0 MemberDecorate 13(T4) 1 Offset 8 MemberDecorate 13(T4) 2 Offset 16 - Decorate 13(T4) Block Decorate 14 ArrayStride 12 - MemberDecorate 15(T1) 0 Offset 0 Decorate 15(T1) Block + MemberDecorate 15(T1) 0 Offset 0 Decorate 18 ArrayStride 12 Decorate 20 ArrayStride 24 Decorate 21 ArrayStride 96 - MemberDecorate 22(T2) 0 Offset 0 Decorate 22(T2) Block + MemberDecorate 22(T2) 0 Offset 0 Decorate 26 ArrayStride 36 MemberDecorate 28(S) 0 Offset 0 - MemberDecorate 28(S) 1 ColMajor MemberDecorate 28(S) 1 RelaxedPrecision - MemberDecorate 28(S) 1 Offset 12 + MemberDecorate 28(S) 1 ColMajor MemberDecorate 28(S) 1 MatrixStride 12 + MemberDecorate 28(S) 1 Offset 12 MemberDecorate 28(S) 2 Offset 156 - MemberDecorate 29(T3) 0 Offset 0 Decorate 29(T3) Block - Decorate 31(t4) DescriptorSet 0 + MemberDecorate 29(T3) 0 Offset 0 Decorate 31(t4) Binding 0 + Decorate 31(t4) DescriptorSet 0 Decorate 37(i) Flat Decorate 37(i) Location 0 Decorate 59 RelaxedPrecision diff --git a/Test/baseResults/spv.bufferhandle16.frag.out b/Test/baseResults/spv.bufferhandle16.frag.out index ee04d361..4952b3d0 100644 --- a/Test/baseResults/spv.bufferhandle16.frag.out +++ b/Test/baseResults/spv.bufferhandle16.frag.out @@ -26,9 +26,9 @@ spv.bufferhandle16.frag Name 26 "e" Name 29 "f" Name 46 "x" + Decorate 9(T1) Block MemberDecorate 9(T1) 0 Offset 0 MemberDecorate 9(T1) 1 Offset 4 - Decorate 9(T1) Block Decorate 11(a) DecorationAliasedPointerEXT Decorate 15(b) DecorationAliasedPointerEXT Decorate 18(c) DecorationAliasedPointerEXT diff --git a/Test/baseResults/spv.bufferhandle18.frag.out b/Test/baseResults/spv.bufferhandle18.frag.out index 97c961a7..981a50e1 100644 --- a/Test/baseResults/spv.bufferhandle18.frag.out +++ b/Test/baseResults/spv.bufferhandle18.frag.out @@ -37,9 +37,9 @@ spv.bufferhandle18.frag Name 180 "m" Name 190 "x" Name 195 "buf" + Decorate 9(T1) Block MemberDecorate 9(T1) 0 Offset 0 MemberDecorate 9(T1) 1 Offset 4 - Decorate 9(T1) Block Decorate 11(a) DecorationAliasedPointerEXT Decorate 15(b) DecorationAliasedPointerEXT Decorate 18(c) DecorationAliasedPointerEXT @@ -49,8 +49,8 @@ spv.bufferhandle18.frag Decorate 59(arr) DecorationAliasedPointerEXT Decorate 130(j) DecorationAliasedPointerEXT Decorate 153(k) DecorationAliasedPointerEXT - MemberDecorate 178(T2) 0 Offset 0 Decorate 178(T2) Block + MemberDecorate 178(T2) 0 Offset 0 Decorate 180(m) DecorationAliasedPointerEXT 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.bufferhandle2.frag.out b/Test/baseResults/spv.bufferhandle2.frag.out index 31a39f26..78bcfc07 100644 --- a/Test/baseResults/spv.bufferhandle2.frag.out +++ b/Test/baseResults/spv.bufferhandle2.frag.out @@ -27,18 +27,18 @@ spv.bufferhandle2.frag Name 16 "t" Name 34 "b2" Name 37 "b3" + Decorate 8(blockType) Block MemberDecorate 8(blockType) 0 Offset 0 MemberDecorate 8(blockType) 1 Offset 4 MemberDecorate 8(blockType) 2 Offset 8 MemberDecorate 8(blockType) 3 Offset 12 MemberDecorate 8(blockType) 4 Offset 16 - Decorate 8(blockType) Block Decorate 13(b1) DecorationAliasedPointerEXT + Decorate 14(t2) Block MemberDecorate 14(t2) 0 Offset 0 MemberDecorate 14(t2) 1 Offset 8 - Decorate 14(t2) Block - Decorate 16(t) DescriptorSet 0 Decorate 16(t) Binding 0 + Decorate 16(t) DescriptorSet 0 Decorate 34(b2) DecorationAliasedPointerEXT Decorate 37(b3) DecorationAliasedPointerEXT 2: TypeVoid diff --git a/Test/baseResults/spv.bufferhandle3.frag.out b/Test/baseResults/spv.bufferhandle3.frag.out index 9f66b5cf..0a2ab456 100644 --- a/Test/baseResults/spv.bufferhandle3.frag.out +++ b/Test/baseResults/spv.bufferhandle3.frag.out @@ -30,25 +30,25 @@ spv.bufferhandle3.frag MemberName 38(t4) 1 "k" Name 40 "x" Name 42 "k" + Decorate 9(t4) Block MemberDecorate 9(t4) 0 Offset 0 MemberDecorate 9(t4) 1 Offset 8 - Decorate 9(t4) Block - MemberDecorate 10(t3) 0 Offset 0 Decorate 10(t3) Block + MemberDecorate 10(t3) 0 Offset 0 Decorate 13(y) DecorationAliasedPointerEXT - MemberDecorate 19(t5) 0 Offset 0 Decorate 19(t5) Block - Decorate 21(s5) DescriptorSet 0 + MemberDecorate 19(t5) 0 Offset 0 Decorate 21(s5) Binding 0 + Decorate 21(s5) DescriptorSet 0 + Decorate 23(param) DecorationAliasedPointerEXT + Decorate 38(t4) Block MemberDecorate 38(t4) 0 Offset 0 MemberDecorate 38(t4) 1 Offset 8 - Decorate 38(t4) Block - Decorate 40(x) DescriptorSet 1 Decorate 40(x) Binding 2 + Decorate 40(x) DescriptorSet 1 Decorate 42(k) Flat Decorate 42(k) Location 0 Decorate 42(k) DecorationAliasedPointerEXT - Decorate 23(param) DecorationAliasedPointerEXT 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT diff --git a/Test/baseResults/spv.bufferhandle4.frag.out b/Test/baseResults/spv.bufferhandle4.frag.out index 1ccb6095..42b34b7e 100644 --- a/Test/baseResults/spv.bufferhandle4.frag.out +++ b/Test/baseResults/spv.bufferhandle4.frag.out @@ -28,21 +28,21 @@ spv.bufferhandle4.frag MemberName 19(t5) 0 "m" Name 21 "s5" Name 43 "b" + Decorate 8(t4) Block MemberDecorate 8(t4) 0 Offset 0 MemberDecorate 8(t4) 1 Offset 8 - Decorate 8(t4) Block + Decorate 10(t3) Block MemberDecorate 10(t3) 0 Offset 0 MemberDecorate 10(t3) 1 Offset 8 - Decorate 10(t3) Block + Decorate 11(t4) Block MemberDecorate 11(t4) 0 Offset 0 MemberDecorate 11(t4) 1 Offset 8 - Decorate 11(t4) Block - Decorate 13(x) DescriptorSet 1 Decorate 13(x) Binding 2 - MemberDecorate 19(t5) 0 Offset 0 + Decorate 13(x) DescriptorSet 1 Decorate 19(t5) Block - Decorate 21(s5) DescriptorSet 0 + MemberDecorate 19(t5) 0 Offset 0 Decorate 21(s5) Binding 0 + Decorate 21(s5) DescriptorSet 0 Decorate 47 DecorationAliasedPointerEXT 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.bufferhandle5.frag.out b/Test/baseResults/spv.bufferhandle5.frag.out index 0bcb34b0..cce131dd 100644 --- a/Test/baseResults/spv.bufferhandle5.frag.out +++ b/Test/baseResults/spv.bufferhandle5.frag.out @@ -19,13 +19,13 @@ spv.bufferhandle5.frag Name 9 "t3" MemberName 9(t3) 0 "h" Name 11 "x" + Decorate 8(t4) Block MemberDecorate 8(t4) 0 Offset 0 MemberDecorate 8(t4) 1 Offset 8 - Decorate 8(t4) Block - MemberDecorate 9(t3) 0 Offset 0 Decorate 9(t3) Block - Decorate 11(x) DescriptorSet 1 + MemberDecorate 9(t3) 0 Offset 0 Decorate 11(x) Binding 2 + Decorate 11(x) DescriptorSet 1 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.bufferhandle6.frag.out b/Test/baseResults/spv.bufferhandle6.frag.out index 758a30be..89749cd8 100644 --- a/Test/baseResults/spv.bufferhandle6.frag.out +++ b/Test/baseResults/spv.bufferhandle6.frag.out @@ -34,26 +34,26 @@ spv.bufferhandle6.frag Name 154 "gl_FragCoord" Decorate 12 ArrayStride 4 Decorate 14 ArrayStride 8 + Decorate 15(T1) Block MemberDecorate 15(T1) 0 Offset 0 MemberDecorate 15(T1) 1 Offset 32 MemberDecorate 15(T1) 2 Offset 48 MemberDecorate 15(T1) 3 Offset 80 - Decorate 15(T1) Block Decorate 16 ArrayStride 4 Decorate 17 ArrayStride 8 + Decorate 18(T1) Block MemberDecorate 18(T1) 0 Offset 0 MemberDecorate 18(T1) 1 Offset 32 MemberDecorate 18(T1) 2 Offset 48 MemberDecorate 18(T1) 3 Offset 80 - Decorate 18(T1) Block Decorate 19 ArrayStride 8 - Decorate 21(x) DescriptorSet 3 Decorate 21(x) Binding 1 + Decorate 21(x) DescriptorSet 3 Decorate 29 ArrayStride 4 - MemberDecorate 30(Block) 0 Offset 0 Decorate 30(Block) Block - Decorate 149(image0_0) DescriptorSet 3 + MemberDecorate 30(Block) 0 Offset 0 Decorate 149(image0_0) Binding 0 + Decorate 149(image0_0) DescriptorSet 3 Decorate 154(gl_FragCoord) BuiltIn FragCoord 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.bufferhandle7.frag.out b/Test/baseResults/spv.bufferhandle7.frag.out index 070adb71..6af3efbb 100644 --- a/Test/baseResults/spv.bufferhandle7.frag.out +++ b/Test/baseResults/spv.bufferhandle7.frag.out @@ -30,24 +30,24 @@ spv.bufferhandle7.frag MemberName 15(t2) 0 "f" MemberName 15(t2) 1 "g" Name 17 "u" + Decorate 7(t2) Block MemberDecorate 7(t2) 0 Offset 0 MemberDecorate 7(t2) 1 Offset 8 - Decorate 7(t2) Block + Decorate 9(blockType) Block MemberDecorate 9(blockType) 0 Offset 0 MemberDecorate 9(blockType) 1 Offset 4 MemberDecorate 9(blockType) 2 Offset 8 MemberDecorate 9(blockType) 3 Offset 12 MemberDecorate 9(blockType) 4 Offset 16 - Decorate 9(blockType) Block - Decorate 11(t) DescriptorSet 0 Decorate 11(t) Binding 0 - MemberDecorate 14(t3) 0 Offset 0 + Decorate 11(t) DescriptorSet 0 Decorate 14(t3) Block + MemberDecorate 14(t3) 0 Offset 0 + Decorate 15(t2) Block MemberDecorate 15(t2) 0 Offset 0 MemberDecorate 15(t2) 1 Offset 8 - Decorate 15(t2) Block - Decorate 17(u) DescriptorSet 0 Decorate 17(u) Binding 1 + Decorate 17(u) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT diff --git a/Test/baseResults/spv.bufferhandle8.frag.out b/Test/baseResults/spv.bufferhandle8.frag.out index 52eec110..7a717b0b 100644 --- a/Test/baseResults/spv.bufferhandle8.frag.out +++ b/Test/baseResults/spv.bufferhandle8.frag.out @@ -38,29 +38,29 @@ spv.bufferhandle8.frag MemberName 36(blockType) 3 "d" MemberName 36(blockType) 4 "e" Name 38 "t" - MemberDecorate 10(T1) 0 Offset 0 Decorate 10(T1) Block - MemberDecorate 11(T2) 0 Offset 0 + MemberDecorate 10(T1) 0 Offset 0 Decorate 11(T2) Block + MemberDecorate 11(T2) 0 Offset 0 + Decorate 13(x) DecorationAliasedPointerEXT MemberDecorate 14(Blah) 0 Offset 0 MemberDecorate 14(Blah) 1 Offset 8 Decorate 15 ArrayStride 16 - MemberDecorate 16(T3) 0 Offset 0 Decorate 16(T3) Block - Decorate 18(t3) DescriptorSet 0 + MemberDecorate 16(T3) 0 Offset 0 Decorate 18(t3) Binding 0 + Decorate 18(t3) DescriptorSet 0 + Decorate 35(t2) Block MemberDecorate 35(t2) 0 Offset 0 MemberDecorate 35(t2) 1 Offset 8 - Decorate 35(t2) Block + Decorate 36(blockType) Block MemberDecorate 36(blockType) 0 Offset 0 MemberDecorate 36(blockType) 1 Offset 4 MemberDecorate 36(blockType) 2 Offset 8 MemberDecorate 36(blockType) 3 Offset 12 MemberDecorate 36(blockType) 4 Offset 16 - Decorate 36(blockType) Block - Decorate 38(t) DescriptorSet 0 Decorate 38(t) Binding 0 - Decorate 13(x) DecorationAliasedPointerEXT + Decorate 38(t) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT diff --git a/Test/baseResults/spv.bufferhandle9.frag.out b/Test/baseResults/spv.bufferhandle9.frag.out index ff7ede7a..e094605c 100644 --- a/Test/baseResults/spv.bufferhandle9.frag.out +++ b/Test/baseResults/spv.bufferhandle9.frag.out @@ -32,12 +32,12 @@ spv.bufferhandle9.frag MemberName 53(t2) 0 "f" MemberName 53(t2) 1 "g" Name 55 "t" + Decorate 8(blockType) Block MemberDecorate 8(blockType) 0 Offset 0 MemberDecorate 8(blockType) 1 Offset 4 MemberDecorate 8(blockType) 2 Offset 8 MemberDecorate 8(blockType) 3 Offset 12 MemberDecorate 8(blockType) 4 Offset 16 - Decorate 8(blockType) Block Decorate 13(b1) DecorationAliasedPointerEXT Decorate 16(h) Flat Decorate 16(h) Location 0 @@ -45,11 +45,11 @@ spv.bufferhandle9.frag Decorate 19(i) Location 1 Decorate 34(b2) DecorationAliasedPointerEXT Decorate 37(b3) DecorationAliasedPointerEXT + Decorate 53(t2) Block MemberDecorate 53(t2) 0 Offset 0 MemberDecorate 53(t2) 1 Offset 8 - Decorate 53(t2) Block - Decorate 55(t) DescriptorSet 0 Decorate 55(t) Binding 0 + Decorate 55(t) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT diff --git a/Test/baseResults/spv.bufferhandleUvec2.frag.out b/Test/baseResults/spv.bufferhandleUvec2.frag.out index 133190e5..0ee138ba 100644 --- a/Test/baseResults/spv.bufferhandleUvec2.frag.out +++ b/Test/baseResults/spv.bufferhandleUvec2.frag.out @@ -33,12 +33,12 @@ spv.bufferhandleUvec2.frag MemberName 68(t2) 0 "f" MemberName 68(t2) 1 "g" Name 70 "t" + Decorate 8(blockType) Block MemberDecorate 8(blockType) 0 Offset 0 MemberDecorate 8(blockType) 1 Offset 4 MemberDecorate 8(blockType) 2 Offset 8 MemberDecorate 8(blockType) 3 Offset 12 MemberDecorate 8(blockType) 4 Offset 16 - Decorate 8(blockType) Block Decorate 13(b1) DecorationAliasedPointerEXT Decorate 16(h) Flat Decorate 16(h) Location 0 @@ -46,11 +46,11 @@ spv.bufferhandleUvec2.frag Decorate 19(i) Location 1 Decorate 34(b2) DecorationAliasedPointerEXT Decorate 37(b3) DecorationAliasedPointerEXT + Decorate 68(t2) Block MemberDecorate 68(t2) 0 Offset 0 MemberDecorate 68(t2) 1 Offset 8 - Decorate 68(t2) Block - Decorate 70(t) DescriptorSet 0 Decorate 70(t) Binding 0 + Decorate 70(t) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT diff --git a/Test/baseResults/spv.builtInXFB.vert.out b/Test/baseResults/spv.builtInXFB.vert.out index b3a3e12c..68e5a7d4 100644 --- a/Test/baseResults/spv.builtInXFB.vert.out +++ b/Test/baseResults/spv.builtInXFB.vert.out @@ -15,11 +15,11 @@ spv.builtInXFB.vert MemberName 8(gl_PerVertex) 0 "gl_Position" MemberName 8(gl_PerVertex) 1 "gl_PointSize" Name 10 "" - MemberDecorate 8(gl_PerVertex) 0 Offset 20 - MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position - MemberDecorate 8(gl_PerVertex) 1 Offset 16 - MemberDecorate 8(gl_PerVertex) 1 BuiltIn PointSize Decorate 8(gl_PerVertex) Block + MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 8(gl_PerVertex) 0 Offset 20 + MemberDecorate 8(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 8(gl_PerVertex) 1 Offset 16 Decorate 10 XfbBuffer 1 Decorate 10 XfbStride 64 2: TypeVoid diff --git a/Test/baseResults/spv.builtin.ShadingRateEXT.frag.out b/Test/baseResults/spv.builtin.ShadingRateEXT.frag.out index 5707fb93..1729a162 100644 --- a/Test/baseResults/spv.builtin.ShadingRateEXT.frag.out +++ b/Test/baseResults/spv.builtin.ShadingRateEXT.frag.out @@ -19,8 +19,8 @@ WARNING: 0:5: '' : all default precisions are highp; use precision statements to Name 8 "val" Name 10 "gl_ShadingRateEXT" Decorate 8(val) Location 0 - Decorate 10(gl_ShadingRateEXT) Flat Decorate 10(gl_ShadingRateEXT) BuiltIn ShadingRateKHR + Decorate 10(gl_ShadingRateEXT) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.computeShaderDerivatives.comp.out b/Test/baseResults/spv.computeShaderDerivatives.comp.out index 47610785..789e05ea 100644 --- a/Test/baseResults/spv.computeShaderDerivatives.comp.out +++ b/Test/baseResults/spv.computeShaderDerivatives.comp.out @@ -61,6 +61,7 @@ spv.computeShaderDerivatives.comp MemberName 10(block) 42 "v4X" MemberName 10(block) 43 "v4Y" Name 12 "" + Decorate 10(block) BufferBlock MemberDecorate 10(block) 0 Offset 0 MemberDecorate 10(block) 1 Offset 4 MemberDecorate 10(block) 2 Offset 8 @@ -105,9 +106,8 @@ spv.computeShaderDerivatives.comp MemberDecorate 10(block) 41 Offset 448 MemberDecorate 10(block) 42 Offset 464 MemberDecorate 10(block) 43 Offset 480 - Decorate 10(block) BufferBlock - Decorate 12 DescriptorSet 0 Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 Decorate 211 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.computeShaderDerivatives2.comp.out b/Test/baseResults/spv.computeShaderDerivatives2.comp.out index 52b54746..a520fc3e 100644 --- a/Test/baseResults/spv.computeShaderDerivatives2.comp.out +++ b/Test/baseResults/spv.computeShaderDerivatives2.comp.out @@ -61,6 +61,7 @@ spv.computeShaderDerivatives2.comp MemberName 10(block) 42 "v4X" MemberName 10(block) 43 "v4Y" Name 12 "" + Decorate 10(block) BufferBlock MemberDecorate 10(block) 0 Offset 0 MemberDecorate 10(block) 1 Offset 4 MemberDecorate 10(block) 2 Offset 8 @@ -105,9 +106,8 @@ spv.computeShaderDerivatives2.comp MemberDecorate 10(block) 41 Offset 448 MemberDecorate 10(block) 42 Offset 464 MemberDecorate 10(block) 43 Offset 480 - Decorate 10(block) BufferBlock - Decorate 12 DescriptorSet 0 Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 Decorate 211 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.conditionalDemote.frag.out b/Test/baseResults/spv.conditionalDemote.frag.out index 84c816b2..fb789db7 100644 --- a/Test/baseResults/spv.conditionalDemote.frag.out +++ b/Test/baseResults/spv.conditionalDemote.frag.out @@ -18,8 +18,8 @@ spv.conditionalDemote.frag Name 17 "coord" Name 33 "x" Name 36 "o" - Decorate 13(tex) DescriptorSet 0 Decorate 13(tex) Binding 0 + Decorate 13(tex) DescriptorSet 0 Decorate 17(coord) Location 0 Decorate 36(o) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.conditionalDiscard.frag.out b/Test/baseResults/spv.conditionalDiscard.frag.out index f31fa851..3d7cca84 100644 --- a/Test/baseResults/spv.conditionalDiscard.frag.out +++ b/Test/baseResults/spv.conditionalDiscard.frag.out @@ -14,8 +14,8 @@ spv.conditionalDiscard.frag Name 13 "tex" Name 17 "coord" Name 34 "gl_FragColor" - Decorate 13(tex) DescriptorSet 0 Decorate 13(tex) Binding 0 + Decorate 13(tex) DescriptorSet 0 Decorate 17(coord) Location 0 Decorate 34(gl_FragColor) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.constructComposite.comp.out b/Test/baseResults/spv.constructComposite.comp.out index 491a33f1..c2688ca5 100644 --- a/Test/baseResults/spv.constructComposite.comp.out +++ b/Test/baseResults/spv.constructComposite.comp.out @@ -27,10 +27,10 @@ spv.constructComposite.comp MemberDecorate 11(sA) 0 Offset 0 MemberDecorate 11(sA) 1 Offset 4 MemberDecorate 12(sB) 0 Offset 0 - MemberDecorate 13(ubo) 0 Offset 0 Decorate 13(ubo) Block - Decorate 15 DescriptorSet 0 + MemberDecorate 13(ubo) 0 Offset 0 Decorate 15 Binding 0 + Decorate 15 DescriptorSet 0 Decorate 28 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.coopmat.comp.out b/Test/baseResults/spv.coopmat.comp.out index b594af23..b14ad59b 100644 --- a/Test/baseResults/spv.coopmat.comp.out +++ b/Test/baseResults/spv.coopmat.comp.out @@ -78,24 +78,24 @@ spv.coopmat.comp Name 227 "scm" Decorate 66 ArrayStride 4 Decorate 67 ArrayStride 4 + Decorate 68(Block) Block MemberDecorate 68(Block) 0 Offset 0 MemberDecorate 68(Block) 1 Offset 4194304 - Decorate 68(Block) Block - Decorate 70(block) DescriptorSet 0 Decorate 70(block) Binding 0 + Decorate 70(block) DescriptorSet 0 Decorate 82 ArrayStride 2 Decorate 84 ArrayStride 2 + Decorate 86(Block16) Block MemberDecorate 86(Block16) 0 Offset 0 MemberDecorate 86(Block16) 1 Offset 2097152 MemberDecorate 86(Block16) 2 Offset 2097160 - Decorate 86(Block16) Block Decorate 87 ArrayStride 4 Decorate 88 ArrayStride 4 + Decorate 89(Block) Block MemberDecorate 89(Block) 0 Offset 0 MemberDecorate 89(Block) 1 Offset 4194304 - Decorate 89(Block) Block - Decorate 91(block16) DescriptorSet 0 Decorate 91(block16) Binding 0 + Decorate 91(block16) DescriptorSet 0 Decorate 124(Y) SpecId 0 Decorate 200 BuiltIn WorkgroupSize Decorate 212(F) SpecId 1 diff --git a/Test/baseResults/spv.coopmatKHR.comp.out b/Test/baseResults/spv.coopmatKHR.comp.out index 60a45400..4d87d70a 100644 --- a/Test/baseResults/spv.coopmatKHR.comp.out +++ b/Test/baseResults/spv.coopmatKHR.comp.out @@ -82,24 +82,24 @@ spv.coopmatKHR.comp Name 249 "scm" Decorate 67 ArrayStride 4 Decorate 68 ArrayStride 4 + Decorate 69(Block) Block MemberDecorate 69(Block) 0 Offset 0 MemberDecorate 69(Block) 1 Offset 4194304 - Decorate 69(Block) Block - Decorate 71(block) DescriptorSet 0 Decorate 71(block) Binding 0 + Decorate 71(block) DescriptorSet 0 Decorate 81 ArrayStride 2 Decorate 83 ArrayStride 2 + Decorate 85(Block16) Block MemberDecorate 85(Block16) 0 Offset 0 MemberDecorate 85(Block16) 1 Offset 2097152 MemberDecorate 85(Block16) 2 Offset 2097160 - Decorate 85(Block16) Block Decorate 86 ArrayStride 4 Decorate 87 ArrayStride 4 + Decorate 88(Block) Block MemberDecorate 88(Block) 0 Offset 0 MemberDecorate 88(Block) 1 Offset 4194304 - Decorate 88(Block) Block - Decorate 90(block16) DescriptorSet 0 Decorate 90(block16) Binding 0 + Decorate 90(block16) DescriptorSet 0 Decorate 128(Y) SpecId 0 Decorate 232 BuiltIn WorkgroupSize Decorate 234(F) SpecId 1 diff --git a/Test/baseResults/spv.coopmat_armlayout.comp.out b/Test/baseResults/spv.coopmat_armlayout.comp.out index fbeb6555..8566f6ec 100644 --- a/Test/baseResults/spv.coopmat_armlayout.comp.out +++ b/Test/baseResults/spv.coopmat_armlayout.comp.out @@ -84,24 +84,24 @@ spv.coopmat_armlayout.comp Name 250 "scm" Decorate 67 ArrayStride 4 Decorate 68 ArrayStride 4 + Decorate 69(Block) Block MemberDecorate 69(Block) 0 Offset 0 MemberDecorate 69(Block) 1 Offset 4194304 - Decorate 69(Block) Block - Decorate 71(block) DescriptorSet 0 Decorate 71(block) Binding 0 + Decorate 71(block) DescriptorSet 0 Decorate 82 ArrayStride 2 Decorate 84 ArrayStride 2 + Decorate 86(Block16) Block MemberDecorate 86(Block16) 0 Offset 0 MemberDecorate 86(Block16) 1 Offset 2097152 MemberDecorate 86(Block16) 2 Offset 2097160 - Decorate 86(Block16) Block Decorate 87 ArrayStride 4 Decorate 88 ArrayStride 4 + Decorate 89(Block) Block MemberDecorate 89(Block) 0 Offset 0 MemberDecorate 89(Block) 1 Offset 4194304 - Decorate 89(Block) Block - Decorate 91(block16) DescriptorSet 0 Decorate 91(block16) Binding 0 + Decorate 91(block16) DescriptorSet 0 Decorate 129(Y) SpecId 0 Decorate 233 BuiltIn WorkgroupSize Decorate 235(F) SpecId 1 diff --git a/Test/baseResults/spv.dataOutIndirect.frag.out b/Test/baseResults/spv.dataOutIndirect.frag.out index d07cfe97..e699d401 100644 --- a/Test/baseResults/spv.dataOutIndirect.frag.out +++ b/Test/baseResults/spv.dataOutIndirect.frag.out @@ -16,10 +16,10 @@ spv.dataOutIndirect.frag Name 16 "bName" Name 22 "Color" Decorate 12(fcolor) Location 0 - MemberDecorate 14(b) 0 Offset 0 Decorate 14(b) Block - Decorate 16(bName) DescriptorSet 0 + MemberDecorate 14(b) 0 Offset 0 Decorate 16(bName) Binding 0 + Decorate 16(bName) DescriptorSet 0 Decorate 22(Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.debugInfo.1.1.frag.out b/Test/baseResults/spv.debugInfo.1.1.frag.out index 12726756..77fae611 100644 --- a/Test/baseResults/spv.debugInfo.1.1.frag.out +++ b/Test/baseResults/spv.debugInfo.1.1.frag.out @@ -129,12 +129,12 @@ void main() Decorate 30(inv) Location 0 Decorate 104(outv) Location 0 MemberDecorate 105(S) 0 Offset 0 - MemberDecorate 106(ubuf) 0 Offset 0 Decorate 106(ubuf) Block - Decorate 108 DescriptorSet 3 + MemberDecorate 106(ubuf) 0 Offset 0 Decorate 108 Binding 0 - Decorate 131(s2d) DescriptorSet 3 + Decorate 108 DescriptorSet 3 Decorate 131(s2d) Binding 1 + Decorate 131(s2d) DescriptorSet 3 3: TypeVoid 4: TypeFunction 3 7: TypeInt 32 1 diff --git a/Test/baseResults/spv.debugInfo.frag.out b/Test/baseResults/spv.debugInfo.frag.out index 8bacd74d..2595211f 100644 --- a/Test/baseResults/spv.debugInfo.frag.out +++ b/Test/baseResults/spv.debugInfo.frag.out @@ -129,13 +129,13 @@ void main() Decorate 30(inv) Location 0 Decorate 104(outv) Location 0 MemberDecorate 105(S) 0 Offset 0 - MemberDecorate 106(ubuf) 0 Offset 0 Decorate 106(ubuf) Block - Decorate 108 DescriptorSet 3 + MemberDecorate 106(ubuf) 0 Offset 0 Decorate 108 Binding 0 + Decorate 108 DescriptorSet 3 Decorate 131(s2d) Location 0 - Decorate 131(s2d) DescriptorSet 3 Decorate 131(s2d) Binding 1 + Decorate 131(s2d) DescriptorSet 3 3: TypeVoid 4: TypeFunction 3 7: TypeInt 32 1 diff --git a/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out b/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out index c47f0e66..9f94aa1d 100644 --- a/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out @@ -81,19 +81,19 @@ void main() { Name 98 "vertex_pos0" Name 135 "out_fragColor" Decorate 42 ArrayStride 4 - MemberDecorate 44(MeshVertexPositions) 0 Offset 0 Decorate 44(MeshVertexPositions) Block + MemberDecorate 44(MeshVertexPositions) 0 Offset 0 + Decorate 53(meshData) DecorationAliasedPointerEXT MemberDecorate 59(Mesh) 0 Offset 0 Decorate 62 ArrayStride 8 + Decorate 64(PerPass_meshes) Block MemberDecorate 64(PerPass_meshes) 0 NonWritable MemberDecorate 64(PerPass_meshes) 0 Offset 0 - Decorate 64(PerPass_meshes) Block - Decorate 73(perPass_meshes) DescriptorSet 0 Decorate 73(perPass_meshes) Binding 0 + Decorate 73(perPass_meshes) DescriptorSet 0 Decorate 82(tri_idx0) Flat Decorate 82(tri_idx0) Location 0 Decorate 135(out_fragColor) Location 0 - Decorate 53(meshData) DecorationAliasedPointerEXT 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 diff --git a/Test/baseResults/spv.debuginfo.glsl.comp.out b/Test/baseResults/spv.debuginfo.glsl.comp.out index 3ad62497..2a3505fb 100644 --- a/Test/baseResults/spv.debuginfo.glsl.comp.out +++ b/Test/baseResults/spv.debuginfo.glsl.comp.out @@ -304,6 +304,7 @@ void main() Name 719 "a" Name 733 "b" Name 750 "c" + Decorate 78(UBO) Block MemberDecorate 78(UBO) 0 Offset 0 MemberDecorate 78(UBO) 1 Offset 4 MemberDecorate 78(UBO) 2 Offset 8 @@ -315,9 +316,8 @@ void main() MemberDecorate 78(UBO) 8 Offset 32 MemberDecorate 78(UBO) 9 Offset 48 MemberDecorate 78(UBO) 10 Offset 64 - Decorate 78(UBO) Block - Decorate 101(params) DescriptorSet 0 Decorate 101(params) Binding 2 + Decorate 101(params) DescriptorSet 0 Decorate 133(gl_GlobalInvocationID) BuiltIn GlobalInvocationId MemberDecorate 177(Particle) 0 Offset 0 MemberDecorate 177(Particle) 1 Offset 16 @@ -325,17 +325,17 @@ void main() MemberDecorate 177(Particle) 3 Offset 48 MemberDecorate 177(Particle) 4 Offset 64 Decorate 189 ArrayStride 80 - MemberDecorate 191(ParticleIn) 0 Offset 0 Decorate 191(ParticleIn) BufferBlock - Decorate 200 DescriptorSet 0 + MemberDecorate 191(ParticleIn) 0 Offset 0 Decorate 200 Binding 0 + Decorate 200 DescriptorSet 0 Decorate 214 ArrayStride 80 - MemberDecorate 216(ParticleOut) 0 Offset 0 Decorate 216(ParticleOut) BufferBlock - Decorate 225 DescriptorSet 0 + MemberDecorate 216(ParticleOut) 0 Offset 0 Decorate 225 Binding 1 - MemberDecorate 675(PushConsts) 0 Offset 0 + Decorate 225 DescriptorSet 0 Decorate 675(PushConsts) Block + MemberDecorate 675(PushConsts) 0 Offset 0 Decorate 974 BuiltIn WorkgroupSize 4: TypeVoid 5: TypeFunction 4 diff --git a/Test/baseResults/spv.debuginfo.glsl.frag.out b/Test/baseResults/spv.debuginfo.glsl.frag.out index 6c5e4da6..b2370599 100644 --- a/Test/baseResults/spv.debuginfo.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.glsl.frag.out @@ -352,29 +352,29 @@ void main() Name 814 "spec" Name 861 "param" Name 866 "param" - Decorate 177(samplerShadowMap) DescriptorSet 0 Decorate 177(samplerShadowMap) Binding 5 + Decorate 177(samplerShadowMap) DescriptorSet 0 MemberDecorate 405(Light) 0 Offset 0 MemberDecorate 405(Light) 1 Offset 16 MemberDecorate 405(Light) 2 Offset 32 MemberDecorate 405(Light) 3 ColMajor - MemberDecorate 405(Light) 3 Offset 48 MemberDecorate 405(Light) 3 MatrixStride 16 + MemberDecorate 405(Light) 3 Offset 48 Decorate 416 ArrayStride 112 + Decorate 418(UBO) Block MemberDecorate 418(UBO) 0 Offset 0 MemberDecorate 418(UBO) 1 Offset 16 MemberDecorate 418(UBO) 2 Offset 352 MemberDecorate 418(UBO) 3 Offset 356 - Decorate 418(UBO) Block - Decorate 431(ubo) DescriptorSet 0 Decorate 431(ubo) Binding 4 - Decorate 487(samplerposition) DescriptorSet 0 + Decorate 431(ubo) DescriptorSet 0 Decorate 487(samplerposition) Binding 1 + Decorate 487(samplerposition) DescriptorSet 0 Decorate 493(inUV) Location 0 - Decorate 505(samplerNormal) DescriptorSet 0 Decorate 505(samplerNormal) Binding 2 - Decorate 518(samplerAlbedo) DescriptorSet 0 + Decorate 505(samplerNormal) DescriptorSet 0 Decorate 518(samplerAlbedo) Binding 3 + Decorate 518(samplerAlbedo) DescriptorSet 0 Decorate 546(outFragColor) Location 0 4: TypeVoid 5: TypeFunction 4 diff --git a/Test/baseResults/spv.debuginfo.glsl.geom.out b/Test/baseResults/spv.debuginfo.glsl.geom.out index 32634ffe..0a92146a 100644 --- a/Test/baseResults/spv.debuginfo.glsl.geom.out +++ b/Test/baseResults/spv.debuginfo.glsl.geom.out @@ -158,32 +158,32 @@ void main(void) Decorate 64(outNormal) Location 0 Decorate 74 ArrayStride 64 Decorate 76 ArrayStride 64 - MemberDecorate 78(UBO) 0 ColMajor - MemberDecorate 78(UBO) 0 Offset 0 - MemberDecorate 78(UBO) 0 MatrixStride 16 - MemberDecorate 78(UBO) 1 ColMajor - MemberDecorate 78(UBO) 1 Offset 128 - MemberDecorate 78(UBO) 1 MatrixStride 16 - MemberDecorate 78(UBO) 2 Offset 256 Decorate 78(UBO) Block - Decorate 92(ubo) DescriptorSet 0 + MemberDecorate 78(UBO) 0 ColMajor + MemberDecorate 78(UBO) 0 MatrixStride 16 + MemberDecorate 78(UBO) 0 Offset 0 + MemberDecorate 78(UBO) 1 ColMajor + MemberDecorate 78(UBO) 1 MatrixStride 16 + MemberDecorate 78(UBO) 1 Offset 128 + MemberDecorate 78(UBO) 2 Offset 256 Decorate 92(ubo) Binding 0 + Decorate 92(ubo) DescriptorSet 0 Decorate 98(gl_InvocationID) BuiltIn InvocationId Decorate 121(inNormal) Location 0 Decorate 130(outColor) Location 1 Decorate 134(inColor) Location 1 + Decorate 151(gl_PerVertex) Block MemberDecorate 151(gl_PerVertex) 0 BuiltIn Position MemberDecorate 151(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 151(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 151(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 151(gl_PerVertex) Block Decorate 208(outLightVec) Location 3 Decorate 217(outViewVec) Location 2 + Decorate 225(gl_PerVertex) Block MemberDecorate 225(gl_PerVertex) 0 BuiltIn Position MemberDecorate 225(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 225(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 225(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 225(gl_PerVertex) Block Decorate 250(gl_ViewportIndex) BuiltIn ViewportIndex Decorate 256(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 260(gl_PrimitiveIDIn) BuiltIn PrimitiveId diff --git a/Test/baseResults/spv.debuginfo.glsl.tesc.out b/Test/baseResults/spv.debuginfo.glsl.tesc.out index 8a0308a4..9a6a3c66 100644 --- a/Test/baseResults/spv.debuginfo.glsl.tesc.out +++ b/Test/baseResults/spv.debuginfo.glsl.tesc.out @@ -251,39 +251,39 @@ void main() Name 542 "inNormal" Name 557 "outUV" Decorate 95 ArrayStride 16 + Decorate 99(UBO) Block MemberDecorate 99(UBO) 0 ColMajor - MemberDecorate 99(UBO) 0 Offset 0 MemberDecorate 99(UBO) 0 MatrixStride 16 + MemberDecorate 99(UBO) 0 Offset 0 MemberDecorate 99(UBO) 1 ColMajor - MemberDecorate 99(UBO) 1 Offset 64 MemberDecorate 99(UBO) 1 MatrixStride 16 + MemberDecorate 99(UBO) 1 Offset 64 MemberDecorate 99(UBO) 2 Offset 128 MemberDecorate 99(UBO) 3 Offset 144 MemberDecorate 99(UBO) 4 Offset 240 MemberDecorate 99(UBO) 5 Offset 244 MemberDecorate 99(UBO) 6 Offset 248 MemberDecorate 99(UBO) 7 Offset 256 - Decorate 99(UBO) Block - Decorate 122(ubo) DescriptorSet 0 Decorate 122(ubo) Binding 0 + Decorate 122(ubo) DescriptorSet 0 + Decorate 243(gl_PerVertex) Block MemberDecorate 243(gl_PerVertex) 0 BuiltIn Position MemberDecorate 243(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 243(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 243(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 243(gl_PerVertex) Block Decorate 265(gl_InvocationID) BuiltIn InvocationId - Decorate 285(samplerHeight) DescriptorSet 0 Decorate 285(samplerHeight) Binding 1 + Decorate 285(samplerHeight) DescriptorSet 0 Decorate 294(inUV) Location 1 - Decorate 383(gl_TessLevelInner) Patch Decorate 383(gl_TessLevelInner) BuiltIn TessLevelInner - Decorate 399(gl_TessLevelOuter) Patch + Decorate 383(gl_TessLevelInner) Patch Decorate 399(gl_TessLevelOuter) BuiltIn TessLevelOuter + Decorate 399(gl_TessLevelOuter) Patch + Decorate 503(gl_PerVertex) Block MemberDecorate 503(gl_PerVertex) 0 BuiltIn Position MemberDecorate 503(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 503(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 503(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 503(gl_PerVertex) Block Decorate 532(outNormal) Location 0 Decorate 542(inNormal) Location 0 Decorate 557(outUV) Location 1 diff --git a/Test/baseResults/spv.debuginfo.glsl.tese.out b/Test/baseResults/spv.debuginfo.glsl.tese.out index a5cb5029..6098b73e 100644 --- a/Test/baseResults/spv.debuginfo.glsl.tese.out +++ b/Test/baseResults/spv.debuginfo.glsl.tese.out @@ -183,34 +183,34 @@ void main() Decorate 93(outUV) Location 1 Decorate 116(inNormal) Location 0 Decorate 143(outNormal) Location 0 + Decorate 166(gl_PerVertex) Block MemberDecorate 166(gl_PerVertex) 0 BuiltIn Position MemberDecorate 166(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 166(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 166(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 166(gl_PerVertex) Block - Decorate 234(displacementMap) DescriptorSet 0 Decorate 234(displacementMap) Binding 1 + Decorate 234(displacementMap) DescriptorSet 0 Decorate 249 ArrayStride 16 + Decorate 251(UBO) Block MemberDecorate 251(UBO) 0 ColMajor - MemberDecorate 251(UBO) 0 Offset 0 MemberDecorate 251(UBO) 0 MatrixStride 16 + MemberDecorate 251(UBO) 0 Offset 0 MemberDecorate 251(UBO) 1 ColMajor - MemberDecorate 251(UBO) 1 Offset 64 MemberDecorate 251(UBO) 1 MatrixStride 16 + MemberDecorate 251(UBO) 1 Offset 64 MemberDecorate 251(UBO) 2 Offset 128 MemberDecorate 251(UBO) 3 Offset 144 MemberDecorate 251(UBO) 4 Offset 240 MemberDecorate 251(UBO) 5 Offset 244 MemberDecorate 251(UBO) 6 Offset 248 MemberDecorate 251(UBO) 7 Offset 256 - Decorate 251(UBO) Block - Decorate 273(ubo) DescriptorSet 0 Decorate 273(ubo) Binding 0 + Decorate 273(ubo) DescriptorSet 0 + Decorate 288(gl_PerVertex) Block MemberDecorate 288(gl_PerVertex) 0 BuiltIn Position MemberDecorate 288(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 288(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 288(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 288(gl_PerVertex) Block Decorate 316(outViewVec) Location 2 Decorate 324(outLightVec) Location 3 Decorate 337(outWorldPos) Location 5 diff --git a/Test/baseResults/spv.debuginfo.glsl.vert.out b/Test/baseResults/spv.debuginfo.glsl.vert.out index e635c5ef..f9838611 100644 --- a/Test/baseResults/spv.debuginfo.glsl.vert.out +++ b/Test/baseResults/spv.debuginfo.glsl.vert.out @@ -204,26 +204,26 @@ void main() Decorate 55(inUV) Location 2 Decorate 65(instanceTexIndex) Location 7 Decorate 83(instanceRot) Location 5 + Decorate 98(UBO) Block MemberDecorate 98(UBO) 0 ColMajor - MemberDecorate 98(UBO) 0 Offset 0 MemberDecorate 98(UBO) 0 MatrixStride 16 + MemberDecorate 98(UBO) 0 Offset 0 MemberDecorate 98(UBO) 1 ColMajor - MemberDecorate 98(UBO) 1 Offset 64 MemberDecorate 98(UBO) 1 MatrixStride 16 + MemberDecorate 98(UBO) 1 Offset 64 MemberDecorate 98(UBO) 2 Offset 128 MemberDecorate 98(UBO) 3 Offset 144 MemberDecorate 98(UBO) 4 Offset 148 - Decorate 98(UBO) Block - Decorate 114(ubo) DescriptorSet 0 Decorate 114(ubo) Binding 0 + Decorate 114(ubo) DescriptorSet 0 Decorate 305(inPos) Location 0 Decorate 323(instanceScale) Location 6 Decorate 328(instancePos) Location 4 + Decorate 339(gl_PerVertex) Block MemberDecorate 339(gl_PerVertex) 0 BuiltIn Position MemberDecorate 339(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 339(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 339(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 339(gl_PerVertex) Block Decorate 371(outNormal) Location 0 Decorate 390(inNormal) Location 1 Decorate 428(outLightVec) Location 4 diff --git a/Test/baseResults/spv.debuginfo.hlsl.comp.out b/Test/baseResults/spv.debuginfo.hlsl.comp.out index e231ed3e..72f83ed7 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.comp.out +++ b/Test/baseResults/spv.debuginfo.hlsl.comp.out @@ -144,31 +144,31 @@ spv.debuginfo.hlsl.comp MemberDecorate 91(UBO) 8 Offset 32 MemberDecorate 91(UBO) 9 Offset 48 MemberDecorate 91(UBO) 10 Offset 64 - MemberDecorate 113(ubo) 0 Offset 0 Decorate 113(ubo) Block - Decorate 122 DescriptorSet 0 + MemberDecorate 113(ubo) 0 Offset 0 Decorate 122 Binding 2 + Decorate 122 DescriptorSet 0 MemberDecorate 182(Particle) 0 Offset 0 MemberDecorate 182(Particle) 1 Offset 16 MemberDecorate 182(Particle) 2 Offset 32 MemberDecorate 182(Particle) 3 Offset 48 MemberDecorate 182(Particle) 4 Offset 64 Decorate 197 ArrayStride 80 + Decorate 199(particleIn) BufferBlock MemberDecorate 199(particleIn) 0 NonWritable MemberDecorate 199(particleIn) 0 Offset 0 - Decorate 199(particleIn) BufferBlock - Decorate 208(particleIn) DescriptorSet 0 Decorate 208(particleIn) Binding 0 + Decorate 208(particleIn) DescriptorSet 0 Decorate 220 ArrayStride 80 - MemberDecorate 222(particleOut) 0 Offset 0 Decorate 222(particleOut) BufferBlock - Decorate 230(particleOut) DescriptorSet 0 + MemberDecorate 222(particleOut) 0 Offset 0 Decorate 230(particleOut) Binding 1 + Decorate 230(particleOut) DescriptorSet 0 MemberDecorate 660(PushConstants) 0 Offset 0 - MemberDecorate 668($Global) 0 Offset 0 Decorate 668($Global) Block - Decorate 676 DescriptorSet 0 + MemberDecorate 668($Global) 0 Offset 0 Decorate 676 Binding 3 + Decorate 676 DescriptorSet 0 Decorate 965(id) BuiltIn GlobalInvocationId 4: TypeVoid 5: TypeFunction 4 diff --git a/Test/baseResults/spv.debuginfo.hlsl.frag.out b/Test/baseResults/spv.debuginfo.hlsl.frag.out index 29ebf408..0831b73c 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.frag.out +++ b/Test/baseResults/spv.debuginfo.hlsl.frag.out @@ -176,37 +176,37 @@ spv.debuginfo.hlsl.frag Name 896 "inUV" Name 899 "@entryPointOutput" Name 900 "param" - Decorate 164(textureShadowMap) DescriptorSet 0 Decorate 164(textureShadowMap) Binding 5 - Decorate 175(samplerShadowMap) DescriptorSet 0 + Decorate 164(textureShadowMap) DescriptorSet 0 Decorate 175(samplerShadowMap) Binding 5 + Decorate 175(samplerShadowMap) DescriptorSet 0 MemberDecorate 440(Light) 0 Offset 0 MemberDecorate 440(Light) 1 Offset 16 MemberDecorate 440(Light) 2 Offset 32 MemberDecorate 440(Light) 3 RowMajor - MemberDecorate 440(Light) 3 Offset 48 MemberDecorate 440(Light) 3 MatrixStride 16 + MemberDecorate 440(Light) 3 Offset 48 Decorate 453 ArrayStride 112 MemberDecorate 455(UBO) 0 Offset 0 MemberDecorate 455(UBO) 1 Offset 16 MemberDecorate 455(UBO) 2 Offset 352 MemberDecorate 455(UBO) 3 Offset 356 - MemberDecorate 467(ubo) 0 Offset 0 Decorate 467(ubo) Block - Decorate 475 DescriptorSet 0 + MemberDecorate 467(ubo) 0 Offset 0 Decorate 475 Binding 4 - Decorate 521(textureposition) DescriptorSet 0 + Decorate 475 DescriptorSet 0 Decorate 521(textureposition) Binding 1 - Decorate 526(samplerposition) DescriptorSet 0 + Decorate 521(textureposition) DescriptorSet 0 Decorate 526(samplerposition) Binding 1 - Decorate 542(textureNormal) DescriptorSet 0 + Decorate 526(samplerposition) DescriptorSet 0 Decorate 542(textureNormal) Binding 2 - Decorate 547(samplerNormal) DescriptorSet 0 + Decorate 542(textureNormal) DescriptorSet 0 Decorate 547(samplerNormal) Binding 2 - Decorate 561(textureAlbedo) DescriptorSet 0 + Decorate 547(samplerNormal) DescriptorSet 0 Decorate 561(textureAlbedo) Binding 3 - Decorate 566(samplerAlbedo) DescriptorSet 0 + Decorate 561(textureAlbedo) DescriptorSet 0 Decorate 566(samplerAlbedo) Binding 3 + Decorate 566(samplerAlbedo) DescriptorSet 0 Decorate 896(inUV) Location 0 Decorate 899(@entryPointOutput) Location 0 4: TypeVoid diff --git a/Test/baseResults/spv.debuginfo.hlsl.geom.out b/Test/baseResults/spv.debuginfo.hlsl.geom.out index 1ba94470..063a6d55 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.geom.out +++ b/Test/baseResults/spv.debuginfo.hlsl.geom.out @@ -108,16 +108,16 @@ spv.debuginfo.hlsl.geom Decorate 141 ArrayStride 64 Decorate 143 ArrayStride 64 MemberDecorate 145(UBO) 0 RowMajor - MemberDecorate 145(UBO) 0 Offset 0 MemberDecorate 145(UBO) 0 MatrixStride 16 + MemberDecorate 145(UBO) 0 Offset 0 MemberDecorate 145(UBO) 1 RowMajor - MemberDecorate 145(UBO) 1 Offset 128 MemberDecorate 145(UBO) 1 MatrixStride 16 + MemberDecorate 145(UBO) 1 Offset 128 MemberDecorate 145(UBO) 2 Offset 256 - MemberDecorate 160(ubo) 0 Offset 0 Decorate 160(ubo) Block - Decorate 167 DescriptorSet 0 + MemberDecorate 160(ubo) 0 Offset 0 Decorate 167 Binding 0 + Decorate 167 DescriptorSet 0 Decorate 264(outStream.Pos) BuiltIn Position Decorate 273(outStream.ViewportIndex) BuiltIn ViewportIndex Decorate 278(outStream.PrimitiveID) BuiltIn PrimitiveId diff --git a/Test/baseResults/spv.debuginfo.hlsl.tesc.out b/Test/baseResults/spv.debuginfo.hlsl.tesc.out index 14f1e4b2..2bccaa87 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.tesc.out +++ b/Test/baseResults/spv.debuginfo.hlsl.tesc.out @@ -143,25 +143,25 @@ WARNING: 0:158: '' : attribute does not apply to entry point Name 698 "@patchConstantOutput.TessLevelInner" Decorate 178 ArrayStride 16 MemberDecorate 180(UBO) 0 RowMajor - MemberDecorate 180(UBO) 0 Offset 0 MemberDecorate 180(UBO) 0 MatrixStride 16 + MemberDecorate 180(UBO) 0 Offset 0 MemberDecorate 180(UBO) 1 RowMajor - MemberDecorate 180(UBO) 1 Offset 64 MemberDecorate 180(UBO) 1 MatrixStride 16 + MemberDecorate 180(UBO) 1 Offset 64 MemberDecorate 180(UBO) 2 Offset 128 MemberDecorate 180(UBO) 3 Offset 144 MemberDecorate 180(UBO) 4 Offset 240 MemberDecorate 180(UBO) 5 Offset 244 MemberDecorate 180(UBO) 6 Offset 248 MemberDecorate 180(UBO) 7 Offset 256 - MemberDecorate 203(ubo) 0 Offset 0 Decorate 203(ubo) Block - Decorate 210 DescriptorSet 0 + MemberDecorate 203(ubo) 0 Offset 0 Decorate 210 Binding 0 - Decorate 334(textureHeight) DescriptorSet 0 + Decorate 210 DescriptorSet 0 Decorate 334(textureHeight) Binding 1 - Decorate 345(samplerHeight) DescriptorSet 0 + Decorate 334(textureHeight) DescriptorSet 0 Decorate 345(samplerHeight) Binding 1 + Decorate 345(samplerHeight) DescriptorSet 0 Decorate 597(patch.Pos) BuiltIn Position Decorate 604(patch.Normal) Location 0 Decorate 611(patch.UV) Location 1 @@ -169,10 +169,10 @@ WARNING: 0:158: '' : attribute does not apply to entry point Decorate 654(@entryPointOutput.Pos) BuiltIn Position Decorate 661(@entryPointOutput.Normal) Location 0 Decorate 668(@entryPointOutput.UV) Location 1 - Decorate 683(@patchConstantOutput.TessLevelOuter) Patch Decorate 683(@patchConstantOutput.TessLevelOuter) BuiltIn TessLevelOuter - Decorate 698(@patchConstantOutput.TessLevelInner) Patch + Decorate 683(@patchConstantOutput.TessLevelOuter) Patch Decorate 698(@patchConstantOutput.TessLevelInner) BuiltIn TessLevelInner + Decorate 698(@patchConstantOutput.TessLevelInner) Patch 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 diff --git a/Test/baseResults/spv.debuginfo.hlsl.tese.out b/Test/baseResults/spv.debuginfo.hlsl.tese.out index 774bf198..53704c1f 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.tese.out +++ b/Test/baseResults/spv.debuginfo.hlsl.tese.out @@ -121,33 +121,33 @@ spv.debuginfo.hlsl.tese Name 468 "@entryPointOutput.LightVec" Name 471 "@entryPointOutput.EyePos" Name 474 "@entryPointOutput.WorldPos" - Decorate 241(displacementMapTexture) DescriptorSet 0 Decorate 241(displacementMapTexture) Binding 1 - Decorate 253(displacementMapSampler) DescriptorSet 0 + Decorate 241(displacementMapTexture) DescriptorSet 0 Decorate 253(displacementMapSampler) Binding 1 + Decorate 253(displacementMapSampler) DescriptorSet 0 Decorate 272 ArrayStride 16 MemberDecorate 274(UBO) 0 RowMajor - MemberDecorate 274(UBO) 0 Offset 0 MemberDecorate 274(UBO) 0 MatrixStride 16 + MemberDecorate 274(UBO) 0 Offset 0 MemberDecorate 274(UBO) 1 RowMajor - MemberDecorate 274(UBO) 1 Offset 64 MemberDecorate 274(UBO) 1 MatrixStride 16 + MemberDecorate 274(UBO) 1 Offset 64 MemberDecorate 274(UBO) 2 Offset 128 MemberDecorate 274(UBO) 3 Offset 144 MemberDecorate 274(UBO) 4 Offset 240 MemberDecorate 274(UBO) 5 Offset 244 MemberDecorate 274(UBO) 6 Offset 248 MemberDecorate 274(UBO) 7 Offset 256 - MemberDecorate 297(ubo) 0 Offset 0 Decorate 297(ubo) Block - Decorate 303 DescriptorSet 0 + MemberDecorate 297(ubo) 0 Offset 0 Decorate 303 Binding 0 - Decorate 368(input.TessLevelOuter) Patch + Decorate 303 DescriptorSet 0 Decorate 368(input.TessLevelOuter) BuiltIn TessLevelOuter - Decorate 383(input.TessLevelInner) Patch + Decorate 368(input.TessLevelOuter) Patch Decorate 383(input.TessLevelInner) BuiltIn TessLevelInner - Decorate 392(TessCoord) Patch + Decorate 383(input.TessLevelInner) Patch Decorate 392(TessCoord) BuiltIn TessCoord + Decorate 392(TessCoord) Patch Decorate 401(patch.Pos) BuiltIn Position Decorate 408(patch.Normal) Location 0 Decorate 414(patch.UV) Location 1 diff --git a/Test/baseResults/spv.debuginfo.hlsl.vert.out b/Test/baseResults/spv.debuginfo.hlsl.vert.out index 55452392..d557c09c 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.vert.out +++ b/Test/baseResults/spv.debuginfo.hlsl.vert.out @@ -106,18 +106,18 @@ spv.debuginfo.hlsl.vert Name 506 "@entryPointOutput.ViewVec" Name 509 "@entryPointOutput.LightVec" MemberDecorate 143(UBO) 0 RowMajor - MemberDecorate 143(UBO) 0 Offset 0 MemberDecorate 143(UBO) 0 MatrixStride 16 + MemberDecorate 143(UBO) 0 Offset 0 MemberDecorate 143(UBO) 1 RowMajor - MemberDecorate 143(UBO) 1 Offset 64 MemberDecorate 143(UBO) 1 MatrixStride 16 + MemberDecorate 143(UBO) 1 Offset 64 MemberDecorate 143(UBO) 2 Offset 128 MemberDecorate 143(UBO) 3 Offset 144 MemberDecorate 143(UBO) 4 Offset 148 - MemberDecorate 159(ubo) 0 Offset 0 Decorate 159(ubo) Block - Decorate 166 DescriptorSet 0 + MemberDecorate 159(ubo) 0 Offset 0 Decorate 166 Binding 0 + Decorate 166 DescriptorSet 0 Decorate 461(input.Pos) Location 0 Decorate 464(input.Normal) Location 1 Decorate 468(input.UV) Location 2 diff --git a/Test/baseResults/spv.debuginfo.include.glsl.frag.out b/Test/baseResults/spv.debuginfo.include.glsl.frag.out index 22453950..02b893f2 100644 --- a/Test/baseResults/spv.debuginfo.include.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.include.glsl.frag.out @@ -67,10 +67,10 @@ vec4 headerFunction(vec4 a) { Name 100 "param" Name 107 "param" Decorate 81(headerOut) Location 0 - MemberDecorate 85(UBO) 0 Offset 0 Decorate 85(UBO) Block - Decorate 93 DescriptorSet 0 + MemberDecorate 85(UBO) 0 Offset 0 Decorate 93 Binding 0 + Decorate 93 DescriptorSet 0 5: TypeVoid 6: TypeFunction 5 8: TypeInt 32 0 diff --git a/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out b/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out index 140c9b90..39814e85 100644 --- a/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out +++ b/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out @@ -73,11 +73,11 @@ void main() MemberName 85(block) 0 "dir" MemberName 85(block) 1 "origin" Name 94 "" - Decorate 76(acc0) DescriptorSet 0 Decorate 76(acc0) Binding 0 + Decorate 76(acc0) DescriptorSet 0 + Decorate 85(block) BufferBlock MemberDecorate 85(block) 0 Offset 0 MemberDecorate 85(block) 1 Offset 16 - Decorate 85(block) BufferBlock 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 diff --git a/Test/baseResults/spv.deepRvalue.frag.out b/Test/baseResults/spv.deepRvalue.frag.out index efb9d2ec..a278a9cf 100644 --- a/Test/baseResults/spv.deepRvalue.frag.out +++ b/Test/baseResults/spv.deepRvalue.frag.out @@ -27,8 +27,8 @@ spv.deepRvalue.frag MemberName 131(str) 2 "c" Name 133 "t" Name 146 "gl_FragColor" - Decorate 111(samp2D) DescriptorSet 0 Decorate 111(samp2D) Binding 0 + Decorate 111(samp2D) DescriptorSet 0 Decorate 146(gl_FragColor) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.deviceGroup.frag.out b/Test/baseResults/spv.deviceGroup.frag.out index 68285a1b..7ffc1957 100644 --- a/Test/baseResults/spv.deviceGroup.frag.out +++ b/Test/baseResults/spv.deviceGroup.frag.out @@ -15,8 +15,8 @@ spv.deviceGroup.frag Name 9 "color" Name 12 "gl_DeviceIndex" Decorate 9(color) Location 0 - Decorate 12(gl_DeviceIndex) Flat Decorate 12(gl_DeviceIndex) BuiltIn DeviceIndex + Decorate 12(gl_DeviceIndex) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.double.comp.out b/Test/baseResults/spv.double.comp.out index 3a5eef8a..f7a4f811 100644 --- a/Test/baseResults/spv.double.comp.out +++ b/Test/baseResults/spv.double.comp.out @@ -22,16 +22,16 @@ spv.double.comp Name 49 "aa" Name 54 "globalCoef" Name 59 "destTex" + Decorate 8(bufName) BufferBlock MemberDecorate 8(bufName) 0 Offset 0 MemberDecorate 8(bufName) 1 Offset 8 - Decorate 8(bufName) BufferBlock - Decorate 10(bufInst) DescriptorSet 0 Decorate 10(bufInst) Binding 0 + Decorate 10(bufInst) DescriptorSet 0 Decorate 26(gl_GlobalInvocationID) BuiltIn GlobalInvocationId Decorate 33(gl_LocalInvocationID) BuiltIn LocalInvocationId - Decorate 59(destTex) DescriptorSet 0 - Decorate 59(destTex) Binding 0 Decorate 59(destTex) NonReadable + Decorate 59(destTex) Binding 0 + Decorate 59(destTex) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.expect_assume.assumeEXT.comp.out b/Test/baseResults/spv.expect_assume.assumeEXT.comp.out index 517103f0..b865bd83 100644 --- a/Test/baseResults/spv.expect_assume.assumeEXT.comp.out +++ b/Test/baseResults/spv.expect_assume.assumeEXT.comp.out @@ -16,11 +16,11 @@ spv.expect_assume.assumeEXT.comp Name 7 "roblock" MemberName 7(roblock) 0 "i" Name 9 "ro" + Decorate 7(roblock) BufferBlock MemberDecorate 7(roblock) 0 NonWritable MemberDecorate 7(roblock) 0 Offset 0 - Decorate 7(roblock) BufferBlock - Decorate 9(ro) DescriptorSet 0 Decorate 9(ro) Binding 0 + Decorate 9(ro) DescriptorSet 0 Decorate 21 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.expect_assume.expectEXT.comp.out b/Test/baseResults/spv.expect_assume.expectEXT.comp.out index ee4fdf61..8cc9f48e 100644 --- a/Test/baseResults/spv.expect_assume.expectEXT.comp.out +++ b/Test/baseResults/spv.expect_assume.expectEXT.comp.out @@ -28,6 +28,7 @@ spv.expect_assume.expectEXT.comp MemberName 18(roblock) 10 "uv3" MemberName 18(roblock) 11 "uv4" Name 20 "ro" + Decorate 18(roblock) BufferBlock MemberDecorate 18(roblock) 0 NonWritable MemberDecorate 18(roblock) 0 Offset 0 MemberDecorate 18(roblock) 1 NonWritable @@ -52,9 +53,8 @@ spv.expect_assume.expectEXT.comp MemberDecorate 18(roblock) 10 Offset 112 MemberDecorate 18(roblock) 11 NonWritable MemberDecorate 18(roblock) 11 Offset 128 - Decorate 18(roblock) BufferBlock - Decorate 20(ro) DescriptorSet 0 Decorate 20(ro) Binding 0 + Decorate 20(ro) DescriptorSet 0 Decorate 177 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.expect_assume.expectEXT.exttypes.comp.out b/Test/baseResults/spv.expect_assume.expectEXT.exttypes.comp.out index 6647f0c6..d0f2632f 100644 --- a/Test/baseResults/spv.expect_assume.expectEXT.exttypes.comp.out +++ b/Test/baseResults/spv.expect_assume.expectEXT.exttypes.comp.out @@ -56,6 +56,7 @@ spv.expect_assume.expectEXT.exttypes.comp MemberName 42(roblock) 30 "u64v3" MemberName 42(roblock) 31 "u64v4" Name 44 "ro" + Decorate 42(roblock) BufferBlock MemberDecorate 42(roblock) 0 NonWritable MemberDecorate 42(roblock) 0 Offset 0 MemberDecorate 42(roblock) 1 NonWritable @@ -120,9 +121,8 @@ spv.expect_assume.expectEXT.exttypes.comp MemberDecorate 42(roblock) 30 Offset 320 MemberDecorate 42(roblock) 31 NonWritable MemberDecorate 42(roblock) 31 Offset 352 - Decorate 42(roblock) BufferBlock - Decorate 44(ro) DescriptorSet 0 Decorate 44(ro) Binding 0 + Decorate 44(ro) DescriptorSet 0 Decorate 457 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.explicittypes.frag.out b/Test/baseResults/spv.explicittypes.frag.out index 3b334603..eec771a9 100644 --- a/Test/baseResults/spv.explicittypes.frag.out +++ b/Test/baseResults/spv.explicittypes.frag.out @@ -114,10 +114,11 @@ spv.explicittypes.frag MemberName 564(Block) 14 "u32v3" MemberName 564(Block) 15 "u32v4" Name 566 "block" - MemberDecorate 26(Uniforms) 0 Offset 0 Decorate 26(Uniforms) Block - Decorate 28 DescriptorSet 0 + MemberDecorate 26(Uniforms) 0 Offset 0 Decorate 28 Binding 0 + Decorate 28 DescriptorSet 0 + Decorate 564(Block) Block MemberDecorate 564(Block) 0 Offset 0 MemberDecorate 564(Block) 1 Offset 4 MemberDecorate 564(Block) 2 Offset 8 @@ -134,9 +135,8 @@ spv.explicittypes.frag MemberDecorate 564(Block) 13 Offset 104 MemberDecorate 564(Block) 14 Offset 112 MemberDecorate 564(Block) 15 Offset 128 - Decorate 564(Block) Block - Decorate 566(block) DescriptorSet 0 Decorate 566(block) Binding 1 + Decorate 566(block) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 16: TypeInt 64 1 diff --git a/Test/baseResults/spv.ext.AccelDecl.frag.out b/Test/baseResults/spv.ext.AccelDecl.frag.out index e329ee92..9b418973 100644 --- a/Test/baseResults/spv.ext.AccelDecl.frag.out +++ b/Test/baseResults/spv.ext.AccelDecl.frag.out @@ -21,8 +21,8 @@ spv.ext.AccelDecl.frag Name 9 "outColor" Name 14 "topLevelAS" Decorate 9(outColor) Location 0 - Decorate 14(topLevelAS) DescriptorSet 0 Decorate 14(topLevelAS) Binding 1 + Decorate 14(topLevelAS) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.ext.ClosestHitShader.rchit.out b/Test/baseResults/spv.ext.ClosestHitShader.rchit.out index 3c1883bc..3a47f1ea 100644 --- a/Test/baseResults/spv.ext.ClosestHitShader.rchit.out +++ b/Test/baseResults/spv.ext.ClosestHitShader.rchit.out @@ -74,8 +74,8 @@ spv.ext.ClosestHitShader.rchit Decorate 69(gl_GeometryIndexEXT) BuiltIn RayGeometryIndexKHR Decorate 81(gl_CullMaskEXT) BuiltIn CullMaskKHR Decorate 87(gl_HitTriangleVertexPositionsEXT) BuiltIn HitTriangleVertexPositionsKHR - Decorate 93(accEXT) DescriptorSet 0 Decorate 93(accEXT) Binding 0 + Decorate 93(accEXT) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out b/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out index d586ffb4..28a54700 100644 --- a/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out +++ b/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out @@ -32,8 +32,8 @@ spv.ext.ClosestHitShader_Subgroup.rchit Name 48 "gl_SubgroupLeMask" Name 53 "gl_SubGroupLtMaskARB" Name 61 "gl_SMIDNV" - Decorate 8(accEXT) DescriptorSet 0 Decorate 8(accEXT) Binding 0 + Decorate 8(accEXT) DescriptorSet 0 Decorate 28(gl_SubgroupInvocationID) RelaxedPrecision Decorate 28(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId Decorate 29 RelaxedPrecision diff --git a/Test/baseResults/spv.ext.MissShader.rmiss.out b/Test/baseResults/spv.ext.MissShader.rmiss.out index 0f0f25a5..d03c5c38 100644 --- a/Test/baseResults/spv.ext.MissShader.rmiss.out +++ b/Test/baseResults/spv.ext.MissShader.rmiss.out @@ -57,8 +57,8 @@ spv.ext.MissShader.rmiss Decorate 29(gl_RayTminEXT) BuiltIn RayTminKHR Decorate 32(gl_RayTmaxEXT) BuiltIn RayTmaxKHR Decorate 37(gl_CullMaskEXT) BuiltIn CullMaskKHR - Decorate 41(accEXT) DescriptorSet 0 Decorate 41(accEXT) Binding 0 + Decorate 41(accEXT) DescriptorSet 0 Decorate 57(gl_SubGroupSizeARB) BuiltIn SubgroupSize Decorate 57(gl_SubGroupSizeARB) Volatile Decorate 57(gl_SubGroupSizeARB) Coherent @@ -68,8 +68,8 @@ spv.ext.MissShader.rmiss Decorate 67(gl_WarpIDNV) BuiltIn WarpIDNV Decorate 67(gl_WarpIDNV) Volatile Decorate 67(gl_WarpIDNV) Coherent - Decorate 78(s2D) DescriptorSet 0 Decorate 78(s2D) Binding 1 + Decorate 78(s2D) DescriptorSet 0 Decorate 82(c2) Location 2 Decorate 87(lodClamp) Location 3 2: TypeVoid diff --git a/Test/baseResults/spv.ext.RayConstants.rgen.out b/Test/baseResults/spv.ext.RayConstants.rgen.out index 9cd294a9..05fb8f79 100644 --- a/Test/baseResults/spv.ext.RayConstants.rgen.out +++ b/Test/baseResults/spv.ext.RayConstants.rgen.out @@ -13,8 +13,8 @@ spv.ext.RayConstants.rgen Name 4 "main" Name 8 "accEXT" Name 26 "payload" - Decorate 8(accEXT) DescriptorSet 0 Decorate 8(accEXT) Binding 0 + Decorate 8(accEXT) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeAccelerationStructureKHR diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out index 31a8bda0..7fec5c39 100644 --- a/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out +++ b/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out @@ -37,6 +37,7 @@ spv.ext.RayGenSBTlayout.rgen Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR Decorate 34 ArrayStride 8 Decorate 35 ArrayStride 16 + Decorate 36(block) Block MemberDecorate 36(block) 0 Offset 0 MemberDecorate 36(block) 1 Offset 16 MemberDecorate 36(block) 2 Offset 28 @@ -48,7 +49,6 @@ spv.ext.RayGenSBTlayout.rgen MemberDecorate 36(block) 8 Offset 112 MemberDecorate 36(block) 9 Offset 120 MemberDecorate 36(block) 10 Offset 128 - Decorate 36(block) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out index f0302f74..714242b0 100644 --- a/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out +++ b/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out @@ -37,6 +37,7 @@ spv.ext.RayGenSBTlayout140.rgen Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR Decorate 34 ArrayStride 16 Decorate 35 ArrayStride 16 + Decorate 36(block) Block MemberDecorate 36(block) 0 Offset 0 MemberDecorate 36(block) 1 Offset 16 MemberDecorate 36(block) 2 Offset 28 @@ -48,7 +49,6 @@ spv.ext.RayGenSBTlayout140.rgen MemberDecorate 36(block) 8 Offset 128 MemberDecorate 36(block) 9 Offset 136 MemberDecorate 36(block) 10 Offset 144 - Decorate 36(block) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out index e83dd424..ab2b9963 100644 --- a/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out +++ b/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out @@ -37,6 +37,7 @@ spv.ext.RayGenSBTlayout430.rgen Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR Decorate 34 ArrayStride 8 Decorate 35 ArrayStride 16 + Decorate 36(block) Block MemberDecorate 36(block) 0 Offset 0 MemberDecorate 36(block) 1 Offset 16 MemberDecorate 36(block) 2 Offset 28 @@ -48,7 +49,6 @@ spv.ext.RayGenSBTlayout430.rgen MemberDecorate 36(block) 8 Offset 112 MemberDecorate 36(block) 9 Offset 120 MemberDecorate 36(block) 10 Offset 128 - Decorate 36(block) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out index a24b64c7..6f4b471d 100644 --- a/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out +++ b/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out @@ -38,6 +38,7 @@ spv.ext.RayGenSBTlayoutscalar.rgen Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR Decorate 34 ArrayStride 8 Decorate 35 ArrayStride 12 + Decorate 36(block) Block MemberDecorate 36(block) 0 Offset 0 MemberDecorate 36(block) 1 Offset 12 MemberDecorate 36(block) 2 Offset 24 @@ -49,7 +50,6 @@ spv.ext.RayGenSBTlayoutscalar.rgen MemberDecorate 36(block) 8 Offset 92 MemberDecorate 36(block) 9 Offset 96 MemberDecorate 36(block) 10 Offset 104 - Decorate 36(block) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.ext.RayGenShader.rgen.out b/Test/baseResults/spv.ext.RayGenShader.rgen.out index b872d9e0..37380e96 100644 --- a/Test/baseResults/spv.ext.RayGenShader.rgen.out +++ b/Test/baseResults/spv.ext.RayGenShader.rgen.out @@ -30,15 +30,15 @@ spv.ext.RayGenShader.rgen Name 57 "imageu" Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR - Decorate 29(accEXT0) DescriptorSet 0 Decorate 29(accEXT0) Binding 0 + Decorate 29(accEXT0) DescriptorSet 0 + Decorate 38(block) Block MemberDecorate 38(block) 0 Offset 0 MemberDecorate 38(block) 1 Offset 16 - Decorate 38(block) Block - Decorate 54(accEXT1) DescriptorSet 0 Decorate 54(accEXT1) Binding 1 - Decorate 57(imageu) DescriptorSet 0 + Decorate 54(accEXT1) DescriptorSet 0 Decorate 57(imageu) Binding 2 + Decorate 57(imageu) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.ext.RayGenShader11.rgen.out b/Test/baseResults/spv.ext.RayGenShader11.rgen.out index d79f4f37..b8d72563 100644 --- a/Test/baseResults/spv.ext.RayGenShader11.rgen.out +++ b/Test/baseResults/spv.ext.RayGenShader11.rgen.out @@ -25,11 +25,11 @@ spv.ext.RayGenShader11.rgen Name 52 "payload" Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR - Decorate 29(accEXT) DescriptorSet 0 Decorate 29(accEXT) Binding 0 + Decorate 29(accEXT) DescriptorSet 0 + Decorate 37(block) Block MemberDecorate 37(block) 0 Offset 0 MemberDecorate 37(block) 1 Offset 16 - Decorate 37(block) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out index 7e351d75..ebe0d39a 100644 --- a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out +++ b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out @@ -35,16 +35,16 @@ spv.ext.RayGenShaderArray.rgen Name 65 "accEXT1" Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR - Decorate 30(accEXT0) DescriptorSet 0 Decorate 30(accEXT0) Binding 0 + Decorate 30(accEXT0) DescriptorSet 0 + Decorate 36(block) Block MemberDecorate 36(block) 0 Offset 0 MemberDecorate 36(block) 1 Offset 16 MemberDecorate 36(block) 2 Offset 28 MemberDecorate 36(block) 3 Offset 32 MemberDecorate 36(block) 4 Offset 40 - Decorate 36(block) Block - Decorate 65(accEXT1) DescriptorSet 0 Decorate 65(accEXT1) Binding 1 + Decorate 65(accEXT1) DescriptorSet 0 Decorate 80 DecorationNonUniformEXT Decorate 81 DecorationNonUniformEXT Decorate 82 DecorationNonUniformEXT diff --git a/Test/baseResults/spv.ext.World3x4.rahit.out b/Test/baseResults/spv.ext.World3x4.rahit.out index 92ad18fb..3c63dd33 100644 --- a/Test/baseResults/spv.ext.World3x4.rahit.out +++ b/Test/baseResults/spv.ext.World3x4.rahit.out @@ -26,8 +26,8 @@ spv.ext.World3x4.rahit Name 89 "hitValue" Decorate 43(gl_LaunchIDEXT) BuiltIn LaunchIdKHR Decorate 60(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR - Decorate 78(result) DescriptorSet 0 Decorate 78(result) Binding 0 + Decorate 78(result) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out b/Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out index a1d71a5b..7fac1a7e 100644 --- a/Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out +++ b/Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out @@ -50,20 +50,20 @@ spv.ext.meshShaderBuiltins.mesh Decorate 13(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId Decorate 24(gl_NumWorkGroups) BuiltIn NumWorkgroups + Decorate 38(gl_MeshPerVertexEXT) Block MemberDecorate 38(gl_MeshPerVertexEXT) 0 BuiltIn Position MemberDecorate 38(gl_MeshPerVertexEXT) 1 BuiltIn PointSize MemberDecorate 38(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance MemberDecorate 38(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance - Decorate 38(gl_MeshPerVertexEXT) Block - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT Decorate 90(gl_MeshPerPrimitiveEXT) Block + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV Decorate 134(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT Decorate 152(gl_DrawIDARB) BuiltIn DrawIndex Decorate 155(gl_ViewIndex) BuiltIn ViewIndex diff --git a/Test/baseResults/spv.ext.meshShaderBuiltinsShadingRate.mesh.out b/Test/baseResults/spv.ext.meshShaderBuiltinsShadingRate.mesh.out index 65bd740d..fc14ff6c 100644 --- a/Test/baseResults/spv.ext.meshShaderBuiltinsShadingRate.mesh.out +++ b/Test/baseResults/spv.ext.meshShaderBuiltinsShadingRate.mesh.out @@ -54,22 +54,22 @@ spv.ext.meshShaderBuiltinsShadingRate.mesh Decorate 13(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId Decorate 24(gl_NumWorkGroups) BuiltIn NumWorkgroups + Decorate 38(gl_MeshPerVertexEXT) Block MemberDecorate 38(gl_MeshPerVertexEXT) 0 BuiltIn Position MemberDecorate 38(gl_MeshPerVertexEXT) 1 BuiltIn PointSize MemberDecorate 38(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance MemberDecorate 38(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance - Decorate 38(gl_MeshPerVertexEXT) Block - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR Decorate 90(gl_MeshPerPrimitiveEXT) Block + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV Decorate 140(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT Decorate 158(gl_DrawIDARB) BuiltIn DrawIndex Decorate 161(gl_ViewIndex) BuiltIn ViewIndex diff --git a/Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out b/Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out index 35773007..534cf403 100644 --- a/Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out +++ b/Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out @@ -36,20 +36,20 @@ spv.ext.meshShaderRedeclBuiltins.mesh Name 122 "gl_PrimitivePointIndicesEXT" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 26(gl_MeshPerVertexEXT) Block MemberDecorate 26(gl_MeshPerVertexEXT) 0 BuiltIn Position MemberDecorate 26(gl_MeshPerVertexEXT) 1 BuiltIn PointSize MemberDecorate 26(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance MemberDecorate 26(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance - Decorate 26(gl_MeshPerVertexEXT) Block - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT Decorate 78(gl_MeshPerPrimitiveEXT) Block + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV Decorate 122(gl_PrimitivePointIndicesEXT) BuiltIn PrimitivePointIndicesEXT Decorate 127 BuiltIn WorkgroupSize 2: TypeVoid diff --git a/Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out b/Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out index b206177e..5af26300 100644 --- a/Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out +++ b/Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out @@ -33,11 +33,11 @@ spv.ext.meshShaderTaskMem.mesh Decorate 18(outBlock) Block Decorate 22(myblk) Location 0 Decorate 35 ArrayStride 4 + Decorate 36(bufferBlock) Block MemberDecorate 36(bufferBlock) 0 Offset 0 MemberDecorate 36(bufferBlock) 1 Offset 16 - Decorate 36(bufferBlock) Block - Decorate 38(mybuf) DescriptorSet 0 Decorate 38(mybuf) Binding 0 + Decorate 38(mybuf) DescriptorSet 0 Decorate 57 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out b/Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out index dc347aac..6fcd594e 100644 --- a/Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out +++ b/Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out @@ -34,13 +34,13 @@ spv.ext.meshShaderUserDefined.mesh Name 104 "blk2" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 30(myblock) Block MemberDecorate 30(myblock) 0 PerPrimitiveNV MemberDecorate 30(myblock) 1 PerPrimitiveNV MemberDecorate 30(myblock) 2 PerPrimitiveNV MemberDecorate 30(myblock) 3 PerPrimitiveNV MemberDecorate 30(myblock) 4 PerPrimitiveNV MemberDecorate 30(myblock) 5 PerPrimitiveNV - Decorate 30(myblock) Block Decorate 34(blk) Location 0 Decorate 100(myblock2) Block Decorate 104(blk2) Location 20 diff --git a/Test/baseResults/spv.ext.meshTaskShader.task.out b/Test/baseResults/spv.ext.meshTaskShader.task.out index 41a81d0a..d3f26116 100644 --- a/Test/baseResults/spv.ext.meshTaskShader.task.out +++ b/Test/baseResults/spv.ext.meshTaskShader.task.out @@ -29,13 +29,13 @@ spv.ext.meshTaskShader.task Name 80 "mytask" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId - MemberDecorate 37(block0) 0 Offset 0 Decorate 37(block0) Block - Decorate 39 DescriptorSet 0 + MemberDecorate 37(block0) 0 Offset 0 Decorate 39 Binding 1 - Decorate 55(uni_image) DescriptorSet 0 - Decorate 55(uni_image) Binding 0 + Decorate 39 DescriptorSet 0 Decorate 55(uni_image) NonReadable + Decorate 55(uni_image) Binding 0 + Decorate 55(uni_image) DescriptorSet 0 Decorate 102 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.ext.textureShadowLod.frag.out b/Test/baseResults/spv.ext.textureShadowLod.frag.out index ca4a8727..c4f9f352 100644 --- a/Test/baseResults/spv.ext.textureShadowLod.frag.out +++ b/Test/baseResults/spv.ext.textureShadowLod.frag.out @@ -18,13 +18,13 @@ spv.ext.textureShadowLod.frag Name 24 "sca" Name 43 "sc" Decorate 8(c) Location 0 - Decorate 12(s2da) DescriptorSet 0 Decorate 12(s2da) Binding 0 + Decorate 12(s2da) DescriptorSet 0 Decorate 16(tc) Location 0 - Decorate 24(sca) DescriptorSet 0 Decorate 24(sca) Binding 1 - Decorate 43(sc) DescriptorSet 0 + Decorate 24(sca) DescriptorSet 0 Decorate 43(sc) Binding 2 + Decorate 43(sc) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.float16.frag.out b/Test/baseResults/spv.float16.frag.out index 5c33e2ce..21e91638 100644 --- a/Test/baseResults/spv.float16.frag.out +++ b/Test/baseResults/spv.float16.frag.out @@ -122,42 +122,42 @@ Validation failed MemberDecorate 518(S) 1 Offset 4 MemberDecorate 518(S) 2 Offset 8 Decorate 519 ArrayStride 16 + Decorate 520(B1) Block MemberDecorate 520(B1) 0 Offset 0 MemberDecorate 520(B1) 1 Offset 4 MemberDecorate 520(B1) 2 Offset 8 MemberDecorate 520(B1) 3 Offset 16 MemberDecorate 520(B1) 4 ColMajor - MemberDecorate 520(B1) 4 Offset 48 MemberDecorate 520(B1) 4 MatrixStride 16 + MemberDecorate 520(B1) 4 Offset 48 MemberDecorate 520(B1) 5 ColMajor - MemberDecorate 520(B1) 5 Offset 80 MemberDecorate 520(B1) 5 MatrixStride 16 + MemberDecorate 520(B1) 5 Offset 80 MemberDecorate 520(B1) 6 Offset 144 MemberDecorate 520(B1) 7 Offset 160 - Decorate 520(B1) Block - Decorate 522 DescriptorSet 0 Decorate 522 Binding 0 + Decorate 522 DescriptorSet 0 Decorate 523 ArrayStride 2 Decorate 524 ArrayStride 12 MemberDecorate 525(S) 0 Offset 0 MemberDecorate 525(S) 1 Offset 4 MemberDecorate 525(S) 2 Offset 8 Decorate 526 ArrayStride 16 + Decorate 527(B2) BufferBlock MemberDecorate 527(B2) 0 Offset 0 MemberDecorate 527(B2) 1 Offset 4 MemberDecorate 527(B2) 2 Offset 8 MemberDecorate 527(B2) 3 Offset 14 MemberDecorate 527(B2) 4 RowMajor - MemberDecorate 527(B2) 4 Offset 20 MemberDecorate 527(B2) 4 MatrixStride 4 + MemberDecorate 527(B2) 4 Offset 20 MemberDecorate 527(B2) 5 RowMajor - MemberDecorate 527(B2) 5 Offset 32 MemberDecorate 527(B2) 5 MatrixStride 4 + MemberDecorate 527(B2) 5 Offset 32 MemberDecorate 527(B2) 6 Offset 56 MemberDecorate 527(B2) 7 Offset 72 - Decorate 527(B2) BufferBlock - Decorate 529 DescriptorSet 0 Decorate 529 Binding 0 + Decorate 529 DescriptorSet 0 Decorate 530(sf16) SpecId 100 Decorate 531(sf) SpecId 101 Decorate 532(sd) SpecId 102 diff --git a/Test/baseResults/spv.float16Fetch.frag.out b/Test/baseResults/spv.float16Fetch.frag.out index f61bde34..cfe24914 100644 --- a/Test/baseResults/spv.float16Fetch.frag.out +++ b/Test/baseResults/spv.float16Fetch.frag.out @@ -207,117 +207,117 @@ Validation failed Name 5783 "t2DMS" Name 5785 "t2DMSArray" Name 5786 "bias" - Decorate 125(s1D) DescriptorSet 0 Decorate 125(s1D) Binding 0 + Decorate 125(s1D) DescriptorSet 0 Decorate 128(c1) Location 0 Decorate 135(f16c1) Location 11 Decorate 137(f16bias) Location 16 - Decorate 145(s2D) DescriptorSet 0 Decorate 145(s2D) Binding 1 + Decorate 145(s2D) DescriptorSet 0 Decorate 148(c2) Location 1 Decorate 156(f16c2) Location 12 - Decorate 165(s3D) DescriptorSet 0 Decorate 165(s3D) Binding 2 + Decorate 165(s3D) DescriptorSet 0 Decorate 169(c3) Location 2 Decorate 177(f16c3) Location 13 - Decorate 186(sCube) DescriptorSet 0 Decorate 186(sCube) Binding 4 - Decorate 201(s1DShadow) DescriptorSet 0 + Decorate 186(sCube) DescriptorSet 0 Decorate 201(s1DShadow) Binding 11 + Decorate 201(s1DShadow) DescriptorSet 0 Decorate 215(compare) Location 4 - Decorate 226(s2DShadow) DescriptorSet 0 Decorate 226(s2DShadow) Binding 12 - Decorate 247(sCubeShadow) DescriptorSet 0 + Decorate 226(s2DShadow) DescriptorSet 0 Decorate 247(sCubeShadow) Binding 14 + Decorate 247(sCubeShadow) DescriptorSet 0 Decorate 251(c4) Location 3 - Decorate 271(s1DArray) DescriptorSet 0 Decorate 271(s1DArray) Binding 7 - Decorate 286(s2DArray) DescriptorSet 0 + Decorate 271(s1DArray) DescriptorSet 0 Decorate 286(s2DArray) Binding 8 - Decorate 301(sCubeArray) DescriptorSet 0 + Decorate 286(s2DArray) DescriptorSet 0 Decorate 301(sCubeArray) Binding 9 + Decorate 301(sCubeArray) DescriptorSet 0 Decorate 309(f16c4) Location 14 - Decorate 318(s1DArrayShadow) DescriptorSet 0 Decorate 318(s1DArrayShadow) Binding 15 - Decorate 339(s2DArrayShadow) DescriptorSet 0 + Decorate 318(s1DArrayShadow) DescriptorSet 0 Decorate 339(s2DArrayShadow) Binding 16 - Decorate 359(s2DRect) DescriptorSet 0 + Decorate 339(s2DArrayShadow) DescriptorSet 0 Decorate 359(s2DRect) Binding 3 - Decorate 373(s2DRectShadow) DescriptorSet 0 + Decorate 359(s2DRect) DescriptorSet 0 Decorate 373(s2DRectShadow) Binding 13 - Decorate 393(sCubeArrayShadow) DescriptorSet 0 + Decorate 373(s2DRectShadow) DescriptorSet 0 Decorate 393(sCubeArrayShadow) Binding 17 + Decorate 393(sCubeArrayShadow) DescriptorSet 0 Decorate 565(lod) Location 5 Decorate 572(f16lod) Location 15 - Decorate 1300(sBuffer) DescriptorSet 0 Decorate 1300(sBuffer) Binding 5 - Decorate 1311(s2DMS) DescriptorSet 0 + Decorate 1300(sBuffer) DescriptorSet 0 Decorate 1311(s2DMS) Binding 6 - Decorate 1322(s2DMSArray) DescriptorSet 0 + Decorate 1311(s2DMS) DescriptorSet 0 Decorate 1322(s2DMSArray) Binding 10 + Decorate 1322(s2DMSArray) DescriptorSet 0 Decorate 1393(dPdxy1) Location 8 Decorate 1400(f16dPdxy1) Location 18 Decorate 1407(dPdxy2) Location 9 Decorate 1414(f16dPdxy2) Location 19 Decorate 1421(dPdxy3) Location 10 Decorate 1428(f16dPdxy3) Location 20 - Decorate 2909(i1D) DescriptorSet 1 Decorate 2909(i1D) Binding 0 - Decorate 2918(i2D) DescriptorSet 1 + Decorate 2909(i1D) DescriptorSet 1 Decorate 2918(i2D) Binding 1 - Decorate 2927(i3D) DescriptorSet 1 + Decorate 2918(i2D) DescriptorSet 1 Decorate 2927(i3D) Binding 2 - Decorate 2936(i2DRect) DescriptorSet 1 + Decorate 2927(i3D) DescriptorSet 1 Decorate 2936(i2DRect) Binding 3 - Decorate 2945(iCube) DescriptorSet 1 + Decorate 2936(i2DRect) DescriptorSet 1 Decorate 2945(iCube) Binding 4 - Decorate 2954(iBuffer) DescriptorSet 1 + Decorate 2945(iCube) DescriptorSet 1 Decorate 2954(iBuffer) Binding 8 - Decorate 2963(i1DArray) DescriptorSet 1 + Decorate 2954(iBuffer) DescriptorSet 1 Decorate 2963(i1DArray) Binding 5 - Decorate 2972(i2DArray) DescriptorSet 1 + Decorate 2963(i1DArray) DescriptorSet 1 Decorate 2972(i2DArray) Binding 6 - Decorate 2981(iCubeArray) DescriptorSet 1 + Decorate 2972(i2DArray) DescriptorSet 1 Decorate 2981(iCubeArray) Binding 7 - Decorate 2990(i2DMS) DescriptorSet 1 + Decorate 2981(iCubeArray) DescriptorSet 1 Decorate 2990(i2DMS) Binding 9 - Decorate 2999(i2DMSArray) DescriptorSet 1 + Decorate 2990(i2DMS) DescriptorSet 1 Decorate 2999(i2DMSArray) Binding 10 + Decorate 2999(i2DMSArray) DescriptorSet 1 Decorate 4187(lodClamp) Location 7 Decorate 4194(f16lodClamp) Location 17 - Decorate 5316(t1D) DescriptorSet 2 Decorate 5316(t1D) Binding 0 - Decorate 5320(s) DescriptorSet 2 + Decorate 5316(t1D) DescriptorSet 2 Decorate 5320(s) Binding 11 - Decorate 5336(t2D) DescriptorSet 2 + Decorate 5320(s) DescriptorSet 2 Decorate 5336(t2D) Binding 1 - Decorate 5353(t3D) DescriptorSet 2 + Decorate 5336(t2D) DescriptorSet 2 Decorate 5353(t3D) Binding 2 - Decorate 5370(tCube) DescriptorSet 2 + Decorate 5353(t3D) DescriptorSet 2 Decorate 5370(tCube) Binding 4 - Decorate 5387(sShadow) DescriptorSet 2 + Decorate 5370(tCube) DescriptorSet 2 Decorate 5387(sShadow) Binding 12 - Decorate 5451(t1DArray) DescriptorSet 2 + Decorate 5387(sShadow) DescriptorSet 2 Decorate 5451(t1DArray) Binding 5 - Decorate 5468(t2DArray) DescriptorSet 2 + Decorate 5451(t1DArray) DescriptorSet 2 Decorate 5468(t2DArray) Binding 6 - Decorate 5485(tCubeArray) DescriptorSet 2 + Decorate 5468(t2DArray) DescriptorSet 2 Decorate 5485(tCubeArray) Binding 7 - Decorate 5543(t2DRect) DescriptorSet 2 + Decorate 5485(tCubeArray) DescriptorSet 2 Decorate 5543(t2DRect) Binding 3 - Decorate 5603(subpass) DescriptorSet 3 + Decorate 5543(t2DRect) DescriptorSet 2 Decorate 5603(subpass) Binding 0 + Decorate 5603(subpass) DescriptorSet 3 Decorate 5603(subpass) InputAttachmentIndex 0 - Decorate 5609(subpassMS) DescriptorSet 3 Decorate 5609(subpassMS) Binding 1 + Decorate 5609(subpassMS) DescriptorSet 3 Decorate 5609(subpassMS) InputAttachmentIndex 0 Decorate 5777(fragColor) Location 0 - Decorate 5781(tBuffer) DescriptorSet 2 Decorate 5781(tBuffer) Binding 8 - Decorate 5783(t2DMS) DescriptorSet 2 + Decorate 5781(tBuffer) DescriptorSet 2 Decorate 5783(t2DMS) Binding 9 - Decorate 5785(t2DMSArray) DescriptorSet 2 + Decorate 5783(t2DMS) DescriptorSet 2 Decorate 5785(t2DMSArray) Binding 10 + Decorate 5785(t2DMSArray) DescriptorSet 2 Decorate 5786(bias) Location 6 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.float16NoRelaxed.vert.out b/Test/baseResults/spv.float16NoRelaxed.vert.out index 9e821ab2..2f72839d 100644 --- a/Test/baseResults/spv.float16NoRelaxed.vert.out +++ b/Test/baseResults/spv.float16NoRelaxed.vert.out @@ -27,10 +27,10 @@ spv.float16NoRelaxed.vert Decorate 11(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId Decorate 12 RelaxedPrecision Decorate 25 ArrayStride 4 - MemberDecorate 26(Buffer1) 0 Offset 0 Decorate 26(Buffer1) Block - Decorate 28 DescriptorSet 0 + MemberDecorate 26(Buffer1) 0 Offset 0 Decorate 28 Binding 0 + Decorate 28 DescriptorSet 0 Decorate 30(gl_VertexIndex) BuiltIn VertexIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.float32.frag.out b/Test/baseResults/spv.float32.frag.out index d2cc6094..fbde7e5b 100644 --- a/Test/baseResults/spv.float32.frag.out +++ b/Test/baseResults/spv.float32.frag.out @@ -111,21 +111,21 @@ spv.float32.frag MemberDecorate 528(S) 1 Offset 8 MemberDecorate 528(S) 2 Offset 16 Decorate 529 ArrayStride 32 + Decorate 530(B1) Block MemberDecorate 530(B1) 0 Offset 0 MemberDecorate 530(B1) 1 Offset 8 MemberDecorate 530(B1) 2 Offset 16 MemberDecorate 530(B1) 3 Offset 32 MemberDecorate 530(B1) 4 ColMajor - MemberDecorate 530(B1) 4 Offset 64 MemberDecorate 530(B1) 4 MatrixStride 16 + MemberDecorate 530(B1) 4 Offset 64 MemberDecorate 530(B1) 5 ColMajor - MemberDecorate 530(B1) 5 Offset 96 MemberDecorate 530(B1) 5 MatrixStride 16 + MemberDecorate 530(B1) 5 Offset 96 MemberDecorate 530(B1) 6 Offset 160 MemberDecorate 530(B1) 7 Offset 192 - Decorate 530(B1) Block - Decorate 532 DescriptorSet 0 Decorate 532 Binding 0 + Decorate 532 DescriptorSet 0 Decorate 533(sf16) SpecId 100 Decorate 534(sf) SpecId 101 Decorate 535(sd) SpecId 102 diff --git a/Test/baseResults/spv.float64.frag.out b/Test/baseResults/spv.float64.frag.out index 68e8f1c7..de8a8ee6 100644 --- a/Test/baseResults/spv.float64.frag.out +++ b/Test/baseResults/spv.float64.frag.out @@ -109,21 +109,21 @@ Validation failed MemberDecorate 471(S) 1 Offset 16 MemberDecorate 471(S) 2 Offset 32 Decorate 472 ArrayStride 64 + Decorate 473(B1) Block MemberDecorate 473(B1) 0 Offset 0 MemberDecorate 473(B1) 1 Offset 16 MemberDecorate 473(B1) 2 Offset 32 MemberDecorate 473(B1) 3 Offset 64 MemberDecorate 473(B1) 4 ColMajor - MemberDecorate 473(B1) 4 Offset 96 MemberDecorate 473(B1) 4 MatrixStride 32 + MemberDecorate 473(B1) 4 Offset 96 MemberDecorate 473(B1) 5 ColMajor - MemberDecorate 473(B1) 5 Offset 160 MemberDecorate 473(B1) 5 MatrixStride 32 + MemberDecorate 473(B1) 5 Offset 160 MemberDecorate 473(B1) 6 Offset 288 MemberDecorate 473(B1) 7 Offset 352 - Decorate 473(B1) Block - Decorate 475 DescriptorSet 0 Decorate 475 Binding 0 + Decorate 475 DescriptorSet 0 Decorate 476(sf16) SpecId 100 Decorate 478(sf) SpecId 101 Decorate 479(sd) SpecId 102 diff --git a/Test/baseResults/spv.floatFetch.frag.out b/Test/baseResults/spv.floatFetch.frag.out index 251074d4..0848455f 100644 --- a/Test/baseResults/spv.floatFetch.frag.out +++ b/Test/baseResults/spv.floatFetch.frag.out @@ -190,107 +190,107 @@ Validation failed Name 3496 "t2DMS" Name 3498 "t2DMSArray" Name 3499 "bias" - Decorate 124(s1D) DescriptorSet 0 Decorate 124(s1D) Binding 0 + Decorate 124(s1D) DescriptorSet 0 Decorate 127(c1) Location 0 - Decorate 135(s2D) DescriptorSet 0 Decorate 135(s2D) Binding 1 + Decorate 135(s2D) DescriptorSet 0 Decorate 138(c2) Location 1 - Decorate 146(s3D) DescriptorSet 0 Decorate 146(s3D) Binding 2 + Decorate 146(s3D) DescriptorSet 0 Decorate 150(c3) Location 2 - Decorate 158(sCube) DescriptorSet 0 Decorate 158(sCube) Binding 4 - Decorate 167(s1DShadow) DescriptorSet 0 + Decorate 158(sCube) DescriptorSet 0 Decorate 167(s1DShadow) Binding 11 - Decorate 182(s2DShadow) DescriptorSet 0 + Decorate 167(s1DShadow) DescriptorSet 0 Decorate 182(s2DShadow) Binding 12 - Decorate 194(sCubeShadow) DescriptorSet 0 + Decorate 182(s2DShadow) DescriptorSet 0 Decorate 194(sCubeShadow) Binding 14 + Decorate 194(sCubeShadow) DescriptorSet 0 Decorate 197(c4) Location 3 - Decorate 208(s1DArray) DescriptorSet 0 Decorate 208(s1DArray) Binding 7 - Decorate 217(s2DArray) DescriptorSet 0 + Decorate 208(s1DArray) DescriptorSet 0 Decorate 217(s2DArray) Binding 8 - Decorate 226(sCubeArray) DescriptorSet 0 + Decorate 217(s2DArray) DescriptorSet 0 Decorate 226(sCubeArray) Binding 9 - Decorate 235(s1DArrayShadow) DescriptorSet 0 + Decorate 226(sCubeArray) DescriptorSet 0 Decorate 235(s1DArrayShadow) Binding 15 - Decorate 247(s2DArrayShadow) DescriptorSet 0 + Decorate 235(s1DArrayShadow) DescriptorSet 0 Decorate 247(s2DArrayShadow) Binding 16 - Decorate 259(s2DRect) DescriptorSet 0 + Decorate 247(s2DArrayShadow) DescriptorSet 0 Decorate 259(s2DRect) Binding 3 - Decorate 268(s2DRectShadow) DescriptorSet 0 + Decorate 259(s2DRect) DescriptorSet 0 Decorate 268(s2DRectShadow) Binding 13 - Decorate 280(sCubeArrayShadow) DescriptorSet 0 + Decorate 268(s2DRectShadow) DescriptorSet 0 Decorate 280(sCubeArrayShadow) Binding 17 + Decorate 280(sCubeArrayShadow) DescriptorSet 0 Decorate 283(compare) Location 4 Decorate 371(lod) Location 5 - Decorate 773(sBuffer) DescriptorSet 0 Decorate 773(sBuffer) Binding 5 - Decorate 784(s2DMS) DescriptorSet 0 + Decorate 773(sBuffer) DescriptorSet 0 Decorate 784(s2DMS) Binding 6 - Decorate 795(s2DMSArray) DescriptorSet 0 + Decorate 784(s2DMS) DescriptorSet 0 Decorate 795(s2DMSArray) Binding 10 + Decorate 795(s2DMSArray) DescriptorSet 0 Decorate 866(dPdxy1) Location 8 Decorate 873(dPdxy2) Location 9 Decorate 880(dPdxy3) Location 10 - Decorate 1799(i1D) DescriptorSet 1 Decorate 1799(i1D) Binding 0 - Decorate 1808(i2D) DescriptorSet 1 + Decorate 1799(i1D) DescriptorSet 1 Decorate 1808(i2D) Binding 1 - Decorate 1817(i3D) DescriptorSet 1 + Decorate 1808(i2D) DescriptorSet 1 Decorate 1817(i3D) Binding 2 - Decorate 1826(i2DRect) DescriptorSet 1 + Decorate 1817(i3D) DescriptorSet 1 Decorate 1826(i2DRect) Binding 3 - Decorate 1835(iCube) DescriptorSet 1 + Decorate 1826(i2DRect) DescriptorSet 1 Decorate 1835(iCube) Binding 4 - Decorate 1844(iBuffer) DescriptorSet 1 + Decorate 1835(iCube) DescriptorSet 1 Decorate 1844(iBuffer) Binding 8 - Decorate 1853(i1DArray) DescriptorSet 1 + Decorate 1844(iBuffer) DescriptorSet 1 Decorate 1853(i1DArray) Binding 5 - Decorate 1862(i2DArray) DescriptorSet 1 + Decorate 1853(i1DArray) DescriptorSet 1 Decorate 1862(i2DArray) Binding 6 - Decorate 1871(iCubeArray) DescriptorSet 1 + Decorate 1862(i2DArray) DescriptorSet 1 Decorate 1871(iCubeArray) Binding 7 - Decorate 1880(i2DMS) DescriptorSet 1 + Decorate 1871(iCubeArray) DescriptorSet 1 Decorate 1880(i2DMS) Binding 9 - Decorate 1889(i2DMSArray) DescriptorSet 1 + Decorate 1880(i2DMS) DescriptorSet 1 Decorate 1889(i2DMSArray) Binding 10 + Decorate 1889(i2DMSArray) DescriptorSet 1 Decorate 2603(lodClamp) Location 7 - Decorate 3168(t1D) DescriptorSet 2 Decorate 3168(t1D) Binding 0 - Decorate 3172(s) DescriptorSet 2 + Decorate 3168(t1D) DescriptorSet 2 Decorate 3172(s) Binding 11 - Decorate 3180(t2D) DescriptorSet 2 + Decorate 3172(s) DescriptorSet 2 Decorate 3180(t2D) Binding 1 - Decorate 3189(t3D) DescriptorSet 2 + Decorate 3180(t2D) DescriptorSet 2 Decorate 3189(t3D) Binding 2 - Decorate 3198(tCube) DescriptorSet 2 + Decorate 3189(t3D) DescriptorSet 2 Decorate 3198(tCube) Binding 4 - Decorate 3207(sShadow) DescriptorSet 2 + Decorate 3198(tCube) DescriptorSet 2 Decorate 3207(sShadow) Binding 12 - Decorate 3238(t1DArray) DescriptorSet 2 + Decorate 3207(sShadow) DescriptorSet 2 Decorate 3238(t1DArray) Binding 5 - Decorate 3247(t2DArray) DescriptorSet 2 + Decorate 3238(t1DArray) DescriptorSet 2 Decorate 3247(t2DArray) Binding 6 - Decorate 3256(tCubeArray) DescriptorSet 2 + Decorate 3247(t2DArray) DescriptorSet 2 Decorate 3256(tCubeArray) Binding 7 - Decorate 3285(t2DRect) DescriptorSet 2 + Decorate 3256(tCubeArray) DescriptorSet 2 Decorate 3285(t2DRect) Binding 3 - Decorate 3318(subpass) DescriptorSet 3 + Decorate 3285(t2DRect) DescriptorSet 2 Decorate 3318(subpass) Binding 0 + Decorate 3318(subpass) DescriptorSet 3 Decorate 3318(subpass) InputAttachmentIndex 0 - Decorate 3324(subpassMS) DescriptorSet 3 Decorate 3324(subpassMS) Binding 1 + Decorate 3324(subpassMS) DescriptorSet 3 Decorate 3324(subpassMS) InputAttachmentIndex 0 Decorate 3491(fragColor) Location 0 - Decorate 3494(tBuffer) DescriptorSet 2 Decorate 3494(tBuffer) Binding 8 - Decorate 3496(t2DMS) DescriptorSet 2 + Decorate 3494(tBuffer) DescriptorSet 2 Decorate 3496(t2DMS) Binding 9 - Decorate 3498(t2DMSArray) DescriptorSet 2 + Decorate 3496(t2DMS) DescriptorSet 2 Decorate 3498(t2DMSArray) Binding 10 + Decorate 3498(t2DMSArray) DescriptorSet 2 Decorate 3499(bias) Location 6 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.forwardFun.frag.out b/Test/baseResults/spv.forwardFun.frag.out index 77f39416..d410c4d9 100644 --- a/Test/baseResults/spv.forwardFun.frag.out +++ b/Test/baseResults/spv.forwardFun.frag.out @@ -22,8 +22,8 @@ spv.forwardFun.frag Name 36 "d" Name 59 "bigColor" Decorate 10(unreachableReturn() RelaxedPrecision - Decorate 16(foo(vf4;) RelaxedPrecision Decorate 15(bar) RelaxedPrecision + Decorate 16(foo(vf4;) RelaxedPrecision Decorate 18(color) RelaxedPrecision Decorate 20(BaseColor) RelaxedPrecision Decorate 20(BaseColor) Location 1 diff --git a/Test/baseResults/spv.fragmentDensity-es.frag.out b/Test/baseResults/spv.fragmentDensity-es.frag.out index fb1407e4..f46a28bb 100644 --- a/Test/baseResults/spv.fragmentDensity-es.frag.out +++ b/Test/baseResults/spv.fragmentDensity-es.frag.out @@ -18,11 +18,11 @@ spv.fragmentDensity-es.frag Name 14 "FragInvocationCount" Name 16 "gl_FragInvocationCountEXT" Decorate 9(FragSize) Location 0 - Decorate 11(gl_FragSizeEXT) Flat Decorate 11(gl_FragSizeEXT) BuiltIn FragSizeEXT + Decorate 11(gl_FragSizeEXT) Flat Decorate 14(FragInvocationCount) Location 2 - Decorate 16(gl_FragInvocationCountEXT) Flat Decorate 16(gl_FragInvocationCountEXT) BuiltIn FragInvocationCountEXT + Decorate 16(gl_FragInvocationCountEXT) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.fragmentDensity.frag.out b/Test/baseResults/spv.fragmentDensity.frag.out index 43261cd1..5ce7a9a6 100644 --- a/Test/baseResults/spv.fragmentDensity.frag.out +++ b/Test/baseResults/spv.fragmentDensity.frag.out @@ -18,11 +18,11 @@ spv.fragmentDensity.frag Name 17 "FragInvocationCount" Name 19 "gl_FragInvocationCountEXT" Decorate 9(FragSize) Location 0 - Decorate 13(gl_FragSizeEXT) Flat Decorate 13(gl_FragSizeEXT) BuiltIn FragSizeEXT + Decorate 13(gl_FragSizeEXT) Flat Decorate 17(FragInvocationCount) Location 2 - Decorate 19(gl_FragInvocationCountEXT) Flat Decorate 19(gl_FragInvocationCountEXT) BuiltIn FragInvocationCountEXT + Decorate 19(gl_FragInvocationCountEXT) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.fsi.frag.out b/Test/baseResults/spv.fsi.frag.out index 1b5fbf47..d9cd092e 100644 --- a/Test/baseResults/spv.fsi.frag.out +++ b/Test/baseResults/spv.fsi.frag.out @@ -18,14 +18,14 @@ spv.fsi.frag MemberName 7(B1) 0 "x" Name 9 "b1" Name 17 "im" + Decorate 7(B1) BufferBlock MemberDecorate 7(B1) 0 Coherent MemberDecorate 7(B1) 0 Offset 0 - Decorate 7(B1) BufferBlock - Decorate 9(b1) DescriptorSet 0 Decorate 9(b1) Binding 0 - Decorate 17(im) DescriptorSet 0 - Decorate 17(im) Binding 1 + Decorate 9(b1) DescriptorSet 0 Decorate 17(im) Coherent + Decorate 17(im) Binding 1 + Decorate 17(im) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.funcall.array.frag.out b/Test/baseResults/spv.funcall.array.frag.out index b4e2bfbe..1a003be6 100644 --- a/Test/baseResults/spv.funcall.array.frag.out +++ b/Test/baseResults/spv.funcall.array.frag.out @@ -22,10 +22,10 @@ spv.funcall.array.frag Name 64 "param" Decorate 27(color) Location 0 Decorate 28 ArrayStride 16 - MemberDecorate 29(ub) 0 Offset 0 Decorate 29(ub) Block - Decorate 31 DescriptorSet 0 + MemberDecorate 29(ub) 0 Offset 0 Decorate 31 Binding 0 + Decorate 31 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.functionNestedOpaque.vert.out b/Test/baseResults/spv.functionNestedOpaque.vert.out index 58787600..0666c091 100644 --- a/Test/baseResults/spv.functionNestedOpaque.vert.out +++ b/Test/baseResults/spv.functionNestedOpaque.vert.out @@ -19,8 +19,8 @@ Validation failed Name 21 "bar(struct-S-s211;" Name 20 "p" Name 36 "si" - Decorate 36(si) DescriptorSet 0 Decorate 36(si) Binding 0 + Decorate 36(si) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.glsl.register.autoassign.frag.out b/Test/baseResults/spv.glsl.register.autoassign.frag.out index 041edb97..6ee2cdd4 100644 --- a/Test/baseResults/spv.glsl.register.autoassign.frag.out +++ b/Test/baseResults/spv.glsl.register.autoassign.frag.out @@ -40,47 +40,47 @@ spv.glsl.register.autoassign.frag Name 128 "g_sSamp_unused2" Name 137 "FragColor" Name 141 "g_tTex_unused3" - Decorate 17(g_tTex1) DescriptorSet 0 Decorate 17(g_tTex1) Binding 11 - Decorate 21(g_sSamp1) DescriptorSet 0 + Decorate 17(g_tTex1) DescriptorSet 0 Decorate 21(g_sSamp1) Binding 5 - Decorate 27(g_tTex2) DescriptorSet 0 + Decorate 21(g_sSamp1) DescriptorSet 0 Decorate 27(g_tTex2) Binding 14 - Decorate 29(g_sSamp2) DescriptorSet 0 + Decorate 27(g_tTex2) DescriptorSet 0 Decorate 29(g_sSamp2) Binding 6 - Decorate 39(g_tTex3) DescriptorSet 0 + Decorate 29(g_sSamp2) DescriptorSet 0 Decorate 39(g_tTex3) Binding 13 - Decorate 46(g_sSamp3) DescriptorSet 0 + Decorate 39(g_tTex3) DescriptorSet 0 Decorate 46(g_sSamp3) Binding 7 - Decorate 64(g_tTex4) DescriptorSet 0 + Decorate 46(g_sSamp3) DescriptorSet 0 Decorate 64(g_tTex4) Binding 15 - Decorate 69(g_sSamp4) DescriptorSet 0 + Decorate 64(g_tTex4) DescriptorSet 0 Decorate 69(g_sSamp4) Binding 8 - Decorate 84(g_tTex5) DescriptorSet 0 + Decorate 69(g_sSamp4) DescriptorSet 0 Decorate 84(g_tTex5) Binding 16 - Decorate 86(g_sSamp5) DescriptorSet 0 + Decorate 84(g_tTex5) DescriptorSet 0 Decorate 86(g_sSamp5) Binding 9 + Decorate 86(g_sSamp5) DescriptorSet 0 MemberDecorate 93(MyStruct_t) 0 Offset 0 MemberDecorate 93(MyStruct_t) 1 Offset 4 MemberDecorate 93(MyStruct_t) 2 Offset 16 + Decorate 95(myblock) Block MemberDecorate 95(myblock) 0 Offset 0 MemberDecorate 95(myblock) 1 Offset 32 MemberDecorate 95(myblock) 2 Offset 48 MemberDecorate 95(myblock) 3 Offset 64 - Decorate 95(myblock) Block - Decorate 97 DescriptorSet 0 Decorate 97 Binding 24 - Decorate 119(g_tTex_unused1) DescriptorSet 0 + Decorate 97 DescriptorSet 0 Decorate 119(g_tTex_unused1) Binding 10 - Decorate 121(g_sSamp_unused1) DescriptorSet 0 + Decorate 119(g_tTex_unused1) DescriptorSet 0 Decorate 121(g_sSamp_unused1) Binding 0 - Decorate 126(g_tTex_unused2) DescriptorSet 0 + Decorate 121(g_sSamp_unused1) DescriptorSet 0 Decorate 126(g_tTex_unused2) Binding 12 - Decorate 128(g_sSamp_unused2) DescriptorSet 0 + Decorate 126(g_tTex_unused2) DescriptorSet 0 Decorate 128(g_sSamp_unused2) Binding 0 + Decorate 128(g_sSamp_unused2) DescriptorSet 0 Decorate 137(FragColor) Location 0 - Decorate 141(g_tTex_unused3) DescriptorSet 0 Decorate 141(g_tTex_unused3) Binding 0 + Decorate 141(g_tTex_unused3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.glsl.register.noautoassign.frag.out b/Test/baseResults/spv.glsl.register.noautoassign.frag.out index ccf68804..b5e6a6e4 100644 --- a/Test/baseResults/spv.glsl.register.noautoassign.frag.out +++ b/Test/baseResults/spv.glsl.register.noautoassign.frag.out @@ -40,47 +40,47 @@ spv.glsl.register.noautoassign.frag Name 128 "g_sSamp_unused2" Name 137 "FragColor" Name 141 "g_tTex_unused3" - Decorate 17(g_tTex1) DescriptorSet 0 Decorate 17(g_tTex1) Binding 17 - Decorate 21(g_sSamp1) DescriptorSet 0 + Decorate 17(g_tTex1) DescriptorSet 0 Decorate 21(g_sSamp1) Binding 5 - Decorate 27(g_tTex2) DescriptorSet 0 + Decorate 21(g_sSamp1) DescriptorSet 0 Decorate 27(g_tTex2) Binding 18 - Decorate 29(g_sSamp2) DescriptorSet 0 + Decorate 27(g_tTex2) DescriptorSet 0 Decorate 29(g_sSamp2) Binding 6 - Decorate 39(g_tTex3) DescriptorSet 0 + Decorate 29(g_sSamp2) DescriptorSet 0 Decorate 39(g_tTex3) Binding 19 - Decorate 46(g_sSamp3) DescriptorSet 0 + Decorate 39(g_tTex3) DescriptorSet 0 Decorate 46(g_sSamp3) Binding 7 - Decorate 64(g_tTex4) DescriptorSet 0 + Decorate 46(g_sSamp3) DescriptorSet 0 Decorate 64(g_tTex4) Binding 20 - Decorate 69(g_sSamp4) DescriptorSet 0 + Decorate 64(g_tTex4) DescriptorSet 0 Decorate 69(g_sSamp4) Binding 8 - Decorate 84(g_tTex5) DescriptorSet 0 + Decorate 69(g_sSamp4) DescriptorSet 0 Decorate 84(g_tTex5) Binding 21 - Decorate 86(g_sSamp5) DescriptorSet 0 + Decorate 84(g_tTex5) DescriptorSet 0 Decorate 86(g_sSamp5) Binding 9 + Decorate 86(g_sSamp5) DescriptorSet 0 MemberDecorate 93(MyStruct_t) 0 Offset 0 MemberDecorate 93(MyStruct_t) 1 Offset 4 MemberDecorate 93(MyStruct_t) 2 Offset 16 + Decorate 95(myblock) Block MemberDecorate 95(myblock) 0 Offset 0 MemberDecorate 95(myblock) 1 Offset 32 MemberDecorate 95(myblock) 2 Offset 48 MemberDecorate 95(myblock) 3 Offset 64 - Decorate 95(myblock) Block - Decorate 97 DescriptorSet 0 Decorate 97 Binding 19 - Decorate 119(g_tTex_unused1) DescriptorSet 0 + Decorate 97 DescriptorSet 0 Decorate 119(g_tTex_unused1) Binding 22 - Decorate 121(g_sSamp_unused1) DescriptorSet 0 + Decorate 119(g_tTex_unused1) DescriptorSet 0 Decorate 121(g_sSamp_unused1) Binding 10 - Decorate 126(g_tTex_unused2) DescriptorSet 0 + Decorate 121(g_sSamp_unused1) DescriptorSet 0 Decorate 126(g_tTex_unused2) Binding 23 - Decorate 128(g_sSamp_unused2) DescriptorSet 0 + Decorate 126(g_tTex_unused2) DescriptorSet 0 Decorate 128(g_sSamp_unused2) Binding 11 + Decorate 128(g_sSamp_unused2) DescriptorSet 0 Decorate 137(FragColor) Location 0 - Decorate 141(g_tTex_unused3) DescriptorSet 0 Decorate 141(g_tTex_unused3) Binding 24 + Decorate 141(g_tTex_unused3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.hlslOffsets.vert.out b/Test/baseResults/spv.hlslOffsets.vert.out index d2d6443c..72a996d1 100644 --- a/Test/baseResults/spv.hlslOffsets.vert.out +++ b/Test/baseResults/spv.hlslOffsets.vert.out @@ -44,6 +44,7 @@ Shader version: 450 MemberName 11(block) 12 "m96" MemberName 11(block) 13 "m112" Name 13 "" + Decorate 11(block) BufferBlock MemberDecorate 11(block) 0 Offset 0 MemberDecorate 11(block) 1 Offset 4 MemberDecorate 11(block) 2 Offset 16 @@ -58,9 +59,8 @@ Shader version: 450 MemberDecorate 11(block) 11 Offset 88 MemberDecorate 11(block) 12 Offset 96 MemberDecorate 11(block) 13 Offset 112 - Decorate 11(block) BufferBlock - Decorate 13 DescriptorSet 0 Decorate 13 Binding 0 + Decorate 13 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.image.frag.out b/Test/baseResults/spv.image.frag.out index f71a1cc2..a6141e24 100644 --- a/Test/baseResults/spv.image.frag.out +++ b/Test/baseResults/spv.image.frag.out @@ -45,47 +45,47 @@ Validation failed Name 386 "wo2D" Name 391 "fragData" Name 404 "ic4D" - Decorate 15(i1D) DescriptorSet 0 Decorate 15(i1D) Binding 0 - Decorate 27(i2D) DescriptorSet 0 + Decorate 15(i1D) DescriptorSet 0 Decorate 27(i2D) Binding 1 - Decorate 41(i3D) DescriptorSet 0 + Decorate 27(i2D) DescriptorSet 0 Decorate 41(i3D) Binding 2 - Decorate 48(iCube) DescriptorSet 0 + Decorate 41(i3D) DescriptorSet 0 Decorate 48(iCube) Binding 3 - Decorate 60(iCubeArray) DescriptorSet 0 + Decorate 48(iCube) DescriptorSet 0 Decorate 60(iCubeArray) Binding 4 - Decorate 67(i2DRect) DescriptorSet 0 + Decorate 60(iCubeArray) DescriptorSet 0 Decorate 67(i2DRect) Binding 5 - Decorate 79(i1DArray) DescriptorSet 0 + Decorate 67(i2DRect) DescriptorSet 0 Decorate 79(i1DArray) Binding 6 - Decorate 91(i2DArray) DescriptorSet 0 + Decorate 79(i1DArray) DescriptorSet 0 Decorate 91(i2DArray) Binding 7 - Decorate 98(iBuffer) DescriptorSet 0 + Decorate 91(i2DArray) DescriptorSet 0 Decorate 98(iBuffer) Binding 8 - Decorate 107(i2DMS) DescriptorSet 0 + Decorate 98(iBuffer) DescriptorSet 0 Decorate 107(i2DMS) Binding 9 - Decorate 119(i2DMSArray) DescriptorSet 0 + Decorate 107(i2DMS) DescriptorSet 0 Decorate 119(i2DMSArray) Binding 10 + Decorate 119(i2DMSArray) DescriptorSet 0 Decorate 143(ic1D) Flat Decorate 143(ic1D) Location 0 Decorate 153(ic2D) Flat Decorate 153(ic2D) Location 1 Decorate 163(ic3D) Flat Decorate 163(ic3D) Location 2 - Decorate 243(ii1D) DescriptorSet 0 Decorate 243(ii1D) Binding 11 - Decorate 255(ui2D) DescriptorSet 0 + Decorate 243(ii1D) DescriptorSet 0 Decorate 255(ui2D) Binding 12 + Decorate 255(ui2D) DescriptorSet 0 Decorate 258(value) Flat Decorate 258(value) Location 4 - Decorate 367(ii2DMS) DescriptorSet 0 Decorate 367(ii2DMS) Binding 13 - Decorate 377(ui2DMSArray) DescriptorSet 0 + Decorate 367(ii2DMS) DescriptorSet 0 Decorate 377(ui2DMSArray) Binding 14 - Decorate 386(wo2D) DescriptorSet 0 - Decorate 386(wo2D) Binding 1 + Decorate 377(ui2DMSArray) DescriptorSet 0 Decorate 386(wo2D) NonReadable + Decorate 386(wo2D) Binding 1 + Decorate 386(wo2D) DescriptorSet 0 Decorate 391(fragData) Location 0 Decorate 404(ic4D) Flat Decorate 404(ic4D) Location 3 diff --git a/Test/baseResults/spv.imageAtomic64.comp.out b/Test/baseResults/spv.imageAtomic64.comp.out index 4317ae05..1d0ffd8c 100644 --- a/Test/baseResults/spv.imageAtomic64.comp.out +++ b/Test/baseResults/spv.imageAtomic64.comp.out @@ -21,12 +21,12 @@ spv.imageAtomic64.comp Name 14 "ssbo" MemberName 14(ssbo) 0 "y" Name 16 "" - Decorate 9(z) DescriptorSet 0 Decorate 9(z) Binding 1 - MemberDecorate 14(ssbo) 0 Offset 0 + Decorate 9(z) DescriptorSet 0 Decorate 14(ssbo) BufferBlock - Decorate 16 DescriptorSet 0 + MemberDecorate 14(ssbo) 0 Offset 0 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 64 0 diff --git a/Test/baseResults/spv.imageAtomic64.frag.out b/Test/baseResults/spv.imageAtomic64.frag.out index 1c002ab2..35b6c512 100644 --- a/Test/baseResults/spv.imageAtomic64.frag.out +++ b/Test/baseResults/spv.imageAtomic64.frag.out @@ -46,36 +46,36 @@ Validation failed Name 240 "u2DMS" Name 458 "ResType" Name 483 "ResType" + Decorate 12(Buf) BufferBlock MemberDecorate 12(Buf) 0 Offset 0 MemberDecorate 12(Buf) 1 Offset 8 MemberDecorate 12(Buf) 2 Offset 32 MemberDecorate 12(Buf) 3 Offset 64 MemberDecorate 12(Buf) 4 Offset 96 - Decorate 12(Buf) BufferBlock - Decorate 14 DescriptorSet 0 Decorate 14 Binding 11 - Decorate 18(i1D) DescriptorSet 0 + Decorate 14 DescriptorSet 0 Decorate 18(i1D) Binding 0 - Decorate 35(i3D) DescriptorSet 0 + Decorate 18(i1D) DescriptorSet 0 Decorate 35(i3D) Binding 2 - Decorate 48(iBuf) DescriptorSet 0 + Decorate 35(i3D) DescriptorSet 0 Decorate 48(iBuf) Binding 4 - Decorate 58(i2DArray) DescriptorSet 0 + Decorate 48(iBuf) DescriptorSet 0 Decorate 58(i2DArray) Binding 6 - Decorate 69(i2DRect) DescriptorSet 0 + Decorate 58(i2DArray) DescriptorSet 0 Decorate 69(i2DRect) Binding 8 - Decorate 81(i2DMSArray) DescriptorSet 0 + Decorate 69(i2DRect) DescriptorSet 0 Decorate 81(i2DMSArray) Binding 10 - Decorate 194(u2D) DescriptorSet 0 + Decorate 81(i2DMSArray) DescriptorSet 0 Decorate 194(u2D) Binding 1 - Decorate 207(uCube) DescriptorSet 0 + Decorate 194(u2D) DescriptorSet 0 Decorate 207(uCube) Binding 3 - Decorate 218(u1DArray) DescriptorSet 0 + Decorate 207(uCube) DescriptorSet 0 Decorate 218(u1DArray) Binding 5 - Decorate 229(uCubeArray) DescriptorSet 0 + Decorate 218(u1DArray) DescriptorSet 0 Decorate 229(uCubeArray) Binding 7 - Decorate 240(u2DMS) DescriptorSet 0 + Decorate 229(uCubeArray) DescriptorSet 0 Decorate 240(u2DMS) Binding 9 + Decorate 240(u2DMS) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 64 1 diff --git a/Test/baseResults/spv.imageLoadStoreLod.frag.out b/Test/baseResults/spv.imageLoadStoreLod.frag.out index 4a16d75a..f38391b1 100644 --- a/Test/baseResults/spv.imageLoadStoreLod.frag.out +++ b/Test/baseResults/spv.imageLoadStoreLod.frag.out @@ -44,40 +44,40 @@ spv.imageLoadStoreLod.frag Name 133 "u64i2DArray" Name 136 "ResType" Name 142 "u64iCubeArray" - Decorate 14(i1D) DescriptorSet 0 Decorate 14(i1D) Binding 0 - Decorate 24(i2D) DescriptorSet 0 + Decorate 14(i1D) DescriptorSet 0 Decorate 24(i2D) Binding 1 - Decorate 34(i3D) DescriptorSet 0 + Decorate 24(i2D) DescriptorSet 0 Decorate 34(i3D) Binding 2 - Decorate 46(iiCube) DescriptorSet 0 + Decorate 34(i3D) DescriptorSet 0 Decorate 46(iiCube) Binding 3 - Decorate 53(ii1DArray) DescriptorSet 0 + Decorate 46(iiCube) DescriptorSet 0 Decorate 53(ii1DArray) Binding 4 - Decorate 60(ui2DArray) DescriptorSet 0 + Decorate 53(ii1DArray) DescriptorSet 0 Decorate 60(ui2DArray) Binding 5 - Decorate 71(uiCubeArray) DescriptorSet 0 + Decorate 60(ui2DArray) DescriptorSet 0 Decorate 71(uiCubeArray) Binding 6 + Decorate 71(uiCubeArray) DescriptorSet 0 Decorate 77(fragColor) Location 0 + Decorate 86(Buf) BufferBlock MemberDecorate 86(Buf) 0 Offset 0 MemberDecorate 86(Buf) 1 Offset 32 - Decorate 86(Buf) BufferBlock - Decorate 88 DescriptorSet 0 Decorate 88 Binding 14 - Decorate 92(i64i1D) DescriptorSet 0 + Decorate 88 DescriptorSet 0 Decorate 92(i64i1D) Binding 7 - Decorate 102(i64i2D) DescriptorSet 0 + Decorate 92(i64i1D) DescriptorSet 0 Decorate 102(i64i2D) Binding 8 - Decorate 111(i64i3D) DescriptorSet 0 + Decorate 102(i64i2D) DescriptorSet 0 Decorate 111(i64i3D) Binding 9 - Decorate 120(u64iCube) DescriptorSet 0 + Decorate 111(i64i3D) DescriptorSet 0 Decorate 120(u64iCube) Binding 10 - Decorate 127(u64i1DArray) DescriptorSet 0 + Decorate 120(u64iCube) DescriptorSet 0 Decorate 127(u64i1DArray) Binding 11 - Decorate 133(u64i2DArray) DescriptorSet 0 + Decorate 127(u64i1DArray) DescriptorSet 0 Decorate 133(u64i2DArray) Binding 12 - Decorate 142(u64iCubeArray) DescriptorSet 0 + Decorate 133(u64i2DArray) DescriptorSet 0 Decorate 142(u64iCubeArray) Binding 13 + Decorate 142(u64iCubeArray) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.int16.amd.frag.out b/Test/baseResults/spv.int16.amd.frag.out index 53f55377..54b09f00 100644 --- a/Test/baseResults/spv.int16.amd.frag.out +++ b/Test/baseResults/spv.int16.amd.frag.out @@ -94,15 +94,15 @@ spv.int16.amd.frag Name 573 "u64_to_u16" Name 574 "i16_to_u16" Name 575 "u16_to_i16" - MemberDecorate 25(Uniforms) 0 Offset 0 Decorate 25(Uniforms) Block - Decorate 27 DescriptorSet 0 + MemberDecorate 25(Uniforms) 0 Offset 0 Decorate 27 Binding 0 + Decorate 27 DescriptorSet 0 + Decorate 531(Block) Block MemberDecorate 531(Block) 0 Offset 0 MemberDecorate 531(Block) 1 Offset 6 - Decorate 531(Block) Block - Decorate 533(block) DescriptorSet 0 Decorate 533(block) Binding 1 + Decorate 533(block) DescriptorSet 0 Decorate 535(iu16v) Flat Decorate 535(iu16v) Location 0 Decorate 537(ii16) Flat diff --git a/Test/baseResults/spv.int16.frag.out b/Test/baseResults/spv.int16.frag.out index ed788f87..c7944ef1 100644 --- a/Test/baseResults/spv.int16.frag.out +++ b/Test/baseResults/spv.int16.frag.out @@ -80,10 +80,11 @@ spv.int16.frag Name 546 "block" Name 547 "si16" Name 548 "su16" - MemberDecorate 24(Uniforms) 0 Offset 0 Decorate 24(Uniforms) Block - Decorate 26 DescriptorSet 0 + MemberDecorate 24(Uniforms) 0 Offset 0 Decorate 26 Binding 0 + Decorate 26 DescriptorSet 0 + Decorate 544(Block) Block MemberDecorate 544(Block) 0 Offset 0 MemberDecorate 544(Block) 1 Offset 4 MemberDecorate 544(Block) 2 Offset 8 @@ -92,9 +93,8 @@ spv.int16.frag MemberDecorate 544(Block) 5 Offset 28 MemberDecorate 544(Block) 6 Offset 32 MemberDecorate 544(Block) 7 Offset 40 - Decorate 544(Block) Block - Decorate 546(block) DescriptorSet 0 Decorate 546(block) Binding 1 + Decorate 546(block) DescriptorSet 0 Decorate 547(si16) SpecId 100 Decorate 548(su16) SpecId 101 2: TypeVoid diff --git a/Test/baseResults/spv.int32.frag.out b/Test/baseResults/spv.int32.frag.out index 4ee05c82..254622d6 100644 --- a/Test/baseResults/spv.int32.frag.out +++ b/Test/baseResults/spv.int32.frag.out @@ -80,10 +80,11 @@ spv.int32.frag Name 496 "si" Name 497 "su" Name 498 "sb" - MemberDecorate 27(Uniforms) 0 Offset 0 Decorate 27(Uniforms) Block - Decorate 29 DescriptorSet 0 + MemberDecorate 27(Uniforms) 0 Offset 0 Decorate 29 Binding 0 + Decorate 29 DescriptorSet 0 + Decorate 491(Block) Block MemberDecorate 491(Block) 0 Offset 0 MemberDecorate 491(Block) 1 Offset 8 MemberDecorate 491(Block) 2 Offset 16 @@ -92,9 +93,8 @@ spv.int32.frag MemberDecorate 491(Block) 5 Offset 56 MemberDecorate 491(Block) 6 Offset 64 MemberDecorate 491(Block) 7 Offset 80 - Decorate 491(Block) Block - Decorate 493(block) DescriptorSet 0 Decorate 493(block) Binding 1 + Decorate 493(block) DescriptorSet 0 Decorate 494(si32) SpecId 100 Decorate 495(su32) SpecId 101 Decorate 496(si) SpecId 102 diff --git a/Test/baseResults/spv.int64.frag.out b/Test/baseResults/spv.int64.frag.out index e335a543..5fff827f 100644 --- a/Test/baseResults/spv.int64.frag.out +++ b/Test/baseResults/spv.int64.frag.out @@ -71,15 +71,15 @@ Validation failed Name 508 "i_to_u64" Name 510 "i64_to_u" Name 512 "u_to_i64" - MemberDecorate 28(Uniforms) 0 Offset 0 Decorate 28(Uniforms) Block - Decorate 30 DescriptorSet 0 + MemberDecorate 28(Uniforms) 0 Offset 0 Decorate 30 Binding 0 + Decorate 30 DescriptorSet 0 + Decorate 486(Block) Block MemberDecorate 486(Block) 0 Offset 0 MemberDecorate 486(Block) 1 Offset 24 - Decorate 486(Block) Block - Decorate 488(block) DescriptorSet 0 Decorate 488(block) Binding 1 + Decorate 488(block) DescriptorSet 0 Decorate 489(si64) SpecId 100 Decorate 490(su64) SpecId 101 Decorate 491(si) SpecId 102 diff --git a/Test/baseResults/spv.int8.frag.out b/Test/baseResults/spv.int8.frag.out index 3bfeb1a4..0682281a 100644 --- a/Test/baseResults/spv.int8.frag.out +++ b/Test/baseResults/spv.int8.frag.out @@ -80,10 +80,11 @@ spv.int8.frag Name 541 "block" Name 542 "si8" Name 543 "su8" - MemberDecorate 24(Uniforms) 0 Offset 0 Decorate 24(Uniforms) Block - Decorate 26 DescriptorSet 0 + MemberDecorate 24(Uniforms) 0 Offset 0 Decorate 26 Binding 0 + Decorate 26 DescriptorSet 0 + Decorate 539(Block) Block MemberDecorate 539(Block) 0 Offset 0 MemberDecorate 539(Block) 1 Offset 2 MemberDecorate 539(Block) 2 Offset 4 @@ -92,9 +93,8 @@ spv.int8.frag MemberDecorate 539(Block) 5 Offset 14 MemberDecorate 539(Block) 6 Offset 16 MemberDecorate 539(Block) 7 Offset 20 - Decorate 539(Block) Block - Decorate 541(block) DescriptorSet 0 Decorate 541(block) Binding 1 + Decorate 541(block) DescriptorSet 0 Decorate 542(si8) SpecId 100 Decorate 543(su8) SpecId 101 2: TypeVoid diff --git a/Test/baseResults/spv.intcoopmat.comp.out b/Test/baseResults/spv.intcoopmat.comp.out index 24289a9f..59388075 100644 --- a/Test/baseResults/spv.intcoopmat.comp.out +++ b/Test/baseResults/spv.intcoopmat.comp.out @@ -91,24 +91,24 @@ spv.intcoopmat.comp Name 285 "scm" Decorate 83 ArrayStride 4 Decorate 84 ArrayStride 4 + Decorate 85(Block) Block MemberDecorate 85(Block) 0 Offset 0 MemberDecorate 85(Block) 1 Offset 4194304 - Decorate 85(Block) Block - Decorate 87(block) DescriptorSet 0 Decorate 87(block) Binding 0 + Decorate 87(block) DescriptorSet 0 Decorate 99 ArrayStride 1 Decorate 101 ArrayStride 1 + Decorate 103(Block16) Block MemberDecorate 103(Block16) 0 Offset 0 MemberDecorate 103(Block16) 1 Offset 1048576 MemberDecorate 103(Block16) 2 Offset 1048584 - Decorate 103(Block16) Block Decorate 104 ArrayStride 4 Decorate 105 ArrayStride 4 + Decorate 106(Block) Block MemberDecorate 106(Block) 0 Offset 0 MemberDecorate 106(Block) 1 Offset 4194304 - Decorate 106(Block) Block - Decorate 108(block8) DescriptorSet 0 Decorate 108(block8) Binding 0 + Decorate 108(block8) DescriptorSet 0 Decorate 156(Y) SpecId 0 Decorate 247 BuiltIn WorkgroupSize Decorate 280(SC) SpecId 2 diff --git a/Test/baseResults/spv.intrinsicsInteractWithCoopMat.comp.out b/Test/baseResults/spv.intrinsicsInteractWithCoopMat.comp.out index c19a5924..4abb6d50 100644 --- a/Test/baseResults/spv.intrinsicsInteractWithCoopMat.comp.out +++ b/Test/baseResults/spv.intrinsicsInteractWithCoopMat.comp.out @@ -25,10 +25,10 @@ spv.intrinsicsInteractWithCoopMat.comp Name 18 "buf" Name 26 "A" Decorate 15 ArrayStride 16 - MemberDecorate 16(Buf) 0 Offset 0 Decorate 16(Buf) Block - Decorate 18(buf) DescriptorSet 0 + MemberDecorate 16(Buf) 0 Offset 0 Decorate 18(buf) Binding 0 + Decorate 18(buf) DescriptorSet 0 Decorate 35 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.intrinsicsSpirvDecorateId.comp.out b/Test/baseResults/spv.intrinsicsSpirvDecorateId.comp.out index c454dc60..e9ba47bc 100644 --- a/Test/baseResults/spv.intrinsicsSpirvDecorateId.comp.out +++ b/Test/baseResults/spv.intrinsicsSpirvDecorateId.comp.out @@ -19,14 +19,14 @@ spv.intrinsicsSpirvDecorateId.comp MemberName 13(Uniform) 0 "y" Name 15 "" Decorate 9 BuiltIn WorkgroupSize - MemberDecorate 10(CounterBuffer) 0 Offset 0 Decorate 10(CounterBuffer) Block - Decorate 12(x) DescriptorSet 0 + MemberDecorate 10(CounterBuffer) 0 Offset 0 Decorate 12(x) Binding 1 - MemberDecorate 13(Uniform) 0 Offset 0 + Decorate 12(x) DescriptorSet 0 Decorate 13(Uniform) Block - Decorate 15 DescriptorSet 0 + MemberDecorate 13(Uniform) 0 Offset 0 Decorate 15 Binding 0 + Decorate 15 DescriptorSet 0 DecorateId 15 DecorationHlslCounterBufferGOOGLE 12(x) 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.intrinsicsSpirvType.rgen.out b/Test/baseResults/spv.intrinsicsSpirvType.rgen.out index 5d67de70..7b20ece6 100644 --- a/Test/baseResults/spv.intrinsicsSpirvType.rgen.out +++ b/Test/baseResults/spv.intrinsicsSpirvType.rgen.out @@ -16,8 +16,8 @@ spv.intrinsicsSpirvType.rgen Name 4 "main" Name 8 "rq" Name 11 "as" - Decorate 11(as) DescriptorSet 0 Decorate 11(as) Binding 0 + Decorate 11(as) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeRayQueryKHR diff --git a/Test/baseResults/spv.invariantAll.vert.out b/Test/baseResults/spv.invariantAll.vert.out index f72d8154..40d275a1 100644 --- a/Test/baseResults/spv.invariantAll.vert.out +++ b/Test/baseResults/spv.invariantAll.vert.out @@ -16,17 +16,17 @@ spv.invariantAll.vert MemberName 11(gl_PerVertex) 3 "gl_CullDistance" Name 13 "" Name 17 "v" - MemberDecorate 11(gl_PerVertex) 0 Invariant - MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position - MemberDecorate 11(gl_PerVertex) 1 Invariant - MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize - MemberDecorate 11(gl_PerVertex) 2 Invariant - MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance - MemberDecorate 11(gl_PerVertex) 3 Invariant - MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance Decorate 11(gl_PerVertex) Block - Decorate 17(v) Location 0 + MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 11(gl_PerVertex) 0 Invariant + MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 11(gl_PerVertex) 1 Invariant + MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance + MemberDecorate 11(gl_PerVertex) 2 Invariant + MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance + MemberDecorate 11(gl_PerVertex) 3 Invariant Decorate 17(v) Invariant + Decorate 17(v) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.layoutNested.vert.out b/Test/baseResults/spv.layoutNested.vert.out index 2d5111c5..4b2374d4 100644 --- a/Test/baseResults/spv.layoutNested.vert.out +++ b/Test/baseResults/spv.layoutNested.vert.out @@ -84,88 +84,88 @@ spv.layoutNested.vert Name 65 "soutinv" Decorate 13 ArrayStride 32 MemberDecorate 14(S) 0 Offset 0 - MemberDecorate 14(S) 1 ColMajor MemberDecorate 14(S) 1 RelaxedPrecision - MemberDecorate 14(S) 1 Offset 16 + MemberDecorate 14(S) 1 ColMajor MemberDecorate 14(S) 1 MatrixStride 16 + MemberDecorate 14(S) 1 Offset 16 MemberDecorate 14(S) 2 RelaxedPrecision MemberDecorate 14(S) 2 Offset 144 Decorate 16 ArrayStride 160 Decorate 18 ArrayStride 480 + Decorate 19(Block140) Block MemberDecorate 19(Block140) 0 RelaxedPrecision MemberDecorate 19(Block140) 0 Offset 0 MemberDecorate 19(Block140) 1 Offset 16 MemberDecorate 19(Block140) 2 RelaxedPrecision MemberDecorate 19(Block140) 2 Offset 976 - Decorate 19(Block140) Block - Decorate 21(inst140) DescriptorSet 0 Decorate 21(inst140) Binding 0 + Decorate 21(inst140) DescriptorSet 0 Decorate 22 ArrayStride 16 MemberDecorate 23(S) 0 Offset 0 - MemberDecorate 23(S) 1 ColMajor MemberDecorate 23(S) 1 RelaxedPrecision - MemberDecorate 23(S) 1 Offset 16 + MemberDecorate 23(S) 1 ColMajor MemberDecorate 23(S) 1 MatrixStride 8 + MemberDecorate 23(S) 1 Offset 16 MemberDecorate 23(S) 2 RelaxedPrecision MemberDecorate 23(S) 2 Offset 80 Decorate 24 ArrayStride 96 Decorate 25 ArrayStride 288 + Decorate 26(Block430) BufferBlock MemberDecorate 26(Block430) 0 RelaxedPrecision MemberDecorate 26(Block430) 0 Offset 0 MemberDecorate 26(Block430) 1 Offset 16 MemberDecorate 26(Block430) 2 RelaxedPrecision MemberDecorate 26(Block430) 2 Offset 592 - Decorate 26(Block430) BufferBlock - Decorate 28(inst430) DescriptorSet 0 Decorate 28(inst430) Binding 1 + Decorate 28(inst430) DescriptorSet 0 MemberDecorate 29(S) 1 RelaxedPrecision MemberDecorate 29(S) 2 RelaxedPrecision MemberDecorate 35(T) 0 RowMajor - MemberDecorate 35(T) 0 Offset 0 MemberDecorate 35(T) 0 MatrixStride 16 + MemberDecorate 35(T) 0 Offset 0 MemberDecorate 35(T) 1 Offset 32 MemberDecorate 36(Nestor) 0 Offset 0 - MemberDecorate 37(Bt1) 0 Offset 0 Decorate 37(Bt1) Block - Decorate 39(Btn1) DescriptorSet 1 + MemberDecorate 37(Bt1) 0 Offset 0 Decorate 39(Btn1) Binding 0 + Decorate 39(Btn1) DescriptorSet 1 MemberDecorate 40(T) 0 ColMajor - MemberDecorate 40(T) 0 Offset 0 MemberDecorate 40(T) 0 MatrixStride 16 + MemberDecorate 40(T) 0 Offset 0 MemberDecorate 40(T) 1 Offset 32 MemberDecorate 41(Nestor) 0 Offset 0 - MemberDecorate 42(Bt2) 0 Offset 0 Decorate 42(Bt2) Block - Decorate 44(Btn2) DescriptorSet 1 + MemberDecorate 42(Bt2) 0 Offset 0 Decorate 44(Btn2) Binding 0 + Decorate 44(Btn2) DescriptorSet 1 + Decorate 45(Bt3) Block MemberDecorate 45(Bt3) 0 Offset 0 MemberDecorate 45(Bt3) 1 Offset 48 - Decorate 45(Bt3) Block - Decorate 47(Btn3) DescriptorSet 1 Decorate 47(Btn3) Binding 0 + Decorate 47(Btn3) DescriptorSet 1 MemberDecorate 48(T) 0 RowMajor - MemberDecorate 48(T) 0 Offset 0 MemberDecorate 48(T) 0 MatrixStride 8 + MemberDecorate 48(T) 0 Offset 0 MemberDecorate 48(T) 1 Offset 16 MemberDecorate 49(Nestor) 0 Offset 0 - MemberDecorate 50(bBt1) 0 Offset 0 Decorate 50(bBt1) BufferBlock - Decorate 52(bBtn1) DescriptorSet 1 + MemberDecorate 50(bBt1) 0 Offset 0 Decorate 52(bBtn1) Binding 0 + Decorate 52(bBtn1) DescriptorSet 1 MemberDecorate 53(T) 0 ColMajor - MemberDecorate 53(T) 0 Offset 0 MemberDecorate 53(T) 0 MatrixStride 8 + MemberDecorate 53(T) 0 Offset 0 MemberDecorate 53(T) 1 Offset 16 MemberDecorate 54(Nestor) 0 Offset 0 - MemberDecorate 55(bBt2) 0 Offset 0 Decorate 55(bBt2) BufferBlock - Decorate 57(bBtn2) DescriptorSet 1 + MemberDecorate 55(bBt2) 0 Offset 0 Decorate 57(bBtn2) Binding 0 + Decorate 57(bBtn2) DescriptorSet 1 + Decorate 58(bBt3) BufferBlock MemberDecorate 58(bBt3) 0 Offset 0 MemberDecorate 58(bBt3) 1 Offset 24 - Decorate 58(bBt3) BufferBlock - Decorate 60(bBtn3) DescriptorSet 1 Decorate 60(bBtn3) Binding 0 + Decorate 60(bBtn3) DescriptorSet 1 Decorate 62(sout) Flat Decorate 62(sout) Location 0 MemberDecorate 63(S) 0 Invariant @@ -173,8 +173,8 @@ spv.layoutNested.vert MemberDecorate 63(S) 1 Invariant MemberDecorate 63(S) 2 RelaxedPrecision MemberDecorate 63(S) 2 Invariant - Decorate 65(soutinv) Location 10 Decorate 65(soutinv) Invariant + Decorate 65(soutinv) Location 10 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.load.bool.array.interface.block.frag.out b/Test/baseResults/spv.load.bool.array.interface.block.frag.out index 7a802990..b50c8b79 100644 --- a/Test/baseResults/spv.load.bool.array.interface.block.frag.out +++ b/Test/baseResults/spv.load.bool.array.interface.block.frag.out @@ -19,16 +19,16 @@ spv.load.bool.array.interface.block.frag Name 77 "color" Decorate 8 ArrayStride 4 Decorate 10 ArrayStride 12 - MemberDecorate 11(ssbo) 0 Offset 0 Decorate 11(ssbo) BufferBlock - Decorate 13 DescriptorSet 0 + MemberDecorate 11(ssbo) 0 Offset 0 Decorate 13 Binding 1 + Decorate 13 DescriptorSet 0 Decorate 16 ArrayStride 16 Decorate 17 ArrayStride 48 - MemberDecorate 18(ub) 0 Offset 0 Decorate 18(ub) Block - Decorate 20 DescriptorSet 0 + MemberDecorate 18(ub) 0 Offset 0 Decorate 20 Binding 0 + Decorate 20 DescriptorSet 0 Decorate 77(color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.localAggregates.frag.out b/Test/baseResults/spv.localAggregates.frag.out index a9ce54fb..616a245b 100644 --- a/Test/baseResults/spv.localAggregates.frag.out +++ b/Test/baseResults/spv.localAggregates.frag.out @@ -45,8 +45,8 @@ spv.localAggregates.frag Decorate 90(condition) Location 18 Decorate 98(color) Location 1 Decorate 108(gl_FragColor) Location 0 - Decorate 128(samp2D) DescriptorSet 0 Decorate 128(samp2D) Binding 0 + Decorate 128(samp2D) DescriptorSet 0 Decorate 134(foo) Flat Decorate 134(foo) Location 2 Decorate 135(foo2) Flat diff --git a/Test/baseResults/spv.matFun.vert.out b/Test/baseResults/spv.matFun.vert.out index 12018877..b3388c0c 100644 --- a/Test/baseResults/spv.matFun.vert.out +++ b/Test/baseResults/spv.matFun.vert.out @@ -32,19 +32,19 @@ spv.matFun.vert Name 86 "param" Name 89 "param" Name 93 "param" + Decorate 74(gl_PerVertex) Block MemberDecorate 74(gl_PerVertex) 0 BuiltIn Position MemberDecorate 74(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 74(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 74(gl_PerVertex) Block - MemberDecorate 77(bl) 0 ColMajor - MemberDecorate 77(bl) 0 Offset 0 - MemberDecorate 77(bl) 0 MatrixStride 16 - MemberDecorate 77(bl) 1 ColMajor - MemberDecorate 77(bl) 1 Offset 64 - MemberDecorate 77(bl) 1 MatrixStride 16 Decorate 77(bl) Block - Decorate 79(bName) DescriptorSet 0 + MemberDecorate 77(bl) 0 ColMajor + MemberDecorate 77(bl) 0 MatrixStride 16 + MemberDecorate 77(bl) 0 Offset 0 + MemberDecorate 77(bl) 1 ColMajor + MemberDecorate 77(bl) 1 MatrixStride 16 + MemberDecorate 77(bl) 1 Offset 64 Decorate 79(bName) Binding 0 + Decorate 79(bName) DescriptorSet 0 Decorate 81(v3) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.memoryQualifier.frag.out b/Test/baseResults/spv.memoryQualifier.frag.out index 47d63cfd..f6e12c1d 100644 --- a/Test/baseResults/spv.memoryQualifier.frag.out +++ b/Test/baseResults/spv.memoryQualifier.frag.out @@ -30,29 +30,30 @@ Validation failed MemberName 50(Buffer) 4 "i1" MemberName 50(Buffer) 5 "data" Name 52 "" - Decorate 12(i1D) DescriptorSet 0 - Decorate 12(i1D) Binding 0 Decorate 12(i1D) Coherent - Decorate 19(i2D) DescriptorSet 0 - Decorate 19(i2D) Binding 1 + Decorate 12(i1D) Binding 0 + Decorate 12(i1D) DescriptorSet 0 Decorate 19(i2D) Volatile Decorate 19(i2D) Coherent - Decorate 28(i2DRect) DescriptorSet 0 - Decorate 28(i2DRect) Binding 2 + Decorate 19(i2D) Binding 1 + Decorate 19(i2D) DescriptorSet 0 Decorate 28(i2DRect) Restrict - Decorate 35(i3D) DescriptorSet 0 - Decorate 35(i3D) Binding 3 + Decorate 28(i2DRect) Binding 2 + Decorate 28(i2DRect) DescriptorSet 0 Decorate 35(i3D) NonWritable - Decorate 44(iCube) DescriptorSet 0 - Decorate 44(iCube) Binding 3 + Decorate 35(i3D) Binding 3 + Decorate 35(i3D) DescriptorSet 0 Decorate 44(iCube) NonReadable + Decorate 44(iCube) Binding 3 + Decorate 44(iCube) DescriptorSet 0 MemberDecorate 49(Data) 0 Offset 0 MemberDecorate 49(Data) 1 Offset 8 + Decorate 50(Buffer) BufferBlock MemberDecorate 50(Buffer) 0 Volatile MemberDecorate 50(Buffer) 0 Coherent MemberDecorate 50(Buffer) 0 Offset 0 - MemberDecorate 50(Buffer) 1 Coherent MemberDecorate 50(Buffer) 1 Restrict + MemberDecorate 50(Buffer) 1 Coherent MemberDecorate 50(Buffer) 1 Offset 8 MemberDecorate 50(Buffer) 2 Coherent MemberDecorate 50(Buffer) 2 NonWritable @@ -64,9 +65,8 @@ Validation failed MemberDecorate 50(Buffer) 4 Offset 48 MemberDecorate 50(Buffer) 5 Coherent MemberDecorate 50(Buffer) 5 Offset 56 - Decorate 50(Buffer) BufferBlock - Decorate 52 DescriptorSet 0 Decorate 52 Binding 4 + Decorate 52 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.memoryScopeSemantics.comp.out b/Test/baseResults/spv.memoryScopeSemantics.comp.out index 1078aa5f..96a7f3ca 100644 --- a/Test/baseResults/spv.memoryScopeSemantics.comp.out +++ b/Test/baseResults/spv.memoryScopeSemantics.comp.out @@ -51,42 +51,42 @@ spv.memoryScopeSemantics.comp MemberName 151(BufferM) 0 "x" Name 153 "bufferm" Name 165 "imageMS" - Decorate 36(imagei) DescriptorSet 0 Decorate 36(imagei) Binding 1 - Decorate 46(imageu) DescriptorSet 0 + Decorate 36(imagei) DescriptorSet 0 Decorate 46(imageu) Binding 0 - MemberDecorate 66(BufferU) 0 Offset 0 + Decorate 46(imageu) DescriptorSet 0 Decorate 66(BufferU) Block - Decorate 68(bufferu) DescriptorSet 0 + MemberDecorate 66(BufferU) 0 Offset 0 Decorate 68(bufferu) Binding 2 - MemberDecorate 78(BufferI) 0 Offset 0 + Decorate 68(bufferu) DescriptorSet 0 Decorate 78(BufferI) Block - Decorate 80(bufferi) DescriptorSet 0 + MemberDecorate 78(BufferI) 0 Offset 0 Decorate 80(bufferi) Binding 3 + Decorate 80(bufferi) DescriptorSet 0 Decorate 83 ArrayStride 4 MemberDecorate 84(A) 0 Offset 0 - MemberDecorate 85(BufferJ) 0 Offset 0 Decorate 85(BufferJ) Block - Decorate 88(bufferj) DescriptorSet 0 + MemberDecorate 85(BufferJ) 0 Offset 0 Decorate 88(bufferj) Binding 4 - MemberDecorate 99(BufferK) 0 Offset 0 + Decorate 88(bufferj) DescriptorSet 0 Decorate 99(BufferK) Block - Decorate 101(bufferk) DescriptorSet 0 + MemberDecorate 99(BufferK) 0 Offset 0 Decorate 101(bufferk) Binding 7 - Decorate 111(imagej) DescriptorSet 0 + Decorate 101(bufferk) DescriptorSet 0 Decorate 111(imagej) Binding 5 - Decorate 123(samp) DescriptorSet 0 + Decorate 111(imagej) DescriptorSet 0 Decorate 123(samp) Binding 6 - MemberDecorate 144(BufferL) 0 Offset 0 + Decorate 123(samp) DescriptorSet 0 Decorate 144(BufferL) Block - Decorate 146(bufferl) DescriptorSet 0 + MemberDecorate 144(BufferL) 0 Offset 0 Decorate 146(bufferl) Binding 8 - MemberDecorate 151(BufferM) 0 Offset 0 + Decorate 146(bufferl) DescriptorSet 0 Decorate 151(BufferM) Block - Decorate 153(bufferm) DescriptorSet 0 + MemberDecorate 151(BufferM) 0 Offset 0 Decorate 153(bufferm) Binding 9 - Decorate 165(imageMS) DescriptorSet 0 + Decorate 153(bufferm) DescriptorSet 0 Decorate 165(imageMS) Binding 10 + Decorate 165(imageMS) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.meshShaderBuiltins.mesh.out b/Test/baseResults/spv.meshShaderBuiltins.mesh.out index f6b0f05c..d130e948 100644 --- a/Test/baseResults/spv.meshShaderBuiltins.mesh.out +++ b/Test/baseResults/spv.meshShaderBuiltins.mesh.out @@ -47,32 +47,32 @@ spv.meshShaderBuiltins.mesh Name 146 "gl_PrimitiveCountNV" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 30(gl_MeshPerVertexNV) Block MemberDecorate 30(gl_MeshPerVertexNV) 0 BuiltIn Position MemberDecorate 30(gl_MeshPerVertexNV) 1 BuiltIn PointSize MemberDecorate 30(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance MemberDecorate 30(gl_MeshPerVertexNV) 3 BuiltIn CullDistance - MemberDecorate 30(gl_MeshPerVertexNV) 4 PerViewNV MemberDecorate 30(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV - MemberDecorate 30(gl_MeshPerVertexNV) 5 PerViewNV + MemberDecorate 30(gl_MeshPerVertexNV) 4 PerViewNV MemberDecorate 30(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV - MemberDecorate 30(gl_MeshPerVertexNV) 6 PerViewNV + MemberDecorate 30(gl_MeshPerVertexNV) 5 PerViewNV MemberDecorate 30(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV - Decorate 30(gl_MeshPerVertexNV) Block - MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV + MemberDecorate 30(gl_MeshPerVertexNV) 6 PerViewNV + Decorate 84(gl_MeshPerPrimitiveNV) Block MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId - MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV + MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer - MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV + MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex - MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV + MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV + MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV + MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerViewNV - MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV + MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerViewNV - MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV - Decorate 84(gl_MeshPerPrimitiveNV) Block Decorate 129(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV Decorate 142(gl_DrawID) BuiltIn DrawIndex Decorate 146(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV diff --git a/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out b/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out index 111fa2bc..71950088 100644 --- a/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out +++ b/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out @@ -42,32 +42,32 @@ spv.meshShaderPerViewBuiltins.mesh Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV + Decorate 36(gl_MeshPerVertexNV) Block MemberDecorate 36(gl_MeshPerVertexNV) 0 BuiltIn Position MemberDecorate 36(gl_MeshPerVertexNV) 1 BuiltIn PointSize MemberDecorate 36(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance MemberDecorate 36(gl_MeshPerVertexNV) 3 BuiltIn CullDistance - MemberDecorate 36(gl_MeshPerVertexNV) 4 PerViewNV MemberDecorate 36(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV - MemberDecorate 36(gl_MeshPerVertexNV) 5 PerViewNV + MemberDecorate 36(gl_MeshPerVertexNV) 4 PerViewNV MemberDecorate 36(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV - MemberDecorate 36(gl_MeshPerVertexNV) 6 PerViewNV + MemberDecorate 36(gl_MeshPerVertexNV) 5 PerViewNV MemberDecorate 36(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV - Decorate 36(gl_MeshPerVertexNV) Block - MemberDecorate 68(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV + MemberDecorate 36(gl_MeshPerVertexNV) 6 PerViewNV + Decorate 68(gl_MeshPerPrimitiveNV) Block MemberDecorate 68(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId - MemberDecorate 68(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV + MemberDecorate 68(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer - MemberDecorate 68(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV + MemberDecorate 68(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex - MemberDecorate 68(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV + MemberDecorate 68(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV + MemberDecorate 68(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV + MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 PerViewNV - MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV + MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 PerViewNV - MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV - Decorate 68(gl_MeshPerPrimitiveNV) Block Decorate 125 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out b/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out index cd6a95b8..d4ae1501 100644 --- a/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out +++ b/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out @@ -43,41 +43,41 @@ spv.meshShaderPerViewUserDefined.mesh Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV + Decorate 31(block) Block MemberDecorate 31(block) 0 PerPrimitiveNV MemberDecorate 31(block) 0 PerViewNV MemberDecorate 31(block) 1 PerPrimitiveNV MemberDecorate 31(block) 2 PerViewNV - Decorate 31(block) Block Decorate 35(b) Location 0 + Decorate 64(perviewBlock) Block MemberDecorate 64(perviewBlock) 0 PerPrimitiveNV MemberDecorate 64(perviewBlock) 0 PerViewNV MemberDecorate 64(perviewBlock) 1 PerPrimitiveNV MemberDecorate 64(perviewBlock) 1 PerViewNV MemberDecorate 64(perviewBlock) 2 PerViewNV MemberDecorate 64(perviewBlock) 3 PerViewNV - Decorate 64(perviewBlock) Block Decorate 67(b2) Location 10 Decorate 89 BuiltIn WorkgroupSize - Decorate 92(nonBlk1) PerViewNV Decorate 92(nonBlk1) Location 18 + Decorate 92(nonBlk1) PerViewNV + Decorate 95(nonBlk2) Location 19 Decorate 95(nonBlk2) PerPrimitiveNV Decorate 95(nonBlk2) PerViewNV - Decorate 95(nonBlk2) Location 19 - Decorate 96(nonBlk3) PerViewNV Decorate 96(nonBlk3) Location 20 + Decorate 96(nonBlk3) PerViewNV + Decorate 97(nonBlk4) Location 21 Decorate 97(nonBlk4) PerPrimitiveNV Decorate 97(nonBlk4) PerViewNV - Decorate 97(nonBlk4) Location 21 - Decorate 102(nonBlkArr1) PerViewNV Decorate 102(nonBlkArr1) Location 22 + Decorate 102(nonBlkArr1) PerViewNV + Decorate 105(nonBlkArr2) Location 24 Decorate 105(nonBlkArr2) PerPrimitiveNV Decorate 105(nonBlkArr2) PerViewNV - Decorate 105(nonBlkArr2) Location 24 - Decorate 106(nonBlkArr3) PerViewNV Decorate 106(nonBlkArr3) Location 26 + Decorate 106(nonBlkArr3) PerViewNV + Decorate 107(nonBlkArr4) Location 28 Decorate 107(nonBlkArr4) PerPrimitiveNV Decorate 107(nonBlkArr4) PerViewNV - Decorate 107(nonBlkArr4) Location 28 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out b/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out index 60422d66..b75cfdd5 100644 --- a/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out +++ b/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out @@ -39,20 +39,20 @@ spv.meshShaderRedeclBuiltins.mesh Name 127 "gl_PrimitiveCountNV" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 24(gl_MeshPerVertexNV) Block MemberDecorate 24(gl_MeshPerVertexNV) 0 BuiltIn Position MemberDecorate 24(gl_MeshPerVertexNV) 1 BuiltIn PointSize MemberDecorate 24(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance MemberDecorate 24(gl_MeshPerVertexNV) 3 BuiltIn CullDistance - Decorate 24(gl_MeshPerVertexNV) Block - MemberDecorate 77(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV - MemberDecorate 77(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId - MemberDecorate 77(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV - MemberDecorate 77(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer - MemberDecorate 77(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV - MemberDecorate 77(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex - MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV - MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV Decorate 77(gl_MeshPerPrimitiveNV) Block + MemberDecorate 77(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId + MemberDecorate 77(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV + MemberDecorate 77(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer + MemberDecorate 77(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV + MemberDecorate 77(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex + MemberDecorate 77(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV + MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV + MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV Decorate 122(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV Decorate 127(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV Decorate 128 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out b/Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out index f6c20383..63e7fc67 100644 --- a/Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out +++ b/Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out @@ -34,20 +34,20 @@ spv.meshShaderRedeclPerViewBuiltins.mesh Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV - MemberDecorate 31(gl_MeshPerVertexNV) 0 PerViewNV - MemberDecorate 31(gl_MeshPerVertexNV) 0 BuiltIn PositionPerViewNV - MemberDecorate 31(gl_MeshPerVertexNV) 1 PerViewNV - MemberDecorate 31(gl_MeshPerVertexNV) 1 BuiltIn ClipDistancePerViewNV - MemberDecorate 31(gl_MeshPerVertexNV) 2 PerViewNV - MemberDecorate 31(gl_MeshPerVertexNV) 2 BuiltIn CullDistancePerViewNV Decorate 31(gl_MeshPerVertexNV) Block + MemberDecorate 31(gl_MeshPerVertexNV) 0 BuiltIn PositionPerViewNV + MemberDecorate 31(gl_MeshPerVertexNV) 0 PerViewNV + MemberDecorate 31(gl_MeshPerVertexNV) 1 BuiltIn ClipDistancePerViewNV + MemberDecorate 31(gl_MeshPerVertexNV) 1 PerViewNV + MemberDecorate 31(gl_MeshPerVertexNV) 2 BuiltIn CullDistancePerViewNV + MemberDecorate 31(gl_MeshPerVertexNV) 2 PerViewNV + Decorate 63(gl_MeshPerPrimitiveNV) Block + MemberDecorate 63(gl_MeshPerPrimitiveNV) 0 BuiltIn LayerPerViewNV MemberDecorate 63(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV MemberDecorate 63(gl_MeshPerPrimitiveNV) 0 PerViewNV - MemberDecorate 63(gl_MeshPerPrimitiveNV) 0 BuiltIn LayerPerViewNV + MemberDecorate 63(gl_MeshPerPrimitiveNV) 1 BuiltIn ViewportMaskPerViewNV MemberDecorate 63(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV MemberDecorate 63(gl_MeshPerPrimitiveNV) 1 PerViewNV - MemberDecorate 63(gl_MeshPerPrimitiveNV) 1 BuiltIn ViewportMaskPerViewNV - Decorate 63(gl_MeshPerPrimitiveNV) Block Decorate 119 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.meshShaderSharedMem.mesh.out b/Test/baseResults/spv.meshShaderSharedMem.mesh.out index 9ad333c8..2e15ffb5 100644 --- a/Test/baseResults/spv.meshShaderSharedMem.mesh.out +++ b/Test/baseResults/spv.meshShaderSharedMem.mesh.out @@ -28,13 +28,13 @@ spv.meshShaderSharedMem.mesh Name 55 "uni_image" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId - MemberDecorate 37(block0) 0 Offset 0 Decorate 37(block0) Block - Decorate 39 DescriptorSet 0 + MemberDecorate 37(block0) 0 Offset 0 Decorate 39 Binding 1 - Decorate 55(uni_image) DescriptorSet 0 - Decorate 55(uni_image) Binding 0 + Decorate 39 DescriptorSet 0 Decorate 55(uni_image) NonReadable + Decorate 55(uni_image) Binding 0 + Decorate 55(uni_image) DescriptorSet 0 Decorate 76 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.meshShaderTaskMem.mesh.out b/Test/baseResults/spv.meshShaderTaskMem.mesh.out index fcbec3d6..adf4cfb9 100644 --- a/Test/baseResults/spv.meshShaderTaskMem.mesh.out +++ b/Test/baseResults/spv.meshShaderTaskMem.mesh.out @@ -33,18 +33,18 @@ spv.meshShaderTaskMem.mesh Decorate 18(outBlock) Block Decorate 22(myblk) Location 0 Decorate 27 ArrayStride 4 - MemberDecorate 28(taskBlock) 0 PerTaskNV - MemberDecorate 28(taskBlock) 0 Offset 0 - MemberDecorate 28(taskBlock) 1 PerTaskNV - MemberDecorate 28(taskBlock) 1 Offset 16 Decorate 28(taskBlock) Block + MemberDecorate 28(taskBlock) 0 Offset 0 + MemberDecorate 28(taskBlock) 0 PerTaskNV + MemberDecorate 28(taskBlock) 1 Offset 16 + MemberDecorate 28(taskBlock) 1 PerTaskNV Decorate 30(mytask) Location 0 Decorate 35 ArrayStride 4 + Decorate 36(bufferBlock) BufferBlock MemberDecorate 36(bufferBlock) 0 Offset 0 MemberDecorate 36(bufferBlock) 1 Offset 16 - Decorate 36(bufferBlock) BufferBlock - Decorate 38(mybuf) DescriptorSet 0 Decorate 38(mybuf) Binding 0 + Decorate 38(mybuf) DescriptorSet 0 Decorate 57 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.meshShaderUserDefined.mesh.out b/Test/baseResults/spv.meshShaderUserDefined.mesh.out index 0e5fd050..d4d87356 100644 --- a/Test/baseResults/spv.meshShaderUserDefined.mesh.out +++ b/Test/baseResults/spv.meshShaderUserDefined.mesh.out @@ -34,13 +34,13 @@ spv.meshShaderUserDefined.mesh Name 104 "blk2" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 30(myblock) Block MemberDecorate 30(myblock) 0 PerPrimitiveNV MemberDecorate 30(myblock) 1 PerPrimitiveNV MemberDecorate 30(myblock) 2 PerPrimitiveNV MemberDecorate 30(myblock) 3 PerPrimitiveNV MemberDecorate 30(myblock) 4 PerPrimitiveNV MemberDecorate 30(myblock) 5 PerPrimitiveNV - Decorate 30(myblock) Block Decorate 34(blk) Location 0 Decorate 100(myblock2) Block Decorate 104(blk2) Location 20 diff --git a/Test/baseResults/spv.meshTaskShader.task.out b/Test/baseResults/spv.meshTaskShader.task.out index 9442f973..dab67623 100644 --- a/Test/baseResults/spv.meshTaskShader.task.out +++ b/Test/baseResults/spv.meshTaskShader.task.out @@ -36,21 +36,21 @@ spv.meshTaskShader.task Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId Decorate 24(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV Decorate 25(gl_MeshViewCountNV) BuiltIn MeshViewCountNV - MemberDecorate 47(block0) 0 Offset 0 Decorate 47(block0) Block - Decorate 49 DescriptorSet 0 + MemberDecorate 47(block0) 0 Offset 0 Decorate 49 Binding 1 - Decorate 65(uni_image) DescriptorSet 0 - Decorate 65(uni_image) Binding 0 + Decorate 49 DescriptorSet 0 Decorate 65(uni_image) NonReadable + Decorate 65(uni_image) Binding 0 + Decorate 65(uni_image) DescriptorSet 0 Decorate 87 ArrayStride 8 - MemberDecorate 88(Task) 0 PerTaskNV - MemberDecorate 88(Task) 0 Offset 0 - MemberDecorate 88(Task) 1 PerTaskNV - MemberDecorate 88(Task) 1 Offset 8 - MemberDecorate 88(Task) 2 PerTaskNV - MemberDecorate 88(Task) 2 Offset 32 Decorate 88(Task) Block + MemberDecorate 88(Task) 0 Offset 0 + MemberDecorate 88(Task) 0 PerTaskNV + MemberDecorate 88(Task) 1 Offset 8 + MemberDecorate 88(Task) 1 PerTaskNV + MemberDecorate 88(Task) 2 Offset 32 + MemberDecorate 88(Task) 2 PerTaskNV Decorate 90(mytask) Location 0 Decorate 113(gl_TaskCountNV) BuiltIn TaskCountNV Decorate 115 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.multiStruct.comp.out b/Test/baseResults/spv.multiStruct.comp.out index 0ff605cc..af9db966 100644 --- a/Test/baseResults/spv.multiStruct.comp.out +++ b/Test/baseResults/spv.multiStruct.comp.out @@ -48,35 +48,35 @@ spv.multiStruct.comp Decorate 15 ArrayStride 8 MemberDecorate 16(MyStruct) 0 Offset 0 MemberDecorate 16(MyStruct) 1 Offset 16 - MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 17(SSBO0) BufferBlock - Decorate 19(inBuf) DescriptorSet 0 + MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 19(inBuf) Binding 0 - MemberDecorate 39(SSBO1) 0 Offset 0 + Decorate 19(inBuf) DescriptorSet 0 Decorate 39(SSBO1) BufferBlock - Decorate 41(outBuf) DescriptorSet 0 + MemberDecorate 39(SSBO1) 0 Offset 0 Decorate 41(outBuf) Binding 1 + Decorate 41(outBuf) DescriptorSet 0 Decorate 57 ArrayStride 16 MemberDecorate 58(MyStruct) 0 Offset 0 MemberDecorate 58(MyStruct) 1 Offset 32 - MemberDecorate 59(UBO) 0 Offset 0 Decorate 59(UBO) Block - Decorate 61(uBuf) DescriptorSet 0 + MemberDecorate 59(UBO) 0 Offset 0 Decorate 61(uBuf) Binding 2 + Decorate 61(uBuf) DescriptorSet 0 Decorate 89 ArrayStride 48 MemberDecorate 90(Nested) 0 Offset 0 MemberDecorate 90(Nested) 1 Offset 16 - MemberDecorate 91(UBON) 0 Offset 0 Decorate 91(UBON) Block - Decorate 93(uBufN) DescriptorSet 0 + MemberDecorate 91(UBON) 0 Offset 0 Decorate 93(uBufN) Binding 2 + Decorate 93(uBufN) DescriptorSet 0 Decorate 125 ArrayStride 24 MemberDecorate 126(Nested) 0 Offset 0 MemberDecorate 126(Nested) 1 Offset 8 - MemberDecorate 127(SSBO1N) 0 Offset 0 Decorate 127(SSBO1N) BufferBlock - Decorate 129(outBufN) DescriptorSet 0 + MemberDecorate 127(SSBO1N) 0 Offset 0 Decorate 129(outBufN) Binding 1 + Decorate 129(outBufN) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.multiStructFuncall.frag.out b/Test/baseResults/spv.multiStructFuncall.frag.out index 50f4b78b..55544dc6 100644 --- a/Test/baseResults/spv.multiStructFuncall.frag.out +++ b/Test/baseResults/spv.multiStructFuncall.frag.out @@ -30,12 +30,12 @@ spv.multiStructFuncall.frag Name 50 "param" Name 61 "param" MemberDecorate 22(S) 0 ColMajor - MemberDecorate 22(S) 0 Offset 0 MemberDecorate 22(S) 0 MatrixStride 16 - MemberDecorate 23(blockName) 0 Offset 0 + MemberDecorate 22(S) 0 Offset 0 Decorate 23(blockName) BufferBlock - Decorate 25 DescriptorSet 0 + MemberDecorate 23(blockName) 0 Offset 0 Decorate 25 Binding 0 + Decorate 25 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.multiView.frag.out b/Test/baseResults/spv.multiView.frag.out index c6afe8f6..dd433e80 100644 --- a/Test/baseResults/spv.multiView.frag.out +++ b/Test/baseResults/spv.multiView.frag.out @@ -15,8 +15,8 @@ spv.multiView.frag Name 9 "color" Name 12 "gl_ViewIndex" Decorate 9(color) Location 0 - Decorate 12(gl_ViewIndex) Flat Decorate 12(gl_ViewIndex) BuiltIn ViewIndex + Decorate 12(gl_ViewIndex) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.multiple.var.same.const.frag.out b/Test/baseResults/spv.multiple.var.same.const.frag.out new file mode 100644 index 00000000..833c6ace --- /dev/null +++ b/Test/baseResults/spv.multiple.var.same.const.frag.out @@ -0,0 +1,21 @@ +spv.multiple.var.same.const.frag +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 8 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" + ExecutionMode 4 OriginUpperLeft + Source ESSL 320 + Name 4 "main" + Decorate 7 RelaxedPrecision + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: 6(float) Constant 897988541 + 4(main): 2 Function None 3 + 5: Label + Return + FunctionEnd diff --git a/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out b/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out index 95279512..fa718093 100644 --- a/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out +++ b/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out @@ -25,16 +25,16 @@ spv.multiviewPerViewAttributes.tesc MemberName 27(gl_PerVertex) 3 "gl_CullDistance" MemberName 27(gl_PerVertex) 4 "gl_PositionPerViewNV" Name 31 "gl_in" + Decorate 13(gl_PerVertex) Block MemberDecorate 13(gl_PerVertex) 0 BuiltIn PositionPerViewNV MemberDecorate 13(gl_PerVertex) 1 BuiltIn ViewportMaskPerViewNV - Decorate 13(gl_PerVertex) Block Decorate 19(gl_InvocationID) BuiltIn InvocationId + Decorate 27(gl_PerVertex) Block MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance MemberDecorate 27(gl_PerVertex) 4 BuiltIn PositionPerViewNV - Decorate 27(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.multiviewPerViewAttributes.vert.out b/Test/baseResults/spv.multiviewPerViewAttributes.vert.out index 8268e5de..c456f022 100644 --- a/Test/baseResults/spv.multiviewPerViewAttributes.vert.out +++ b/Test/baseResults/spv.multiviewPerViewAttributes.vert.out @@ -22,11 +22,11 @@ spv.multiviewPerViewAttributes.vert Name 24 "" Decorate 11(gl_ViewportMaskPerViewNV) BuiltIn ViewportMaskPerViewNV Decorate 20(gl_PositionPerViewNV) BuiltIn PositionPerViewNV + Decorate 22(gl_PerVertex) Block MemberDecorate 22(gl_PerVertex) 0 BuiltIn Position MemberDecorate 22(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 22(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 22(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 22(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.newTexture.frag.out b/Test/baseResults/spv.newTexture.frag.out index 922e82e7..2bffe8af 100644 --- a/Test/baseResults/spv.newTexture.frag.out +++ b/Test/baseResults/spv.newTexture.frag.out @@ -44,53 +44,53 @@ Validation failed Name 271 "usCube" Name 275 "us2DArray" Name 277 "ic4D" - Decorate 13(s2D) DescriptorSet 0 Decorate 13(s2D) Binding 0 + Decorate 13(s2D) DescriptorSet 0 Decorate 17(c2D) Location 1 - Decorate 23(sCubeArrayShadow) DescriptorSet 0 Decorate 23(sCubeArrayShadow) Binding 5 + Decorate 23(sCubeArrayShadow) DescriptorSet 0 Decorate 26(c4D) Location 3 Decorate 29(c1D) Location 0 - Decorate 42(s3D) DescriptorSet 0 Decorate 42(s3D) Binding 2 - Decorate 51(s2DArray) DescriptorSet 0 + Decorate 42(s3D) DescriptorSet 0 Decorate 51(s2DArray) Binding 7 + Decorate 51(s2DArray) DescriptorSet 0 Decorate 55(c3D) Location 2 - Decorate 64(s2DShadow) DescriptorSet 0 Decorate 64(s2DShadow) Binding 6 + Decorate 64(s2DShadow) DescriptorSet 0 Decorate 81(ic3D) Flat Decorate 81(ic3D) Location 6 Decorate 84(ic1D) Flat Decorate 84(ic1D) Location 4 Decorate 92(ic2D) Flat Decorate 92(ic2D) Location 5 - Decorate 102(sr) DescriptorSet 0 Decorate 102(sr) Binding 1 - Decorate 128(sCube) DescriptorSet 0 + Decorate 102(sr) DescriptorSet 0 Decorate 128(sCube) Binding 3 - Decorate 137(s2DArrayShadow) DescriptorSet 0 + Decorate 128(sCube) DescriptorSet 0 Decorate 137(s2DArrayShadow) Binding 8 - Decorate 166(is2D) DescriptorSet 0 + Decorate 137(s2DArrayShadow) DescriptorSet 0 Decorate 166(is2D) Binding 9 - Decorate 202(is3D) DescriptorSet 0 + Decorate 166(is2D) DescriptorSet 0 Decorate 202(is3D) Binding 10 - Decorate 214(isCube) DescriptorSet 0 + Decorate 202(is3D) DescriptorSet 0 Decorate 214(isCube) Binding 11 - Decorate 226(is2DArray) DescriptorSet 0 + Decorate 214(isCube) DescriptorSet 0 Decorate 226(is2DArray) Binding 12 - Decorate 241(sCubeShadow) DescriptorSet 0 + Decorate 226(is2DArray) DescriptorSet 0 Decorate 241(sCubeShadow) Binding 4 + Decorate 241(sCubeShadow) DescriptorSet 0 Decorate 247(FragData) Location 0 - Decorate 259(is2Dms) DescriptorSet 0 Decorate 259(is2Dms) Binding 0 - Decorate 263(us2D) DescriptorSet 0 + Decorate 259(is2Dms) DescriptorSet 0 Decorate 263(us2D) Binding 0 - Decorate 267(us3D) DescriptorSet 0 + Decorate 263(us2D) DescriptorSet 0 Decorate 267(us3D) Binding 0 - Decorate 271(usCube) DescriptorSet 0 + Decorate 267(us3D) DescriptorSet 0 Decorate 271(usCube) Binding 0 - Decorate 275(us2DArray) DescriptorSet 0 + Decorate 271(usCube) DescriptorSet 0 Decorate 275(us2DArray) Binding 0 + Decorate 275(us2DArray) DescriptorSet 0 Decorate 277(ic4D) Flat Decorate 277(ic4D) Location 7 2: TypeVoid diff --git a/Test/baseResults/spv.noBuiltInLoc.vert.out b/Test/baseResults/spv.noBuiltInLoc.vert.out index 65ee22a6..c7541bf5 100644 --- a/Test/baseResults/spv.noBuiltInLoc.vert.out +++ b/Test/baseResults/spv.noBuiltInLoc.vert.out @@ -26,20 +26,20 @@ spv.noBuiltInLoc.vert Name 34 "gl_InstanceID" Decorate 9(bar) Location 0 Decorate 11(foo) Location 0 + Decorate 16(gl_PerVertex) Block MemberDecorate 16(gl_PerVertex) 0 BuiltIn Position MemberDecorate 16(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 16(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 16(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 16(gl_PerVertex) Block Decorate 24(uv1) Location 0 Decorate 24(uv1) DescriptorSet 0 Decorate 26(uv2) Location 1 Decorate 26(uv2) DescriptorSet 0 Decorate 29(uv3) Location 2 Decorate 29(uv3) DescriptorSet 0 - Decorate 31(a_uint) Offset 0 - Decorate 31(a_uint) DescriptorSet 0 Decorate 31(a_uint) Binding 0 + Decorate 31(a_uint) DescriptorSet 0 + Decorate 31(a_uint) Offset 0 Decorate 33(gl_VertexID) BuiltIn VertexId Decorate 34(gl_InstanceID) BuiltIn InstanceId 2: TypeVoid diff --git a/Test/baseResults/spv.noDeadDecorations.vert.out b/Test/baseResults/spv.noDeadDecorations.vert.out index 0185eaf3..51814d0c 100644 --- a/Test/baseResults/spv.noDeadDecorations.vert.out +++ b/Test/baseResults/spv.noDeadDecorations.vert.out @@ -16,13 +16,13 @@ spv.noDeadDecorations.vert MemberName 20(gl_PerVertex) 1 "gl_PointSize" Name 22 "" Name 26 "param" - Decorate 10(func(f1;) RelaxedPrecision Decorate 9(a) RelaxedPrecision + Decorate 10(func(f1;) RelaxedPrecision Decorate 12 RelaxedPrecision Decorate 13 RelaxedPrecision + Decorate 20(gl_PerVertex) Block MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize - Decorate 20(gl_PerVertex) Block Decorate 26(param) RelaxedPrecision Decorate 27 RelaxedPrecision 2: TypeVoid diff --git a/Test/baseResults/spv.nonuniform.frag.out b/Test/baseResults/spv.nonuniform.frag.out index 26b020c5..8aa68838 100644 --- a/Test/baseResults/spv.nonuniform.frag.out +++ b/Test/baseResults/spv.nonuniform.frag.out @@ -82,65 +82,65 @@ spv.nonuniform.frag Decorate 46 DecorationNonUniformEXT Decorate 48 DecorationNonUniformEXT Decorate 49 DecorationNonUniformEXT - Decorate 53(inputAttachmentDyn) DescriptorSet 0 Decorate 53(inputAttachmentDyn) Binding 0 + Decorate 53(inputAttachmentDyn) DescriptorSet 0 Decorate 53(inputAttachmentDyn) InputAttachmentIndex 0 - Decorate 70(uniformTexelBufferDyn) DescriptorSet 0 Decorate 70(uniformTexelBufferDyn) Binding 1 - Decorate 84(storageTexelBufferDyn) DescriptorSet 0 + Decorate 70(uniformTexelBufferDyn) DescriptorSet 0 Decorate 84(storageTexelBufferDyn) Binding 2 - MemberDecorate 93(uname) 0 Offset 0 + Decorate 84(storageTexelBufferDyn) DescriptorSet 0 Decorate 93(uname) Block - Decorate 96(uniformBuffer) DescriptorSet 0 + MemberDecorate 93(uname) 0 Offset 0 Decorate 96(uniformBuffer) Binding 3 + Decorate 96(uniformBuffer) DescriptorSet 0 Decorate 98(nu_ii) Flat Decorate 98(nu_ii) Location 1 Decorate 99 DecorationNonUniformEXT Decorate 101 DecorationNonUniformEXT Decorate 102 DecorationNonUniformEXT Decorate 104 DecorationNonUniformEXT - MemberDecorate 105(bname) 0 Offset 0 Decorate 105(bname) BufferBlock - Decorate 108(storageBuffer) DescriptorSet 0 + MemberDecorate 105(bname) 0 Offset 0 Decorate 108(storageBuffer) Binding 4 + Decorate 108(storageBuffer) DescriptorSet 0 Decorate 109 DecorationNonUniformEXT Decorate 110 DecorationNonUniformEXT Decorate 111 DecorationNonUniformEXT Decorate 113 DecorationNonUniformEXT - Decorate 118(sampledImage) DescriptorSet 0 Decorate 118(sampledImage) Binding 5 + Decorate 118(sampledImage) DescriptorSet 0 Decorate 119 DecorationNonUniformEXT Decorate 121 DecorationNonUniformEXT Decorate 122 DecorationNonUniformEXT - Decorate 133(storageImage) DescriptorSet 0 Decorate 133(storageImage) Binding 6 + Decorate 133(storageImage) DescriptorSet 0 Decorate 134 DecorationNonUniformEXT Decorate 136 DecorationNonUniformEXT Decorate 137 DecorationNonUniformEXT - Decorate 145(inputAttachment) DescriptorSet 0 Decorate 145(inputAttachment) Binding 7 + Decorate 145(inputAttachment) DescriptorSet 0 Decorate 145(inputAttachment) InputAttachmentIndex 1 Decorate 146 DecorationNonUniformEXT Decorate 147 DecorationNonUniformEXT Decorate 148 DecorationNonUniformEXT - Decorate 155(uniformTexelBuffer) DescriptorSet 0 Decorate 155(uniformTexelBuffer) Binding 8 + Decorate 155(uniformTexelBuffer) DescriptorSet 0 Decorate 156 DecorationNonUniformEXT Decorate 157 DecorationNonUniformEXT Decorate 158 DecorationNonUniformEXT Decorate 159 DecorationNonUniformEXT - Decorate 166(storageTexelBuffer) DescriptorSet 0 Decorate 166(storageTexelBuffer) Binding 9 + Decorate 166(storageTexelBuffer) DescriptorSet 0 Decorate 167 DecorationNonUniformEXT Decorate 168 DecorationNonUniformEXT Decorate 169 DecorationNonUniformEXT - Decorate 177(uniformTexArr) DescriptorSet 0 Decorate 177(uniformTexArr) Binding 10 + Decorate 177(uniformTexArr) DescriptorSet 0 Decorate 178 DecorationNonUniformEXT Decorate 180 DecorationNonUniformEXT Decorate 181 DecorationNonUniformEXT - Decorate 184(uniformSampler) DescriptorSet 0 Decorate 184(uniformSampler) Binding 11 + Decorate 184(uniformSampler) DescriptorSet 0 Decorate 188(inTexcoord) Location 2 Decorate 194 DecorationNonUniformEXT Decorate 195 DecorationNonUniformEXT diff --git a/Test/baseResults/spv.nonuniform2.frag.out b/Test/baseResults/spv.nonuniform2.frag.out index b9d64ddc..b5b3dfe2 100644 --- a/Test/baseResults/spv.nonuniform2.frag.out +++ b/Test/baseResults/spv.nonuniform2.frag.out @@ -20,8 +20,8 @@ spv.nonuniform2.frag Name 13 "data" Name 16 "rIndex" Decorate 9(FragColor) Location 0 - Decorate 13(data) DescriptorSet 0 Decorate 13(data) Binding 4 + Decorate 13(data) DescriptorSet 0 Decorate 16(rIndex) Flat Decorate 16(rIndex) Location 3 Decorate 18 DecorationNonUniformEXT diff --git a/Test/baseResults/spv.nonuniform3.frag.out b/Test/baseResults/spv.nonuniform3.frag.out index 119a6d9b..331c058e 100644 --- a/Test/baseResults/spv.nonuniform3.frag.out +++ b/Test/baseResults/spv.nonuniform3.frag.out @@ -19,12 +19,12 @@ spv.nonuniform3.frag Name 16 "Index" Name 23 "uSamp" Decorate 9(FragColor) Location 0 - Decorate 13(uTex) DescriptorSet 0 Decorate 13(uTex) Binding 0 + Decorate 13(uTex) DescriptorSet 0 Decorate 16(Index) Flat Decorate 16(Index) Location 0 - Decorate 23(uSamp) DescriptorSet 1 Decorate 23(uSamp) Binding 0 + Decorate 23(uSamp) DescriptorSet 1 Decorate 27 DecorationNonUniformEXT 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.nonuniform4.frag.out b/Test/baseResults/spv.nonuniform4.frag.out index 4442e5f5..a20f64b9 100644 --- a/Test/baseResults/spv.nonuniform4.frag.out +++ b/Test/baseResults/spv.nonuniform4.frag.out @@ -18,8 +18,8 @@ spv.nonuniform4.frag Name 4 "main" Name 10 "data" Name 13 "rIndex" - Decorate 10(data) DescriptorSet 0 Decorate 10(data) Binding 4 + Decorate 10(data) DescriptorSet 0 Decorate 13(rIndex) Flat Decorate 13(rIndex) Location 3 Decorate 15 DecorationNonUniformEXT diff --git a/Test/baseResults/spv.nonuniform5.frag.out b/Test/baseResults/spv.nonuniform5.frag.out index abf10c2c..d2f05631 100644 --- a/Test/baseResults/spv.nonuniform5.frag.out +++ b/Test/baseResults/spv.nonuniform5.frag.out @@ -21,10 +21,10 @@ spv.nonuniform5.frag Name 13 "ubos" Name 16 "Index" Decorate 9(FragColor) Location 0 - MemberDecorate 10(UBO) 0 Offset 0 Decorate 10(UBO) Block - Decorate 13(ubos) DescriptorSet 0 + MemberDecorate 10(UBO) 0 Offset 0 Decorate 13(ubos) Binding 0 + Decorate 13(ubos) DescriptorSet 0 Decorate 16(Index) Flat Decorate 16(Index) Location 0 Decorate 18 DecorationNonUniformEXT diff --git a/Test/baseResults/spv.nv.dmm-allops.comp.out b/Test/baseResults/spv.nv.dmm-allops.comp.out index b9807142..68537d4a 100644 --- a/Test/baseResults/spv.nv.dmm-allops.comp.out +++ b/Test/baseResults/spv.nv.dmm-allops.comp.out @@ -21,13 +21,13 @@ spv.nv.dmm-allops.comp MemberName 9(block) 1 "op_bary" Name 11 "" Name 16 "as" + Decorate 9(block) Block MemberDecorate 9(block) 0 Offset 0 MemberDecorate 9(block) 1 Offset 16 - Decorate 9(block) Block - Decorate 11 DescriptorSet 0 Decorate 11 Binding 0 - Decorate 16(as) DescriptorSet 0 + Decorate 11 DescriptorSet 0 Decorate 16(as) Binding 1 + Decorate 16(as) DescriptorSet 0 Decorate 58 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.nv.dmm-allops.mesh.out b/Test/baseResults/spv.nv.dmm-allops.mesh.out index 9f626c21..f2edf548 100644 --- a/Test/baseResults/spv.nv.dmm-allops.mesh.out +++ b/Test/baseResults/spv.nv.dmm-allops.mesh.out @@ -26,13 +26,13 @@ spv.nv.dmm-allops.mesh MemberName 9(block) 1 "op_bary" Name 11 "" Name 16 "as" + Decorate 9(block) Block MemberDecorate 9(block) 0 Offset 0 MemberDecorate 9(block) 1 Offset 16 - Decorate 9(block) Block - Decorate 11 DescriptorSet 0 Decorate 11 Binding 0 - Decorate 16(as) DescriptorSet 0 + Decorate 11 DescriptorSet 0 Decorate 16(as) Binding 1 + Decorate 16(as) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.nv.dmm-allops.rahit.out b/Test/baseResults/spv.nv.dmm-allops.rahit.out index 388ab04e..56551195 100644 --- a/Test/baseResults/spv.nv.dmm-allops.rahit.out +++ b/Test/baseResults/spv.nv.dmm-allops.rahit.out @@ -26,19 +26,19 @@ spv.nv.dmm-allops.rahit Name 64 "gl_HitKindFrontFacingMicroTriangleNV" Name 67 "gl_HitKindBackFacingMicroTriangleNV" Name 76 "as" + Decorate 10(block) Block MemberDecorate 10(block) 0 Offset 0 MemberDecorate 10(block) 1 Offset 16 MemberDecorate 10(block) 2 Offset 24 - Decorate 10(block) Block - Decorate 12 DescriptorSet 0 Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 Decorate 18(gl_HitMicroTriangleVertexPositionsNV) BuiltIn HitMicroTriangleVertexPositionsNV Decorate 40(gl_HitMicroTriangleVertexBarycentricsNV) BuiltIn HitMicroTriangleVertexBarycentricsNV Decorate 59(gl_HitKindEXT) BuiltIn HitKindKHR Decorate 64(gl_HitKindFrontFacingMicroTriangleNV) BuiltIn HitKindFrontFacingMicroTriangleNV Decorate 67(gl_HitKindBackFacingMicroTriangleNV) BuiltIn HitKindBackFacingMicroTriangleNV - Decorate 76(as) DescriptorSet 0 Decorate 76(as) Binding 1 + Decorate 76(as) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.nv.dmm-allops.rchit.out b/Test/baseResults/spv.nv.dmm-allops.rchit.out index c53bc8c1..291b5148 100644 --- a/Test/baseResults/spv.nv.dmm-allops.rchit.out +++ b/Test/baseResults/spv.nv.dmm-allops.rchit.out @@ -26,19 +26,19 @@ spv.nv.dmm-allops.rchit Name 64 "gl_HitKindFrontFacingMicroTriangleNV" Name 67 "gl_HitKindBackFacingMicroTriangleNV" Name 76 "as" + Decorate 10(block) Block MemberDecorate 10(block) 0 Offset 0 MemberDecorate 10(block) 1 Offset 16 MemberDecorate 10(block) 2 Offset 24 - Decorate 10(block) Block - Decorate 12 DescriptorSet 0 Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 Decorate 18(gl_HitMicroTriangleVertexPositionsNV) BuiltIn HitMicroTriangleVertexPositionsNV Decorate 40(gl_HitMicroTriangleVertexBarycentricsNV) BuiltIn HitMicroTriangleVertexBarycentricsNV Decorate 59(gl_HitKindEXT) BuiltIn HitKindKHR Decorate 64(gl_HitKindFrontFacingMicroTriangleNV) BuiltIn HitKindFrontFacingMicroTriangleNV Decorate 67(gl_HitKindBackFacingMicroTriangleNV) BuiltIn HitKindBackFacingMicroTriangleNV - Decorate 76(as) DescriptorSet 0 Decorate 76(as) Binding 1 + Decorate 76(as) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.nv.dmm-allops.rgen.out b/Test/baseResults/spv.nv.dmm-allops.rgen.out index 78001e1f..aaff10ff 100644 --- a/Test/baseResults/spv.nv.dmm-allops.rgen.out +++ b/Test/baseResults/spv.nv.dmm-allops.rgen.out @@ -23,14 +23,14 @@ spv.nv.dmm-allops.rgen Name 17 "as" Name 58 "gl_HitKindFrontFacingMicroTriangleNV" Name 61 "gl_HitKindBackFacingMicroTriangleNV" + Decorate 10(block) Block MemberDecorate 10(block) 0 Offset 0 MemberDecorate 10(block) 1 Offset 16 MemberDecorate 10(block) 2 Offset 24 - Decorate 10(block) Block - Decorate 12 DescriptorSet 0 Decorate 12 Binding 0 - Decorate 17(as) DescriptorSet 0 + Decorate 12 DescriptorSet 0 Decorate 17(as) Binding 1 + Decorate 17(as) DescriptorSet 0 Decorate 58(gl_HitKindFrontFacingMicroTriangleNV) BuiltIn HitKindFrontFacingMicroTriangleNV Decorate 61(gl_HitKindBackFacingMicroTriangleNV) BuiltIn HitKindBackFacingMicroTriangleNV 2: TypeVoid diff --git a/Test/baseResults/spv.nv.hitobject-allops.rchit.out b/Test/baseResults/spv.nv.hitobject-allops.rchit.out index 15e6d416..0ab305c3 100644 --- a/Test/baseResults/spv.nv.hitobject-allops.rchit.out +++ b/Test/baseResults/spv.nv.hitobject-allops.rchit.out @@ -48,13 +48,13 @@ spv.nv.hitobject-allops.rchit Name 112 "handle" Name 114 "rid" Decorate 12(hBlock) Block - Decorate 25(as) DescriptorSet 0 Decorate 25(as) Binding 0 + Decorate 25(as) DescriptorSet 0 Decorate 40(pBlock) Block - MemberDecorate 62(block) 0 Offset 0 Decorate 62(block) Block - Decorate 64 DescriptorSet 0 + MemberDecorate 62(block) 0 Offset 0 Decorate 64 Binding 1 + Decorate 64 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.nv.hitobject-allops.rgen.out b/Test/baseResults/spv.nv.hitobject-allops.rgen.out index d395500a..c6811118 100644 --- a/Test/baseResults/spv.nv.hitobject-allops.rgen.out +++ b/Test/baseResults/spv.nv.hitobject-allops.rgen.out @@ -48,13 +48,13 @@ spv.nv.hitobject-allops.rgen Name 112 "handle" Name 114 "rid" Decorate 12(hBlock) Block - Decorate 25(as) DescriptorSet 0 Decorate 25(as) Binding 0 + Decorate 25(as) DescriptorSet 0 Decorate 40(pBlock) Block - MemberDecorate 62(block) 0 Offset 0 Decorate 62(block) Block - Decorate 64 DescriptorSet 0 + MemberDecorate 62(block) 0 Offset 0 Decorate 64 Binding 1 + Decorate 64 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.nv.hitobject-allops.rmiss.out b/Test/baseResults/spv.nv.hitobject-allops.rmiss.out index 970d08a1..4ad23a55 100644 --- a/Test/baseResults/spv.nv.hitobject-allops.rmiss.out +++ b/Test/baseResults/spv.nv.hitobject-allops.rmiss.out @@ -48,13 +48,13 @@ spv.nv.hitobject-allops.rmiss Name 112 "handle" Name 114 "rid" Decorate 12(hBlock) Block - Decorate 25(as) DescriptorSet 0 Decorate 25(as) Binding 0 + Decorate 25(as) DescriptorSet 0 Decorate 40(pBlock) Block - MemberDecorate 62(block) 0 Offset 0 Decorate 62(block) Block - Decorate 64 DescriptorSet 0 + MemberDecorate 62(block) 0 Offset 0 Decorate 64 Binding 1 + Decorate 64 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.nvAtomicFp16Vec.frag.out b/Test/baseResults/spv.nvAtomicFp16Vec.frag.out index 3486cf3d..76d683e4 100644 --- a/Test/baseResults/spv.nvAtomicFp16Vec.frag.out +++ b/Test/baseResults/spv.nvAtomicFp16Vec.frag.out @@ -42,69 +42,69 @@ spv.nvAtomicFp16Vec.frag Name 340 "fimageCubev4" Name 350 "fimageCubeArrayv4" Name 360 "fimage3Dv4" + Decorate 9(Buffer) BufferBlock MemberDecorate 9(Buffer) 0 Offset 0 MemberDecorate 9(Buffer) 1 Offset 8 MemberDecorate 9(Buffer) 2 Offset 16 MemberDecorate 9(Buffer) 3 Offset 24 - Decorate 9(Buffer) BufferBlock - Decorate 11(buf) DescriptorSet 0 Decorate 11(buf) Binding 0 - Decorate 74(fimage1D) DescriptorSet 0 - Decorate 74(fimage1D) Binding 0 + Decorate 11(buf) DescriptorSet 0 Decorate 74(fimage1D) Volatile Decorate 74(fimage1D) Coherent - Decorate 85(fimage1DArray) DescriptorSet 0 - Decorate 85(fimage1DArray) Binding 1 + Decorate 74(fimage1D) Binding 0 + Decorate 74(fimage1D) DescriptorSet 0 Decorate 85(fimage1DArray) Volatile Decorate 85(fimage1DArray) Coherent - Decorate 97(fimage2D) DescriptorSet 0 - Decorate 97(fimage2D) Binding 2 + Decorate 85(fimage1DArray) Binding 1 + Decorate 85(fimage1DArray) DescriptorSet 0 Decorate 97(fimage2D) Volatile Decorate 97(fimage2D) Coherent - Decorate 107(fimage2DArray) DescriptorSet 0 - Decorate 107(fimage2DArray) Binding 3 + Decorate 97(fimage2D) Binding 2 + Decorate 97(fimage2D) DescriptorSet 0 Decorate 107(fimage2DArray) Volatile Decorate 107(fimage2DArray) Coherent - Decorate 119(fimageCube) DescriptorSet 0 - Decorate 119(fimageCube) Binding 5 + Decorate 107(fimage2DArray) Binding 3 + Decorate 107(fimage2DArray) DescriptorSet 0 Decorate 119(fimageCube) Volatile Decorate 119(fimageCube) Coherent - Decorate 129(fimageCubeArray) DescriptorSet 0 - Decorate 129(fimageCubeArray) Binding 6 + Decorate 119(fimageCube) Binding 5 + Decorate 119(fimageCube) DescriptorSet 0 Decorate 129(fimageCubeArray) Volatile Decorate 129(fimageCubeArray) Coherent - Decorate 139(fimage3D) DescriptorSet 0 - Decorate 139(fimage3D) Binding 9 + Decorate 129(fimageCubeArray) Binding 6 + Decorate 129(fimageCubeArray) DescriptorSet 0 Decorate 139(fimage3D) Volatile Decorate 139(fimage3D) Coherent - Decorate 299(fimage1Dv4) DescriptorSet 0 - Decorate 299(fimage1Dv4) Binding 10 + Decorate 139(fimage3D) Binding 9 + Decorate 139(fimage3D) DescriptorSet 0 Decorate 299(fimage1Dv4) Volatile Decorate 299(fimage1Dv4) Coherent - Decorate 310(fimage1DArrayv4) DescriptorSet 0 - Decorate 310(fimage1DArrayv4) Binding 11 + Decorate 299(fimage1Dv4) Binding 10 + Decorate 299(fimage1Dv4) DescriptorSet 0 Decorate 310(fimage1DArrayv4) Volatile Decorate 310(fimage1DArrayv4) Coherent - Decorate 320(fimage2Dv4) DescriptorSet 0 - Decorate 320(fimage2Dv4) Binding 12 + Decorate 310(fimage1DArrayv4) Binding 11 + Decorate 310(fimage1DArrayv4) DescriptorSet 0 Decorate 320(fimage2Dv4) Volatile Decorate 320(fimage2Dv4) Coherent - Decorate 330(fimage2DArrayv4) DescriptorSet 0 - Decorate 330(fimage2DArrayv4) Binding 13 + Decorate 320(fimage2Dv4) Binding 12 + Decorate 320(fimage2Dv4) DescriptorSet 0 Decorate 330(fimage2DArrayv4) Volatile Decorate 330(fimage2DArrayv4) Coherent - Decorate 340(fimageCubev4) DescriptorSet 0 - Decorate 340(fimageCubev4) Binding 15 + Decorate 330(fimage2DArrayv4) Binding 13 + Decorate 330(fimage2DArrayv4) DescriptorSet 0 Decorate 340(fimageCubev4) Volatile Decorate 340(fimageCubev4) Coherent - Decorate 350(fimageCubeArrayv4) DescriptorSet 0 - Decorate 350(fimageCubeArrayv4) Binding 16 + Decorate 340(fimageCubev4) Binding 15 + Decorate 340(fimageCubev4) DescriptorSet 0 Decorate 350(fimageCubeArrayv4) Volatile Decorate 350(fimageCubeArrayv4) Coherent - Decorate 360(fimage3Dv4) DescriptorSet 0 - Decorate 360(fimage3Dv4) Binding 19 + Decorate 350(fimageCubeArrayv4) Binding 16 + Decorate 350(fimageCubeArrayv4) DescriptorSet 0 Decorate 360(fimage3Dv4) Volatile Decorate 360(fimage3Dv4) Coherent + Decorate 360(fimage3Dv4) Binding 19 + Decorate 360(fimage3Dv4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 16 diff --git a/Test/baseResults/spv.offsets.frag.out b/Test/baseResults/spv.offsets.frag.out index d753f2f0..b6f826ef 100644 --- a/Test/baseResults/spv.offsets.frag.out +++ b/Test/baseResults/spv.offsets.frag.out @@ -22,20 +22,20 @@ spv.offsets.frag MemberName 12(n2) 2 "g" MemberName 12(n2) 3 "h" Name 14 "i2" + Decorate 7(n1) Block MemberDecorate 7(n1) 0 Offset 8 MemberDecorate 7(n1) 1 Offset 4 MemberDecorate 7(n1) 2 Offset 0 MemberDecorate 7(n1) 3 Offset 12 - Decorate 7(n1) Block - Decorate 9(i1) DescriptorSet 0 Decorate 9(i1) Binding 0 + Decorate 9(i1) DescriptorSet 0 + Decorate 12(n2) BufferBlock MemberDecorate 12(n2) 0 Offset 32 MemberDecorate 12(n2) 1 Offset 48 MemberDecorate 12(n2) 2 Offset 16 MemberDecorate 12(n2) 3 Offset 0 - Decorate 12(n2) BufferBlock - Decorate 14(i2) DescriptorSet 0 Decorate 14(i2) Binding 1 + Decorate 14(i2) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.paramMemory.420.frag.out b/Test/baseResults/spv.paramMemory.420.frag.out index bc11df4f..d533ec72 100644 --- a/Test/baseResults/spv.paramMemory.420.frag.out +++ b/Test/baseResults/spv.paramMemory.420.frag.out @@ -41,20 +41,20 @@ Validation failed Decorate 20(image) NonReadable Decorate 27(in_coords) Flat Decorate 27(in_coords) Location 0 - Decorate 36(image1) DescriptorSet 0 - Decorate 36(image1) Binding 0 Decorate 36(image1) Coherent Decorate 36(image1) NonWritable - Decorate 41(image2) DescriptorSet 0 - Decorate 41(image2) Binding 2 + Decorate 36(image1) Binding 0 + Decorate 36(image1) DescriptorSet 0 Decorate 41(image2) NonWritable - Decorate 47(image3) DescriptorSet 0 - Decorate 47(image3) Binding 1 + Decorate 41(image2) Binding 2 + Decorate 41(image2) DescriptorSet 0 Decorate 47(image3) Coherent Decorate 47(image3) NonReadable - Decorate 57(image4) DescriptorSet 0 - Decorate 57(image4) Binding 3 + Decorate 47(image3) Binding 1 + Decorate 47(image3) DescriptorSet 0 Decorate 57(image4) NonReadable + Decorate 57(image4) Binding 3 + Decorate 57(image4) DescriptorSet 0 Decorate 66(out_color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.paramMemory.frag.out b/Test/baseResults/spv.paramMemory.frag.out index ebb2ccbb..ccca4024 100644 --- a/Test/baseResults/spv.paramMemory.frag.out +++ b/Test/baseResults/spv.paramMemory.frag.out @@ -36,13 +36,13 @@ Validation failed Decorate 20(image) NonReadable Decorate 27(in_coords) Flat Decorate 27(in_coords) Location 0 - Decorate 43(image3) DescriptorSet 0 - Decorate 43(image3) Binding 1 Decorate 43(image3) Coherent Decorate 43(image3) NonReadable - Decorate 52(image4) DescriptorSet 0 - Decorate 52(image4) Binding 3 + Decorate 43(image3) Binding 1 + Decorate 43(image3) DescriptorSet 0 Decorate 52(image4) NonReadable + Decorate 52(image4) Binding 3 + Decorate 52(image4) DescriptorSet 0 Decorate 61(out_color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.perprimitiveNV.frag.out b/Test/baseResults/spv.perprimitiveNV.frag.out index 079a5f47..b319ec05 100644 --- a/Test/baseResults/spv.perprimitiveNV.frag.out +++ b/Test/baseResults/spv.perprimitiveNV.frag.out @@ -21,12 +21,12 @@ spv.perprimitiveNV.frag MemberName 17(C) 0 "h" Name 19 "" Decorate 8(g) Location 8 - MemberDecorate 9(B) 0 PerPrimitiveNV Decorate 9(B) Block + MemberDecorate 9(B) 0 PerPrimitiveNV Decorate 11 Location 0 + Decorate 17(C) Block MemberDecorate 17(C) 0 Flat MemberDecorate 17(C) 0 Centroid - Decorate 17(C) Block Decorate 19 Location 4 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.pp.line.frag.out b/Test/baseResults/spv.pp.line.frag.out index 7218254d..af73d175 100644 --- a/Test/baseResults/spv.pp.line.frag.out +++ b/Test/baseResults/spv.pp.line.frag.out @@ -74,10 +74,10 @@ void main() Name 72 "gl_FragColor" Name 75 "u" Name 78 "blend" - Decorate 41(texSampler1D) DescriptorSet 0 Decorate 41(texSampler1D) Binding 0 - Decorate 56(texSampler2D) DescriptorSet 0 + Decorate 41(texSampler1D) DescriptorSet 0 Decorate 56(texSampler2D) Binding 1 + Decorate 56(texSampler2D) DescriptorSet 0 Decorate 60(coords2D) Location 2 Decorate 72(gl_FragColor) Location 0 Decorate 75(u) Location 1 diff --git a/Test/baseResults/spv.precise.tesc.out b/Test/baseResults/spv.precise.tesc.out index 84617cae..93d1d982 100644 --- a/Test/baseResults/spv.precise.tesc.out +++ b/Test/baseResults/spv.precise.tesc.out @@ -22,10 +22,10 @@ spv.precise.tesc Decorate 12(in_te_position) Location 0 Decorate 15(gl_InvocationID) BuiltIn InvocationId Decorate 20(in_tc_position) Location 0 - Decorate 30(gl_TessLevelInner) Patch Decorate 30(gl_TessLevelInner) BuiltIn TessLevelInner - Decorate 40(gl_TessLevelOuter) Patch + Decorate 30(gl_TessLevelInner) Patch Decorate 40(gl_TessLevelOuter) BuiltIn TessLevelOuter + Decorate 40(gl_TessLevelOuter) Patch Decorate 45(in_tc_tessParam) Location 1 Decorate 52 NoContraction Decorate 53 NoContraction diff --git a/Test/baseResults/spv.precise.tese.out b/Test/baseResults/spv.precise.tese.out index 6fe183d2..d9b7141c 100644 --- a/Test/baseResults/spv.precise.tese.out +++ b/Test/baseResults/spv.precise.tese.out @@ -41,9 +41,9 @@ spv.precise.tese Decorate 101 NoContraction Decorate 106 NoContraction Decorate 109 NoContraction + Decorate 110(gl_PerVertex) Block MemberDecorate 110(gl_PerVertex) 0 BuiltIn Position MemberDecorate 110(gl_PerVertex) 1 BuiltIn PointSize - Decorate 110(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.precision.frag.out b/Test/baseResults/spv.precision.frag.out index 8144dfbf..0cdba716 100644 --- a/Test/baseResults/spv.precision.frag.out +++ b/Test/baseResults/spv.precision.frag.out @@ -35,8 +35,8 @@ spv.precision.frag MemberName 117(S) 1 "b" Name 119 "s" Name 149 "gl_SampleMaskIn" - Decorate 12(foo(vf3;) RelaxedPrecision Decorate 11(mv3) RelaxedPrecision + Decorate 12(foo(vf3;) RelaxedPrecision Decorate 23(highfin) Location 2 Decorate 27 RelaxedPrecision Decorate 28 RelaxedPrecision @@ -99,8 +99,8 @@ spv.precision.frag Decorate 143 RelaxedPrecision Decorate 144 RelaxedPrecision Decorate 145 RelaxedPrecision - Decorate 149(gl_SampleMaskIn) Flat Decorate 149(gl_SampleMaskIn) BuiltIn SampleMask + Decorate 149(gl_SampleMaskIn) Flat Decorate 153 RelaxedPrecision Decorate 156 RelaxedPrecision Decorate 159 RelaxedPrecision diff --git a/Test/baseResults/spv.precisionArgs.frag.out b/Test/baseResults/spv.precisionArgs.frag.out index a35b1d3c..3cc72c36 100644 --- a/Test/baseResults/spv.precisionArgs.frag.out +++ b/Test/baseResults/spv.precisionArgs.frag.out @@ -40,8 +40,8 @@ spv.precisionArgs.frag Name 80 "param" Decorate 8(f) RelaxedPrecision Decorate 14(f) RelaxedPrecision - Decorate 20(retM(f1;) RelaxedPrecision Decorate 19(x) RelaxedPrecision + Decorate 20(retM(f1;) RelaxedPrecision Decorate 26(retHM(f1;) RelaxedPrecision Decorate 28(x) RelaxedPrecision Decorate 31 RelaxedPrecision diff --git a/Test/baseResults/spv.precisionNonESSamp.frag.out b/Test/baseResults/spv.precisionNonESSamp.frag.out index 40ca536b..d082bee0 100644 --- a/Test/baseResults/spv.precisionNonESSamp.frag.out +++ b/Test/baseResults/spv.precisionNonESSamp.frag.out @@ -23,22 +23,22 @@ spv.precisionNonESSamp.frag Decorate 9(color) RelaxedPrecision Decorate 9(color) Location 0 Decorate 13(s) RelaxedPrecision - Decorate 13(s) DescriptorSet 0 Decorate 13(s) Binding 0 + Decorate 13(s) DescriptorSet 0 Decorate 14 RelaxedPrecision Decorate 17(v2) RelaxedPrecision Decorate 17(v2) Location 0 Decorate 18 RelaxedPrecision Decorate 19 RelaxedPrecision - Decorate 23(t) DescriptorSet 0 Decorate 23(t) Binding 1 + Decorate 23(t) DescriptorSet 0 Decorate 27(v3) RelaxedPrecision Decorate 27(v3) Location 1 Decorate 28 RelaxedPrecision Decorate 31(vi1) RelaxedPrecision Decorate 34(i1) RelaxedPrecision - Decorate 34(i1) DescriptorSet 0 Decorate 34(i1) Binding 2 + Decorate 34(i1) DescriptorSet 0 Decorate 35 RelaxedPrecision Decorate 39(iv2) RelaxedPrecision Decorate 39(iv2) Flat @@ -46,8 +46,8 @@ spv.precisionNonESSamp.frag Decorate 40 RelaxedPrecision Decorate 41 RelaxedPrecision Decorate 42(vi2) RelaxedPrecision - Decorate 43(i2) DescriptorSet 0 Decorate 43(i2) Binding 3 + Decorate 43(i2) DescriptorSet 0 Decorate 45 RelaxedPrecision 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.precisionTexture.frag.out b/Test/baseResults/spv.precisionTexture.frag.out index e46b2d79..19aa6564 100644 --- a/Test/baseResults/spv.precisionTexture.frag.out +++ b/Test/baseResults/spv.precisionTexture.frag.out @@ -20,28 +20,28 @@ spv.precisionTexture.frag Name 65 "fragColor" Decorate 9(v) RelaxedPrecision Decorate 13(texM) RelaxedPrecision - Decorate 13(texM) DescriptorSet 0 Decorate 13(texM) Binding 0 + Decorate 13(texM) DescriptorSet 0 Decorate 14 RelaxedPrecision Decorate 16(vertex) Location 0 Decorate 20 RelaxedPrecision - Decorate 21(texH) DescriptorSet 0 Decorate 21(texH) Binding 1 + Decorate 21(texH) DescriptorSet 0 Decorate 26 RelaxedPrecision Decorate 34 RelaxedPrecision Decorate 41 RelaxedPrecision Decorate 45 RelaxedPrecision Decorate 52(imageM) RelaxedPrecision - Decorate 52(imageM) DescriptorSet 0 - Decorate 52(imageM) Binding 0 Decorate 52(imageM) NonWritable + Decorate 52(imageM) Binding 0 + Decorate 52(imageM) DescriptorSet 0 Decorate 53 RelaxedPrecision Decorate 57(coord) Flat Decorate 57(coord) Location 1 Decorate 59 RelaxedPrecision - Decorate 60(imageH) DescriptorSet 0 - Decorate 60(imageH) Binding 1 Decorate 60(imageH) NonWritable + Decorate 60(imageH) Binding 1 + Decorate 60(imageH) DescriptorSet 0 Decorate 65(fragColor) RelaxedPrecision Decorate 65(fragColor) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.pushConstant.vert.out b/Test/baseResults/spv.pushConstant.vert.out index f6df47d5..cd825002 100644 --- a/Test/baseResults/spv.pushConstant.vert.out +++ b/Test/baseResults/spv.pushConstant.vert.out @@ -15,9 +15,9 @@ spv.pushConstant.vert Name 13 "matInst" Name 24 "color" Decorate 10 ArrayStride 4 + Decorate 11(Material) Block MemberDecorate 11(Material) 0 Offset 0 MemberDecorate 11(Material) 1 Offset 4 - Decorate 11(Material) Block Decorate 24(color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.pushConstantAnon.vert.out b/Test/baseResults/spv.pushConstantAnon.vert.out index ca7d345b..eddb77a9 100644 --- a/Test/baseResults/spv.pushConstantAnon.vert.out +++ b/Test/baseResults/spv.pushConstantAnon.vert.out @@ -15,9 +15,9 @@ spv.pushConstantAnon.vert Name 13 "" Name 24 "color" Decorate 10 ArrayStride 4 + Decorate 11(Material) Block MemberDecorate 11(Material) 0 Offset 0 MemberDecorate 11(Material) 1 Offset 4 - Decorate 11(Material) Block Decorate 24(color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.queryL.frag.out b/Test/baseResults/spv.queryL.frag.out index 1e18387d..1b3c63ec 100644 --- a/Test/baseResults/spv.queryL.frag.out +++ b/Test/baseResults/spv.queryL.frag.out @@ -41,46 +41,46 @@ Validation failed Name 182 "usampCubeA" Name 219 "sampBuf" Name 223 "sampRect" - Decorate 13(samp1D) DescriptorSet 0 Decorate 13(samp1D) Binding 0 - Decorate 23(isamp2D) DescriptorSet 0 + Decorate 13(samp1D) DescriptorSet 0 Decorate 23(isamp2D) Binding 1 - Decorate 34(usamp3D) DescriptorSet 0 + Decorate 23(isamp2D) DescriptorSet 0 Decorate 34(usamp3D) Binding 4 - Decorate 46(sampCube) DescriptorSet 0 + Decorate 34(usamp3D) DescriptorSet 0 Decorate 46(sampCube) Binding 5 - Decorate 55(isamp1DA) DescriptorSet 0 + Decorate 46(sampCube) DescriptorSet 0 Decorate 55(isamp1DA) Binding 7 - Decorate 64(usamp2DA) DescriptorSet 0 + Decorate 55(isamp1DA) DescriptorSet 0 Decorate 64(usamp2DA) Binding 9 - Decorate 73(isampCubeA) DescriptorSet 0 + Decorate 64(usamp2DA) DescriptorSet 0 Decorate 73(isampCubeA) Binding 10 - Decorate 82(samp1Ds) DescriptorSet 0 + Decorate 73(isampCubeA) DescriptorSet 0 Decorate 82(samp1Ds) Binding 12 - Decorate 91(samp2Ds) DescriptorSet 0 + Decorate 82(samp1Ds) DescriptorSet 0 Decorate 91(samp2Ds) Binding 13 - Decorate 100(sampCubes) DescriptorSet 0 + Decorate 91(samp2Ds) DescriptorSet 0 Decorate 100(sampCubes) Binding 14 - Decorate 109(samp1DAs) DescriptorSet 0 + Decorate 100(sampCubes) DescriptorSet 0 Decorate 109(samp1DAs) Binding 15 - Decorate 118(samp2DAs) DescriptorSet 0 + Decorate 109(samp1DAs) DescriptorSet 0 Decorate 118(samp2DAs) Binding 16 - Decorate 127(sampCubeAs) DescriptorSet 0 + Decorate 118(samp2DAs) DescriptorSet 0 Decorate 127(sampCubeAs) Binding 17 - Decorate 141(usamp2D) DescriptorSet 0 + Decorate 127(sampCubeAs) DescriptorSet 0 Decorate 141(usamp2D) Binding 2 - Decorate 150(isamp3D) DescriptorSet 0 + Decorate 141(usamp2D) DescriptorSet 0 Decorate 150(isamp3D) Binding 3 - Decorate 159(isampCube) DescriptorSet 0 + Decorate 150(isamp3D) DescriptorSet 0 Decorate 159(isampCube) Binding 6 - Decorate 173(samp2DA) DescriptorSet 0 + Decorate 159(isampCube) DescriptorSet 0 Decorate 173(samp2DA) Binding 8 - Decorate 182(usampCubeA) DescriptorSet 0 + Decorate 173(samp2DA) DescriptorSet 0 Decorate 182(usampCubeA) Binding 11 - Decorate 219(sampBuf) DescriptorSet 0 + Decorate 182(usampCubeA) DescriptorSet 0 Decorate 219(sampBuf) Binding 0 - Decorate 223(sampRect) DescriptorSet 0 + Decorate 219(sampBuf) DescriptorSet 0 Decorate 223(sampRect) Binding 0 + Decorate 223(sampRect) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.queueFamilyScope.comp.out b/Test/baseResults/spv.queueFamilyScope.comp.out index 49a59a38..565269c4 100644 --- a/Test/baseResults/spv.queueFamilyScope.comp.out +++ b/Test/baseResults/spv.queueFamilyScope.comp.out @@ -16,10 +16,10 @@ spv.queueFamilyScope.comp Name 7 "Buffer" MemberName 7(Buffer) 0 "a" Name 9 "A" - MemberDecorate 7(Buffer) 0 Offset 0 Decorate 7(Buffer) Block - Decorate 9(A) DescriptorSet 0 + MemberDecorate 7(Buffer) 0 Offset 0 Decorate 9(A) Binding 0 + Decorate 9(A) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.rankShift.comp.out b/Test/baseResults/spv.rankShift.comp.out index cecde795..a091ec1b 100644 --- a/Test/baseResults/spv.rankShift.comp.out +++ b/Test/baseResults/spv.rankShift.comp.out @@ -16,11 +16,11 @@ spv.rankShift.comp Name 11 "arg0" Name 15 "arg1" Decorate 11(arg0) Location 4 - Decorate 11(arg0) DescriptorSet 0 Decorate 11(arg0) Binding 0 + Decorate 11(arg0) DescriptorSet 0 Decorate 15(arg1) Location 5 - Decorate 15(arg1) DescriptorSet 0 Decorate 15(arg1) Binding 1 + Decorate 15(arg1) DescriptorSet 0 Decorate 32 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.register.autoassign-2.frag.out b/Test/baseResults/spv.register.autoassign-2.frag.out index 61d920c2..a921f10d 100644 --- a/Test/baseResults/spv.register.autoassign-2.frag.out +++ b/Test/baseResults/spv.register.autoassign-2.frag.out @@ -20,12 +20,12 @@ spv.register.autoassign-2.frag Name 39 "psout" Name 40 "param" Name 44 "psout.Color" - Decorate 18(g_tScene[0]) DescriptorSet 0 Decorate 18(g_tScene[0]) Binding 10 - Decorate 22(g_tSamp) DescriptorSet 0 + Decorate 18(g_tScene[0]) DescriptorSet 0 Decorate 22(g_tSamp) Binding 5 - Decorate 31(g_tScene[1]) DescriptorSet 0 + Decorate 22(g_tSamp) DescriptorSet 0 Decorate 31(g_tScene[1]) Binding 11 + Decorate 31(g_tScene[1]) DescriptorSet 0 Decorate 44(psout.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.register.autoassign.frag.out b/Test/baseResults/spv.register.autoassign.frag.out index b4db04e6..be86a861 100644 --- a/Test/baseResults/spv.register.autoassign.frag.out +++ b/Test/baseResults/spv.register.autoassign.frag.out @@ -44,47 +44,47 @@ spv.register.autoassign.frag Name 141 "psout" Name 151 "@entryPointOutput.Color" Name 154 "g_tTex_unused3" - Decorate 21(g_tTex1) DescriptorSet 0 Decorate 21(g_tTex1) Binding 11 - Decorate 25(g_sSamp1) DescriptorSet 0 + Decorate 21(g_tTex1) DescriptorSet 0 Decorate 25(g_sSamp1) Binding 5 - Decorate 31(g_tTex2) DescriptorSet 0 + Decorate 25(g_sSamp1) DescriptorSet 0 Decorate 31(g_tTex2) Binding 14 - Decorate 33(g_sSamp2) DescriptorSet 0 + Decorate 31(g_tTex2) DescriptorSet 0 Decorate 33(g_sSamp2) Binding 6 - Decorate 43(g_tTex3) DescriptorSet 0 + Decorate 33(g_sSamp2) DescriptorSet 0 Decorate 43(g_tTex3) Binding 13 - Decorate 50(g_sSamp3) DescriptorSet 0 + Decorate 43(g_tTex3) DescriptorSet 0 Decorate 50(g_sSamp3) Binding 7 - Decorate 68(g_tTex4) DescriptorSet 0 + Decorate 50(g_sSamp3) DescriptorSet 0 Decorate 68(g_tTex4) Binding 15 - Decorate 73(g_sSamp4) DescriptorSet 0 + Decorate 68(g_tTex4) DescriptorSet 0 Decorate 73(g_sSamp4) Binding 8 - Decorate 88(g_tTex5) DescriptorSet 0 + Decorate 73(g_sSamp4) DescriptorSet 0 Decorate 88(g_tTex5) Binding 16 - Decorate 90(g_sSamp5) DescriptorSet 0 + Decorate 88(g_tTex5) DescriptorSet 0 Decorate 90(g_sSamp5) Binding 9 + Decorate 90(g_sSamp5) DescriptorSet 0 MemberDecorate 97(MyStruct_t) 0 Offset 0 MemberDecorate 97(MyStruct_t) 1 Offset 4 MemberDecorate 97(MyStruct_t) 2 Offset 16 + Decorate 99($Global) Block MemberDecorate 99($Global) 0 Offset 0 MemberDecorate 99($Global) 1 Offset 32 MemberDecorate 99($Global) 2 Offset 48 MemberDecorate 99($Global) 3 Offset 64 - Decorate 99($Global) Block - Decorate 101 DescriptorSet 0 Decorate 101 Binding 20 - Decorate 123(g_tTex_unused1) DescriptorSet 0 + Decorate 101 DescriptorSet 0 Decorate 123(g_tTex_unused1) Binding 10 - Decorate 125(g_sSamp_unused1) DescriptorSet 0 + Decorate 123(g_tTex_unused1) DescriptorSet 0 Decorate 125(g_sSamp_unused1) Binding 0 - Decorate 130(g_tTex_unused2) DescriptorSet 0 + Decorate 125(g_sSamp_unused1) DescriptorSet 0 Decorate 130(g_tTex_unused2) Binding 12 - Decorate 132(g_sSamp_unused2) DescriptorSet 0 + Decorate 130(g_tTex_unused2) DescriptorSet 0 Decorate 132(g_sSamp_unused2) Binding 0 + Decorate 132(g_sSamp_unused2) DescriptorSet 0 Decorate 151(@entryPointOutput.Color) Location 0 - Decorate 154(g_tTex_unused3) DescriptorSet 0 Decorate 154(g_tTex_unused3) Binding 0 + Decorate 154(g_tTex_unused3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.register.autoassign.rangetest.frag.out b/Test/baseResults/spv.register.autoassign.rangetest.frag.out index 84a439a7..b8e25737 100644 --- a/Test/baseResults/spv.register.autoassign.rangetest.frag.out +++ b/Test/baseResults/spv.register.autoassign.rangetest.frag.out @@ -22,10 +22,10 @@ INTERNAL ERROR: mapped binding out of range: g_tScene Name 44 "psout" Name 45 "param" Name 49 "psout.Color" - Decorate 21(g_tScene) DescriptorSet 0 Decorate 21(g_tScene) Binding 5 - Decorate 27(g_tSamp) DescriptorSet 0 + Decorate 21(g_tScene) DescriptorSet 0 Decorate 27(g_tSamp) Binding 5 + Decorate 27(g_tSamp) DescriptorSet 0 Decorate 49(psout.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.register.noautoassign.frag.out b/Test/baseResults/spv.register.noautoassign.frag.out index 8c8cd3cc..8b2c29cb 100644 --- a/Test/baseResults/spv.register.noautoassign.frag.out +++ b/Test/baseResults/spv.register.noautoassign.frag.out @@ -44,47 +44,47 @@ spv.register.noautoassign.frag Name 141 "psout" Name 151 "@entryPointOutput.Color" Name 154 "g_tTex_unused3" - Decorate 21(g_tTex1) DescriptorSet 0 Decorate 21(g_tTex1) Binding 11 - Decorate 25(g_sSamp1) DescriptorSet 0 + Decorate 21(g_tTex1) DescriptorSet 0 Decorate 25(g_sSamp1) Binding 5 - Decorate 31(g_tTex2) DescriptorSet 0 + Decorate 25(g_sSamp1) DescriptorSet 0 Decorate 31(g_tTex2) Binding 0 - Decorate 33(g_sSamp2) DescriptorSet 0 + Decorate 31(g_tTex2) DescriptorSet 0 Decorate 33(g_sSamp2) Binding 0 - Decorate 43(g_tTex3) DescriptorSet 0 + Decorate 33(g_sSamp2) DescriptorSet 0 Decorate 43(g_tTex3) Binding 13 - Decorate 50(g_sSamp3) DescriptorSet 0 + Decorate 43(g_tTex3) DescriptorSet 0 Decorate 50(g_sSamp3) Binding 7 - Decorate 68(g_tTex4) DescriptorSet 0 + Decorate 50(g_sSamp3) DescriptorSet 0 Decorate 68(g_tTex4) Binding 0 - Decorate 73(g_sSamp4) DescriptorSet 0 + Decorate 68(g_tTex4) DescriptorSet 0 Decorate 73(g_sSamp4) Binding 0 - Decorate 88(g_tTex5) DescriptorSet 0 + Decorate 73(g_sSamp4) DescriptorSet 0 Decorate 88(g_tTex5) Binding 0 - Decorate 90(g_sSamp5) DescriptorSet 0 + Decorate 88(g_tTex5) DescriptorSet 0 Decorate 90(g_sSamp5) Binding 0 + Decorate 90(g_sSamp5) DescriptorSet 0 MemberDecorate 97(MyStruct_t) 0 Offset 0 MemberDecorate 97(MyStruct_t) 1 Offset 4 MemberDecorate 97(MyStruct_t) 2 Offset 16 + Decorate 99($Global) Block MemberDecorate 99($Global) 0 Offset 0 MemberDecorate 99($Global) 1 Offset 32 MemberDecorate 99($Global) 2 Offset 48 MemberDecorate 99($Global) 3 Offset 64 - Decorate 99($Global) Block - Decorate 101 DescriptorSet 0 Decorate 101 Binding 0 - Decorate 123(g_tTex_unused1) DescriptorSet 0 + Decorate 101 DescriptorSet 0 Decorate 123(g_tTex_unused1) Binding 10 - Decorate 125(g_sSamp_unused1) DescriptorSet 0 + Decorate 123(g_tTex_unused1) DescriptorSet 0 Decorate 125(g_sSamp_unused1) Binding 0 - Decorate 130(g_tTex_unused2) DescriptorSet 0 + Decorate 125(g_sSamp_unused1) DescriptorSet 0 Decorate 130(g_tTex_unused2) Binding 12 - Decorate 132(g_sSamp_unused2) DescriptorSet 0 + Decorate 130(g_tTex_unused2) DescriptorSet 0 Decorate 132(g_sSamp_unused2) Binding 0 + Decorate 132(g_sSamp_unused2) DescriptorSet 0 Decorate 151(@entryPointOutput.Color) Location 0 - Decorate 154(g_tTex_unused3) DescriptorSet 0 Decorate 154(g_tTex_unused3) Binding 0 + Decorate 154(g_tTex_unused3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.register.subpass.frag.out b/Test/baseResults/spv.register.subpass.frag.out index 7c69c918..c20f5962 100644 --- a/Test/baseResults/spv.register.subpass.frag.out +++ b/Test/baseResults/spv.register.subpass.frag.out @@ -19,14 +19,14 @@ spv.register.subpass.frag Name 29 "result73" Name 30 "subpass_2" Name 38 "@entryPointOutput" - Decorate 15(subpass_f4) DescriptorSet 0 Decorate 15(subpass_f4) Binding 21 + Decorate 15(subpass_f4) DescriptorSet 0 Decorate 15(subpass_f4) InputAttachmentIndex 1 - Decorate 25(subpass_ms_f4) DescriptorSet 0 Decorate 25(subpass_ms_f4) Binding 20 + Decorate 25(subpass_ms_f4) DescriptorSet 0 Decorate 25(subpass_ms_f4) InputAttachmentIndex 4 - Decorate 30(subpass_2) DescriptorSet 0 Decorate 30(subpass_2) Binding 22 + Decorate 30(subpass_2) DescriptorSet 0 Decorate 30(subpass_2) InputAttachmentIndex 7 Decorate 38(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.rw.autoassign.frag.out b/Test/baseResults/spv.rw.autoassign.frag.out index 0c46493c..3dd60882 100644 --- a/Test/baseResults/spv.rw.autoassign.frag.out +++ b/Test/baseResults/spv.rw.autoassign.frag.out @@ -21,10 +21,10 @@ spv.rw.autoassign.frag Name 27 "g_tBuf1du1" Name 33 "psout" Name 42 "@entryPointOutput.Color" - Decorate 16(g_tTex1df1) DescriptorSet 0 Decorate 16(g_tTex1df1) Binding 20 - Decorate 27(g_tBuf1du1) DescriptorSet 0 + Decorate 16(g_tTex1df1) DescriptorSet 0 Decorate 27(g_tBuf1du1) Binding 21 + Decorate 27(g_tBuf1du1) DescriptorSet 0 Decorate 42(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.sampleId.frag.out b/Test/baseResults/spv.sampleId.frag.out index 7f3232d1..c4dda4a3 100644 --- a/Test/baseResults/spv.sampleId.frag.out +++ b/Test/baseResults/spv.sampleId.frag.out @@ -14,8 +14,8 @@ spv.sampleId.frag Name 8 "gl_SampleID" Name 18 "color" Name 20 "samp" - Decorate 8(gl_SampleID) Flat Decorate 8(gl_SampleID) BuiltIn SampleId + Decorate 8(gl_SampleID) Flat Decorate 18(color) Location 0 Decorate 20(samp) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.sampledImageBlock.frag.out b/Test/baseResults/spv.sampledImageBlock.frag.out index ba46a0fe..a6625f7f 100644 --- a/Test/baseResults/spv.sampledImageBlock.frag.out +++ b/Test/baseResults/spv.sampledImageBlock.frag.out @@ -18,14 +18,14 @@ spv.sampledImageBlock.frag Name 23 "paramBuffer" Name 36 "texCoord" Name 45 "fragColor" - Decorate 12(tex0) DescriptorSet 0 Decorate 12(tex0) Binding 0 - Decorate 16(samp0) DescriptorSet 0 + Decorate 12(tex0) DescriptorSet 0 Decorate 16(samp0) Binding 1 - MemberDecorate 21(ParamBuffer) 0 Offset 0 + Decorate 16(samp0) DescriptorSet 0 Decorate 21(ParamBuffer) Block - Decorate 23(paramBuffer) DescriptorSet 0 + MemberDecorate 21(ParamBuffer) 0 Offset 0 Decorate 23(paramBuffer) Binding 2 + Decorate 23(paramBuffer) DescriptorSet 0 Decorate 36(texCoord) Flat Decorate 36(texCoord) Location 0 Decorate 45(fragColor) Location 0 diff --git a/Test/baseResults/spv.samplerlessTextureFunctions.frag.out b/Test/baseResults/spv.samplerlessTextureFunctions.frag.out index 44799122..ef7b4362 100644 --- a/Test/baseResults/spv.samplerlessTextureFunctions.frag.out +++ b/Test/baseResults/spv.samplerlessTextureFunctions.frag.out @@ -25,12 +25,12 @@ spv.samplerlessTextureFunctions.frag Name 42 "bufSize" Name 45 "tex2DLevels" Name 48 "texMSSamples" - Decorate 12(tex2D) DescriptorSet 0 Decorate 12(tex2D) Binding 1 - Decorate 22(texMS) DescriptorSet 0 + Decorate 12(tex2D) DescriptorSet 0 Decorate 22(texMS) Binding 1 - Decorate 28(buf) DescriptorSet 0 + Decorate 22(texMS) DescriptorSet 0 Decorate 28(buf) Binding 0 + Decorate 28(buf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.scalarlayout.frag.out b/Test/baseResults/spv.scalarlayout.frag.out index 977f06b7..a99709d3 100644 --- a/Test/baseResults/spv.scalarlayout.frag.out +++ b/Test/baseResults/spv.scalarlayout.frag.out @@ -39,22 +39,22 @@ spv.scalarlayout.frag MemberDecorate 15(S) 4 Offset 28 MemberDecorate 15(S) 5 Offset 40 Decorate 16 ArrayStride 48 + Decorate 17(B1) Block MemberDecorate 17(B1) 0 Offset 0 MemberDecorate 17(B1) 1 Offset 4 MemberDecorate 17(B1) 2 Offset 12 MemberDecorate 17(B1) 3 Offset 24 MemberDecorate 17(B1) 4 ColMajor - MemberDecorate 17(B1) 4 Offset 32 MemberDecorate 17(B1) 4 MatrixStride 12 + MemberDecorate 17(B1) 4 Offset 32 MemberDecorate 17(B1) 5 ColMajor - MemberDecorate 17(B1) 5 Offset 56 MemberDecorate 17(B1) 5 MatrixStride 12 + MemberDecorate 17(B1) 5 Offset 56 MemberDecorate 17(B1) 6 Offset 104 MemberDecorate 17(B1) 7 Offset 112 MemberDecorate 17(B1) 8 Offset 160 - Decorate 17(B1) Block - Decorate 19 DescriptorSet 0 Decorate 19 Binding 0 + Decorate 19 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.scalarlayoutfloat16.frag.out b/Test/baseResults/spv.scalarlayoutfloat16.frag.out index 93c0d2a1..880786f3 100644 --- a/Test/baseResults/spv.scalarlayoutfloat16.frag.out +++ b/Test/baseResults/spv.scalarlayoutfloat16.frag.out @@ -39,6 +39,7 @@ spv.scalarlayoutfloat16.frag MemberDecorate 13(S) 4 Offset 18 MemberDecorate 13(S) 5 Offset 24 Decorate 14 ArrayStride 32 + Decorate 15(B1) Block MemberDecorate 15(B1) 0 Offset 0 MemberDecorate 15(B1) 1 Offset 2 MemberDecorate 15(B1) 2 Offset 6 @@ -46,9 +47,8 @@ spv.scalarlayoutfloat16.frag MemberDecorate 15(B1) 4 Offset 16 MemberDecorate 15(B1) 5 Offset 24 MemberDecorate 15(B1) 6 Offset 56 - Decorate 15(B1) Block - Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 + Decorate 17 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 16 diff --git a/Test/baseResults/spv.separate.frag.out b/Test/baseResults/spv.separate.frag.out index b960934c..00d3282a 100644 --- a/Test/baseResults/spv.separate.frag.out +++ b/Test/baseResults/spv.separate.frag.out @@ -57,84 +57,84 @@ Validation failed Name 293 "tex3D" Name 304 "tex2DRect" Decorate 11(color) Location 0 - Decorate 14(t2d) DescriptorSet 0 Decorate 14(t2d) Binding 2 - Decorate 18(s) DescriptorSet 0 + Decorate 14(t2d) DescriptorSet 0 Decorate 18(s) Binding 0 - Decorate 31(t3d) DescriptorSet 0 + Decorate 18(s) DescriptorSet 0 Decorate 31(t3d) Binding 3 + Decorate 31(t3d) DescriptorSet 0 Decorate 34(i) Flat Decorate 34(i) Location 0 - Decorate 41(sA) DescriptorSet 0 Decorate 41(sA) Binding 1 - Decorate 58(tex2D) DescriptorSet 0 + Decorate 41(sA) DescriptorSet 0 Decorate 58(tex2D) Binding 0 - Decorate 64(texCube) DescriptorSet 0 + Decorate 58(tex2D) DescriptorSet 0 Decorate 64(texCube) Binding 0 - Decorate 71(texCubeArray) DescriptorSet 0 + Decorate 64(texCube) DescriptorSet 0 Decorate 71(texCubeArray) Binding 0 - Decorate 77(sShadow) DescriptorSet 0 + Decorate 71(texCubeArray) DescriptorSet 0 Decorate 77(sShadow) Binding 0 - Decorate 84(itexCubeArray) DescriptorSet 0 + Decorate 77(sShadow) DescriptorSet 0 Decorate 84(itexCubeArray) Binding 0 - Decorate 91(utexCubeArray) DescriptorSet 0 + Decorate 84(itexCubeArray) DescriptorSet 0 Decorate 91(utexCubeArray) Binding 0 - Decorate 98(tex1DArray) DescriptorSet 0 + Decorate 91(utexCubeArray) DescriptorSet 0 Decorate 98(tex1DArray) Binding 0 - Decorate 105(itex1DArray) DescriptorSet 0 + Decorate 98(tex1DArray) DescriptorSet 0 Decorate 105(itex1DArray) Binding 0 - Decorate 112(utex1D) DescriptorSet 0 + Decorate 105(itex1DArray) DescriptorSet 0 Decorate 112(utex1D) Binding 0 - Decorate 119(itex1D) DescriptorSet 0 + Decorate 112(utex1D) DescriptorSet 0 Decorate 119(itex1D) Binding 0 - Decorate 126(utex1DArray) DescriptorSet 0 + Decorate 119(itex1D) DescriptorSet 0 Decorate 126(utex1DArray) Binding 0 - Decorate 133(texBuffer) DescriptorSet 0 + Decorate 126(utex1DArray) DescriptorSet 0 Decorate 133(texBuffer) Binding 0 - Decorate 145(tex2DArray) DescriptorSet 0 + Decorate 133(texBuffer) DescriptorSet 0 Decorate 145(tex2DArray) Binding 0 - Decorate 157(itex2D) DescriptorSet 0 + Decorate 145(tex2DArray) DescriptorSet 0 Decorate 157(itex2D) Binding 0 - Decorate 164(itex3D) DescriptorSet 0 + Decorate 157(itex2D) DescriptorSet 0 Decorate 164(itex3D) Binding 0 - Decorate 171(itexCube) DescriptorSet 0 + Decorate 164(itex3D) DescriptorSet 0 Decorate 171(itexCube) Binding 0 - Decorate 178(itex2DArray) DescriptorSet 0 + Decorate 171(itexCube) DescriptorSet 0 Decorate 178(itex2DArray) Binding 0 - Decorate 185(utex2D) DescriptorSet 0 + Decorate 178(itex2DArray) DescriptorSet 0 Decorate 185(utex2D) Binding 0 - Decorate 192(utex3D) DescriptorSet 0 + Decorate 185(utex2D) DescriptorSet 0 Decorate 192(utex3D) Binding 0 - Decorate 199(utexCube) DescriptorSet 0 + Decorate 192(utex3D) DescriptorSet 0 Decorate 199(utexCube) Binding 0 - Decorate 206(utex2DArray) DescriptorSet 0 + Decorate 199(utexCube) DescriptorSet 0 Decorate 206(utex2DArray) Binding 0 - Decorate 213(itex2DRect) DescriptorSet 0 + Decorate 206(utex2DArray) DescriptorSet 0 Decorate 213(itex2DRect) Binding 0 - Decorate 220(utex2DRect) DescriptorSet 0 + Decorate 213(itex2DRect) DescriptorSet 0 Decorate 220(utex2DRect) Binding 0 - Decorate 227(itexBuffer) DescriptorSet 0 + Decorate 220(utex2DRect) DescriptorSet 0 Decorate 227(itexBuffer) Binding 0 - Decorate 234(utexBuffer) DescriptorSet 0 + Decorate 227(itexBuffer) DescriptorSet 0 Decorate 234(utexBuffer) Binding 0 - Decorate 241(tex2DMS) DescriptorSet 0 + Decorate 234(utexBuffer) DescriptorSet 0 Decorate 241(tex2DMS) Binding 0 - Decorate 248(itex2DMS) DescriptorSet 0 + Decorate 241(tex2DMS) DescriptorSet 0 Decorate 248(itex2DMS) Binding 0 - Decorate 255(utex2DMS) DescriptorSet 0 + Decorate 248(itex2DMS) DescriptorSet 0 Decorate 255(utex2DMS) Binding 0 - Decorate 262(tex2DMSArray) DescriptorSet 0 + Decorate 255(utex2DMS) DescriptorSet 0 Decorate 262(tex2DMSArray) Binding 0 - Decorate 269(itex2DMSArray) DescriptorSet 0 + Decorate 262(tex2DMSArray) DescriptorSet 0 Decorate 269(itex2DMSArray) Binding 0 - Decorate 276(utex2DMSArray) DescriptorSet 0 + Decorate 269(itex2DMSArray) DescriptorSet 0 Decorate 276(utex2DMSArray) Binding 0 - Decorate 283(tex1D) DescriptorSet 0 + Decorate 276(utex2DMSArray) DescriptorSet 0 Decorate 283(tex1D) Binding 0 - Decorate 293(tex3D) DescriptorSet 0 + Decorate 283(tex1D) DescriptorSet 0 Decorate 293(tex3D) Binding 0 - Decorate 304(tex2DRect) DescriptorSet 0 + Decorate 293(tex3D) DescriptorSet 0 Decorate 304(tex2DRect) Binding 0 + Decorate 304(tex2DRect) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 diff --git a/Test/baseResults/spv.set.vert.out b/Test/baseResults/spv.set.vert.out index b311c707..95c7cbdb 100644 --- a/Test/baseResults/spv.set.vert.out +++ b/Test/baseResults/spv.set.vert.out @@ -15,12 +15,12 @@ spv.set.vert Name 12 "setBufInst" Name 21 "samp2D" Decorate 9(color) Location 0 - MemberDecorate 10(setBuf) 0 Offset 0 Decorate 10(setBuf) BufferBlock - Decorate 12(setBufInst) DescriptorSet 0 + MemberDecorate 10(setBuf) 0 Offset 0 Decorate 12(setBufInst) Binding 8 - Decorate 21(samp2D) DescriptorSet 4 + Decorate 12(setBufInst) DescriptorSet 0 Decorate 21(samp2D) Binding 7 + Decorate 21(samp2D) DescriptorSet 4 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.shaderBallot.comp.out b/Test/baseResults/spv.shaderBallot.comp.out index 143b2e93..da363e9c 100644 --- a/Test/baseResults/spv.shaderBallot.comp.out +++ b/Test/baseResults/spv.shaderBallot.comp.out @@ -36,12 +36,12 @@ spv.shaderBallot.comp Decorate 36(gl_SubGroupGtMaskARB) BuiltIn SubgroupGtMaskKHR Decorate 43(gl_SubGroupLeMaskARB) BuiltIn SubgroupLeMaskKHR Decorate 50(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR + Decorate 72(Buffers) BufferBlock MemberDecorate 72(Buffers) 0 Offset 0 MemberDecorate 72(Buffers) 1 Offset 16 MemberDecorate 72(Buffers) 2 Offset 32 - Decorate 72(Buffers) BufferBlock - Decorate 75(data) DescriptorSet 0 Decorate 75(data) Binding 0 + Decorate 75(data) DescriptorSet 0 Decorate 396 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.shaderBallotAMD.comp.out b/Test/baseResults/spv.shaderBallotAMD.comp.out index 2d8ad553..a52f5b91 100644 --- a/Test/baseResults/spv.shaderBallotAMD.comp.out +++ b/Test/baseResults/spv.shaderBallotAMD.comp.out @@ -33,6 +33,7 @@ spv.shaderBallotAMD.comp MemberName 21(Buffers) 7 "i16v" MemberName 21(Buffers) 8 "u16" Name 23 "" + Decorate 21(Buffers) BufferBlock MemberDecorate 21(Buffers) 0 Offset 0 MemberDecorate 21(Buffers) 1 Offset 8 MemberDecorate 21(Buffers) 2 Offset 16 @@ -42,9 +43,8 @@ spv.shaderBallotAMD.comp MemberDecorate 21(Buffers) 6 Offset 96 MemberDecorate 21(Buffers) 7 Offset 104 MemberDecorate 21(Buffers) 8 Offset 112 - Decorate 21(Buffers) BufferBlock - Decorate 23 DescriptorSet 0 Decorate 23 Binding 0 + Decorate 23 DescriptorSet 0 Decorate 1342 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.shaderDrawParams.vert.out b/Test/baseResults/spv.shaderDrawParams.vert.out index a84c2fea..58b26cb4 100644 --- a/Test/baseResults/spv.shaderDrawParams.vert.out +++ b/Test/baseResults/spv.shaderDrawParams.vert.out @@ -26,17 +26,17 @@ spv.shaderDrawParams.vert Name 37 "gl_DrawIDARB" Decorate 9(gl_BaseVertexARB) BuiltIn BaseVertex Decorate 16(gl_BaseInstanceARB) BuiltIn BaseInstance + Decorate 27(gl_PerVertex) Block MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 27(gl_PerVertex) Block Decorate 31 ArrayStride 16 Decorate 33 ArrayStride 64 - MemberDecorate 34(Block) 0 Offset 0 Decorate 34(Block) Block - Decorate 36(block) DescriptorSet 0 + MemberDecorate 34(Block) 0 Offset 0 Decorate 36(block) Binding 0 + Decorate 36(block) DescriptorSet 0 Decorate 37(gl_DrawIDARB) BuiltIn DrawIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.shaderFragMaskAMD.frag.out b/Test/baseResults/spv.shaderFragMaskAMD.frag.out index 3b461142..17f98d45 100644 --- a/Test/baseResults/spv.shaderFragMaskAMD.frag.out +++ b/Test/baseResults/spv.shaderFragMaskAMD.frag.out @@ -21,12 +21,12 @@ spv.shaderFragMaskAMD.frag Name 42 "is2DMSArray" Name 62 "usubpassMS" Name 78 "fragColor" - Decorate 18(s2DMS) DescriptorSet 0 Decorate 18(s2DMS) Binding 0 - Decorate 42(is2DMSArray) DescriptorSet 0 + Decorate 18(s2DMS) DescriptorSet 0 Decorate 42(is2DMSArray) Binding 1 - Decorate 62(usubpassMS) DescriptorSet 0 + Decorate 42(is2DMSArray) DescriptorSet 0 Decorate 62(usubpassMS) Binding 2 + Decorate 62(usubpassMS) DescriptorSet 0 Decorate 62(usubpassMS) InputAttachmentIndex 0 Decorate 78(fragColor) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.shaderGroupVote.comp.out b/Test/baseResults/spv.shaderGroupVote.comp.out index 07241701..0a8c5a24 100644 --- a/Test/baseResults/spv.shaderGroupVote.comp.out +++ b/Test/baseResults/spv.shaderGroupVote.comp.out @@ -17,10 +17,10 @@ spv.shaderGroupVote.comp Name 10 "Buffers" MemberName 10(Buffers) 0 "b" Name 12 "" - MemberDecorate 10(Buffers) 0 Offset 0 Decorate 10(Buffers) BufferBlock - Decorate 12 DescriptorSet 0 + MemberDecorate 10(Buffers) 0 Offset 0 Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 Decorate 32 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.shaderImageFootprint.frag.out b/Test/baseResults/spv.shaderImageFootprint.frag.out index 743fd365..0f87bcbb 100644 --- a/Test/baseResults/spv.shaderImageFootprint.frag.out +++ b/Test/baseResults/spv.shaderImageFootprint.frag.out @@ -66,17 +66,17 @@ spv.shaderImageFootprint.frag Name 478 "ResType" Name 528 "ResType" Name 577 "ResType" + Decorate 8(result2D) BufferBlock MemberDecorate 8(result2D) 0 Offset 0 MemberDecorate 8(result2D) 1 Offset 8 MemberDecorate 8(result2D) 2 Offset 16 MemberDecorate 8(result2D) 3 Offset 24 MemberDecorate 8(result2D) 4 Offset 32 MemberDecorate 8(result2D) 5 Offset 36 - Decorate 8(result2D) BufferBlock - Decorate 10 DescriptorSet 0 Decorate 10 Binding 2 - Decorate 17(sample2D) DescriptorSet 0 + Decorate 10 DescriptorSet 0 Decorate 17(sample2D) Binding 0 + Decorate 17(sample2D) DescriptorSet 0 Decorate 21(P2) Location 0 Decorate 24(granularity) Flat Decorate 24(granularity) Location 3 @@ -85,17 +85,17 @@ spv.shaderImageFootprint.frag Decorate 225(lod) Location 5 Decorate 275(dx) Location 6 Decorate 277(dy) Location 8 + Decorate 377(result3D) BufferBlock MemberDecorate 377(result3D) 0 Offset 0 MemberDecorate 377(result3D) 1 Offset 16 MemberDecorate 377(result3D) 2 Offset 32 MemberDecorate 377(result3D) 3 Offset 48 MemberDecorate 377(result3D) 4 Offset 56 MemberDecorate 377(result3D) 5 Offset 60 - Decorate 377(result3D) BufferBlock - Decorate 379 DescriptorSet 0 Decorate 379 Binding 3 - Decorate 383(sample3D) DescriptorSet 0 + Decorate 379 DescriptorSet 0 Decorate 383(sample3D) Binding 1 + Decorate 383(sample3D) DescriptorSet 0 Decorate 387(P3) Location 2 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.shadingRate.frag.out b/Test/baseResults/spv.shadingRate.frag.out index 86079ce0..a05cbed1 100644 --- a/Test/baseResults/spv.shadingRate.frag.out +++ b/Test/baseResults/spv.shadingRate.frag.out @@ -18,11 +18,11 @@ spv.shadingRate.frag Name 17 "InvocationsPerPixel" Name 19 "gl_InvocationsPerPixelNV" Decorate 9(FragmentSize) Location 0 - Decorate 13(gl_FragmentSizeNV) Flat Decorate 13(gl_FragmentSizeNV) BuiltIn FragSizeEXT + Decorate 13(gl_FragmentSizeNV) Flat Decorate 17(InvocationsPerPixel) Location 2 - Decorate 19(gl_InvocationsPerPixelNV) Flat Decorate 19(gl_InvocationsPerPixelNV) BuiltIn FragInvocationCountEXT + Decorate 19(gl_InvocationsPerPixelNV) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.smBuiltins.frag.out b/Test/baseResults/spv.smBuiltins.frag.out index 1619cf63..dc6ce4eb 100644 --- a/Test/baseResults/spv.smBuiltins.frag.out +++ b/Test/baseResults/spv.smBuiltins.frag.out @@ -19,14 +19,14 @@ spv.smBuiltins.frag Name 15 "gl_WarpIDNV" Name 17 "gl_SMIDNV" Decorate 9(data) Location 0 - Decorate 11(gl_WarpsPerSMNV) Flat Decorate 11(gl_WarpsPerSMNV) BuiltIn WarpsPerSMNV - Decorate 13(gl_SMCountNV) Flat + Decorate 11(gl_WarpsPerSMNV) Flat Decorate 13(gl_SMCountNV) BuiltIn SMCountNV - Decorate 15(gl_WarpIDNV) Flat + Decorate 13(gl_SMCountNV) Flat Decorate 15(gl_WarpIDNV) BuiltIn WarpIDNV - Decorate 17(gl_SMIDNV) Flat + Decorate 15(gl_WarpIDNV) Flat Decorate 17(gl_SMIDNV) BuiltIn SMIDNV + Decorate 17(gl_SMIDNV) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.smBuiltins.vert.out b/Test/baseResults/spv.smBuiltins.vert.out index c03c3cd9..9d5d664f 100644 --- a/Test/baseResults/spv.smBuiltins.vert.out +++ b/Test/baseResults/spv.smBuiltins.vert.out @@ -21,10 +21,10 @@ spv.smBuiltins.vert Name 22 "gl_WarpIDNV" Name 24 "gl_SMIDNV" Decorate 8 ArrayStride 16 - MemberDecorate 9(Output) 0 Offset 0 Decorate 9(Output) BufferBlock - Decorate 11 DescriptorSet 0 + MemberDecorate 9(Output) 0 Offset 0 Decorate 11 Binding 0 + Decorate 11 DescriptorSet 0 Decorate 15(gl_VertexIndex) BuiltIn VertexIndex Decorate 18(gl_WarpsPerSMNV) BuiltIn WarpsPerSMNV Decorate 20(gl_SMCountNV) BuiltIn SMCountNV diff --git a/Test/baseResults/spv.sparseTexture.frag.out b/Test/baseResults/spv.sparseTexture.frag.out index 91dd929d..0d719533 100644 --- a/Test/baseResults/spv.sparseTexture.frag.out +++ b/Test/baseResults/spv.sparseTexture.frag.out @@ -46,43 +46,43 @@ Validation failed Name 401 "ic3" Name 410 "i2DMS" Name 419 "outColor" - Decorate 29(s2D) DescriptorSet 0 Decorate 29(s2D) Binding 0 + Decorate 29(s2D) DescriptorSet 0 Decorate 33(c2) Location 0 - Decorate 44(s3D) DescriptorSet 0 Decorate 44(s3D) Binding 1 + Decorate 44(s3D) DescriptorSet 0 Decorate 48(c3) Location 1 - Decorate 59(isCube) DescriptorSet 0 Decorate 59(isCube) Binding 8 - Decorate 71(s2DShadow) DescriptorSet 0 + Decorate 59(isCube) DescriptorSet 0 Decorate 71(s2DShadow) Binding 2 - Decorate 86(sCubeArrayShadow) DescriptorSet 0 + Decorate 71(s2DShadow) DescriptorSet 0 Decorate 86(sCubeArrayShadow) Binding 6 + Decorate 86(sCubeArrayShadow) DescriptorSet 0 Decorate 89(c4) Location 2 - Decorate 108(usCubeArray) DescriptorSet 0 Decorate 108(usCubeArray) Binding 10 - Decorate 140(us2DRect) DescriptorSet 0 + Decorate 108(usCubeArray) DescriptorSet 0 Decorate 140(us2DRect) Binding 11 - Decorate 154(s2DArrayShadow) DescriptorSet 0 + Decorate 140(us2DRect) DescriptorSet 0 Decorate 154(s2DArrayShadow) Binding 4 - Decorate 188(s2DMS) DescriptorSet 0 + Decorate 154(s2DArrayShadow) DescriptorSet 0 Decorate 188(s2DMS) Binding 7 - Decorate 228(is2DArray) DescriptorSet 0 + Decorate 188(s2DMS) DescriptorSet 0 Decorate 228(is2DArray) Binding 9 - Decorate 259(sCubeShadow) DescriptorSet 0 + Decorate 228(is2DArray) DescriptorSet 0 Decorate 259(sCubeShadow) Binding 3 - Decorate 288(s2DRectShadow) DescriptorSet 0 + Decorate 259(sCubeShadow) DescriptorSet 0 Decorate 288(s2DRectShadow) Binding 5 - Decorate 386(i2D) DescriptorSet 0 + Decorate 288(s2DRectShadow) DescriptorSet 0 Decorate 386(i2D) Binding 12 + Decorate 386(i2D) DescriptorSet 0 Decorate 389(ic2) Flat Decorate 389(ic2) Location 3 - Decorate 398(ii3D) DescriptorSet 0 Decorate 398(ii3D) Binding 13 + Decorate 398(ii3D) DescriptorSet 0 Decorate 401(ic3) Flat Decorate 401(ic3) Location 4 - Decorate 410(i2DMS) DescriptorSet 0 Decorate 410(i2DMS) Binding 14 + Decorate 410(i2DMS) DescriptorSet 0 Decorate 419(outColor) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.sparseTextureClamp.frag.out b/Test/baseResults/spv.sparseTextureClamp.frag.out index 1c95f60b..5ea7dc4c 100644 --- a/Test/baseResults/spv.sparseTextureClamp.frag.out +++ b/Test/baseResults/spv.sparseTextureClamp.frag.out @@ -40,32 +40,32 @@ Validation failed Name 276 "s2DRectShadow" Name 294 "is2DArray" Name 329 "outColor" - Decorate 29(s2D) DescriptorSet 0 Decorate 29(s2D) Binding 0 + Decorate 29(s2D) DescriptorSet 0 Decorate 33(c2) Location 0 Decorate 36(lodClamp) Location 3 - Decorate 47(s3D) DescriptorSet 0 Decorate 47(s3D) Binding 1 + Decorate 47(s3D) DescriptorSet 0 Decorate 51(c3) Location 1 - Decorate 63(isCube) DescriptorSet 0 Decorate 63(isCube) Binding 7 - Decorate 76(s2DShadow) DescriptorSet 0 + Decorate 63(isCube) DescriptorSet 0 Decorate 76(s2DShadow) Binding 2 - Decorate 92(sCubeArrayShadow) DescriptorSet 0 + Decorate 76(s2DShadow) DescriptorSet 0 Decorate 92(sCubeArrayShadow) Binding 6 + Decorate 92(sCubeArrayShadow) DescriptorSet 0 Decorate 95(c4) Location 2 - Decorate 154(us2DRect) DescriptorSet 0 Decorate 154(us2DRect) Binding 10 - Decorate 170(s2DArrayShadow) DescriptorSet 0 + Decorate 154(us2DRect) DescriptorSet 0 Decorate 170(s2DArrayShadow) Binding 4 - Decorate 216(sCubeShadow) DescriptorSet 0 + Decorate 170(s2DArrayShadow) DescriptorSet 0 Decorate 216(sCubeShadow) Binding 3 - Decorate 232(usCubeArray) DescriptorSet 0 + Decorate 216(sCubeShadow) DescriptorSet 0 Decorate 232(usCubeArray) Binding 9 - Decorate 276(s2DRectShadow) DescriptorSet 0 + Decorate 232(usCubeArray) DescriptorSet 0 Decorate 276(s2DRectShadow) Binding 5 - Decorate 294(is2DArray) DescriptorSet 0 + Decorate 276(s2DRectShadow) DescriptorSet 0 Decorate 294(is2DArray) Binding 8 + Decorate 294(is2DArray) DescriptorSet 0 Decorate 329(outColor) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.specConst.vert.out b/Test/baseResults/spv.specConst.vert.out index a2e234bd..404d3085 100644 --- a/Test/baseResults/spv.specConst.vert.out +++ b/Test/baseResults/spv.specConst.vert.out @@ -18,11 +18,11 @@ spv.specConst.vert Name 18 "a" Name 25 "gl_VertexID" Name 26 "gl_InstanceID" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block Decorate 18(a) SpecId 11 Decorate 25(gl_VertexID) BuiltIn VertexId Decorate 26(gl_InstanceID) BuiltIn InstanceId diff --git a/Test/baseResults/spv.specConstant.comp.out b/Test/baseResults/spv.specConstant.comp.out index bfe71142..6a7dd1db 100644 --- a/Test/baseResults/spv.specConstant.comp.out +++ b/Test/baseResults/spv.specConstant.comp.out @@ -13,10 +13,10 @@ spv.specConstant.comp Name 7 "bn" MemberName 7(bn) 0 "a" Name 9 "bi" - MemberDecorate 7(bn) 0 Offset 0 Decorate 7(bn) BufferBlock - Decorate 9(bi) DescriptorSet 0 + MemberDecorate 7(bn) 0 Offset 0 Decorate 9(bi) Binding 0 + Decorate 9(bi) DescriptorSet 0 Decorate 12 SpecId 18 Decorate 14 SpecId 19 Decorate 16 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.specConstant.float16.comp.out b/Test/baseResults/spv.specConstant.float16.comp.out index 3381fc7e..69153978 100644 --- a/Test/baseResults/spv.specConstant.float16.comp.out +++ b/Test/baseResults/spv.specConstant.float16.comp.out @@ -20,13 +20,13 @@ spv.specConstant.float16.comp Name 9 "sb_out" Name 12 "sc0" Name 16 "sc1" + Decorate 7(Output) BufferBlock MemberDecorate 7(Output) 0 NonReadable MemberDecorate 7(Output) 0 Offset 0 MemberDecorate 7(Output) 1 NonReadable MemberDecorate 7(Output) 1 Offset 2 - Decorate 7(Output) BufferBlock - Decorate 9(sb_out) DescriptorSet 0 Decorate 9(sb_out) Binding 0 + Decorate 9(sb_out) DescriptorSet 0 Decorate 12(sc0) SpecId 1 Decorate 16(sc1) SpecId 2 2: TypeVoid diff --git a/Test/baseResults/spv.specConstant.int16.comp.out b/Test/baseResults/spv.specConstant.int16.comp.out index 17f385be..9ff1e87e 100644 --- a/Test/baseResults/spv.specConstant.int16.comp.out +++ b/Test/baseResults/spv.specConstant.int16.comp.out @@ -20,13 +20,13 @@ spv.specConstant.int16.comp Name 9 "sb_out" Name 12 "sc0" Name 16 "sc1" + Decorate 7(Output) BufferBlock MemberDecorate 7(Output) 0 NonReadable MemberDecorate 7(Output) 0 Offset 0 MemberDecorate 7(Output) 1 NonReadable MemberDecorate 7(Output) 1 Offset 2 - Decorate 7(Output) BufferBlock - Decorate 9(sb_out) DescriptorSet 0 Decorate 9(sb_out) Binding 0 + Decorate 9(sb_out) DescriptorSet 0 Decorate 12(sc0) SpecId 1 Decorate 16(sc1) SpecId 2 2: TypeVoid diff --git a/Test/baseResults/spv.specConstant.int8.comp.out b/Test/baseResults/spv.specConstant.int8.comp.out index c906d711..f9ed9db4 100644 --- a/Test/baseResults/spv.specConstant.int8.comp.out +++ b/Test/baseResults/spv.specConstant.int8.comp.out @@ -20,13 +20,13 @@ spv.specConstant.int8.comp Name 9 "sb_out" Name 12 "sc0" Name 16 "sc1" + Decorate 7(Output) BufferBlock MemberDecorate 7(Output) 0 NonReadable MemberDecorate 7(Output) 0 Offset 0 MemberDecorate 7(Output) 1 NonReadable MemberDecorate 7(Output) 1 Offset 1 - Decorate 7(Output) BufferBlock - Decorate 9(sb_out) DescriptorSet 0 Decorate 9(sb_out) Binding 0 + Decorate 9(sb_out) DescriptorSet 0 Decorate 12(sc0) SpecId 1 Decorate 16(sc1) SpecId 2 2: TypeVoid diff --git a/Test/baseResults/spv.specConstantOp.float16.comp.out b/Test/baseResults/spv.specConstantOp.float16.comp.out index 97631f14..565e62cb 100644 --- a/Test/baseResults/spv.specConstantOp.float16.comp.out +++ b/Test/baseResults/spv.specConstantOp.float16.comp.out @@ -19,12 +19,12 @@ spv.specConstantOp.float16.comp Name 10 "" Name 14 "c" Decorate 7 ArrayStride 2 + Decorate 8(S) BufferBlock MemberDecorate 8(S) 0 Restrict MemberDecorate 8(S) 0 NonReadable MemberDecorate 8(S) 0 Offset 0 - Decorate 8(S) BufferBlock - Decorate 10 DescriptorSet 0 Decorate 10 Binding 0 + Decorate 10 DescriptorSet 0 Decorate 14(c) SpecId 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.specConstantOp.int16.comp.out b/Test/baseResults/spv.specConstantOp.int16.comp.out index 13049bed..1d980690 100644 --- a/Test/baseResults/spv.specConstantOp.int16.comp.out +++ b/Test/baseResults/spv.specConstantOp.int16.comp.out @@ -19,12 +19,12 @@ spv.specConstantOp.int16.comp Name 10 "" Name 13 "c" Decorate 7 ArrayStride 2 + Decorate 8(S) BufferBlock MemberDecorate 8(S) 0 Restrict MemberDecorate 8(S) 0 NonReadable MemberDecorate 8(S) 0 Offset 0 - Decorate 8(S) BufferBlock - Decorate 10 DescriptorSet 0 Decorate 10 Binding 0 + Decorate 10 DescriptorSet 0 Decorate 13(c) SpecId 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.specConstantOp.int8.comp.out b/Test/baseResults/spv.specConstantOp.int8.comp.out index 1cf53014..f621ba93 100644 --- a/Test/baseResults/spv.specConstantOp.int8.comp.out +++ b/Test/baseResults/spv.specConstantOp.int8.comp.out @@ -19,12 +19,12 @@ spv.specConstantOp.int8.comp Name 10 "" Name 13 "c" Decorate 7 ArrayStride 1 + Decorate 8(S) BufferBlock MemberDecorate 8(S) 0 Restrict MemberDecorate 8(S) 0 NonReadable MemberDecorate 8(S) 0 Offset 0 - Decorate 8(S) BufferBlock - Decorate 10 DescriptorSet 0 Decorate 10 Binding 0 + Decorate 10 DescriptorSet 0 Decorate 13(c) SpecId 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.specTexture.frag.out b/Test/baseResults/spv.specTexture.frag.out index b599e356..a5875d07 100644 --- a/Test/baseResults/spv.specTexture.frag.out +++ b/Test/baseResults/spv.specTexture.frag.out @@ -15,8 +15,8 @@ spv.specTexture.frag Name 19 "offs" Decorate 9(color_out) Location 0 Decorate 13(tex) Location 0 - Decorate 13(tex) DescriptorSet 0 Decorate 13(tex) Binding 0 + Decorate 13(tex) DescriptorSet 0 Decorate 19(offs) SpecId 1 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.ssbo.autoassign.frag.out b/Test/baseResults/spv.ssbo.autoassign.frag.out index 35381055..fb33e70b 100644 --- a/Test/baseResults/spv.ssbo.autoassign.frag.out +++ b/Test/baseResults/spv.ssbo.autoassign.frag.out @@ -33,21 +33,21 @@ spv.ssbo.autoassign.frag MemberDecorate 14(BufType) 0 Offset 0 MemberDecorate 14(BufType) 1 Offset 16 Decorate 15 ArrayStride 32 + Decorate 16(SB0) BufferBlock MemberDecorate 16(SB0) 0 NonWritable MemberDecorate 16(SB0) 0 Offset 0 - Decorate 16(SB0) BufferBlock - Decorate 18(SB0) DescriptorSet 0 Decorate 18(SB0) Binding 30 + Decorate 18(SB0) DescriptorSet 0 + Decorate 26(TestCB) Block MemberDecorate 26(TestCB) 0 Offset 0 MemberDecorate 26(TestCB) 1 Offset 4 - Decorate 26(TestCB) Block - Decorate 28 DescriptorSet 0 Decorate 28 Binding 15 + Decorate 28 DescriptorSet 0 Decorate 56 ArrayStride 32 - MemberDecorate 57(SB1) 0 Offset 0 Decorate 57(SB1) BufferBlock - Decorate 59(SB1) DescriptorSet 0 + MemberDecorate 57(SB1) 0 Offset 0 Decorate 59(SB1) Binding 31 + Decorate 59(SB1) DescriptorSet 0 Decorate 92(pos) Location 0 Decorate 95(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.ssboAlias.frag.out b/Test/baseResults/spv.ssboAlias.frag.out index 0a5a12b9..73842e8f 100644 --- a/Test/baseResults/spv.ssboAlias.frag.out +++ b/Test/baseResults/spv.ssboAlias.frag.out @@ -22,21 +22,21 @@ spv.ssboAlias.frag Name 41 "@entryPointOutput" Name 43 "Buf3" Decorate 12 ArrayStride 4 - MemberDecorate 13(Buf1) 0 Offset 0 Decorate 13(Buf1) BufferBlock - Decorate 15(Buf1) DescriptorSet 0 + MemberDecorate 13(Buf1) 0 Offset 0 Decorate 15(Buf1) Binding 84 - MemberDecorate 18(Buf1@count) 0 Offset 0 + Decorate 15(Buf1) DescriptorSet 0 Decorate 18(Buf1@count) BufferBlock - Decorate 20(Buf1@count) DescriptorSet 0 + MemberDecorate 18(Buf1@count) 0 Offset 0 Decorate 20(Buf1@count) Binding 83 - Decorate 28(Buf2) DescriptorSet 0 + Decorate 20(Buf1@count) DescriptorSet 0 Decorate 28(Buf2) Binding 85 - Decorate 29(Buf2@count) DescriptorSet 0 + Decorate 28(Buf2) DescriptorSet 0 Decorate 29(Buf2@count) Binding 86 + Decorate 29(Buf2@count) DescriptorSet 0 Decorate 41(@entryPointOutput) Location 0 - Decorate 43(Buf3) DescriptorSet 0 Decorate 43(Buf3) Binding 84 + Decorate 43(Buf3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.stereoViewRendering.tesc.out b/Test/baseResults/spv.stereoViewRendering.tesc.out index 100b5534..a0a9cb1b 100644 --- a/Test/baseResults/spv.stereoViewRendering.tesc.out +++ b/Test/baseResults/spv.stereoViewRendering.tesc.out @@ -31,16 +31,16 @@ spv.stereoViewRendering.tesc MemberName 27(gl_PerVertex) 4 "gl_SecondaryPositionNV" Name 31 "gl_in" Name 41 "gl_Layer" + Decorate 12(gl_PerVertex) Block MemberDecorate 12(gl_PerVertex) 0 BuiltIn SecondaryPositionNV MemberDecorate 12(gl_PerVertex) 1 BuiltIn SecondaryViewportMaskNV - Decorate 12(gl_PerVertex) Block Decorate 18(gl_InvocationID) BuiltIn InvocationId + Decorate 27(gl_PerVertex) Block MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance MemberDecorate 27(gl_PerVertex) 4 BuiltIn SecondaryPositionNV - Decorate 27(gl_PerVertex) Block Decorate 41(gl_Layer) BuiltIn Layer Decorate 41(gl_Layer) ViewportRelativeNV Decorate 41(gl_Layer) SecondaryViewportRelativeNV 1 diff --git a/Test/baseResults/spv.stereoViewRendering.vert.out b/Test/baseResults/spv.stereoViewRendering.vert.out index 530d75e1..491c377d 100644 --- a/Test/baseResults/spv.stereoViewRendering.vert.out +++ b/Test/baseResults/spv.stereoViewRendering.vert.out @@ -28,11 +28,11 @@ spv.stereoViewRendering.vert Name 26 "gl_Layer" Decorate 11(gl_SecondaryViewportMaskNV) BuiltIn SecondaryViewportMaskNV Decorate 19(gl_SecondaryPositionNV) BuiltIn SecondaryPositionNV + Decorate 21(gl_PerVertex) Block MemberDecorate 21(gl_PerVertex) 0 BuiltIn Position MemberDecorate 21(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 21(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 21(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 21(gl_PerVertex) Block Decorate 26(gl_Layer) BuiltIn Layer Decorate 26(gl_Layer) ViewportRelativeNV Decorate 26(gl_Layer) SecondaryViewportRelativeNV 2 diff --git a/Test/baseResults/spv.storageBuffer.vert.out b/Test/baseResults/spv.storageBuffer.vert.out index fdbb4db3..5081998d 100644 --- a/Test/baseResults/spv.storageBuffer.vert.out +++ b/Test/baseResults/spv.storageBuffer.vert.out @@ -22,19 +22,19 @@ spv.storageBuffer.vert Name 22 "bb" MemberName 22(bb) 0 "b" Name 24 "bbi" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block - MemberDecorate 16(ub) 0 Offset 0 Decorate 16(ub) Block - Decorate 18(ubi) DescriptorSet 0 + MemberDecorate 16(ub) 0 Offset 0 Decorate 18(ubi) Binding 0 - MemberDecorate 22(bb) 0 Offset 0 + Decorate 18(ubi) DescriptorSet 0 Decorate 22(bb) Block - Decorate 24(bbi) DescriptorSet 0 + MemberDecorate 22(bb) 0 Offset 0 Decorate 24(bbi) Binding 1 + Decorate 24(bbi) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.structAssignment.frag.out b/Test/baseResults/spv.structAssignment.frag.out index a0cfb542..e04b5582 100644 --- a/Test/baseResults/spv.structAssignment.frag.out +++ b/Test/baseResults/spv.structAssignment.frag.out @@ -37,8 +37,8 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to MemberDecorate 10(lunarStruct3) 1 RelaxedPrecision Decorate 16 RelaxedPrecision Decorate 31(gl_FragColor) Location 0 - Decorate 40(samp2D) DescriptorSet 0 Decorate 40(samp2D) Binding 0 + Decorate 40(samp2D) DescriptorSet 0 Decorate 44(coord) RelaxedPrecision Decorate 44(coord) Location 0 Decorate 45 RelaxedPrecision diff --git a/Test/baseResults/spv.structCopy.comp.out b/Test/baseResults/spv.structCopy.comp.out index 38c7c092..f94e5671 100644 --- a/Test/baseResults/spv.structCopy.comp.out +++ b/Test/baseResults/spv.structCopy.comp.out @@ -36,17 +36,17 @@ spv.structCopy.comp MemberDecorate 32(MyStruct) 1 Offset 4 MemberDecorate 32(MyStruct) 2 Offset 8 Decorate 33 ArrayStride 12 + Decorate 34(MyStructs) BufferBlock MemberDecorate 34(MyStructs) 0 Offset 0 MemberDecorate 34(MyStructs) 1 Offset 4 - Decorate 34(MyStructs) BufferBlock - Decorate 36(my_structs) DescriptorSet 0 Decorate 36(my_structs) Binding 0 + Decorate 36(my_structs) DescriptorSet 0 + Decorate 65(Output) BufferBlock MemberDecorate 65(Output) 0 Offset 0 MemberDecorate 65(Output) 1 Offset 4 MemberDecorate 65(Output) 2 Offset 8 - Decorate 65(Output) BufferBlock - Decorate 67(o) DescriptorSet 0 Decorate 67(o) Binding 1 + Decorate 67(o) DescriptorSet 0 Decorate 80 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.structDeref.frag.out b/Test/baseResults/spv.structDeref.frag.out index a528a599..b7884308 100644 --- a/Test/baseResults/spv.structDeref.frag.out +++ b/Test/baseResults/spv.structDeref.frag.out @@ -42,8 +42,8 @@ spv.structDeref.frag Name 122 "foo2" Decorate 61(coord) Location 0 Decorate 99(gl_FragColor) Location 0 - Decorate 116(samp2D) DescriptorSet 0 Decorate 116(samp2D) Binding 0 + Decorate 116(samp2D) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.structure.frag.out b/Test/baseResults/spv.structure.frag.out index 6b39c297..3b43ba57 100644 --- a/Test/baseResults/spv.structure.frag.out +++ b/Test/baseResults/spv.structure.frag.out @@ -25,8 +25,8 @@ spv.structure.frag Name 54 "coord" Name 59 "foo" Decorate 45(gl_FragColor) Location 0 - Decorate 50(samp2D) DescriptorSet 0 Decorate 50(samp2D) Binding 0 + Decorate 50(samp2D) DescriptorSet 0 Decorate 54(coord) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroup.frag.out b/Test/baseResults/spv.subgroup.frag.out index a882a22e..9c6bfbfc 100644 --- a/Test/baseResults/spv.subgroup.frag.out +++ b/Test/baseResults/spv.subgroup.frag.out @@ -17,12 +17,12 @@ spv.subgroup.frag Name 13 "gl_SubgroupInvocationID" Decorate 9(data) Location 0 Decorate 11(gl_SubgroupSize) RelaxedPrecision - Decorate 11(gl_SubgroupSize) Flat Decorate 11(gl_SubgroupSize) BuiltIn SubgroupSize + Decorate 11(gl_SubgroupSize) Flat Decorate 12 RelaxedPrecision Decorate 13(gl_SubgroupInvocationID) RelaxedPrecision - Decorate 13(gl_SubgroupInvocationID) Flat Decorate 13(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId + Decorate 13(gl_SubgroupInvocationID) Flat Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision 2: TypeVoid diff --git a/Test/baseResults/spv.subgroup.geom.out b/Test/baseResults/spv.subgroup.geom.out index 33405950..905e874d 100644 --- a/Test/baseResults/spv.subgroup.geom.out +++ b/Test/baseResults/spv.subgroup.geom.out @@ -22,10 +22,10 @@ spv.subgroup.geom Name 18 "gl_SubgroupSize" Name 20 "gl_SubgroupInvocationID" Decorate 8 ArrayStride 16 - MemberDecorate 9(Output) 0 Offset 0 Decorate 9(Output) Block - Decorate 11 DescriptorSet 0 + MemberDecorate 9(Output) 0 Offset 0 Decorate 11 Binding 0 + Decorate 11 DescriptorSet 0 Decorate 15(gl_PrimitiveIDIn) BuiltIn PrimitiveId Decorate 18(gl_SubgroupSize) RelaxedPrecision Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize diff --git a/Test/baseResults/spv.subgroup.tesc.out b/Test/baseResults/spv.subgroup.tesc.out index aaac4b80..23e0e3e1 100644 --- a/Test/baseResults/spv.subgroup.tesc.out +++ b/Test/baseResults/spv.subgroup.tesc.out @@ -19,10 +19,10 @@ spv.subgroup.tesc Name 18 "gl_SubgroupSize" Name 20 "gl_SubgroupInvocationID" Decorate 8 ArrayStride 16 - MemberDecorate 9(Output) 0 Offset 0 Decorate 9(Output) Block - Decorate 11 DescriptorSet 0 + MemberDecorate 9(Output) 0 Offset 0 Decorate 11 Binding 0 + Decorate 11 DescriptorSet 0 Decorate 15(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 18(gl_SubgroupSize) RelaxedPrecision Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize diff --git a/Test/baseResults/spv.subgroup.tese.out b/Test/baseResults/spv.subgroup.tese.out index f989981c..c0ef120e 100644 --- a/Test/baseResults/spv.subgroup.tese.out +++ b/Test/baseResults/spv.subgroup.tese.out @@ -21,10 +21,10 @@ spv.subgroup.tese Name 18 "gl_SubgroupSize" Name 20 "gl_SubgroupInvocationID" Decorate 8 ArrayStride 16 - MemberDecorate 9(Output) 0 Offset 0 Decorate 9(Output) Block - Decorate 11 DescriptorSet 0 + MemberDecorate 9(Output) 0 Offset 0 Decorate 11 Binding 0 + Decorate 11 DescriptorSet 0 Decorate 15(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 18(gl_SubgroupSize) RelaxedPrecision Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize diff --git a/Test/baseResults/spv.subgroup.vert.out b/Test/baseResults/spv.subgroup.vert.out index 6add1c7c..3537f58f 100644 --- a/Test/baseResults/spv.subgroup.vert.out +++ b/Test/baseResults/spv.subgroup.vert.out @@ -18,10 +18,10 @@ spv.subgroup.vert Name 18 "gl_SubgroupSize" Name 20 "gl_SubgroupInvocationID" Decorate 8 ArrayStride 16 - MemberDecorate 9(Output) 0 Offset 0 Decorate 9(Output) Block - Decorate 11 DescriptorSet 0 + MemberDecorate 9(Output) 0 Offset 0 Decorate 11 Binding 0 + Decorate 11 DescriptorSet 0 Decorate 15(gl_VertexIndex) BuiltIn VertexIndex Decorate 18(gl_SubgroupSize) RelaxedPrecision Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize diff --git a/Test/baseResults/spv.subgroupArithmetic.comp.out b/Test/baseResults/spv.subgroupArithmetic.comp.out index bd71fc7c..c3b467b0 100644 --- a/Test/baseResults/spv.subgroupArithmetic.comp.out +++ b/Test/baseResults/spv.subgroupArithmetic.comp.out @@ -32,13 +32,13 @@ spv.subgroupArithmetic.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 24(Buffers) Block MemberDecorate 24(Buffers) 0 Offset 0 MemberDecorate 24(Buffers) 1 Offset 16 MemberDecorate 24(Buffers) 2 Offset 32 MemberDecorate 24(Buffers) 3 Offset 64 - Decorate 24(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 2385 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupBallot.comp.out b/Test/baseResults/spv.subgroupBallot.comp.out index 51cb7ac1..834331d5 100644 --- a/Test/baseResults/spv.subgroupBallot.comp.out +++ b/Test/baseResults/spv.subgroupBallot.comp.out @@ -44,13 +44,13 @@ spv.subgroupBallot.comp Decorate 26(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR Decorate 29(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR Decorate 32(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR + Decorate 46(Buffers) Block MemberDecorate 46(Buffers) 0 Offset 0 MemberDecorate 46(Buffers) 1 Offset 16 MemberDecorate 46(Buffers) 2 Offset 32 MemberDecorate 46(Buffers) 3 Offset 64 - Decorate 46(Buffers) Block - Decorate 49(data) DescriptorSet 0 Decorate 49(data) Binding 0 + Decorate 49(data) DescriptorSet 0 Decorate 436 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupBasic.comp.out b/Test/baseResults/spv.subgroupBasic.comp.out index 51eae759..71350127 100644 --- a/Test/baseResults/spv.subgroupBasic.comp.out +++ b/Test/baseResults/spv.subgroupBasic.comp.out @@ -20,10 +20,10 @@ spv.subgroupBasic.comp Name 22 "gl_NumSubgroups" Name 25 "gl_SubgroupID" Decorate 7 ArrayStride 4 - MemberDecorate 8(Buffer) 0 Offset 0 Decorate 8(Buffer) Block - Decorate 10(data) DescriptorSet 0 + MemberDecorate 8(Buffer) 0 Offset 0 Decorate 10(data) Binding 0 + Decorate 10(data) DescriptorSet 0 Decorate 14(gl_SubgroupSize) RelaxedPrecision Decorate 14(gl_SubgroupSize) BuiltIn SubgroupSize Decorate 15 RelaxedPrecision diff --git a/Test/baseResults/spv.subgroupClustered.comp.out b/Test/baseResults/spv.subgroupClustered.comp.out index 2529eeff..b86570a2 100644 --- a/Test/baseResults/spv.subgroupClustered.comp.out +++ b/Test/baseResults/spv.subgroupClustered.comp.out @@ -32,13 +32,13 @@ spv.subgroupClustered.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 24(Buffers) Block MemberDecorate 24(Buffers) 0 Offset 0 MemberDecorate 24(Buffers) 1 Offset 16 MemberDecorate 24(Buffers) 2 Offset 32 MemberDecorate 24(Buffers) 3 Offset 64 - Decorate 24(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 837 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out b/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out index 51c2a5e2..92c0029c 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out @@ -49,6 +49,7 @@ spv.subgroupExtendedTypesArithmetic.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -56,9 +57,8 @@ spv.subgroupExtendedTypesArithmetic.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 34(data) DescriptorSet 0 Decorate 34(data) Binding 0 + Decorate 34(data) DescriptorSet 0 Decorate 4217 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out b/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out index 0a706a50..880df85c 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out @@ -49,6 +49,7 @@ spv.subgroupExtendedTypesBallot.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -56,9 +57,8 @@ spv.subgroupExtendedTypesBallot.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 34(data) DescriptorSet 0 Decorate 34(data) Binding 0 + Decorate 34(data) DescriptorSet 0 Decorate 497 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out b/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out index f876c5a5..849cd676 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out @@ -49,6 +49,7 @@ spv.subgroupExtendedTypesClustered.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -56,9 +57,8 @@ spv.subgroupExtendedTypesClustered.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 34(data) DescriptorSet 0 Decorate 34(data) Binding 0 + Decorate 34(data) DescriptorSet 0 Decorate 1457 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out b/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out index f2cb8cb1..8381c49d 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out @@ -51,6 +51,7 @@ spv.subgroupExtendedTypesPartitioned.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 34(Buffers) Block MemberDecorate 34(Buffers) 0 Offset 0 MemberDecorate 34(Buffers) 1 Offset 4 MemberDecorate 34(Buffers) 2 Offset 8 @@ -58,9 +59,8 @@ spv.subgroupExtendedTypesPartitioned.comp MemberDecorate 34(Buffers) 4 Offset 32 MemberDecorate 34(Buffers) 5 Offset 64 MemberDecorate 34(Buffers) 6 Offset 96 - Decorate 34(Buffers) Block - Decorate 37(data) DescriptorSet 0 Decorate 37(data) Binding 0 + Decorate 37(data) DescriptorSet 0 Decorate 1742 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out b/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out index 8aa7c120..a0f8564d 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out @@ -49,6 +49,7 @@ spv.subgroupExtendedTypesQuad.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -56,9 +57,8 @@ spv.subgroupExtendedTypesQuad.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 34(data) DescriptorSet 0 Decorate 34(data) Binding 0 + Decorate 34(data) DescriptorSet 0 Decorate 917 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesRotate.comp.out b/Test/baseResults/spv.subgroupExtendedTypesRotate.comp.out index 5900db4f..b806ca94 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesRotate.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesRotate.comp.out @@ -41,11 +41,12 @@ spv.subgroupExtendedTypesRotate.comp MemberName 31(Buffers) 5 "u64" MemberName 31(Buffers) 6 "f16" Name 35 "data" + Decorate 9(roblock) Block MemberDecorate 9(roblock) 0 NonWritable MemberDecorate 9(roblock) 0 Offset 0 - Decorate 9(roblock) Block - Decorate 11(ro) DescriptorSet 0 Decorate 11(ro) Binding 1 + Decorate 11(ro) DescriptorSet 0 + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -53,9 +54,8 @@ spv.subgroupExtendedTypesRotate.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 35(data) DescriptorSet 0 Decorate 35(data) Binding 0 + Decorate 35(data) DescriptorSet 0 Decorate 552 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out b/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out index 0051bd7d..354e344c 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out @@ -49,6 +49,7 @@ spv.subgroupExtendedTypesShuffle.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -56,9 +57,8 @@ spv.subgroupExtendedTypesShuffle.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 34(data) DescriptorSet 0 Decorate 34(data) Binding 0 + Decorate 34(data) DescriptorSet 0 Decorate 553 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out b/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out index 46244baa..2ce94812 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out @@ -49,6 +49,7 @@ spv.subgroupExtendedTypesShuffleRelative.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -56,9 +57,8 @@ spv.subgroupExtendedTypesShuffleRelative.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 34(data) DescriptorSet 0 Decorate 34(data) Binding 0 + Decorate 34(data) DescriptorSet 0 Decorate 553 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesVote.comp.out b/Test/baseResults/spv.subgroupExtendedTypesVote.comp.out index a53847ca..f4b35add 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesVote.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesVote.comp.out @@ -50,6 +50,7 @@ spv.subgroupExtendedTypesVote.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 32(Buffers) Block MemberDecorate 32(Buffers) 0 Offset 0 MemberDecorate 32(Buffers) 1 Offset 4 MemberDecorate 32(Buffers) 2 Offset 8 @@ -58,9 +59,8 @@ spv.subgroupExtendedTypesVote.comp MemberDecorate 32(Buffers) 5 Offset 64 MemberDecorate 32(Buffers) 6 Offset 96 MemberDecorate 32(Buffers) 7 Offset 104 - Decorate 32(Buffers) Block - Decorate 35(data) DescriptorSet 0 Decorate 35(data) Binding 0 + Decorate 35(data) DescriptorSet 0 Decorate 276 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupPartitioned.comp.out b/Test/baseResults/spv.subgroupPartitioned.comp.out index 922d393e..4c129dbb 100644 --- a/Test/baseResults/spv.subgroupPartitioned.comp.out +++ b/Test/baseResults/spv.subgroupPartitioned.comp.out @@ -34,13 +34,13 @@ spv.subgroupPartitioned.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 28(Buffers) Block MemberDecorate 28(Buffers) 0 Offset 0 MemberDecorate 28(Buffers) 1 Offset 16 MemberDecorate 28(Buffers) 2 Offset 32 MemberDecorate 28(Buffers) 3 Offset 64 - Decorate 28(Buffers) Block - Decorate 31(data) DescriptorSet 0 Decorate 31(data) Binding 0 + Decorate 31(data) DescriptorSet 0 Decorate 2806 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupQuad.comp.out b/Test/baseResults/spv.subgroupQuad.comp.out index b418148c..cc5a1e38 100644 --- a/Test/baseResults/spv.subgroupQuad.comp.out +++ b/Test/baseResults/spv.subgroupQuad.comp.out @@ -32,13 +32,13 @@ spv.subgroupQuad.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 24(Buffers) Block MemberDecorate 24(Buffers) 0 Offset 0 MemberDecorate 24(Buffers) 1 Offset 16 MemberDecorate 24(Buffers) 2 Offset 32 MemberDecorate 24(Buffers) 3 Offset 64 - Decorate 24(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 695 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupRotate.comp.out b/Test/baseResults/spv.subgroupRotate.comp.out index 9c87ba63..d988636a 100644 --- a/Test/baseResults/spv.subgroupRotate.comp.out +++ b/Test/baseResults/spv.subgroupRotate.comp.out @@ -24,18 +24,18 @@ spv.subgroupRotate.comp MemberName 23(Buffers) 2 "u4" MemberName 23(Buffers) 3 "d4" Name 27 "data" + Decorate 9(roblock) Block MemberDecorate 9(roblock) 0 NonWritable MemberDecorate 9(roblock) 0 Offset 0 - Decorate 9(roblock) Block - Decorate 11(ro) DescriptorSet 0 Decorate 11(ro) Binding 1 + Decorate 11(ro) DescriptorSet 0 + Decorate 23(Buffers) Block MemberDecorate 23(Buffers) 0 Offset 0 MemberDecorate 23(Buffers) 1 Offset 16 MemberDecorate 23(Buffers) 2 Offset 32 MemberDecorate 23(Buffers) 3 Offset 64 - Decorate 23(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 417 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupShuffle.comp.out b/Test/baseResults/spv.subgroupShuffle.comp.out index d54e8ae9..d87039b2 100644 --- a/Test/baseResults/spv.subgroupShuffle.comp.out +++ b/Test/baseResults/spv.subgroupShuffle.comp.out @@ -32,13 +32,13 @@ spv.subgroupShuffle.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 24(Buffers) Block MemberDecorate 24(Buffers) 0 Offset 0 MemberDecorate 24(Buffers) 1 Offset 16 MemberDecorate 24(Buffers) 2 Offset 32 MemberDecorate 24(Buffers) 3 Offset 64 - Decorate 24(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 419 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupShuffleRelative.comp.out b/Test/baseResults/spv.subgroupShuffleRelative.comp.out index 6bae808f..b0e8a0d4 100644 --- a/Test/baseResults/spv.subgroupShuffleRelative.comp.out +++ b/Test/baseResults/spv.subgroupShuffleRelative.comp.out @@ -32,13 +32,13 @@ spv.subgroupShuffleRelative.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 24(Buffers) Block MemberDecorate 24(Buffers) 0 Offset 0 MemberDecorate 24(Buffers) 1 Offset 16 MemberDecorate 24(Buffers) 2 Offset 32 MemberDecorate 24(Buffers) 3 Offset 64 - Decorate 24(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 419 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupSizeARB.frag.out b/Test/baseResults/spv.subgroupSizeARB.frag.out index 5eeb0c09..f1befa4d 100644 --- a/Test/baseResults/spv.subgroupSizeARB.frag.out +++ b/Test/baseResults/spv.subgroupSizeARB.frag.out @@ -17,8 +17,8 @@ spv.subgroupSizeARB.frag Name 8 "result" Name 10 "gl_SubGroupSizeARB" Decorate 8(result) Location 0 - Decorate 10(gl_SubGroupSizeARB) Flat Decorate 10(gl_SubGroupSizeARB) BuiltIn SubgroupSize + Decorate 10(gl_SubGroupSizeARB) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.subgroupVote.comp.out b/Test/baseResults/spv.subgroupVote.comp.out index fa0a01fb..f49dcbe8 100644 --- a/Test/baseResults/spv.subgroupVote.comp.out +++ b/Test/baseResults/spv.subgroupVote.comp.out @@ -33,14 +33,14 @@ spv.subgroupVote.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 24(Buffers) Block MemberDecorate 24(Buffers) 0 Offset 0 MemberDecorate 24(Buffers) 1 Offset 16 MemberDecorate 24(Buffers) 2 Offset 32 MemberDecorate 24(Buffers) 3 Offset 64 MemberDecorate 24(Buffers) 4 Offset 96 - Decorate 24(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 215 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subpass.frag.out b/Test/baseResults/spv.subpass.frag.out index bf49b08d..27b4d6b5 100644 --- a/Test/baseResults/spv.subpass.frag.out +++ b/Test/baseResults/spv.subpass.frag.out @@ -24,24 +24,24 @@ spv.subpass.frag Name 61 "usubMS" Decorate 15(icolor) Location 1 Decorate 27(color) Location 0 - Decorate 30(sub) DescriptorSet 0 Decorate 30(sub) Binding 0 + Decorate 30(sub) DescriptorSet 0 Decorate 30(sub) InputAttachmentIndex 1 - Decorate 35(subMS) DescriptorSet 0 Decorate 35(subMS) Binding 1 + Decorate 35(subMS) DescriptorSet 0 Decorate 35(subMS) InputAttachmentIndex 2 - Decorate 42(isub) DescriptorSet 0 Decorate 42(isub) Binding 2 + Decorate 42(isub) DescriptorSet 0 Decorate 42(isub) InputAttachmentIndex 3 - Decorate 45(isubMS) DescriptorSet 0 Decorate 45(isubMS) Binding 3 + Decorate 45(isubMS) DescriptorSet 0 Decorate 45(isubMS) InputAttachmentIndex 4 Decorate 53(ucolor) Location 2 - Decorate 56(usub) DescriptorSet 0 Decorate 56(usub) Binding 4 + Decorate 56(usub) DescriptorSet 0 Decorate 56(usub) InputAttachmentIndex 5 - Decorate 61(usubMS) DescriptorSet 0 Decorate 61(usubMS) Binding 5 + Decorate 61(usubMS) DescriptorSet 0 Decorate 61(usubMS) InputAttachmentIndex 6 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.switch.frag.out b/Test/baseResults/spv.switch.frag.out index 4e7db4df..bacf87ec 100644 --- a/Test/baseResults/spv.switch.frag.out +++ b/Test/baseResults/spv.switch.frag.out @@ -37,14 +37,14 @@ WARNING: 0:139: 'switch' : last case/default label not followed by statements Name 246 "param" Name 248 "param" Name 250 "param" - Decorate 15(foo1(vf4;vf4;i1;) RelaxedPrecision Decorate 12(v1) RelaxedPrecision Decorate 13(v2) RelaxedPrecision Decorate 14(i1) RelaxedPrecision - Decorate 20(foo2(vf4;vf4;i1;) RelaxedPrecision + Decorate 15(foo1(vf4;vf4;i1;) RelaxedPrecision Decorate 17(v1) RelaxedPrecision Decorate 18(v2) RelaxedPrecision Decorate 19(i1) RelaxedPrecision + Decorate 20(foo2(vf4;vf4;i1;) RelaxedPrecision Decorate 22 RelaxedPrecision Decorate 27 RelaxedPrecision Decorate 29 RelaxedPrecision diff --git a/Test/baseResults/spv.test.frag.out b/Test/baseResults/spv.test.frag.out index c5d63845..e883c032 100644 --- a/Test/baseResults/spv.test.frag.out +++ b/Test/baseResults/spv.test.frag.out @@ -21,12 +21,12 @@ spv.test.frag Name 43 "gl_FragColor" Name 46 "u" Name 49 "blend" - Decorate 16(texSampler2D) DescriptorSet 0 Decorate 16(texSampler2D) Binding 0 + Decorate 16(texSampler2D) DescriptorSet 0 Decorate 20(t) Location 3 Decorate 22(scale) Location 1 - Decorate 33(texSampler3D) DescriptorSet 0 Decorate 33(texSampler3D) Binding 1 + Decorate 33(texSampler3D) DescriptorSet 0 Decorate 37(coords) Location 4 Decorate 43(gl_FragColor) Location 0 Decorate 46(u) Location 2 diff --git a/Test/baseResults/spv.texture.frag.out b/Test/baseResults/spv.texture.frag.out index dc1970a9..4c0f5f94 100644 --- a/Test/baseResults/spv.texture.frag.out +++ b/Test/baseResults/spv.texture.frag.out @@ -39,19 +39,19 @@ WARNING: 0:12: varying deprecated in version 130; may be removed in future relea Name 297 "blend" Name 303 "scale" Name 304 "t" - Decorate 32(texSampler1D) DescriptorSet 0 Decorate 32(texSampler1D) Binding 0 + Decorate 32(texSampler1D) DescriptorSet 0 Decorate 47(coords2D) Location 4 - Decorate 76(texSampler2D) DescriptorSet 0 Decorate 76(texSampler2D) Binding 1 - Decorate 104(texSampler3D) DescriptorSet 0 + Decorate 76(texSampler2D) DescriptorSet 0 Decorate 104(texSampler3D) Binding 2 - Decorate 130(texSamplerCube) DescriptorSet 0 + Decorate 104(texSampler3D) DescriptorSet 0 Decorate 130(texSamplerCube) Binding 3 - Decorate 145(shadowSampler1D) DescriptorSet 0 + Decorate 130(texSamplerCube) DescriptorSet 0 Decorate 145(shadowSampler1D) Binding 4 - Decorate 164(shadowSampler2D) DescriptorSet 0 + Decorate 145(shadowSampler1D) DescriptorSet 0 Decorate 164(shadowSampler2D) Binding 5 + Decorate 164(shadowSampler2D) DescriptorSet 0 Decorate 291(gl_FragColor) Location 0 Decorate 294(u) Location 2 Decorate 297(blend) Location 0 diff --git a/Test/baseResults/spv.texture.sampler.transform.frag.out b/Test/baseResults/spv.texture.sampler.transform.frag.out index 4e9534e7..b2fe8230 100644 --- a/Test/baseResults/spv.texture.sampler.transform.frag.out +++ b/Test/baseResults/spv.texture.sampler.transform.frag.out @@ -14,8 +14,8 @@ spv.texture.sampler.transform.frag Name 13 "tex" Name 17 "coord" Decorate 9(color) Location 0 - Decorate 13(tex) DescriptorSet 0 Decorate 13(tex) Binding 0 + Decorate 13(tex) DescriptorSet 0 Decorate 17(coord) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.texture.vert.out b/Test/baseResults/spv.texture.vert.out index 35053f38..701cacda 100644 --- a/Test/baseResults/spv.texture.vert.out +++ b/Test/baseResults/spv.texture.vert.out @@ -23,19 +23,19 @@ spv.texture.vert Name 106 "shadowSampler1D" Name 118 "shadowSampler2D" Name 148 "gl_Position" - Decorate 29(texSampler1D) DescriptorSet 0 Decorate 29(texSampler1D) Binding 0 + Decorate 29(texSampler1D) DescriptorSet 0 Decorate 39(coords2D) Location 0 - Decorate 56(texSampler2D) DescriptorSet 0 Decorate 56(texSampler2D) Binding 1 - Decorate 80(texSampler3D) DescriptorSet 0 + Decorate 56(texSampler2D) DescriptorSet 0 Decorate 80(texSampler3D) Binding 2 - Decorate 96(texSamplerCube) DescriptorSet 0 + Decorate 80(texSampler3D) DescriptorSet 0 Decorate 96(texSamplerCube) Binding 3 - Decorate 106(shadowSampler1D) DescriptorSet 0 + Decorate 96(texSamplerCube) DescriptorSet 0 Decorate 106(shadowSampler1D) Binding 4 - Decorate 118(shadowSampler2D) DescriptorSet 0 + Decorate 106(shadowSampler1D) DescriptorSet 0 Decorate 118(shadowSampler2D) Binding 5 + Decorate 118(shadowSampler2D) DescriptorSet 0 Decorate 148(gl_Position) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.textureBuffer.vert.out b/Test/baseResults/spv.textureBuffer.vert.out index f5b271f6..6cd40d2a 100644 --- a/Test/baseResults/spv.textureBuffer.vert.out +++ b/Test/baseResults/spv.textureBuffer.vert.out @@ -15,16 +15,16 @@ spv.textureBuffer.vert Name 23 "sBuf" Name 32 "utBuf" Name 38 "itBuf" - Decorate 9(tBuf) DescriptorSet 0 Decorate 9(tBuf) Binding 0 - Decorate 13(s) DescriptorSet 0 + Decorate 9(tBuf) DescriptorSet 0 Decorate 13(s) Binding 1 - Decorate 23(sBuf) DescriptorSet 0 + Decorate 13(s) DescriptorSet 0 Decorate 23(sBuf) Binding 2 - Decorate 32(utBuf) DescriptorSet 0 + Decorate 23(sBuf) DescriptorSet 0 Decorate 32(utBuf) Binding 3 - Decorate 38(itBuf) DescriptorSet 0 + Decorate 32(utBuf) DescriptorSet 0 Decorate 38(itBuf) Binding 4 + Decorate 38(itBuf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.textureGatherBiasLod.frag.out b/Test/baseResults/spv.textureGatherBiasLod.frag.out index f47e16a7..9fd195f5 100644 --- a/Test/baseResults/spv.textureGatherBiasLod.frag.out +++ b/Test/baseResults/spv.textureGatherBiasLod.frag.out @@ -30,17 +30,17 @@ spv.textureGatherBiasLod.frag Name 104 "ResType" Name 176 "lod" Name 296 "fragColor" - Decorate 16(s2D) DescriptorSet 0 Decorate 16(s2D) Binding 0 + Decorate 16(s2D) DescriptorSet 0 Decorate 20(c2) Location 0 Decorate 25(bias) Location 4 - Decorate 33(s2DArray) DescriptorSet 0 Decorate 33(s2DArray) Binding 1 + Decorate 33(s2DArray) DescriptorSet 0 Decorate 37(c3) Location 1 - Decorate 47(sCube) DescriptorSet 0 Decorate 47(sCube) Binding 2 - Decorate 58(sCubeArray) DescriptorSet 0 + Decorate 47(sCube) DescriptorSet 0 Decorate 58(sCubeArray) Binding 3 + Decorate 58(sCubeArray) DescriptorSet 0 Decorate 61(c4) Location 2 Decorate 176(lod) Location 3 Decorate 296(fragColor) Location 0 diff --git a/Test/baseResults/spv.tpipBlockMatchGatherSAD.frag.out b/Test/baseResults/spv.tpipBlockMatchGatherSAD.frag.out index 6a543b3c..63e4e15c 100644 --- a/Test/baseResults/spv.tpipBlockMatchGatherSAD.frag.out +++ b/Test/baseResults/spv.tpipBlockMatchGatherSAD.frag.out @@ -29,22 +29,22 @@ spv.tpipBlockMatchGatherSAD.frag Name 71 "tex2DArray_weights" Decorate 13(v_texcoord) Location 0 Decorate 41(fragColor) Location 0 - Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) Binding 1 - Decorate 48(samp) DescriptorSet 0 - Decorate 48(samp) Binding 3 - Decorate 53(tex2D_src2) DescriptorSet 0 - Decorate 53(tex2D_src2) Binding 2 + Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM + Decorate 48(samp) Binding 3 + Decorate 48(samp) DescriptorSet 0 + Decorate 53(tex2D_src2) Binding 2 + Decorate 53(tex2D_src2) DescriptorSet 0 Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM - Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) Binding 4 - Decorate 64(ref_samp) DescriptorSet 0 - Decorate 64(ref_samp) Binding 5 + Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) DecorationBlockMatchTextureQCOM + Decorate 64(ref_samp) Binding 5 + Decorate 64(ref_samp) DescriptorSet 0 Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM - Decorate 71(tex2DArray_weights) DescriptorSet 0 Decorate 71(tex2DArray_weights) Binding 0 + Decorate 71(tex2DArray_weights) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.tpipBlockMatchGatherSSD.frag.out b/Test/baseResults/spv.tpipBlockMatchGatherSSD.frag.out index 74479c1b..f5aa4cb8 100644 --- a/Test/baseResults/spv.tpipBlockMatchGatherSSD.frag.out +++ b/Test/baseResults/spv.tpipBlockMatchGatherSSD.frag.out @@ -29,22 +29,22 @@ spv.tpipBlockMatchGatherSSD.frag Name 71 "tex2DArray_weights" Decorate 13(v_texcoord) Location 0 Decorate 41(fragColor) Location 0 - Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) Binding 1 - Decorate 48(samp) DescriptorSet 0 - Decorate 48(samp) Binding 3 - Decorate 53(tex2D_src2) DescriptorSet 0 - Decorate 53(tex2D_src2) Binding 2 + Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM + Decorate 48(samp) Binding 3 + Decorate 48(samp) DescriptorSet 0 + Decorate 53(tex2D_src2) Binding 2 + Decorate 53(tex2D_src2) DescriptorSet 0 Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM - Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) Binding 4 - Decorate 64(ref_samp) DescriptorSet 0 - Decorate 64(ref_samp) Binding 5 + Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) DecorationBlockMatchTextureQCOM + Decorate 64(ref_samp) Binding 5 + Decorate 64(ref_samp) DescriptorSet 0 Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM - Decorate 71(tex2DArray_weights) DescriptorSet 0 Decorate 71(tex2DArray_weights) Binding 0 + Decorate 71(tex2DArray_weights) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.tpipBlockMatchSAD.frag.out b/Test/baseResults/spv.tpipBlockMatchSAD.frag.out index a807d923..eb5f4744 100644 --- a/Test/baseResults/spv.tpipBlockMatchSAD.frag.out +++ b/Test/baseResults/spv.tpipBlockMatchSAD.frag.out @@ -26,22 +26,22 @@ spv.tpipBlockMatchSAD.frag Name 71 "tex2DArray_weights" Decorate 13(v_texcoord) Location 0 Decorate 41(fragColor) Location 0 - Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) Binding 1 - Decorate 48(samp) DescriptorSet 0 - Decorate 48(samp) Binding 3 - Decorate 53(tex2D_src2) DescriptorSet 0 - Decorate 53(tex2D_src2) Binding 2 + Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM + Decorate 48(samp) Binding 3 + Decorate 48(samp) DescriptorSet 0 + Decorate 53(tex2D_src2) Binding 2 + Decorate 53(tex2D_src2) DescriptorSet 0 Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM - Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) Binding 4 - Decorate 64(ref_samp) DescriptorSet 0 - Decorate 64(ref_samp) Binding 5 + Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) DecorationBlockMatchTextureQCOM + Decorate 64(ref_samp) Binding 5 + Decorate 64(ref_samp) DescriptorSet 0 Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM - Decorate 71(tex2DArray_weights) DescriptorSet 0 Decorate 71(tex2DArray_weights) Binding 0 + Decorate 71(tex2DArray_weights) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.tpipBlockMatchSSD.frag.out b/Test/baseResults/spv.tpipBlockMatchSSD.frag.out index e7ac73b6..d758c0b1 100644 --- a/Test/baseResults/spv.tpipBlockMatchSSD.frag.out +++ b/Test/baseResults/spv.tpipBlockMatchSSD.frag.out @@ -26,22 +26,22 @@ spv.tpipBlockMatchSSD.frag Name 71 "tex2DArray_weights" Decorate 13(v_texcoord) Location 0 Decorate 41(fragColor) Location 0 - Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) Binding 1 - Decorate 48(samp) DescriptorSet 0 - Decorate 48(samp) Binding 3 - Decorate 53(tex2D_src2) DescriptorSet 0 - Decorate 53(tex2D_src2) Binding 2 + Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM + Decorate 48(samp) Binding 3 + Decorate 48(samp) DescriptorSet 0 + Decorate 53(tex2D_src2) Binding 2 + Decorate 53(tex2D_src2) DescriptorSet 0 Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM - Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) Binding 4 - Decorate 64(ref_samp) DescriptorSet 0 - Decorate 64(ref_samp) Binding 5 + Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) DecorationBlockMatchTextureQCOM + Decorate 64(ref_samp) Binding 5 + Decorate 64(ref_samp) DescriptorSet 0 Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM - Decorate 71(tex2DArray_weights) DescriptorSet 0 Decorate 71(tex2DArray_weights) Binding 0 + Decorate 71(tex2DArray_weights) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.tpipBlockMatchWindowSAD.frag.out b/Test/baseResults/spv.tpipBlockMatchWindowSAD.frag.out index cd20d771..a27c016f 100644 --- a/Test/baseResults/spv.tpipBlockMatchWindowSAD.frag.out +++ b/Test/baseResults/spv.tpipBlockMatchWindowSAD.frag.out @@ -29,25 +29,25 @@ spv.tpipBlockMatchWindowSAD.frag Name 71 "tex2DArray_weights" Decorate 13(v_texcoord) Location 0 Decorate 41(fragColor) Location 0 - Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) Binding 1 - Decorate 48(samp) DescriptorSet 0 - Decorate 48(samp) Binding 3 - Decorate 53(tex2D_src2) DescriptorSet 0 - Decorate 53(tex2D_src2) Binding 2 + Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM + Decorate 48(samp) Binding 3 + Decorate 48(samp) DescriptorSet 0 Decorate 48(samp) DecorationBlockMatchSamplerQCOM + Decorate 53(tex2D_src2) Binding 2 + Decorate 53(tex2D_src2) DescriptorSet 0 Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM - Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) Binding 4 - Decorate 64(ref_samp) DescriptorSet 0 - Decorate 64(ref_samp) Binding 5 + Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) DecorationBlockMatchTextureQCOM Decorate 61(target_samp) DecorationBlockMatchSamplerQCOM + Decorate 64(ref_samp) Binding 5 + Decorate 64(ref_samp) DescriptorSet 0 Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM Decorate 64(ref_samp) DecorationBlockMatchSamplerQCOM - Decorate 71(tex2DArray_weights) DescriptorSet 0 Decorate 71(tex2DArray_weights) Binding 0 + Decorate 71(tex2DArray_weights) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.tpipBlockMatchWindowSSD.frag.out b/Test/baseResults/spv.tpipBlockMatchWindowSSD.frag.out index 797ecd74..e22097ff 100644 --- a/Test/baseResults/spv.tpipBlockMatchWindowSSD.frag.out +++ b/Test/baseResults/spv.tpipBlockMatchWindowSSD.frag.out @@ -29,25 +29,25 @@ spv.tpipBlockMatchWindowSSD.frag Name 71 "tex2DArray_weights" Decorate 13(v_texcoord) Location 0 Decorate 41(fragColor) Location 0 - Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) Binding 1 - Decorate 48(samp) DescriptorSet 0 - Decorate 48(samp) Binding 3 - Decorate 53(tex2D_src2) DescriptorSet 0 - Decorate 53(tex2D_src2) Binding 2 + Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM + Decorate 48(samp) Binding 3 + Decorate 48(samp) DescriptorSet 0 Decorate 48(samp) DecorationBlockMatchSamplerQCOM + Decorate 53(tex2D_src2) Binding 2 + Decorate 53(tex2D_src2) DescriptorSet 0 Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM - Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) Binding 4 - Decorate 64(ref_samp) DescriptorSet 0 - Decorate 64(ref_samp) Binding 5 + Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) DecorationBlockMatchTextureQCOM Decorate 61(target_samp) DecorationBlockMatchSamplerQCOM + Decorate 64(ref_samp) Binding 5 + Decorate 64(ref_samp) DescriptorSet 0 Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM Decorate 64(ref_samp) DecorationBlockMatchSamplerQCOM - Decorate 71(tex2DArray_weights) DescriptorSet 0 Decorate 71(tex2DArray_weights) Binding 0 + Decorate 71(tex2DArray_weights) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.tpipBoxFilter.frag.out b/Test/baseResults/spv.tpipBoxFilter.frag.out index 5620a816..46d802c4 100644 --- a/Test/baseResults/spv.tpipBoxFilter.frag.out +++ b/Test/baseResults/spv.tpipBoxFilter.frag.out @@ -22,17 +22,17 @@ spv.tpipBoxFilter.frag Name 41 "tex2DArray_weights" Name 42 "tex2D_src2" Decorate 15(fragColor) Location 0 - Decorate 18(tex2D_src1) DescriptorSet 0 Decorate 18(tex2D_src1) Binding 1 - Decorate 22(samp) DescriptorSet 0 + Decorate 18(tex2D_src1) DescriptorSet 0 Decorate 22(samp) Binding 3 + Decorate 22(samp) DescriptorSet 0 Decorate 27(v_texcoord) Location 0 - Decorate 33(tex_samp) DescriptorSet 0 Decorate 33(tex_samp) Binding 4 - Decorate 41(tex2DArray_weights) DescriptorSet 0 + Decorate 33(tex_samp) DescriptorSet 0 Decorate 41(tex2DArray_weights) Binding 0 - Decorate 42(tex2D_src2) DescriptorSet 0 + Decorate 41(tex2DArray_weights) DescriptorSet 0 Decorate 42(tex2D_src2) Binding 2 + Decorate 42(tex2D_src2) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.tpipSampleWeighted.frag.out b/Test/baseResults/spv.tpipSampleWeighted.frag.out index bf108742..652143c7 100644 --- a/Test/baseResults/spv.tpipSampleWeighted.frag.out +++ b/Test/baseResults/spv.tpipSampleWeighted.frag.out @@ -22,21 +22,21 @@ spv.tpipSampleWeighted.frag Name 39 "tex_samp_array" Name 42 "tex2D_src2" Decorate 9(fragColor) Location 0 - Decorate 12(tex2D_src1) DescriptorSet 0 Decorate 12(tex2D_src1) Binding 1 - Decorate 16(samp) DescriptorSet 0 + Decorate 12(tex2D_src1) DescriptorSet 0 Decorate 16(samp) Binding 3 + Decorate 16(samp) DescriptorSet 0 Decorate 21(v_texcoord) Location 0 - Decorate 27(tex2DArray_weights) DescriptorSet 0 Decorate 27(tex2DArray_weights) Binding 0 + Decorate 27(tex2DArray_weights) DescriptorSet 0 Decorate 27(tex2DArray_weights) DecorationWeightTextureQCOM - Decorate 34(tex_samp) DescriptorSet 0 Decorate 34(tex_samp) Binding 4 - Decorate 39(tex_samp_array) DescriptorSet 0 + Decorate 34(tex_samp) DescriptorSet 0 Decorate 39(tex_samp_array) Binding 5 + Decorate 39(tex_samp_array) DescriptorSet 0 Decorate 39(tex_samp_array) DecorationWeightTextureQCOM - Decorate 42(tex2D_src2) DescriptorSet 0 Decorate 42(tex2D_src2) Binding 2 + Decorate 42(tex2D_src2) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.tpipTextureArrays.frag.out b/Test/baseResults/spv.tpipTextureArrays.frag.out index 28b63f57..cb5a62ad 100644 --- a/Test/baseResults/spv.tpipTextureArrays.frag.out +++ b/Test/baseResults/spv.tpipTextureArrays.frag.out @@ -24,14 +24,14 @@ spv.tpipTextureArrays.frag Name 67 "samp" Decorate 13(v_texcoord) Location 0 Decorate 46(fragColor) Location 0 - Decorate 51(samplers) DescriptorSet 0 Decorate 51(samplers) Binding 5 - Decorate 60(tex2D_srcs) DescriptorSet 0 - Decorate 60(tex2D_srcs) Binding 4 - Decorate 67(samp) DescriptorSet 0 - Decorate 67(samp) Binding 3 + Decorate 51(samplers) DescriptorSet 0 Decorate 55 DecorationBlockMatchTextureQCOM + Decorate 60(tex2D_srcs) Binding 4 + Decorate 60(tex2D_srcs) DescriptorSet 0 Decorate 63 DecorationBlockMatchTextureQCOM + Decorate 67(samp) Binding 3 + Decorate 67(samp) DescriptorSet 0 Decorate 74 DecorationBlockMatchTextureQCOM Decorate 79 DecorationBlockMatchTextureQCOM 2: TypeVoid diff --git a/Test/baseResults/spv.uint.frag.out b/Test/baseResults/spv.uint.frag.out index a78acae4..8a8f9980 100644 --- a/Test/baseResults/spv.uint.frag.out +++ b/Test/baseResults/spv.uint.frag.out @@ -59,8 +59,8 @@ spv.uint.frag Decorate 68(c) RelaxedPrecision Decorate 68(c) Location 0 Decorate 72(usampler) RelaxedPrecision - Decorate 72(usampler) DescriptorSet 0 Decorate 72(usampler) Binding 0 + Decorate 72(usampler) DescriptorSet 0 Decorate 73 RelaxedPrecision Decorate 77(tc) RelaxedPrecision Decorate 77(tc) Location 2 diff --git a/Test/baseResults/spv.uniformArray.frag.out b/Test/baseResults/spv.uniformArray.frag.out index 09cd3532..26e066a6 100644 --- a/Test/baseResults/spv.uniformArray.frag.out +++ b/Test/baseResults/spv.uniformArray.frag.out @@ -20,8 +20,8 @@ spv.uniformArray.frag Decorate 25(inColor) Location 0 Decorate 43(alpha) Location 7 Decorate 54(gl_FragColor) Location 0 - Decorate 59(texSampler2D) DescriptorSet 0 Decorate 59(texSampler2D) Binding 0 + Decorate 59(texSampler2D) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.uniformInitializer.frag.out b/Test/baseResults/spv.uniformInitializer.frag.out index abebf625..da32af55 100644 --- a/Test/baseResults/spv.uniformInitializer.frag.out +++ b/Test/baseResults/spv.uniformInitializer.frag.out @@ -14,8 +14,8 @@ spv.uniformInitializer.frag Name 14 "in_color" Decorate 9(color) Location 0 Decorate 14(in_color) Location 0 - Decorate 14(in_color) DescriptorSet 0 Decorate 14(in_color) Binding 0 + Decorate 14(in_color) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.uniformInitializerStruct.frag.out b/Test/baseResults/spv.uniformInitializerStruct.frag.out index 058bc34f..7b0f7334 100644 --- a/Test/baseResults/spv.uniformInitializerStruct.frag.out +++ b/Test/baseResults/spv.uniformInitializerStruct.frag.out @@ -19,8 +19,8 @@ spv.uniformInitializerStruct.frag Name 34 "parts" Decorate 9(color) Location 0 Decorate 34(parts) Location 0 - Decorate 34(parts) DescriptorSet 0 Decorate 34(parts) Binding 0 + Decorate 34(parts) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.variableArrayIndex.frag.out b/Test/baseResults/spv.variableArrayIndex.frag.out index f78119c2..ee2c1c6b 100644 --- a/Test/baseResults/spv.variableArrayIndex.frag.out +++ b/Test/baseResults/spv.variableArrayIndex.frag.out @@ -41,8 +41,8 @@ spv.variableArrayIndex.frag Decorate 36(foo) Flat Decorate 36(foo) Location 1 Decorate 54(gl_FragColor) Location 0 - Decorate 59(samp2D) DescriptorSet 0 Decorate 59(samp2D) Binding 0 + Decorate 59(samp2D) DescriptorSet 0 Decorate 63(coord) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.varyingArray.frag.out b/Test/baseResults/spv.varyingArray.frag.out index 9d001bc0..d97b7f72 100644 --- a/Test/baseResults/spv.varyingArray.frag.out +++ b/Test/baseResults/spv.varyingArray.frag.out @@ -17,8 +17,8 @@ spv.varyingArray.frag Name 39 "alpha" Name 45 "gl_FragColor" Name 48 "foo" - Decorate 13(texSampler2D) DescriptorSet 0 Decorate 13(texSampler2D) Binding 0 + Decorate 13(texSampler2D) DescriptorSet 0 Decorate 19(TexCoord) Location 2 Decorate 34(color) Location 0 Decorate 39(alpha) Location 1 diff --git a/Test/baseResults/spv.varyingArrayIndirect.frag.out b/Test/baseResults/spv.varyingArrayIndirect.frag.out index 00135f6e..7a44c8f9 100644 --- a/Test/baseResults/spv.varyingArrayIndirect.frag.out +++ b/Test/baseResults/spv.varyingArrayIndirect.frag.out @@ -19,8 +19,8 @@ spv.varyingArrayIndirect.frag Name 45 "color" Name 50 "alpha" Name 56 "gl_FragColor" - Decorate 13(texSampler2D) DescriptorSet 0 Decorate 13(texSampler2D) Binding 0 + Decorate 13(texSampler2D) DescriptorSet 0 Decorate 19(userIn) Location 8 Decorate 22(b) Flat Decorate 22(b) Location 11 diff --git a/Test/baseResults/spv.viewportArray2.tesc.out b/Test/baseResults/spv.viewportArray2.tesc.out index f719a97e..16e1686a 100644 --- a/Test/baseResults/spv.viewportArray2.tesc.out +++ b/Test/baseResults/spv.viewportArray2.tesc.out @@ -20,8 +20,8 @@ spv.viewportArray2.tesc Name 14 "gl_out" Name 16 "gl_InvocationID" Name 22 "gl_Layer" - MemberDecorate 10(gl_PerVertex) 0 BuiltIn ViewportMaskNV Decorate 10(gl_PerVertex) Block + MemberDecorate 10(gl_PerVertex) 0 BuiltIn ViewportMaskNV Decorate 16(gl_InvocationID) BuiltIn InvocationId Decorate 22(gl_Layer) BuiltIn Layer Decorate 22(gl_Layer) ViewportRelativeNV diff --git a/Test/baseResults/spv.volatileAtomic.comp.out b/Test/baseResults/spv.volatileAtomic.comp.out index 53673d35..13aec2f3 100644 --- a/Test/baseResults/spv.volatileAtomic.comp.out +++ b/Test/baseResults/spv.volatileAtomic.comp.out @@ -14,12 +14,12 @@ spv.volatileAtomic.comp MemberName 8(D) 0 "d" Name 10 "d" Decorate 7 ArrayStride 4 + Decorate 8(D) BufferBlock MemberDecorate 8(D) 0 Volatile MemberDecorate 8(D) 0 Coherent MemberDecorate 8(D) 0 Offset 0 - Decorate 8(D) BufferBlock - Decorate 10(d) DescriptorSet 0 Decorate 10(d) Binding 3 + Decorate 10(d) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.vulkan110.int16.frag.out b/Test/baseResults/spv.vulkan110.int16.frag.out index d5c83d52..4e435dfd 100644 --- a/Test/baseResults/spv.vulkan110.int16.frag.out +++ b/Test/baseResults/spv.vulkan110.int16.frag.out @@ -77,10 +77,11 @@ spv.vulkan110.int16.frag Name 532 "block" Name 533 "si16" Name 534 "su16" - MemberDecorate 24(Uniforms) 0 Offset 0 Decorate 24(Uniforms) Block - Decorate 26 DescriptorSet 0 + MemberDecorate 24(Uniforms) 0 Offset 0 Decorate 26 Binding 0 + Decorate 26 DescriptorSet 0 + Decorate 530(Block) Block MemberDecorate 530(Block) 0 Offset 0 MemberDecorate 530(Block) 1 Offset 4 MemberDecorate 530(Block) 2 Offset 8 @@ -89,9 +90,8 @@ spv.vulkan110.int16.frag MemberDecorate 530(Block) 5 Offset 28 MemberDecorate 530(Block) 6 Offset 32 MemberDecorate 530(Block) 7 Offset 40 - Decorate 530(Block) Block - Decorate 532(block) DescriptorSet 0 Decorate 532(block) Binding 1 + Decorate 532(block) DescriptorSet 0 Decorate 533(si16) SpecId 100 Decorate 534(su16) SpecId 101 2: TypeVoid diff --git a/Test/baseResults/spv.vulkan110.storageBuffer.vert.out b/Test/baseResults/spv.vulkan110.storageBuffer.vert.out index ab88c581..c9231ea0 100644 --- a/Test/baseResults/spv.vulkan110.storageBuffer.vert.out +++ b/Test/baseResults/spv.vulkan110.storageBuffer.vert.out @@ -21,19 +21,19 @@ spv.vulkan110.storageBuffer.vert Name 22 "bb" MemberName 22(bb) 0 "b" Name 24 "bbi" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block - MemberDecorate 16(ub) 0 Offset 0 Decorate 16(ub) Block - Decorate 18(ubi) DescriptorSet 0 + MemberDecorate 16(ub) 0 Offset 0 Decorate 18(ubi) Binding 0 - MemberDecorate 22(bb) 0 Offset 0 + Decorate 18(ubi) DescriptorSet 0 Decorate 22(bb) Block - Decorate 24(bbi) DescriptorSet 0 + MemberDecorate 22(bb) 0 Offset 0 Decorate 24(bbi) Binding 1 + Decorate 24(bbi) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.xfb.vert.out b/Test/baseResults/spv.xfb.vert.out index 4283e200..e76e6b35 100644 --- a/Test/baseResults/spv.xfb.vert.out +++ b/Test/baseResults/spv.xfb.vert.out @@ -20,23 +20,23 @@ spv.xfb.vert Name 14 "" Name 15 "out4" Decorate 8(out1) Location 0 + Decorate 8(out1) Offset 12 Decorate 8(out1) XfbBuffer 3 Decorate 8(out1) XfbStride 48 - Decorate 8(out1) Offset 12 - MemberDecorate 9(outXfb) 0 Offset 8 Decorate 9(outXfb) Block + MemberDecorate 9(outXfb) 0 Offset 8 Decorate 11 Location 1 Decorate 11 XfbBuffer 2 Decorate 11 XfbStride 32 - MemberDecorate 12(outXfb2) 0 Offset 60 Decorate 12(outXfb2) Block + MemberDecorate 12(outXfb2) 0 Offset 60 Decorate 14 Location 3 Decorate 14 XfbBuffer 1 Decorate 14 XfbStride 64 Decorate 15(out4) Location 4 + Decorate 15(out4) Offset 4 Decorate 15(out4) XfbBuffer 0 Decorate 15(out4) XfbStride 8 - Decorate 15(out4) Offset 4 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.xfb2.vert.out b/Test/baseResults/spv.xfb2.vert.out index b4b09bd0..a681fd3e 100644 --- a/Test/baseResults/spv.xfb2.vert.out +++ b/Test/baseResults/spv.xfb2.vert.out @@ -19,17 +19,17 @@ spv.xfb2.vert MemberName 17(ComponentsBlock) 0 "c1" MemberName 17(ComponentsBlock) 1 "c2" Name 19 "components" - MemberDecorate 8(gl_PerVertex) 0 Offset 16 - MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position Decorate 8(gl_PerVertex) Block + MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 8(gl_PerVertex) 0 Offset 16 Decorate 10 XfbBuffer 3 Decorate 10 XfbStride 32 Decorate 14(position) Location 0 + Decorate 17(ComponentsBlock) Block MemberDecorate 17(ComponentsBlock) 0 Offset 0 MemberDecorate 17(ComponentsBlock) 1 Offset 16 - Decorate 17(ComponentsBlock) Block - Decorate 19(components) DescriptorSet 0 Decorate 19(components) Binding 5 + Decorate 19(components) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.xfb3.vert.out b/Test/baseResults/spv.xfb3.vert.out index a7e88566..25e031a3 100644 --- a/Test/baseResults/spv.xfb3.vert.out +++ b/Test/baseResults/spv.xfb3.vert.out @@ -19,17 +19,17 @@ spv.xfb3.vert MemberName 17(ComponentsBlock) 0 "c1" MemberName 17(ComponentsBlock) 1 "c2" Name 19 "components" - MemberDecorate 8(gl_PerVertex) 0 Offset 16 - MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position Decorate 8(gl_PerVertex) Block + MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 8(gl_PerVertex) 0 Offset 16 Decorate 10 XfbBuffer 3 Decorate 10 XfbStride 80 Decorate 14(position) Location 0 + Decorate 17(ComponentsBlock) Block MemberDecorate 17(ComponentsBlock) 0 Offset 0 MemberDecorate 17(ComponentsBlock) 1 Offset 16 - Decorate 17(ComponentsBlock) Block - Decorate 19(components) DescriptorSet 0 Decorate 19(components) Binding 5 + Decorate 19(components) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out b/Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out index eb911002..23110016 100644 --- a/Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out +++ b/Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out @@ -23,17 +23,17 @@ spv.xfbOffsetOnBlockMembersAssignment.vert Name 27 "" Name 31 "gl_VertexID" Name 32 "gl_InstanceID" + Decorate 8(block2) Block MemberDecorate 8(block2) 0 Offset 0 MemberDecorate 8(block2) 1 Offset 4 - Decorate 8(block2) Block Decorate 10 Location 5 Decorate 10 XfbBuffer 2 Decorate 10 XfbStride 20 + Decorate 25(gl_PerVertex) Block MemberDecorate 25(gl_PerVertex) 0 BuiltIn Position MemberDecorate 25(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 25(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 25(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 25(gl_PerVertex) Block Decorate 27 XfbBuffer 0 Decorate 27 XfbStride 0 Decorate 31(gl_VertexID) BuiltIn VertexId diff --git a/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out b/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out index 467a5aec..c073ebec 100644 --- a/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out +++ b/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out @@ -28,18 +28,18 @@ spv.xfbOffsetOnStructMembersAssignment.vert Name 38 "gl_VertexID" Name 39 "gl_InstanceID" Decorate 9(s1) Location 0 + Decorate 9(s1) Offset 16 Decorate 9(s1) XfbBuffer 2 Decorate 9(s1) XfbStride 24 - Decorate 9(s1) Offset 16 Decorate 21(s2) Location 5 + Decorate 21(s2) Offset 8 Decorate 21(s2) XfbBuffer 1 Decorate 21(s2) XfbStride 28 - Decorate 21(s2) Offset 8 + Decorate 32(gl_PerVertex) Block MemberDecorate 32(gl_PerVertex) 0 BuiltIn Position MemberDecorate 32(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 32(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 32(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 32(gl_PerVertex) Block Decorate 34 XfbBuffer 0 Decorate 34 XfbStride 0 Decorate 38(gl_VertexID) BuiltIn VertexId diff --git a/Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out b/Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out index 633558d4..b63226e3 100644 --- a/Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out +++ b/Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out @@ -25,19 +25,19 @@ spv.xfbOverlapOffsetCheckWithBlockAndMember.vert Name 33 "" Name 37 "gl_VertexID" Name 38 "gl_InstanceID" + Decorate 8(block2) Block MemberDecorate 8(block2) 0 Offset 12 MemberDecorate 8(block2) 1 Offset 28 MemberDecorate 8(block2) 2 Offset 40 MemberDecorate 8(block2) 3 Offset 56 - Decorate 8(block2) Block Decorate 10 Location 5 Decorate 10 XfbBuffer 3 Decorate 10 XfbStride 72 + Decorate 31(gl_PerVertex) Block MemberDecorate 31(gl_PerVertex) 0 BuiltIn Position MemberDecorate 31(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 31(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 31(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 31(gl_PerVertex) Block Decorate 33 XfbBuffer 0 Decorate 33 XfbStride 0 Decorate 37(gl_VertexID) BuiltIn VertexId diff --git a/Test/baseResults/spv.xfbStrideJustOnce.vert.out b/Test/baseResults/spv.xfbStrideJustOnce.vert.out index 8bf1f0d9..0548aee6 100644 --- a/Test/baseResults/spv.xfbStrideJustOnce.vert.out +++ b/Test/baseResults/spv.xfbStrideJustOnce.vert.out @@ -27,11 +27,11 @@ spv.xfbStrideJustOnce.vert Decorate 10 Location 5 Decorate 10 XfbBuffer 2 Decorate 10 XfbStride 20 + Decorate 25(gl_PerVertex) Block MemberDecorate 25(gl_PerVertex) 0 BuiltIn Position MemberDecorate 25(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 25(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 25(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 25(gl_PerVertex) Block Decorate 27 XfbBuffer 0 Decorate 27 XfbStride 0 Decorate 31(gl_VertexID) BuiltIn VertexId diff --git a/Test/baseResults/vk.relaxed.changeSet.vert.out b/Test/baseResults/vk.relaxed.changeSet.vert.out index d7502a3a..339112d3 100755 --- a/Test/baseResults/vk.relaxed.changeSet.vert.out +++ b/Test/baseResults/vk.relaxed.changeSet.vert.out @@ -168,17 +168,17 @@ gl_FragCoord origin is upper left Decorate 11(aColor) Location 2 Decorate 15(UV) Location 1 Decorate 17(aUV) Location 1 + Decorate 22(gl_PerVertex) Block MemberDecorate 22(gl_PerVertex) 0 BuiltIn Position MemberDecorate 22(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 22(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 22(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 22(gl_PerVertex) Block - MemberDecorate 28(gl_DefaultUniformBlock) 0 ColMajor - MemberDecorate 28(gl_DefaultUniformBlock) 0 Offset 0 - MemberDecorate 28(gl_DefaultUniformBlock) 0 MatrixStride 16 Decorate 28(gl_DefaultUniformBlock) Block - Decorate 30 DescriptorSet 0 + MemberDecorate 28(gl_DefaultUniformBlock) 0 ColMajor + MemberDecorate 28(gl_DefaultUniformBlock) 0 MatrixStride 16 + MemberDecorate 28(gl_DefaultUniformBlock) 0 Offset 0 Decorate 30 Binding 0 + Decorate 30 DescriptorSet 0 Decorate 34(aPos) Location 0 Decorate 44(gl_VertexIndex) BuiltIn VertexIndex Decorate 45(gl_InstanceIndex) BuiltIn InstanceIndex @@ -248,8 +248,8 @@ gl_FragCoord origin is upper left Name 20 "UV" Decorate 9(fragColor) Location 0 Decorate 11(Color) Location 0 - Decorate 16(sTexture) DescriptorSet 1 Decorate 16(sTexture) Binding 0 + Decorate 16(sTexture) DescriptorSet 1 Decorate 20(UV) Location 1 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/vk.relaxed.frag.out b/Test/baseResults/vk.relaxed.frag.out index 7aed8138..105eced6 100644 --- a/Test/baseResults/vk.relaxed.frag.out +++ b/Test/baseResults/vk.relaxed.frag.out @@ -728,31 +728,31 @@ gl_FragCoord origin is upper left Name 196 "structUniform.samplers.tn[2]" Name 197 "structUniform.samplers.tn[3]" Name 198 "param" + Decorate 34(gl_AtomicCounterBlock_0) BufferBlock MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Volatile MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Coherent MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Offset 0 MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Volatile MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Coherent MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Offset 4 - Decorate 34(gl_AtomicCounterBlock_0) BufferBlock - Decorate 36 DescriptorSet 0 Decorate 36 Binding 9 + Decorate 36 DescriptorSet 0 + Decorate 78(gl_AtomicCounterBlock_1) BufferBlock MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Volatile MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Coherent MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Offset 0 - Decorate 78(gl_AtomicCounterBlock_1) BufferBlock - Decorate 80 DescriptorSet 0 Decorate 80 Binding 10 + Decorate 80 DescriptorSet 0 + Decorate 89(UniformBlock) Block MemberDecorate 89(UniformBlock) 0 Offset 0 MemberDecorate 89(UniformBlock) 1 Offset 16 - Decorate 89(UniformBlock) Block - Decorate 91 DescriptorSet 0 Decorate 91 Binding 7 + Decorate 91 DescriptorSet 0 + Decorate 95(BufferBlock) BufferBlock MemberDecorate 95(BufferBlock) 0 Offset 0 MemberDecorate 95(BufferBlock) 1 Offset 16 - Decorate 95(BufferBlock) BufferBlock - Decorate 97(bufferInstance) DescriptorSet 0 Decorate 97(bufferInstance) Binding 8 + Decorate 97(bufferInstance) DescriptorSet 0 Decorate 103 ArrayStride 16 Decorate 104 ArrayStride 16 MemberDecorate 105(SamplerArray) 0 Offset 0 @@ -761,27 +761,27 @@ gl_FragCoord origin is upper left MemberDecorate 106(e) 2 Offset 12 MemberDecorate 106(e) 3 Offset 16 MemberDecorate 106(e) 4 Offset 32 + Decorate 107(gl_DefaultUniformBlock) Block MemberDecorate 107(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 107(gl_DefaultUniformBlock) 1 Offset 16 MemberDecorate 107(gl_DefaultUniformBlock) 2 Offset 24 MemberDecorate 107(gl_DefaultUniformBlock) 3 Offset 32 MemberDecorate 107(gl_DefaultUniformBlock) 4 Offset 192 - Decorate 107(gl_DefaultUniformBlock) Block - Decorate 109 DescriptorSet 0 Decorate 109 Binding 0 - Decorate 151(t1) DescriptorSet 0 + Decorate 109 DescriptorSet 0 Decorate 151(t1) Binding 6 - Decorate 157(structUniform.t0) DescriptorSet 0 + Decorate 151(t1) DescriptorSet 0 Decorate 157(structUniform.t0) Binding 1 + Decorate 157(structUniform.t0) DescriptorSet 0 Decorate 190(o) Location 0 - Decorate 194(structUniform.samplers.tn[0]) DescriptorSet 0 Decorate 194(structUniform.samplers.tn[0]) Binding 2 - Decorate 195(structUniform.samplers.tn[1]) DescriptorSet 0 + Decorate 194(structUniform.samplers.tn[0]) DescriptorSet 0 Decorate 195(structUniform.samplers.tn[1]) Binding 3 - Decorate 196(structUniform.samplers.tn[2]) DescriptorSet 0 + Decorate 195(structUniform.samplers.tn[1]) DescriptorSet 0 Decorate 196(structUniform.samplers.tn[2]) Binding 4 - Decorate 197(structUniform.samplers.tn[3]) DescriptorSet 0 + Decorate 196(structUniform.samplers.tn[2]) DescriptorSet 0 Decorate 197(structUniform.samplers.tn[3]) Binding 5 + Decorate 197(structUniform.samplers.tn[3]) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/vk.relaxed.link1.frag.out b/Test/baseResults/vk.relaxed.link1.frag.out index 161d929b..7b114a78 100644 --- a/Test/baseResults/vk.relaxed.link1.frag.out +++ b/Test/baseResults/vk.relaxed.link1.frag.out @@ -378,6 +378,7 @@ gl_FragCoord origin is upper left Name 68 "o" Name 72 "j" Name 79 "v" + Decorate 16(gl_AtomicCounterBlock_0) BufferBlock MemberDecorate 16(gl_AtomicCounterBlock_0) 0 Volatile MemberDecorate 16(gl_AtomicCounterBlock_0) 0 Coherent MemberDecorate 16(gl_AtomicCounterBlock_0) 0 Offset 0 @@ -387,18 +388,17 @@ gl_FragCoord origin is upper left MemberDecorate 16(gl_AtomicCounterBlock_0) 2 Volatile MemberDecorate 16(gl_AtomicCounterBlock_0) 2 Coherent MemberDecorate 16(gl_AtomicCounterBlock_0) 2 Offset 8 - Decorate 16(gl_AtomicCounterBlock_0) BufferBlock - Decorate 18 DescriptorSet 0 Decorate 18 Binding 1 + Decorate 18 DescriptorSet 0 + Decorate 35(gl_DefaultUniformBlock) Block MemberDecorate 35(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 35(gl_DefaultUniformBlock) 1 Offset 16 MemberDecorate 35(gl_DefaultUniformBlock) 2 Offset 24 MemberDecorate 35(gl_DefaultUniformBlock) 3 Offset 32 MemberDecorate 35(gl_DefaultUniformBlock) 4 Offset 48 MemberDecorate 35(gl_DefaultUniformBlock) 5 Offset 64 - Decorate 35(gl_DefaultUniformBlock) Block - Decorate 37 DescriptorSet 0 Decorate 37 Binding 0 + Decorate 37 DescriptorSet 0 Decorate 68(o) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out b/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out index 37532ed6..d7d8be2f 100755 --- a/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out +++ b/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out @@ -7325,71 +7325,72 @@ gl_FragCoord origin is upper left Name 934 "mTD3DImageOutputs" Name 938 "mTDCubeImageOutputs" Decorate 207(uv) Location 3 + Decorate 214(Vertex) Block MemberDecorate 214(Vertex) 3 Flat MemberDecorate 214(Vertex) 4 Flat - Decorate 214(Vertex) Block Decorate 216(oVert) Location 0 Decorate 226(P) Location 0 + Decorate 236(gl_PerVertex) Block MemberDecorate 236(gl_PerVertex) 0 BuiltIn Position MemberDecorate 236(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 236(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 236(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 236(gl_PerVertex) Block Decorate 256(Cd) Location 2 MemberDecorate 269(TDMatrix) 0 ColMajor - MemberDecorate 269(TDMatrix) 0 Offset 0 MemberDecorate 269(TDMatrix) 0 MatrixStride 16 + MemberDecorate 269(TDMatrix) 0 Offset 0 MemberDecorate 269(TDMatrix) 1 ColMajor - MemberDecorate 269(TDMatrix) 1 Offset 64 MemberDecorate 269(TDMatrix) 1 MatrixStride 16 + MemberDecorate 269(TDMatrix) 1 Offset 64 MemberDecorate 269(TDMatrix) 2 ColMajor - MemberDecorate 269(TDMatrix) 2 Offset 128 MemberDecorate 269(TDMatrix) 2 MatrixStride 16 + MemberDecorate 269(TDMatrix) 2 Offset 128 MemberDecorate 269(TDMatrix) 3 ColMajor - MemberDecorate 269(TDMatrix) 3 Offset 192 MemberDecorate 269(TDMatrix) 3 MatrixStride 16 + MemberDecorate 269(TDMatrix) 3 Offset 192 MemberDecorate 269(TDMatrix) 4 ColMajor - MemberDecorate 269(TDMatrix) 4 Offset 256 MemberDecorate 269(TDMatrix) 4 MatrixStride 16 + MemberDecorate 269(TDMatrix) 4 Offset 256 MemberDecorate 269(TDMatrix) 5 ColMajor - MemberDecorate 269(TDMatrix) 5 Offset 320 MemberDecorate 269(TDMatrix) 5 MatrixStride 16 + MemberDecorate 269(TDMatrix) 5 Offset 320 MemberDecorate 269(TDMatrix) 6 ColMajor - MemberDecorate 269(TDMatrix) 6 Offset 384 MemberDecorate 269(TDMatrix) 6 MatrixStride 16 + MemberDecorate 269(TDMatrix) 6 Offset 384 MemberDecorate 269(TDMatrix) 7 ColMajor - MemberDecorate 269(TDMatrix) 7 Offset 448 MemberDecorate 269(TDMatrix) 7 MatrixStride 16 + MemberDecorate 269(TDMatrix) 7 Offset 448 MemberDecorate 269(TDMatrix) 8 ColMajor - MemberDecorate 269(TDMatrix) 8 Offset 512 MemberDecorate 269(TDMatrix) 8 MatrixStride 16 + MemberDecorate 269(TDMatrix) 8 Offset 512 MemberDecorate 269(TDMatrix) 9 ColMajor - MemberDecorate 269(TDMatrix) 9 Offset 576 MemberDecorate 269(TDMatrix) 9 MatrixStride 16 + MemberDecorate 269(TDMatrix) 9 Offset 576 MemberDecorate 269(TDMatrix) 10 ColMajor - MemberDecorate 269(TDMatrix) 10 Offset 640 MemberDecorate 269(TDMatrix) 10 MatrixStride 16 + MemberDecorate 269(TDMatrix) 10 Offset 640 MemberDecorate 269(TDMatrix) 11 ColMajor - MemberDecorate 269(TDMatrix) 11 Offset 704 MemberDecorate 269(TDMatrix) 11 MatrixStride 16 + MemberDecorate 269(TDMatrix) 11 Offset 704 MemberDecorate 269(TDMatrix) 12 ColMajor - MemberDecorate 269(TDMatrix) 12 Offset 768 MemberDecorate 269(TDMatrix) 12 MatrixStride 16 + MemberDecorate 269(TDMatrix) 12 Offset 768 MemberDecorate 269(TDMatrix) 13 ColMajor - MemberDecorate 269(TDMatrix) 13 Offset 832 MemberDecorate 269(TDMatrix) 13 MatrixStride 16 + MemberDecorate 269(TDMatrix) 13 Offset 832 MemberDecorate 269(TDMatrix) 14 ColMajor - MemberDecorate 269(TDMatrix) 14 Offset 880 MemberDecorate 269(TDMatrix) 14 MatrixStride 16 + MemberDecorate 269(TDMatrix) 14 Offset 880 MemberDecorate 269(TDMatrix) 15 ColMajor - MemberDecorate 269(TDMatrix) 15 Offset 928 MemberDecorate 269(TDMatrix) 15 MatrixStride 16 + MemberDecorate 269(TDMatrix) 15 Offset 928 Decorate 270 ArrayStride 976 - MemberDecorate 271(TDMatricesBlock) 0 Offset 0 Decorate 271(TDMatricesBlock) Block - Decorate 273 DescriptorSet 0 + MemberDecorate 271(TDMatricesBlock) 0 Offset 0 Decorate 273 Binding 1 + Decorate 273 DescriptorSet 0 Decorate 297(gl_InstanceIndex) BuiltIn InstanceIndex + Decorate 299(gl_DefaultUniformBlock) Block MemberDecorate 299(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 299(gl_DefaultUniformBlock) 1 Offset 4 MemberDecorate 299(gl_DefaultUniformBlock) 2 Offset 8 @@ -7398,34 +7399,33 @@ gl_FragCoord origin is upper left MemberDecorate 299(gl_DefaultUniformBlock) 5 Offset 32 MemberDecorate 299(gl_DefaultUniformBlock) 6 Offset 48 MemberDecorate 299(gl_DefaultUniformBlock) 7 Offset 64 - Decorate 299(gl_DefaultUniformBlock) Block - Decorate 301 DescriptorSet 0 Decorate 301 Binding 0 - Decorate 371(sTDInstanceTexCoord) DescriptorSet 0 + Decorate 301 DescriptorSet 0 Decorate 371(sTDInstanceTexCoord) Binding 16 - Decorate 400(sTDInstanceT) DescriptorSet 0 + Decorate 371(sTDInstanceTexCoord) DescriptorSet 0 Decorate 400(sTDInstanceT) Binding 15 - Decorate 665(sTDInstanceColor) DescriptorSet 0 + Decorate 400(sTDInstanceT) DescriptorSet 0 Decorate 665(sTDInstanceColor) Binding 17 + Decorate 665(sTDInstanceColor) DescriptorSet 0 MemberDecorate 896(TDCameraInfo) 0 Offset 0 MemberDecorate 896(TDCameraInfo) 1 Offset 16 MemberDecorate 896(TDCameraInfo) 2 Offset 32 MemberDecorate 896(TDCameraInfo) 3 Offset 48 Decorate 897 ArrayStride 64 - MemberDecorate 898(TDCameraInfoBlock) 0 Offset 0 Decorate 898(TDCameraInfoBlock) Block - Decorate 900 DescriptorSet 0 + MemberDecorate 898(TDCameraInfoBlock) 0 Offset 0 Decorate 900 Binding 0 + Decorate 900 DescriptorSet 0 MemberDecorate 901(TDGeneral) 0 Offset 0 MemberDecorate 901(TDGeneral) 1 Offset 16 MemberDecorate 901(TDGeneral) 2 Offset 32 MemberDecorate 901(TDGeneral) 3 Offset 48 MemberDecorate 901(TDGeneral) 4 Offset 64 MemberDecorate 901(TDGeneral) 5 Offset 80 - MemberDecorate 902(TDGeneralBlock) 0 Offset 0 Decorate 902(TDGeneralBlock) Block - Decorate 904 DescriptorSet 0 + MemberDecorate 902(TDGeneralBlock) 0 Offset 0 Decorate 904 Binding 0 + Decorate 904 DescriptorSet 0 Decorate 905(N) Location 1 Decorate 906(gl_VertexIndex) BuiltIn VertexIndex MemberDecorate 907(TDLight) 0 Offset 0 @@ -7437,44 +7437,44 @@ gl_FragCoord origin is upper left MemberDecorate 907(TDLight) 6 Offset 96 MemberDecorate 907(TDLight) 7 Offset 112 MemberDecorate 907(TDLight) 8 ColMajor - MemberDecorate 907(TDLight) 8 Offset 128 MemberDecorate 907(TDLight) 8 MatrixStride 16 + MemberDecorate 907(TDLight) 8 Offset 128 MemberDecorate 907(TDLight) 9 ColMajor - MemberDecorate 907(TDLight) 9 Offset 192 MemberDecorate 907(TDLight) 9 MatrixStride 16 + MemberDecorate 907(TDLight) 9 Offset 192 MemberDecorate 907(TDLight) 10 Offset 256 MemberDecorate 907(TDLight) 11 ColMajor - MemberDecorate 907(TDLight) 11 Offset 272 MemberDecorate 907(TDLight) 11 MatrixStride 16 + MemberDecorate 907(TDLight) 11 Offset 272 Decorate 908 ArrayStride 336 - MemberDecorate 909(TDLightBlock) 0 Offset 0 Decorate 909(TDLightBlock) Block - Decorate 911 DescriptorSet 0 + MemberDecorate 909(TDLightBlock) 0 Offset 0 Decorate 911 Binding 0 + Decorate 911 DescriptorSet 0 MemberDecorate 912(TDEnvLight) 0 Offset 0 MemberDecorate 912(TDEnvLight) 1 ColMajor - MemberDecorate 912(TDEnvLight) 1 Offset 16 MemberDecorate 912(TDEnvLight) 1 MatrixStride 16 + MemberDecorate 912(TDEnvLight) 1 Offset 16 Decorate 913 ArrayStride 64 - MemberDecorate 914(TDEnvLightBlock) 0 Offset 0 Decorate 914(TDEnvLightBlock) Block - Decorate 916 DescriptorSet 0 + MemberDecorate 914(TDEnvLightBlock) 0 Offset 0 Decorate 916 Binding 0 + Decorate 916 DescriptorSet 0 Decorate 918 ArrayStride 16 + Decorate 919(TDEnvLightBuffer) BufferBlock MemberDecorate 919(TDEnvLightBuffer) 0 Restrict MemberDecorate 919(TDEnvLightBuffer) 0 NonWritable MemberDecorate 919(TDEnvLightBuffer) 0 Offset 0 - Decorate 919(TDEnvLightBuffer) BufferBlock - Decorate 922(uTDEnvLightBuffers) DescriptorSet 0 Decorate 922(uTDEnvLightBuffers) Binding 0 - Decorate 926(mTD2DImageOutputs) DescriptorSet 0 + Decorate 922(uTDEnvLightBuffers) DescriptorSet 0 Decorate 926(mTD2DImageOutputs) Binding 0 - Decorate 930(mTD2DArrayImageOutputs) DescriptorSet 0 + Decorate 926(mTD2DImageOutputs) DescriptorSet 0 Decorate 930(mTD2DArrayImageOutputs) Binding 0 - Decorate 934(mTD3DImageOutputs) DescriptorSet 0 + Decorate 930(mTD2DArrayImageOutputs) DescriptorSet 0 Decorate 934(mTD3DImageOutputs) Binding 0 - Decorate 938(mTDCubeImageOutputs) DescriptorSet 0 + Decorate 934(mTD3DImageOutputs) DescriptorSet 0 Decorate 938(mTDCubeImageOutputs) Binding 0 + Decorate 938(mTDCubeImageOutputs) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -8999,12 +8999,13 @@ gl_FragCoord origin is upper left Name 1293 "TDEnvLightBuffer" MemberName 1293(TDEnvLightBuffer) 0 "shCoeffs" Name 1296 "uTDEnvLightBuffers" + Decorate 334(Vertex) Block MemberDecorate 334(Vertex) 3 Flat MemberDecorate 334(Vertex) 4 Flat - Decorate 334(Vertex) Block Decorate 336(iVert) Location 0 - Decorate 363(sColorMap) DescriptorSet 0 Decorate 363(sColorMap) Binding 2 + Decorate 363(sColorMap) DescriptorSet 0 + Decorate 374(gl_DefaultUniformBlock) Block MemberDecorate 374(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 374(gl_DefaultUniformBlock) 1 Offset 4 MemberDecorate 374(gl_DefaultUniformBlock) 2 Offset 8 @@ -9013,102 +9014,101 @@ gl_FragCoord origin is upper left MemberDecorate 374(gl_DefaultUniformBlock) 5 Offset 32 MemberDecorate 374(gl_DefaultUniformBlock) 6 Offset 48 MemberDecorate 374(gl_DefaultUniformBlock) 7 Offset 64 - Decorate 374(gl_DefaultUniformBlock) Block - Decorate 376 DescriptorSet 0 Decorate 376 Binding 0 + Decorate 376 DescriptorSet 0 Decorate 429(oFragColor) Location 0 - Decorate 456(sTDNoiseMap) DescriptorSet 0 Decorate 456(sTDNoiseMap) Binding 3 + Decorate 456(sTDNoiseMap) DescriptorSet 0 Decorate 458(gl_FragCoord) BuiltIn FragCoord Decorate 485(gl_FrontFacing) BuiltIn FrontFacing - Decorate 931(sTDInstanceTexCoord) DescriptorSet 0 Decorate 931(sTDInstanceTexCoord) Binding 16 - Decorate 958(sTDInstanceT) DescriptorSet 0 + Decorate 931(sTDInstanceTexCoord) DescriptorSet 0 Decorate 958(sTDInstanceT) Binding 15 - Decorate 1219(sTDInstanceColor) DescriptorSet 0 + Decorate 958(sTDInstanceT) DescriptorSet 0 Decorate 1219(sTDInstanceColor) Binding 17 + Decorate 1219(sTDInstanceColor) DescriptorSet 0 MemberDecorate 1253(TDMatrix) 0 ColMajor - MemberDecorate 1253(TDMatrix) 0 Offset 0 MemberDecorate 1253(TDMatrix) 0 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 0 Offset 0 MemberDecorate 1253(TDMatrix) 1 ColMajor - MemberDecorate 1253(TDMatrix) 1 Offset 64 MemberDecorate 1253(TDMatrix) 1 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 1 Offset 64 MemberDecorate 1253(TDMatrix) 2 ColMajor - MemberDecorate 1253(TDMatrix) 2 Offset 128 MemberDecorate 1253(TDMatrix) 2 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 2 Offset 128 MemberDecorate 1253(TDMatrix) 3 ColMajor - MemberDecorate 1253(TDMatrix) 3 Offset 192 MemberDecorate 1253(TDMatrix) 3 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 3 Offset 192 MemberDecorate 1253(TDMatrix) 4 ColMajor - MemberDecorate 1253(TDMatrix) 4 Offset 256 MemberDecorate 1253(TDMatrix) 4 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 4 Offset 256 MemberDecorate 1253(TDMatrix) 5 ColMajor - MemberDecorate 1253(TDMatrix) 5 Offset 320 MemberDecorate 1253(TDMatrix) 5 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 5 Offset 320 MemberDecorate 1253(TDMatrix) 6 ColMajor - MemberDecorate 1253(TDMatrix) 6 Offset 384 MemberDecorate 1253(TDMatrix) 6 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 6 Offset 384 MemberDecorate 1253(TDMatrix) 7 ColMajor - MemberDecorate 1253(TDMatrix) 7 Offset 448 MemberDecorate 1253(TDMatrix) 7 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 7 Offset 448 MemberDecorate 1253(TDMatrix) 8 ColMajor - MemberDecorate 1253(TDMatrix) 8 Offset 512 MemberDecorate 1253(TDMatrix) 8 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 8 Offset 512 MemberDecorate 1253(TDMatrix) 9 ColMajor - MemberDecorate 1253(TDMatrix) 9 Offset 576 MemberDecorate 1253(TDMatrix) 9 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 9 Offset 576 MemberDecorate 1253(TDMatrix) 10 ColMajor - MemberDecorate 1253(TDMatrix) 10 Offset 640 MemberDecorate 1253(TDMatrix) 10 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 10 Offset 640 MemberDecorate 1253(TDMatrix) 11 ColMajor - MemberDecorate 1253(TDMatrix) 11 Offset 704 MemberDecorate 1253(TDMatrix) 11 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 11 Offset 704 MemberDecorate 1253(TDMatrix) 12 ColMajor - MemberDecorate 1253(TDMatrix) 12 Offset 768 MemberDecorate 1253(TDMatrix) 12 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 12 Offset 768 MemberDecorate 1253(TDMatrix) 13 ColMajor - MemberDecorate 1253(TDMatrix) 13 Offset 832 MemberDecorate 1253(TDMatrix) 13 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 13 Offset 832 MemberDecorate 1253(TDMatrix) 14 ColMajor - MemberDecorate 1253(TDMatrix) 14 Offset 880 MemberDecorate 1253(TDMatrix) 14 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 14 Offset 880 MemberDecorate 1253(TDMatrix) 15 ColMajor - MemberDecorate 1253(TDMatrix) 15 Offset 928 MemberDecorate 1253(TDMatrix) 15 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 15 Offset 928 Decorate 1254 ArrayStride 976 - MemberDecorate 1255(TDMatricesBlock) 0 Offset 0 Decorate 1255(TDMatricesBlock) Block - Decorate 1257 DescriptorSet 0 + MemberDecorate 1255(TDMatricesBlock) 0 Offset 0 Decorate 1257 Binding 1 + Decorate 1257 DescriptorSet 0 MemberDecorate 1258(TDCameraInfo) 0 Offset 0 MemberDecorate 1258(TDCameraInfo) 1 Offset 16 MemberDecorate 1258(TDCameraInfo) 2 Offset 32 MemberDecorate 1258(TDCameraInfo) 3 Offset 48 Decorate 1259 ArrayStride 64 - MemberDecorate 1260(TDCameraInfoBlock) 0 Offset 0 Decorate 1260(TDCameraInfoBlock) Block - Decorate 1262 DescriptorSet 0 + MemberDecorate 1260(TDCameraInfoBlock) 0 Offset 0 Decorate 1262 Binding 0 + Decorate 1262 DescriptorSet 0 MemberDecorate 1263(TDGeneral) 0 Offset 0 MemberDecorate 1263(TDGeneral) 1 Offset 16 MemberDecorate 1263(TDGeneral) 2 Offset 32 MemberDecorate 1263(TDGeneral) 3 Offset 48 MemberDecorate 1263(TDGeneral) 4 Offset 64 MemberDecorate 1263(TDGeneral) 5 Offset 80 - MemberDecorate 1264(TDGeneralBlock) 0 Offset 0 Decorate 1264(TDGeneralBlock) Block - Decorate 1266 DescriptorSet 0 + MemberDecorate 1264(TDGeneralBlock) 0 Offset 0 Decorate 1266 Binding 0 - Decorate 1270(sTDSineLookup) DescriptorSet 0 + Decorate 1266 DescriptorSet 0 Decorate 1270(sTDSineLookup) Binding 0 - Decorate 1271(sTDWhite2D) DescriptorSet 0 + Decorate 1270(sTDSineLookup) DescriptorSet 0 Decorate 1271(sTDWhite2D) Binding 0 - Decorate 1275(sTDWhite3D) DescriptorSet 0 + Decorate 1271(sTDWhite2D) DescriptorSet 0 Decorate 1275(sTDWhite3D) Binding 0 - Decorate 1276(sTDWhite2DArray) DescriptorSet 0 + Decorate 1275(sTDWhite3D) DescriptorSet 0 Decorate 1276(sTDWhite2DArray) Binding 0 - Decorate 1280(sTDWhiteCube) DescriptorSet 0 + Decorate 1276(sTDWhite2DArray) DescriptorSet 0 Decorate 1280(sTDWhiteCube) Binding 0 + Decorate 1280(sTDWhiteCube) DescriptorSet 0 MemberDecorate 1281(TDLight) 0 Offset 0 MemberDecorate 1281(TDLight) 1 Offset 16 MemberDecorate 1281(TDLight) 2 Offset 32 @@ -9118,36 +9118,36 @@ gl_FragCoord origin is upper left MemberDecorate 1281(TDLight) 6 Offset 96 MemberDecorate 1281(TDLight) 7 Offset 112 MemberDecorate 1281(TDLight) 8 ColMajor - MemberDecorate 1281(TDLight) 8 Offset 128 MemberDecorate 1281(TDLight) 8 MatrixStride 16 + MemberDecorate 1281(TDLight) 8 Offset 128 MemberDecorate 1281(TDLight) 9 ColMajor - MemberDecorate 1281(TDLight) 9 Offset 192 MemberDecorate 1281(TDLight) 9 MatrixStride 16 + MemberDecorate 1281(TDLight) 9 Offset 192 MemberDecorate 1281(TDLight) 10 Offset 256 MemberDecorate 1281(TDLight) 11 ColMajor - MemberDecorate 1281(TDLight) 11 Offset 272 MemberDecorate 1281(TDLight) 11 MatrixStride 16 + MemberDecorate 1281(TDLight) 11 Offset 272 Decorate 1282 ArrayStride 336 - MemberDecorate 1283(TDLightBlock) 0 Offset 0 Decorate 1283(TDLightBlock) Block - Decorate 1285 DescriptorSet 0 + MemberDecorate 1283(TDLightBlock) 0 Offset 0 Decorate 1285 Binding 0 + Decorate 1285 DescriptorSet 0 MemberDecorate 1286(TDEnvLight) 0 Offset 0 MemberDecorate 1286(TDEnvLight) 1 ColMajor - MemberDecorate 1286(TDEnvLight) 1 Offset 16 MemberDecorate 1286(TDEnvLight) 1 MatrixStride 16 + MemberDecorate 1286(TDEnvLight) 1 Offset 16 Decorate 1287 ArrayStride 64 - MemberDecorate 1288(TDEnvLightBlock) 0 Offset 0 Decorate 1288(TDEnvLightBlock) Block - Decorate 1290 DescriptorSet 0 + MemberDecorate 1288(TDEnvLightBlock) 0 Offset 0 Decorate 1290 Binding 0 + Decorate 1290 DescriptorSet 0 Decorate 1292 ArrayStride 16 + Decorate 1293(TDEnvLightBuffer) BufferBlock MemberDecorate 1293(TDEnvLightBuffer) 0 Restrict MemberDecorate 1293(TDEnvLightBuffer) 0 NonWritable MemberDecorate 1293(TDEnvLightBuffer) 0 Offset 0 - Decorate 1293(TDEnvLightBuffer) BufferBlock - Decorate 1296(uTDEnvLightBuffers) DescriptorSet 0 Decorate 1296(uTDEnvLightBuffers) Binding 0 + Decorate 1296(uTDEnvLightBuffers) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/vk.relaxed.stagelink.vert.out b/Test/baseResults/vk.relaxed.stagelink.vert.out index a9b96831..99da5419 100644 --- a/Test/baseResults/vk.relaxed.stagelink.vert.out +++ b/Test/baseResults/vk.relaxed.stagelink.vert.out @@ -465,6 +465,7 @@ gl_FragCoord origin is upper left Name 72 "gl_VertexIndex" Name 82 "gl_InstanceIndex" Name 90 "io" + Decorate 14(gl_AtomicCounterBlock_0) BufferBlock MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Volatile MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Offset 0 @@ -474,10 +475,10 @@ gl_FragCoord origin is upper left MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Volatile MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Coherent MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Offset 8 - Decorate 14(gl_AtomicCounterBlock_0) BufferBlock - Decorate 16 DescriptorSet 0 Decorate 16 Binding 1 + Decorate 16 DescriptorSet 0 Decorate 34 ArrayStride 16 + Decorate 35(gl_DefaultUniformBlock) Block MemberDecorate 35(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 35(gl_DefaultUniformBlock) 1 Offset 16 MemberDecorate 35(gl_DefaultUniformBlock) 2 Offset 24 @@ -485,9 +486,8 @@ gl_FragCoord origin is upper left MemberDecorate 35(gl_DefaultUniformBlock) 4 Offset 48 MemberDecorate 35(gl_DefaultUniformBlock) 5 Offset 64 MemberDecorate 35(gl_DefaultUniformBlock) 6 Offset 128 - Decorate 35(gl_DefaultUniformBlock) Block - Decorate 37 DescriptorSet 0 Decorate 37 Binding 0 + Decorate 37 DescriptorSet 0 Decorate 72(gl_VertexIndex) BuiltIn VertexIndex Decorate 82(gl_InstanceIndex) BuiltIn InstanceIndex Decorate 90(io) Location 0 @@ -619,6 +619,7 @@ gl_FragCoord origin is upper left Name 37 "" Name 68 "o" Name 70 "io" + Decorate 14(gl_AtomicCounterBlock_0) BufferBlock MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Volatile MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Offset 0 @@ -628,10 +629,10 @@ gl_FragCoord origin is upper left MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Volatile MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Coherent MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Offset 8 - Decorate 14(gl_AtomicCounterBlock_0) BufferBlock - Decorate 16 DescriptorSet 0 Decorate 16 Binding 1 + Decorate 16 DescriptorSet 0 Decorate 34 ArrayStride 16 + Decorate 35(gl_DefaultUniformBlock) Block MemberDecorate 35(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 35(gl_DefaultUniformBlock) 1 Offset 16 MemberDecorate 35(gl_DefaultUniformBlock) 2 Offset 24 @@ -639,9 +640,8 @@ gl_FragCoord origin is upper left MemberDecorate 35(gl_DefaultUniformBlock) 4 Offset 48 MemberDecorate 35(gl_DefaultUniformBlock) 5 Offset 64 MemberDecorate 35(gl_DefaultUniformBlock) 6 Offset 128 - Decorate 35(gl_DefaultUniformBlock) Block - Decorate 37 DescriptorSet 0 Decorate 37 Binding 0 + Decorate 37 DescriptorSet 0 Decorate 68(o) Location 0 Decorate 70(io) Location 0 2: TypeVoid diff --git a/Test/spv.multiple.var.same.const.frag b/Test/spv.multiple.var.same.const.frag new file mode 100644 index 00000000..ead9a3cf --- /dev/null +++ b/Test/spv.multiple.var.same.const.frag @@ -0,0 +1,6 @@ +#version 320 es +precision mediump float; +const float var0 = 1e-6; +const float var1 = 1e-6; +void main(){} + diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index 77e9cccf..8bf679d4 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -551,6 +551,7 @@ INSTANTIATE_TEST_SUITE_P( "spv.floatFetch.frag", "spv.atomicRvalue.error.vert", "spv.sampledImageBlock.frag", + "spv.multiple.var.same.const.frag", })), FileNameAsCustomTestSuffix ); From 8a5086efb01ce204a0060ae8fbe112aba935d44f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 06:16:32 +0000 Subject: [PATCH 009/108] Bump github/codeql-action from 3.25.10 to 3.25.11 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.10 to 3.25.11. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/23acc5c183826b7a8a97bce3cecc52db901f8251...b611370bb5703a7efb587f9d136a52ea24c5c38c) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 06ba4a06..1adff61c 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3.25.10 + uses: github/codeql-action/upload-sarif@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 with: sarif_file: results.sarif From 85262fb20e243743a70e49ee5d418c96556c2b38 Mon Sep 17 00:00:00 2001 From: Qingyuan Zheng Date: Tue, 2 Jul 2024 06:31:18 +0000 Subject: [PATCH 010/108] Fill correct file name to OpDebugFunction and add line info for parameters' OpDebugDeclare --- SPIRV/GlslangToSpv.cpp | 15 +- SPIRV/SpvBuilder.cpp | 5 +- SPIRV/SpvBuilder.h | 9 +- Test/baseResults/hlsl.pp.line2.frag.out | 74 +- Test/baseResults/hlsl.pp.line4.frag.out | 30 +- Test/baseResults/spv.debuginfo.glsl.frag.out | 1086 ++++++------- Test/baseResults/spv.debuginfo.hlsl.comp.out | 542 +++---- Test/baseResults/spv.debuginfo.hlsl.frag.out | 1418 ++++++++--------- Test/baseResults/spv.debuginfo.hlsl.geom.out | 224 +-- Test/baseResults/spv.debuginfo.hlsl.tesc.out | 1380 ++++++++-------- Test/baseResults/spv.debuginfo.hlsl.tese.out | 466 +++--- Test/baseResults/spv.debuginfo.hlsl.vert.out | 242 +-- .../spv.debuginfo.include.glsl.frag.out | 185 ++- Test/baseResults/spv.pp.line.frag.out | 74 +- 14 files changed, 2877 insertions(+), 2873 deletions(-) diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index 0fd79b1a..dc0a4f9f 100755 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -5518,12 +5518,16 @@ void TGlslangToSpvTraverser::makeFunctions(const glslang::TIntermSequence& glslF glslang::TIntermAggregate* glslFunction = glslFunctions[f]->getAsAggregate(); if (! glslFunction || glslFunction->getOp() != glslang::EOpFunction) continue; + + builder.setDebugSourceLocation(glslFunction->getLoc().line, glslFunction->getLoc().getFilename()); + if (isShaderEntryPoint(glslFunction)) { + // For HLSL, the entry function is actually a compiler generated function to resolve the difference of + // entry function signature between HLSL and SPIR-V. So we don't emit debug information for that. if (glslangIntermediate->getSource() != glslang::EShSourceHlsl) { - builder.setupDebugFunctionEntry(shaderEntry, glslangIntermediate->getEntryPointMangledName().c_str(), - glslFunction->getLoc().line, - std::vector(), // main function has no param - std::vector()); + builder.setupFunctionDebugInfo(shaderEntry, glslangIntermediate->getEntryPointMangledName().c_str(), + std::vector(), // main function has no param + std::vector()); } continue; } @@ -5576,8 +5580,7 @@ void TGlslangToSpvTraverser::makeFunctions(const glslang::TIntermSequence& glslF TranslatePrecisionDecoration(glslFunction->getType()), convertGlslangToSpvType(glslFunction->getType()), glslFunction->getName().c_str(), convertGlslangLinkageToSpv(glslFunction->getLinkType()), paramTypes, paramDecorations, &functionBlock); - builder.setupDebugFunctionEntry(function, glslFunction->getName().c_str(), glslFunction->getLoc().line, - paramTypes, paramNames); + builder.setupFunctionDebugInfo(function, glslFunction->getName().c_str(), paramTypes, paramNames); if (implicitThis) function->setImplicitThis(); diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index 738c9169..def3fa2e 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -2236,14 +2236,13 @@ Function* Builder::makeFunctionEntry(Decoration precision, Id returnType, const return function; } -void Builder::setupDebugFunctionEntry(Function* function, const char* name, int line, const std::vector& paramTypes, - const std::vector& paramNames) +void Builder::setupFunctionDebugInfo(Function* function, const char* name, const std::vector& paramTypes, + const std::vector& paramNames) { if (!emitNonSemanticShaderDebugInfo) return; - currentLine = line; Id nameId = getStringId(unmangleFunctionName(name)); Id funcTypeId = function->getFuncTypeId(); assert(debugId[funcTypeId] != 0); diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h index ab4d5abe..f86dd81b 100644 --- a/SPIRV/SpvBuilder.h +++ b/SPIRV/SpvBuilder.h @@ -247,9 +247,12 @@ public: Id makeDebugFunction(Function* function, Id nameId, Id funcTypeId); Id makeDebugLexicalBlock(uint32_t line); std::string unmangleFunctionName(std::string const& name) const; - void setupDebugFunctionEntry(Function* function, const char* name, int line, - const std::vector& paramTypes, - const std::vector& paramNames); + + // Initialize non-semantic debug information for a function, including those of: + // - The function definition + // - The function parameters + void setupFunctionDebugInfo(Function* function, const char* name, const std::vector& paramTypes, + const std::vector& paramNames); // accelerationStructureNV type Id makeAccelerationStructureType(); diff --git a/Test/baseResults/hlsl.pp.line2.frag.out b/Test/baseResults/hlsl.pp.line2.frag.out index 48697a6e..0d8131ca 100644 --- a/Test/baseResults/hlsl.pp.line2.frag.out +++ b/Test/baseResults/hlsl.pp.line2.frag.out @@ -9,7 +9,7 @@ hlsl.pp.line2.frag EntryPoint Fragment 5 "MainPs" 71 75 ExecutionMode 5 OriginUpperLeft 1: String "hlsl.pp.line2.frag" - 17: String "foo.frag" + 7: String "foo.frag" 32: String "foo.h" 42: String "foo2.h" Source HLSL 500 1 "// OpModuleProcessed auto-map-locations @@ -62,12 +62,12 @@ PS_OUTPUT MainPs ( PS_INPUT i ) " Name 5 "MainPs" - Name 9 "PS_INPUT" - MemberName 9(PS_INPUT) 0 "vTextureCoords" - Name 12 "PS_OUTPUT" - MemberName 12(PS_OUTPUT) 0 "vColor" - Name 15 "@MainPs(struct-PS_INPUT-vf21;" - Name 14 "i" + Name 10 "PS_INPUT" + MemberName 10(PS_INPUT) 0 "vTextureCoords" + Name 13 "PS_OUTPUT" + MemberName 13(PS_OUTPUT) 0 "vColor" + Name 16 "@MainPs(struct-PS_INPUT-vf21;" + Name 15 "i" Name 19 "PerViewConstantBuffer_t" MemberName 19(PerViewConstantBuffer_t) 0 "g_nDataIdx" MemberName 19(PerViewConstantBuffer_t) 1 "g_nDataIdx2" @@ -93,13 +93,13 @@ PS_OUTPUT MainPs ( PS_INPUT i ) Decorate 75(@entryPointOutput.vColor) Location 0 3: TypeVoid 4: TypeFunction 3 - 7: TypeFloat 32 - 8: TypeVector 7(float) 2 - 9(PS_INPUT): TypeStruct 8(fvec2) - 10: TypePointer Function 9(PS_INPUT) - 11: TypeVector 7(float) 4 - 12(PS_OUTPUT): TypeStruct 11(fvec4) - 13: TypeFunction 12(PS_OUTPUT) 10(ptr) + 8: TypeFloat 32 + 9: TypeVector 8(float) 2 + 10(PS_INPUT): TypeStruct 9(fvec2) + 11: TypePointer Function 10(PS_INPUT) + 12: TypeVector 8(float) 4 + 13(PS_OUTPUT): TypeStruct 12(fvec4) + 14: TypeFunction 13(PS_OUTPUT) 11(ptr) 18: TypeInt 32 0 19(PerViewConstantBuffer_t): TypeStruct 18(int) 18(int) 18(int) 20: TypePointer PushConstant 19(PerViewConstantBuffer_t) @@ -112,8 +112,8 @@ PS_OUTPUT MainPs ( PS_INPUT i ) 33: TypePointer Function 18(int) 35: 22(int) Constant 0 39: 22(int) Constant 1 - 43: TypePointer Function 12(PS_OUTPUT) - 45: TypeImage 7(float) 2D sampled format:Unknown + 43: TypePointer Function 13(PS_OUTPUT) + 45: TypeImage 8(float) 2D sampled format:Unknown 46: 18(int) Constant 128 47: TypeArray 45 46 48: TypePointer UniformConstant 47 @@ -123,35 +123,35 @@ PS_OUTPUT MainPs ( PS_INPUT i ) 55: TypePointer UniformConstant 54 56(g_sAniso): 55(ptr) Variable UniformConstant 58: TypeSampledImage 45 - 60: TypePointer Function 8(fvec2) - 64: TypePointer Function 11(fvec4) - 70: TypePointer Input 8(fvec2) + 60: TypePointer Function 9(fvec2) + 64: TypePointer Function 12(fvec4) + 70: TypePointer Input 9(fvec2) 71(i.vTextureCoords): 70(ptr) Variable Input - 74: TypePointer Output 11(fvec4) + 74: TypePointer Output 12(fvec4) 75(@entryPointOutput.vColor): 74(ptr) Variable Output - Line 17 23 1 + Line 7 23 1 5(MainPs): 3 Function None 4 6: Label - 69(i): 10(ptr) Variable Function - 76(param): 10(ptr) Variable Function - Line 17 23 0 - 72: 8(fvec2) Load 71(i.vTextureCoords) + 69(i): 11(ptr) Variable Function + 76(param): 11(ptr) Variable Function + Line 7 23 0 + 72: 9(fvec2) Load 71(i.vTextureCoords) 73: 60(ptr) AccessChain 69(i) 35 Store 73 72 - 77: 9(PS_INPUT) Load 69(i) + 77:10(PS_INPUT) Load 69(i) Store 76(param) 77 - 78:12(PS_OUTPUT) FunctionCall 15(@MainPs(struct-PS_INPUT-vf21;) 76(param) - 79: 11(fvec4) CompositeExtract 78 0 + 78:13(PS_OUTPUT) FunctionCall 16(@MainPs(struct-PS_INPUT-vf21;) 76(param) + 79: 12(fvec4) CompositeExtract 78 0 Store 75(@entryPointOutput.vColor) 79 Return FunctionEnd - Line 17 23 1 -15(@MainPs(struct-PS_INPUT-vf21;):12(PS_OUTPUT) Function None 13 - 14(i): 10(ptr) FunctionParameter - 16: Label + Line 7 23 1 +16(@MainPs(struct-PS_INPUT-vf21;):13(PS_OUTPUT) Function None 14 + 15(i): 11(ptr) FunctionParameter + 17: Label 34(u): 33(ptr) Variable Function 44(ps_output): 43(ptr) Variable Function - Line 17 47 0 + Line 7 47 0 25: 24(ptr) AccessChain 21 23 26: 18(int) Load 25 29: 27(bool) INotEqual 26 28 @@ -176,12 +176,12 @@ PS_OUTPUT MainPs ( PS_INPUT i ) 53: 45 Load 52 57: 54 Load 56(g_sAniso) 59: 58 SampledImage 53 57 - 61: 60(ptr) AccessChain 14(i) 35 - 62: 8(fvec2) Load 61 - 63: 11(fvec4) ImageSampleImplicitLod 59 62 + 61: 60(ptr) AccessChain 15(i) 35 + 62: 9(fvec2) Load 61 + 63: 12(fvec4) ImageSampleImplicitLod 59 62 65: 64(ptr) AccessChain 44(ps_output) 35 Store 65 63 Line 42 105 0 - 66:12(PS_OUTPUT) Load 44(ps_output) + 66:13(PS_OUTPUT) Load 44(ps_output) ReturnValue 66 FunctionEnd diff --git a/Test/baseResults/hlsl.pp.line4.frag.out b/Test/baseResults/hlsl.pp.line4.frag.out index af2ac0fe..aeca142a 100644 --- a/Test/baseResults/hlsl.pp.line4.frag.out +++ b/Test/baseResults/hlsl.pp.line4.frag.out @@ -9,7 +9,7 @@ hlsl.pp.line4.frag EntryPoint Fragment 5 "MainPs" 70 74 ExecutionMode 5 OriginUpperLeft 1: String "hlsl.pp.line4.frag" - 17: String "C:\\Users\\Greg\\shaders\\line\\foo4.frag" + 7: String "C:\\Users\\Greg\\shaders\\line\\foo4.frag" 32: String "C:\\Users\\Greg\\shaders\\line\\u1.h" Source HLSL 500 1 "// OpModuleProcessed auto-map-locations // OpModuleProcessed auto-map-bindings @@ -84,9 +84,9 @@ PS_OUTPUT MainPs ( PS_INPUT i ) Decorate 74(@entryPointOutput.vColor) Location 0 3: TypeVoid 4: TypeFunction 3 - 7: TypeFloat 32 - 8: TypeVector 7(float) 2 - 11: TypeVector 7(float) 4 + 8: TypeFloat 32 + 9: TypeVector 8(float) 2 + 12: TypeVector 8(float) 4 18: TypeInt 32 0 19(PerViewConstantBuffer_t): TypeStruct 18(int) 18(int) 18(int) 20: TypePointer PushConstant 19(PerViewConstantBuffer_t) @@ -98,7 +98,7 @@ PS_OUTPUT MainPs ( PS_INPUT i ) 28: 18(int) Constant 0 35: 22(int) Constant 0 39: 22(int) Constant 1 - 44: TypeImage 7(float) 2D sampled format:Unknown + 44: TypeImage 8(float) 2D sampled format:Unknown 45: 18(int) Constant 128 46: TypeArray 44 45 47: TypePointer UniformConstant 46 @@ -108,17 +108,17 @@ PS_OUTPUT MainPs ( PS_INPUT i ) 54: TypePointer UniformConstant 53 55(g_sAniso): 54(ptr) Variable UniformConstant 57: TypeSampledImage 44 - 69: TypePointer Input 8(fvec2) + 69: TypePointer Input 9(fvec2) 70(i.vTextureCoords): 69(ptr) Variable Input - 73: TypePointer Output 11(fvec4) + 73: TypePointer Output 12(fvec4) 74(@entryPointOutput.vColor): 73(ptr) Variable Output - Line 17 25 1 + Line 7 25 1 5(MainPs): 3 Function None 4 NoLine 6: Label - Line 17 25 0 - 71: 8(fvec2) Load 70(i.vTextureCoords) - Line 17 29 0 + Line 7 25 0 + 71: 9(fvec2) Load 70(i.vTextureCoords) + Line 7 29 0 83: 24(ptr) AccessChain 21 23 84: 18(int) Load 83 85: 27(bool) INotEqual 84 28 @@ -130,19 +130,19 @@ PS_OUTPUT MainPs ( PS_INPUT i ) 88: 18(int) Load 87 Branch 92 89: Label - Line 17 32 0 + Line 7 32 0 90: 24(ptr) AccessChain 21 39 91: 18(int) Load 90 Branch 92 92: Label 115: 18(int) Phi 88 86 91 89 - Line 17 33 0 + Line 7 33 0 94: 50(ptr) AccessChain 48(g_tColor) 115 95: 44 Load 94 96: 53 Load 55(g_sAniso) 97: 57 SampledImage 95 96 - 100: 11(fvec4) ImageSampleImplicitLod 97 71 - Line 17 25 0 + 100: 12(fvec4) ImageSampleImplicitLod 97 71 + Line 7 25 0 Store 74(@entryPointOutput.vColor) 100 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.frag.out b/Test/baseResults/spv.debuginfo.glsl.frag.out index b2370599..cf30e573 100644 --- a/Test/baseResults/spv.debuginfo.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.glsl.frag.out @@ -223,29 +223,29 @@ void main() 56: String "offset" 64: String "filterPCF" 68: String "sc" - 83: String "shadow" - 87: String "fragcolor" - 91: String "fragpos" - 93: String "main" - 97: String "int" - 103: String "global_var" - 118: String "shadowCoord" - 140: String "bool" - 161: String "dist" - 168: String "type.2d.image" - 169: String "@type.2d.image" - 173: String "type.sampled.image" - 174: String "@type.sampled.image" - 179: String "samplerShadowMap" - 229: String "texDim" - 241: String "scale" - 248: String "dx" - 262: String "dy" - 274: String "shadowFactor" - 280: String "count" - 286: String "range" - 293: String "x" - 313: String "y" + 84: String "shadow" + 88: String "fragcolor" + 93: String "fragpos" + 95: String "main" + 99: String "int" + 105: String "global_var" + 120: String "shadowCoord" + 142: String "bool" + 163: String "dist" + 170: String "type.2d.image" + 171: String "@type.2d.image" + 175: String "type.sampled.image" + 176: String "@type.sampled.image" + 181: String "samplerShadowMap" + 230: String "texDim" + 242: String "scale" + 249: String "dx" + 263: String "dy" + 275: String "shadowFactor" + 281: String "count" + 287: String "range" + 294: String "x" + 314: String "y" 379: String "i" 397: String "shadowClip" 407: String "color" @@ -286,26 +286,26 @@ void main() Name 62 "filterPCF(vf4;f1;" Name 60 "sc" Name 61 "layer" - Name 81 "shadow(vf3;vf3;" - Name 79 "fragcolor" - Name 80 "fragpos" - Name 101 "global_var" - Name 110 "shadow" - Name 116 "shadowCoord" - Name 159 "dist" - Name 177 "samplerShadowMap" - Name 227 "texDim" - Name 239 "scale" - Name 246 "dx" - Name 260 "dy" - Name 272 "shadowFactor" - Name 278 "count" - Name 284 "range" - Name 291 "x" - Name 311 "y" - Name 344 "param" - Name 346 "param" - Name 348 "param" + Name 82 "shadow(vf3;vf3;" + Name 80 "fragcolor" + Name 81 "fragpos" + Name 103 "global_var" + Name 112 "shadow" + Name 118 "shadowCoord" + Name 161 "dist" + Name 179 "samplerShadowMap" + Name 228 "texDim" + Name 240 "scale" + Name 247 "dx" + Name 261 "dy" + Name 273 "shadowFactor" + Name 279 "count" + Name 285 "range" + Name 292 "x" + Name 312 "y" + Name 345 "param" + Name 347 "param" + Name 349 "param" Name 377 "i" Name 395 "shadowClip" Name 405 "Light" @@ -352,8 +352,8 @@ void main() Name 814 "spec" Name 861 "param" Name 866 "param" - Decorate 177(samplerShadowMap) Binding 5 - Decorate 177(samplerShadowMap) DescriptorSet 0 + Decorate 179(samplerShadowMap) Binding 5 + Decorate 179(samplerShadowMap) DescriptorSet 0 MemberDecorate 405(Light) 0 Offset 0 MemberDecorate 405(Light) 1 Offset 16 MemberDecorate 405(Light) 2 Offset 32 @@ -416,93 +416,93 @@ void main() 66: 7(int) Constant 76 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 64 59 41 66 12 44 64 13 66 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 68 21 41 66 12 65 20 45 - 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 18 41 66 12 65 20 28 - 73: TypeVector 16(float) 3 - 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 13 - 75: TypePointer Function 73(fvec3) - 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 74 23 12 - 77: TypeFunction 73(fvec3) 75(ptr) 75(ptr) - 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 74 74 74 - 85: 7(int) Constant 99 - 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 83 78 41 85 12 44 83 13 85 - 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 74 41 85 12 84 20 45 - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 91 74 41 85 12 84 20 28 - 95: 7(int) Constant 116 - 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 93 6 41 95 12 44 93 13 95 - 96: TypeInt 32 1 - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 97 10 20 12 - 99: TypePointer Private 96(int) - 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 11 12 - 101(global_var): 99(ptr) Variable Private - 104: 7(int) Constant 41 - 105: 7(int) Constant 8 - 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 103 98 41 104 12 44 103 101(global_var) 105 - 106: 96(int) Constant 0 - 112: 7(int) Constant 61 - 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 18 41 112 12 40 20 - 115: 16(float) Constant 1065353216 - 119: 7(int) Constant 62 - 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 118 21 41 119 12 40 20 - 129: 7(int) Constant 63 - 131: 16(float) Constant 1056964608 - 139: TypeBool - 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 140 10 28 12 - 144: 7(int) Constant 65 - 146: 16(float) Constant 3212836864 - 162: 7(int) Constant 67 - 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 161 18 41 162 12 40 20 - 166: TypeImage 16(float) 2D array sampled format:Unknown - 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 168 12 41 162 12 44 169 170 13 - 171: TypeSampledImage 166 - 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 173 12 41 162 12 44 174 170 13 - 175: TypePointer UniformConstant 171 - 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 172 12 12 -177(samplerShadowMap): 175(ptr) Variable UniformConstant - 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 179 172 41 162 12 44 179 177(samplerShadowMap) 105 - 193: 7(int) Constant 68 - 195: 16(float) Constant 0 - 209: 16(float) Constant 1048576000 - 212: 7(int) Constant 70 - 217: 7(int) Constant 73 - 223: TypeVector 96(int) 2 - 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 98 28 - 225: TypePointer Function 223(ivec2) - 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 224 23 12 - 230: 7(int) Constant 78 - 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 224 41 230 12 65 20 - 235: TypeVector 96(int) 3 - 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 98 13 - 242: 7(int) Constant 79 - 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 241 18 41 242 12 65 20 - 245: 16(float) Constant 1069547520 - 249: 7(int) Constant 80 - 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 248 18 41 249 12 65 20 - 254: TypePointer Function 96(int) - 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 23 12 - 263: 7(int) Constant 81 - 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 262 18 41 263 12 65 20 - 275: 7(int) Constant 83 - 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 274 18 41 275 12 65 20 - 281: 7(int) Constant 84 - 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 280 98 41 281 12 65 20 - 287: 7(int) Constant 85 - 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 286 98 41 287 12 65 20 - 290: 96(int) Constant 1 - 294: 7(int) Constant 87 - 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 293 98 41 294 12 65 20 - 314: 7(int) Constant 89 - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 313 98 41 314 12 65 20 - 335: 7(int) Constant 91 - 354: 7(int) Constant 92 - 368: 7(int) Constant 96 + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 18 41 66 12 65 20 28 + 74: TypeVector 16(float) 3 + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 13 + 76: TypePointer Function 74(fvec3) + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 23 12 + 78: TypeFunction 74(fvec3) 76(ptr) 76(ptr) + 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 75 75 75 + 86: 7(int) Constant 99 + 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 84 79 41 86 12 44 84 13 86 + 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 41 86 12 85 20 45 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 41 86 12 85 20 28 + 97: 7(int) Constant 116 + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 95 6 41 97 12 44 95 13 97 + 98: TypeInt 32 1 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 99 10 20 12 + 101: TypePointer Private 98(int) + 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 11 12 + 103(global_var): 101(ptr) Variable Private + 106: 7(int) Constant 41 + 107: 7(int) Constant 8 + 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 105 100 41 106 12 44 105 103(global_var) 107 + 108: 98(int) Constant 0 + 114: 7(int) Constant 61 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 84 18 41 114 12 40 20 + 117: 16(float) Constant 1065353216 + 121: 7(int) Constant 62 + 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 120 21 41 121 12 40 20 + 131: 7(int) Constant 63 + 133: 16(float) Constant 1056964608 + 141: TypeBool + 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 142 10 28 12 + 146: 7(int) Constant 65 + 148: 16(float) Constant 3212836864 + 164: 7(int) Constant 67 + 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 163 18 41 164 12 40 20 + 168: TypeImage 16(float) 2D array sampled format:Unknown + 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 170 12 41 164 12 44 171 172 13 + 173: TypeSampledImage 168 + 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 175 12 41 164 12 44 176 172 13 + 177: TypePointer UniformConstant 173 + 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 174 12 12 +179(samplerShadowMap): 177(ptr) Variable UniformConstant + 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 181 174 41 164 12 44 181 179(samplerShadowMap) 107 + 195: 7(int) Constant 68 + 197: 16(float) Constant 0 + 211: 16(float) Constant 1048576000 + 214: 7(int) Constant 70 + 219: 7(int) Constant 73 + 224: TypeVector 98(int) 2 + 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 28 + 226: TypePointer Function 224(ivec2) + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 225 23 12 + 231: 7(int) Constant 78 + 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 230 225 41 231 12 65 20 + 236: TypeVector 98(int) 3 + 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 13 + 243: 7(int) Constant 79 + 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 242 18 41 243 12 65 20 + 246: 16(float) Constant 1069547520 + 250: 7(int) Constant 80 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 18 41 250 12 65 20 + 255: TypePointer Function 98(int) + 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 23 12 + 264: 7(int) Constant 81 + 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 263 18 41 264 12 65 20 + 276: 7(int) Constant 83 + 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 275 18 41 276 12 65 20 + 282: 7(int) Constant 84 + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 281 100 41 282 12 65 20 + 288: 7(int) Constant 85 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 287 100 41 288 12 65 20 + 291: 98(int) Constant 1 + 295: 7(int) Constant 87 + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 294 100 41 295 12 65 20 + 315: 7(int) Constant 89 + 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 314 100 41 315 12 65 20 + 336: 7(int) Constant 91 + 355: 7(int) Constant 92 + 369: 7(int) Constant 96 380: 7(int) Constant 100 - 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 379 98 41 380 12 84 20 - 393: 96(int) Constant 3 + 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 379 100 41 380 12 85 20 + 393: 98(int) Constant 3 398: 7(int) Constant 102 - 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 397 21 41 398 12 84 20 + 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 397 21 41 398 12 85 20 402: TypeMatrix 19(fvec4) 4 - 404: 139(bool) ConstantTrue + 404: 141(bool) ConstantTrue 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 404 405(Light): TypeStruct 19(fvec4) 19(fvec4) 19(fvec4) 402 408: 7(int) Constant 47 @@ -514,56 +514,56 @@ void main() 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 415 45 41 398 12 44 415 12 13 406 409 410 411 416: TypeArray 405(Light) 13 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 414 13 - 418(UBO): TypeStruct 19(fvec4) 416 96(int) 96(int) + 418(UBO): TypeStruct 19(fvec4) 416 98(int) 98(int) 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 422: 7(int) Constant 54 - 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 421 417 41 422 105 12 12 13 + 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 421 417 41 422 107 12 12 13 425: 7(int) Constant 56 - 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 424 98 41 425 11 12 12 13 - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 424 98 41 425 11 12 12 13 + 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 424 100 41 425 11 12 12 13 + 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 424 100 41 425 11 12 12 13 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 428 45 41 398 12 44 428 12 13 419 420 423 426 429: TypePointer Uniform 418(UBO) 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 427 28 12 431(ubo): 429(ptr) Variable Uniform - 432: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 433 427 41 398 12 44 433 431(ubo) 105 + 432: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 433 427 41 398 12 44 433 431(ubo) 107 435: TypePointer Uniform 402 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 403 28 12 447: 7(int) Constant 106 - 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 274 18 41 447 12 84 20 + 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 275 18 41 447 12 85 20 458: 7(int) Constant 111 468: 7(int) Constant 113 478: 7(int) Constant 119 - 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 477 74 41 478 12 94 20 + 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 477 75 41 478 12 96 20 481: TypeImage 16(float) 2D sampled format:Unknown - 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 168 12 41 478 12 44 169 170 13 + 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 170 12 41 478 12 44 171 172 13 483: TypeSampledImage 481 - 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 173 12 41 478 12 44 174 170 13 + 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 175 12 41 478 12 44 176 172 13 485: TypePointer UniformConstant 483 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 484 12 12 487(samplerposition): 485(ptr) Variable UniformConstant - 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 489 484 41 478 12 44 489 487(samplerposition) 105 + 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 489 484 41 478 12 44 489 487(samplerposition) 107 491: TypePointer Input 27(fvec2) 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 29 45 12 493(inUV): 491(ptr) Variable Input - 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 495 29 41 478 12 44 495 493(inUV) 105 + 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 495 29 41 478 12 44 495 493(inUV) 107 502: 7(int) Constant 120 - 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 501 74 41 502 12 94 20 + 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 501 75 41 502 12 96 20 505(samplerNormal): 485(ptr) Variable UniformConstant - 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 507 484 41 502 12 44 507 505(samplerNormal) 105 + 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 507 484 41 502 12 44 507 505(samplerNormal) 107 515: 7(int) Constant 121 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 514 21 41 515 12 94 20 + 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 514 21 41 515 12 96 20 518(samplerAlbedo): 485(ptr) Variable UniformConstant - 519: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 520 484 41 515 12 44 520 518(samplerAlbedo) 105 - 524: TypePointer Uniform 96(int) - 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 28 12 + 519: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 520 484 41 515 12 44 520 518(samplerAlbedo) 107 + 524: TypePointer Uniform 98(int) + 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 28 12 528: 7(int) Constant 124 536: 7(int) Constant 125 544: TypePointer Output 19(fvec4) 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 546(outFragColor): 544(ptr) Variable Output 549: 7(int) Constant 127 - 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 548 21 41 549 12 44 548 546(outFragColor) 105 - 550: 73(fvec3) ConstantComposite 115 115 115 + 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 548 21 41 549 12 44 548 546(outFragColor) 107 + 550: 74(fvec3) ConstantComposite 117 117 117 557: TypePointer Output 16(float) 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 566: 7(int) Constant 128 @@ -578,102 +578,102 @@ void main() 631: 7(int) Constant 142 633: 7(int) Constant 143 638: 7(int) Constant 147 - 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 74 41 638 12 94 20 + 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 41 638 12 96 20 644: 16(float) Constant 1036831949 649: 7(int) Constant 149 - 647: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 648 74 41 649 12 94 20 + 647: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 648 75 41 649 12 96 20 656: 7(int) Constant 151 - 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 379 98 41 656 12 94 20 + 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 379 100 41 656 12 96 20 673: 7(int) Constant 154 - 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 672 74 41 673 12 94 20 + 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 672 75 41 673 12 96 20 678: TypePointer Uniform 19(fvec4) 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 28 12 687: 7(int) Constant 156 - 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 161 18 41 687 12 94 20 + 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 163 18 41 687 12 96 20 694: 7(int) Constant 157 699: 7(int) Constant 160 - 697: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 698 74 41 699 12 94 20 + 697: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 698 75 41 699 12 96 20 709: 7(int) Constant 161 714: 7(int) Constant 163 - 712: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 713 18 41 714 12 94 20 + 712: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 713 18 41 714 12 96 20 717: 16(float) Constant 1064781546 721: 7(int) Constant 164 - 719: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 720 18 41 721 12 94 20 + 719: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 720 18 41 721 12 96 20 724: 16(float) Constant 1063781322 728: 7(int) Constant 165 - 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 727 18 41 728 12 94 20 + 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 727 18 41 728 12 96 20 731: 16(float) Constant 1120403456 735: 7(int) Constant 168 - 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 734 74 41 735 12 94 20 + 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 734 75 41 735 12 96 20 751: 7(int) Constant 171 - 749: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 750 18 41 751 12 94 20 + 749: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 750 18 41 751 12 96 20 760: 7(int) Constant 172 - 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 759 18 41 760 12 94 20 + 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 759 18 41 760 12 96 20 770: 7(int) Constant 173 - 768: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 769 18 41 770 12 94 20 + 768: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 769 18 41 770 12 96 20 779: 7(int) Constant 176 - 777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 778 18 41 779 12 94 20 + 777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 778 18 41 779 12 96 20 789: 7(int) Constant 177 - 787: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 788 74 41 789 12 94 20 + 787: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 788 75 41 789 12 96 20 797: 7(int) Constant 180 - 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 796 74 41 797 12 94 20 + 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 796 75 41 797 12 96 20 807: 7(int) Constant 181 - 805: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 806 18 41 807 12 94 20 + 805: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 806 18 41 807 12 96 20 817: 7(int) Constant 182 - 815: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 816 74 41 817 12 94 20 + 815: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 816 75 41 817 12 96 20 821: 16(float) Constant 1098907648 826: 16(float) Constant 1075838976 831: 7(int) Constant 184 - 839: 96(int) Constant 2 + 839: 98(int) Constant 2 856: 7(int) Constant 188 865: 7(int) Constant 190 872: 7(int) Constant 193 14(main): 4 Function None 5 15: Label - 475(fragPos): 75(ptr) Variable Function - 499(normal): 75(ptr) Variable Function + 475(fragPos): 76(ptr) Variable Function + 499(normal): 76(ptr) Variable Function 512(albedo): 22(ptr) Variable Function - 551(param): 75(ptr) Variable Function - 554(param): 75(ptr) Variable Function - 636(fragcolor): 75(ptr) Variable Function - 646(N): 75(ptr) Variable Function - 654(i): 254(ptr) Variable Function - 670(L): 75(ptr) Variable Function + 551(param): 76(ptr) Variable Function + 554(param): 76(ptr) Variable Function + 636(fragcolor): 76(ptr) Variable Function + 646(N): 76(ptr) Variable Function + 654(i): 255(ptr) Variable Function + 670(L): 76(ptr) Variable Function 685(dist): 25(ptr) Variable Function - 696(V): 75(ptr) Variable Function + 696(V): 76(ptr) Variable Function 711(lightCosInnerAngle): 25(ptr) Variable Function 718(lightCosOuterAngle): 25(ptr) Variable Function 725(lightRange): 25(ptr) Variable Function - 732(dir): 75(ptr) Variable Function + 732(dir): 76(ptr) Variable Function 748(cosDir): 25(ptr) Variable Function 757(spotEffect): 25(ptr) Variable Function 767(heightAttenuation): 25(ptr) Variable Function 776(NdotL): 25(ptr) Variable Function - 786(diff): 75(ptr) Variable Function - 794(R): 75(ptr) Variable Function + 786(diff): 76(ptr) Variable Function + 794(R): 76(ptr) Variable Function 804(NdotR): 25(ptr) Variable Function - 814(spec): 75(ptr) Variable Function - 861(param): 75(ptr) Variable Function - 866(param): 75(ptr) Variable Function - 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 - 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 104 104 12 12 - Store 101(global_var) 106 - 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 95 95 12 12 - 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 94 14(main) + 814(spec): 76(ptr) Variable Function + 861(param): 76(ptr) Variable Function + 866(param): 76(ptr) Variable Function + 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 110: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 106 106 12 12 + Store 103(global_var) 108 + 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 97 97 12 12 + 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 96 14(main) 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 478 478 12 12 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 476 475(fragPos) 49 490: 483 Load 487(samplerposition) 496: 27(fvec2) Load 493(inUV) 497: 19(fvec4) ImageSampleImplicitLod 490 496 - 498: 73(fvec3) VectorShuffle 497 497 0 1 2 + 498: 74(fvec3) VectorShuffle 497 497 0 1 2 Store 475(fragPos) 498 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 502 502 12 12 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 500 499(normal) 49 508: 483 Load 505(samplerNormal) 509: 27(fvec2) Load 493(inUV) 510: 19(fvec4) ImageSampleImplicitLod 508 509 - 511: 73(fvec3) VectorShuffle 510 510 0 1 2 + 511: 74(fvec3) VectorShuffle 510 510 0 1 2 Store 499(normal) 511 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 515 515 12 12 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 513 512(albedo) 49 @@ -683,15 +683,15 @@ void main() Store 512(albedo) 523 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 528 528 12 12 526: 524(ptr) AccessChain 431(ubo) 393 - 529: 96(int) Load 526 - 530: 139(bool) SGreaterThan 529 106 + 529: 98(int) Load 526 + 530: 141(bool) SGreaterThan 529 108 SelectionMerge 532 None BranchConditional 530 531 532 531: Label - 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 536 536 12 12 533: 524(ptr) AccessChain 431(ubo) 393 - 537: 96(int) Load 533 + 537: 98(int) Load 533 SelectionMerge 543 None Switch 537 543 case 1: 538 @@ -700,12 +700,12 @@ void main() case 4: 541 case 5: 542 538: Label - 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 553: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 549 549 12 12 Store 551(param) 550 - 555: 73(fvec3) Load 475(fragPos) + 555: 74(fvec3) Load 475(fragPos) Store 554(param) 555 - 556: 73(fvec3) FunctionCall 81(shadow(vf3;vf3;) 551(param) 554(param) + 556: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 551(param) 554(param) 559: 557(ptr) AccessChain 546(outFragColor) 12 560: 16(float) CompositeExtract 556 0 Store 559 560 @@ -718,9 +718,9 @@ void main() 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 566 566 12 12 Branch 543 539: Label - 570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 572 572 12 12 - 569: 73(fvec3) Load 475(fragPos) + 569: 74(fvec3) Load 475(fragPos) 573: 557(ptr) AccessChain 546(outFragColor) 12 574: 16(float) CompositeExtract 569 0 Store 573 574 @@ -733,9 +733,9 @@ void main() 579: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 580 580 12 12 Branch 543 540: Label - 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 585: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 586 586 12 12 - 583: 73(fvec3) Load 499(normal) + 583: 74(fvec3) Load 499(normal) 587: 557(ptr) AccessChain 546(outFragColor) 12 588: 16(float) CompositeExtract 583 0 Store 587 588 @@ -748,10 +748,10 @@ void main() 593: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 594 594 12 12 Branch 543 541: Label - 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 599: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 600 600 12 12 597: 19(fvec4) Load 512(albedo) - 601: 73(fvec3) VectorShuffle 597 597 0 1 2 + 601: 74(fvec3) VectorShuffle 597 597 0 1 2 602: 557(ptr) AccessChain 546(outFragColor) 12 603: 16(float) CompositeExtract 601 0 Store 602 603 @@ -764,10 +764,10 @@ void main() 608: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 609 609 12 12 Branch 543 542: Label - 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 614: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 615 615 12 12 612: 19(fvec4) Load 512(albedo) - 616: 73(fvec3) VectorShuffle 612 612 3 3 3 + 616: 74(fvec3) VectorShuffle 612 612 3 3 3 617: 557(ptr) AccessChain 546(outFragColor) 12 618: 16(float) CompositeExtract 616 0 Store 617 618 @@ -780,71 +780,71 @@ void main() 623: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 624 624 12 12 Branch 543 543: Label - 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 630: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 631 631 12 12 628: 557(ptr) AccessChain 546(outFragColor) 13 - Store 628 115 + Store 628 117 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 633 633 12 12 Return 532: Label - 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 641: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 638 638 12 12 639: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 637 636(fragcolor) 49 642: 19(fvec4) Load 512(albedo) - 643: 73(fvec3) VectorShuffle 642 642 0 1 2 - 645: 73(fvec3) VectorTimesScalar 643 644 + 643: 74(fvec3) VectorShuffle 642 642 0 1 2 + 645: 74(fvec3) VectorTimesScalar 643 644 Store 636(fragcolor) 645 651: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 649 649 12 12 650: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 647 646(N) 49 - 652: 73(fvec3) Load 499(normal) - 653: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 652 + 652: 74(fvec3) Load 499(normal) + 653: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 652 Store 646(N) 653 658: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 657: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 655 654(i) 49 - Store 654(i) 106 + Store 654(i) 108 Branch 659 659: Label - 663: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 663: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 LoopMerge 661 662 None Branch 665 665: Label - 667: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 667: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 668: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 - 666: 96(int) Load 654(i) - 669: 139(bool) SLessThan 666 393 + 666: 98(int) Load 654(i) + 669: 141(bool) SLessThan 666 393 BranchConditional 669 660 661 660: Label - 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 673 673 12 12 674: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 671 670(L) 49 - 677: 96(int) Load 654(i) - 680: 678(ptr) AccessChain 431(ubo) 290 677 106 + 677: 98(int) Load 654(i) + 680: 678(ptr) AccessChain 431(ubo) 291 677 108 681: 19(fvec4) Load 680 - 682: 73(fvec3) VectorShuffle 681 681 0 1 2 - 683: 73(fvec3) Load 475(fragPos) - 684: 73(fvec3) FSub 682 683 + 682: 74(fvec3) VectorShuffle 681 681 0 1 2 + 683: 74(fvec3) Load 475(fragPos) + 684: 74(fvec3) FSub 682 683 Store 670(L) 684 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 687 687 12 12 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 686 685(dist) 49 - 690: 73(fvec3) Load 670(L) + 690: 74(fvec3) Load 670(L) 691: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 690 Store 685(dist) 691 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 694 694 12 12 - 692: 73(fvec3) Load 670(L) - 695: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 692 + 692: 74(fvec3) Load 670(L) + 695: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 692 Store 670(L) 695 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 699 699 12 12 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 697 696(V) 49 - 702: 678(ptr) AccessChain 431(ubo) 106 + 702: 678(ptr) AccessChain 431(ubo) 108 703: 19(fvec4) Load 702 - 704: 73(fvec3) VectorShuffle 703 703 0 1 2 - 705: 73(fvec3) Load 475(fragPos) - 706: 73(fvec3) FSub 704 705 + 704: 74(fvec3) VectorShuffle 703 703 0 1 2 + 705: 74(fvec3) Load 475(fragPos) + 706: 74(fvec3) FSub 704 705 Store 696(V) 706 708: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 709 709 12 12 - 707: 73(fvec3) Load 696(V) - 710: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 707 + 707: 74(fvec3) Load 696(V) + 710: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 707 Store 696(V) 710 716: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 714 714 12 12 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 712 711(lightCosInnerAngle) 49 @@ -857,21 +857,21 @@ void main() Store 725(lightRange) 731 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 735 735 12 12 736: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 733 732(dir) 49 - 738: 96(int) Load 654(i) - 739: 678(ptr) AccessChain 431(ubo) 290 738 106 + 738: 98(int) Load 654(i) + 739: 678(ptr) AccessChain 431(ubo) 291 738 108 740: 19(fvec4) Load 739 - 741: 73(fvec3) VectorShuffle 740 740 0 1 2 - 742: 96(int) Load 654(i) - 743: 678(ptr) AccessChain 431(ubo) 290 742 290 + 741: 74(fvec3) VectorShuffle 740 740 0 1 2 + 742: 98(int) Load 654(i) + 743: 678(ptr) AccessChain 431(ubo) 291 742 291 744: 19(fvec4) Load 743 - 745: 73(fvec3) VectorShuffle 744 744 0 1 2 - 746: 73(fvec3) FSub 741 745 - 747: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 746 + 745: 74(fvec3) VectorShuffle 744 744 0 1 2 + 746: 74(fvec3) FSub 741 745 + 747: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 746 Store 732(dir) 747 753: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 751 751 12 12 752: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 749 748(cosDir) 49 - 754: 73(fvec3) Load 670(L) - 755: 73(fvec3) Load 732(dir) + 754: 74(fvec3) Load 670(L) + 755: 74(fvec3) Load 732(dir) 756: 16(float) Dot 754 755 Store 748(cosDir) 756 762: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 760 760 12 12 @@ -885,33 +885,33 @@ void main() 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 768 767(heightAttenuation) 49 773: 16(float) Load 725(lightRange) 774: 16(float) Load 685(dist) - 775: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 773 195 774 + 775: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 773 197 774 Store 767(heightAttenuation) 775 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 779 779 12 12 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 777 776(NdotL) 49 - 782: 73(fvec3) Load 646(N) - 783: 73(fvec3) Load 670(L) + 782: 74(fvec3) Load 646(N) + 783: 74(fvec3) Load 670(L) 784: 16(float) Dot 782 783 - 785: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 195 784 + 785: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 197 784 Store 776(NdotL) 785 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 789 789 12 12 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 787 786(diff) 49 792: 16(float) Load 776(NdotL) - 793: 73(fvec3) CompositeConstruct 792 792 792 + 793: 74(fvec3) CompositeConstruct 792 792 792 Store 786(diff) 793 799: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 797 797 12 12 798: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 795 794(R) 49 - 800: 73(fvec3) Load 670(L) - 801: 73(fvec3) FNegate 800 - 802: 73(fvec3) Load 646(N) - 803: 73(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 801 802 + 800: 74(fvec3) Load 670(L) + 801: 74(fvec3) FNegate 800 + 802: 74(fvec3) Load 646(N) + 803: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 801 802 Store 794(R) 803 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 807 807 12 12 808: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 805 804(NdotR) 49 - 810: 73(fvec3) Load 794(R) - 811: 73(fvec3) Load 696(V) + 810: 74(fvec3) Load 794(R) + 811: 74(fvec3) Load 696(V) 812: 16(float) Dot 810 811 - 813: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 195 812 + 813: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 197 812 Store 804(NdotR) 813 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 817 817 12 12 818: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 815 814(spec) 49 @@ -921,61 +921,61 @@ void main() 824: 16(float) Load 823 825: 16(float) FMul 822 824 827: 16(float) FMul 825 826 - 828: 73(fvec3) CompositeConstruct 827 827 827 + 828: 74(fvec3) CompositeConstruct 827 827 827 Store 814(spec) 828 830: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 831 831 12 12 - 829: 73(fvec3) Load 786(diff) - 832: 73(fvec3) Load 814(spec) - 833: 73(fvec3) FAdd 829 832 + 829: 74(fvec3) Load 786(diff) + 832: 74(fvec3) Load 814(spec) + 833: 74(fvec3) FAdd 829 832 834: 16(float) Load 757(spotEffect) - 835: 73(fvec3) VectorTimesScalar 833 834 + 835: 74(fvec3) VectorTimesScalar 833 834 836: 16(float) Load 767(heightAttenuation) - 837: 73(fvec3) VectorTimesScalar 835 836 - 838: 96(int) Load 654(i) - 840: 678(ptr) AccessChain 431(ubo) 290 838 839 + 837: 74(fvec3) VectorTimesScalar 835 836 + 838: 98(int) Load 654(i) + 840: 678(ptr) AccessChain 431(ubo) 291 838 839 841: 19(fvec4) Load 840 - 842: 73(fvec3) VectorShuffle 841 841 0 1 2 - 843: 73(fvec3) FMul 837 842 + 842: 74(fvec3) VectorShuffle 841 841 0 1 2 + 843: 74(fvec3) FMul 837 842 844: 19(fvec4) Load 512(albedo) - 845: 73(fvec3) VectorShuffle 844 844 0 1 2 - 846: 73(fvec3) FMul 843 845 - 847: 73(fvec3) Load 636(fragcolor) - 848: 73(fvec3) FAdd 847 846 + 845: 74(fvec3) VectorShuffle 844 844 0 1 2 + 846: 74(fvec3) FMul 843 845 + 847: 74(fvec3) Load 636(fragcolor) + 848: 74(fvec3) FAdd 847 846 Store 636(fragcolor) 848 Branch 662 662: Label - 850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 851: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 - 849: 96(int) Load 654(i) - 852: 96(int) IAdd 849 290 + 849: 98(int) Load 654(i) + 852: 98(int) IAdd 849 291 Store 654(i) 852 Branch 659 661: Label - 854: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 854: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 856 856 12 12 853: 524(ptr) AccessChain 431(ubo) 839 - 857: 96(int) Load 853 - 858: 139(bool) SGreaterThan 857 106 + 857: 98(int) Load 853 + 858: 141(bool) SGreaterThan 857 108 SelectionMerge 860 None BranchConditional 858 859 860 859: Label - 863: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 863: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 865 865 12 12 - 862: 73(fvec3) Load 636(fragcolor) + 862: 74(fvec3) Load 636(fragcolor) Store 861(param) 862 - 867: 73(fvec3) Load 475(fragPos) + 867: 74(fvec3) Load 475(fragPos) Store 866(param) 867 - 868: 73(fvec3) FunctionCall 81(shadow(vf3;vf3;) 861(param) 866(param) + 868: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 861(param) 866(param) Store 636(fragcolor) 868 Branch 860 860: Label - 870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 + 870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 871: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 872 872 12 12 - 869: 73(fvec3) Load 636(fragcolor) + 869: 74(fvec3) Load 636(fragcolor) 873: 16(float) CompositeExtract 869 0 874: 16(float) CompositeExtract 869 1 875: 16(float) CompositeExtract 869 2 - 876: 19(fvec4) CompositeConstruct 873 874 875 115 + 876: 19(fvec4) CompositeConstruct 873 874 875 117 Store 546(outFragColor) 876 Return FunctionEnd @@ -984,299 +984,299 @@ void main() 35(layer): 25(ptr) FunctionParameter 36(offset): 30(ptr) FunctionParameter 38: Label - 110(shadow): 25(ptr) Variable Function -116(shadowCoord): 22(ptr) Variable Function - 159(dist): 25(ptr) Variable Function + 112(shadow): 25(ptr) Variable Function +118(shadowCoord): 22(ptr) Variable Function + 161(dist): 25(ptr) Variable Function 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 43 43 12 12 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 34(P) 49 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 35(layer) 49 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 55 36(offset) 49 - 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 40 37(textureProj(vf4;f1;vf2;) - 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 112 112 12 12 - 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 111 110(shadow) 49 - Store 110(shadow) 115 - 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 119 119 12 12 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 117 116(shadowCoord) 49 - 122: 19(fvec4) Load 34(P) - 123: 25(ptr) AccessChain 34(P) 13 - 124: 16(float) Load 123 - 125: 19(fvec4) CompositeConstruct 124 124 124 124 - 126: 19(fvec4) FDiv 122 125 - Store 116(shadowCoord) 126 - 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 129 129 12 12 - 127: 19(fvec4) Load 116(shadowCoord) - 130: 27(fvec2) VectorShuffle 127 127 0 1 - 132: 27(fvec2) VectorTimesScalar 130 131 - 133: 27(fvec2) CompositeConstruct 131 131 - 134: 27(fvec2) FAdd 132 133 - 135: 25(ptr) AccessChain 116(shadowCoord) 12 - 136: 16(float) CompositeExtract 134 0 - Store 135 136 - 137: 25(ptr) AccessChain 116(shadowCoord) 45 - 138: 16(float) CompositeExtract 134 1 + 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 40 37(textureProj(vf4;f1;vf2;) + 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 114 114 12 12 + 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 113 112(shadow) 49 + Store 112(shadow) 117 + 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 121 121 12 12 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 119 118(shadowCoord) 49 + 124: 19(fvec4) Load 34(P) + 125: 25(ptr) AccessChain 34(P) 13 + 126: 16(float) Load 125 + 127: 19(fvec4) CompositeConstruct 126 126 126 126 + 128: 19(fvec4) FDiv 124 127 + Store 118(shadowCoord) 128 + 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 131 131 12 12 + 129: 19(fvec4) Load 118(shadowCoord) + 132: 27(fvec2) VectorShuffle 129 129 0 1 + 134: 27(fvec2) VectorTimesScalar 132 133 + 135: 27(fvec2) CompositeConstruct 133 133 + 136: 27(fvec2) FAdd 134 135 + 137: 25(ptr) AccessChain 118(shadowCoord) 12 + 138: 16(float) CompositeExtract 136 0 Store 137 138 - 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 144 144 12 12 - 142: 25(ptr) AccessChain 116(shadowCoord) 28 - 145: 16(float) Load 142 - 147: 139(bool) FOrdGreaterThan 145 146 - SelectionMerge 149 None - BranchConditional 147 148 149 - 148: Label - 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 144 144 12 12 - 150: 25(ptr) AccessChain 116(shadowCoord) 28 - 153: 16(float) Load 150 - 154: 139(bool) FOrdLessThan 153 115 - Branch 149 - 149: Label - 156: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 155: 139(bool) Phi 147 38 154 148 - SelectionMerge 158 None - BranchConditional 155 157 158 - 157: Label - 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 162 162 12 12 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 160 159(dist) 49 - 180: 171 Load 177(samplerShadowMap) - 181: 19(fvec4) Load 116(shadowCoord) - 182: 27(fvec2) VectorShuffle 181 181 0 1 - 183: 27(fvec2) Load 36(offset) - 184: 27(fvec2) FAdd 182 183 - 185: 16(float) Load 35(layer) - 186: 16(float) CompositeExtract 184 0 - 187: 16(float) CompositeExtract 184 1 - 188: 73(fvec3) CompositeConstruct 186 187 185 - 189: 19(fvec4) ImageSampleImplicitLod 180 188 - 190: 16(float) CompositeExtract 189 0 - Store 159(dist) 190 - 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 193 193 12 12 - 191: 25(ptr) AccessChain 116(shadowCoord) 13 - 194: 16(float) Load 191 - 196: 139(bool) FOrdGreaterThan 194 195 - SelectionMerge 198 None - BranchConditional 196 197 198 - 197: Label - 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 193 193 12 12 - 199: 16(float) Load 159(dist) - 202: 25(ptr) AccessChain 116(shadowCoord) 28 - 203: 16(float) Load 202 - 204: 139(bool) FOrdLessThan 199 203 - Branch 198 - 198: Label - 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 205: 139(bool) Phi 196 157 204 197 - SelectionMerge 208 None - BranchConditional 205 207 208 - 207: Label - 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 212 212 12 12 - Store 110(shadow) 209 - Branch 208 - 208: Label - 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - Branch 158 - 158: Label - 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 217 217 12 12 - 214: 16(float) Load 110(shadow) - ReturnValue 214 + 139: 25(ptr) AccessChain 118(shadowCoord) 45 + 140: 16(float) CompositeExtract 136 1 + Store 139 140 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 146 146 12 12 + 144: 25(ptr) AccessChain 118(shadowCoord) 28 + 147: 16(float) Load 144 + 149: 141(bool) FOrdGreaterThan 147 148 + SelectionMerge 151 None + BranchConditional 149 150 151 + 150: Label + 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 146 146 12 12 + 152: 25(ptr) AccessChain 118(shadowCoord) 28 + 155: 16(float) Load 152 + 156: 141(bool) FOrdLessThan 155 117 + Branch 151 + 151: Label + 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 157: 141(bool) Phi 149 38 156 150 + SelectionMerge 160 None + BranchConditional 157 159 160 + 159: Label + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 164 164 12 12 + 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 162 161(dist) 49 + 182: 173 Load 179(samplerShadowMap) + 183: 19(fvec4) Load 118(shadowCoord) + 184: 27(fvec2) VectorShuffle 183 183 0 1 + 185: 27(fvec2) Load 36(offset) + 186: 27(fvec2) FAdd 184 185 + 187: 16(float) Load 35(layer) + 188: 16(float) CompositeExtract 186 0 + 189: 16(float) CompositeExtract 186 1 + 190: 74(fvec3) CompositeConstruct 188 189 187 + 191: 19(fvec4) ImageSampleImplicitLod 182 190 + 192: 16(float) CompositeExtract 191 0 + Store 161(dist) 192 + 194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 195 195 12 12 + 193: 25(ptr) AccessChain 118(shadowCoord) 13 + 196: 16(float) Load 193 + 198: 141(bool) FOrdGreaterThan 196 197 + SelectionMerge 200 None + BranchConditional 198 199 200 + 199: Label + 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 195 195 12 12 + 201: 16(float) Load 161(dist) + 204: 25(ptr) AccessChain 118(shadowCoord) 28 + 205: 16(float) Load 204 + 206: 141(bool) FOrdLessThan 201 205 + Branch 200 + 200: Label + 208: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 207: 141(bool) Phi 198 159 206 199 + SelectionMerge 210 None + BranchConditional 207 209 210 + 209: Label + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 214 214 12 12 + Store 112(shadow) 211 + Branch 210 + 210: Label + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + Branch 160 + 160: Label + 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 219 219 12 12 + 216: 16(float) Load 112(shadow) + ReturnValue 216 FunctionEnd 62(filterPCF(vf4;f1;): 16(float) Function None 58 60(sc): 22(ptr) FunctionParameter 61(layer): 25(ptr) FunctionParameter 63: Label - 227(texDim): 225(ptr) Variable Function - 239(scale): 25(ptr) Variable Function - 246(dx): 25(ptr) Variable Function - 260(dy): 25(ptr) Variable Function -272(shadowFactor): 25(ptr) Variable Function - 278(count): 254(ptr) Variable Function - 284(range): 254(ptr) Variable Function - 291(x): 254(ptr) Variable Function - 311(y): 254(ptr) Variable Function - 344(param): 22(ptr) Variable Function - 346(param): 25(ptr) Variable Function - 348(param): 30(ptr) Variable Function + 228(texDim): 226(ptr) Variable Function + 240(scale): 25(ptr) Variable Function + 247(dx): 25(ptr) Variable Function + 261(dy): 25(ptr) Variable Function +273(shadowFactor): 25(ptr) Variable Function + 279(count): 255(ptr) Variable Function + 285(range): 255(ptr) Variable Function + 292(x): 255(ptr) Variable Function + 312(y): 255(ptr) Variable Function + 345(param): 22(ptr) Variable Function + 347(param): 25(ptr) Variable Function + 349(param): 30(ptr) Variable Function 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 66 66 12 12 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 67 60(sc) 49 - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 71 61(layer) 49 - 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 66 66 12 12 - 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 230 230 12 12 - 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 228 227(texDim) 49 - 233: 171 Load 177(samplerShadowMap) - 234: 166 Image 233 - 237: 235(ivec3) ImageQuerySizeLod 234 106 - 238: 223(ivec2) VectorShuffle 237 237 0 1 - Store 227(texDim) 238 - 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 242 242 12 12 - 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 240 239(scale) 49 - Store 239(scale) 245 - 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 249 249 12 12 - 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 247 246(dx) 49 - 252: 16(float) Load 239(scale) - 253: 16(float) FMul 252 115 - 256: 254(ptr) AccessChain 227(texDim) 12 - 257: 96(int) Load 256 - 258: 16(float) ConvertSToF 257 - 259: 16(float) FDiv 253 258 - Store 246(dx) 259 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 263 263 12 12 - 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 261 260(dy) 49 - 266: 16(float) Load 239(scale) - 267: 16(float) FMul 266 115 - 268: 254(ptr) AccessChain 227(texDim) 45 - 269: 96(int) Load 268 - 270: 16(float) ConvertSToF 269 - 271: 16(float) FDiv 267 270 - Store 260(dy) 271 - 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 275 275 12 12 - 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 273 272(shadowFactor) 49 - Store 272(shadowFactor) 195 - 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 281 281 12 12 - 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 279 278(count) 49 - Store 278(count) 106 - 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 287 287 12 12 - 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 285 284(range) 49 - Store 284(range) 290 - 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 294 294 12 12 - 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 292 291(x) 49 - 297: 96(int) Load 284(range) - 298: 96(int) SNegate 297 - Store 291(x) 298 - Branch 299 - 299: Label - 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 294 294 12 12 - LoopMerge 301 302 None - Branch 305 - 305: Label - 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 294 294 12 12 - 306: 96(int) Load 291(x) - 309: 96(int) Load 284(range) - 310: 139(bool) SLessThanEqual 306 309 - BranchConditional 310 300 301 - 300: Label - 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 314 314 12 12 - 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 312 311(y) 49 - 318: 96(int) Load 284(range) - 319: 96(int) SNegate 318 - Store 311(y) 319 - Branch 320 - 320: Label - 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 314 314 12 12 - LoopMerge 322 323 None - Branch 326 - 326: Label - 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 314 314 12 12 - 327: 96(int) Load 311(y) - 330: 96(int) Load 284(range) - 331: 139(bool) SLessThanEqual 327 330 - BranchConditional 331 321 322 - 321: Label - 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 335 335 12 12 - 332: 16(float) Load 246(dx) - 336: 96(int) Load 291(x) - 337: 16(float) ConvertSToF 336 - 338: 16(float) FMul 332 337 - 339: 16(float) Load 260(dy) - 340: 96(int) Load 311(y) - 341: 16(float) ConvertSToF 340 - 342: 16(float) FMul 339 341 - 343: 27(fvec2) CompositeConstruct 338 342 - 345: 19(fvec4) Load 60(sc) - Store 344(param) 345 - 347: 16(float) Load 61(layer) - Store 346(param) 347 - Store 348(param) 343 - 349: 16(float) FunctionCall 37(textureProj(vf4;f1;vf2;) 344(param) 346(param) 348(param) - 350: 16(float) Load 272(shadowFactor) - 351: 16(float) FAdd 350 349 - Store 272(shadowFactor) 351 - 353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 354 354 12 12 - 352: 96(int) Load 278(count) - 355: 96(int) IAdd 352 290 - Store 278(count) 355 - Branch 323 - 323: Label - 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 314 314 12 12 - 356: 96(int) Load 311(y) - 359: 96(int) IAdd 356 290 - Store 311(y) 359 - Branch 320 - 322: Label - 360: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - Branch 302 - 302: Label - 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 294 294 12 12 - 361: 96(int) Load 291(x) - 364: 96(int) IAdd 361 290 - Store 291(x) 364 - Branch 299 - 301: Label - 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 368 368 12 12 - 365: 16(float) Load 272(shadowFactor) - 369: 96(int) Load 278(count) - 370: 16(float) ConvertSToF 369 - 371: 16(float) FDiv 365 370 - ReturnValue 371 + 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 72 61(layer) 49 + 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) + 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 231 231 12 12 + 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 229 228(texDim) 49 + 234: 173 Load 179(samplerShadowMap) + 235: 168 Image 234 + 238: 236(ivec3) ImageQuerySizeLod 235 108 + 239: 224(ivec2) VectorShuffle 238 238 0 1 + Store 228(texDim) 239 + 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 243 243 12 12 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 241 240(scale) 49 + Store 240(scale) 246 + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 250 250 12 12 + 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(dx) 49 + 253: 16(float) Load 240(scale) + 254: 16(float) FMul 253 117 + 257: 255(ptr) AccessChain 228(texDim) 12 + 258: 98(int) Load 257 + 259: 16(float) ConvertSToF 258 + 260: 16(float) FDiv 254 259 + Store 247(dx) 260 + 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 264 264 12 12 + 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(dy) 49 + 267: 16(float) Load 240(scale) + 268: 16(float) FMul 267 117 + 269: 255(ptr) AccessChain 228(texDim) 45 + 270: 98(int) Load 269 + 271: 16(float) ConvertSToF 270 + 272: 16(float) FDiv 268 271 + Store 261(dy) 272 + 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 276 276 12 12 + 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 274 273(shadowFactor) 49 + Store 273(shadowFactor) 197 + 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 282 282 12 12 + 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 280 279(count) 49 + Store 279(count) 108 + 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 288 288 12 12 + 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 286 285(range) 49 + Store 285(range) 291 + 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 + 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 293 292(x) 49 + 298: 98(int) Load 285(range) + 299: 98(int) SNegate 298 + Store 292(x) 299 + Branch 300 + 300: Label + 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 305: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 + LoopMerge 302 303 None + Branch 306 + 306: Label + 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 + 307: 98(int) Load 292(x) + 310: 98(int) Load 285(range) + 311: 141(bool) SLessThanEqual 307 310 + BranchConditional 311 301 302 + 301: Label + 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 315 315 12 12 + 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 313 312(y) 49 + 319: 98(int) Load 285(range) + 320: 98(int) SNegate 319 + Store 312(y) 320 + Branch 321 + 321: Label + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 315 315 12 12 + LoopMerge 323 324 None + Branch 327 + 327: Label + 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 315 315 12 12 + 328: 98(int) Load 312(y) + 331: 98(int) Load 285(range) + 332: 141(bool) SLessThanEqual 328 331 + BranchConditional 332 322 323 + 322: Label + 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 336 336 12 12 + 333: 16(float) Load 247(dx) + 337: 98(int) Load 292(x) + 338: 16(float) ConvertSToF 337 + 339: 16(float) FMul 333 338 + 340: 16(float) Load 261(dy) + 341: 98(int) Load 312(y) + 342: 16(float) ConvertSToF 341 + 343: 16(float) FMul 340 342 + 344: 27(fvec2) CompositeConstruct 339 343 + 346: 19(fvec4) Load 60(sc) + Store 345(param) 346 + 348: 16(float) Load 61(layer) + Store 347(param) 348 + Store 349(param) 344 + 350: 16(float) FunctionCall 37(textureProj(vf4;f1;vf2;) 345(param) 347(param) 349(param) + 351: 16(float) Load 273(shadowFactor) + 352: 16(float) FAdd 351 350 + Store 273(shadowFactor) 352 + 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 355 355 12 12 + 353: 98(int) Load 279(count) + 356: 98(int) IAdd 353 291 + Store 279(count) 356 + Branch 324 + 324: Label + 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 315 315 12 12 + 357: 98(int) Load 312(y) + 360: 98(int) IAdd 357 291 + Store 312(y) 360 + Branch 321 + 323: Label + 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + Branch 303 + 303: Label + 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 + 362: 98(int) Load 292(x) + 365: 98(int) IAdd 362 291 + Store 292(x) 365 + Branch 300 + 302: Label + 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 369 369 12 12 + 366: 16(float) Load 273(shadowFactor) + 370: 98(int) Load 279(count) + 371: 16(float) ConvertSToF 370 + 372: 16(float) FDiv 366 371 + ReturnValue 372 FunctionEnd -81(shadow(vf3;vf3;): 73(fvec3) Function None 77 - 79(fragcolor): 75(ptr) FunctionParameter - 80(fragpos): 75(ptr) FunctionParameter - 82: Label - 377(i): 254(ptr) Variable Function +82(shadow(vf3;vf3;): 74(fvec3) Function None 78 + 80(fragcolor): 76(ptr) FunctionParameter + 81(fragpos): 76(ptr) FunctionParameter + 83: Label + 377(i): 255(ptr) Variable Function 395(shadowClip): 22(ptr) Variable Function 445(shadowFactor): 25(ptr) Variable Function 452(param): 22(ptr) Variable Function 454(param): 25(ptr) Variable Function - 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 79(fragcolor) 49 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 90 80(fragpos) 49 - 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 85 85 12 12 - 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 84 81(shadow(vf3;vf3;) + 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 86 86 12 12 + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 80(fragcolor) 49 + 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 81(fragpos) 49 + 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 378 377(i) 49 - Store 377(i) 106 + Store 377(i) 108 Branch 383 383: Label - 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 + 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 LoopMerge 385 386 None Branch 389 389: Label - 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 + 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - 390: 96(int) Load 377(i) - 394: 139(bool) SLessThan 390 393 + 390: 98(int) Load 377(i) + 394: 141(bool) SLessThan 390 393 BranchConditional 394 384 385 384: Label - 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 + 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 398 398 12 12 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 396 395(shadowClip) 49 - 434: 96(int) Load 377(i) - 437: 435(ptr) AccessChain 431(ubo) 290 434 393 + 434: 98(int) Load 377(i) + 437: 435(ptr) AccessChain 431(ubo) 291 434 393 438: 402 Load 437 - 439: 73(fvec3) Load 80(fragpos) + 439: 74(fvec3) Load 81(fragpos) 440: 16(float) CompositeExtract 439 0 441: 16(float) CompositeExtract 439 1 442: 16(float) CompositeExtract 439 2 - 443: 19(fvec4) CompositeConstruct 440 441 442 115 + 443: 19(fvec4) CompositeConstruct 440 441 442 117 444: 19(fvec4) MatrixTimesVector 438 443 Store 395(shadowClip) 444 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 447 447 12 12 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 446 445(shadowFactor) 49 - 450: 96(int) Load 377(i) + 450: 98(int) Load 377(i) 451: 16(float) ConvertSToF 450 453: 19(fvec4) Load 395(shadowClip) Store 452(param) 453 @@ -1285,20 +1285,20 @@ void main() Store 445(shadowFactor) 455 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 458 458 12 12 456: 16(float) Load 445(shadowFactor) - 459: 73(fvec3) Load 79(fragcolor) - 460: 73(fvec3) VectorTimesScalar 459 456 - Store 79(fragcolor) 460 + 459: 74(fvec3) Load 80(fragcolor) + 460: 74(fvec3) VectorTimesScalar 459 456 + Store 80(fragcolor) 460 Branch 386 386: Label - 462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 + 462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 463: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - 461: 96(int) Load 377(i) - 464: 96(int) IAdd 461 290 + 461: 98(int) Load 377(i) + 464: 98(int) IAdd 461 291 Store 377(i) 464 Branch 383 385: Label - 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 + 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 467: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 468 468 12 12 - 465: 73(fvec3) Load 79(fragcolor) + 465: 74(fvec3) Load 80(fragcolor) ReturnValue 465 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.comp.out b/Test/baseResults/spv.debuginfo.hlsl.comp.out index 72f83ed7..c23f8234 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.comp.out +++ b/Test/baseResults/spv.debuginfo.hlsl.comp.out @@ -28,14 +28,14 @@ spv.debuginfo.hlsl.comp 52: String "restDist" 63: String "@main" 67: String "id" - 73: String "dist" - 87: String "int" - 93: String "sphereRadius" - 104: String "gravity" - 109: String "particleCount" - 112: String "UBO" - 115: String "params" - 119: String "ubo" + 74: String "dist" + 88: String "int" + 94: String "sphereRadius" + 105: String "gravity" + 110: String "particleCount" + 113: String "UBO" + 116: String "params" + 120: String "ubo" 146: String "index" 172: String "bool" 184: String "normal" @@ -63,22 +63,22 @@ spv.debuginfo.hlsl.comp Name 29 "restDist" Name 61 "@main(vu3;" Name 60 "id" - Name 71 "dist" - Name 91 "UBO" - MemberName 91(UBO) 0 "deltaT" - MemberName 91(UBO) 1 "particleMass" - MemberName 91(UBO) 2 "springStiffness" - MemberName 91(UBO) 3 "damping" - MemberName 91(UBO) 4 "restDistH" - MemberName 91(UBO) 5 "restDistV" - MemberName 91(UBO) 6 "restDistD" - MemberName 91(UBO) 7 "sphereRadius" - MemberName 91(UBO) 8 "spherePos" - MemberName 91(UBO) 9 "gravity" - MemberName 91(UBO) 10 "particleCount" - Name 113 "ubo" - MemberName 113(ubo) 0 "params" - Name 122 "" + Name 72 "dist" + Name 92 "UBO" + MemberName 92(UBO) 0 "deltaT" + MemberName 92(UBO) 1 "particleMass" + MemberName 92(UBO) 2 "springStiffness" + MemberName 92(UBO) 3 "damping" + MemberName 92(UBO) 4 "restDistH" + MemberName 92(UBO) 5 "restDistV" + MemberName 92(UBO) 6 "restDistD" + MemberName 92(UBO) 7 "sphereRadius" + MemberName 92(UBO) 8 "spherePos" + MemberName 92(UBO) 9 "gravity" + MemberName 92(UBO) 10 "particleCount" + Name 114 "ubo" + MemberName 114(ubo) 0 "params" + Name 123 "" Name 144 "index" Name 182 "Particle" MemberName 182(Particle) 0 "pos" @@ -133,21 +133,21 @@ spv.debuginfo.hlsl.comp Name 963 "id" Name 965 "id" Name 967 "param" - MemberDecorate 91(UBO) 0 Offset 0 - MemberDecorate 91(UBO) 1 Offset 4 - MemberDecorate 91(UBO) 2 Offset 8 - MemberDecorate 91(UBO) 3 Offset 12 - MemberDecorate 91(UBO) 4 Offset 16 - MemberDecorate 91(UBO) 5 Offset 20 - MemberDecorate 91(UBO) 6 Offset 24 - MemberDecorate 91(UBO) 7 Offset 28 - MemberDecorate 91(UBO) 8 Offset 32 - MemberDecorate 91(UBO) 9 Offset 48 - MemberDecorate 91(UBO) 10 Offset 64 - Decorate 113(ubo) Block - MemberDecorate 113(ubo) 0 Offset 0 - Decorate 122 Binding 2 - Decorate 122 DescriptorSet 0 + MemberDecorate 92(UBO) 0 Offset 0 + MemberDecorate 92(UBO) 1 Offset 4 + MemberDecorate 92(UBO) 2 Offset 8 + MemberDecorate 92(UBO) 3 Offset 12 + MemberDecorate 92(UBO) 4 Offset 16 + MemberDecorate 92(UBO) 5 Offset 20 + MemberDecorate 92(UBO) 6 Offset 24 + MemberDecorate 92(UBO) 7 Offset 28 + MemberDecorate 92(UBO) 8 Offset 32 + MemberDecorate 92(UBO) 9 Offset 48 + MemberDecorate 92(UBO) 10 Offset 64 + Decorate 114(ubo) Block + MemberDecorate 114(ubo) 0 Offset 0 + Decorate 123 Binding 2 + Decorate 123 DescriptorSet 0 MemberDecorate 182(Particle) 0 Offset 0 MemberDecorate 182(Particle) 1 Offset 16 MemberDecorate 182(Particle) 2 Offset 32 @@ -210,65 +210,65 @@ spv.debuginfo.hlsl.comp 65: 11(int) Constant 82 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 63 59 34 65 16 37 63 17 65 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 67 55 34 65 16 64 39 38 - 74: 11(int) Constant 76 - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 73 19 34 74 16 33 39 - 82: 11(int) Constant 77 - 84: TypeVector 8(float) 4 - 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 39 - 86: TypeInt 32 1 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 87 14 39 16 - 89: TypeVector 86(int) 2 - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 88 49 - 91(UBO): TypeStruct 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 84(fvec4) 84(fvec4) 89(ivec2) - 94: 11(int) Constant 48 - 95: 11(int) Constant 20 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 105: 11(int) Constant 50 - 106: 11(int) Constant 16 - 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 104 85 34 105 106 16 16 17 - 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 104 85 34 105 106 16 16 17 - 110: 11(int) Constant 51 - 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 109 90 34 110 95 16 16 17 - 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 112 38 34 82 16 37 112 16 17 92 96 97 98 99 100 101 102 103 107 108 - 113(ubo): TypeStruct 91(UBO) - 116: 11(int) Constant 56 - 117: 11(int) Constant 12 - 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 115 111 34 116 117 16 16 17 - 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 119 38 34 82 16 37 119 16 17 114 - 120: TypePointer Uniform 113(ubo) - 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 118 49 16 - 122: 120(ptr) Variable Uniform - 124: 11(int) Constant 8 - 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 118 34 82 16 37 2 122 124 - 125: 86(int) Constant 0 - 126: 86(int) Constant 2 - 127: TypePointer Uniform 8(float) - 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 49 16 + 75: 11(int) Constant 76 + 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 74 19 34 75 16 33 39 + 83: 11(int) Constant 77 + 85: TypeVector 8(float) 4 + 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 39 + 87: TypeInt 32 1 + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 88 14 39 16 + 90: TypeVector 87(int) 2 + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 89 49 + 92(UBO): TypeStruct 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 85(fvec4) 85(fvec4) 90(ivec2) + 95: 11(int) Constant 48 + 96: 11(int) Constant 20 + 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 + 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 + 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 + 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 + 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 + 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 + 106: 11(int) Constant 50 + 107: 11(int) Constant 16 + 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 105 86 34 106 107 16 16 17 + 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 105 86 34 106 107 16 16 17 + 111: 11(int) Constant 51 + 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 110 91 34 111 96 16 16 17 + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 113 38 34 83 16 37 113 16 17 93 97 98 99 100 101 102 103 104 108 109 + 114(ubo): TypeStruct 92(UBO) + 117: 11(int) Constant 56 + 118: 11(int) Constant 12 + 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 116 112 34 117 118 16 16 17 + 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 120 38 34 83 16 37 120 16 17 115 + 121: TypePointer Uniform 114(ubo) + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 119 49 16 + 123: 121(ptr) Variable Uniform + 125: 11(int) Constant 8 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 119 34 83 16 37 2 123 125 + 126: 87(int) Constant 0 + 127: 87(int) Constant 2 + 128: TypePointer Uniform 8(float) + 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 49 16 142: TypePointer Function 11(int) 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 21 16 147: 11(int) Constant 83 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 146 13 34 147 16 64 39 - 152: 86(int) Constant 10 - 153: TypePointer Uniform 86(int) - 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 49 16 + 152: 87(int) Constant 10 + 153: TypePointer Uniform 87(int) + 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 89 49 16 164: 11(int) Constant 84 171: TypeBool 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 172 14 49 16 179: 11(int) Constant 85 - 182(Particle): TypeStruct 84(fvec4) 84(fvec4) 84(fvec4) 84(fvec4) 8(float) + 182(Particle): TypeStruct 85(fvec4) 85(fvec4) 85(fvec4) 85(fvec4) 8(float) 185: 11(int) Constant 30 186: 11(int) Constant 15 - 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 85 34 185 186 16 16 17 - 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 85 34 185 186 16 16 17 - 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 85 34 185 186 16 16 17 - 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 85 34 185 186 16 16 17 + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 86 34 185 186 16 16 17 + 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 86 34 185 186 16 16 17 + 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 86 34 185 186 16 16 17 + 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 86 34 185 186 16 16 17 192: 11(int) Constant 31 193: 11(int) Constant 14 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 191 10 34 192 193 16 16 17 @@ -284,8 +284,8 @@ spv.debuginfo.hlsl.comp 206: TypePointer Uniform 199(particleIn) 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 204 49 16 208(particleIn): 206(ptr) Variable Uniform - 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 205 204 34 196 16 37 205 208(particleIn) 124 - 213: 86(int) Constant 4 + 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 205 204 34 196 16 37 205 208(particleIn) 125 + 213: 87(int) Constant 4 216: 8(float) Constant 1065353216 220: TypeRuntimeArray 182(Particle) 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 194 16 @@ -297,17 +297,17 @@ spv.debuginfo.hlsl.comp 228: TypePointer Uniform 222(particleOut) 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 225 49 16 230(particleOut): 228(ptr) Variable Uniform - 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 226 225 34 227 16 37 226 230(particleOut) 124 - 236: TypePointer Uniform 84(fvec4) - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 85 49 16 + 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 226 225 34 227 16 37 226 230(particleOut) 125 + 236: TypePointer Uniform 85(fvec4) + 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 86 49 16 243: 11(int) Constant 90 - 244: 86(int) Constant 1 + 244: 87(int) Constant 1 245: 8(float) Constant 0 - 246: 84(fvec4) ConstantComposite 245 245 245 245 + 246: 85(fvec4) ConstantComposite 245 245 245 245 249: 11(int) Constant 91 255: 11(int) Constant 95 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 254 19 34 255 16 64 39 - 259: 86(int) Constant 9 + 259: 87(int) Constant 9 269: 11(int) Constant 97 267: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 268 19 34 269 16 64 39 279: 11(int) Constant 98 @@ -318,19 +318,19 @@ spv.debuginfo.hlsl.comp 325: 11(int) Constant 107 342: 11(int) Constant 110 354: 11(int) Constant 111 - 359: 86(int) Constant 5 + 359: 87(int) Constant 5 375: 11(int) Constant 114 383: 11(int) Constant 115 403: 11(int) Constant 118 419: 11(int) Constant 119 - 425: 86(int) Constant 6 + 425: 87(int) Constant 6 441: 11(int) Constant 122 453: 11(int) Constant 123 474: 11(int) Constant 126 494: 11(int) Constant 127 515: 11(int) Constant 130 531: 11(int) Constant 131 - 549: 86(int) Constant 3 + 549: 87(int) Constant 3 553: 11(int) Constant 134 563: 11(int) Constant 137 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 562 19 34 563 16 64 39 @@ -339,9 +339,9 @@ spv.debuginfo.hlsl.comp 597: 11(int) Constant 139 612: 11(int) Constant 142 610: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 611 19 34 612 16 64 39 - 619: 86(int) Constant 8 + 619: 87(int) Constant 8 626: 11(int) Constant 143 - 628: 86(int) Constant 7 + 628: 87(int) Constant 7 631: 8(float) Constant 1008981770 639: 11(int) Constant 145 658: 11(int) Constant 147 @@ -358,7 +358,7 @@ spv.debuginfo.hlsl.comp 674: TypePointer Uniform 668($Global) 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 672 49 16 676: 674(ptr) Variable Uniform - 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 672 34 667 16 37 2 676 124 + 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 672 34 667 16 37 2 676 125 678: TypePointer Uniform 11(int) 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 49 16 689: 11(int) Constant 152 @@ -408,31 +408,31 @@ spv.debuginfo.hlsl.comp 28(p1): 20(ptr) FunctionParameter 29(restDist): 23(ptr) FunctionParameter 31: Label - 71(dist): 20(ptr) Variable Function + 72(dist): 20(ptr) Variable Function 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 33 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 36 36 16 16 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 41 27(p0) 44 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 47 28(p1) 44 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 51 29(restDist) 44 - 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 33 30(springForce(vf3;vf3;f1;) - 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 74 74 16 16 - 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 72 71(dist) 44 - 77: 18(fvec3) Load 27(p0) - 78: 18(fvec3) Load 28(p1) - 79: 18(fvec3) FSub 77 78 - Store 71(dist) 79 - 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 82 82 16 16 - 80: 18(fvec3) Load 71(dist) - 83: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 80 - 129: 127(ptr) AccessChain 122 125 126 - 130: 8(float) Load 129 - 131: 18(fvec3) VectorTimesScalar 83 130 - 132: 18(fvec3) Load 71(dist) - 133: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 132 - 134: 8(float) Load 29(restDist) - 135: 8(float) FSub 133 134 - 136: 18(fvec3) VectorTimesScalar 131 135 - ReturnValue 136 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 33 30(springForce(vf3;vf3;f1;) + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 75 75 16 16 + 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 73 72(dist) 44 + 78: 18(fvec3) Load 27(p0) + 79: 18(fvec3) Load 28(p1) + 80: 18(fvec3) FSub 78 79 + Store 72(dist) 80 + 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 83 83 16 16 + 81: 18(fvec3) Load 72(dist) + 84: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 81 + 130: 128(ptr) AccessChain 123 126 127 + 131: 8(float) Load 130 + 132: 18(fvec3) VectorTimesScalar 84 131 + 133: 18(fvec3) Load 72(dist) + 134: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 133 + 135: 8(float) Load 29(restDist) + 136: 8(float) FSub 134 135 + 137: 18(fvec3) VectorTimesScalar 132 136 + ReturnValue 137 FunctionEnd 61(@main(vu3;): 4 Function None 58 60(id): 56(ptr) FunctionParameter @@ -472,15 +472,15 @@ spv.debuginfo.hlsl.comp 723(b): 20(ptr) Variable Function 740(c): 20(ptr) Variable Function 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 65 65 16 16 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 66 60(id) 44 - 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 65 65 16 16 - 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 64 61(@main(vu3;) + 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 64 61(@main(vu3;) 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 147 147 16 16 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 145 144(index) 44 150: 142(ptr) AccessChain 60(id) 38 151: 11(int) Load 150 - 155: 153(ptr) AccessChain 122 125 152 16 - 156: 86(int) Load 155 + 155: 153(ptr) AccessChain 123 126 152 16 + 156: 87(int) Load 155 157: 11(int) Bitcast 156 158: 11(int) IMul 151 157 159: 142(ptr) AccessChain 60(id) 16 @@ -489,11 +489,11 @@ spv.debuginfo.hlsl.comp Store 144(index) 161 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 164 164 16 16 162: 11(int) Load 144(index) - 165: 153(ptr) AccessChain 122 125 152 16 - 166: 86(int) Load 165 - 167: 153(ptr) AccessChain 122 125 152 38 - 168: 86(int) Load 167 - 169: 86(int) IMul 166 168 + 165: 153(ptr) AccessChain 123 126 152 16 + 166: 87(int) Load 165 + 167: 153(ptr) AccessChain 123 126 152 38 + 168: 87(int) Load 167 + 169: 87(int) IMul 166 168 170: 11(int) Bitcast 169 174: 171(bool) UGreaterThan 162 170 SelectionMerge 176 None @@ -506,7 +506,7 @@ spv.debuginfo.hlsl.comp 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 196 196 16 16 210: 11(int) Load 144(index) - 214: 127(ptr) AccessChain 208(particleIn) 125 210 213 + 214: 128(ptr) AccessChain 208(particleIn) 126 210 213 215: 8(float) Load 214 217: 171(bool) FOrdEqual 215 216 SelectionMerge 219 None @@ -516,13 +516,13 @@ spv.debuginfo.hlsl.comp 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 227 227 16 16 232: 11(int) Load 144(index) 235: 11(int) Load 144(index) - 238: 236(ptr) AccessChain 230(particleOut) 125 235 125 - 239: 84(fvec4) Load 238 - 240: 236(ptr) AccessChain 230(particleOut) 125 232 125 + 238: 236(ptr) AccessChain 230(particleOut) 126 235 126 + 239: 85(fvec4) Load 238 + 240: 236(ptr) AccessChain 230(particleOut) 126 232 126 Store 240 239 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 243 243 16 16 241: 11(int) Load 144(index) - 247: 236(ptr) AccessChain 230(particleOut) 125 241 244 + 247: 236(ptr) AccessChain 230(particleOut) 126 241 244 Store 247 246 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 249 249 16 16 Return @@ -530,25 +530,25 @@ spv.debuginfo.hlsl.comp 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 255 255 16 16 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 253 252(force) 44 - 260: 236(ptr) AccessChain 122 125 259 - 261: 84(fvec4) Load 260 + 260: 236(ptr) AccessChain 123 126 259 + 261: 85(fvec4) Load 260 262: 18(fvec3) VectorShuffle 261 261 0 1 2 - 263: 127(ptr) AccessChain 122 125 244 + 263: 128(ptr) AccessChain 123 126 244 264: 8(float) Load 263 265: 18(fvec3) VectorTimesScalar 262 264 Store 252(force) 265 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 269 269 16 16 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 267 266(pos) 44 272: 11(int) Load 144(index) - 273: 236(ptr) AccessChain 208(particleIn) 125 272 125 - 274: 84(fvec4) Load 273 + 273: 236(ptr) AccessChain 208(particleIn) 126 272 126 + 274: 85(fvec4) Load 273 275: 18(fvec3) VectorShuffle 274 274 0 1 2 Store 266(pos) 275 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 279 279 16 16 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 277 276(vel) 44 282: 11(int) Load 144(index) - 283: 236(ptr) AccessChain 208(particleIn) 125 282 244 - 284: 84(fvec4) Load 283 + 283: 236(ptr) AccessChain 208(particleIn) 126 282 244 + 284: 85(fvec4) Load 283 285: 18(fvec3) VectorShuffle 284 284 0 1 2 Store 276(vel) 285 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 288 288 16 16 @@ -562,13 +562,13 @@ spv.debuginfo.hlsl.comp 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 296 296 16 16 293: 11(int) Load 144(index) 297: 11(int) ISub 293 38 - 299: 236(ptr) AccessChain 208(particleIn) 125 297 125 - 300: 84(fvec4) Load 299 + 299: 236(ptr) AccessChain 208(particleIn) 126 297 126 + 300: 85(fvec4) Load 299 301: 18(fvec3) VectorShuffle 300 300 0 1 2 Store 298(param) 301 303: 18(fvec3) Load 266(pos) Store 302(param) 303 - 305: 127(ptr) AccessChain 122 125 213 + 305: 128(ptr) AccessChain 123 126 213 306: 8(float) Load 305 Store 304(param) 306 307: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 298(param) 302(param) 304(param) @@ -581,9 +581,9 @@ spv.debuginfo.hlsl.comp 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 313 313 16 16 310: 142(ptr) AccessChain 60(id) 16 314: 11(int) Load 310 - 315: 153(ptr) AccessChain 122 125 152 16 - 316: 86(int) Load 315 - 317: 86(int) ISub 316 244 + 315: 153(ptr) AccessChain 123 126 152 16 + 316: 87(int) Load 315 + 317: 87(int) ISub 316 244 318: 11(int) Bitcast 317 319: 171(bool) ULessThan 314 318 SelectionMerge 321 None @@ -593,13 +593,13 @@ spv.debuginfo.hlsl.comp 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 325 325 16 16 322: 11(int) Load 144(index) 326: 11(int) IAdd 322 38 - 328: 236(ptr) AccessChain 208(particleIn) 125 326 125 - 329: 84(fvec4) Load 328 + 328: 236(ptr) AccessChain 208(particleIn) 126 326 126 + 329: 85(fvec4) Load 328 330: 18(fvec3) VectorShuffle 329 329 0 1 2 Store 327(param) 330 332: 18(fvec3) Load 266(pos) Store 331(param) 332 - 334: 127(ptr) AccessChain 122 125 213 + 334: 128(ptr) AccessChain 123 126 213 335: 8(float) Load 334 Store 333(param) 335 336: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 327(param) 331(param) 333(param) @@ -612,9 +612,9 @@ spv.debuginfo.hlsl.comp 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 342 342 16 16 339: 142(ptr) AccessChain 60(id) 38 343: 11(int) Load 339 - 344: 153(ptr) AccessChain 122 125 152 38 - 345: 86(int) Load 344 - 346: 86(int) ISub 345 244 + 344: 153(ptr) AccessChain 123 126 152 38 + 345: 87(int) Load 344 + 346: 87(int) ISub 345 244 347: 11(int) Bitcast 346 348: 171(bool) ULessThan 343 347 SelectionMerge 350 None @@ -623,17 +623,17 @@ spv.debuginfo.hlsl.comp 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 354 354 16 16 351: 11(int) Load 144(index) - 355: 153(ptr) AccessChain 122 125 152 16 - 356: 86(int) Load 355 + 355: 153(ptr) AccessChain 123 126 152 16 + 356: 87(int) Load 355 357: 11(int) Bitcast 356 358: 11(int) IAdd 351 357 - 361: 236(ptr) AccessChain 208(particleIn) 125 358 125 - 362: 84(fvec4) Load 361 + 361: 236(ptr) AccessChain 208(particleIn) 126 358 126 + 362: 85(fvec4) Load 361 363: 18(fvec3) VectorShuffle 362 362 0 1 2 Store 360(param) 363 365: 18(fvec3) Load 266(pos) Store 364(param) 365 - 367: 127(ptr) AccessChain 122 125 359 + 367: 128(ptr) AccessChain 123 126 359 368: 8(float) Load 367 Store 366(param) 368 369: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 360(param) 364(param) 366(param) @@ -653,17 +653,17 @@ spv.debuginfo.hlsl.comp 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 383 383 16 16 380: 11(int) Load 144(index) - 384: 153(ptr) AccessChain 122 125 152 16 - 385: 86(int) Load 384 + 384: 153(ptr) AccessChain 123 126 152 16 + 385: 87(int) Load 384 386: 11(int) Bitcast 385 387: 11(int) ISub 380 386 - 389: 236(ptr) AccessChain 208(particleIn) 125 387 125 - 390: 84(fvec4) Load 389 + 389: 236(ptr) AccessChain 208(particleIn) 126 387 126 + 390: 85(fvec4) Load 389 391: 18(fvec3) VectorShuffle 390 390 0 1 2 Store 388(param) 391 393: 18(fvec3) Load 266(pos) Store 392(param) 393 - 395: 127(ptr) AccessChain 122 125 359 + 395: 128(ptr) AccessChain 123 126 359 396: 8(float) Load 395 Store 394(param) 396 397: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 388(param) 392(param) 394(param) @@ -679,9 +679,9 @@ spv.debuginfo.hlsl.comp 405: 171(bool) UGreaterThan 404 16 406: 142(ptr) AccessChain 60(id) 38 407: 11(int) Load 406 - 408: 153(ptr) AccessChain 122 125 152 38 - 409: 86(int) Load 408 - 410: 86(int) ISub 409 244 + 408: 153(ptr) AccessChain 123 126 152 38 + 409: 87(int) Load 408 + 410: 87(int) ISub 409 244 411: 11(int) Bitcast 410 412: 171(bool) ULessThan 407 411 413: 171(bool) LogicalAnd 405 412 @@ -691,18 +691,18 @@ spv.debuginfo.hlsl.comp 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 419 419 16 16 416: 11(int) Load 144(index) - 420: 153(ptr) AccessChain 122 125 152 16 - 421: 86(int) Load 420 + 420: 153(ptr) AccessChain 123 126 152 16 + 421: 87(int) Load 420 422: 11(int) Bitcast 421 423: 11(int) IAdd 416 422 424: 11(int) ISub 423 38 - 427: 236(ptr) AccessChain 208(particleIn) 125 424 125 - 428: 84(fvec4) Load 427 + 427: 236(ptr) AccessChain 208(particleIn) 126 424 126 + 428: 85(fvec4) Load 427 429: 18(fvec3) VectorShuffle 428 428 0 1 2 Store 426(param) 429 431: 18(fvec3) Load 266(pos) Store 430(param) 431 - 433: 127(ptr) AccessChain 122 125 425 + 433: 128(ptr) AccessChain 123 126 425 434: 8(float) Load 433 Store 432(param) 434 435: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 426(param) 430(param) 432(param) @@ -726,18 +726,18 @@ spv.debuginfo.hlsl.comp 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 453 453 16 16 450: 11(int) Load 144(index) - 454: 153(ptr) AccessChain 122 125 152 16 - 455: 86(int) Load 454 + 454: 153(ptr) AccessChain 123 126 152 16 + 455: 87(int) Load 454 456: 11(int) Bitcast 455 457: 11(int) ISub 450 456 458: 11(int) ISub 457 38 - 460: 236(ptr) AccessChain 208(particleIn) 125 458 125 - 461: 84(fvec4) Load 460 + 460: 236(ptr) AccessChain 208(particleIn) 126 458 126 + 461: 85(fvec4) Load 460 462: 18(fvec3) VectorShuffle 461 461 0 1 2 Store 459(param) 462 464: 18(fvec3) Load 266(pos) Store 463(param) 464 - 466: 127(ptr) AccessChain 122 125 425 + 466: 128(ptr) AccessChain 123 126 425 467: 8(float) Load 466 Store 465(param) 467 468: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 459(param) 463(param) 465(param) @@ -750,16 +750,16 @@ spv.debuginfo.hlsl.comp 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 474 474 16 16 471: 142(ptr) AccessChain 60(id) 16 475: 11(int) Load 471 - 476: 153(ptr) AccessChain 122 125 152 16 - 477: 86(int) Load 476 - 478: 86(int) ISub 477 244 + 476: 153(ptr) AccessChain 123 126 152 16 + 477: 87(int) Load 476 + 478: 87(int) ISub 477 244 479: 11(int) Bitcast 478 480: 171(bool) ULessThan 475 479 481: 142(ptr) AccessChain 60(id) 38 482: 11(int) Load 481 - 483: 153(ptr) AccessChain 122 125 152 38 - 484: 86(int) Load 483 - 485: 86(int) ISub 484 244 + 483: 153(ptr) AccessChain 123 126 152 38 + 484: 87(int) Load 483 + 485: 87(int) ISub 484 244 486: 11(int) Bitcast 485 487: 171(bool) ULessThan 482 486 488: 171(bool) LogicalAnd 480 487 @@ -769,18 +769,18 @@ spv.debuginfo.hlsl.comp 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 493: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 494 494 16 16 491: 11(int) Load 144(index) - 495: 153(ptr) AccessChain 122 125 152 16 - 496: 86(int) Load 495 + 495: 153(ptr) AccessChain 123 126 152 16 + 496: 87(int) Load 495 497: 11(int) Bitcast 496 498: 11(int) IAdd 491 497 499: 11(int) IAdd 498 38 - 501: 236(ptr) AccessChain 208(particleIn) 125 499 125 - 502: 84(fvec4) Load 501 + 501: 236(ptr) AccessChain 208(particleIn) 126 499 126 + 502: 85(fvec4) Load 501 503: 18(fvec3) VectorShuffle 502 502 0 1 2 Store 500(param) 503 505: 18(fvec3) Load 266(pos) Store 504(param) 505 - 507: 127(ptr) AccessChain 122 125 425 + 507: 128(ptr) AccessChain 123 126 425 508: 8(float) Load 507 Store 506(param) 508 509: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 500(param) 504(param) 506(param) @@ -793,9 +793,9 @@ spv.debuginfo.hlsl.comp 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 515 515 16 16 512: 142(ptr) AccessChain 60(id) 16 516: 11(int) Load 512 - 517: 153(ptr) AccessChain 122 125 152 16 - 518: 86(int) Load 517 - 519: 86(int) ISub 518 244 + 517: 153(ptr) AccessChain 123 126 152 16 + 518: 87(int) Load 517 + 519: 87(int) ISub 518 244 520: 11(int) Bitcast 519 521: 171(bool) ULessThan 516 520 522: 142(ptr) AccessChain 60(id) 38 @@ -808,18 +808,18 @@ spv.debuginfo.hlsl.comp 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 530: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 531 531 16 16 528: 11(int) Load 144(index) - 532: 153(ptr) AccessChain 122 125 152 16 - 533: 86(int) Load 532 + 532: 153(ptr) AccessChain 123 126 152 16 + 533: 87(int) Load 532 534: 11(int) Bitcast 533 535: 11(int) ISub 528 534 536: 11(int) IAdd 535 38 - 538: 236(ptr) AccessChain 208(particleIn) 125 536 125 - 539: 84(fvec4) Load 538 + 538: 236(ptr) AccessChain 208(particleIn) 126 536 126 + 539: 85(fvec4) Load 538 540: 18(fvec3) VectorShuffle 539 539 0 1 2 Store 537(param) 540 542: 18(fvec3) Load 266(pos) Store 541(param) 542 - 544: 127(ptr) AccessChain 122 125 425 + 544: 128(ptr) AccessChain 123 126 425 545: 8(float) Load 544 Store 543(param) 545 546: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 537(param) 541(param) 543(param) @@ -830,7 +830,7 @@ spv.debuginfo.hlsl.comp 527: Label 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 553 553 16 16 - 550: 127(ptr) AccessChain 122 125 549 + 550: 128(ptr) AccessChain 123 126 549 554: 8(float) Load 550 555: 8(float) FNegate 554 556: 18(fvec3) Load 276(vel) @@ -841,7 +841,7 @@ spv.debuginfo.hlsl.comp 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 563 563 16 16 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 561 560(f) 44 566: 18(fvec3) Load 252(force) - 567: 127(ptr) AccessChain 122 125 244 + 567: 128(ptr) AccessChain 123 126 244 568: 8(float) Load 567 569: 8(float) FDiv 216 568 570: 18(fvec3) VectorTimesScalar 566 569 @@ -850,54 +850,54 @@ spv.debuginfo.hlsl.comp 571: 11(int) Load 144(index) 574: 18(fvec3) Load 266(pos) 575: 18(fvec3) Load 276(vel) - 576: 127(ptr) AccessChain 122 125 125 + 576: 128(ptr) AccessChain 123 126 126 577: 8(float) Load 576 578: 18(fvec3) VectorTimesScalar 575 577 579: 18(fvec3) FAdd 574 578 581: 18(fvec3) Load 560(f) 582: 18(fvec3) VectorTimesScalar 581 580 - 583: 127(ptr) AccessChain 122 125 125 + 583: 128(ptr) AccessChain 123 126 126 584: 8(float) Load 583 585: 18(fvec3) VectorTimesScalar 582 584 - 586: 127(ptr) AccessChain 122 125 125 + 586: 128(ptr) AccessChain 123 126 126 587: 8(float) Load 586 588: 18(fvec3) VectorTimesScalar 585 587 589: 18(fvec3) FAdd 579 588 590: 8(float) CompositeExtract 589 0 591: 8(float) CompositeExtract 589 1 592: 8(float) CompositeExtract 589 2 - 593: 84(fvec4) CompositeConstruct 590 591 592 216 - 594: 236(ptr) AccessChain 230(particleOut) 125 571 125 + 593: 85(fvec4) CompositeConstruct 590 591 592 216 + 594: 236(ptr) AccessChain 230(particleOut) 126 571 126 Store 594 593 596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 597 597 16 16 595: 11(int) Load 144(index) 598: 18(fvec3) Load 276(vel) 599: 18(fvec3) Load 560(f) - 600: 127(ptr) AccessChain 122 125 125 + 600: 128(ptr) AccessChain 123 126 126 601: 8(float) Load 600 602: 18(fvec3) VectorTimesScalar 599 601 603: 18(fvec3) FAdd 598 602 604: 8(float) CompositeExtract 603 0 605: 8(float) CompositeExtract 603 1 606: 8(float) CompositeExtract 603 2 - 607: 84(fvec4) CompositeConstruct 604 605 606 245 - 608: 236(ptr) AccessChain 230(particleOut) 125 595 244 + 607: 85(fvec4) CompositeConstruct 604 605 606 245 + 608: 236(ptr) AccessChain 230(particleOut) 126 595 244 Store 608 607 614: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 612 612 16 16 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 610 609(sphereDist) 44 615: 11(int) Load 144(index) - 616: 236(ptr) AccessChain 230(particleOut) 125 615 125 - 617: 84(fvec4) Load 616 + 616: 236(ptr) AccessChain 230(particleOut) 126 615 126 + 617: 85(fvec4) Load 616 618: 18(fvec3) VectorShuffle 617 617 0 1 2 - 620: 236(ptr) AccessChain 122 125 619 - 621: 84(fvec4) Load 620 + 620: 236(ptr) AccessChain 123 126 619 + 621: 85(fvec4) Load 620 622: 18(fvec3) VectorShuffle 621 621 0 1 2 623: 18(fvec3) FSub 618 622 Store 609(sphereDist) 623 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 626 626 16 16 624: 18(fvec3) Load 609(sphereDist) 627: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 624 - 629: 127(ptr) AccessChain 122 125 628 + 629: 128(ptr) AccessChain 123 126 628 630: 8(float) Load 629 632: 8(float) FAdd 630 631 633: 171(bool) FOrdLessThan 627 632 @@ -907,34 +907,34 @@ spv.debuginfo.hlsl.comp 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 639 639 16 16 636: 11(int) Load 144(index) - 640: 236(ptr) AccessChain 122 125 619 - 641: 84(fvec4) Load 640 + 640: 236(ptr) AccessChain 123 126 619 + 641: 85(fvec4) Load 640 642: 18(fvec3) VectorShuffle 641 641 0 1 2 643: 18(fvec3) Load 609(sphereDist) 644: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 643 - 645: 127(ptr) AccessChain 122 125 628 + 645: 128(ptr) AccessChain 123 126 628 646: 8(float) Load 645 647: 8(float) FAdd 646 631 648: 18(fvec3) VectorTimesScalar 644 647 649: 18(fvec3) FAdd 642 648 - 650: 127(ptr) AccessChain 230(particleOut) 125 636 125 16 + 650: 128(ptr) AccessChain 230(particleOut) 126 636 126 16 651: 8(float) CompositeExtract 649 0 Store 650 651 - 652: 127(ptr) AccessChain 230(particleOut) 125 636 125 38 + 652: 128(ptr) AccessChain 230(particleOut) 126 636 126 38 653: 8(float) CompositeExtract 649 1 Store 652 653 - 654: 127(ptr) AccessChain 230(particleOut) 125 636 125 49 + 654: 128(ptr) AccessChain 230(particleOut) 126 636 126 49 655: 8(float) CompositeExtract 649 2 Store 654 655 657: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 658 658 16 16 656: 11(int) Load 144(index) - 659: 236(ptr) AccessChain 230(particleOut) 125 656 244 + 659: 236(ptr) AccessChain 230(particleOut) 126 656 244 Store 659 246 Branch 635 635: Label 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 682: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 667 667 16 16 - 680: 678(ptr) AccessChain 676 125 125 + 680: 678(ptr) AccessChain 676 126 126 683: 11(int) Load 680 684: 171(bool) IEqual 683 38 SelectionMerge 686 None @@ -964,8 +964,8 @@ spv.debuginfo.hlsl.comp 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 710 709(a) 44 716: 11(int) Load 144(index) 717: 11(int) ISub 716 38 - 718: 236(ptr) AccessChain 208(particleIn) 125 717 125 - 719: 84(fvec4) Load 718 + 718: 236(ptr) AccessChain 208(particleIn) 126 717 126 + 719: 85(fvec4) Load 718 720: 18(fvec3) VectorShuffle 719 719 0 1 2 721: 18(fvec3) Load 266(pos) 722: 18(fvec3) FSub 720 721 @@ -973,13 +973,13 @@ spv.debuginfo.hlsl.comp 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 726 726 16 16 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 724 723(b) 44 729: 11(int) Load 144(index) - 730: 153(ptr) AccessChain 122 125 152 16 - 731: 86(int) Load 730 + 730: 153(ptr) AccessChain 123 126 152 16 + 731: 87(int) Load 730 732: 11(int) Bitcast 731 733: 11(int) ISub 729 732 734: 11(int) ISub 733 38 - 735: 236(ptr) AccessChain 208(particleIn) 125 734 125 - 736: 84(fvec4) Load 735 + 735: 236(ptr) AccessChain 208(particleIn) 126 734 126 + 736: 85(fvec4) Load 735 737: 18(fvec3) VectorShuffle 736 736 0 1 2 738: 18(fvec3) Load 266(pos) 739: 18(fvec3) FSub 737 738 @@ -987,12 +987,12 @@ spv.debuginfo.hlsl.comp 745: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 743 743 16 16 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 741 740(c) 44 746: 11(int) Load 144(index) - 747: 153(ptr) AccessChain 122 125 152 16 - 748: 86(int) Load 747 + 747: 153(ptr) AccessChain 123 126 152 16 + 748: 87(int) Load 747 749: 11(int) Bitcast 748 750: 11(int) ISub 746 749 - 751: 236(ptr) AccessChain 208(particleIn) 125 750 125 - 752: 84(fvec4) Load 751 + 751: 236(ptr) AccessChain 208(particleIn) 126 750 126 + 752: 85(fvec4) Load 751 753: 18(fvec3) VectorShuffle 752 752 0 1 2 754: 18(fvec3) Load 266(pos) 755: 18(fvec3) FSub 753 754 @@ -1014,9 +1014,9 @@ spv.debuginfo.hlsl.comp 769: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 770 770 16 16 767: 142(ptr) AccessChain 60(id) 16 771: 11(int) Load 767 - 772: 153(ptr) AccessChain 122 125 152 16 - 773: 86(int) Load 772 - 774: 86(int) ISub 773 244 + 772: 153(ptr) AccessChain 123 126 152 16 + 773: 87(int) Load 772 + 774: 87(int) ISub 773 244 775: 11(int) Bitcast 774 776: 171(bool) ULessThan 771 775 SelectionMerge 778 None @@ -1025,25 +1025,25 @@ spv.debuginfo.hlsl.comp 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 782 782 16 16 779: 11(int) Load 144(index) - 783: 153(ptr) AccessChain 122 125 152 16 - 784: 86(int) Load 783 + 783: 153(ptr) AccessChain 123 126 152 16 + 784: 87(int) Load 783 785: 11(int) Bitcast 784 786: 11(int) ISub 779 785 - 787: 236(ptr) AccessChain 208(particleIn) 125 786 125 - 788: 84(fvec4) Load 787 + 787: 236(ptr) AccessChain 208(particleIn) 126 786 126 + 788: 85(fvec4) Load 787 789: 18(fvec3) VectorShuffle 788 788 0 1 2 790: 18(fvec3) Load 266(pos) 791: 18(fvec3) FSub 789 790 Store 709(a) 791 793: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 794 794 16 16 792: 11(int) Load 144(index) - 795: 153(ptr) AccessChain 122 125 152 16 - 796: 86(int) Load 795 + 795: 153(ptr) AccessChain 123 126 152 16 + 796: 87(int) Load 795 797: 11(int) Bitcast 796 798: 11(int) ISub 792 797 799: 11(int) IAdd 798 38 - 800: 236(ptr) AccessChain 208(particleIn) 125 799 125 - 801: 84(fvec4) Load 800 + 800: 236(ptr) AccessChain 208(particleIn) 126 799 126 + 801: 85(fvec4) Load 800 802: 18(fvec3) VectorShuffle 801 801 0 1 2 803: 18(fvec3) Load 266(pos) 804: 18(fvec3) FSub 802 803 @@ -1051,8 +1051,8 @@ spv.debuginfo.hlsl.comp 806: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 807 807 16 16 805: 11(int) Load 144(index) 808: 11(int) IAdd 805 38 - 809: 236(ptr) AccessChain 208(particleIn) 125 808 125 - 810: 84(fvec4) Load 809 + 809: 236(ptr) AccessChain 208(particleIn) 126 808 126 + 810: 85(fvec4) Load 809 811: 18(fvec3) VectorShuffle 810 810 0 1 2 812: 18(fvec3) Load 266(pos) 813: 18(fvec3) FSub 811 812 @@ -1077,9 +1077,9 @@ spv.debuginfo.hlsl.comp 828: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 829 829 16 16 826: 142(ptr) AccessChain 60(id) 38 830: 11(int) Load 826 - 831: 153(ptr) AccessChain 122 125 152 38 - 832: 86(int) Load 831 - 833: 86(int) ISub 832 244 + 831: 153(ptr) AccessChain 123 126 152 38 + 832: 87(int) Load 831 + 833: 87(int) ISub 832 244 834: 11(int) Bitcast 833 835: 171(bool) ULessThan 830 834 SelectionMerge 837 None @@ -1096,25 +1096,25 @@ spv.debuginfo.hlsl.comp 847: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 848: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 849 849 16 16 846: 11(int) Load 144(index) - 850: 153(ptr) AccessChain 122 125 152 16 - 851: 86(int) Load 850 + 850: 153(ptr) AccessChain 123 126 152 16 + 851: 87(int) Load 850 852: 11(int) Bitcast 851 853: 11(int) IAdd 846 852 - 854: 236(ptr) AccessChain 208(particleIn) 125 853 125 - 855: 84(fvec4) Load 854 + 854: 236(ptr) AccessChain 208(particleIn) 126 853 126 + 855: 85(fvec4) Load 854 856: 18(fvec3) VectorShuffle 855 855 0 1 2 857: 18(fvec3) Load 266(pos) 858: 18(fvec3) FSub 856 857 Store 709(a) 858 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 861 861 16 16 859: 11(int) Load 144(index) - 862: 153(ptr) AccessChain 122 125 152 16 - 863: 86(int) Load 862 + 862: 153(ptr) AccessChain 123 126 152 16 + 863: 87(int) Load 862 864: 11(int) Bitcast 863 865: 11(int) IAdd 859 864 866: 11(int) ISub 865 38 - 867: 236(ptr) AccessChain 208(particleIn) 125 866 125 - 868: 84(fvec4) Load 867 + 867: 236(ptr) AccessChain 208(particleIn) 126 866 126 + 868: 85(fvec4) Load 867 869: 18(fvec3) VectorShuffle 868 868 0 1 2 870: 18(fvec3) Load 266(pos) 871: 18(fvec3) FSub 869 870 @@ -1122,8 +1122,8 @@ spv.debuginfo.hlsl.comp 873: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 874 874 16 16 872: 11(int) Load 144(index) 875: 11(int) ISub 872 38 - 876: 236(ptr) AccessChain 208(particleIn) 125 875 125 - 877: 84(fvec4) Load 876 + 876: 236(ptr) AccessChain 208(particleIn) 126 875 126 + 877: 85(fvec4) Load 876 878: 18(fvec3) VectorShuffle 877 877 0 1 2 879: 18(fvec3) Load 266(pos) 880: 18(fvec3) FSub 878 879 @@ -1145,9 +1145,9 @@ spv.debuginfo.hlsl.comp 894: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 895 895 16 16 892: 142(ptr) AccessChain 60(id) 16 896: 11(int) Load 892 - 897: 153(ptr) AccessChain 122 125 152 16 - 898: 86(int) Load 897 - 899: 86(int) ISub 898 244 + 897: 153(ptr) AccessChain 123 126 152 16 + 898: 87(int) Load 897 + 899: 87(int) ISub 898 244 900: 11(int) Bitcast 899 901: 171(bool) ULessThan 896 900 SelectionMerge 903 None @@ -1157,33 +1157,33 @@ spv.debuginfo.hlsl.comp 906: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 907 907 16 16 904: 11(int) Load 144(index) 908: 11(int) IAdd 904 38 - 909: 236(ptr) AccessChain 208(particleIn) 125 908 125 - 910: 84(fvec4) Load 909 + 909: 236(ptr) AccessChain 208(particleIn) 126 908 126 + 910: 85(fvec4) Load 909 911: 18(fvec3) VectorShuffle 910 910 0 1 2 912: 18(fvec3) Load 266(pos) 913: 18(fvec3) FSub 911 912 Store 709(a) 913 915: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 916 916 16 16 914: 11(int) Load 144(index) - 917: 153(ptr) AccessChain 122 125 152 16 - 918: 86(int) Load 917 + 917: 153(ptr) AccessChain 123 126 152 16 + 918: 87(int) Load 917 919: 11(int) Bitcast 918 920: 11(int) IAdd 914 919 921: 11(int) IAdd 920 38 - 922: 236(ptr) AccessChain 208(particleIn) 125 921 125 - 923: 84(fvec4) Load 922 + 922: 236(ptr) AccessChain 208(particleIn) 126 921 126 + 923: 85(fvec4) Load 922 924: 18(fvec3) VectorShuffle 923 923 0 1 2 925: 18(fvec3) Load 266(pos) 926: 18(fvec3) FSub 924 925 Store 723(b) 926 928: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 929 929 16 16 927: 11(int) Load 144(index) - 930: 153(ptr) AccessChain 122 125 152 16 - 931: 86(int) Load 930 + 930: 153(ptr) AccessChain 123 126 152 16 + 931: 87(int) Load 930 932: 11(int) Bitcast 931 933: 11(int) IAdd 927 932 - 934: 236(ptr) AccessChain 208(particleIn) 125 933 125 - 935: 84(fvec4) Load 934 + 934: 236(ptr) AccessChain 208(particleIn) 126 933 126 + 935: 85(fvec4) Load 934 936: 18(fvec3) VectorShuffle 935 935 0 1 2 937: 18(fvec3) Load 266(pos) 938: 18(fvec3) FSub 936 937 @@ -1212,8 +1212,8 @@ spv.debuginfo.hlsl.comp 957: 8(float) CompositeExtract 956 0 958: 8(float) CompositeExtract 956 1 959: 8(float) CompositeExtract 956 2 - 960: 84(fvec4) CompositeConstruct 957 958 959 245 - 961: 236(ptr) AccessChain 230(particleOut) 125 951 549 + 960: 85(fvec4) CompositeConstruct 957 958 959 245 + 961: 236(ptr) AccessChain 230(particleOut) 126 951 549 Store 961 960 Branch 686 686: Label diff --git a/Test/baseResults/spv.debuginfo.hlsl.frag.out b/Test/baseResults/spv.debuginfo.hlsl.frag.out index 0831b73c..5e5846e8 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.frag.out +++ b/Test/baseResults/spv.debuginfo.hlsl.frag.out @@ -29,44 +29,44 @@ spv.debuginfo.hlsl.frag 56: String "offset" 64: String "filterPCF" 68: String "sc" - 83: String "shadow" - 87: String "fragcolor" - 91: String "fragPos" - 98: String "@main" - 102: String "inUV" - 114: String "shadowCoord" - 141: String "bool" - 152: String "dist" - 159: String "type.2d.image" - 160: String "@type.2d.image" - 166: String "textureShadowMap" - 171: String "type.sampler" - 172: String "@type.sampler" - 177: String "samplerShadowMap" - 181: String "type.sampled.image" - 182: String "@type.sampled.image" - 227: String "sizeQueryTemp" - 234: String "int" - 242: String "texDim" - 258: String "elements" - 265: String "levels" - 272: String "scale" - 279: String "dx" - 291: String "dy" - 303: String "shadowFactor" - 309: String "count" - 316: String "range" - 323: String "x" - 343: String "y" - 409: String "i" - 427: String "shadowClip" - 442: String "color" - 448: String "viewMatrix" - 452: String "Light" - 458: String "lights" - 461: String "displayDebugTarget" - 466: String "UBO" - 469: String "ubo" + 84: String "shadow" + 88: String "fragcolor" + 93: String "fragPos" + 100: String "@main" + 104: String "inUV" + 117: String "shadowCoord" + 144: String "bool" + 155: String "dist" + 162: String "type.2d.image" + 163: String "@type.2d.image" + 169: String "textureShadowMap" + 174: String "type.sampler" + 175: String "@type.sampler" + 180: String "samplerShadowMap" + 184: String "type.sampled.image" + 185: String "@type.sampled.image" + 229: String "sizeQueryTemp" + 236: String "int" + 244: String "texDim" + 260: String "elements" + 267: String "levels" + 274: String "scale" + 281: String "dx" + 293: String "dy" + 305: String "shadowFactor" + 311: String "count" + 318: String "range" + 325: String "x" + 345: String "y" + 410: String "i" + 428: String "shadowClip" + 443: String "color" + 449: String "viewMatrix" + 453: String "Light" + 459: String "lights" + 462: String "displayDebugTarget" + 467: String "UBO" + 470: String "ubo" 523: String "textureposition" 528: String "samplerposition" 538: String "normal" @@ -98,49 +98,49 @@ spv.debuginfo.hlsl.frag Name 62 "filterPCF(vf4;f1;" Name 60 "sc" Name 61 "layer" - Name 81 "shadow(vf3;vf3;" - Name 79 "fragcolor" - Name 80 "fragPos" - Name 96 "@main(vf2;" - Name 95 "inUV" - Name 106 "shadow" - Name 112 "shadowCoord" - Name 150 "dist" - Name 164 "textureShadowMap" - Name 175 "samplerShadowMap" - Name 225 "sizeQueryTemp" - Name 240 "texDim" - Name 256 "elements" - Name 263 "levels" - Name 270 "scale" - Name 277 "dx" - Name 289 "dy" - Name 301 "shadowFactor" - Name 307 "count" - Name 314 "range" - Name 321 "x" - Name 341 "y" - Name 374 "param" + Name 82 "shadow(vf3;vf3;" + Name 80 "fragcolor" + Name 81 "fragPos" + Name 98 "@main(vf2;" + Name 97 "inUV" + Name 109 "shadow" + Name 115 "shadowCoord" + Name 153 "dist" + Name 167 "textureShadowMap" + Name 178 "samplerShadowMap" + Name 227 "sizeQueryTemp" + Name 242 "texDim" + Name 258 "elements" + Name 265 "levels" + Name 272 "scale" + Name 279 "dx" + Name 291 "dy" + Name 303 "shadowFactor" + Name 309 "count" + Name 316 "range" + Name 323 "x" + Name 343 "y" Name 376 "param" Name 378 "param" - Name 407 "i" - Name 425 "shadowClip" - Name 440 "Light" - MemberName 440(Light) 0 "position" - MemberName 440(Light) 1 "target" - MemberName 440(Light) 2 "color" - MemberName 440(Light) 3 "viewMatrix" - Name 455 "UBO" - MemberName 455(UBO) 0 "viewPos" - MemberName 455(UBO) 1 "lights" - MemberName 455(UBO) 2 "useShadows" - MemberName 455(UBO) 3 "displayDebugTarget" - Name 467 "ubo" - MemberName 467(ubo) 0 "ubo" - Name 475 "" - Name 483 "shadowFactor" - Name 490 "param" - Name 492 "param" + Name 380 "param" + Name 408 "i" + Name 426 "shadowClip" + Name 441 "Light" + MemberName 441(Light) 0 "position" + MemberName 441(Light) 1 "target" + MemberName 441(Light) 2 "color" + MemberName 441(Light) 3 "viewMatrix" + Name 456 "UBO" + MemberName 456(UBO) 0 "viewPos" + MemberName 456(UBO) 1 "lights" + MemberName 456(UBO) 2 "useShadows" + MemberName 456(UBO) 3 "displayDebugTarget" + Name 468 "ubo" + MemberName 468(ubo) 0 "ubo" + Name 476 "" + Name 484 "shadowFactor" + Name 491 "param" + Name 493 "param" Name 512 "fragPos" Name 521 "textureposition" Name 526 "samplerposition" @@ -176,25 +176,25 @@ spv.debuginfo.hlsl.frag Name 896 "inUV" Name 899 "@entryPointOutput" Name 900 "param" - Decorate 164(textureShadowMap) Binding 5 - Decorate 164(textureShadowMap) DescriptorSet 0 - Decorate 175(samplerShadowMap) Binding 5 - Decorate 175(samplerShadowMap) DescriptorSet 0 - MemberDecorate 440(Light) 0 Offset 0 - MemberDecorate 440(Light) 1 Offset 16 - MemberDecorate 440(Light) 2 Offset 32 - MemberDecorate 440(Light) 3 RowMajor - MemberDecorate 440(Light) 3 MatrixStride 16 - MemberDecorate 440(Light) 3 Offset 48 - Decorate 453 ArrayStride 112 - MemberDecorate 455(UBO) 0 Offset 0 - MemberDecorate 455(UBO) 1 Offset 16 - MemberDecorate 455(UBO) 2 Offset 352 - MemberDecorate 455(UBO) 3 Offset 356 - Decorate 467(ubo) Block - MemberDecorate 467(ubo) 0 Offset 0 - Decorate 475 Binding 4 - Decorate 475 DescriptorSet 0 + Decorate 167(textureShadowMap) Binding 5 + Decorate 167(textureShadowMap) DescriptorSet 0 + Decorate 178(samplerShadowMap) Binding 5 + Decorate 178(samplerShadowMap) DescriptorSet 0 + MemberDecorate 441(Light) 0 Offset 0 + MemberDecorate 441(Light) 1 Offset 16 + MemberDecorate 441(Light) 2 Offset 32 + MemberDecorate 441(Light) 3 RowMajor + MemberDecorate 441(Light) 3 MatrixStride 16 + MemberDecorate 441(Light) 3 Offset 48 + Decorate 454 ArrayStride 112 + MemberDecorate 456(UBO) 0 Offset 0 + MemberDecorate 456(UBO) 1 Offset 16 + MemberDecorate 456(UBO) 2 Offset 352 + MemberDecorate 456(UBO) 3 Offset 356 + Decorate 468(ubo) Block + MemberDecorate 468(ubo) 0 Offset 0 + Decorate 476 Binding 4 + Decorate 476 DescriptorSet 0 Decorate 521(textureposition) Binding 1 Decorate 521(textureposition) DescriptorSet 0 Decorate 526(samplerposition) Binding 1 @@ -249,175 +249,175 @@ spv.debuginfo.hlsl.frag 66: 11(int) Constant 78 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 64 59 40 66 16 43 64 17 66 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 68 20 40 66 16 65 19 44 - 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 10 40 66 16 65 19 27 - 73: TypeVector 8(float) 3 - 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 - 75: TypePointer Function 73(fvec3) - 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 74 22 16 - 77: TypeFunction 73(fvec3) 75(ptr) 75(ptr) - 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 74 74 74 - 85: 11(int) Constant 101 - 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 83 78 40 85 16 43 83 17 85 - 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 74 40 85 16 84 19 44 - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 91 74 40 85 16 84 19 27 - 93: TypeFunction 18(fvec4) 29(ptr) - 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 20 28 - 100: 11(int) Constant 119 - 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 98 94 40 100 16 43 98 17 100 - 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 102 28 40 100 16 99 19 44 - 108: 11(int) Constant 62 - 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 10 40 108 16 39 19 - 111: 8(float) Constant 1065353216 - 115: 11(int) Constant 63 - 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 114 20 40 115 16 39 19 - 125: 11(int) Constant 64 - 127: 8(float) Constant 1056964608 - 137: 11(int) Constant 66 - 139: 8(float) Constant 3212836864 - 140: TypeBool - 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 141 14 27 16 - 153: 11(int) Constant 68 - 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 152 10 40 153 16 39 19 - 157: TypeImage 8(float) 2D array sampled format:Unknown - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 159 16 40 153 16 43 160 161 17 - 162: TypePointer UniformConstant 157 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 158 16 16 -164(textureShadowMap): 162(ptr) Variable UniformConstant - 167: 11(int) Constant 8 - 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 166 158 40 153 16 43 166 164(textureShadowMap) 167 - 169: TypeSampler - 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 44 40 153 16 43 172 161 17 - 173: TypePointer UniformConstant 169 - 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 170 16 16 -175(samplerShadowMap): 173(ptr) Variable UniformConstant - 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 177 170 40 153 16 43 177 175(samplerShadowMap) 167 - 179: TypeSampledImage 157 - 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 181 16 40 153 16 43 182 161 17 - 196: 11(int) Constant 69 - 198: 8(float) Constant 0 - 207: 8(float) Constant 1048576000 - 210: 11(int) Constant 71 - 215: 11(int) Constant 74 - 221: TypeVector 11(int) 3 - 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 13 17 - 223: TypePointer Function 221(ivec3) - 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 222 22 16 - 228: 11(int) Constant 80 - 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 227 222 40 228 16 65 19 - 233: TypeInt 32 1 - 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 234 14 19 16 - 236: TypeVector 233(int) 2 - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 235 27 - 238: TypePointer Function 236(ivec2) - 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 237 22 16 - 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 242 237 40 228 16 65 19 - 244: TypePointer Function 11(int) - 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16 - 249: TypePointer Function 233(int) - 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 235 22 16 - 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 258 235 40 228 16 65 19 - 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 265 235 40 228 16 65 19 - 273: 11(int) Constant 81 - 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 272 10 40 273 16 65 19 - 276: 8(float) Constant 1069547520 - 280: 11(int) Constant 82 - 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 279 10 40 280 16 65 19 - 292: 11(int) Constant 83 - 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 291 10 40 292 16 65 19 - 304: 11(int) Constant 85 - 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 303 10 40 304 16 65 19 - 310: 11(int) Constant 86 - 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 309 235 40 310 16 65 19 - 313: 233(int) Constant 0 - 317: 11(int) Constant 87 - 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 316 235 40 317 16 65 19 - 320: 233(int) Constant 1 - 324: 11(int) Constant 89 - 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 323 235 40 324 16 65 19 - 344: 11(int) Constant 91 - 342: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 343 235 40 344 16 65 19 - 365: 11(int) Constant 93 - 384: 11(int) Constant 94 - 398: 11(int) Constant 98 - 410: 11(int) Constant 102 - 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 409 235 40 410 16 84 19 - 423: 233(int) Constant 3 - 428: 11(int) Constant 104 - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 427 20 40 428 16 84 19 - 437: TypeMatrix 18(fvec4) 4 - 439: 140(bool) ConstantTrue - 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 439 - 440(Light): TypeStruct 18(fvec4) 18(fvec4) 18(fvec4) 437 - 443: 11(int) Constant 46 - 444: 11(int) Constant 14 - 441: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 442 20 40 443 444 16 16 17 - 445: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 442 20 40 443 444 16 16 17 - 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 442 20 40 443 444 16 16 17 - 449: 11(int) Constant 47 - 450: 11(int) Constant 21 - 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 448 438 40 449 450 16 16 17 - 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 452 44 40 428 16 43 452 16 17 441 445 446 447 - 453: TypeArray 440(Light) 17 - 454: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 451 17 - 455(UBO): TypeStruct 18(fvec4) 453 233(int) 233(int) - 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 442 20 40 443 444 16 16 17 - 459: 11(int) Constant 53 - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 458 454 40 459 444 16 16 17 - 462: 11(int) Constant 55 - 463: 11(int) Constant 24 - 460: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 461 235 40 462 463 16 16 17 - 464: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 461 235 40 462 463 16 16 17 - 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 466 44 40 428 16 43 466 16 17 456 457 460 464 - 467(ubo): TypeStruct 455(UBO) - 470: 11(int) Constant 58 - 471: 11(int) Constant 37 - 468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 469 465 40 470 471 16 16 17 - 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 469 44 40 428 16 43 469 16 17 468 - 473: TypePointer Uniform 467(ubo) - 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 472 27 16 - 475: 473(ptr) Variable Uniform - 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 472 40 428 16 43 2 475 167 - 478: TypePointer Uniform 437 - 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 438 27 16 - 485: 11(int) Constant 108 - 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 303 10 40 485 16 84 19 - 496: 11(int) Constant 113 - 506: 11(int) Constant 115 + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 10 40 66 16 65 19 27 + 74: TypeVector 8(float) 3 + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 + 76: TypePointer Function 74(fvec3) + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 22 16 + 78: TypeFunction 74(fvec3) 76(ptr) 76(ptr) + 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 75 75 75 + 86: 11(int) Constant 101 + 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 84 79 40 86 16 43 84 17 86 + 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 40 86 16 85 19 44 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 40 86 16 85 19 27 + 95: TypeFunction 18(fvec4) 29(ptr) + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 20 28 + 102: 11(int) Constant 119 + 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 100 96 40 102 16 43 100 17 102 + 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 104 28 40 102 16 101 19 44 + 111: 11(int) Constant 62 + 110: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 84 10 40 111 16 39 19 + 114: 8(float) Constant 1065353216 + 118: 11(int) Constant 63 + 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 117 20 40 118 16 39 19 + 128: 11(int) Constant 64 + 130: 8(float) Constant 1056964608 + 140: 11(int) Constant 66 + 142: 8(float) Constant 3212836864 + 143: TypeBool + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 144 14 27 16 + 156: 11(int) Constant 68 + 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 155 10 40 156 16 39 19 + 160: TypeImage 8(float) 2D array sampled format:Unknown + 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 16 40 156 16 43 163 164 17 + 165: TypePointer UniformConstant 160 + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 161 16 16 +167(textureShadowMap): 165(ptr) Variable UniformConstant + 170: 11(int) Constant 8 + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 169 161 40 156 16 43 169 167(textureShadowMap) 170 + 172: TypeSampler + 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 156 16 43 175 164 17 + 176: TypePointer UniformConstant 172 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 173 16 16 +178(samplerShadowMap): 176(ptr) Variable UniformConstant + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 180 173 40 156 16 43 180 178(samplerShadowMap) 170 + 182: TypeSampledImage 160 + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 184 16 40 156 16 43 185 164 17 + 199: 11(int) Constant 69 + 201: 8(float) Constant 0 + 210: 8(float) Constant 1048576000 + 213: 11(int) Constant 71 + 218: 11(int) Constant 74 + 223: TypeVector 11(int) 3 + 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 13 17 + 225: TypePointer Function 223(ivec3) + 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 224 22 16 + 230: 11(int) Constant 80 + 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 224 40 230 16 65 19 + 235: TypeInt 32 1 + 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 236 14 19 16 + 238: TypeVector 235(int) 2 + 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 237 27 + 240: TypePointer Function 238(ivec2) + 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 239 22 16 + 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 244 239 40 230 16 65 19 + 246: TypePointer Function 11(int) + 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16 + 251: TypePointer Function 235(int) + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 237 22 16 + 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 260 237 40 230 16 65 19 + 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 267 237 40 230 16 65 19 + 275: 11(int) Constant 81 + 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 274 10 40 275 16 65 19 + 278: 8(float) Constant 1069547520 + 282: 11(int) Constant 82 + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 281 10 40 282 16 65 19 + 294: 11(int) Constant 83 + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 293 10 40 294 16 65 19 + 306: 11(int) Constant 85 + 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 305 10 40 306 16 65 19 + 312: 11(int) Constant 86 + 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 311 237 40 312 16 65 19 + 315: 235(int) Constant 0 + 319: 11(int) Constant 87 + 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 318 237 40 319 16 65 19 + 322: 235(int) Constant 1 + 326: 11(int) Constant 89 + 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 325 237 40 326 16 65 19 + 346: 11(int) Constant 91 + 344: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 345 237 40 346 16 65 19 + 367: 11(int) Constant 93 + 386: 11(int) Constant 94 + 400: 11(int) Constant 98 + 411: 11(int) Constant 102 + 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 410 237 40 411 16 85 19 + 424: 235(int) Constant 3 + 429: 11(int) Constant 104 + 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 428 20 40 429 16 85 19 + 438: TypeMatrix 18(fvec4) 4 + 440: 143(bool) ConstantTrue + 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 440 + 441(Light): TypeStruct 18(fvec4) 18(fvec4) 18(fvec4) 438 + 444: 11(int) Constant 46 + 445: 11(int) Constant 14 + 442: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 443 20 40 444 445 16 16 17 + 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 443 20 40 444 445 16 16 17 + 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 443 20 40 444 445 16 16 17 + 450: 11(int) Constant 47 + 451: 11(int) Constant 21 + 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 449 439 40 450 451 16 16 17 + 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 453 44 40 429 16 43 453 16 17 442 446 447 448 + 454: TypeArray 441(Light) 17 + 455: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 452 17 + 456(UBO): TypeStruct 18(fvec4) 454 235(int) 235(int) + 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 443 20 40 444 445 16 16 17 + 460: 11(int) Constant 53 + 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 459 455 40 460 445 16 16 17 + 463: 11(int) Constant 55 + 464: 11(int) Constant 24 + 461: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 237 40 463 464 16 16 17 + 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 237 40 463 464 16 16 17 + 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 467 44 40 429 16 43 467 16 17 457 458 461 465 + 468(ubo): TypeStruct 456(UBO) + 471: 11(int) Constant 58 + 472: 11(int) Constant 37 + 469: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 470 466 40 471 472 16 16 17 + 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 470 44 40 429 16 43 470 16 17 469 + 474: TypePointer Uniform 468(ubo) + 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 473 27 16 + 476: 474(ptr) Variable Uniform + 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 473 40 429 16 43 2 476 170 + 479: TypePointer Uniform 438 + 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 439 27 16 + 486: 11(int) Constant 108 + 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 305 10 40 486 16 85 19 + 497: 11(int) Constant 113 + 507: 11(int) Constant 115 514: 11(int) Constant 121 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 91 74 40 514 16 99 19 + 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 40 514 16 101 19 517: TypeImage 8(float) 2D sampled format:Unknown - 518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 159 16 40 514 16 43 160 161 17 + 518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 16 40 514 16 43 163 164 17 519: TypePointer UniformConstant 517 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 518 16 16 521(textureposition): 519(ptr) Variable UniformConstant - 522: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 523 518 40 514 16 43 523 521(textureposition) 167 - 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 44 40 514 16 43 172 161 17 -526(samplerposition): 173(ptr) Variable UniformConstant - 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 528 525 40 514 16 43 528 526(samplerposition) 167 + 522: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 523 518 40 514 16 43 523 521(textureposition) 170 + 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 514 16 43 175 164 17 +526(samplerposition): 176(ptr) Variable UniformConstant + 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 528 525 40 514 16 43 528 526(samplerposition) 170 530: TypeSampledImage 517 - 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 181 16 40 514 16 43 182 161 17 + 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 184 16 40 514 16 43 185 164 17 539: 11(int) Constant 122 - 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 538 74 40 539 16 99 19 + 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 538 75 40 539 16 101 19 542(textureNormal): 519(ptr) Variable UniformConstant - 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 544 518 40 539 16 43 544 542(textureNormal) 167 - 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 44 40 539 16 43 172 161 17 -547(samplerNormal): 173(ptr) Variable UniformConstant - 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 549 546 40 539 16 43 549 547(samplerNormal) 167 + 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 544 518 40 539 16 43 544 542(textureNormal) 170 + 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 539 16 43 175 164 17 +547(samplerNormal): 176(ptr) Variable UniformConstant + 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 549 546 40 539 16 43 549 547(samplerNormal) 170 558: 11(int) Constant 123 - 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 557 20 40 558 16 99 19 + 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 557 20 40 558 16 101 19 561(textureAlbedo): 519(ptr) Variable UniformConstant - 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 563 518 40 558 16 43 563 561(textureAlbedo) 167 - 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 44 40 558 16 43 172 161 17 -566(samplerAlbedo): 173(ptr) Variable UniformConstant - 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 568 565 40 558 16 43 568 566(samplerAlbedo) 167 - 573: TypePointer Uniform 233(int) - 574: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 235 27 16 + 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 563 518 40 558 16 43 563 561(textureAlbedo) 170 + 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 558 16 43 175 164 17 +566(samplerAlbedo): 176(ptr) Variable UniformConstant + 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 568 565 40 558 16 43 568 566(samplerAlbedo) 170 + 573: TypePointer Uniform 235(int) + 574: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 237 27 16 577: 11(int) Constant 128 585: 11(int) Constant 129 595: 11(int) Constant 131 - 594: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 74 40 595 16 99 19 - 599: 73(fvec3) ConstantComposite 111 111 111 + 594: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 40 595 16 101 19 + 599: 74(fvec3) ConstantComposite 114 114 114 605: 11(int) Constant 132 611: 11(int) Constant 134 613: 11(int) Constant 135 @@ -431,50 +431,50 @@ spv.debuginfo.hlsl.frag 656: 11(int) Constant 150 658: 8(float) Constant 1036831949 663: 11(int) Constant 152 - 661: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 662 74 40 663 16 99 19 + 661: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 662 75 40 663 16 101 19 670: 11(int) Constant 154 - 669: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 409 235 40 670 16 99 19 + 669: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 410 237 40 670 16 101 19 687: 11(int) Constant 157 - 685: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 686 74 40 687 16 99 19 + 685: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 686 75 40 687 16 101 19 692: TypePointer Uniform 18(fvec4) 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 27 16 701: 11(int) Constant 159 - 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 152 10 40 701 16 99 19 + 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 155 10 40 701 16 101 19 708: 11(int) Constant 160 713: 11(int) Constant 163 - 711: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 712 74 40 713 16 99 19 + 711: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 712 75 40 713 16 101 19 723: 11(int) Constant 164 728: 11(int) Constant 166 - 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 727 10 40 728 16 99 19 + 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 727 10 40 728 16 101 19 731: 8(float) Constant 1064781546 735: 11(int) Constant 167 - 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 734 10 40 735 16 99 19 + 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 734 10 40 735 16 101 19 738: 8(float) Constant 1063781322 742: 11(int) Constant 168 - 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 741 10 40 742 16 99 19 + 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 741 10 40 742 16 101 19 745: 8(float) Constant 1120403456 749: 11(int) Constant 171 - 747: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 748 74 40 749 16 99 19 + 747: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 748 75 40 749 16 101 19 765: 11(int) Constant 174 - 763: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 764 10 40 765 16 99 19 + 763: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 764 10 40 765 16 101 19 774: 11(int) Constant 175 - 772: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 773 10 40 774 16 99 19 + 772: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 773 10 40 774 16 101 19 784: 11(int) Constant 176 - 782: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 783 10 40 784 16 99 19 + 782: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 783 10 40 784 16 101 19 793: 11(int) Constant 179 - 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 792 10 40 793 16 99 19 + 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 792 10 40 793 16 101 19 803: 11(int) Constant 180 - 801: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 802 74 40 803 16 99 19 + 801: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 802 75 40 803 16 101 19 811: 11(int) Constant 183 - 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 810 74 40 811 16 99 19 + 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 810 75 40 811 16 101 19 821: 11(int) Constant 184 - 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 820 10 40 821 16 99 19 + 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 820 10 40 821 16 101 19 831: 11(int) Constant 185 - 829: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 830 74 40 831 16 99 19 + 829: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 830 75 40 831 16 101 19 835: 8(float) Constant 1098907648 840: 8(float) Constant 1075838976 845: 11(int) Constant 187 - 853: 233(int) Constant 2 + 853: 235(int) Constant 2 870: 11(int) Constant 191 879: 11(int) Constant 193 886: 11(int) Constant 196 @@ -490,7 +490,7 @@ spv.debuginfo.hlsl.frag Store 894(inUV) 897 901: 26(fvec2) Load 894(inUV) Store 900(param) 901 - 902: 18(fvec4) FunctionCall 96(@main(vf2;) 900(param) + 902: 18(fvec4) FunctionCall 98(@main(vf2;) 900(param) Store 899(@entryPointOutput) 902 Return FunctionEnd @@ -499,401 +499,401 @@ spv.debuginfo.hlsl.frag 34(layer): 24(ptr) FunctionParameter 35(offset): 29(ptr) FunctionParameter 37: Label - 106(shadow): 24(ptr) Variable Function -112(shadowCoord): 21(ptr) Variable Function - 150(dist): 24(ptr) Variable Function + 109(shadow): 24(ptr) Variable Function +115(shadowCoord): 21(ptr) Variable Function + 153(dist): 24(ptr) Variable Function 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 42 42 16 16 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 33(P) 49 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 34(layer) 49 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 55 35(offset) 49 - 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(textureProj(vf4;f1;vf2;) - 110: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 108 108 16 16 - 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 107 106(shadow) 49 - Store 106(shadow) 111 - 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 115 115 16 16 - 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 113 112(shadowCoord) 49 - 118: 18(fvec4) Load 33(P) - 119: 24(ptr) AccessChain 33(P) 17 - 120: 8(float) Load 119 - 121: 18(fvec4) CompositeConstruct 120 120 120 120 - 122: 18(fvec4) FDiv 118 121 - Store 112(shadowCoord) 122 - 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 125 125 16 16 - 123: 18(fvec4) Load 112(shadowCoord) - 126: 26(fvec2) VectorShuffle 123 123 0 1 - 128: 26(fvec2) VectorTimesScalar 126 127 - 129: 26(fvec2) CompositeConstruct 127 127 - 130: 26(fvec2) FAdd 128 129 - 131: 24(ptr) AccessChain 112(shadowCoord) 16 - 132: 8(float) CompositeExtract 130 0 - Store 131 132 - 133: 24(ptr) AccessChain 112(shadowCoord) 44 - 134: 8(float) CompositeExtract 130 1 - Store 133 134 - 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 137 137 16 16 - 135: 24(ptr) AccessChain 112(shadowCoord) 27 - 138: 8(float) Load 135 - 143: 140(bool) FOrdGreaterThan 138 139 - 144: 24(ptr) AccessChain 112(shadowCoord) 27 - 145: 8(float) Load 144 - 146: 140(bool) FOrdLessThan 145 111 - 147: 140(bool) LogicalAnd 143 146 - SelectionMerge 149 None - BranchConditional 147 148 149 - 148: Label - 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 156: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 153 153 16 16 - 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 151 150(dist) 49 - 168: 157 Load 164(textureShadowMap) - 178: 169 Load 175(samplerShadowMap) - 183: 179 SampledImage 168 178 - 184: 18(fvec4) Load 112(shadowCoord) - 185: 26(fvec2) VectorShuffle 184 184 0 1 - 186: 26(fvec2) Load 35(offset) - 187: 26(fvec2) FAdd 185 186 - 188: 8(float) Load 34(layer) - 189: 8(float) CompositeExtract 187 0 - 190: 8(float) CompositeExtract 187 1 - 191: 73(fvec3) CompositeConstruct 189 190 188 - 192: 18(fvec4) ImageSampleImplicitLod 183 191 - 193: 8(float) CompositeExtract 192 0 - Store 150(dist) 193 - 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 196 196 16 16 - 194: 24(ptr) AccessChain 112(shadowCoord) 17 - 197: 8(float) Load 194 - 199: 140(bool) FOrdGreaterThan 197 198 - 200: 8(float) Load 150(dist) - 201: 24(ptr) AccessChain 112(shadowCoord) 27 - 202: 8(float) Load 201 - 203: 140(bool) FOrdLessThan 200 202 - 204: 140(bool) LogicalAnd 199 203 - SelectionMerge 206 None - BranchConditional 204 205 206 - 205: Label - 208: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 210 210 16 16 - Store 106(shadow) 207 - Branch 206 - 206: Label - 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - Branch 149 - 149: Label - 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 215 215 16 16 - 212: 8(float) Load 106(shadow) - ReturnValue 212 + 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(textureProj(vf4;f1;vf2;) + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 111 111 16 16 + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 110 109(shadow) 49 + Store 109(shadow) 114 + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 118 118 16 16 + 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 116 115(shadowCoord) 49 + 121: 18(fvec4) Load 33(P) + 122: 24(ptr) AccessChain 33(P) 17 + 123: 8(float) Load 122 + 124: 18(fvec4) CompositeConstruct 123 123 123 123 + 125: 18(fvec4) FDiv 121 124 + Store 115(shadowCoord) 125 + 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 128 128 16 16 + 126: 18(fvec4) Load 115(shadowCoord) + 129: 26(fvec2) VectorShuffle 126 126 0 1 + 131: 26(fvec2) VectorTimesScalar 129 130 + 132: 26(fvec2) CompositeConstruct 130 130 + 133: 26(fvec2) FAdd 131 132 + 134: 24(ptr) AccessChain 115(shadowCoord) 16 + 135: 8(float) CompositeExtract 133 0 + Store 134 135 + 136: 24(ptr) AccessChain 115(shadowCoord) 44 + 137: 8(float) CompositeExtract 133 1 + Store 136 137 + 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 140 140 16 16 + 138: 24(ptr) AccessChain 115(shadowCoord) 27 + 141: 8(float) Load 138 + 146: 143(bool) FOrdGreaterThan 141 142 + 147: 24(ptr) AccessChain 115(shadowCoord) 27 + 148: 8(float) Load 147 + 149: 143(bool) FOrdLessThan 148 114 + 150: 143(bool) LogicalAnd 146 149 + SelectionMerge 152 None + BranchConditional 150 151 152 + 151: Label + 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 156 156 16 16 + 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 154 153(dist) 49 + 171: 160 Load 167(textureShadowMap) + 181: 172 Load 178(samplerShadowMap) + 186: 182 SampledImage 171 181 + 187: 18(fvec4) Load 115(shadowCoord) + 188: 26(fvec2) VectorShuffle 187 187 0 1 + 189: 26(fvec2) Load 35(offset) + 190: 26(fvec2) FAdd 188 189 + 191: 8(float) Load 34(layer) + 192: 8(float) CompositeExtract 190 0 + 193: 8(float) CompositeExtract 190 1 + 194: 74(fvec3) CompositeConstruct 192 193 191 + 195: 18(fvec4) ImageSampleImplicitLod 186 194 + 196: 8(float) CompositeExtract 195 0 + Store 153(dist) 196 + 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 199 199 16 16 + 197: 24(ptr) AccessChain 115(shadowCoord) 17 + 200: 8(float) Load 197 + 202: 143(bool) FOrdGreaterThan 200 201 + 203: 8(float) Load 153(dist) + 204: 24(ptr) AccessChain 115(shadowCoord) 27 + 205: 8(float) Load 204 + 206: 143(bool) FOrdLessThan 203 205 + 207: 143(bool) LogicalAnd 202 206 + SelectionMerge 209 None + BranchConditional 207 208 209 + 208: Label + 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 213 213 16 16 + Store 109(shadow) 210 + Branch 209 + 209: Label + 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + Branch 152 + 152: Label + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 218 218 16 16 + 215: 8(float) Load 109(shadow) + ReturnValue 215 FunctionEnd 62(filterPCF(vf4;f1;): 8(float) Function None 58 60(sc): 21(ptr) FunctionParameter 61(layer): 24(ptr) FunctionParameter 63: Label -225(sizeQueryTemp): 223(ptr) Variable Function - 240(texDim): 238(ptr) Variable Function - 256(elements): 249(ptr) Variable Function - 263(levels): 249(ptr) Variable Function - 270(scale): 24(ptr) Variable Function - 277(dx): 24(ptr) Variable Function - 289(dy): 24(ptr) Variable Function -301(shadowFactor): 24(ptr) Variable Function - 307(count): 249(ptr) Variable Function - 314(range): 249(ptr) Variable Function - 321(x): 249(ptr) Variable Function - 341(y): 249(ptr) Variable Function - 374(param): 21(ptr) Variable Function - 376(param): 24(ptr) Variable Function - 378(param): 29(ptr) Variable Function +227(sizeQueryTemp): 225(ptr) Variable Function + 242(texDim): 240(ptr) Variable Function + 258(elements): 251(ptr) Variable Function + 265(levels): 251(ptr) Variable Function + 272(scale): 24(ptr) Variable Function + 279(dx): 24(ptr) Variable Function + 291(dy): 24(ptr) Variable Function +303(shadowFactor): 24(ptr) Variable Function + 309(count): 251(ptr) Variable Function + 316(range): 251(ptr) Variable Function + 323(x): 251(ptr) Variable Function + 343(y): 251(ptr) Variable Function + 376(param): 21(ptr) Variable Function + 378(param): 24(ptr) Variable Function + 380(param): 29(ptr) Variable Function 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 66 66 16 16 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 67 60(sc) 49 - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 71 61(layer) 49 - 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 66 66 16 16 - 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) - 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 228 228 16 16 - 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 226 225(sizeQueryTemp) 49 - 231: 157 Load 164(textureShadowMap) - 232: 221(ivec3) ImageQuerySizeLod 231 16 - Store 225(sizeQueryTemp) 232 - 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 241 240(texDim) 49 - 246: 244(ptr) AccessChain 225(sizeQueryTemp) 16 - 247: 11(int) Load 246 - 248: 233(int) Bitcast 247 - 251: 249(ptr) AccessChain 240(texDim) 16 - Store 251 248 - 252: 244(ptr) AccessChain 225(sizeQueryTemp) 44 - 253: 11(int) Load 252 - 254: 233(int) Bitcast 253 - 255: 249(ptr) AccessChain 240(texDim) 44 - Store 255 254 - 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 257 256(elements) 49 - 260: 244(ptr) AccessChain 225(sizeQueryTemp) 27 - 261: 11(int) Load 260 - 262: 233(int) Bitcast 261 - Store 256(elements) 262 - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 264 263(levels) 49 - 267: 157 Load 164(textureShadowMap) - 268: 11(int) ImageQueryLevels 267 - 269: 233(int) Bitcast 268 - Store 263(levels) 269 - 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 273 273 16 16 - 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 271 270(scale) 49 - Store 270(scale) 276 - 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 280 280 16 16 - 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 278 277(dx) 49 - 283: 8(float) Load 270(scale) - 284: 8(float) FMul 283 111 - 285: 249(ptr) AccessChain 240(texDim) 16 - 286: 233(int) Load 285 - 287: 8(float) ConvertSToF 286 - 288: 8(float) FDiv 284 287 - Store 277(dx) 288 - 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 292 292 16 16 - 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 290 289(dy) 49 - 295: 8(float) Load 270(scale) - 296: 8(float) FMul 295 111 - 297: 249(ptr) AccessChain 240(texDim) 44 - 298: 233(int) Load 297 - 299: 8(float) ConvertSToF 298 - 300: 8(float) FDiv 296 299 - Store 289(dy) 300 - 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 304 304 16 16 - 305: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 302 301(shadowFactor) 49 - Store 301(shadowFactor) 198 - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 310 310 16 16 - 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 308 307(count) 49 - Store 307(count) 313 - 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 317 317 16 16 - 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 315 314(range) 49 - Store 314(range) 320 - 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 324 324 16 16 - 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 322 321(x) 49 - 327: 233(int) Load 314(range) - 328: 233(int) SNegate 327 - Store 321(x) 328 - Branch 329 - 329: Label - 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 324 324 16 16 - LoopMerge 331 332 None - Branch 335 - 335: Label - 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 324 324 16 16 - 336: 233(int) Load 321(x) - 339: 233(int) Load 314(range) - 340: 140(bool) SLessThanEqual 336 339 - BranchConditional 340 330 331 - 330: Label - 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 344 344 16 16 - 345: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 342 341(y) 49 - 348: 233(int) Load 314(range) - 349: 233(int) SNegate 348 - Store 341(y) 349 - Branch 350 - 350: Label - 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 344 344 16 16 - LoopMerge 352 353 None - Branch 356 - 356: Label - 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 344 344 16 16 - 357: 233(int) Load 341(y) - 360: 233(int) Load 314(range) - 361: 140(bool) SLessThanEqual 357 360 - BranchConditional 361 351 352 - 351: Label - 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 365 365 16 16 - 362: 8(float) Load 277(dx) - 366: 233(int) Load 321(x) - 367: 8(float) ConvertSToF 366 - 368: 8(float) FMul 362 367 - 369: 8(float) Load 289(dy) - 370: 233(int) Load 341(y) - 371: 8(float) ConvertSToF 370 - 372: 8(float) FMul 369 371 - 373: 26(fvec2) CompositeConstruct 368 372 - 375: 18(fvec4) Load 60(sc) - Store 374(param) 375 - 377: 8(float) Load 61(layer) - Store 376(param) 377 - Store 378(param) 373 - 379: 8(float) FunctionCall 36(textureProj(vf4;f1;vf2;) 374(param) 376(param) 378(param) - 380: 8(float) Load 301(shadowFactor) - 381: 8(float) FAdd 380 379 - Store 301(shadowFactor) 381 - 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 384 384 16 16 - 382: 233(int) Load 307(count) - 385: 233(int) IAdd 382 320 - Store 307(count) 385 - Branch 353 - 353: Label - 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 344 344 16 16 - 386: 233(int) Load 341(y) - 389: 233(int) IAdd 386 320 - Store 341(y) 389 - Branch 350 - 352: Label - 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - Branch 332 - 332: Label - 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 324 324 16 16 - 391: 233(int) Load 321(x) - 394: 233(int) IAdd 391 320 - Store 321(x) 394 - Branch 329 + 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 72 61(layer) 49 + 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) + 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 230 230 16 16 + 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 228 227(sizeQueryTemp) 49 + 233: 160 Load 167(textureShadowMap) + 234: 223(ivec3) ImageQuerySizeLod 233 16 + Store 227(sizeQueryTemp) 234 + 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 243 242(texDim) 49 + 248: 246(ptr) AccessChain 227(sizeQueryTemp) 16 + 249: 11(int) Load 248 + 250: 235(int) Bitcast 249 + 253: 251(ptr) AccessChain 242(texDim) 16 + Store 253 250 + 254: 246(ptr) AccessChain 227(sizeQueryTemp) 44 + 255: 11(int) Load 254 + 256: 235(int) Bitcast 255 + 257: 251(ptr) AccessChain 242(texDim) 44 + Store 257 256 + 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 259 258(elements) 49 + 262: 246(ptr) AccessChain 227(sizeQueryTemp) 27 + 263: 11(int) Load 262 + 264: 235(int) Bitcast 263 + Store 258(elements) 264 + 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 266 265(levels) 49 + 269: 160 Load 167(textureShadowMap) + 270: 11(int) ImageQueryLevels 269 + 271: 235(int) Bitcast 270 + Store 265(levels) 271 + 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 275 275 16 16 + 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 273 272(scale) 49 + Store 272(scale) 278 + 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 282 282 16 16 + 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 280 279(dx) 49 + 285: 8(float) Load 272(scale) + 286: 8(float) FMul 285 114 + 287: 251(ptr) AccessChain 242(texDim) 16 + 288: 235(int) Load 287 + 289: 8(float) ConvertSToF 288 + 290: 8(float) FDiv 286 289 + Store 279(dx) 290 + 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 294 294 16 16 + 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 292 291(dy) 49 + 297: 8(float) Load 272(scale) + 298: 8(float) FMul 297 114 + 299: 251(ptr) AccessChain 242(texDim) 44 + 300: 235(int) Load 299 + 301: 8(float) ConvertSToF 300 + 302: 8(float) FDiv 298 301 + Store 291(dy) 302 + 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 306 306 16 16 + 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 304 303(shadowFactor) 49 + Store 303(shadowFactor) 201 + 314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 312 312 16 16 + 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 310 309(count) 49 + Store 309(count) 315 + 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 319 319 16 16 + 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 317 316(range) 49 + Store 316(range) 322 + 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 326 326 16 16 + 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 324 323(x) 49 + 329: 235(int) Load 316(range) + 330: 235(int) SNegate 329 + Store 323(x) 330 + Branch 331 331: Label - 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 398 398 16 16 - 395: 8(float) Load 301(shadowFactor) - 399: 233(int) Load 307(count) - 400: 8(float) ConvertSToF 399 - 401: 8(float) FDiv 395 400 - ReturnValue 401 + 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 326 326 16 16 + LoopMerge 333 334 None + Branch 337 + 337: Label + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 326 326 16 16 + 338: 235(int) Load 323(x) + 341: 235(int) Load 316(range) + 342: 143(bool) SLessThanEqual 338 341 + BranchConditional 342 332 333 + 332: Label + 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 346 346 16 16 + 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 344 343(y) 49 + 350: 235(int) Load 316(range) + 351: 235(int) SNegate 350 + Store 343(y) 351 + Branch 352 + 352: Label + 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 346 346 16 16 + LoopMerge 354 355 None + Branch 358 + 358: Label + 360: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 346 346 16 16 + 359: 235(int) Load 343(y) + 362: 235(int) Load 316(range) + 363: 143(bool) SLessThanEqual 359 362 + BranchConditional 363 353 354 + 353: Label + 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 367 367 16 16 + 364: 8(float) Load 279(dx) + 368: 235(int) Load 323(x) + 369: 8(float) ConvertSToF 368 + 370: 8(float) FMul 364 369 + 371: 8(float) Load 291(dy) + 372: 235(int) Load 343(y) + 373: 8(float) ConvertSToF 372 + 374: 8(float) FMul 371 373 + 375: 26(fvec2) CompositeConstruct 370 374 + 377: 18(fvec4) Load 60(sc) + Store 376(param) 377 + 379: 8(float) Load 61(layer) + Store 378(param) 379 + Store 380(param) 375 + 381: 8(float) FunctionCall 36(textureProj(vf4;f1;vf2;) 376(param) 378(param) 380(param) + 382: 8(float) Load 303(shadowFactor) + 383: 8(float) FAdd 382 381 + Store 303(shadowFactor) 383 + 385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 386 386 16 16 + 384: 235(int) Load 309(count) + 387: 235(int) IAdd 384 322 + Store 309(count) 387 + Branch 355 + 355: Label + 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 346 346 16 16 + 388: 235(int) Load 343(y) + 391: 235(int) IAdd 388 322 + Store 343(y) 391 + Branch 352 + 354: Label + 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + Branch 334 + 334: Label + 394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 326 326 16 16 + 393: 235(int) Load 323(x) + 396: 235(int) IAdd 393 322 + Store 323(x) 396 + Branch 331 + 333: Label + 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 400 400 16 16 + 397: 8(float) Load 303(shadowFactor) + 401: 235(int) Load 309(count) + 402: 8(float) ConvertSToF 401 + 403: 8(float) FDiv 397 402 + ReturnValue 403 FunctionEnd -81(shadow(vf3;vf3;): 73(fvec3) Function None 77 - 79(fragcolor): 75(ptr) FunctionParameter - 80(fragPos): 75(ptr) FunctionParameter - 82: Label - 407(i): 249(ptr) Variable Function - 425(shadowClip): 21(ptr) Variable Function -483(shadowFactor): 24(ptr) Variable Function - 490(param): 21(ptr) Variable Function - 492(param): 24(ptr) Variable Function - 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 79(fragcolor) 49 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 90 80(fragPos) 49 - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 85 85 16 16 - 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 84 81(shadow(vf3;vf3;) - 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 410 410 16 16 - 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 408 407(i) 49 - Store 407(i) 313 - Branch 413 - 413: Label - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 410 410 16 16 - LoopMerge 415 416 None - Branch 419 - 419: Label - 421: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 410 410 16 16 - 420: 233(int) Load 407(i) - 424: 140(bool) SLessThan 420 423 - BranchConditional 424 414 415 - 414: Label - 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 428 428 16 16 - 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 426 425(shadowClip) 49 - 432: 73(fvec3) Load 80(fragPos) - 433: 8(float) CompositeExtract 432 0 - 434: 8(float) CompositeExtract 432 1 - 435: 8(float) CompositeExtract 432 2 - 436: 18(fvec4) CompositeConstruct 433 434 435 111 - 477: 233(int) Load 407(i) - 480: 478(ptr) AccessChain 475 313 320 477 423 - 481: 437 Load 480 - 482: 18(fvec4) VectorTimesMatrix 436 481 - Store 425(shadowClip) 482 - 487: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 485 485 16 16 - 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 484 483(shadowFactor) 49 - 488: 233(int) Load 407(i) - 489: 8(float) ConvertSToF 488 - 491: 18(fvec4) Load 425(shadowClip) - Store 490(param) 491 - Store 492(param) 489 - 493: 8(float) FunctionCall 62(filterPCF(vf4;f1;) 490(param) 492(param) - Store 483(shadowFactor) 493 - 495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 496 496 16 16 - 494: 8(float) Load 483(shadowFactor) - 497: 73(fvec3) Load 79(fragcolor) - 498: 73(fvec3) VectorTimesScalar 497 494 - Store 79(fragcolor) 498 - Branch 416 - 416: Label - 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 410 410 16 16 - 499: 233(int) Load 407(i) - 502: 233(int) IAdd 499 320 - Store 407(i) 502 - Branch 413 - 415: Label - 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 506 506 16 16 - 503: 73(fvec3) Load 79(fragcolor) - ReturnValue 503 +82(shadow(vf3;vf3;): 74(fvec3) Function None 78 + 80(fragcolor): 76(ptr) FunctionParameter + 81(fragPos): 76(ptr) FunctionParameter + 83: Label + 408(i): 251(ptr) Variable Function + 426(shadowClip): 21(ptr) Variable Function +484(shadowFactor): 24(ptr) Variable Function + 491(param): 21(ptr) Variable Function + 493(param): 24(ptr) Variable Function + 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 86 86 16 16 + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 80(fragcolor) 49 + 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 81(fragPos) 49 + 407: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) + 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 411 411 16 16 + 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 409 408(i) 49 + Store 408(i) 315 + Branch 414 + 414: Label + 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 411 411 16 16 + LoopMerge 416 417 None + Branch 420 + 420: Label + 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 411 411 16 16 + 421: 235(int) Load 408(i) + 425: 143(bool) SLessThan 421 424 + BranchConditional 425 415 416 + 415: Label + 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 432: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 429 429 16 16 + 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 427 426(shadowClip) 49 + 433: 74(fvec3) Load 81(fragPos) + 434: 8(float) CompositeExtract 433 0 + 435: 8(float) CompositeExtract 433 1 + 436: 8(float) CompositeExtract 433 2 + 437: 18(fvec4) CompositeConstruct 434 435 436 114 + 478: 235(int) Load 408(i) + 481: 479(ptr) AccessChain 476 315 322 478 424 + 482: 438 Load 481 + 483: 18(fvec4) VectorTimesMatrix 437 482 + Store 426(shadowClip) 483 + 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 486 486 16 16 + 487: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 485 484(shadowFactor) 49 + 489: 235(int) Load 408(i) + 490: 8(float) ConvertSToF 489 + 492: 18(fvec4) Load 426(shadowClip) + Store 491(param) 492 + Store 493(param) 490 + 494: 8(float) FunctionCall 62(filterPCF(vf4;f1;) 491(param) 493(param) + Store 484(shadowFactor) 494 + 496: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 497 497 16 16 + 495: 8(float) Load 484(shadowFactor) + 498: 74(fvec3) Load 80(fragcolor) + 499: 74(fvec3) VectorTimesScalar 498 495 + Store 80(fragcolor) 499 + Branch 417 + 417: Label + 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 411 411 16 16 + 500: 235(int) Load 408(i) + 503: 235(int) IAdd 500 322 + Store 408(i) 503 + Branch 414 + 416: Label + 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 507 507 16 16 + 504: 74(fvec3) Load 80(fragcolor) + ReturnValue 504 FunctionEnd - 96(@main(vf2;): 18(fvec4) Function None 93 - 95(inUV): 29(ptr) FunctionParameter - 97: Label - 512(fragPos): 75(ptr) Variable Function - 536(normal): 75(ptr) Variable Function + 98(@main(vf2;): 18(fvec4) Function None 95 + 97(inUV): 29(ptr) FunctionParameter + 99: Label + 512(fragPos): 76(ptr) Variable Function + 536(normal): 76(ptr) Variable Function 555(albedo): 21(ptr) Variable Function - 593(fragcolor): 75(ptr) Variable Function - 600(param): 75(ptr) Variable Function - 601(param): 75(ptr) Variable Function - 660(N): 75(ptr) Variable Function - 668(i): 249(ptr) Variable Function - 684(L): 75(ptr) Variable Function + 593(fragcolor): 76(ptr) Variable Function + 600(param): 76(ptr) Variable Function + 601(param): 76(ptr) Variable Function + 660(N): 76(ptr) Variable Function + 668(i): 251(ptr) Variable Function + 684(L): 76(ptr) Variable Function 699(dist): 24(ptr) Variable Function - 710(V): 75(ptr) Variable Function + 710(V): 76(ptr) Variable Function 725(lightCosInnerAngle): 24(ptr) Variable Function 732(lightCosOuterAngle): 24(ptr) Variable Function 739(lightRange): 24(ptr) Variable Function - 746(dir): 75(ptr) Variable Function + 746(dir): 76(ptr) Variable Function 762(cosDir): 24(ptr) Variable Function 771(spotEffect): 24(ptr) Variable Function 781(heightAttenuation): 24(ptr) Variable Function 790(NdotL): 24(ptr) Variable Function - 800(diff): 75(ptr) Variable Function - 808(R): 75(ptr) Variable Function + 800(diff): 76(ptr) Variable Function + 808(R): 76(ptr) Variable Function 818(NdotR): 24(ptr) Variable Function - 828(spec): 75(ptr) Variable Function - 875(param): 75(ptr) Variable Function - 880(param): 75(ptr) Variable Function - 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 101 95(inUV) 49 - 511: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 100 100 16 16 - 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 99 96(@main(vf2;) + 828(spec): 76(ptr) Variable Function + 875(param): 76(ptr) Variable Function + 880(param): 76(ptr) Variable Function + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 102 102 16 16 + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 103 97(inUV) 49 + 511: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 101 98(@main(vf2;) 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 514 514 16 16 515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 513 512(fragPos) 49 524: 517 Load 521(textureposition) - 529: 169 Load 526(samplerposition) + 529: 172 Load 526(samplerposition) 532: 530 SampledImage 524 529 - 533: 26(fvec2) Load 95(inUV) + 533: 26(fvec2) Load 97(inUV) 534: 18(fvec4) ImageSampleImplicitLod 532 533 - 535: 73(fvec3) VectorShuffle 534 534 0 1 2 + 535: 74(fvec3) VectorShuffle 534 534 0 1 2 Store 512(fragPos) 535 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 539 539 16 16 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 537 536(normal) 49 545: 517 Load 542(textureNormal) - 550: 169 Load 547(samplerNormal) + 550: 172 Load 547(samplerNormal) 551: 530 SampledImage 545 550 - 552: 26(fvec2) Load 95(inUV) + 552: 26(fvec2) Load 97(inUV) 553: 18(fvec4) ImageSampleImplicitLod 551 552 - 554: 73(fvec3) VectorShuffle 553 553 0 1 2 + 554: 74(fvec3) VectorShuffle 553 553 0 1 2 Store 536(normal) 554 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 558 558 16 16 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 556 555(albedo) 49 564: 517 Load 561(textureAlbedo) - 569: 169 Load 566(samplerAlbedo) + 569: 172 Load 566(samplerAlbedo) 570: 530 SampledImage 564 569 - 571: 26(fvec2) Load 95(inUV) + 571: 26(fvec2) Load 97(inUV) 572: 18(fvec4) ImageSampleImplicitLod 570 571 Store 555(albedo) 572 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 577 577 16 16 - 575: 573(ptr) AccessChain 475 313 423 - 578: 233(int) Load 575 - 579: 140(bool) SGreaterThan 578 313 + 575: 573(ptr) AccessChain 476 315 424 + 578: 235(int) Load 575 + 579: 143(bool) SGreaterThan 578 315 SelectionMerge 581 None BranchConditional 579 580 581 580: Label - 583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 585 585 16 16 - 582: 573(ptr) AccessChain 475 313 423 - 586: 233(int) Load 582 + 582: 573(ptr) AccessChain 476 315 424 + 586: 235(int) Load 582 SelectionMerge 592 None Switch 586 592 case 1: 587 @@ -902,113 +902,113 @@ spv.debuginfo.hlsl.frag case 4: 590 case 5: 591 587: Label - 597: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 597: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 595 595 16 16 596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 594 593(fragcolor) 49 Store 600(param) 599 - 602: 73(fvec3) Load 512(fragPos) + 602: 74(fvec3) Load 512(fragPos) Store 601(param) 602 - 603: 73(fvec3) FunctionCall 81(shadow(vf3;vf3;) 600(param) 601(param) + 603: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 600(param) 601(param) Store 593(fragcolor) 603 604: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 605 605 16 16 Branch 592 588: Label - 609: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 609: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 610: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 611 611 16 16 - 608: 73(fvec3) Load 512(fragPos) + 608: 74(fvec3) Load 512(fragPos) Store 593(fragcolor) 608 612: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 613 613 16 16 Branch 592 589: Label - 617: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 617: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 618: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 619 619 16 16 - 616: 73(fvec3) Load 536(normal) + 616: 74(fvec3) Load 536(normal) Store 593(fragcolor) 616 620: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 621 621 16 16 Branch 592 590: Label - 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 626: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 627 627 16 16 624: 18(fvec4) Load 555(albedo) - 628: 73(fvec3) VectorShuffle 624 624 0 1 2 + 628: 74(fvec3) VectorShuffle 624 624 0 1 2 Store 593(fragcolor) 628 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 630 630 16 16 Branch 592 591: Label - 634: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 634: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 635: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 636 636 16 16 633: 18(fvec4) Load 555(albedo) - 637: 73(fvec3) VectorShuffle 633 633 3 3 3 + 637: 74(fvec3) VectorShuffle 633 633 3 3 3 Store 593(fragcolor) 637 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 639 639 16 16 Branch 592 592: Label - 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 645: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 646 646 16 16 - 643: 73(fvec3) Load 593(fragcolor) + 643: 74(fvec3) Load 593(fragcolor) 647: 8(float) CompositeExtract 643 0 648: 8(float) CompositeExtract 643 1 649: 8(float) CompositeExtract 643 2 - 650: 18(fvec4) CompositeConstruct 647 648 649 111 + 650: 18(fvec4) CompositeConstruct 647 648 649 114 ReturnValue 650 581: Label - 654: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 654: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 656 656 16 16 653: 18(fvec4) Load 555(albedo) - 657: 73(fvec3) VectorShuffle 653 653 0 1 2 - 659: 73(fvec3) VectorTimesScalar 657 658 + 657: 74(fvec3) VectorShuffle 653 653 0 1 2 + 659: 74(fvec3) VectorTimesScalar 657 658 Store 593(fragcolor) 659 665: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 663 663 16 16 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 661 660(N) 49 - 666: 73(fvec3) Load 536(normal) - 667: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 666 + 666: 74(fvec3) Load 536(normal) + 667: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 666 Store 660(N) 667 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 669 668(i) 49 - Store 668(i) 313 + Store 668(i) 315 Branch 673 673: Label - 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 678: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 LoopMerge 675 676 None Branch 679 679: Label - 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 682: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - 680: 233(int) Load 668(i) - 683: 140(bool) SLessThan 680 423 + 680: 235(int) Load 668(i) + 683: 143(bool) SLessThan 680 424 BranchConditional 683 674 675 674: Label - 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 687 687 16 16 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 685 684(L) 49 - 691: 233(int) Load 668(i) - 694: 692(ptr) AccessChain 475 313 320 691 313 + 691: 235(int) Load 668(i) + 694: 692(ptr) AccessChain 476 315 322 691 315 695: 18(fvec4) Load 694 - 696: 73(fvec3) VectorShuffle 695 695 0 1 2 - 697: 73(fvec3) Load 512(fragPos) - 698: 73(fvec3) FSub 696 697 + 696: 74(fvec3) VectorShuffle 695 695 0 1 2 + 697: 74(fvec3) Load 512(fragPos) + 698: 74(fvec3) FSub 696 697 Store 684(L) 698 703: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 701 701 16 16 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 700 699(dist) 49 - 704: 73(fvec3) Load 684(L) + 704: 74(fvec3) Load 684(L) 705: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 704 Store 699(dist) 705 707: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 708 708 16 16 - 706: 73(fvec3) Load 684(L) - 709: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 706 + 706: 74(fvec3) Load 684(L) + 709: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 706 Store 684(L) 709 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 713 713 16 16 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 711 710(V) 49 - 716: 692(ptr) AccessChain 475 313 313 + 716: 692(ptr) AccessChain 476 315 315 717: 18(fvec4) Load 716 - 718: 73(fvec3) VectorShuffle 717 717 0 1 2 - 719: 73(fvec3) Load 512(fragPos) - 720: 73(fvec3) FSub 718 719 + 718: 74(fvec3) VectorShuffle 717 717 0 1 2 + 719: 74(fvec3) Load 512(fragPos) + 720: 74(fvec3) FSub 718 719 Store 710(V) 720 722: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 723 723 16 16 - 721: 73(fvec3) Load 710(V) - 724: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 721 + 721: 74(fvec3) Load 710(V) + 724: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 721 Store 710(V) 724 730: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 728 728 16 16 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 726 725(lightCosInnerAngle) 49 @@ -1021,21 +1021,21 @@ spv.debuginfo.hlsl.frag Store 739(lightRange) 745 751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 749 749 16 16 750: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 747 746(dir) 49 - 752: 233(int) Load 668(i) - 753: 692(ptr) AccessChain 475 313 320 752 313 + 752: 235(int) Load 668(i) + 753: 692(ptr) AccessChain 476 315 322 752 315 754: 18(fvec4) Load 753 - 755: 73(fvec3) VectorShuffle 754 754 0 1 2 - 756: 233(int) Load 668(i) - 757: 692(ptr) AccessChain 475 313 320 756 320 + 755: 74(fvec3) VectorShuffle 754 754 0 1 2 + 756: 235(int) Load 668(i) + 757: 692(ptr) AccessChain 476 315 322 756 322 758: 18(fvec4) Load 757 - 759: 73(fvec3) VectorShuffle 758 758 0 1 2 - 760: 73(fvec3) FSub 755 759 - 761: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 760 + 759: 74(fvec3) VectorShuffle 758 758 0 1 2 + 760: 74(fvec3) FSub 755 759 + 761: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 760 Store 746(dir) 761 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 765 765 16 16 766: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 763 762(cosDir) 49 - 768: 73(fvec3) Load 684(L) - 769: 73(fvec3) Load 746(dir) + 768: 74(fvec3) Load 684(L) + 769: 74(fvec3) Load 746(dir) 770: 8(float) Dot 768 769 Store 762(cosDir) 770 776: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 774 774 16 16 @@ -1049,33 +1049,33 @@ spv.debuginfo.hlsl.frag 785: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 782 781(heightAttenuation) 49 787: 8(float) Load 739(lightRange) 788: 8(float) Load 699(dist) - 789: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 787 198 788 + 789: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 787 201 788 Store 781(heightAttenuation) 789 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 793 793 16 16 794: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 791 790(NdotL) 49 - 796: 73(fvec3) Load 660(N) - 797: 73(fvec3) Load 684(L) + 796: 74(fvec3) Load 660(N) + 797: 74(fvec3) Load 684(L) 798: 8(float) Dot 796 797 - 799: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 198 798 + 799: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 201 798 Store 790(NdotL) 799 805: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 803 803 16 16 804: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 801 800(diff) 49 806: 8(float) Load 790(NdotL) - 807: 73(fvec3) CompositeConstruct 806 806 806 + 807: 74(fvec3) CompositeConstruct 806 806 806 Store 800(diff) 807 813: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 811 811 16 16 812: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 809 808(R) 49 - 814: 73(fvec3) Load 684(L) - 815: 73(fvec3) FNegate 814 - 816: 73(fvec3) Load 660(N) - 817: 73(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 815 816 + 814: 74(fvec3) Load 684(L) + 815: 74(fvec3) FNegate 814 + 816: 74(fvec3) Load 660(N) + 817: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 815 816 Store 808(R) 817 823: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 821 821 16 16 822: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 819 818(NdotR) 49 - 824: 73(fvec3) Load 808(R) - 825: 73(fvec3) Load 710(V) + 824: 74(fvec3) Load 808(R) + 825: 74(fvec3) Load 710(V) 826: 8(float) Dot 824 825 - 827: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 198 826 + 827: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 201 826 Store 818(NdotR) 827 833: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 831 831 16 16 832: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 829 828(spec) 49 @@ -1085,60 +1085,60 @@ spv.debuginfo.hlsl.frag 838: 8(float) Load 837 839: 8(float) FMul 836 838 841: 8(float) FMul 839 840 - 842: 73(fvec3) CompositeConstruct 841 841 841 + 842: 74(fvec3) CompositeConstruct 841 841 841 Store 828(spec) 842 844: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 845 845 16 16 - 843: 73(fvec3) Load 800(diff) - 846: 73(fvec3) Load 828(spec) - 847: 73(fvec3) FAdd 843 846 + 843: 74(fvec3) Load 800(diff) + 846: 74(fvec3) Load 828(spec) + 847: 74(fvec3) FAdd 843 846 848: 8(float) Load 771(spotEffect) - 849: 73(fvec3) VectorTimesScalar 847 848 + 849: 74(fvec3) VectorTimesScalar 847 848 850: 8(float) Load 781(heightAttenuation) - 851: 73(fvec3) VectorTimesScalar 849 850 - 852: 233(int) Load 668(i) - 854: 692(ptr) AccessChain 475 313 320 852 853 + 851: 74(fvec3) VectorTimesScalar 849 850 + 852: 235(int) Load 668(i) + 854: 692(ptr) AccessChain 476 315 322 852 853 855: 18(fvec4) Load 854 - 856: 73(fvec3) VectorShuffle 855 855 0 1 2 - 857: 73(fvec3) FMul 851 856 + 856: 74(fvec3) VectorShuffle 855 855 0 1 2 + 857: 74(fvec3) FMul 851 856 858: 18(fvec4) Load 555(albedo) - 859: 73(fvec3) VectorShuffle 858 858 0 1 2 - 860: 73(fvec3) FMul 857 859 - 861: 73(fvec3) Load 593(fragcolor) - 862: 73(fvec3) FAdd 861 860 + 859: 74(fvec3) VectorShuffle 858 858 0 1 2 + 860: 74(fvec3) FMul 857 859 + 861: 74(fvec3) Load 593(fragcolor) + 862: 74(fvec3) FAdd 861 860 Store 593(fragcolor) 862 Branch 676 676: Label - 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 865: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - 863: 233(int) Load 668(i) - 866: 233(int) IAdd 863 320 + 863: 235(int) Load 668(i) + 866: 235(int) IAdd 863 322 Store 668(i) 866 Branch 673 675: Label - 868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 869: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 870 870 16 16 - 867: 573(ptr) AccessChain 475 313 853 - 871: 233(int) Load 867 - 872: 140(bool) SGreaterThan 871 313 + 867: 573(ptr) AccessChain 476 315 853 + 871: 235(int) Load 867 + 872: 143(bool) SGreaterThan 871 315 SelectionMerge 874 None BranchConditional 872 873 874 873: Label - 877: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 877: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 878: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 879 879 16 16 - 876: 73(fvec3) Load 593(fragcolor) + 876: 74(fvec3) Load 593(fragcolor) Store 875(param) 876 - 881: 73(fvec3) Load 512(fragPos) + 881: 74(fvec3) Load 512(fragPos) Store 880(param) 881 - 882: 73(fvec3) FunctionCall 81(shadow(vf3;vf3;) 875(param) 880(param) + 882: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 875(param) 880(param) Store 593(fragcolor) 882 Branch 874 874: Label - 884: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 + 884: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 885: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 886 886 16 16 - 883: 73(fvec3) Load 593(fragcolor) + 883: 74(fvec3) Load 593(fragcolor) 887: 8(float) CompositeExtract 883 0 888: 8(float) CompositeExtract 883 1 889: 8(float) CompositeExtract 883 2 - 890: 18(fvec4) CompositeConstruct 887 888 889 111 + 890: 18(fvec4) CompositeConstruct 887 888 889 114 ReturnValue 890 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.geom.out b/Test/baseResults/spv.debuginfo.hlsl.geom.out index 063a6d55..3c094d35 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.geom.out +++ b/Test/baseResults/spv.debuginfo.hlsl.geom.out @@ -29,10 +29,10 @@ spv.debuginfo.hlsl.geom " 31: String "Color" 36: String "VSOutput" - 49: String "PrimitiveID" - 54: String "LightVec" - 60: String "GSOutput" - 73: String "@main" + 50: String "PrimitiveID" + 55: String "LightVec" + 61: String "GSOutput" + 74: String "@main" 77: String "input" 83: String "outStream" 87: String "InvocationID" @@ -60,19 +60,19 @@ spv.debuginfo.hlsl.geom MemberName 23(VSOutput) 0 "Pos" MemberName 23(VSOutput) 1 "Normal" MemberName 23(VSOutput) 2 "Color" - Name 45 "GSOutput" - MemberName 45(GSOutput) 0 "Pos" - MemberName 45(GSOutput) 1 "ViewportIndex" - MemberName 45(GSOutput) 2 "PrimitiveID" - MemberName 45(GSOutput) 3 "Normal" - MemberName 45(GSOutput) 4 "Color" - MemberName 45(GSOutput) 5 "ViewVec" - MemberName 45(GSOutput) 6 "LightVec" - Name 71 "@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;" - Name 67 "input" - Name 68 "outStream" - Name 69 "InvocationID" - Name 70 "PrimitiveID" + Name 46 "GSOutput" + MemberName 46(GSOutput) 0 "Pos" + MemberName 46(GSOutput) 1 "ViewportIndex" + MemberName 46(GSOutput) 2 "PrimitiveID" + MemberName 46(GSOutput) 3 "Normal" + MemberName 46(GSOutput) 4 "Color" + MemberName 46(GSOutput) 5 "ViewVec" + MemberName 46(GSOutput) 6 "LightVec" + Name 72 "@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;" + Name 68 "input" + Name 69 "outStream" + Name 70 "InvocationID" + Name 71 "PrimitiveID" Name 97 "i" Name 119 "output" Name 145 "UBO" @@ -155,61 +155,61 @@ spv.debuginfo.hlsl.geom 30: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 31 22 26 32 33 16 16 17 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 31 22 26 32 33 16 16 17 37: 11(int) Constant 1 - 39: 11(int) Constant 5 - 38: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 19 26 39 - 35: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 36 37 26 16 16 38 36 16 17 24 30 34 - 40: TypeArray 23(VSOutput) 17 - 41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 35 17 - 42: TypePointer Function 40 - 43: 11(int) Constant 7 - 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 41 43 16 - 45(GSOutput): TypeStruct 18(fvec4) 11(int) 11(int) 21(fvec3) 21(fvec3) 21(fvec3) 21(fvec3) - 47: 11(int) Constant 44 - 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 25 20 26 47 29 16 16 17 - 50: 11(int) Constant 46 - 51: 11(int) Constant 19 - 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 49 13 26 50 51 16 16 17 - 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 49 13 26 50 51 16 16 17 - 55: 11(int) Constant 50 - 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 54 22 26 55 28 16 16 17 - 56: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 54 22 26 55 28 16 16 17 - 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 54 22 26 55 28 16 16 17 - 58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 54 22 26 55 28 16 16 17 - 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 60 37 26 16 16 38 60 16 17 46 48 52 53 56 57 58 - 61: TypePointer Function 45(GSOutput) - 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 59 43 16 - 63: TypePointer Function 11(int) - 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 43 16 - 65: TypeFunction 4 42(ptr) 61(ptr) 63(ptr) 63(ptr) - 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 4 41 59 13 13 - 75: 11(int) Constant 56 - 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 73 66 26 75 16 38 73 17 75 - 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 41 26 75 16 74 19 37 + 38: 11(int) Constant 56 + 40: 11(int) Constant 5 + 39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 19 26 40 + 35: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 36 37 26 38 16 39 36 16 17 24 30 34 + 41: TypeArray 23(VSOutput) 17 + 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 35 17 + 43: TypePointer Function 41 + 44: 11(int) Constant 7 + 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 42 44 16 + 46(GSOutput): TypeStruct 18(fvec4) 11(int) 11(int) 21(fvec3) 21(fvec3) 21(fvec3) 21(fvec3) + 48: 11(int) Constant 44 + 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 25 20 26 48 29 16 16 17 + 51: 11(int) Constant 46 + 52: 11(int) Constant 19 + 49: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 50 13 26 51 52 16 16 17 + 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 50 13 26 51 52 16 16 17 + 56: 11(int) Constant 50 + 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 22 26 56 28 16 16 17 + 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 22 26 56 28 16 16 17 + 58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 22 26 56 28 16 16 17 + 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 22 26 56 28 16 16 17 + 60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 61 37 26 38 16 39 61 16 17 47 49 53 54 57 58 59 + 62: TypePointer Function 46(GSOutput) + 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 60 44 16 + 64: TypePointer Function 11(int) + 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 44 16 + 66: TypeFunction 4 43(ptr) 62(ptr) 64(ptr) 64(ptr) + 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 4 42 60 13 13 + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 74 67 26 38 16 39 74 17 38 + 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 42 26 38 16 75 19 37 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) 84: 11(int) Constant 2 - 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 59 26 75 16 74 19 84 - 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 13 26 75 16 74 19 17 - 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 49 13 26 75 16 74 19 19 + 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 60 26 38 16 75 19 84 + 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 13 26 38 16 75 19 17 + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 50 13 26 38 16 75 19 19 92: TypeInt 32 1 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 93 14 19 16 95: TypePointer Function 92(int) - 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 94 43 16 + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 94 44 16 100: 11(int) Constant 57 - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 94 26 100 16 74 19 + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 94 26 100 16 75 19 103: 92(int) Constant 0 114: 92(int) Constant 3 115: TypeBool 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 116 14 84 16 122: 11(int) Constant 59 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 121 59 26 122 16 74 19 + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 121 60 26 122 16 75 19 126: 8(float) Constant 0 127: 18(fvec4) ConstantComposite 126 126 126 126 128: 21(fvec3) ConstantComposite 126 126 126 - 129:45(GSOutput) ConstantComposite 127 16 16 128 128 128 128 + 129:46(GSOutput) ConstantComposite 127 16 16 128 128 128 128 132: 11(int) Constant 60 133: 92(int) Constant 1 134: TypePointer Function 21(fvec3) - 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 43 16 + 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 44 16 138: TypeMatrix 18(fvec4) 4 140: 115(bool) ConstantTrue 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 140 @@ -227,16 +227,16 @@ spv.debuginfo.hlsl.geom 156: 11(int) Constant 30 157: 11(int) Constant 17 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 155 20 26 156 157 16 16 17 - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 159 37 26 132 16 38 159 16 17 146 150 154 + 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 159 37 26 132 16 39 159 16 17 146 150 154 160(ubo): TypeStruct 145(UBO) 163: 11(int) Constant 33 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 162 158 26 163 28 16 16 17 - 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 37 26 132 16 38 162 16 17 161 + 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 37 26 132 16 39 162 16 17 161 165: TypePointer Uniform 160(ubo) 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 164 84 16 167: 165(ptr) Variable Uniform 169: 11(int) Constant 8 - 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 164 26 132 16 38 2 167 169 + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 164 26 132 16 39 2 167 169 171: TypePointer Uniform 138 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 139 84 16 175: TypeMatrix 21(fvec3) 3 @@ -245,13 +245,13 @@ spv.debuginfo.hlsl.geom 189: 11(int) Constant 61 190: 92(int) Constant 2 194: TypePointer Function 18(fvec4) - 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 43 16 + 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 44 16 199: 11(int) Constant 63 - 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 198 20 26 199 16 74 19 + 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 198 20 26 199 16 75 19 208: 11(int) Constant 64 - 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 207 20 26 208 16 74 19 + 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 207 20 26 208 16 75 19 219: 11(int) Constant 66 - 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 218 22 26 219 16 74 19 + 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 218 22 26 219 16 75 19 222: TypePointer Uniform 18(fvec4) 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 84 16 231: 92(int) Constant 6 @@ -265,23 +265,23 @@ spv.debuginfo.hlsl.geom 263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 17 16 264(outStream.Pos): 262(ptr) Variable Output 267: 11(int) Constant 75 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 266 20 26 267 16 38 266 264(outStream.Pos) 169 + 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 266 20 26 267 16 39 266 264(outStream.Pos) 169 271: TypePointer Output 11(int) 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 17 16 273(outStream.ViewportIndex): 271(ptr) Variable Output - 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 275 13 26 267 16 38 275 273(outStream.ViewportIndex) 169 + 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 275 13 26 267 16 39 275 273(outStream.ViewportIndex) 169 278(outStream.PrimitiveID): 271(ptr) Variable Output - 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 280 13 26 267 16 38 280 278(outStream.PrimitiveID) 169 + 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 280 13 26 267 16 39 280 278(outStream.PrimitiveID) 169 283: TypePointer Output 21(fvec3) 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 17 16 285(outStream.Normal): 283(ptr) Variable Output - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 287 22 26 267 16 38 287 285(outStream.Normal) 169 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 287 22 26 267 16 39 287 285(outStream.Normal) 169 290(outStream.Color): 283(ptr) Variable Output - 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 292 22 26 267 16 38 292 290(outStream.Color) 169 + 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 292 22 26 267 16 39 292 290(outStream.Color) 169 295(outStream.ViewVec): 283(ptr) Variable Output - 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 297 22 26 267 16 38 297 295(outStream.ViewVec) 169 + 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 297 22 26 267 16 39 297 295(outStream.ViewVec) 169 300(outStream.LightVec): 283(ptr) Variable Output - 301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 302 22 26 267 16 38 302 300(outStream.LightVec) 169 + 301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 302 22 26 267 16 39 302 300(outStream.LightVec) 169 311: 11(int) Constant 78 313: TypeArray 18(fvec4) 17 314: TypePointer Input 313 @@ -297,14 +297,14 @@ spv.debuginfo.hlsl.geom 354(PrimitiveID): 350(ptr) Variable Input 6(main): 4 Function None 5 7: Label - 312(input): 42(ptr) Variable Function -349(InvocationID): 63(ptr) Variable Function -353(PrimitiveID): 63(ptr) Variable Function - 356(outStream): 61(ptr) Variable Function - 357(param): 42(ptr) Variable Function - 359(param): 61(ptr) Variable Function - 360(param): 63(ptr) Variable Function - 362(param): 63(ptr) Variable Function + 312(input): 43(ptr) Variable Function +349(InvocationID): 64(ptr) Variable Function +353(PrimitiveID): 64(ptr) Variable Function + 356(outStream): 62(ptr) Variable Function + 357(param): 43(ptr) Variable Function + 359(param): 62(ptr) Variable Function + 360(param): 64(ptr) Variable Function + 362(param): 64(ptr) Variable Function 317: 316(ptr) AccessChain 315(input.Pos) 103 318: 18(fvec4) Load 317 319: 194(ptr) AccessChain 312(input) 103 103 @@ -345,60 +345,60 @@ spv.debuginfo.hlsl.geom Store 349(InvocationID) 352 355: 11(int) Load 354(PrimitiveID) Store 353(PrimitiveID) 355 - 358: 40 Load 312(input) + 358: 41 Load 312(input) Store 357(param) 358 361: 11(int) Load 349(InvocationID) Store 360(param) 361 363: 11(int) Load 353(PrimitiveID) Store 362(param) 363 - 364: 4 FunctionCall 71(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 357(param) 359(param) 360(param) 362(param) - 365:45(GSOutput) Load 359(param) + 364: 4 FunctionCall 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 357(param) 359(param) 360(param) 362(param) + 365:46(GSOutput) Load 359(param) Store 356(outStream) 365 Return FunctionEnd -71(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;): 4 Function None 65 - 67(input): 42(ptr) FunctionParameter - 68(outStream): 61(ptr) FunctionParameter -69(InvocationID): 63(ptr) FunctionParameter - 70(PrimitiveID): 63(ptr) FunctionParameter - 72: Label +72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;): 4 Function None 66 + 68(input): 43(ptr) FunctionParameter + 69(outStream): 62(ptr) FunctionParameter +70(InvocationID): 64(ptr) FunctionParameter + 71(PrimitiveID): 64(ptr) FunctionParameter + 73: Label 97(i): 95(ptr) Variable Function - 119(output): 61(ptr) Variable Function + 119(output): 62(ptr) Variable Function 196(pos): 194(ptr) Variable Function 205(worldPos): 194(ptr) Variable Function 216(lPos): 134(ptr) Variable Function - 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74 - 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 75 75 16 16 - 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 67(input) 79 - 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 68(outStream) 79 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 69(InvocationID) 79 - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 89 70(PrimitiveID) 79 - 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 74 71(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) + 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 + 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 38 38 16 16 + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 68(input) 79 + 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 69(outStream) 79 + 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 70(InvocationID) 79 + 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 89 71(PrimitiveID) 79 + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 75 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 98 97(i) 79 Store 97(i) 103 Branch 104 104: Label - 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74 + 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 LoopMerge 106 107 None Branch 110 110: Label - 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74 + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 111: 92(int) Load 97(i) 118: 115(bool) SLessThan 111 114 BranchConditional 118 105 106 105: Label - 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 122 122 16 16 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 120 119(output) 79 Store 119(output) 129 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 132 132 16 16 130: 92(int) Load 97(i) - 136: 134(ptr) AccessChain 67(input) 130 133 + 136: 134(ptr) AccessChain 68(input) 130 133 137: 21(fvec3) Load 136 - 170: 11(int) Load 69(InvocationID) + 170: 11(int) Load 70(InvocationID) 173: 171(ptr) AccessChain 167 103 133 170 174: 138 Load 173 177: 18(fvec4) CompositeExtract 174 0 @@ -413,20 +413,20 @@ spv.debuginfo.hlsl.geom Store 185 184 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 189 189 16 16 187: 92(int) Load 97(i) - 191: 134(ptr) AccessChain 67(input) 187 190 + 191: 134(ptr) AccessChain 68(input) 187 190 192: 21(fvec3) Load 191 193: 134(ptr) AccessChain 119(output) 186 Store 193 192 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 199 199 16 16 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 197 196(pos) 79 202: 92(int) Load 97(i) - 203: 194(ptr) AccessChain 67(input) 202 103 + 203: 194(ptr) AccessChain 68(input) 202 103 204: 18(fvec4) Load 203 Store 196(pos) 204 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 208 208 16 16 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 206 205(worldPos) 79 211: 18(fvec4) Load 196(pos) - 212: 11(int) Load 69(InvocationID) + 212: 11(int) Load 70(InvocationID) 213: 171(ptr) AccessChain 167 103 133 212 214: 138 Load 213 215: 18(fvec4) VectorTimesMatrix 211 214 @@ -435,7 +435,7 @@ spv.debuginfo.hlsl.geom 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 217 216(lPos) 79 224: 222(ptr) AccessChain 167 103 190 225: 18(fvec4) Load 224 - 226: 11(int) Load 69(InvocationID) + 226: 11(int) Load 70(InvocationID) 227: 171(ptr) AccessChain 167 103 133 226 228: 138 Load 227 229: 18(fvec4) VectorTimesMatrix 225 228 @@ -456,28 +456,28 @@ spv.debuginfo.hlsl.geom Store 245 244 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 248 248 16 16 246: 18(fvec4) Load 205(worldPos) - 249: 11(int) Load 69(InvocationID) + 249: 11(int) Load 70(InvocationID) 250: 171(ptr) AccessChain 167 103 103 249 251: 138 Load 250 252: 18(fvec4) VectorTimesMatrix 246 251 253: 194(ptr) AccessChain 119(output) 103 Store 253 252 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 256 256 16 16 - 254: 11(int) Load 69(InvocationID) - 257: 63(ptr) AccessChain 119(output) 133 + 254: 11(int) Load 70(InvocationID) + 257: 64(ptr) AccessChain 119(output) 133 Store 257 254 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 260 260 16 16 - 258: 11(int) Load 70(PrimitiveID) - 261: 63(ptr) AccessChain 119(output) 190 + 258: 11(int) Load 71(PrimitiveID) + 261: 64(ptr) AccessChain 119(output) 190 Store 261 258 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 267 267 16 16 268: 194(ptr) AccessChain 119(output) 103 270: 18(fvec4) Load 268 Store 264(outStream.Pos) 270 - 276: 63(ptr) AccessChain 119(output) 133 + 276: 64(ptr) AccessChain 119(output) 133 277: 11(int) Load 276 Store 273(outStream.ViewportIndex) 277 - 281: 63(ptr) AccessChain 119(output) 190 + 281: 64(ptr) AccessChain 119(output) 190 282: 11(int) Load 281 Store 278(outStream.PrimitiveID) 282 288: 134(ptr) AccessChain 119(output) 114 @@ -495,14 +495,14 @@ spv.debuginfo.hlsl.geom EmitVertex Branch 107 107: Label - 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74 + 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 305: 92(int) Load 97(i) 308: 92(int) IAdd 305 133 Store 97(i) 308 Branch 104 106: Label - 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74 + 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 311 311 16 16 EndPrimitive Return diff --git a/Test/baseResults/spv.debuginfo.hlsl.tesc.out b/Test/baseResults/spv.debuginfo.hlsl.tesc.out index 2bccaa87..04e24c4c 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.tesc.out +++ b/Test/baseResults/spv.debuginfo.hlsl.tesc.out @@ -33,42 +33,42 @@ WARNING: 0:158: '' : attribute does not apply to entry point 53: String "bool" 61: String "frustumCheck" 65: String "Pos" - 69: String "inUV" - 78: String "Normal" - 82: String "UV" - 86: String "VSOutput" - 97: String "TessLevelOuter" - 101: String "TessLevelInner" - 104: String "ConstantsHSOutput" - 110: String "ConstantsHS" - 114: String "patch" - 127: String "HSOutput" - 134: String "@main" - 141: String "InvocationID" - 146: String "midPoint" - 159: String "radius" - 170: String "v0" - 182: String "modelview" - 187: String "lightPos" - 191: String "frustumPlanes" - 194: String "tessellatedEdgeSize" - 198: String "viewportDim" - 202: String "UBO" - 205: String "ubo" - 214: String "int" - 225: String "clip0" - 243: String "clip1" - 321: String "pos" - 328: String "type.2d.image" - 330: String "@type.2d.image" - 336: String "textureHeight" - 341: String "type.sampler" - 342: String "@type.sampler" - 347: String "samplerHeight" - 351: String "type.sampled.image" - 352: String "@type.sampled.image" - 369: String "i" - 423: String "output" + 70: String "inUV" + 79: String "Normal" + 83: String "UV" + 87: String "VSOutput" + 99: String "TessLevelOuter" + 103: String "TessLevelInner" + 106: String "ConstantsHSOutput" + 112: String "ConstantsHS" + 115: String "patch" + 129: String "HSOutput" + 137: String "@main" + 144: String "InvocationID" + 149: String "midPoint" + 162: String "radius" + 173: String "v0" + 185: String "modelview" + 190: String "lightPos" + 194: String "frustumPlanes" + 197: String "tessellatedEdgeSize" + 201: String "viewportDim" + 205: String "UBO" + 208: String "ubo" + 217: String "int" + 228: String "clip0" + 246: String "clip1" + 323: String "pos" + 330: String "type.2d.image" + 332: String "@type.2d.image" + 338: String "textureHeight" + 343: String "type.sampler" + 344: String "@type.sampler" + 349: String "samplerHeight" + 353: String "type.sampled.image" + 354: String "@type.sampled.image" + 371: String "i" + 424: String "output" Name 6 "main" Name 28 "screenSpaceTessFactor(vf4;vf4;" Name 26 "p0" @@ -76,54 +76,54 @@ WARNING: 0:158: '' : attribute does not apply to entry point Name 59 "frustumCheck(vf4;vf2;" Name 57 "Pos" Name 58 "inUV" - Name 73 "VSOutput" - MemberName 73(VSOutput) 0 "Pos" - MemberName 73(VSOutput) 1 "Normal" - MemberName 73(VSOutput) 2 "UV" - Name 95 "ConstantsHSOutput" - MemberName 95(ConstantsHSOutput) 0 "TessLevelOuter" - MemberName 95(ConstantsHSOutput) 1 "TessLevelInner" - Name 108 "ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];" - Name 107 "patch" - Name 119 "HSOutput" - MemberName 119(HSOutput) 0 "Pos" - MemberName 119(HSOutput) 1 "Normal" - MemberName 119(HSOutput) 2 "UV" - Name 132 "@main(struct-VSOutput-vf4-vf3-vf21[4];u1;" - Name 130 "patch" - Name 131 "InvocationID" - Name 144 "midPoint" - Name 157 "radius" - Name 168 "v0" - Name 180 "UBO" - MemberName 180(UBO) 0 "projection" - MemberName 180(UBO) 1 "modelview" - MemberName 180(UBO) 2 "lightPos" - MemberName 180(UBO) 3 "frustumPlanes" - MemberName 180(UBO) 4 "displacementFactor" - MemberName 180(UBO) 5 "tessellationFactor" - MemberName 180(UBO) 6 "viewportDim" - MemberName 180(UBO) 7 "tessellatedEdgeSize" - Name 203 "ubo" - MemberName 203(ubo) 0 "ubo" - Name 210 "" - Name 223 "clip0" - Name 241 "clip1" - Name 319 "pos" - Name 334 "textureHeight" - Name 345 "samplerHeight" - Name 367 "i" - Name 421 "output" - Name 431 "param" - Name 436 "param" - Name 471 "param" - Name 477 "param" - Name 482 "param" - Name 487 "param" - Name 492 "param" - Name 497 "param" - Name 502 "param" - Name 507 "param" + Name 74 "VSOutput" + MemberName 74(VSOutput) 0 "Pos" + MemberName 74(VSOutput) 1 "Normal" + MemberName 74(VSOutput) 2 "UV" + Name 97 "ConstantsHSOutput" + MemberName 97(ConstantsHSOutput) 0 "TessLevelOuter" + MemberName 97(ConstantsHSOutput) 1 "TessLevelInner" + Name 110 "ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];" + Name 109 "patch" + Name 121 "HSOutput" + MemberName 121(HSOutput) 0 "Pos" + MemberName 121(HSOutput) 1 "Normal" + MemberName 121(HSOutput) 2 "UV" + Name 135 "@main(struct-VSOutput-vf4-vf3-vf21[4];u1;" + Name 133 "patch" + Name 134 "InvocationID" + Name 147 "midPoint" + Name 160 "radius" + Name 171 "v0" + Name 183 "UBO" + MemberName 183(UBO) 0 "projection" + MemberName 183(UBO) 1 "modelview" + MemberName 183(UBO) 2 "lightPos" + MemberName 183(UBO) 3 "frustumPlanes" + MemberName 183(UBO) 4 "displacementFactor" + MemberName 183(UBO) 5 "tessellationFactor" + MemberName 183(UBO) 6 "viewportDim" + MemberName 183(UBO) 7 "tessellatedEdgeSize" + Name 206 "ubo" + MemberName 206(ubo) 0 "ubo" + Name 213 "" + Name 226 "clip0" + Name 244 "clip1" + Name 321 "pos" + Name 336 "textureHeight" + Name 347 "samplerHeight" + Name 369 "i" + Name 422 "output" + Name 432 "param" + Name 437 "param" + Name 472 "param" + Name 478 "param" + Name 483 "param" + Name 488 "param" + Name 493 "param" + Name 498 "param" + Name 503 "param" + Name 508 "param" Name 560 "output" Name 594 "patch" Name 597 "patch.Pos" @@ -141,27 +141,27 @@ WARNING: 0:158: '' : attribute does not apply to entry point Name 679 "param" Name 683 "@patchConstantOutput.TessLevelOuter" Name 698 "@patchConstantOutput.TessLevelInner" - Decorate 178 ArrayStride 16 - MemberDecorate 180(UBO) 0 RowMajor - MemberDecorate 180(UBO) 0 MatrixStride 16 - MemberDecorate 180(UBO) 0 Offset 0 - MemberDecorate 180(UBO) 1 RowMajor - MemberDecorate 180(UBO) 1 MatrixStride 16 - MemberDecorate 180(UBO) 1 Offset 64 - MemberDecorate 180(UBO) 2 Offset 128 - MemberDecorate 180(UBO) 3 Offset 144 - MemberDecorate 180(UBO) 4 Offset 240 - MemberDecorate 180(UBO) 5 Offset 244 - MemberDecorate 180(UBO) 6 Offset 248 - MemberDecorate 180(UBO) 7 Offset 256 - Decorate 203(ubo) Block - MemberDecorate 203(ubo) 0 Offset 0 - Decorate 210 Binding 0 - Decorate 210 DescriptorSet 0 - Decorate 334(textureHeight) Binding 1 - Decorate 334(textureHeight) DescriptorSet 0 - Decorate 345(samplerHeight) Binding 1 - Decorate 345(samplerHeight) DescriptorSet 0 + Decorate 181 ArrayStride 16 + MemberDecorate 183(UBO) 0 RowMajor + MemberDecorate 183(UBO) 0 MatrixStride 16 + MemberDecorate 183(UBO) 0 Offset 0 + MemberDecorate 183(UBO) 1 RowMajor + MemberDecorate 183(UBO) 1 MatrixStride 16 + MemberDecorate 183(UBO) 1 Offset 64 + MemberDecorate 183(UBO) 2 Offset 128 + MemberDecorate 183(UBO) 3 Offset 144 + MemberDecorate 183(UBO) 4 Offset 240 + MemberDecorate 183(UBO) 5 Offset 244 + MemberDecorate 183(UBO) 6 Offset 248 + MemberDecorate 183(UBO) 7 Offset 256 + Decorate 206(ubo) Block + MemberDecorate 206(ubo) 0 Offset 0 + Decorate 213 Binding 0 + Decorate 213 DescriptorSet 0 + Decorate 336(textureHeight) Binding 1 + Decorate 336(textureHeight) DescriptorSet 0 + Decorate 347(samplerHeight) Binding 1 + Decorate 347(samplerHeight) DescriptorSet 0 Decorate 597(patch.Pos) BuiltIn Position Decorate 604(patch.Normal) Location 0 Decorate 611(patch.UV) Location 1 @@ -212,204 +212,204 @@ WARNING: 0:158: '' : attribute does not apply to entry point 63: 11(int) Constant 95 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 61 56 32 63 16 35 61 17 63 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 65 20 32 63 16 62 19 36 - 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 69 49 32 63 16 62 19 46 - 71: TypeVector 8(float) 3 - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 - 73(VSOutput): TypeStruct 18(fvec4) 71(fvec3) 48(fvec2) - 75: 11(int) Constant 44 - 76: 11(int) Constant 13 - 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 20 32 75 76 16 16 17 - 79: 11(int) Constant 45 - 80: 11(int) Constant 35 - 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 78 72 32 79 80 16 16 17 - 83: 11(int) Constant 46 - 84: 11(int) Constant 31 - 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 82 49 32 83 84 16 16 17 - 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 86 36 32 63 16 35 86 16 17 74 77 81 - 87: TypeArray 73(VSOutput) 19 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 85 19 - 89: TypePointer Function 87 - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 22 16 - 91: TypeArray 8(float) 19 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 19 - 93: TypeArray 8(float) 46 - 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 46 -95(ConstantsHSOutput): TypeStruct 91 93 - 98: 11(int) Constant 58 - 99: 11(int) Constant 25 - 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 97 92 32 98 99 16 16 17 - 102: 11(int) Constant 59 - 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 101 94 32 102 99 16 16 17 - 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 104 36 32 63 16 35 104 16 17 96 100 - 105: TypeFunction 95(ConstantsHSOutput) 89(ptr) - 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 103 88 - 112: 11(int) Constant 112 - 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 110 106 32 112 16 35 110 17 112 - 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 114 88 32 112 16 111 19 36 - 117: TypePointer Function 11(int) - 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16 - 119(HSOutput): TypeStruct 18(fvec4) 71(fvec3) 48(fvec2) - 121: 11(int) Constant 51 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 20 32 121 14 16 16 17 - 123: 11(int) Constant 52 - 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 78 72 32 123 80 16 16 17 - 125: 11(int) Constant 53 - 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 82 49 32 125 84 16 16 17 - 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 127 36 32 112 16 35 127 16 17 120 122 124 - 128: TypeFunction 119(HSOutput) 89(ptr) 117(ptr) - 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 126 88 13 - 136: 11(int) Constant 158 - 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 134 129 32 136 16 35 134 17 136 - 137: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 114 88 32 136 16 135 19 36 - 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 141 13 32 136 16 135 19 46 - 147: 11(int) Constant 67 - 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 146 20 32 147 16 31 19 - 150: 8(float) Constant 1056964608 - 155: TypePointer Function 8(float) - 156: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 22 16 - 160: 11(int) Constant 69 - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 159 10 32 160 16 31 19 - 166: 8(float) Constant 1073741824 - 171: 11(int) Constant 72 - 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 170 20 32 171 16 31 19 - 175: TypeMatrix 18(fvec4) 4 - 177: 52(bool) ConstantTrue - 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 177 - 178: TypeArray 18(fvec4) 15 - 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 20 15 - 180(UBO): TypeStruct 175 175 18(fvec4) 178 8(float) 8(float) 48(fvec2) 8(float) - 183: 11(int) Constant 29 - 184: 11(int) Constant 20 - 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 182 176 32 183 184 16 16 17 - 185: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 182 176 32 183 184 16 16 17 - 188: 11(int) Constant 30 - 189: 11(int) Constant 17 - 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 187 20 32 188 189 16 16 17 - 192: 11(int) Constant 22 - 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 191 179 32 84 192 16 16 17 - 195: 11(int) Constant 27 - 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 10 32 80 195 16 16 17 - 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 10 32 80 195 16 16 17 - 199: 11(int) Constant 34 - 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 198 49 32 199 184 16 16 17 - 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 10 32 80 195 16 16 17 - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 202 36 32 171 16 35 202 16 17 181 185 186 190 193 196 197 200 - 203(ubo): TypeStruct 180(UBO) - 206: 11(int) Constant 37 - 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 205 201 32 206 206 16 16 17 - 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 205 36 32 171 16 35 205 16 17 204 - 208: TypePointer Uniform 203(ubo) - 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 207 46 16 - 210: 208(ptr) Variable Uniform - 212: 11(int) Constant 8 - 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 207 32 171 16 35 2 210 212 - 213: TypeInt 32 1 - 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 214 14 19 16 - 216: 213(int) Constant 0 - 217: 213(int) Constant 1 - 218: TypePointer Uniform 175 - 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 176 46 16 - 226: 11(int) Constant 75 - 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 225 20 32 226 16 31 19 - 231: 8(float) Constant 0 - 232: 71(fvec3) ConstantComposite 231 231 231 - 244: 11(int) Constant 76 - 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 243 20 32 244 16 31 19 - 259: 11(int) Constant 79 - 266: 11(int) Constant 80 - 271: 213(int) Constant 6 - 272: TypePointer Uniform 48(fvec2) - 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 46 16 - 276: 11(int) Constant 83 - 287: 11(int) Constant 84 - 298: 11(int) Constant 89 - 301: 213(int) Constant 7 - 302: TypePointer Uniform 8(float) - 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 46 16 - 307: 213(int) Constant 5 - 311: 8(float) Constant 1065353216 - 312: 8(float) Constant 1115684864 - 322: 11(int) Constant 98 - 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 321 20 32 322 16 62 19 - 326: TypeImage 8(float) 2D sampled format:Unknown - 329: 11(int) Constant 99 - 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 328 16 32 329 16 35 330 331 17 - 332: TypePointer UniformConstant 326 - 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 327 16 16 -334(textureHeight): 332(ptr) Variable UniformConstant - 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 336 327 32 329 16 35 336 334(textureHeight) 212 - 339: TypeSampler - 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 341 36 32 329 16 35 342 331 17 - 343: TypePointer UniformConstant 339 - 344: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 340 16 16 -345(samplerHeight): 343(ptr) Variable UniformConstant - 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 347 340 32 329 16 35 347 345(samplerHeight) 212 - 349: TypeSampledImage 326 - 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 351 16 32 329 16 35 352 331 17 - 357: 213(int) Constant 4 - 365: TypePointer Function 213(int) - 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 215 22 16 - 370: 11(int) Constant 102 - 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 369 215 32 370 16 62 19 - 387: 11(int) Constant 103 - 388: 213(int) Constant 3 - 390: TypePointer Uniform 18(fvec4) - 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 46 16 - 395: 8(float) Constant 1090519040 - 400: 52(bool) ConstantFalse - 403: 11(int) Constant 105 - 413: 11(int) Constant 108 - 419: TypePointer Function 95(ConstantsHSOutput) - 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 103 22 16 - 424: 11(int) Constant 113 - 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 423 103 32 424 16 111 19 - 427: 91 ConstantComposite 231 231 231 231 - 428: 93 ConstantComposite 231 231 - 429:95(ConstantsHSOutput) ConstantComposite 427 428 - 430: 213(int) Constant 2 - 434: 11(int) Constant 115 - 446: 11(int) Constant 117 - 449: 11(int) Constant 118 - 452: 11(int) Constant 119 - 455: 11(int) Constant 120 - 458: 11(int) Constant 121 - 461: 11(int) Constant 122 - 466: 11(int) Constant 126 - 475: 11(int) Constant 128 - 485: 11(int) Constant 129 - 495: 11(int) Constant 130 - 505: 11(int) Constant 131 - 514: 11(int) Constant 132 - 522: 11(int) Constant 133 - 532: 11(int) Constant 139 - 535: 11(int) Constant 140 - 538: 11(int) Constant 141 - 541: 11(int) Constant 142 - 544: 11(int) Constant 143 - 547: 11(int) Constant 144 - 552: 11(int) Constant 148 - 558: TypePointer Function 119(HSOutput) - 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 126 22 16 + 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 70 49 32 63 16 62 19 46 + 72: TypeVector 8(float) 3 + 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 + 74(VSOutput): TypeStruct 18(fvec4) 72(fvec3) 48(fvec2) + 76: 11(int) Constant 44 + 77: 11(int) Constant 13 + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 20 32 76 77 16 16 17 + 80: 11(int) Constant 45 + 81: 11(int) Constant 35 + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 79 73 32 80 81 16 16 17 + 84: 11(int) Constant 46 + 85: 11(int) Constant 31 + 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 83 49 32 84 85 16 16 17 + 88: 11(int) Constant 112 + 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 87 36 32 88 16 35 87 16 17 75 78 82 + 89: TypeArray 74(VSOutput) 19 + 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 86 19 + 91: TypePointer Function 89 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 90 22 16 + 93: TypeArray 8(float) 19 + 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 19 + 95: TypeArray 8(float) 46 + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 46 +97(ConstantsHSOutput): TypeStruct 93 95 + 100: 11(int) Constant 58 + 101: 11(int) Constant 25 + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 99 94 32 100 101 16 16 17 + 104: 11(int) Constant 59 + 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 103 96 32 104 101 16 16 17 + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 106 36 32 88 16 35 106 16 17 98 102 + 107: TypeFunction 97(ConstantsHSOutput) 91(ptr) + 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 105 90 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 112 108 32 88 16 35 112 17 88 + 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 115 90 32 88 16 113 19 36 + 119: TypePointer Function 11(int) + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16 + 121(HSOutput): TypeStruct 18(fvec4) 72(fvec3) 48(fvec2) + 123: 11(int) Constant 51 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 20 32 123 14 16 16 17 + 125: 11(int) Constant 52 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 79 73 32 125 81 16 16 17 + 127: 11(int) Constant 53 + 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 83 49 32 127 85 16 16 17 + 130: 11(int) Constant 158 + 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 129 36 32 130 16 35 129 16 17 122 124 126 + 131: TypeFunction 121(HSOutput) 91(ptr) 119(ptr) + 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 128 90 13 + 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 137 132 32 130 16 35 137 17 130 + 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 115 90 32 130 16 138 19 36 + 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 144 13 32 130 16 138 19 46 + 150: 11(int) Constant 67 + 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 149 20 32 150 16 31 19 + 153: 8(float) Constant 1056964608 + 158: TypePointer Function 8(float) + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 22 16 + 163: 11(int) Constant 69 + 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 162 10 32 163 16 31 19 + 169: 8(float) Constant 1073741824 + 174: 11(int) Constant 72 + 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 173 20 32 174 16 31 19 + 178: TypeMatrix 18(fvec4) 4 + 180: 52(bool) ConstantTrue + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 180 + 181: TypeArray 18(fvec4) 15 + 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 20 15 + 183(UBO): TypeStruct 178 178 18(fvec4) 181 8(float) 8(float) 48(fvec2) 8(float) + 186: 11(int) Constant 29 + 187: 11(int) Constant 20 + 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 185 179 32 186 187 16 16 17 + 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 185 179 32 186 187 16 16 17 + 191: 11(int) Constant 30 + 192: 11(int) Constant 17 + 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 190 20 32 191 192 16 16 17 + 195: 11(int) Constant 22 + 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 182 32 85 195 16 16 17 + 198: 11(int) Constant 27 + 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 197 10 32 81 198 16 16 17 + 199: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 197 10 32 81 198 16 16 17 + 202: 11(int) Constant 34 + 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 201 49 32 202 187 16 16 17 + 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 197 10 32 81 198 16 16 17 + 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 205 36 32 174 16 35 205 16 17 184 188 189 193 196 199 200 203 + 206(ubo): TypeStruct 183(UBO) + 209: 11(int) Constant 37 + 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 208 204 32 209 209 16 16 17 + 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 208 36 32 174 16 35 208 16 17 207 + 211: TypePointer Uniform 206(ubo) + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 210 46 16 + 213: 211(ptr) Variable Uniform + 215: 11(int) Constant 8 + 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 210 32 174 16 35 2 213 215 + 216: TypeInt 32 1 + 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 217 14 19 16 + 219: 216(int) Constant 0 + 220: 216(int) Constant 1 + 221: TypePointer Uniform 178 + 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 179 46 16 + 229: 11(int) Constant 75 + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 228 20 32 229 16 31 19 + 234: 8(float) Constant 0 + 235: 72(fvec3) ConstantComposite 234 234 234 + 247: 11(int) Constant 76 + 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 246 20 32 247 16 31 19 + 262: 11(int) Constant 79 + 269: 11(int) Constant 80 + 274: 216(int) Constant 6 + 275: TypePointer Uniform 48(fvec2) + 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 46 16 + 279: 11(int) Constant 83 + 290: 11(int) Constant 84 + 301: 11(int) Constant 89 + 304: 216(int) Constant 7 + 305: TypePointer Uniform 8(float) + 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 46 16 + 310: 216(int) Constant 5 + 314: 8(float) Constant 1065353216 + 315: 8(float) Constant 1115684864 + 324: 11(int) Constant 98 + 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 323 20 32 324 16 62 19 + 328: TypeImage 8(float) 2D sampled format:Unknown + 331: 11(int) Constant 99 + 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 330 16 32 331 16 35 332 333 17 + 334: TypePointer UniformConstant 328 + 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 329 16 16 +336(textureHeight): 334(ptr) Variable UniformConstant + 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 338 329 32 331 16 35 338 336(textureHeight) 215 + 341: TypeSampler + 342: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 343 36 32 331 16 35 344 333 17 + 345: TypePointer UniformConstant 341 + 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 342 16 16 +347(samplerHeight): 345(ptr) Variable UniformConstant + 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 349 342 32 331 16 35 349 347(samplerHeight) 215 + 351: TypeSampledImage 328 + 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 353 16 32 331 16 35 354 333 17 + 359: 216(int) Constant 4 + 367: TypePointer Function 216(int) + 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 218 22 16 + 372: 11(int) Constant 102 + 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 371 218 32 372 16 62 19 + 389: 11(int) Constant 103 + 390: 216(int) Constant 3 + 392: TypePointer Uniform 18(fvec4) + 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 46 16 + 397: 8(float) Constant 1090519040 + 402: 52(bool) ConstantFalse + 405: 11(int) Constant 105 + 415: 11(int) Constant 108 + 420: TypePointer Function 97(ConstantsHSOutput) + 421: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 105 22 16 + 425: 11(int) Constant 113 + 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 424 105 32 425 16 113 19 + 428: 93 ConstantComposite 234 234 234 234 + 429: 95 ConstantComposite 234 234 + 430:97(ConstantsHSOutput) ConstantComposite 428 429 + 431: 216(int) Constant 2 + 435: 11(int) Constant 115 + 447: 11(int) Constant 117 + 450: 11(int) Constant 118 + 453: 11(int) Constant 119 + 456: 11(int) Constant 120 + 459: 11(int) Constant 121 + 462: 11(int) Constant 122 + 467: 11(int) Constant 126 + 476: 11(int) Constant 128 + 486: 11(int) Constant 129 + 496: 11(int) Constant 130 + 506: 11(int) Constant 131 + 515: 11(int) Constant 132 + 523: 11(int) Constant 133 + 533: 11(int) Constant 139 + 536: 11(int) Constant 140 + 539: 11(int) Constant 141 + 542: 11(int) Constant 142 + 545: 11(int) Constant 143 + 548: 11(int) Constant 144 + 553: 11(int) Constant 148 + 558: TypePointer Function 121(HSOutput) + 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 128 22 16 562: 11(int) Constant 159 - 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 423 126 32 562 16 135 19 - 565: 18(fvec4) ConstantComposite 231 231 231 231 - 566: 48(fvec2) ConstantComposite 231 231 - 567:119(HSOutput) ConstantComposite 565 232 566 + 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 424 128 32 562 16 138 19 + 565: 18(fvec4) ConstantComposite 234 234 234 234 + 566: 48(fvec2) ConstantComposite 234 234 + 567:121(HSOutput) ConstantComposite 565 235 566 570: 11(int) Constant 160 576: 11(int) Constant 161 - 577: TypePointer Function 71(fvec3) - 578: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 22 16 + 577: TypePointer Function 72(fvec3) + 578: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 73 22 16 584: 11(int) Constant 162 590: 11(int) Constant 163 595: TypeArray 18(fvec4) 19 596: TypePointer Input 595 597(patch.Pos): 596(ptr) Variable Input 598: TypePointer Input 18(fvec4) - 602: TypeArray 71(fvec3) 19 + 602: TypeArray 72(fvec3) 19 603: TypePointer Input 602 604(patch.Normal): 603(ptr) Variable Input - 605: TypePointer Input 71(fvec3) + 605: TypePointer Input 72(fvec3) 609: TypeArray 48(fvec2) 19 610: TypePointer Input 609 611(patch.UV): 610(ptr) Variable Input @@ -421,128 +421,128 @@ WARNING: 0:158: '' : attribute does not apply to entry point 658: TypePointer Output 18(fvec4) 660: TypePointer Output 602 661(@entryPointOutput.Normal): 660(ptr) Variable Output - 665: TypePointer Output 71(fvec3) + 665: TypePointer Output 72(fvec3) 667: TypePointer Output 609 668(@entryPointOutput.UV): 667(ptr) Variable Output 672: TypePointer Output 48(fvec2) - 682: TypePointer Output 91 + 682: TypePointer Output 93 683(@patchConstantOutput.TessLevelOuter): 682(ptr) Variable Output 686: TypePointer Output 8(float) - 697: TypePointer Output 93 + 697: TypePointer Output 95 698(@patchConstantOutput.TessLevelInner): 697(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 594(patch): 89(ptr) Variable Function -643(InvocationID): 117(ptr) Variable Function + 594(patch): 91(ptr) Variable Function +643(InvocationID): 119(ptr) Variable Function 647(flattenTemp): 558(ptr) Variable Function - 648(param): 89(ptr) Variable Function - 650(param): 117(ptr) Variable Function -678(@patchConstantResult): 419(ptr) Variable Function - 679(param): 89(ptr) Variable Function - 599: 598(ptr) AccessChain 597(patch.Pos) 216 + 648(param): 91(ptr) Variable Function + 650(param): 119(ptr) Variable Function +678(@patchConstantResult): 420(ptr) Variable Function + 679(param): 91(ptr) Variable Function + 599: 598(ptr) AccessChain 597(patch.Pos) 219 600: 18(fvec4) Load 599 - 601: 21(ptr) AccessChain 594(patch) 216 216 + 601: 21(ptr) AccessChain 594(patch) 219 219 Store 601 600 - 606: 605(ptr) AccessChain 604(patch.Normal) 216 - 607: 71(fvec3) Load 606 - 608: 577(ptr) AccessChain 594(patch) 216 217 + 606: 605(ptr) AccessChain 604(patch.Normal) 219 + 607: 72(fvec3) Load 606 + 608: 577(ptr) AccessChain 594(patch) 219 220 Store 608 607 - 613: 612(ptr) AccessChain 611(patch.UV) 216 + 613: 612(ptr) AccessChain 611(patch.UV) 219 614: 48(fvec2) Load 613 - 615: 50(ptr) AccessChain 594(patch) 216 430 + 615: 50(ptr) AccessChain 594(patch) 219 431 Store 615 614 - 616: 598(ptr) AccessChain 597(patch.Pos) 217 + 616: 598(ptr) AccessChain 597(patch.Pos) 220 617: 18(fvec4) Load 616 - 618: 21(ptr) AccessChain 594(patch) 217 216 + 618: 21(ptr) AccessChain 594(patch) 220 219 Store 618 617 - 619: 605(ptr) AccessChain 604(patch.Normal) 217 - 620: 71(fvec3) Load 619 - 621: 577(ptr) AccessChain 594(patch) 217 217 + 619: 605(ptr) AccessChain 604(patch.Normal) 220 + 620: 72(fvec3) Load 619 + 621: 577(ptr) AccessChain 594(patch) 220 220 Store 621 620 - 622: 612(ptr) AccessChain 611(patch.UV) 217 + 622: 612(ptr) AccessChain 611(patch.UV) 220 623: 48(fvec2) Load 622 - 624: 50(ptr) AccessChain 594(patch) 217 430 + 624: 50(ptr) AccessChain 594(patch) 220 431 Store 624 623 - 625: 598(ptr) AccessChain 597(patch.Pos) 430 + 625: 598(ptr) AccessChain 597(patch.Pos) 431 626: 18(fvec4) Load 625 - 627: 21(ptr) AccessChain 594(patch) 430 216 + 627: 21(ptr) AccessChain 594(patch) 431 219 Store 627 626 - 628: 605(ptr) AccessChain 604(patch.Normal) 430 - 629: 71(fvec3) Load 628 - 630: 577(ptr) AccessChain 594(patch) 430 217 + 628: 605(ptr) AccessChain 604(patch.Normal) 431 + 629: 72(fvec3) Load 628 + 630: 577(ptr) AccessChain 594(patch) 431 220 Store 630 629 - 631: 612(ptr) AccessChain 611(patch.UV) 430 + 631: 612(ptr) AccessChain 611(patch.UV) 431 632: 48(fvec2) Load 631 - 633: 50(ptr) AccessChain 594(patch) 430 430 + 633: 50(ptr) AccessChain 594(patch) 431 431 Store 633 632 - 634: 598(ptr) AccessChain 597(patch.Pos) 388 + 634: 598(ptr) AccessChain 597(patch.Pos) 390 635: 18(fvec4) Load 634 - 636: 21(ptr) AccessChain 594(patch) 388 216 + 636: 21(ptr) AccessChain 594(patch) 390 219 Store 636 635 - 637: 605(ptr) AccessChain 604(patch.Normal) 388 - 638: 71(fvec3) Load 637 - 639: 577(ptr) AccessChain 594(patch) 388 217 + 637: 605(ptr) AccessChain 604(patch.Normal) 390 + 638: 72(fvec3) Load 637 + 639: 577(ptr) AccessChain 594(patch) 390 220 Store 639 638 - 640: 612(ptr) AccessChain 611(patch.UV) 388 + 640: 612(ptr) AccessChain 611(patch.UV) 390 641: 48(fvec2) Load 640 - 642: 50(ptr) AccessChain 594(patch) 388 430 + 642: 50(ptr) AccessChain 594(patch) 390 431 Store 642 641 646: 11(int) Load 645(InvocationID) Store 643(InvocationID) 646 - 649: 87 Load 594(patch) + 649: 89 Load 594(patch) Store 648(param) 649 651: 11(int) Load 643(InvocationID) Store 650(param) 651 - 652:119(HSOutput) FunctionCall 132(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 648(param) 650(param) + 652:121(HSOutput) FunctionCall 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 648(param) 650(param) Store 647(flattenTemp) 652 655: 11(int) Load 645(InvocationID) - 656: 21(ptr) AccessChain 647(flattenTemp) 216 + 656: 21(ptr) AccessChain 647(flattenTemp) 219 657: 18(fvec4) Load 656 659: 658(ptr) AccessChain 654(@entryPointOutput.Pos) 655 Store 659 657 662: 11(int) Load 645(InvocationID) - 663: 577(ptr) AccessChain 647(flattenTemp) 217 - 664: 71(fvec3) Load 663 + 663: 577(ptr) AccessChain 647(flattenTemp) 220 + 664: 72(fvec3) Load 663 666: 665(ptr) AccessChain 661(@entryPointOutput.Normal) 662 Store 666 664 669: 11(int) Load 645(InvocationID) - 670: 50(ptr) AccessChain 647(flattenTemp) 430 + 670: 50(ptr) AccessChain 647(flattenTemp) 431 671: 48(fvec2) Load 670 673: 672(ptr) AccessChain 668(@entryPointOutput.UV) 669 Store 673 671 ControlBarrier 46 19 16 674: 11(int) Load 645(InvocationID) - 675: 52(bool) IEqual 674 216 + 675: 52(bool) IEqual 674 219 SelectionMerge 677 None BranchConditional 675 676 677 676: Label - 680: 87 Load 594(patch) + 680: 89 Load 594(patch) Store 679(param) 680 - 681:95(ConstantsHSOutput) FunctionCall 108(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 679(param) + 681:97(ConstantsHSOutput) FunctionCall 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 679(param) Store 678(@patchConstantResult) 681 - 684: 155(ptr) AccessChain 678(@patchConstantResult) 216 216 + 684: 158(ptr) AccessChain 678(@patchConstantResult) 219 219 685: 8(float) Load 684 - 687: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 216 + 687: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 219 Store 687 685 - 688: 155(ptr) AccessChain 678(@patchConstantResult) 216 217 + 688: 158(ptr) AccessChain 678(@patchConstantResult) 219 220 689: 8(float) Load 688 - 690: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 217 + 690: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 220 Store 690 689 - 691: 155(ptr) AccessChain 678(@patchConstantResult) 216 430 + 691: 158(ptr) AccessChain 678(@patchConstantResult) 219 431 692: 8(float) Load 691 - 693: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 430 + 693: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 431 Store 693 692 - 694: 155(ptr) AccessChain 678(@patchConstantResult) 216 388 + 694: 158(ptr) AccessChain 678(@patchConstantResult) 219 390 695: 8(float) Load 694 - 696: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 388 + 696: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 390 Store 696 695 - 699: 155(ptr) AccessChain 678(@patchConstantResult) 217 216 + 699: 158(ptr) AccessChain 678(@patchConstantResult) 220 219 700: 8(float) Load 699 - 701: 686(ptr) AccessChain 698(@patchConstantOutput.TessLevelInner) 216 + 701: 686(ptr) AccessChain 698(@patchConstantOutput.TessLevelInner) 219 Store 701 700 - 702: 155(ptr) AccessChain 678(@patchConstantResult) 217 217 + 702: 158(ptr) AccessChain 678(@patchConstantResult) 220 220 703: 8(float) Load 702 - 704: 686(ptr) AccessChain 698(@patchConstantOutput.TessLevelInner) 217 + 704: 686(ptr) AccessChain 698(@patchConstantOutput.TessLevelInner) 220 Store 704 703 Branch 677 677: Label @@ -552,372 +552,372 @@ WARNING: 0:158: '' : attribute does not apply to entry point 26(p0): 21(ptr) FunctionParameter 27(p1): 21(ptr) FunctionParameter 29: Label - 144(midPoint): 21(ptr) Variable Function - 157(radius): 155(ptr) Variable Function - 168(v0): 21(ptr) Variable Function - 223(clip0): 21(ptr) Variable Function - 241(clip1): 21(ptr) Variable Function + 147(midPoint): 21(ptr) Variable Function + 160(radius): 158(ptr) Variable Function + 171(v0): 21(ptr) Variable Function + 226(clip0): 21(ptr) Variable Function + 244(clip1): 21(ptr) Variable Function 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 31 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 34 34 16 16 40: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 38 26(p0) 41 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 44 27(p1) 41 - 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 31 28(screenSpaceTessFactor(vf4;vf4;) - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 147 147 16 16 - 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 145 144(midPoint) 41 - 151: 18(fvec4) Load 26(p0) - 152: 18(fvec4) Load 27(p1) - 153: 18(fvec4) FAdd 151 152 - 154: 18(fvec4) VectorTimesScalar 153 150 - Store 144(midPoint) 154 - 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 160 160 16 16 - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 158 157(radius) 41 - 163: 18(fvec4) Load 26(p0) - 164: 18(fvec4) Load 27(p1) - 165: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 163 164 - 167: 8(float) FDiv 165 166 - Store 157(radius) 167 - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 171 171 16 16 - 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 169 168(v0) 41 - 174: 18(fvec4) Load 144(midPoint) - 220: 218(ptr) AccessChain 210 216 217 - 221: 175 Load 220 - 222: 18(fvec4) VectorTimesMatrix 174 221 - Store 168(v0) 222 - 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 226 226 16 16 - 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 224 223(clip0) 41 - 229: 18(fvec4) Load 168(v0) - 230: 8(float) Load 157(radius) - 233: 8(float) CompositeExtract 232 0 - 234: 8(float) CompositeExtract 232 1 - 235: 8(float) CompositeExtract 232 2 - 236: 18(fvec4) CompositeConstruct 230 233 234 235 - 237: 18(fvec4) FSub 229 236 - 238: 218(ptr) AccessChain 210 216 216 - 239: 175 Load 238 - 240: 18(fvec4) VectorTimesMatrix 237 239 - Store 223(clip0) 240 - 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 244 244 16 16 - 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 242 241(clip1) 41 - 247: 18(fvec4) Load 168(v0) - 248: 8(float) Load 157(radius) - 249: 8(float) CompositeExtract 232 0 - 250: 8(float) CompositeExtract 232 1 - 251: 8(float) CompositeExtract 232 2 - 252: 18(fvec4) CompositeConstruct 248 249 250 251 - 253: 18(fvec4) FAdd 247 252 - 254: 218(ptr) AccessChain 210 216 216 - 255: 175 Load 254 - 256: 18(fvec4) VectorTimesMatrix 253 255 - Store 241(clip1) 256 - 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 259 259 16 16 - 257: 155(ptr) AccessChain 223(clip0) 17 - 260: 8(float) Load 257 - 261: 18(fvec4) Load 223(clip0) - 262: 18(fvec4) CompositeConstruct 260 260 260 260 - 263: 18(fvec4) FDiv 261 262 - Store 223(clip0) 263 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 266 266 16 16 - 264: 155(ptr) AccessChain 241(clip1) 17 - 267: 8(float) Load 264 - 268: 18(fvec4) Load 241(clip1) - 269: 18(fvec4) CompositeConstruct 267 267 267 267 - 270: 18(fvec4) FDiv 268 269 - Store 241(clip1) 270 - 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 276 276 16 16 - 274: 272(ptr) AccessChain 210 216 271 - 277: 48(fvec2) Load 274 - 278: 18(fvec4) Load 223(clip0) - 279: 48(fvec2) VectorShuffle 278 278 0 1 - 280: 48(fvec2) FMul 279 277 - 281: 155(ptr) AccessChain 223(clip0) 16 - 282: 8(float) CompositeExtract 280 0 - Store 281 282 - 283: 155(ptr) AccessChain 223(clip0) 36 - 284: 8(float) CompositeExtract 280 1 - Store 283 284 - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 287 287 16 16 - 285: 272(ptr) AccessChain 210 216 271 - 288: 48(fvec2) Load 285 - 289: 18(fvec4) Load 241(clip1) - 290: 48(fvec2) VectorShuffle 289 289 0 1 - 291: 48(fvec2) FMul 290 288 - 292: 155(ptr) AccessChain 241(clip1) 16 - 293: 8(float) CompositeExtract 291 0 - Store 292 293 - 294: 155(ptr) AccessChain 241(clip1) 36 - 295: 8(float) CompositeExtract 291 1 - Store 294 295 - 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 298 298 16 16 - 296: 18(fvec4) Load 223(clip0) - 299: 18(fvec4) Load 241(clip1) - 300: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 296 299 - 304: 302(ptr) AccessChain 210 216 301 - 305: 8(float) Load 304 - 306: 8(float) FDiv 300 305 - 308: 302(ptr) AccessChain 210 216 307 - 309: 8(float) Load 308 - 310: 8(float) FMul 306 309 - 313: 8(float) ExtInst 3(GLSL.std.450) 43(FClamp) 310 311 312 - ReturnValue 313 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 31 28(screenSpaceTessFactor(vf4;vf4;) + 152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 150 150 16 16 + 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 148 147(midPoint) 41 + 154: 18(fvec4) Load 26(p0) + 155: 18(fvec4) Load 27(p1) + 156: 18(fvec4) FAdd 154 155 + 157: 18(fvec4) VectorTimesScalar 156 153 + Store 147(midPoint) 157 + 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 163 163 16 16 + 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 161 160(radius) 41 + 166: 18(fvec4) Load 26(p0) + 167: 18(fvec4) Load 27(p1) + 168: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 166 167 + 170: 8(float) FDiv 168 169 + Store 160(radius) 170 + 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 174 174 16 16 + 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 172 171(v0) 41 + 177: 18(fvec4) Load 147(midPoint) + 223: 221(ptr) AccessChain 213 219 220 + 224: 178 Load 223 + 225: 18(fvec4) VectorTimesMatrix 177 224 + Store 171(v0) 225 + 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 229 229 16 16 + 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 227 226(clip0) 41 + 232: 18(fvec4) Load 171(v0) + 233: 8(float) Load 160(radius) + 236: 8(float) CompositeExtract 235 0 + 237: 8(float) CompositeExtract 235 1 + 238: 8(float) CompositeExtract 235 2 + 239: 18(fvec4) CompositeConstruct 233 236 237 238 + 240: 18(fvec4) FSub 232 239 + 241: 221(ptr) AccessChain 213 219 219 + 242: 178 Load 241 + 243: 18(fvec4) VectorTimesMatrix 240 242 + Store 226(clip0) 243 + 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 247 247 16 16 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 245 244(clip1) 41 + 250: 18(fvec4) Load 171(v0) + 251: 8(float) Load 160(radius) + 252: 8(float) CompositeExtract 235 0 + 253: 8(float) CompositeExtract 235 1 + 254: 8(float) CompositeExtract 235 2 + 255: 18(fvec4) CompositeConstruct 251 252 253 254 + 256: 18(fvec4) FAdd 250 255 + 257: 221(ptr) AccessChain 213 219 219 + 258: 178 Load 257 + 259: 18(fvec4) VectorTimesMatrix 256 258 + Store 244(clip1) 259 + 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 262 262 16 16 + 260: 158(ptr) AccessChain 226(clip0) 17 + 263: 8(float) Load 260 + 264: 18(fvec4) Load 226(clip0) + 265: 18(fvec4) CompositeConstruct 263 263 263 263 + 266: 18(fvec4) FDiv 264 265 + Store 226(clip0) 266 + 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 269 269 16 16 + 267: 158(ptr) AccessChain 244(clip1) 17 + 270: 8(float) Load 267 + 271: 18(fvec4) Load 244(clip1) + 272: 18(fvec4) CompositeConstruct 270 270 270 270 + 273: 18(fvec4) FDiv 271 272 + Store 244(clip1) 273 + 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 279 279 16 16 + 277: 275(ptr) AccessChain 213 219 274 + 280: 48(fvec2) Load 277 + 281: 18(fvec4) Load 226(clip0) + 282: 48(fvec2) VectorShuffle 281 281 0 1 + 283: 48(fvec2) FMul 282 280 + 284: 158(ptr) AccessChain 226(clip0) 16 + 285: 8(float) CompositeExtract 283 0 + Store 284 285 + 286: 158(ptr) AccessChain 226(clip0) 36 + 287: 8(float) CompositeExtract 283 1 + Store 286 287 + 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 290 290 16 16 + 288: 275(ptr) AccessChain 213 219 274 + 291: 48(fvec2) Load 288 + 292: 18(fvec4) Load 244(clip1) + 293: 48(fvec2) VectorShuffle 292 292 0 1 + 294: 48(fvec2) FMul 293 291 + 295: 158(ptr) AccessChain 244(clip1) 16 + 296: 8(float) CompositeExtract 294 0 + Store 295 296 + 297: 158(ptr) AccessChain 244(clip1) 36 + 298: 8(float) CompositeExtract 294 1 + Store 297 298 + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 301 301 16 16 + 299: 18(fvec4) Load 226(clip0) + 302: 18(fvec4) Load 244(clip1) + 303: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 299 302 + 307: 305(ptr) AccessChain 213 219 304 + 308: 8(float) Load 307 + 309: 8(float) FDiv 303 308 + 311: 305(ptr) AccessChain 213 219 310 + 312: 8(float) Load 311 + 313: 8(float) FMul 309 312 + 316: 8(float) ExtInst 3(GLSL.std.450) 43(FClamp) 313 314 315 + ReturnValue 316 FunctionEnd 59(frustumCheck(vf4;vf2;): 52(bool) Function None 55 57(Pos): 21(ptr) FunctionParameter 58(inUV): 50(ptr) FunctionParameter 60: Label - 319(pos): 21(ptr) Variable Function - 367(i): 365(ptr) Variable Function + 321(pos): 21(ptr) Variable Function + 369(i): 367(ptr) Variable Function 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 63 63 16 16 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 64 57(Pos) 41 - 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 68 58(inUV) 41 - 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 63 63 16 16 - 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 62 59(frustumCheck(vf4;vf2;) - 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 322 322 16 16 - 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 320 319(pos) 41 - 325: 18(fvec4) Load 57(Pos) - Store 319(pos) 325 - 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 329 329 16 16 - 337: 326 Load 334(textureHeight) - 348: 339 Load 345(samplerHeight) - 353: 349 SampledImage 337 348 - 354: 48(fvec2) Load 58(inUV) - 355: 18(fvec4) ImageSampleExplicitLod 353 354 Lod 231 - 356: 8(float) CompositeExtract 355 0 - 358: 302(ptr) AccessChain 210 216 357 - 359: 8(float) Load 358 - 360: 8(float) FMul 356 359 - 361: 155(ptr) AccessChain 319(pos) 36 - 362: 8(float) Load 361 - 363: 8(float) FSub 362 360 - 364: 155(ptr) AccessChain 319(pos) 36 - Store 364 363 - 372: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 370 370 16 16 - 371: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 368 367(i) 41 - Store 367(i) 216 - Branch 373 - 373: Label - 377: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 370 370 16 16 - LoopMerge 375 376 None - Branch 379 - 379: Label - 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 370 370 16 16 - 380: 213(int) Load 367(i) - 383: 52(bool) SLessThan 380 271 - BranchConditional 383 374 375 - 374: Label - 385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 387 387 16 16 - 384: 18(fvec4) Load 319(pos) - 389: 213(int) Load 367(i) - 392: 390(ptr) AccessChain 210 216 388 389 - 393: 18(fvec4) Load 392 - 394: 8(float) Dot 384 393 - 396: 8(float) FAdd 394 395 - 397: 52(bool) FOrdLessThan 396 231 - SelectionMerge 399 None - BranchConditional 397 398 399 - 398: Label - 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 403 403 16 16 - ReturnValue 400 - 399: Label - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - Branch 376 - 376: Label - 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 370 370 16 16 - 407: 213(int) Load 367(i) - 410: 213(int) IAdd 407 217 - Store 367(i) 410 - Branch 373 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 69 58(inUV) 41 + 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 62 59(frustumCheck(vf4;vf2;) + 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 324 324 16 16 + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 322 321(pos) 41 + 327: 18(fvec4) Load 57(Pos) + Store 321(pos) 327 + 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 331 331 16 16 + 339: 328 Load 336(textureHeight) + 350: 341 Load 347(samplerHeight) + 355: 351 SampledImage 339 350 + 356: 48(fvec2) Load 58(inUV) + 357: 18(fvec4) ImageSampleExplicitLod 355 356 Lod 234 + 358: 8(float) CompositeExtract 357 0 + 360: 305(ptr) AccessChain 213 219 359 + 361: 8(float) Load 360 + 362: 8(float) FMul 358 361 + 363: 158(ptr) AccessChain 321(pos) 36 + 364: 8(float) Load 363 + 365: 8(float) FSub 364 362 + 366: 158(ptr) AccessChain 321(pos) 36 + Store 366 365 + 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 372 372 16 16 + 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 370 369(i) 41 + Store 369(i) 219 + Branch 375 375: Label - 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 413 413 16 16 - ReturnValue 177 + 379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 372 372 16 16 + LoopMerge 377 378 None + Branch 381 + 381: Label + 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 372 372 16 16 + 382: 216(int) Load 369(i) + 385: 52(bool) SLessThan 382 274 + BranchConditional 385 376 377 + 376: Label + 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 389 389 16 16 + 386: 18(fvec4) Load 321(pos) + 391: 216(int) Load 369(i) + 394: 392(ptr) AccessChain 213 219 390 391 + 395: 18(fvec4) Load 394 + 396: 8(float) Dot 386 395 + 398: 8(float) FAdd 396 397 + 399: 52(bool) FOrdLessThan 398 234 + SelectionMerge 401 None + BranchConditional 399 400 401 + 400: Label + 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 405 405 16 16 + ReturnValue 402 + 401: Label + 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + Branch 378 + 378: Label + 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 372 372 16 16 + 409: 216(int) Load 369(i) + 412: 216(int) IAdd 409 220 + Store 369(i) 412 + Branch 375 + 377: Label + 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 415 415 16 16 + ReturnValue 180 FunctionEnd -108(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];):95(ConstantsHSOutput) Function None 105 - 107(patch): 89(ptr) FunctionParameter - 109: Label - 421(output): 419(ptr) Variable Function - 431(param): 21(ptr) Variable Function - 436(param): 50(ptr) Variable Function - 471(param): 21(ptr) Variable Function - 477(param): 21(ptr) Variable Function - 482(param): 21(ptr) Variable Function - 487(param): 21(ptr) Variable Function - 492(param): 21(ptr) Variable Function - 497(param): 21(ptr) Variable Function - 502(param): 21(ptr) Variable Function - 507(param): 21(ptr) Variable Function - 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 113 107(patch) 41 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 112 112 16 16 - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 111 108(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 424 424 16 16 - 425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 422 421(output) 41 - Store 421(output) 429 - 433: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 434 434 16 16 - 432: 21(ptr) AccessChain 107(patch) 216 216 - 435: 18(fvec4) Load 432 - Store 431(param) 435 - 437: 50(ptr) AccessChain 107(patch) 216 430 - 438: 48(fvec2) Load 437 - Store 436(param) 438 - 439: 52(bool) FunctionCall 59(frustumCheck(vf4;vf2;) 431(param) 436(param) - 440: 52(bool) LogicalNot 439 - SelectionMerge 442 None - BranchConditional 440 441 462 - 441: Label - 444: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - 445: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 446 446 16 16 - 443: 155(ptr) AccessChain 421(output) 217 216 - Store 443 231 - 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 449 449 16 16 - 447: 155(ptr) AccessChain 421(output) 217 217 - Store 447 231 - 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 452 452 16 16 - 450: 155(ptr) AccessChain 421(output) 216 216 - Store 450 231 - 454: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 455 455 16 16 - 453: 155(ptr) AccessChain 421(output) 216 217 - Store 453 231 - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 458 458 16 16 - 456: 155(ptr) AccessChain 421(output) 216 430 - Store 456 231 - 460: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 461 461 16 16 - 459: 155(ptr) AccessChain 421(output) 216 388 - Store 459 231 - Branch 442 - 462: Label - 464: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 466 466 16 16 - 463: 302(ptr) AccessChain 210 216 307 - 467: 8(float) Load 463 - 468: 52(bool) FOrdGreaterThan 467 231 - SelectionMerge 470 None - BranchConditional 468 469 528 - 469: Label - 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 475 475 16 16 - 472: 21(ptr) AccessChain 107(patch) 388 216 - 476: 18(fvec4) Load 472 - Store 471(param) 476 - 478: 21(ptr) AccessChain 107(patch) 216 216 - 479: 18(fvec4) Load 478 - Store 477(param) 479 - 480: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 471(param) 477(param) - 481: 155(ptr) AccessChain 421(output) 216 216 - Store 481 480 - 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 485 485 16 16 - 483: 21(ptr) AccessChain 107(patch) 216 216 - 486: 18(fvec4) Load 483 - Store 482(param) 486 - 488: 21(ptr) AccessChain 107(patch) 217 216 - 489: 18(fvec4) Load 488 - Store 487(param) 489 - 490: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 482(param) 487(param) - 491: 155(ptr) AccessChain 421(output) 216 217 - Store 491 490 - 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 495 495 16 16 - 493: 21(ptr) AccessChain 107(patch) 217 216 - 496: 18(fvec4) Load 493 - Store 492(param) 496 - 498: 21(ptr) AccessChain 107(patch) 430 216 - 499: 18(fvec4) Load 498 - Store 497(param) 499 - 500: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 492(param) 497(param) - 501: 155(ptr) AccessChain 421(output) 216 430 - Store 501 500 - 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 505 505 16 16 - 503: 21(ptr) AccessChain 107(patch) 430 216 - 506: 18(fvec4) Load 503 - Store 502(param) 506 - 508: 21(ptr) AccessChain 107(patch) 388 216 - 509: 18(fvec4) Load 508 - Store 507(param) 509 - 510: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 502(param) 507(param) - 511: 155(ptr) AccessChain 421(output) 216 388 - Store 511 510 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 514 514 16 16 - 512: 155(ptr) AccessChain 421(output) 216 216 - 515: 8(float) Load 512 - 516: 155(ptr) AccessChain 421(output) 216 388 - 517: 8(float) Load 516 - 518: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 515 517 150 - 519: 155(ptr) AccessChain 421(output) 217 216 - Store 519 518 - 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 522 522 16 16 - 520: 155(ptr) AccessChain 421(output) 216 430 - 523: 8(float) Load 520 - 524: 155(ptr) AccessChain 421(output) 216 217 - 525: 8(float) Load 524 - 526: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 523 525 150 - 527: 155(ptr) AccessChain 421(output) 217 217 - Store 527 526 - Branch 470 - 528: Label - 530: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 532 532 16 16 - 529: 155(ptr) AccessChain 421(output) 217 216 - Store 529 311 - 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 535 535 16 16 - 533: 155(ptr) AccessChain 421(output) 217 217 - Store 533 311 - 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 538 538 16 16 - 536: 155(ptr) AccessChain 421(output) 216 216 - Store 536 311 - 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 541 541 16 16 - 539: 155(ptr) AccessChain 421(output) 216 217 - Store 539 311 - 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 544 544 16 16 - 542: 155(ptr) AccessChain 421(output) 216 430 - Store 542 311 - 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 547 547 16 16 - 545: 155(ptr) AccessChain 421(output) 216 388 - Store 545 311 - Branch 470 - 470: Label - 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - Branch 442 - 442: Label - 550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 552 552 16 16 - 549:95(ConstantsHSOutput) Load 421(output) - ReturnValue 549 +110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];):97(ConstantsHSOutput) Function None 107 + 109(patch): 91(ptr) FunctionParameter + 111: Label + 422(output): 420(ptr) Variable Function + 432(param): 21(ptr) Variable Function + 437(param): 50(ptr) Variable Function + 472(param): 21(ptr) Variable Function + 478(param): 21(ptr) Variable Function + 483(param): 21(ptr) Variable Function + 488(param): 21(ptr) Variable Function + 493(param): 21(ptr) Variable Function + 498(param): 21(ptr) Variable Function + 503(param): 21(ptr) Variable Function + 508(param): 21(ptr) Variable Function + 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 + 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 88 88 16 16 + 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 114 109(patch) 41 + 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 113 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) + 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 425 425 16 16 + 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 423 422(output) 41 + Store 422(output) 430 + 434: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 435 435 16 16 + 433: 21(ptr) AccessChain 109(patch) 219 219 + 436: 18(fvec4) Load 433 + Store 432(param) 436 + 438: 50(ptr) AccessChain 109(patch) 219 431 + 439: 48(fvec2) Load 438 + Store 437(param) 439 + 440: 52(bool) FunctionCall 59(frustumCheck(vf4;vf2;) 432(param) 437(param) + 441: 52(bool) LogicalNot 440 + SelectionMerge 443 None + BranchConditional 441 442 463 + 442: Label + 445: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 + 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 447 447 16 16 + 444: 158(ptr) AccessChain 422(output) 220 219 + Store 444 234 + 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 450 450 16 16 + 448: 158(ptr) AccessChain 422(output) 220 220 + Store 448 234 + 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 453 453 16 16 + 451: 158(ptr) AccessChain 422(output) 219 219 + Store 451 234 + 455: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 456 456 16 16 + 454: 158(ptr) AccessChain 422(output) 219 220 + Store 454 234 + 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 459 459 16 16 + 457: 158(ptr) AccessChain 422(output) 219 431 + Store 457 234 + 461: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 462 462 16 16 + 460: 158(ptr) AccessChain 422(output) 219 390 + Store 460 234 + Branch 443 + 463: Label + 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 + 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 467 467 16 16 + 464: 305(ptr) AccessChain 213 219 310 + 468: 8(float) Load 464 + 469: 52(bool) FOrdGreaterThan 468 234 + SelectionMerge 471 None + BranchConditional 469 470 529 + 470: Label + 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 + 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 476 476 16 16 + 473: 21(ptr) AccessChain 109(patch) 390 219 + 477: 18(fvec4) Load 473 + Store 472(param) 477 + 479: 21(ptr) AccessChain 109(patch) 219 219 + 480: 18(fvec4) Load 479 + Store 478(param) 480 + 481: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 472(param) 478(param) + 482: 158(ptr) AccessChain 422(output) 219 219 + Store 482 481 + 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 486 486 16 16 + 484: 21(ptr) AccessChain 109(patch) 219 219 + 487: 18(fvec4) Load 484 + Store 483(param) 487 + 489: 21(ptr) AccessChain 109(patch) 220 219 + 490: 18(fvec4) Load 489 + Store 488(param) 490 + 491: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 483(param) 488(param) + 492: 158(ptr) AccessChain 422(output) 219 220 + Store 492 491 + 495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 496 496 16 16 + 494: 21(ptr) AccessChain 109(patch) 220 219 + 497: 18(fvec4) Load 494 + Store 493(param) 497 + 499: 21(ptr) AccessChain 109(patch) 431 219 + 500: 18(fvec4) Load 499 + Store 498(param) 500 + 501: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 493(param) 498(param) + 502: 158(ptr) AccessChain 422(output) 219 431 + Store 502 501 + 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 506 506 16 16 + 504: 21(ptr) AccessChain 109(patch) 431 219 + 507: 18(fvec4) Load 504 + Store 503(param) 507 + 509: 21(ptr) AccessChain 109(patch) 390 219 + 510: 18(fvec4) Load 509 + Store 508(param) 510 + 511: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 503(param) 508(param) + 512: 158(ptr) AccessChain 422(output) 219 390 + Store 512 511 + 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 515 515 16 16 + 513: 158(ptr) AccessChain 422(output) 219 219 + 516: 8(float) Load 513 + 517: 158(ptr) AccessChain 422(output) 219 390 + 518: 8(float) Load 517 + 519: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 516 518 153 + 520: 158(ptr) AccessChain 422(output) 220 219 + Store 520 519 + 522: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 523 523 16 16 + 521: 158(ptr) AccessChain 422(output) 219 431 + 524: 8(float) Load 521 + 525: 158(ptr) AccessChain 422(output) 219 220 + 526: 8(float) Load 525 + 527: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 524 526 153 + 528: 158(ptr) AccessChain 422(output) 220 220 + Store 528 527 + Branch 471 + 529: Label + 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 + 532: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 533 533 16 16 + 530: 158(ptr) AccessChain 422(output) 220 219 + Store 530 314 + 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 536 536 16 16 + 534: 158(ptr) AccessChain 422(output) 220 220 + Store 534 314 + 538: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 539 539 16 16 + 537: 158(ptr) AccessChain 422(output) 219 219 + Store 537 314 + 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 542 542 16 16 + 540: 158(ptr) AccessChain 422(output) 219 220 + Store 540 314 + 544: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 545 545 16 16 + 543: 158(ptr) AccessChain 422(output) 219 431 + Store 543 314 + 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 548 548 16 16 + 546: 158(ptr) AccessChain 422(output) 219 390 + Store 546 314 + Branch 471 + 471: Label + 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 + Branch 443 + 443: Label + 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 + 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 553 553 16 16 + 550:97(ConstantsHSOutput) Load 422(output) + ReturnValue 550 FunctionEnd -132(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;):119(HSOutput) Function None 128 - 130(patch): 89(ptr) FunctionParameter -131(InvocationID): 117(ptr) FunctionParameter - 133: Label +135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;):121(HSOutput) Function None 131 + 133(patch): 91(ptr) FunctionParameter +134(InvocationID): 119(ptr) FunctionParameter + 136: Label 560(output): 558(ptr) Variable Function - 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 135 - 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 137 130(patch) 41 - 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 140 131(InvocationID) 41 - 557: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 136 136 16 16 - 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 135 132(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) + 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 138 + 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 130 130 16 16 + 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 139 133(patch) 41 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 143 134(InvocationID) 41 + 557: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 138 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 562 562 16 16 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 561 560(output) 41 Store 560(output) 567 569: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 570 570 16 16 - 568: 11(int) Load 131(InvocationID) - 571: 21(ptr) AccessChain 130(patch) 568 216 + 568: 11(int) Load 134(InvocationID) + 571: 21(ptr) AccessChain 133(patch) 568 219 572: 18(fvec4) Load 571 - 573: 21(ptr) AccessChain 560(output) 216 + 573: 21(ptr) AccessChain 560(output) 219 Store 573 572 575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 576 576 16 16 - 574: 11(int) Load 131(InvocationID) - 579: 577(ptr) AccessChain 130(patch) 574 217 - 580: 71(fvec3) Load 579 - 581: 577(ptr) AccessChain 560(output) 217 + 574: 11(int) Load 134(InvocationID) + 579: 577(ptr) AccessChain 133(patch) 574 220 + 580: 72(fvec3) Load 579 + 581: 577(ptr) AccessChain 560(output) 220 Store 581 580 583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 584 584 16 16 - 582: 11(int) Load 131(InvocationID) - 585: 50(ptr) AccessChain 130(patch) 582 430 + 582: 11(int) Load 134(InvocationID) + 585: 50(ptr) AccessChain 133(patch) 582 431 586: 48(fvec2) Load 585 - 587: 50(ptr) AccessChain 560(output) 430 + 587: 50(ptr) AccessChain 560(output) 431 Store 587 586 589: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 590 590 16 16 - 588:119(HSOutput) Load 560(output) + 588:121(HSOutput) Load 560(output) ReturnValue 588 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.tese.out b/Test/baseResults/spv.debuginfo.hlsl.tese.out index 53704c1f..e2b8ffd3 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.tese.out +++ b/Test/baseResults/spv.debuginfo.hlsl.tese.out @@ -25,13 +25,13 @@ spv.debuginfo.hlsl.tese " 32: String "TessLevelInner" 35: String "ConstantsHSOutput" - 52: String "Pos" - 55: String "Normal" - 59: String "UV" - 63: String "HSOutput" - 71: String "WorldPos" - 81: String "DSOutput" - 89: String "@main" + 53: String "Pos" + 56: String "Normal" + 60: String "UV" + 64: String "HSOutput" + 72: String "WorldPos" + 82: String "DSOutput" + 90: String "@main" 93: String "input" 99: String "TessCoord" 102: String "patch" @@ -64,22 +64,22 @@ spv.debuginfo.hlsl.tese Name 24 "ConstantsHSOutput" MemberName 24(ConstantsHSOutput) 0 "TessLevelOuter" MemberName 24(ConstantsHSOutput) 1 "TessLevelInner" - Name 50 "HSOutput" - MemberName 50(HSOutput) 0 "Pos" - MemberName 50(HSOutput) 1 "Normal" - MemberName 50(HSOutput) 2 "UV" - Name 66 "DSOutput" - MemberName 66(DSOutput) 0 "Pos" - MemberName 66(DSOutput) 1 "Normal" - MemberName 66(DSOutput) 2 "UV" - MemberName 66(DSOutput) 3 "ViewVec" - MemberName 66(DSOutput) 4 "LightVec" - MemberName 66(DSOutput) 5 "EyePos" - MemberName 66(DSOutput) 6 "WorldPos" - Name 87 "@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];" - Name 84 "input" - Name 85 "TessCoord" - Name 86 "patch" + Name 51 "HSOutput" + MemberName 51(HSOutput) 0 "Pos" + MemberName 51(HSOutput) 1 "Normal" + MemberName 51(HSOutput) 2 "UV" + Name 67 "DSOutput" + MemberName 67(DSOutput) 0 "Pos" + MemberName 67(DSOutput) 1 "Normal" + MemberName 67(DSOutput) 2 "UV" + MemberName 67(DSOutput) 3 "ViewVec" + MemberName 67(DSOutput) 4 "LightVec" + MemberName 67(DSOutput) 5 "EyePos" + MemberName 67(DSOutput) 6 "WorldPos" + Name 88 "@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];" + Name 85 "input" + Name 86 "TessCoord" + Name 87 "patch" Name 107 "output" Name 118 "uv1" Name 138 "uv2" @@ -182,139 +182,139 @@ spv.debuginfo.hlsl.tese 33: 11(int) Constant 52 31: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 32 23 27 33 30 16 16 17 36: 11(int) Constant 1 - 38: 11(int) Constant 5 - 37: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 36 18 27 38 - 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 35 36 27 16 16 37 35 16 17 25 31 - 39: TypePointer Function 24(ConstantsHSOutput) - 40: 11(int) Constant 7 - 41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 34 40 16 - 42: TypeVector 8(float) 2 - 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 21 - 44: TypePointer Function 42(fvec2) - 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 43 40 16 - 46: TypeVector 8(float) 4 - 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 18 - 48: TypeVector 8(float) 3 - 49: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 - 50(HSOutput): TypeStruct 46(fvec4) 48(fvec3) 42(fvec2) - 53: 11(int) Constant 44 - 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 52 47 27 53 14 16 16 17 - 56: 11(int) Constant 45 - 57: 11(int) Constant 35 - 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 49 27 56 57 16 16 17 - 60: 11(int) Constant 46 - 61: 11(int) Constant 31 - 58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 59 43 27 60 61 16 16 17 - 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 63 36 27 16 16 37 63 16 17 51 54 58 - 64: TypeArray 50(HSOutput) 18 - 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 62 18 - 66(DSOutput): TypeStruct 46(fvec4) 48(fvec3) 42(fvec2) 48(fvec3) 48(fvec3) 48(fvec3) 48(fvec3) - 68: 11(int) Constant 57 - 69: 11(int) Constant 13 - 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 52 47 27 68 69 16 16 17 - 72: 11(int) Constant 63 - 73: 11(int) Constant 37 - 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17 - 75: 11(int) Constant 59 - 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 59 43 27 75 61 16 16 17 - 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17 - 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17 - 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17 - 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17 - 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 81 36 27 16 16 37 81 16 17 67 70 74 76 77 78 79 - 82: TypeFunction 66(DSOutput) 39(ptr) 44(ptr) 64 - 83: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 80 34 43 62 - 91: 11(int) Constant 68 - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 89 83 27 91 16 37 89 17 91 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 34 27 91 16 90 18 36 + 37: 11(int) Constant 68 + 39: 11(int) Constant 5 + 38: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 36 18 27 39 + 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 35 36 27 37 16 38 35 16 17 25 31 + 40: TypePointer Function 24(ConstantsHSOutput) + 41: 11(int) Constant 7 + 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 34 41 16 + 43: TypeVector 8(float) 2 + 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 21 + 45: TypePointer Function 43(fvec2) + 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 44 41 16 + 47: TypeVector 8(float) 4 + 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 18 + 49: TypeVector 8(float) 3 + 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 + 51(HSOutput): TypeStruct 47(fvec4) 49(fvec3) 43(fvec2) + 54: 11(int) Constant 44 + 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 53 48 27 54 14 16 16 17 + 57: 11(int) Constant 45 + 58: 11(int) Constant 35 + 55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 56 50 27 57 58 16 16 17 + 61: 11(int) Constant 46 + 62: 11(int) Constant 31 + 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 60 44 27 61 62 16 16 17 + 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 64 36 27 37 16 38 64 16 17 52 55 59 + 65: TypeArray 51(HSOutput) 18 + 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 63 18 + 67(DSOutput): TypeStruct 47(fvec4) 49(fvec3) 43(fvec2) 49(fvec3) 49(fvec3) 49(fvec3) 49(fvec3) + 69: 11(int) Constant 57 + 70: 11(int) Constant 13 + 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 53 48 27 69 70 16 16 17 + 73: 11(int) Constant 63 + 74: 11(int) Constant 37 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 + 76: 11(int) Constant 59 + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 60 44 27 76 62 16 16 17 + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 + 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 + 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 + 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 82 36 27 37 16 38 82 16 17 68 71 75 77 78 79 80 + 83: TypeFunction 67(DSOutput) 40(ptr) 45(ptr) 65 + 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 81 34 44 63 + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 90 84 27 37 16 38 90 17 37 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 34 27 37 16 91 18 36 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 43 27 91 16 90 18 21 - 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 102 62 27 91 16 90 18 17 - 105: TypePointer Function 66(DSOutput) - 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 80 40 16 + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 44 27 37 16 91 18 21 + 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 102 63 27 37 16 91 18 17 + 105: TypePointer Function 67(DSOutput) + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 81 41 16 110: 11(int) Constant 70 - 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 109 80 27 110 16 90 18 + 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 109 81 27 110 16 91 18 113: 8(float) Constant 0 - 114: 46(fvec4) ConstantComposite 113 113 113 113 - 115: 48(fvec3) ConstantComposite 113 113 113 - 116: 42(fvec2) ConstantComposite 113 113 - 117:66(DSOutput) ConstantComposite 114 115 116 115 115 115 115 + 114: 47(fvec4) ConstantComposite 113 113 113 113 + 115: 49(fvec3) ConstantComposite 113 113 113 + 116: 43(fvec2) ConstantComposite 113 113 + 117:67(DSOutput) ConstantComposite 114 115 116 115 115 115 115 121: 11(int) Constant 71 - 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 120 43 27 121 16 90 18 + 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 120 44 27 121 16 91 18 124: TypeInt 32 1 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 125 14 18 16 127: 124(int) Constant 0 128: 124(int) Constant 2 130: 124(int) Constant 1 132: TypePointer Function 8(float) - 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 40 16 + 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 41 16 141: 11(int) Constant 72 - 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 140 43 27 141 16 90 18 + 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 140 44 27 141 16 91 18 144: 124(int) Constant 3 153: 11(int) Constant 73 - 160: TypePointer Function 48(fvec3) - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 40 16 + 160: TypePointer Function 49(fvec3) + 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 50 41 16 165: 11(int) Constant 75 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 49 27 165 16 90 18 + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 50 27 165 16 91 18 177: 11(int) Constant 76 - 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 176 49 27 177 16 90 18 + 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 176 50 27 177 16 91 18 188: 11(int) Constant 77 - 195: TypePointer Function 46(fvec4) - 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 47 40 16 + 195: TypePointer Function 47(fvec4) + 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 48 41 16 200: 11(int) Constant 80 - 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 199 47 27 200 16 90 18 + 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 199 48 27 200 16 91 18 212: 11(int) Constant 81 - 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 211 47 27 212 16 90 18 + 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 211 48 27 212 16 91 18 224: 11(int) Constant 82 - 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 223 47 27 224 16 90 18 + 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 223 48 27 224 16 91 18 233: TypeImage 8(float) 2D sampled format:Unknown 236: 11(int) Constant 84 238: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 235 16 27 236 16 37 237 238 17 + 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 235 16 27 236 16 38 237 238 17 239: TypePointer UniformConstant 233 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 234 16 16 241(displacementMapTexture): 239(ptr) Variable UniformConstant 244: 11(int) Constant 8 - 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 243 234 27 236 16 37 243 241(displacementMapTexture) 244 + 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 243 234 27 236 16 38 243 241(displacementMapTexture) 244 247: TypeSampler - 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 249 36 27 236 16 37 250 238 17 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 249 36 27 236 16 38 250 238 17 251: TypePointer UniformConstant 247 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 248 16 16 253(displacementMapSampler): 251(ptr) Variable UniformConstant - 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 255 248 27 236 16 37 255 253(displacementMapSampler) 244 + 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 255 248 27 236 16 38 255 253(displacementMapSampler) 244 257: TypeSampledImage 233 - 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 259 16 27 236 16 37 260 238 17 - 266: TypeMatrix 46(fvec4) 4 + 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 259 16 27 236 16 38 260 238 17 + 266: TypeMatrix 47(fvec4) 4 268: TypeBool 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 269 14 21 16 271: 268(bool) ConstantTrue - 267: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 47 18 271 - 272: TypeArray 46(fvec4) 15 - 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 47 15 - 274(UBO): TypeStruct 266 266 46(fvec4) 272 8(float) 8(float) 42(fvec2) 8(float) + 267: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 48 18 271 + 272: TypeArray 47(fvec4) 15 + 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 48 15 + 274(UBO): TypeStruct 266 266 47(fvec4) 272 8(float) 8(float) 43(fvec2) 8(float) 277: 11(int) Constant 29 278: 11(int) Constant 20 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 276 267 27 277 278 16 16 17 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 276 267 27 277 278 16 16 17 282: 11(int) Constant 30 283: 11(int) Constant 17 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 281 47 27 282 283 16 16 17 + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 281 48 27 282 283 16 16 17 286: 11(int) Constant 22 - 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 285 273 27 61 286 16 16 17 + 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 285 273 27 62 286 16 16 17 289: 11(int) Constant 27 - 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 57 289 16 16 17 - 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 57 289 16 16 17 + 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 58 289 16 16 17 + 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 58 289 16 16 17 293: 11(int) Constant 34 - 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 292 43 27 293 278 16 16 17 - 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 57 289 16 16 17 - 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 296 36 27 236 16 37 296 16 17 275 279 280 284 287 290 291 294 + 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 292 44 27 293 278 16 16 17 + 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 58 289 16 16 17 + 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 296 36 27 236 16 38 296 16 17 275 279 280 284 287 290 291 294 297(ubo): TypeStruct 274(UBO) - 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 299 295 27 73 73 16 16 17 - 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 299 36 27 236 16 37 299 16 17 298 + 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 299 295 27 74 74 16 16 17 + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 299 36 27 236 16 38 299 16 17 298 301: TypePointer Uniform 297(ubo) 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 300 21 16 303: 301(ptr) Variable Uniform - 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 300 27 236 16 37 2 303 244 + 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 300 27 236 16 38 2 303 244 305: 124(int) Constant 4 306: TypePointer Uniform 8(float) 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 @@ -322,8 +322,8 @@ spv.debuginfo.hlsl.tese 318: TypePointer Uniform 266 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 267 21 16 329: 11(int) Constant 89 - 333: TypePointer Uniform 46(fvec4) - 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 47 21 16 + 333: TypePointer Uniform 47(fvec4) + 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 48 21 16 337: 11(int) Constant 90 345: 124(int) Constant 6 348: 11(int) Constant 91 @@ -335,25 +335,25 @@ spv.debuginfo.hlsl.tese 369: TypePointer Input 8(float) 382: TypePointer Input 22 383(input.TessLevelInner): 382(ptr) Variable Input - 391: TypePointer Input 48(fvec3) + 391: TypePointer Input 49(fvec3) 392(TessCoord): 391(ptr) Variable Input - 397: TypePointer Function 64 - 399: TypeArray 46(fvec4) 18 + 397: TypePointer Function 65 + 399: TypeArray 47(fvec4) 18 400: TypePointer Input 399 401(patch.Pos): 400(ptr) Variable Input - 402: TypePointer Input 46(fvec4) - 406: TypeArray 48(fvec3) 18 + 402: TypePointer Input 47(fvec4) + 406: TypeArray 49(fvec3) 18 407: TypePointer Input 406 408(patch.Normal): 407(ptr) Variable Input - 412: TypeArray 42(fvec2) 18 + 412: TypeArray 43(fvec2) 18 413: TypePointer Input 412 414(patch.UV): 413(ptr) Variable Input - 415: TypePointer Input 42(fvec2) - 453: TypePointer Output 46(fvec4) + 415: TypePointer Input 43(fvec2) + 453: TypePointer Output 47(fvec4) 454(@entryPointOutput.Pos): 453(ptr) Variable Output - 457: TypePointer Output 48(fvec3) + 457: TypePointer Output 49(fvec3) 458(@entryPointOutput.Normal): 457(ptr) Variable Output - 461: TypePointer Output 42(fvec2) + 461: TypePointer Output 43(fvec2) 462(@entryPointOutput.UV): 461(ptr) Variable Output 465(@entryPointOutput.ViewVec): 457(ptr) Variable Output 468(@entryPointOutput.LightVec): 457(ptr) Variable Output @@ -361,12 +361,12 @@ spv.debuginfo.hlsl.tese 474(@entryPointOutput.WorldPos): 457(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 366(input): 39(ptr) Variable Function - 390(TessCoord): 44(ptr) Variable Function + 366(input): 40(ptr) Variable Function + 390(TessCoord): 45(ptr) Variable Function 398(patch): 397(ptr) Variable Function 446(flattenTemp): 105(ptr) Variable Function - 448(param): 39(ptr) Variable Function - 450(param): 44(ptr) Variable Function + 448(param): 40(ptr) Variable Function + 450(param): 45(ptr) Variable Function 370: 369(ptr) AccessChain 368(input.TessLevelOuter) 127 371: 8(float) Load 370 372: 132(ptr) AccessChain 366(input) 127 127 @@ -391,199 +391,199 @@ spv.debuginfo.hlsl.tese 388: 8(float) Load 387 389: 132(ptr) AccessChain 366(input) 130 130 Store 389 388 - 393: 48(fvec3) Load 392(TessCoord) + 393: 49(fvec3) Load 392(TessCoord) 394: 8(float) CompositeExtract 393 0 395: 8(float) CompositeExtract 393 1 - 396: 42(fvec2) CompositeConstruct 394 395 + 396: 43(fvec2) CompositeConstruct 394 395 Store 390(TessCoord) 396 403: 402(ptr) AccessChain 401(patch.Pos) 127 - 404: 46(fvec4) Load 403 + 404: 47(fvec4) Load 403 405: 195(ptr) AccessChain 398(patch) 127 127 Store 405 404 409: 391(ptr) AccessChain 408(patch.Normal) 127 - 410: 48(fvec3) Load 409 + 410: 49(fvec3) Load 409 411: 160(ptr) AccessChain 398(patch) 127 130 Store 411 410 416: 415(ptr) AccessChain 414(patch.UV) 127 - 417: 42(fvec2) Load 416 - 418: 44(ptr) AccessChain 398(patch) 127 128 + 417: 43(fvec2) Load 416 + 418: 45(ptr) AccessChain 398(patch) 127 128 Store 418 417 419: 402(ptr) AccessChain 401(patch.Pos) 130 - 420: 46(fvec4) Load 419 + 420: 47(fvec4) Load 419 421: 195(ptr) AccessChain 398(patch) 130 127 Store 421 420 422: 391(ptr) AccessChain 408(patch.Normal) 130 - 423: 48(fvec3) Load 422 + 423: 49(fvec3) Load 422 424: 160(ptr) AccessChain 398(patch) 130 130 Store 424 423 425: 415(ptr) AccessChain 414(patch.UV) 130 - 426: 42(fvec2) Load 425 - 427: 44(ptr) AccessChain 398(patch) 130 128 + 426: 43(fvec2) Load 425 + 427: 45(ptr) AccessChain 398(patch) 130 128 Store 427 426 428: 402(ptr) AccessChain 401(patch.Pos) 128 - 429: 46(fvec4) Load 428 + 429: 47(fvec4) Load 428 430: 195(ptr) AccessChain 398(patch) 128 127 Store 430 429 431: 391(ptr) AccessChain 408(patch.Normal) 128 - 432: 48(fvec3) Load 431 + 432: 49(fvec3) Load 431 433: 160(ptr) AccessChain 398(patch) 128 130 Store 433 432 434: 415(ptr) AccessChain 414(patch.UV) 128 - 435: 42(fvec2) Load 434 - 436: 44(ptr) AccessChain 398(patch) 128 128 + 435: 43(fvec2) Load 434 + 436: 45(ptr) AccessChain 398(patch) 128 128 Store 436 435 437: 402(ptr) AccessChain 401(patch.Pos) 144 - 438: 46(fvec4) Load 437 + 438: 47(fvec4) Load 437 439: 195(ptr) AccessChain 398(patch) 144 127 Store 439 438 440: 391(ptr) AccessChain 408(patch.Normal) 144 - 441: 48(fvec3) Load 440 + 441: 49(fvec3) Load 440 442: 160(ptr) AccessChain 398(patch) 144 130 Store 442 441 443: 415(ptr) AccessChain 414(patch.UV) 144 - 444: 42(fvec2) Load 443 - 445: 44(ptr) AccessChain 398(patch) 144 128 + 444: 43(fvec2) Load 443 + 445: 45(ptr) AccessChain 398(patch) 144 128 Store 445 444 - 447: 64 Load 398(patch) + 447: 65 Load 398(patch) 449:24(ConstantsHSOutput) Load 366(input) Store 448(param) 449 - 451: 42(fvec2) Load 390(TessCoord) + 451: 43(fvec2) Load 390(TessCoord) Store 450(param) 451 - 452:66(DSOutput) FunctionCall 87(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 448(param) 450(param) 447 + 452:67(DSOutput) FunctionCall 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 448(param) 450(param) 447 Store 446(flattenTemp) 452 455: 195(ptr) AccessChain 446(flattenTemp) 127 - 456: 46(fvec4) Load 455 + 456: 47(fvec4) Load 455 Store 454(@entryPointOutput.Pos) 456 459: 160(ptr) AccessChain 446(flattenTemp) 130 - 460: 48(fvec3) Load 459 + 460: 49(fvec3) Load 459 Store 458(@entryPointOutput.Normal) 460 - 463: 44(ptr) AccessChain 446(flattenTemp) 128 - 464: 42(fvec2) Load 463 + 463: 45(ptr) AccessChain 446(flattenTemp) 128 + 464: 43(fvec2) Load 463 Store 462(@entryPointOutput.UV) 464 466: 160(ptr) AccessChain 446(flattenTemp) 144 - 467: 48(fvec3) Load 466 + 467: 49(fvec3) Load 466 Store 465(@entryPointOutput.ViewVec) 467 469: 160(ptr) AccessChain 446(flattenTemp) 305 - 470: 48(fvec3) Load 469 + 470: 49(fvec3) Load 469 Store 468(@entryPointOutput.LightVec) 470 472: 160(ptr) AccessChain 446(flattenTemp) 351 - 473: 48(fvec3) Load 472 + 473: 49(fvec3) Load 472 Store 471(@entryPointOutput.EyePos) 473 475: 160(ptr) AccessChain 446(flattenTemp) 345 - 476: 48(fvec3) Load 475 + 476: 49(fvec3) Load 475 Store 474(@entryPointOutput.WorldPos) 476 Return FunctionEnd -87(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];):66(DSOutput) Function None 82 - 84(input): 39(ptr) FunctionParameter - 85(TessCoord): 44(ptr) FunctionParameter - 86(patch): 64 FunctionParameter - 88: Label +88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];):67(DSOutput) Function None 83 + 85(input): 40(ptr) FunctionParameter + 86(TessCoord): 45(ptr) FunctionParameter + 87(patch): 65 FunctionParameter + 89: Label 107(output): 105(ptr) Variable Function - 118(uv1): 44(ptr) Variable Function - 138(uv2): 44(ptr) Variable Function + 118(uv1): 45(ptr) Variable Function + 138(uv2): 45(ptr) Variable Function 162(n1): 160(ptr) Variable Function 174(n2): 160(ptr) Variable Function 197(pos1): 195(ptr) Variable Function 209(pos2): 195(ptr) Variable Function 221(pos): 195(ptr) Variable Function - 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 90 - 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 91 91 16 16 - 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 84(input) 95 - 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 98 85(TessCoord) 95 - 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 101 86(patch) 95 - 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 90 87(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 91 + 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 37 37 16 16 + 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 85(input) 95 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 98 86(TessCoord) 95 + 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 101 87(patch) 95 + 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 91 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 110 110 16 16 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 108 107(output) 95 Store 107(output) 117 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 121 121 16 16 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 119 118(uv1) 95 - 129: 42(fvec2) CompositeExtract 86(patch) 0 2 - 131: 42(fvec2) CompositeExtract 86(patch) 1 2 - 134: 132(ptr) AccessChain 85(TessCoord) 16 + 129: 43(fvec2) CompositeExtract 87(patch) 0 2 + 131: 43(fvec2) CompositeExtract 87(patch) 1 2 + 134: 132(ptr) AccessChain 86(TessCoord) 16 135: 8(float) Load 134 - 136: 42(fvec2) CompositeConstruct 135 135 - 137: 42(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 129 131 136 + 136: 43(fvec2) CompositeConstruct 135 135 + 137: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 129 131 136 Store 118(uv1) 137 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 141 141 16 16 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 139 138(uv2) 95 - 145: 42(fvec2) CompositeExtract 86(patch) 3 2 - 146: 42(fvec2) CompositeExtract 86(patch) 2 2 - 147: 132(ptr) AccessChain 85(TessCoord) 16 + 145: 43(fvec2) CompositeExtract 87(patch) 3 2 + 146: 43(fvec2) CompositeExtract 87(patch) 2 2 + 147: 132(ptr) AccessChain 86(TessCoord) 16 148: 8(float) Load 147 - 149: 42(fvec2) CompositeConstruct 148 148 - 150: 42(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 145 146 149 + 149: 43(fvec2) CompositeConstruct 148 148 + 150: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 145 146 149 Store 138(uv2) 150 152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 153 153 16 16 - 151: 42(fvec2) Load 118(uv1) - 154: 42(fvec2) Load 138(uv2) - 155: 132(ptr) AccessChain 85(TessCoord) 36 + 151: 43(fvec2) Load 118(uv1) + 154: 43(fvec2) Load 138(uv2) + 155: 132(ptr) AccessChain 86(TessCoord) 36 156: 8(float) Load 155 - 157: 42(fvec2) CompositeConstruct 156 156 - 158: 42(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 151 154 157 - 159: 44(ptr) AccessChain 107(output) 128 + 157: 43(fvec2) CompositeConstruct 156 156 + 158: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 151 154 157 + 159: 45(ptr) AccessChain 107(output) 128 Store 159 158 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 165 165 16 16 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 163 162(n1) 95 - 168: 48(fvec3) CompositeExtract 86(patch) 0 1 - 169: 48(fvec3) CompositeExtract 86(patch) 1 1 - 170: 132(ptr) AccessChain 85(TessCoord) 16 + 168: 49(fvec3) CompositeExtract 87(patch) 0 1 + 169: 49(fvec3) CompositeExtract 87(patch) 1 1 + 170: 132(ptr) AccessChain 86(TessCoord) 16 171: 8(float) Load 170 - 172: 48(fvec3) CompositeConstruct 171 171 171 - 173: 48(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 168 169 172 + 172: 49(fvec3) CompositeConstruct 171 171 171 + 173: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 168 169 172 Store 162(n1) 173 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 177 177 16 16 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 175 174(n2) 95 - 180: 48(fvec3) CompositeExtract 86(patch) 3 1 - 181: 48(fvec3) CompositeExtract 86(patch) 2 1 - 182: 132(ptr) AccessChain 85(TessCoord) 16 + 180: 49(fvec3) CompositeExtract 87(patch) 3 1 + 181: 49(fvec3) CompositeExtract 87(patch) 2 1 + 182: 132(ptr) AccessChain 86(TessCoord) 16 183: 8(float) Load 182 - 184: 48(fvec3) CompositeConstruct 183 183 183 - 185: 48(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 180 181 184 + 184: 49(fvec3) CompositeConstruct 183 183 183 + 185: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 180 181 184 Store 174(n2) 185 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 188 188 16 16 - 186: 48(fvec3) Load 162(n1) - 189: 48(fvec3) Load 174(n2) - 190: 132(ptr) AccessChain 85(TessCoord) 36 + 186: 49(fvec3) Load 162(n1) + 189: 49(fvec3) Load 174(n2) + 190: 132(ptr) AccessChain 86(TessCoord) 36 191: 8(float) Load 190 - 192: 48(fvec3) CompositeConstruct 191 191 191 - 193: 48(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 186 189 192 + 192: 49(fvec3) CompositeConstruct 191 191 191 + 193: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 186 189 192 194: 160(ptr) AccessChain 107(output) 130 Store 194 193 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 200 200 16 16 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 198 197(pos1) 95 - 203: 46(fvec4) CompositeExtract 86(patch) 0 0 - 204: 46(fvec4) CompositeExtract 86(patch) 1 0 - 205: 132(ptr) AccessChain 85(TessCoord) 16 + 203: 47(fvec4) CompositeExtract 87(patch) 0 0 + 204: 47(fvec4) CompositeExtract 87(patch) 1 0 + 205: 132(ptr) AccessChain 86(TessCoord) 16 206: 8(float) Load 205 - 207: 46(fvec4) CompositeConstruct 206 206 206 206 - 208: 46(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 203 204 207 + 207: 47(fvec4) CompositeConstruct 206 206 206 206 + 208: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 203 204 207 Store 197(pos1) 208 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 212 212 16 16 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 210 209(pos2) 95 - 215: 46(fvec4) CompositeExtract 86(patch) 3 0 - 216: 46(fvec4) CompositeExtract 86(patch) 2 0 - 217: 132(ptr) AccessChain 85(TessCoord) 16 + 215: 47(fvec4) CompositeExtract 87(patch) 3 0 + 216: 47(fvec4) CompositeExtract 87(patch) 2 0 + 217: 132(ptr) AccessChain 86(TessCoord) 16 218: 8(float) Load 217 - 219: 46(fvec4) CompositeConstruct 218 218 218 218 - 220: 46(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 215 216 219 + 219: 47(fvec4) CompositeConstruct 218 218 218 218 + 220: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 215 216 219 Store 209(pos2) 220 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 224 224 16 16 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 222 221(pos) 95 - 227: 46(fvec4) Load 197(pos1) - 228: 46(fvec4) Load 209(pos2) - 229: 132(ptr) AccessChain 85(TessCoord) 36 + 227: 47(fvec4) Load 197(pos1) + 228: 47(fvec4) Load 209(pos2) + 229: 132(ptr) AccessChain 86(TessCoord) 36 230: 8(float) Load 229 - 231: 46(fvec4) CompositeConstruct 230 230 230 230 - 232: 46(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 227 228 231 + 231: 47(fvec4) CompositeConstruct 230 230 230 230 + 232: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 227 228 231 Store 221(pos) 232 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 236 236 16 16 245: 233 Load 241(displacementMapTexture) 256: 247 Load 253(displacementMapSampler) 261: 257 SampledImage 245 256 - 262: 44(ptr) AccessChain 107(output) 128 - 263: 42(fvec2) Load 262 - 264: 46(fvec4) ImageSampleExplicitLod 261 263 Lod 113 + 262: 45(ptr) AccessChain 107(output) 128 + 263: 43(fvec2) Load 262 + 264: 47(fvec4) ImageSampleExplicitLod 261 263 Lod 113 265: 8(float) CompositeExtract 264 0 308: 306(ptr) AccessChain 303 127 305 309: 8(float) Load 308 @@ -594,45 +594,45 @@ spv.debuginfo.hlsl.tese 314: 132(ptr) AccessChain 221(pos) 36 Store 314 313 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 317 317 16 16 - 315: 46(fvec4) Load 221(pos) + 315: 47(fvec4) Load 221(pos) 320: 318(ptr) AccessChain 303 127 130 321: 266 Load 320 - 322: 46(fvec4) VectorTimesMatrix 315 321 + 322: 47(fvec4) VectorTimesMatrix 315 321 323: 318(ptr) AccessChain 303 127 127 324: 266 Load 323 - 325: 46(fvec4) VectorTimesMatrix 322 324 + 325: 47(fvec4) VectorTimesMatrix 322 324 326: 195(ptr) AccessChain 107(output) 127 Store 326 325 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 329 329 16 16 - 327: 46(fvec4) Load 221(pos) - 330: 48(fvec3) VectorShuffle 327 327 0 1 2 - 331: 48(fvec3) FNegate 330 + 327: 47(fvec4) Load 221(pos) + 330: 49(fvec3) VectorShuffle 327 327 0 1 2 + 331: 49(fvec3) FNegate 330 332: 160(ptr) AccessChain 107(output) 144 Store 332 331 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 337 337 16 16 335: 333(ptr) AccessChain 303 127 128 - 338: 46(fvec4) Load 335 - 339: 48(fvec3) VectorShuffle 338 338 0 1 2 + 338: 47(fvec4) Load 335 + 339: 49(fvec3) VectorShuffle 338 338 0 1 2 340: 160(ptr) AccessChain 107(output) 144 - 341: 48(fvec3) Load 340 - 342: 48(fvec3) FAdd 339 341 - 343: 48(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 342 + 341: 49(fvec3) Load 340 + 342: 49(fvec3) FAdd 339 341 + 343: 49(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 342 344: 160(ptr) AccessChain 107(output) 305 Store 344 343 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 348 348 16 16 - 346: 46(fvec4) Load 221(pos) - 349: 48(fvec3) VectorShuffle 346 346 0 1 2 + 346: 47(fvec4) Load 221(pos) + 349: 49(fvec3) VectorShuffle 346 346 0 1 2 350: 160(ptr) AccessChain 107(output) 345 Store 350 349 353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 354 354 16 16 - 352: 46(fvec4) Load 221(pos) + 352: 47(fvec4) Load 221(pos) 355: 318(ptr) AccessChain 303 127 130 356: 266 Load 355 - 357: 46(fvec4) VectorTimesMatrix 352 356 - 358: 48(fvec3) VectorShuffle 357 357 0 1 2 + 357: 47(fvec4) VectorTimesMatrix 352 356 + 358: 49(fvec3) VectorShuffle 357 357 0 1 2 359: 160(ptr) AccessChain 107(output) 351 Store 359 358 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 362 362 16 16 - 360:66(DSOutput) Load 107(output) + 360:67(DSOutput) Load 107(output) ReturnValue 360 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.vert.out b/Test/baseResults/spv.debuginfo.hlsl.vert.out index d557c09c..4e9f17fa 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.vert.out +++ b/Test/baseResults/spv.debuginfo.hlsl.vert.out @@ -27,10 +27,10 @@ spv.debuginfo.hlsl.vert 43: String "instanceScale" 47: String "instanceTexIndex" 51: String "VSInput" - 62: String "Pos" - 66: String "LightVec" - 73: String "VSOutput" - 79: String "@main" + 63: String "Pos" + 67: String "LightVec" + 74: String "VSOutput" + 80: String "@main" 83: String "input" 93: String "output" 130: String "s" @@ -59,15 +59,15 @@ spv.debuginfo.hlsl.vert MemberName 27(VSInput) 5 "instanceRot" MemberName 27(VSInput) 6 "instanceScale" MemberName 27(VSInput) 7 "instanceTexIndex" - Name 60 "VSOutput" - MemberName 60(VSOutput) 0 "Pos" - MemberName 60(VSOutput) 1 "Normal" - MemberName 60(VSOutput) 2 "Color" - MemberName 60(VSOutput) 3 "UV" - MemberName 60(VSOutput) 4 "ViewVec" - MemberName 60(VSOutput) 5 "LightVec" - Name 77 "@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;" - Name 76 "input" + Name 61 "VSOutput" + MemberName 61(VSOutput) 0 "Pos" + MemberName 61(VSOutput) 1 "Normal" + MemberName 61(VSOutput) 2 "Color" + MemberName 61(VSOutput) 3 "UV" + MemberName 61(VSOutput) 4 "ViewVec" + MemberName 61(VSOutput) 5 "LightVec" + Name 78 "@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;" + Name 77 "input" Name 91 "output" Name 128 "s" Name 143 "UBO" @@ -169,126 +169,126 @@ spv.debuginfo.hlsl.vert 49: 11(int) Constant 42 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 47 25 30 48 49 16 16 17 52: 11(int) Constant 1 - 54: 11(int) Constant 5 - 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 52 26 30 54 - 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 51 52 30 16 16 53 51 16 17 28 34 35 39 40 41 42 46 - 55: TypePointer Function 27(VSInput) - 56: 11(int) Constant 7 - 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 50 56 16 - 58: TypeVector 8(float) 4 - 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 26 - 60(VSOutput): TypeStruct 58(fvec4) 18(fvec3) 18(fvec3) 18(fvec3) 18(fvec3) 18(fvec3) - 63: 11(int) Constant 53 - 64: 11(int) Constant 13 - 61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 62 59 30 63 64 16 16 17 - 67: 11(int) Constant 58 - 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 66 19 30 67 48 16 16 17 - 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 66 19 30 67 48 16 16 17 - 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 66 19 30 67 48 16 16 17 - 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 66 19 30 67 48 16 16 17 - 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 66 19 30 67 48 16 16 17 - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 73 52 30 16 16 53 73 16 17 61 65 68 69 70 71 - 74: TypeFunction 60(VSOutput) 55(ptr) - 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 72 50 - 81: 11(int) Constant 62 - 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 79 75 30 81 16 53 79 17 81 - 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 50 30 81 16 80 26 52 + 53: 11(int) Constant 62 + 55: 11(int) Constant 5 + 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 52 26 30 55 + 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 51 52 30 53 16 54 51 16 17 28 34 35 39 40 41 42 46 + 56: TypePointer Function 27(VSInput) + 57: 11(int) Constant 7 + 58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 50 57 16 + 59: TypeVector 8(float) 4 + 60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 26 + 61(VSOutput): TypeStruct 59(fvec4) 18(fvec3) 18(fvec3) 18(fvec3) 18(fvec3) 18(fvec3) + 64: 11(int) Constant 53 + 65: 11(int) Constant 13 + 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 63 60 30 64 65 16 16 17 + 68: 11(int) Constant 58 + 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 19 30 68 48 16 16 17 + 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 19 30 68 48 16 16 17 + 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 19 30 68 48 16 16 17 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 19 30 68 48 16 16 17 + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 19 30 68 48 16 16 17 + 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 74 52 30 53 16 54 74 16 17 62 66 69 70 71 72 + 75: TypeFunction 61(VSOutput) 56(ptr) + 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 73 50 + 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 80 76 30 53 16 54 80 17 53 + 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 50 30 53 16 81 26 52 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) - 89: TypePointer Function 60(VSOutput) - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 56 16 + 89: TypePointer Function 61(VSOutput) + 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 73 57 16 94: 11(int) Constant 63 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 72 30 94 16 80 26 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 73 30 94 16 81 26 97: 8(float) Constant 0 - 98: 58(fvec4) ConstantComposite 97 97 97 97 + 98: 59(fvec4) ConstantComposite 97 97 97 97 99: 18(fvec3) ConstantComposite 97 97 97 - 100:60(VSOutput) ConstantComposite 98 99 99 99 99 99 + 100:61(VSOutput) ConstantComposite 98 99 99 99 99 99 101: 23(int) Constant 2 102: 23(int) Constant 3 103: TypePointer Function 18(fvec3) - 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 19 56 16 + 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 19 57 16 107: 11(int) Constant 64 110: TypePointer Function 20(fvec2) - 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 56 16 + 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 57 16 114: 11(int) Constant 65 116: 23(int) Constant 7 117: TypePointer Function 23(int) - 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 25 56 16 + 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 25 57 16 126: TypePointer Function 8(float) - 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 56 16 + 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 57 16 131: 11(int) Constant 68 - 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 130 10 30 131 16 80 26 + 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 130 10 30 131 16 81 26 134: 23(int) Constant 5 - 137: TypeMatrix 58(fvec4) 4 + 137: TypeMatrix 59(fvec4) 4 139: TypeBool 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 140 14 21 16 142: 139(bool) ConstantTrue - 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 59 26 142 - 143(UBO): TypeStruct 137 137 58(fvec4) 8(float) 8(float) + 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 60 26 142 + 143(UBO): TypeStruct 137 137 59(fvec4) 8(float) 8(float) 146: 11(int) Constant 43 147: 11(int) Constant 20 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 145 138 30 146 147 16 16 17 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 145 138 30 146 147 16 16 17 151: 11(int) Constant 44 152: 11(int) Constant 17 - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 150 59 30 151 152 16 16 17 + 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 150 60 30 151 152 16 16 17 155: 11(int) Constant 46 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 154 10 30 155 152 16 16 17 156: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 154 10 30 155 152 16 16 17 - 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 158 52 30 131 16 53 158 16 17 144 148 149 153 156 + 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 158 52 30 131 16 54 158 16 17 144 148 149 153 156 159(ubo): TypeStruct 143(UBO) 162: 11(int) Constant 49 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 161 157 30 162 48 16 16 17 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 161 52 30 131 16 53 161 16 17 160 + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 161 52 30 131 16 54 161 16 17 160 164: TypePointer Uniform 159(ubo) 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 163 21 16 166: 164(ptr) Variable Uniform 168: 11(int) Constant 8 - 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 163 30 131 16 53 2 166 168 + 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 163 30 131 16 54 2 166 168 169: 23(int) Constant 0 170: TypePointer Uniform 8(float) 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 179: 11(int) Constant 69 - 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 178 10 30 179 16 80 26 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 178 10 30 179 16 81 26 188: TypeMatrix 18(fvec3) 3 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 19 17 142 190: TypePointer Function 188 - 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 189 56 16 + 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 189 57 16 195: 11(int) Constant 71 - 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 194 189 30 195 16 80 26 + 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 194 189 30 195 16 81 26 203: 11(int) Constant 72 205: 8(float) Constant 1065353216 213: 11(int) Constant 76 221: 11(int) Constant 77 230: 11(int) Constant 79 - 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 189 30 230 16 80 26 + 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 189 30 230 16 81 26 238: 11(int) Constant 81 247: 11(int) Constant 84 255: 11(int) Constant 85 264: 11(int) Constant 87 - 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 263 189 30 264 16 80 26 + 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 263 189 30 264 16 81 26 269: 11(int) Constant 88 274: 11(int) Constant 89 284: 11(int) Constant 91 - 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 283 189 30 284 16 80 26 + 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 283 189 30 284 16 81 26 294: 11(int) Constant 94 296: 23(int) Constant 4 303: 11(int) Constant 95 309: TypePointer Function 137 - 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 138 56 16 + 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 138 57 16 314: 11(int) Constant 96 - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 313 138 30 314 16 80 26 - 321: TypePointer Function 58(fvec4) - 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 59 56 16 + 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 313 138 30 314 16 81 26 + 321: TypePointer Function 59(fvec4) + 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 60 57 16 324: 23(int) Constant 1 - 325: 58(fvec4) ConstantComposite 97 205 97 97 + 325: 59(fvec4) ConstantComposite 97 205 97 97 328: 11(int) Constant 97 331: 11(int) Constant 98 - 335: 58(fvec4) ConstantComposite 97 97 97 205 + 335: 59(fvec4) ConstantComposite 97 97 97 205 338: 11(int) Constant 99 342: 11(int) Constant 101 - 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 341 59 30 342 16 80 26 + 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 341 60 30 342 16 81 26 356: 11(int) Constant 102 - 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 355 59 30 356 16 80 26 + 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 355 60 30 356 16 81 26 361: 23(int) Constant 6 374: 11(int) Constant 104 377: TypePointer Uniform 137 @@ -296,9 +296,9 @@ spv.debuginfo.hlsl.vert 388: 11(int) Constant 105 407: 11(int) Constant 107 422: 11(int) Constant 108 - 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 421 19 30 422 16 80 26 - 425: TypePointer Uniform 58(fvec4) - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 59 21 16 + 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 421 19 30 422 16 81 26 + 425: TypePointer Uniform 59(fvec4) + 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 60 21 16 442: 11(int) Constant 109 449: 11(int) Constant 110 455: 11(int) Constant 111 @@ -314,7 +314,7 @@ spv.debuginfo.hlsl.vert 481(input.instanceScale): 480(ptr) Variable Input 484: TypePointer Input 23(int) 485(input.instanceTexIndex): 484(ptr) Variable Input - 492: TypePointer Output 58(fvec4) + 492: TypePointer Output 59(fvec4) 493(@entryPointOutput.Pos): 492(ptr) Variable Output 496: TypePointer Output 18(fvec3) 497(@entryPointOutput.Normal): 496(ptr) Variable Output @@ -324,9 +324,9 @@ spv.debuginfo.hlsl.vert 509(@entryPointOutput.LightVec): 496(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 459(input): 55(ptr) Variable Function + 459(input): 56(ptr) Variable Function 488(flattenTemp): 89(ptr) Variable Function - 489(param): 55(ptr) Variable Function + 489(param): 56(ptr) Variable Function 462: 18(fvec3) Load 461(input.Pos) 463: 103(ptr) AccessChain 459(input) 169 Store 463 462 @@ -353,10 +353,10 @@ spv.debuginfo.hlsl.vert Store 487 486 490: 27(VSInput) Load 459(input) Store 489(param) 490 - 491:60(VSOutput) FunctionCall 77(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) 489(param) + 491:61(VSOutput) FunctionCall 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) 489(param) Store 488(flattenTemp) 491 494: 321(ptr) AccessChain 488(flattenTemp) 169 - 495: 58(fvec4) Load 494 + 495: 59(fvec4) Load 494 Store 493(@entryPointOutput.Pos) 495 498: 103(ptr) AccessChain 488(flattenTemp) 324 499: 18(fvec3) Load 498 @@ -375,9 +375,9 @@ spv.debuginfo.hlsl.vert Store 509(@entryPointOutput.LightVec) 511 Return FunctionEnd -77(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;):60(VSOutput) Function None 74 - 76(input): 55(ptr) FunctionParameter - 78: Label +78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;):61(VSOutput) Function None 75 + 77(input): 56(ptr) FunctionParameter + 79: Label 91(output): 89(ptr) Variable Function 128(s): 126(ptr) Variable Function 176(c): 126(ptr) Variable Function @@ -389,22 +389,22 @@ spv.debuginfo.hlsl.vert 339(locPos): 321(ptr) Variable Function 353(pos): 321(ptr) Variable Function 419(lPos): 103(ptr) Variable Function - 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 80 - 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 81 81 16 16 - 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 76(input) 85 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 80 77(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) + 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 81 + 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 53 53 16 16 + 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 77(input) 85 + 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 81 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 94 94 16 16 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 91(output) 85 Store 91(output) 100 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 107 107 16 16 - 105: 103(ptr) AccessChain 76(input) 102 + 105: 103(ptr) AccessChain 77(input) 102 108: 18(fvec3) Load 105 109: 103(ptr) AccessChain 91(output) 101 Store 109 108 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 114 114 16 16 - 112: 110(ptr) AccessChain 76(input) 101 + 112: 110(ptr) AccessChain 77(input) 101 115: 20(fvec2) Load 112 - 119: 117(ptr) AccessChain 76(input) 116 + 119: 117(ptr) AccessChain 77(input) 116 120: 23(int) Load 119 121: 8(float) ConvertSToF 120 122: 8(float) CompositeExtract 115 0 @@ -414,7 +414,7 @@ spv.debuginfo.hlsl.vert Store 125 124 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 131 131 16 16 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 129 128(s) 85 - 135: 126(ptr) AccessChain 76(input) 134 16 + 135: 126(ptr) AccessChain 77(input) 134 16 136: 8(float) Load 135 172: 170(ptr) AccessChain 166 169 102 173: 8(float) Load 172 @@ -423,7 +423,7 @@ spv.debuginfo.hlsl.vert Store 128(s) 175 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 179 179 16 16 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 177 176(c) 85 - 182: 126(ptr) AccessChain 76(input) 134 16 + 182: 126(ptr) AccessChain 77(input) 134 16 183: 8(float) Load 182 184: 170(ptr) AccessChain 166 169 102 185: 8(float) Load 184 @@ -445,7 +445,7 @@ spv.debuginfo.hlsl.vert 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 195 195 16 16 Store 192(mx) 209 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 213 213 16 16 - 211: 126(ptr) AccessChain 76(input) 134 52 + 211: 126(ptr) AccessChain 77(input) 134 52 214: 8(float) Load 211 215: 170(ptr) AccessChain 166 169 102 216: 8(float) Load 215 @@ -453,7 +453,7 @@ spv.debuginfo.hlsl.vert 218: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 217 Store 128(s) 218 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 221 221 16 16 - 219: 126(ptr) AccessChain 76(input) 134 52 + 219: 126(ptr) AccessChain 77(input) 134 52 222: 8(float) Load 219 223: 170(ptr) AccessChain 166 169 102 224: 8(float) Load 223 @@ -475,7 +475,7 @@ spv.debuginfo.hlsl.vert 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 230 230 16 16 Store 227(my) 243 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 247 247 16 16 - 245: 126(ptr) AccessChain 76(input) 134 21 + 245: 126(ptr) AccessChain 77(input) 134 21 248: 8(float) Load 245 249: 170(ptr) AccessChain 166 169 102 250: 8(float) Load 249 @@ -483,7 +483,7 @@ spv.debuginfo.hlsl.vert 252: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 251 Store 128(s) 252 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 255 255 16 16 - 253: 126(ptr) AccessChain 76(input) 134 21 + 253: 126(ptr) AccessChain 77(input) 134 21 256: 8(float) Load 253 257: 170(ptr) AccessChain 166 169 102 258: 8(float) Load 257 @@ -514,7 +514,7 @@ spv.debuginfo.hlsl.vert 291: 188 MatrixTimesMatrix 289 290 Store 281(rotMat) 291 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 294 294 16 16 - 292: 126(ptr) AccessChain 76(input) 134 52 + 292: 126(ptr) AccessChain 77(input) 134 52 295: 8(float) Load 292 297: 170(ptr) AccessChain 166 169 296 298: 8(float) Load 297 @@ -522,7 +522,7 @@ spv.debuginfo.hlsl.vert 300: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 299 Store 128(s) 300 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 303 303 16 16 - 301: 126(ptr) AccessChain 76(input) 134 52 + 301: 126(ptr) AccessChain 77(input) 134 52 304: 8(float) Load 301 305: 170(ptr) AccessChain 166 169 296 306: 8(float) Load 305 @@ -534,7 +534,7 @@ spv.debuginfo.hlsl.vert 317: 8(float) Load 176(c) 318: 8(float) Load 128(s) 319: 8(float) FNegate 318 - 320: 58(fvec4) CompositeConstruct 317 97 319 97 + 320: 59(fvec4) CompositeConstruct 317 97 319 97 323: 321(ptr) AccessChain 311(gRotMat) 169 Store 323 320 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 328 328 16 16 @@ -543,7 +543,7 @@ spv.debuginfo.hlsl.vert 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 331 331 16 16 329: 8(float) Load 128(s) 332: 8(float) Load 176(c) - 333: 58(fvec4) CompositeConstruct 329 97 332 97 + 333: 59(fvec4) CompositeConstruct 329 97 332 97 334: 321(ptr) AccessChain 311(gRotMat) 101 Store 334 333 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 338 338 16 16 @@ -551,44 +551,44 @@ spv.debuginfo.hlsl.vert Store 336 335 344: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 342 342 16 16 343: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 340 339(locPos) 85 - 345: 103(ptr) AccessChain 76(input) 169 + 345: 103(ptr) AccessChain 77(input) 169 346: 18(fvec3) Load 345 347: 188 Load 281(rotMat) 348: 18(fvec3) VectorTimesMatrix 346 347 349: 8(float) CompositeExtract 348 0 350: 8(float) CompositeExtract 348 1 351: 8(float) CompositeExtract 348 2 - 352: 58(fvec4) CompositeConstruct 349 350 351 205 + 352: 59(fvec4) CompositeConstruct 349 350 351 205 Store 339(locPos) 352 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 356 356 16 16 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 354 353(pos) 85 - 359: 58(fvec4) Load 339(locPos) + 359: 59(fvec4) Load 339(locPos) 360: 18(fvec3) VectorShuffle 359 359 0 1 2 - 362: 126(ptr) AccessChain 76(input) 361 + 362: 126(ptr) AccessChain 77(input) 361 363: 8(float) Load 362 364: 18(fvec3) VectorTimesScalar 360 363 - 365: 103(ptr) AccessChain 76(input) 296 + 365: 103(ptr) AccessChain 77(input) 296 366: 18(fvec3) Load 365 367: 18(fvec3) FAdd 364 366 368: 8(float) CompositeExtract 367 0 369: 8(float) CompositeExtract 367 1 370: 8(float) CompositeExtract 367 2 - 371: 58(fvec4) CompositeConstruct 368 369 370 205 + 371: 59(fvec4) CompositeConstruct 368 369 370 205 Store 353(pos) 371 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 374 374 16 16 - 372: 58(fvec4) Load 353(pos) + 372: 59(fvec4) Load 353(pos) 375: 137 Load 311(gRotMat) - 376: 58(fvec4) VectorTimesMatrix 372 375 + 376: 59(fvec4) VectorTimesMatrix 372 375 379: 377(ptr) AccessChain 166 169 324 380: 137 Load 379 - 381: 58(fvec4) VectorTimesMatrix 376 380 + 381: 59(fvec4) VectorTimesMatrix 376 380 382: 377(ptr) AccessChain 166 169 169 383: 137 Load 382 - 384: 58(fvec4) VectorTimesMatrix 381 383 + 384: 59(fvec4) VectorTimesMatrix 381 383 385: 321(ptr) AccessChain 91(output) 169 Store 385 384 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 388 388 16 16 - 386: 103(ptr) AccessChain 76(input) 324 + 386: 103(ptr) AccessChain 77(input) 324 389: 18(fvec3) Load 386 390: 188 Load 281(rotMat) 391: 18(fvec3) VectorTimesMatrix 389 390 @@ -596,60 +596,60 @@ spv.debuginfo.hlsl.vert 393: 377(ptr) AccessChain 166 169 324 394: 137 Load 393 395: 137 MatrixTimesMatrix 392 394 - 396: 58(fvec4) CompositeExtract 395 0 + 396: 59(fvec4) CompositeExtract 395 0 397: 18(fvec3) VectorShuffle 396 396 0 1 2 - 398: 58(fvec4) CompositeExtract 395 1 + 398: 59(fvec4) CompositeExtract 395 1 399: 18(fvec3) VectorShuffle 398 398 0 1 2 - 400: 58(fvec4) CompositeExtract 395 2 + 400: 59(fvec4) CompositeExtract 395 2 401: 18(fvec3) VectorShuffle 400 400 0 1 2 402: 188 CompositeConstruct 397 399 401 403: 18(fvec3) VectorTimesMatrix 391 402 404: 103(ptr) AccessChain 91(output) 324 Store 404 403 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 407 407 16 16 - 405: 103(ptr) AccessChain 76(input) 169 + 405: 103(ptr) AccessChain 77(input) 169 408: 18(fvec3) Load 405 - 409: 103(ptr) AccessChain 76(input) 296 + 409: 103(ptr) AccessChain 77(input) 296 410: 18(fvec3) Load 409 411: 18(fvec3) FAdd 408 410 412: 8(float) CompositeExtract 411 0 413: 8(float) CompositeExtract 411 1 414: 8(float) CompositeExtract 411 2 - 415: 58(fvec4) CompositeConstruct 412 413 414 205 + 415: 59(fvec4) CompositeConstruct 412 413 414 205 416: 377(ptr) AccessChain 166 169 324 417: 137 Load 416 - 418: 58(fvec4) VectorTimesMatrix 415 417 + 418: 59(fvec4) VectorTimesMatrix 415 417 Store 353(pos) 418 424: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 422 422 16 16 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 420 419(lPos) 85 427: 425(ptr) AccessChain 166 169 101 - 428: 58(fvec4) Load 427 + 428: 59(fvec4) Load 427 429: 18(fvec3) VectorShuffle 428 428 0 1 2 430: 377(ptr) AccessChain 166 169 324 431: 137 Load 430 - 432: 58(fvec4) CompositeExtract 431 0 + 432: 59(fvec4) CompositeExtract 431 0 433: 18(fvec3) VectorShuffle 432 432 0 1 2 - 434: 58(fvec4) CompositeExtract 431 1 + 434: 59(fvec4) CompositeExtract 431 1 435: 18(fvec3) VectorShuffle 434 434 0 1 2 - 436: 58(fvec4) CompositeExtract 431 2 + 436: 59(fvec4) CompositeExtract 431 2 437: 18(fvec3) VectorShuffle 436 436 0 1 2 438: 188 CompositeConstruct 433 435 437 439: 18(fvec3) VectorTimesMatrix 429 438 Store 419(lPos) 439 441: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 442 442 16 16 440: 18(fvec3) Load 419(lPos) - 443: 58(fvec4) Load 353(pos) + 443: 59(fvec4) Load 353(pos) 444: 18(fvec3) VectorShuffle 443 443 0 1 2 445: 18(fvec3) FSub 440 444 446: 103(ptr) AccessChain 91(output) 134 Store 446 445 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 449 449 16 16 - 447: 58(fvec4) Load 353(pos) + 447: 59(fvec4) Load 353(pos) 450: 18(fvec3) VectorShuffle 447 447 0 1 2 451: 18(fvec3) FNegate 450 452: 103(ptr) AccessChain 91(output) 296 Store 452 451 454: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 455 455 16 16 - 453:60(VSOutput) Load 91(output) + 453:61(VSOutput) Load 91(output) ReturnValue 453 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.include.glsl.frag.out b/Test/baseResults/spv.debuginfo.include.glsl.frag.out index 02b893f2..a6ca6e15 100644 --- a/Test/baseResults/spv.debuginfo.include.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.include.glsl.frag.out @@ -1,21 +1,31 @@ spv.debuginfo.include.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 109 +// Id's are bound by 108 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 4: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 15 "main" 81 + EntryPoint Fragment 15 "main" 80 ExecutionMode 15 OriginUpperLeft 2: String "spv.debuginfo.include.glsl.frag" 3: String "spv.debuginfo.include.glsl.h" 9: String "uint" 18: String "float" 31: String "headerFunction" - 34: String "// OpModuleProcessed auto-map-locations + 34: String " +out vec4 headerOut; + +uniform UBO { + vec4 headerUboItem; +}; + +vec4 headerFunction(vec4 a) { + return -a; +}" + 39: String "// OpModuleProcessed auto-map-locations // OpModuleProcessed auto-map-bindings // OpModuleProcessed client vulkan100 // OpModuleProcessed target-env vulkan1.0 @@ -34,43 +44,33 @@ vec4 mainFileFunction(vec4 v) { void main() { headerOut = headerFunction(mainFileFunction(headerUboItem)); }" - 40: String "a" - 48: String "mainFileFunction" - 51: String "v" - 54: String "main" - 60: String " -out vec4 headerOut; - -uniform UBO { - vec4 headerUboItem; -}; - -vec4 headerFunction(vec4 a) { - return -a; -}" - 83: String "headerOut" - 87: String "headerUboItem" - 90: String "UBO" - 95: String "" - 97: String "int" + 42: String "a" + 50: String "mainFileFunction" + 53: String "v" + 57: String "main" + 82: String "headerOut" + 86: String "headerUboItem" + 89: String "UBO" + 94: String "" + 96: String "int" SourceExtension "GL_GOOGLE_cpp_style_line_directive" SourceExtension "GL_GOOGLE_include_directive" Name 15 "main" Name 29 "headerFunction(vf4;" Name 28 "a" - Name 46 "mainFileFunction(vf4;" - Name 45 "v" - Name 81 "headerOut" - Name 85 "UBO" - MemberName 85(UBO) 0 "headerUboItem" - Name 93 "" - Name 100 "param" - Name 107 "param" - Decorate 81(headerOut) Location 0 - Decorate 85(UBO) Block - MemberDecorate 85(UBO) 0 Offset 0 - Decorate 93 Binding 0 - Decorate 93 DescriptorSet 0 + Name 48 "mainFileFunction(vf4;" + Name 47 "v" + Name 80 "headerOut" + Name 84 "UBO" + MemberName 84(UBO) 0 "headerUboItem" + Name 92 "" + Name 99 "param" + Name 106 "param" + Decorate 80(headerOut) Location 0 + Decorate 84(UBO) Block + MemberDecorate 84(UBO) 0 Offset 0 + Decorate 92 Binding 0 + Decorate 92 DescriptorSet 0 5: TypeVoid 6: TypeFunction 5 8: TypeInt 32 0 @@ -90,77 +90,76 @@ vec4 headerFunction(vec4 a) { 25: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 24 13 26: TypeFunction 20(fvec4) 23(ptr) 27: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 14 22 22 - 33: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 34 + 33: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 3 34 35: 8(int) Constant 8 37: 8(int) Constant 1 - 38: 8(int) Constant 2 - 36: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 21 33 38 + 38: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 39 + 40: 8(int) Constant 2 + 36: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 21 38 40 32: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 31 27 33 35 13 36 31 14 35 - 39: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 40 22 33 35 13 32 21 37 - 42: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) - 49: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 48 27 33 12 13 36 48 14 12 - 50: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 51 22 33 12 13 49 21 37 - 56: 8(int) Constant 10 - 55: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 54 7 33 56 13 36 54 14 56 - 59: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 3 60 + 41: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 42 22 33 35 13 32 21 37 + 44: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) + 51: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 50 27 38 12 13 36 50 14 12 + 52: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 22 38 12 13 51 21 37 + 59: 8(int) Constant 10 + 58: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 57 7 38 59 13 36 57 14 59 63: 8(int) Constant 9 - 79: TypePointer Output 20(fvec4) - 80: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 14 13 - 81(headerOut): 79(ptr) Variable Output - 84: 8(int) Constant 11 - 82: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 83 22 33 84 13 36 83 81(headerOut) 35 - 85(UBO): TypeStruct 20(fvec4) - 88: 8(int) Constant 5 - 86: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 87 22 33 88 24 13 13 14 - 89: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 90 37 33 84 13 36 90 13 14 86 - 91: TypePointer Uniform 85(UBO) - 92: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 89 38 13 - 93: 91(ptr) Variable Uniform - 94: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 95 89 33 84 13 36 95 93 35 - 96: TypeInt 32 1 - 98: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 97 11 21 13 - 99: 96(int) Constant 0 - 101: TypePointer Uniform 20(fvec4) - 102: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 38 13 + 78: TypePointer Output 20(fvec4) + 79: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 14 13 + 80(headerOut): 78(ptr) Variable Output + 83: 8(int) Constant 11 + 81: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 82 22 38 83 13 36 82 80(headerOut) 35 + 84(UBO): TypeStruct 20(fvec4) + 87: 8(int) Constant 5 + 85: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 86 22 38 87 24 13 13 14 + 88: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 89 37 38 83 13 36 89 13 14 85 + 90: TypePointer Uniform 84(UBO) + 91: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 40 13 + 92: 90(ptr) Variable Uniform + 93: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 94 88 38 83 13 36 94 92 35 + 95: TypeInt 32 1 + 97: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 96 11 21 13 + 98: 95(int) Constant 0 + 100: TypePointer Uniform 20(fvec4) + 101: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 40 13 15(main): 5 Function None 6 16: Label - 100(param): 23(ptr) Variable Function - 107(param): 23(ptr) Variable Function - 77: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 78: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 56 56 13 13 - 76: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 55 15(main) - 104: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 84 84 13 13 - 103: 101(ptr) AccessChain 93 99 - 105: 20(fvec4) Load 103 - Store 100(param) 105 - 106: 20(fvec4) FunctionCall 46(mainFileFunction(vf4;) 100(param) - Store 107(param) 106 - 108: 20(fvec4) FunctionCall 29(headerFunction(vf4;) 107(param) - Store 81(headerOut) 108 + 99(param): 23(ptr) Variable Function + 106(param): 23(ptr) Variable Function + 76: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 58 + 77: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 59 59 13 13 + 75: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 58 15(main) + 103: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 83 83 13 13 + 102: 100(ptr) AccessChain 92 98 + 104: 20(fvec4) Load 102 + Store 99(param) 104 + 105: 20(fvec4) FunctionCall 48(mainFileFunction(vf4;) 99(param) + Store 106(param) 105 + 107: 20(fvec4) FunctionCall 29(headerFunction(vf4;) 106(param) + Store 80(headerOut) 107 Return FunctionEnd 29(headerFunction(vf4;): 20(fvec4) Function None 26 28(a): 23(ptr) FunctionParameter 30: Label - 43: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 32 - 44: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 35 35 13 13 - 41: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 39 28(a) 42 - 58: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 59 35 35 13 13 - 57: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 32 29(headerFunction(vf4;) - 62: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 59 63 63 13 13 + 45: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 32 + 46: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 35 35 13 13 + 43: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 41 28(a) 44 + 60: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 32 29(headerFunction(vf4;) + 62: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 63 63 13 13 61: 20(fvec4) Load 28(a) 64: 20(fvec4) FNegate 61 ReturnValue 64 FunctionEnd -46(mainFileFunction(vf4;): 20(fvec4) Function None 26 - 45(v): 23(ptr) FunctionParameter - 47: Label - 53: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 49 - 52: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 50 45(v) 42 - 69: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 12 12 13 13 - 68: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 49 46(mainFileFunction(vf4;) - 71: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 24 24 13 13 - 70: 20(fvec4) Load 45(v) - 72: 20(fvec4) FNegate 70 - ReturnValue 72 +48(mainFileFunction(vf4;): 20(fvec4) Function None 26 + 47(v): 23(ptr) FunctionParameter + 49: Label + 55: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 51 + 56: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 12 12 13 13 + 54: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 47(v) 44 + 68: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 51 48(mainFileFunction(vf4;) + 70: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 24 24 13 13 + 69: 20(fvec4) Load 47(v) + 71: 20(fvec4) FNegate 69 + ReturnValue 71 FunctionEnd diff --git a/Test/baseResults/spv.pp.line.frag.out b/Test/baseResults/spv.pp.line.frag.out index af73d175..a5fbf16c 100644 --- a/Test/baseResults/spv.pp.line.frag.out +++ b/Test/baseResults/spv.pp.line.frag.out @@ -13,7 +13,7 @@ WARNING: spv.pp.line.frag:8: varying deprecated in version 130; may be removed i EntryPoint Fragment 5 "main" 60 72 75 78 ExecutionMode 5 OriginUpperLeft 1: String "spv.pp.line.frag" - 13: String "header.h" + 7: String "header.h" Source GLSL 140 1 "// OpModuleProcessed auto-map-locations // OpModuleProcessed auto-map-bindings // OpModuleProcessed client vulkan100 @@ -61,8 +61,8 @@ void main() " SourceExtension "GL_GOOGLE_cpp_style_line_directive" Name 5 "main" - Name 11 "myAbs(f1;" - Name 10 "x" + Name 12 "myAbs(f1;" + Name 11 "x" Name 27 "blendscale" Name 29 "param" Name 31 "bias" @@ -84,44 +84,44 @@ void main() Decorate 78(blend) Location 0 3: TypeVoid 4: TypeFunction 3 - 7: TypeFloat 32 - 8: TypePointer Function 7(float) - 9: TypeFunction 7(float) 8(ptr) - 15: 7(float) Constant 0 + 8: TypeFloat 32 + 9: TypePointer Function 8(float) + 10: TypeFunction 8(float) 9(ptr) + 15: 8(float) Constant 0 16: TypeBool - 28: 7(float) Constant 1071971828 - 32: 7(float) Constant 1073741824 - 34: TypeVector 7(float) 4 + 28: 8(float) Constant 1071971828 + 32: 8(float) Constant 1073741824 + 34: TypeVector 8(float) 4 35: TypePointer Function 34(fvec4) 37: 34(fvec4) ConstantComposite 15 15 15 15 - 38: TypeImage 7(float) 1D sampled format:Unknown + 38: TypeImage 8(float) 1D sampled format:Unknown 39: TypeSampledImage 38 40: TypePointer UniformConstant 39 41(texSampler1D): 40(ptr) Variable UniformConstant - 53: TypeImage 7(float) 2D sampled format:Unknown + 53: TypeImage 8(float) 2D sampled format:Unknown 54: TypeSampledImage 53 55: TypePointer UniformConstant 54 56(texSampler2D): 55(ptr) Variable UniformConstant - 58: TypeVector 7(float) 2 + 58: TypeVector 8(float) 2 59: TypePointer Input 58(fvec2) 60(coords2D): 59(ptr) Variable Input 71: TypePointer Output 34(fvec4) 72(gl_FragColor): 71(ptr) Variable Output 74: TypePointer Input 34(fvec4) 75(u): 74(ptr) Variable Input - 77: TypePointer Input 7(float) + 77: TypePointer Input 8(float) 78(blend): 77(ptr) Variable Input Line 1 23 11 5(main): 3 Function None 4 6: Label - 27(blendscale): 8(ptr) Variable Function - 29(param): 8(ptr) Variable Function - 31(bias): 8(ptr) Variable Function - 33(coords1D): 8(ptr) Variable Function + 27(blendscale): 9(ptr) Variable Function + 29(param): 9(ptr) Variable Function + 31(bias): 9(ptr) Variable Function + 33(coords1D): 9(ptr) Variable Function 36(color): 35(ptr) Variable Function Line 1 25 0 Store 29(param) 28 - 30: 7(float) FunctionCall 11(myAbs(f1;) 29(param) + 30: 8(float) FunctionCall 12(myAbs(f1;) 29(param) Store 27(blendscale) 30 Line 1 26 0 Store 31(bias) 32 @@ -131,15 +131,15 @@ void main() Store 36(color) 37 Line 1 54 0 42: 39 Load 41(texSampler1D) - 43: 7(float) Load 33(coords1D) + 43: 8(float) Load 33(coords1D) 44: 34(fvec4) ImageSampleImplicitLod 42 43 45: 34(fvec4) Load 36(color) 46: 34(fvec4) FAdd 45 44 Store 36(color) 46 Line 1 55 0 47: 39 Load 41(texSampler1D) - 48: 7(float) Load 33(coords1D) - 49: 7(float) Load 31(bias) + 48: 8(float) Load 33(coords1D) + 49: 8(float) Load 31(bias) 50: 34(fvec4) ImageSampleImplicitLod 47 48 Bias 49 51: 34(fvec4) Load 36(color) 52: 34(fvec4) FAdd 51 50 @@ -154,7 +154,7 @@ void main() Line 1 104 0 65: 54 Load 56(texSampler2D) 66: 58(fvec2) Load 60(coords2D) - 67: 7(float) Load 31(bias) + 67: 8(float) Load 31(bias) 68: 34(fvec4) ImageSampleImplicitLod 65 66 Bias 67 69: 34(fvec4) Load 36(color) 70: 34(fvec4) FAdd 69 68 @@ -162,31 +162,31 @@ void main() Line 1 106 0 73: 34(fvec4) Load 36(color) 76: 34(fvec4) Load 75(u) - 79: 7(float) Load 78(blend) - 80: 7(float) Load 27(blendscale) - 81: 7(float) FMul 79 80 + 79: 8(float) Load 78(blend) + 80: 8(float) Load 27(blendscale) + 81: 8(float) FMul 79 80 82: 34(fvec4) CompositeConstruct 81 81 81 81 83: 34(fvec4) ExtInst 2(GLSL.std.450) 46(FMix) 73 76 82 Store 72(gl_FragColor) 83 Return FunctionEnd - Line 13 1 20 - 11(myAbs(f1;): 7(float) Function None 9 - 10(x): 8(ptr) FunctionParameter - 12: Label - Line 13 2 0 - 14: 7(float) Load 10(x) + Line 7 1 20 + 12(myAbs(f1;): 8(float) Function None 10 + 11(x): 9(ptr) FunctionParameter + 13: Label + Line 7 2 0 + 14: 8(float) Load 11(x) 17: 16(bool) FOrdGreaterThan 14 15 SelectionMerge 19 None BranchConditional 17 18 22 18: Label - Line 13 3 0 - 20: 7(float) Load 10(x) + Line 7 3 0 + 20: 8(float) Load 11(x) ReturnValue 20 22: Label - Line 13 6 0 - 23: 7(float) Load 10(x) - 24: 7(float) FNegate 23 + Line 7 6 0 + 23: 8(float) Load 11(x) + 24: 8(float) FNegate 23 ReturnValue 24 19: Label Unreachable From 704107fda3827377f00e57dff0c21da019bff4ae Mon Sep 17 00:00:00 2001 From: Qingyuan Zheng Date: Tue, 2 Jul 2024 08:11:11 +0000 Subject: [PATCH 011/108] Fix function call line number for calls spanning multiple lines. --- SPIRV/GlslangToSpv.cpp | 3 + .../spv.debuginfo.multiline.glsl.frag.out | 162 ++++++++++++++++++ Test/spv.debuginfo.multiline.glsl.frag | 25 +++ gtests/Spv.FromFile.cpp | 1 + 4 files changed, 191 insertions(+) create mode 100644 Test/baseResults/spv.debuginfo.multiline.glsl.frag.out create mode 100644 Test/spv.debuginfo.multiline.glsl.frag diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index dc0a4f9f..fa7e02a1 100755 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -6444,6 +6444,9 @@ spv::Id TGlslangToSpvTraverser::handleUserFunctionCall(const glslang::TIntermAgg } } + // Reset source location to the function call location after argument evaluation + builder.setDebugSourceLocation(node->getLoc().line, node->getLoc().getFilename()); + // 2. Allocate space for anything needing a copy, and if it's "in" or "inout" // copy the original into that space. // diff --git a/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out b/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out new file mode 100644 index 00000000..00dda0b4 --- /dev/null +++ b/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out @@ -0,0 +1,162 @@ +spv.debuginfo.multiline.glsl.frag +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 105 + + Capability Shader + Extension "SPV_KHR_non_semantic_info" + 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" + 3: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 14 "main" 73 79 + ExecutionMode 14 OriginUpperLeft + 2: String "spv.debuginfo.multiline.glsl.frag" + 8: String "uint" + 17: String "float" + 29: String "add" + 32: String "// OpModuleProcessed auto-map-locations +// OpModuleProcessed auto-map-bindings +// OpModuleProcessed client vulkan100 +// OpModuleProcessed target-env vulkan1.0 +// OpModuleProcessed keep-uncalled +// OpModuleProcessed entry-point main +#line 1 +#version 460 + +in float inx; +out float outx; + +float add(float x, float y, float z) { + return + x + + + y + + + z + ; +} + +void main() { + outx + = + add( + inx+1, + inx+2, + inx+3 + ) + ; +}" + 38: String "x" + 44: String "y" + 47: String "z" + 49: String "main" + 75: String "outx" + 81: String "inx" + Name 14 "main" + Name 27 "add(f1;f1;f1;" + Name 24 "x" + Name 25 "y" + Name 26 "z" + Name 73 "outx" + Name 79 "inx" + Name 97 "param" + Name 100 "param" + Name 101 "param" + Decorate 73(outx) Location 0 + Decorate 79(inx) Location 0 + 4: TypeVoid + 5: TypeFunction 4 + 7: TypeInt 32 0 + 10: 7(int) Constant 32 + 11: 7(int) Constant 6 + 12: 7(int) Constant 0 + 9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12 + 13: 7(int) Constant 3 + 6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 + 16: TypeFloat 32 + 18: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 17 10 13 12 + 19: TypePointer Function 16(float) + 20: 7(int) Constant 7 + 21: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 20 12 + 22: TypeFunction 16(float) 19(ptr) 19(ptr) 19(ptr) + 23: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 18 18 18 18 + 31: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 32 + 34: 7(int) Constant 1 + 35: 7(int) Constant 4 + 36: 7(int) Constant 2 + 33: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 34 35 31 36 + 30: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 29 23 31 11 12 33 29 13 11 + 37: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 38 18 31 11 12 30 35 34 + 40: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) + 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 44 18 31 11 12 30 35 36 + 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 47 18 31 11 12 30 35 13 + 51: 7(int) Constant 16 + 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 49 6 31 51 12 33 49 13 51 + 55: 7(int) Constant 8 + 58: 7(int) Constant 10 + 62: 7(int) Constant 12 + 71: TypePointer Output 16(float) + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 + 73(outx): 71(ptr) Variable Output + 76: 7(int) Constant 17 + 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 75 18 31 76 12 33 75 73(outx) 55 + 77: TypePointer Input 16(float) + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 34 12 + 79(inx): 77(ptr) Variable Input + 82: 7(int) Constant 20 + 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 81 18 31 82 12 33 81 79(inx) 55 + 85: 16(float) Constant 1065353216 + 89: 7(int) Constant 21 + 90: 16(float) Constant 1073741824 + 94: 7(int) Constant 22 + 95: 16(float) Constant 1077936128 + 99: 7(int) Constant 23 + 104: 7(int) Constant 18 + 14(main): 4 Function None 5 + 15: Label + 97(param): 19(ptr) Variable Function + 100(param): 19(ptr) Variable Function + 101(param): 19(ptr) Variable Function + 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 50 + 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 51 51 12 12 + 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 50 14(main) + 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 82 82 12 12 + 83: 16(float) Load 79(inx) + 86: 16(float) FAdd 83 85 + 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 89 89 12 12 + 87: 16(float) Load 79(inx) + 91: 16(float) FAdd 87 90 + 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 94 94 12 12 + 92: 16(float) Load 79(inx) + 96: 16(float) FAdd 92 95 + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 99 99 12 12 + Store 97(param) 86 + Store 100(param) 91 + Store 101(param) 96 + 102: 16(float) FunctionCall 27(add(f1;f1;f1;) 97(param) 100(param) 101(param) + 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 104 104 12 12 + Store 73(outx) 102 + Return + FunctionEnd +27(add(f1;f1;f1;): 16(float) Function None 22 + 24(x): 19(ptr) FunctionParameter + 25(y): 19(ptr) FunctionParameter + 26(z): 19(ptr) FunctionParameter + 28: Label + 41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 30 + 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 11 11 12 12 + 39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 37 24(x) 40 + 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 43 25(y) 40 + 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 26(z) 40 + 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 30 27(add(f1;f1;f1;) + 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 55 55 12 12 + 53: 16(float) Load 24(x) + 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 58 58 12 12 + 56: 16(float) Load 25(y) + 59: 16(float) FAdd 53 56 + 61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 62 62 12 12 + 60: 16(float) Load 26(z) + 63: 16(float) FAdd 59 60 + 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 20 20 12 12 + ReturnValue 63 + FunctionEnd diff --git a/Test/spv.debuginfo.multiline.glsl.frag b/Test/spv.debuginfo.multiline.glsl.frag new file mode 100644 index 00000000..8ed0700c --- /dev/null +++ b/Test/spv.debuginfo.multiline.glsl.frag @@ -0,0 +1,25 @@ +#version 460 + +in float inx; +out float outx; + +float add(float x, float y, float z) { + return + x + + + y + + + z + ; +} + +void main() { + outx + = + add( + inx+1, + inx+2, + inx+3 + ) + ; +} \ No newline at end of file diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index 8bf679d4..21f12d02 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -954,6 +954,7 @@ INSTANTIATE_TEST_SUITE_P( "spv.debuginfo.scalar_types.glsl.frag", "spv.debuginfo.rt_types.glsl.rgen", "spv.debuginfo.include.glsl.frag", + "spv.debuginfo.multiline.glsl.frag", })), FileNameAsCustomTestSuffix ); From 5939e32b87487fa9c72ab336ebfcc5ae26d9ab6d Mon Sep 17 00:00:00 2001 From: Mason Remaley Date: Tue, 2 Jul 2024 19:56:52 -0700 Subject: [PATCH 012/108] Fixes undefined behavior due to unspecified enum backing In C++, enums can only represent "in range" values. If the backing type is not specified, then the result of using bitwise negation on an enum is not gaurenteed to be in range, resulting in UB. This was caught by UBSAN, stack trace is as follows: 0. 0x000000000426e391 in spv::operator& (a=spv::MemoryAccessMaskNone, b=(spv::MemoryAccessVolatileMask | spv::MemoryAccessAlignedMask | spv::MemoryAccessNontemporalMask | spv::MemoryAccessMakePointerVisibleMask | spv::MemoryAccessNonPrivatePointerMask | spv::MemoryAccessAliasScopeINTELMaskMask | spv::MemoryAccessNoAliasINTELMaskMask | unknown: 0xfffcffc0)) at SPIRV/spirv.hpp:2804 1. 0x00000000041e81e0 in (anonymous namespace)::TGlslangToSpvTraverser::accessChainLoad (this=0x7fffffffcbb8, type=...) at SPIRV/GlslangToSpv.cpp:5127 2. 0x00000000041bc059 in (anonymous namespace)::TGlslangToSpvTraverser::visitBinary (this=0x7fffffffcbb8, node=0x5f6a6c8) at SPIRV/GlslangToSpv.cpp:2192 3. 0x0000000003db8660 in glslang::TIntermBinary::traverse (this=0x5f6a6c8, it=0x7fffffffcbb8) at glslang/glslang/MachineIndependent/IntermTraverse.cpp:92 4. 0x0000000003db952e in glslang::TIntermAggregate::traverse (this=0x5f6a7d8, it=0x7fffffffcbb8) at glslang/glslang/MachineIndependent/IntermTraverse.cpp:175 5. 0x00000000042082db in (anonymous namespace)::TGlslangToSpvTraverser::makeGlobalInitializers (this=0x7fffffffcbb8, initializers=...) at SPIRV/GlslangToSpv.cpp:5618 6. 0x00000000041c511f in (anonymous namespace)::TGlslangToSpvTraverser::visitAggregate (this=0x7fffffffcbb8, visit=glslang::EvPreVisit, node=0x5f6a9b8) at SPIRV/GlslangToSpv.cpp:2907 7. 0x0000000003db8fb9 in glslang::TIntermAggregate::traverse (this=0x5f6a9b8, it=0x7fffffffcbb8) at glslang/glslang/MachineIndependent/IntermTraverse.cpp:159 8. 0x00000000041acc04 in glslang::GlslangToSpv (intermediate=..., spirv=..., logger=0x7fffffffdc38, options=0x7fffffffdc2f) at SPIRV/GlslangToSpv.cpp:10398 9. 0x0000000003bfd6f1 in CompileAndLinkShaderUnits (compUnits=...) at StandAlone/StandAlone.cpp:1547 10. 0x0000000003bfe2f8 in CompileAndLinkShaderFiles (Worklist=...) at StandAlone/StandAlone.cpp:1640 11. 0x0000000003bfec2c in singleMain () at StandAlone/StandAlone.cpp:1713 12. 0x0000000003bff4dd in main (argc=5, argv=0x7fffffffe3d8) at StandAlone/StandAlone.cpp:1767 --- SPIRV/spirv.hpp | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/SPIRV/spirv.hpp b/SPIRV/spirv.hpp index afa89a58..b09d99be 100644 --- a/SPIRV/spirv.hpp +++ b/SPIRV/spirv.hpp @@ -385,7 +385,7 @@ enum ImageOperandsShift { ImageOperandsMax = 0x7fffffff, }; -enum ImageOperandsMask { +enum ImageOperandsMask : unsigned { ImageOperandsMaskNone = 0, ImageOperandsBiasMask = 0x00000001, ImageOperandsLodMask = 0x00000002, @@ -420,7 +420,7 @@ enum FPFastMathModeShift { FPFastMathModeMax = 0x7fffffff, }; -enum FPFastMathModeMask { +enum FPFastMathModeMask : unsigned { FPFastMathModeMaskNone = 0, FPFastMathModeNotNaNMask = 0x00000001, FPFastMathModeNotInfMask = 0x00000002, @@ -745,7 +745,7 @@ enum SelectionControlShift { SelectionControlMax = 0x7fffffff, }; -enum SelectionControlMask { +enum SelectionControlMask : unsigned { SelectionControlMaskNone = 0, SelectionControlFlattenMask = 0x00000001, SelectionControlDontFlattenMask = 0x00000002, @@ -774,7 +774,7 @@ enum LoopControlShift { LoopControlMax = 0x7fffffff, }; -enum LoopControlMask { +enum LoopControlMask : unsigned { LoopControlMaskNone = 0, LoopControlUnrollMask = 0x00000001, LoopControlDontUnrollMask = 0x00000002, @@ -806,7 +806,7 @@ enum FunctionControlShift { FunctionControlMax = 0x7fffffff, }; -enum FunctionControlMask { +enum FunctionControlMask : unsigned { FunctionControlMaskNone = 0, FunctionControlInlineMask = 0x00000001, FunctionControlDontInlineMask = 0x00000002, @@ -836,7 +836,7 @@ enum MemorySemanticsShift { MemorySemanticsMax = 0x7fffffff, }; -enum MemorySemanticsMask { +enum MemorySemanticsMask : unsigned { MemorySemanticsMaskNone = 0, MemorySemanticsAcquireMask = 0x00000002, MemorySemanticsReleaseMask = 0x00000004, @@ -872,7 +872,7 @@ enum MemoryAccessShift { MemoryAccessMax = 0x7fffffff, }; -enum MemoryAccessMask { +enum MemoryAccessMask : unsigned { MemoryAccessMaskNone = 0, MemoryAccessVolatileMask = 0x00000001, MemoryAccessAlignedMask = 0x00000002, @@ -922,7 +922,7 @@ enum KernelProfilingInfoShift { KernelProfilingInfoMax = 0x7fffffff, }; -enum KernelProfilingInfoMask { +enum KernelProfilingInfoMask : unsigned { KernelProfilingInfoMaskNone = 0, KernelProfilingInfoCmdExecTimeMask = 0x00000001, }; @@ -1163,7 +1163,7 @@ enum Capability { CapabilityDotProduct = 6019, CapabilityDotProductKHR = 6019, CapabilityRayCullMaskKHR = 6020, - CapabilityCooperativeMatrixKHR = 6022, + CapabilityCooperativeMatrixKHR = 6022, CapabilityReplicatedCompositesEXT = 6024, CapabilityBitInstructions = 6025, CapabilityGroupNonUniformRotateKHR = 6026, @@ -1194,7 +1194,7 @@ enum RayFlagsShift { RayFlagsMax = 0x7fffffff, }; -enum RayFlagsMask { +enum RayFlagsMask : unsigned { RayFlagsMaskNone = 0, RayFlagsOpaqueKHRMask = 0x00000001, RayFlagsNoOpaqueKHRMask = 0x00000002, @@ -1236,7 +1236,7 @@ enum FragmentShadingRateShift { FragmentShadingRateMax = 0x7fffffff, }; -enum FragmentShadingRateMask { +enum FragmentShadingRateMask : unsigned { FragmentShadingRateMaskNone = 0, FragmentShadingRateVertical2PixelsMask = 0x00000001, FragmentShadingRateVertical4PixelsMask = 0x00000002, @@ -1291,7 +1291,7 @@ enum CooperativeMatrixOperandsShift { CooperativeMatrixOperandsMax = 0x7fffffff, }; -enum CooperativeMatrixOperandsMask { +enum CooperativeMatrixOperandsMask : unsigned { CooperativeMatrixOperandsMaskNone = 0, CooperativeMatrixOperandsMatrixASignedComponentsKHRMask = 0x00000001, CooperativeMatrixOperandsMatrixBSignedComponentsKHRMask = 0x00000002, @@ -1693,9 +1693,9 @@ enum Op { OpCooperativeMatrixLoadKHR = 4457, OpCooperativeMatrixStoreKHR = 4458, OpCooperativeMatrixMulAddKHR = 4459, - OpCooperativeMatrixLengthKHR = 4460, - OpConstantCompositeReplicateEXT = 4461, - OpSpecConstantCompositeReplicateEXT = 4462, + OpCooperativeMatrixLengthKHR = 4460, + OpConstantCompositeReplicateEXT = 4461, + OpSpecConstantCompositeReplicateEXT = 4462, OpCompositeConstructReplicateEXT = 4463, OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, @@ -2426,9 +2426,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { case OpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break; case OpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break; case OpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break; - case OpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break; - case OpConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break; - case OpSpecConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break; + case OpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break; + case OpConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break; + case OpSpecConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break; case OpCompositeConstructReplicateEXT: *hasResult = true; *hasResultType = true; break; case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break; case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break; From f9fbc91d4f2d5c40b7b661c94ed36a293ae19028 Mon Sep 17 00:00:00 2001 From: friendlyanon Date: Tue, 2 Jul 2024 19:55:24 +0200 Subject: [PATCH 013/108] Fix `glslangValidator` installation This caused the glslang[tools] vcpkg feature to not install properly, because the glslangValidator executable didn't exist for tool installation. --- StandAlone/CMakeLists.txt | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt index e0fdb487..9ecdcd23 100644 --- a/StandAlone/CMakeLists.txt +++ b/StandAlone/CMakeLists.txt @@ -90,21 +90,28 @@ endif() # Create a symbolic link to glslang named glslangValidator for backwards compatibility set(legacy_glslang_name "glslangValidator${CMAKE_EXECUTABLE_SUFFIX}") set(link_method create_symlink) -if (WIN32 OR MINGW) -set(link_method copy_if_different) +if(WIN32 OR MINGW) + set(link_method copy_if_different) endif() -add_custom_command(TARGET glslang-standalone - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E ${link_method} $ ${legacy_glslang_name} - WORKING_DIRECTORY $) + +add_custom_command( + TARGET glslang-standalone POST_BUILD + COMMAND "${CMAKE_COMMAND}" -E "${link_method}" "\$" "${legacy_glslang_name}" + WORKING_DIRECTORY "\$" + VERBATIM +) if(GLSLANG_ENABLE_INSTALL) install(TARGETS glslang-standalone EXPORT glslang-targets) # Create the same symlink at install time - install(CODE "execute_process( \ - COMMAND ${CMAKE_COMMAND} -E ${link_method} $ ${legacy_glslang_name} \ - WORKING_DIRECTORY \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})") + install(CODE "\ + message(STATUS \"Installing (${link_method}): \$ -> \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}\") + execute_process( + COMMAND \"\${CMAKE_COMMAND}\" -E ${link_method} [=[\$]=] [=[${legacy_glslang_name}]=] + WORKING_DIRECTORY \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}\" + ) + ") if(ENABLE_SPVREMAPPER) install(TARGETS spirv-remap EXPORT glslang-targets) From 4a516f28a17d3128f144affd7952142a90ab22e7 Mon Sep 17 00:00:00 2001 From: David Neto Date: Fri, 5 Jul 2024 16:53:40 -0400 Subject: [PATCH 014/108] kokoro: use Python 3.12 for Linux builds Bug: crbug.com/350048185 --- kokoro/linux-clang-cmake/build-docker.sh | 1 + kokoro/linux-gcc-cmake/build-docker.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/kokoro/linux-clang-cmake/build-docker.sh b/kokoro/linux-clang-cmake/build-docker.sh index 6b1d3e1a..01627a56 100755 --- a/kokoro/linux-clang-cmake/build-docker.sh +++ b/kokoro/linux-clang-cmake/build-docker.sh @@ -42,6 +42,7 @@ set -x # Display commands being run. using cmake-3.17.2 using clang-10.0.0 using ninja-1.10.0 +using python-3.12 echo "Building..." mkdir /build && cd /build diff --git a/kokoro/linux-gcc-cmake/build-docker.sh b/kokoro/linux-gcc-cmake/build-docker.sh index 558695c8..65e013e2 100755 --- a/kokoro/linux-gcc-cmake/build-docker.sh +++ b/kokoro/linux-gcc-cmake/build-docker.sh @@ -42,6 +42,7 @@ set -x # Display commands being run. using cmake-3.17.2 using gcc-9 using ninja-1.10.0 +using python-3.12 echo "Building..." mkdir /build && cd /build From fae2f0ada8d0a41c7b29815e93ea74501887640e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 06:55:34 +0000 Subject: [PATCH 015/108] Bump actions/upload-artifact from 4.3.3 to 4.3.4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.3 to 4.3.4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/65462800fd760344b1a7b4382951275a0abb4808...0b2256b8c012f0828dc542b3febcab082c67f72b) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 1adff61c..80fff230 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -40,7 +40,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: name: SARIF file path: results.sarif From 5ec1a8d0b524ad34ca137027c639218c95c3666a Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 5 Jul 2024 16:56:22 -0400 Subject: [PATCH 016/108] Update macOS requirement from 11 to 12 in github CD workflow --- .github/workflows/continuous_deployment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index 2e154caa..0e111185 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -101,7 +101,7 @@ jobs: strategy: fail-fast: false matrix: - os: [{genus: macos-11, family: osx}] + os: [{genus: macos-12, family: osx}] compiler: [{cc: clang, cxx: clang++}] cmake_build_type: [Debug, Release] steps: From 42d9adf50b4ad7db2a7212318068ec614b36414f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 06:55:29 +0000 Subject: [PATCH 017/108] Bump lukka/get-cmake from 3.29.6 to 3.30.0 Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.29.6 to 3.30.0. - [Release notes](https://github.com/lukka/get-cmake/releases) - [Commits](https://github.com/lukka/get-cmake/compare/2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59...983956e4a5edce90f0dfcc38c1543077e668402b) --- updated-dependencies: - dependency-name: lukka/get-cmake dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/continuous_deployment.yml | 6 +++--- .github/workflows/continuous_integration.yml | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index 0e111185..22ec151d 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -42,7 +42,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 + - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' @@ -106,7 +106,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 + - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' @@ -163,7 +163,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 + - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 537b1a38..e6f0512d 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -18,7 +18,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 + - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' @@ -54,7 +54,7 @@ jobs: flags: ['-fsanitize=address', '-fsanitize=thread'] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 + - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' @@ -95,7 +95,7 @@ jobs: - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' - - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 + - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 with: cmakeVersion: 3.17.2 - name: Setup ccache @@ -127,7 +127,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 + - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - run: ./update_glslang_sources.py - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON env: @@ -151,7 +151,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 + - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' @@ -169,7 +169,7 @@ jobs: runs-on: macos-13 steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 + - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - name: Setup ccache uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 with: @@ -198,7 +198,7 @@ jobs: LEGACY: [ON, OFF] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 + - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - name: Setup ccache uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 with: @@ -224,7 +224,7 @@ jobs: - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: '3.7' - - uses: lukka/get-cmake@2bcb1a4c14ab154443cc740dced0f9b6a8fb2b59 # v3.29.6 + - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - name: Setup ccache uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 with: From ba5c010c590761d0321bd16e915536ef4f9aad8d Mon Sep 17 00:00:00 2001 From: Malcolm Bechard Date: Fri, 12 Jul 2024 01:06:18 -0400 Subject: [PATCH 018/108] fix crash when atomicCounter() with no args is used. --- glslang/MachineIndependent/ParseHelper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index c5f0e63f..6351997a 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -7387,7 +7387,7 @@ TIntermTyped* TParseContext::vkRelaxedRemapFunctionCall(const TSourceLoc& loc, T } } else if (function->getName() == "atomicCounter") { // change atomicCounter into a direct read of the variable - if (arguments->getAsTyped()) { + if (arguments && arguments->getAsTyped()) { result = arguments->getAsTyped(); } } From 4b3170d7311f08f017f94b8cbf4c5a24fbe7f6af Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 06:06:33 +0000 Subject: [PATCH 019/108] Bump actions/setup-python from 5.1.0 to 5.1.1 Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.0 to 5.1.1. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/82c7e631bb3cdc910f68e0081d67478d79c6982d...39cd14951b08e74b54015e9e001cdefcf80e669f) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/continuous_deployment.yml | 6 +++--- .github/workflows/continuous_integration.yml | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index 22ec151d..0742c645 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -43,7 +43,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - name: Install Ubuntu Package Dependencies @@ -107,7 +107,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - run: ./update_glslang_sources.py @@ -164,7 +164,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - run: python update_glslang_sources.py diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index e6f0512d..a7a1c662 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -19,7 +19,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - name: Setup ccache @@ -55,7 +55,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - name: Setup ccache @@ -92,7 +92,7 @@ jobs: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 @@ -152,7 +152,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - run: python update_glslang_sources.py @@ -221,7 +221,7 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 From fb7a681cab32f423049d355e3099ee9948821ee6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 06:06:28 +0000 Subject: [PATCH 020/108] Bump github/codeql-action from 3.25.11 to 3.25.12 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.11 to 3.25.12. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/b611370bb5703a7efb587f9d136a52ea24c5c38c...4fa2a7953630fd2f3fb380f21be14ede0169dd4f) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 80fff230..f52dcbb0 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 + uses: github/codeql-action/upload-sarif@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 with: sarif_file: results.sarif From 702026e3f5e8f7e5e45a28569ff1ecc701cd623a Mon Sep 17 00:00:00 2001 From: jimihem <149994911+jimihem@users.noreply.github.com> Date: Tue, 16 Jul 2024 02:24:16 +0800 Subject: [PATCH 021/108] Support constant expression calculated by matrixCompMult. --- Test/baseResults/matrixCompMult.vert.out | 33 ++++++++++++++++++++++++ Test/matrixCompMult.vert | 32 +++++++++++++++++++++++ glslang/MachineIndependent/Constant.cpp | 6 +++++ gtests/AST.FromFile.cpp | 1 + 4 files changed, 72 insertions(+) create mode 100644 Test/baseResults/matrixCompMult.vert.out create mode 100644 Test/matrixCompMult.vert diff --git a/Test/baseResults/matrixCompMult.vert.out b/Test/baseResults/matrixCompMult.vert.out new file mode 100644 index 00000000..2434adaf --- /dev/null +++ b/Test/baseResults/matrixCompMult.vert.out @@ -0,0 +1,33 @@ +matrixCompMult.vert +Shader version: 460 +0:? Sequence +0:5 Function Definition: main( ( global void) +0:5 Function Parameters: +0:? Sequence +0:26 move second child to first child ( temp float) +0:26 'o1' ( smooth out float) +0:26 Constant: +0:26 18.000000 +0:? Linker Objects +0:? 'o1' ( smooth out float) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) + + +Linked vertex stage: + + +Shader version: 460 +0:? Sequence +0:5 Function Definition: main( ( global void) +0:5 Function Parameters: +0:? Sequence +0:26 move second child to first child ( temp float) +0:26 'o1' ( smooth out float) +0:26 Constant: +0:26 18.000000 +0:? Linker Objects +0:? 'o1' ( smooth out float) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) + diff --git a/Test/matrixCompMult.vert b/Test/matrixCompMult.vert new file mode 100644 index 00000000..cccdbbc9 --- /dev/null +++ b/Test/matrixCompMult.vert @@ -0,0 +1,32 @@ +#version 460 +precision highp float; +precision highp int; +out float o1; +void main() +{ + const mat2 cval = matrixCompMult(mat2(1.0), mat2(1.0)); + const mat3 cval1 = matrixCompMult(mat3(1.0), mat3(1.0)); + const mat4 cval2 = matrixCompMult(mat4(1.0), mat4(1.0)); + const mat2x3 cval3 = matrixCompMult(mat2x3(1.0), mat2x3(1.0)); + const mat2x4 cval4 = matrixCompMult(mat2x4(1.0), mat2x4(1.0)); + const mat3x2 cval5 = matrixCompMult(mat3x2(1.0), mat3x2(1.0)); + const mat3x4 cval6 = matrixCompMult(mat3x4(1.0), mat3x4(1.0)); + const mat4x2 cval7 = matrixCompMult(mat4x2(1.0), mat4x2(1.0)); + const mat4x3 cval8 = matrixCompMult(mat4x3(1.0), mat4x3(1.0)); + const dmat2 cval9 = matrixCompMult(dmat2(1.0), dmat2(1.0)); + const dmat3 cval10 = matrixCompMult(dmat3(1.0), dmat3(1.0)); + const dmat4 cval11 = matrixCompMult(dmat4(1.0), dmat4(1.0)); + const dmat2x3 cval12 = matrixCompMult(dmat2x3(1.0), dmat2x3(1.0)); + const dmat2x4 cval13 = matrixCompMult(dmat2x4(1.0), dmat2x4(1.0)); + const dmat3x2 cval14 = matrixCompMult(dmat3x2(1.0), dmat3x2(1.0)); + const dmat3x4 cval15 = matrixCompMult(dmat3x4(1.0), dmat3x4(1.0)); + const dmat4x2 cval16 = matrixCompMult(dmat4x2(1.0), dmat4x2(1.0)); + const dmat4x3 cval17 = matrixCompMult(dmat4x3(1.0), dmat4x3(1.0)); + + o1 = float(cval[0][0] + cval1[0][0] + cval2[0][0] + cval3[0][0] + + cval4[0][0] + cval5[0][0] + cval6[0][0] + cval7[0][0] + + cval8[0][0] + cval9[0][0] + cval10[0][0] + cval11[0][0] + + cval12[0][0] + cval13[0][0] + cval14[0][0] + cval15[0][0] + + cval16[0][0] + cval17[0][0]); +} + diff --git a/glslang/MachineIndependent/Constant.cpp b/glslang/MachineIndependent/Constant.cpp index ac7fc8cd..1f96129b 100644 --- a/glslang/MachineIndependent/Constant.cpp +++ b/glslang/MachineIndependent/Constant.cpp @@ -1009,6 +1009,12 @@ TIntermTyped* TIntermediate::fold(TIntermAggregate* aggrNode) objectSize = std::max(children[0]->getAsTyped()->getType().getVectorSize(), children[2]->getAsTyped()->getType().getVectorSize()); break; + case EOpMul: + { + TIntermConstantUnion* left = children[0]->getAsConstantUnion(); + TIntermConstantUnion* right = children[1]->getAsConstantUnion(); + return left->fold(EOpMul, right); + } default: return aggrNode; } diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp index 6067e9b8..170af5dc 100644 --- a/gtests/AST.FromFile.cpp +++ b/gtests/AST.FromFile.cpp @@ -313,6 +313,7 @@ INSTANTIATE_TEST_SUITE_P( "GL_EXT_texture_array.frag", "index_outside_sample_mask_range.frag", "positive_infinity.frag", + "matrixCompMult.vert", })), FileNameAsCustomTestSuffix ); From 48eaea60b849e3eb9ff970b7d4e873646b658863 Mon Sep 17 00:00:00 2001 From: arcady-lunarg <122813703+arcady-lunarg@users.noreply.github.com> Date: Mon, 15 Jul 2024 19:10:42 -0400 Subject: [PATCH 022/108] Fix undefined behaviors caught by ubsan This fixes a couple of integer overflows in parsing as well as removes the construction of a null reference that never got dereferenced. This also initializes the bool members in TCall Finally, this adds a UBSAN run alongside ASAN and TSAN in CI. --- .github/workflows/continuous_integration.yml | 6 +++++- glslang/HLSL/hlslParseHelper.cpp | 2 +- glslang/MachineIndependent/Constant.cpp | 6 +++++- glslang/MachineIndependent/localintermediate.h | 3 ++- glslang/MachineIndependent/preprocessor/Pp.cpp | 2 +- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index a7a1c662..b140b907 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -51,7 +51,7 @@ jobs: matrix: compiler: [{cc: gcc, cxx: g++}] cmake_build_type: [Debug] - flags: ['-fsanitize=address', '-fsanitize=thread'] + flags: ['-fsanitize=address', '-fsanitize=thread', '-fsanitize=undefined'] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 @@ -82,8 +82,12 @@ jobs: - name: Install run: cmake --install build --prefix build/install - name: Test + env: + UBSAN_OPTIONS: 'halt_on_error=1:print_stacktrace=1' run: ctest --output-on-failure --test-dir build - name: Test (standalone) + env: + UBSAN_OPTIONS: halt_on_error=1:print_stacktrace=1 run: cd Test && ./runtests # Ensure we can compile/run on an older distro diff --git a/glslang/HLSL/hlslParseHelper.cpp b/glslang/HLSL/hlslParseHelper.cpp index 0fd724d0..c7a40f3b 100644 --- a/glslang/HLSL/hlslParseHelper.cpp +++ b/glslang/HLSL/hlslParseHelper.cpp @@ -6059,7 +6059,7 @@ void HlslParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fn unaryArg = callNode.getAsUnaryNode()->getOperand(); arg0 = unaryArg; } - const TIntermSequence& aggArgs = *argp; // only valid when unaryArg is nullptr + const TIntermSequence& aggArgs = argp ? *argp : TIntermSequence(); // only valid when unaryArg is nullptr switch (callNode.getOp()) { case EOpTextureGather: diff --git a/glslang/MachineIndependent/Constant.cpp b/glslang/MachineIndependent/Constant.cpp index 1f96129b..7a9fb2ed 100644 --- a/glslang/MachineIndependent/Constant.cpp +++ b/glslang/MachineIndependent/Constant.cpp @@ -507,7 +507,11 @@ TIntermTyped* TIntermConstantUnion::fold(TOperator op, const TType& returnType) case EbtUint8: newConstArray[i].setU8Const(static_cast(-static_cast(unionArray[i].getU8Const()))); break; case EbtInt16: newConstArray[i].setI16Const(-unionArray[i].getI16Const()); break; case EbtUint16:newConstArray[i].setU16Const(static_cast(-static_cast(unionArray[i].getU16Const()))); break; - case EbtInt64: newConstArray[i].setI64Const(-unionArray[i].getI64Const()); break; + case EbtInt64: { + int64_t i64val = unionArray[i].getI64Const(); + newConstArray[i].setI64Const(i64val == INT64_MIN ? INT64_MIN : -i64val); + break; + } case EbtUint64: newConstArray[i].setU64Const(static_cast(-static_cast(unionArray[i].getU64Const()))); break; default: return nullptr; diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h index 2a24cdaf..31b13f16 100644 --- a/glslang/MachineIndependent/localintermediate.h +++ b/glslang/MachineIndependent/localintermediate.h @@ -99,7 +99,8 @@ private: // A "call" is a pair: . // There can be duplicates. General assumption is the list is small. struct TCall { - TCall(const TString& pCaller, const TString& pCallee) : caller(pCaller), callee(pCallee) { } + TCall(const TString& pCaller, const TString& pCallee) + : caller(pCaller), callee(pCallee), visited(false), currentPath(false), errorGiven(false) { } TString caller; TString callee; bool visited; diff --git a/glslang/MachineIndependent/preprocessor/Pp.cpp b/glslang/MachineIndependent/preprocessor/Pp.cpp index 5f18c4e9..56f1f0b3 100644 --- a/glslang/MachineIndependent/preprocessor/Pp.cpp +++ b/glslang/MachineIndependent/preprocessor/Pp.cpp @@ -374,7 +374,7 @@ namespace { int op_div(int a, int b) { return a == INT_MIN && b == -1 ? 0 : a / b; } int op_mod(int a, int b) { return a == INT_MIN && b == -1 ? 0 : a % b; } int op_pos(int a) { return a; } - int op_neg(int a) { return -a; } + int op_neg(int a) { return a == INT_MIN ? INT_MIN : -a; } int op_cmpl(int a) { return ~a; } int op_not(int a) { return !a; } From 52f68dc6b2a9d017b43161f31f13a6f44636ee7c Mon Sep 17 00:00:00 2001 From: jimihem <149994911+jimihem@users.noreply.github.com> Date: Thu, 18 Jul 2024 06:23:38 +0800 Subject: [PATCH 023/108] Add more location aliasing checks When location aliasing, the aliases sharing the location must have the same underlying numerical type and bit width (floating-point or integer, 32-bit versus 64-bit, etc.) and the same auxiliary storage and interpolation qualification. This adds checks for the "patch" and "sample" qualifiers, and also relaxes the checks when the signedness of integer types differs. --- Test/baseResults/ps_sample.frag.out | 47 ++++++++++++++ Test/baseResults/ps_uint_int.frag.out | 21 +++++++ Test/baseResults/tes_patch.tese.out | 61 +++++++++++++++++++ Test/ps_sample.frag | 17 ++++++ Test/ps_uint_int.frag | 7 +++ Test/tes_patch.tese | 19 ++++++ glslang/MachineIndependent/linkValidate.cpp | 28 +++++++-- .../MachineIndependent/localintermediate.h | 6 +- gtests/AST.FromFile.cpp | 3 + 9 files changed, 201 insertions(+), 8 deletions(-) create mode 100644 Test/baseResults/ps_sample.frag.out create mode 100644 Test/baseResults/ps_uint_int.frag.out create mode 100644 Test/baseResults/tes_patch.tese.out create mode 100644 Test/ps_sample.frag create mode 100644 Test/ps_uint_int.frag create mode 100644 Test/tes_patch.tese diff --git a/Test/baseResults/ps_sample.frag.out b/Test/baseResults/ps_sample.frag.out new file mode 100644 index 00000000..8fc0a198 --- /dev/null +++ b/Test/baseResults/ps_sample.frag.out @@ -0,0 +1,47 @@ +ps_sample.frag +ERROR: 0:5: 'location' : the aliases sharing the location 1 must be the same basic type and interpolation qualification +ERROR: 1 compilation errors. No code generated. + + +Shader version: 430 +Requested GL_ARB_enhanced_layouts +ERROR: node is still EOpNull! +0:10 Function Definition: main( ( global void) +0:10 Function Parameters: +0:12 Sequence +0:12 Sequence +0:12 move second child to first child ( temp 4-component vector of float) +0:12 'result' ( temp 4-component vector of float) +0:12 'gs_fs' ( smooth in 4-component vector of float) +0:16 move second child to first child ( temp 4-component vector of float) +0:16 'fs_out' ( out 4-component vector of float) +0:16 'result' ( temp 4-component vector of float) +0:? Linker Objects +0:? 'gohan' (layout( location=1 component=0) flat in uint) +0:? 'goten' (layout( location=1 component=2) flat sample in 2-component vector of uint) +0:? 'gs_fs' ( smooth in 4-component vector of float) +0:? 'fs_out' ( out 4-component vector of float) + + +Linked fragment stage: + + +Shader version: 430 +Requested GL_ARB_enhanced_layouts +ERROR: node is still EOpNull! +0:10 Function Definition: main( ( global void) +0:10 Function Parameters: +0:12 Sequence +0:12 Sequence +0:12 move second child to first child ( temp 4-component vector of float) +0:12 'result' ( temp 4-component vector of float) +0:12 'gs_fs' ( smooth in 4-component vector of float) +0:16 move second child to first child ( temp 4-component vector of float) +0:16 'fs_out' ( out 4-component vector of float) +0:16 'result' ( temp 4-component vector of float) +0:? Linker Objects +0:? 'gohan' (layout( location=1 component=0) flat in uint) +0:? 'goten' (layout( location=1 component=2) flat sample in 2-component vector of uint) +0:? 'gs_fs' ( smooth in 4-component vector of float) +0:? 'fs_out' ( out 4-component vector of float) + diff --git a/Test/baseResults/ps_uint_int.frag.out b/Test/baseResults/ps_uint_int.frag.out new file mode 100644 index 00000000..71d2eb9c --- /dev/null +++ b/Test/baseResults/ps_uint_int.frag.out @@ -0,0 +1,21 @@ +ps_uint_int.frag +Shader version: 450 +0:? Sequence +0:6 Function Definition: main( ( global void) +0:6 Function Parameters: +0:? Linker Objects +0:? 'u' (layout( location=0 component=0) flat in uint) +0:? 'i' (layout( location=0 component=1) flat in int) + + +Linked fragment stage: + + +Shader version: 450 +0:? Sequence +0:6 Function Definition: main( ( global void) +0:6 Function Parameters: +0:? Linker Objects +0:? 'u' (layout( location=0 component=0) flat in uint) +0:? 'i' (layout( location=0 component=1) flat in int) + diff --git a/Test/baseResults/tes_patch.tese.out b/Test/baseResults/tes_patch.tese.out new file mode 100644 index 00000000..e53d3392 --- /dev/null +++ b/Test/baseResults/tes_patch.tese.out @@ -0,0 +1,61 @@ +tes_patch.tese +ERROR: 0:7: 'location' : the aliases sharing the location 1 must be the same basic type and interpolation qualification +ERROR: 1 compilation errors. No code generated. + + +Shader version: 430 +Requested GL_ARB_enhanced_layouts +input primitive = isolines +vertex spacing = none +triangle order = none +using point mode +ERROR: node is still EOpNull! +0:12 Function Definition: main( ( global void) +0:12 Function Parameters: +0:14 Sequence +0:14 Sequence +0:14 move second child to first child ( temp 4-component vector of float) +0:14 'result' ( temp 4-component vector of float) +0:14 direct index ( temp 4-component vector of float) +0:14 'tcs_tes' ( in 32-element array of 4-component vector of float) +0:14 Constant: +0:14 0 (const int) +0:18 add second child into first child ( temp 4-component vector of float) +0:18 'tes_gs' ( out 4-component vector of float) +0:18 'result' ( temp 4-component vector of float) +0:? Linker Objects +0:? 'gohan' (layout( location=1 component=0) in 32-element array of 2-component vector of float) +0:? 'goten' (layout( location=1 component=2) patch in 2-component vector of float) +0:? 'tcs_tes' ( in 32-element array of 4-component vector of float) +0:? 'tes_gs' ( out 4-component vector of float) + + +Linked tessellation evaluation stage: + + +Shader version: 430 +Requested GL_ARB_enhanced_layouts +input primitive = isolines +vertex spacing = equal_spacing +triangle order = ccw +using point mode +ERROR: node is still EOpNull! +0:12 Function Definition: main( ( global void) +0:12 Function Parameters: +0:14 Sequence +0:14 Sequence +0:14 move second child to first child ( temp 4-component vector of float) +0:14 'result' ( temp 4-component vector of float) +0:14 direct index ( temp 4-component vector of float) +0:14 'tcs_tes' ( in 32-element array of 4-component vector of float) +0:14 Constant: +0:14 0 (const int) +0:18 add second child into first child ( temp 4-component vector of float) +0:18 'tes_gs' ( out 4-component vector of float) +0:18 'result' ( temp 4-component vector of float) +0:? Linker Objects +0:? 'gohan' (layout( location=1 component=0) in 32-element array of 2-component vector of float) +0:? 'goten' (layout( location=1 component=2) patch in 2-component vector of float) +0:? 'tcs_tes' ( in 32-element array of 4-component vector of float) +0:? 'tes_gs' ( out 4-component vector of float) + diff --git a/Test/ps_sample.frag b/Test/ps_sample.frag new file mode 100644 index 00000000..040eb35b --- /dev/null +++ b/Test/ps_sample.frag @@ -0,0 +1,17 @@ +#version 430 core +#extension GL_ARB_enhanced_layouts : require + +layout (location = 1, component = 0) flat in uint gohan; +layout (location = 1, component = 2) sample flat in uvec2 goten; + +in vec4 gs_fs; +out vec4 fs_out; + +void main() +{ + vec4 result = gs_fs; + + + + fs_out = result; +} diff --git a/Test/ps_uint_int.frag b/Test/ps_uint_int.frag new file mode 100644 index 00000000..7ffaf570 --- /dev/null +++ b/Test/ps_uint_int.frag @@ -0,0 +1,7 @@ +#version 450 + +layout(location=0, component=0) flat in uint u; +layout(location=0, component=1) flat in int i; + +void main() { +} diff --git a/Test/tes_patch.tese b/Test/tes_patch.tese new file mode 100644 index 00000000..d41b5be5 --- /dev/null +++ b/Test/tes_patch.tese @@ -0,0 +1,19 @@ +#version 430 core +#extension GL_ARB_enhanced_layouts : require + +layout(isolines, point_mode) in; + +layout (location = 1, component = 0) in vec2 gohan[]; +layout (location = 1, component = 2) patch in vec2 goten; + +in vec4 tcs_tes[]; +out vec4 tes_gs; + +void main() +{ + vec4 result = tcs_tes[0]; + + + + tes_gs += result; +} diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp index 62e24426..d56c833c 100644 --- a/glslang/MachineIndependent/linkValidate.cpp +++ b/glslang/MachineIndependent/linkValidate.cpp @@ -1689,7 +1689,7 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ // First range: TRange locationRange(qualifier.layoutLocation, qualifier.layoutLocation); TRange componentRange(0, 3); - TIoRange range(locationRange, componentRange, type.getBasicType(), 0, qualifier.centroid, qualifier.smooth, qualifier.flat); + TIoRange range(locationRange, componentRange, type.getBasicType(), 0, qualifier.centroid, qualifier.smooth, qualifier.flat, qualifier.sample, qualifier.patch); // check for collisions collision = checkLocationRange(set, range, type, typeCollision); @@ -1699,7 +1699,7 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ // Second range: TRange locationRange2(qualifier.layoutLocation + 1, qualifier.layoutLocation + 1); TRange componentRange2(0, 1); - TIoRange range2(locationRange2, componentRange2, type.getBasicType(), 0, qualifier.centroid, qualifier.smooth, qualifier.flat); + TIoRange range2(locationRange2, componentRange2, type.getBasicType(), 0, qualifier.centroid, qualifier.smooth, qualifier.flat, qualifier.sample, qualifier.patch); // check for collisions collision = checkLocationRange(set, range2, type, typeCollision); @@ -1725,7 +1725,7 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ TBasicType basicTy = type.getBasicType(); if (basicTy == EbtSampler && type.getSampler().isAttachmentEXT()) basicTy = type.getSampler().type; - TIoRange range(locationRange, componentRange, basicTy, qualifier.hasIndex() ? qualifier.getIndex() : 0, qualifier.centroid, qualifier.smooth, qualifier.flat); + TIoRange range(locationRange, componentRange, basicTy, qualifier.hasIndex() ? qualifier.getIndex() : 0, qualifier.centroid, qualifier.smooth, qualifier.flat, qualifier.sample, qualifier.patch); // check for collisions, except for vertex inputs on desktop targeting OpenGL if (! (!isEsProfile() && language == EShLangVertex && qualifier.isPipeInput()) || spvVersion.vulkan > 0) @@ -1736,7 +1736,21 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ return collision; } - +static bool checkType(TBasicType t1, TBasicType t2) { + if (t1 != t2) { + if ((t1 == EbtInt8 && t2 == EbtUint8) || + (t2 == EbtInt8 && t1 == EbtUint8) || + (t1 == EbtInt16 && t2 == EbtUint16) || + (t2 == EbtInt16 && t1 == EbtUint16)|| + (t1 == EbtInt && t2 == EbtUint) || + (t2 == EbtInt && t1 == EbtUint)|| + (t1 == EbtInt64 && t2 == EbtUint64) || + (t2 == EbtInt64 && t1 == EbtUint64)) { + return true; + } + } + return t1 == t2; +} // Compare a new (the passed in) 'range' against the existing set, and see // if there are any collisions. // @@ -1749,10 +1763,12 @@ int TIntermediate::checkLocationRange(int set, const TIoRange& range, const TTyp // there is a collision; pick one return std::max(range.location.start, usedIo[set][r].location.start); } else if (range.location.overlap(usedIo[set][r].location) && - (type.getBasicType() != usedIo[set][r].basicType || + (!checkType(type.getBasicType(), usedIo[set][r].basicType) || type.getQualifier().centroid != usedIo[set][r].centroid || type.getQualifier().smooth != usedIo[set][r].smooth || - type.getQualifier().flat != usedIo[set][r].flat)) { + type.getQualifier().flat != usedIo[set][r].flat || + type.getQualifier().sample != usedIo[set][r].sample || + type.getQualifier().patch != usedIo[set][r].patch)) { // aliased-type mismatch typeCollision = true; return std::max(range.location.start, usedIo[set][r].location.start); diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h index 31b13f16..390a405f 100644 --- a/glslang/MachineIndependent/localintermediate.h +++ b/glslang/MachineIndependent/localintermediate.h @@ -124,8 +124,8 @@ struct TRange { // within the same location range, component range, and index value. Locations don't alias unless // all other dimensions of their range overlap. struct TIoRange { - TIoRange(TRange location, TRange component, TBasicType basicType, int index, bool centroid, bool smooth, bool flat) - : location(location), component(component), basicType(basicType), index(index), centroid(centroid), smooth(smooth), flat(flat) + TIoRange(TRange location, TRange component, TBasicType basicType, int index, bool centroid, bool smooth, bool flat, bool sample, bool patch) + : location(location), component(component), basicType(basicType), index(index), centroid(centroid), smooth(smooth), flat(flat), sample(sample), patch(patch) { } bool overlap(const TIoRange& rhs) const @@ -139,6 +139,8 @@ struct TIoRange { bool centroid; bool smooth; bool flat; + bool sample; + bool patch; }; // An offset range is a 2-D rectangle; the set of (binding, offset) pairs all lying diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp index 170af5dc..cc433fe7 100644 --- a/gtests/AST.FromFile.cpp +++ b/gtests/AST.FromFile.cpp @@ -314,6 +314,9 @@ INSTANTIATE_TEST_SUITE_P( "index_outside_sample_mask_range.frag", "positive_infinity.frag", "matrixCompMult.vert", + "ps_uint_int.frag", + "ps_sample.frag", + "tes_patch.tese", })), FileNameAsCustomTestSuffix ); From dc9f6f61adaec755a09e1943cf7014c688443bcb Mon Sep 17 00:00:00 2001 From: Antoine Date: Sat, 20 Jul 2024 00:37:58 +0200 Subject: [PATCH 024/108] Add column to location logs This option can be enabled using the new --error-column option to the command line utility. It can also be enabled programatically. --- StandAlone/StandAlone.cpp | 6 +++++ Test/baseResults/error-column.vert.out | 12 +++++++++ Test/error-column.vert | 27 +++++++++++++++++++ Test/runtests | 7 +++++ glslang/CInterface/glslang_c_interface.cpp | 2 ++ glslang/Include/InfoSink.h | 14 +++++++--- glslang/Include/glslang_c_shader_types.h | 1 + .../MachineIndependent/ParseContextBase.cpp | 2 +- glslang/MachineIndependent/Versions.cpp | 12 ++++++--- glslang/Public/ShaderLang.h | 1 + gtests/TestFixture.h | 4 +-- 11 files changed, 77 insertions(+), 11 deletions(-) create mode 100644 Test/baseResults/error-column.vert.out create mode 100644 Test/error-column.vert diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp index ac967f2b..94851ba3 100644 --- a/StandAlone/StandAlone.cpp +++ b/StandAlone/StandAlone.cpp @@ -110,6 +110,7 @@ enum TOptions : uint64_t { EOptionInvertY = (1ull << 30), EOptionDumpBareVersion = (1ull << 31), EOptionCompileOnly = (1ull << 32), + EOptionDisplayErrorColumn = (1ull << 33), }; bool targetHlslFunctionality1 = false; bool SpvToolsDisassembler = false; @@ -898,6 +899,8 @@ void ProcessArguments(std::vector>& workItem Options |= EOptionDumpVersions; } else if (lowerword == "no-link") { Options |= EOptionCompileOnly; + } else if (lowerword == "error-column") { + Options |= EOptionDisplayErrorColumn; } else if (lowerword == "help") { usage(); break; @@ -1164,6 +1167,8 @@ void SetMessageOptions(EShMessages& messages) messages = (EShMessages)(messages | EShMsgEnhanced); if (AbsolutePath) messages = (EShMessages)(messages | EShMsgAbsolutePath); + if (Options & EOptionDisplayErrorColumn) + messages = (EShMessages)(messages | EShMsgDisplayErrorColumn); } // @@ -2024,6 +2029,7 @@ void usage() " shaders compatible with DirectX\n" " --invert-y | --iy invert position.Y output in vertex shader\n" " --enhanced-msgs print more readable error messages (GLSL only)\n" + " --error-column display the column of the error along the line\n" " --keep-uncalled | --ku don't eliminate uncalled functions\n" " --nan-clamp favor non-NaN operand in min, max, and clamp\n" " --no-storage-format | --nsf use Unknown image format\n" diff --git a/Test/baseResults/error-column.vert.out b/Test/baseResults/error-column.vert.out new file mode 100644 index 00000000..6538e82a --- /dev/null +++ b/Test/baseResults/error-column.vert.out @@ -0,0 +1,12 @@ +error-column.vert +ERROR: error-column.vert:7:16: 'model' : member storage qualifier cannot contradict block storage qualifier +ERROR: error-column.vert:8:16: 'view' : member storage qualifier cannot contradict block storage qualifier +ERROR: error-column.vert:9:16: 'projection' : member storage qualifier cannot contradict block storage qualifier +ERROR: error-column.vert:17:16: 'texCoord1' : member storage qualifier cannot contradict block storage qualifier +ERROR: error-column.vert:24:52: 'Pos' : undeclared identifier +ERROR: error-column.vert:24:60: 'constructor' : not enough data provided for construction +ERROR: error-column.vert:24:17: 'assign' : cannot convert from ' temp highp 4X4 matrix of float' to ' gl_Position 4-component vector of float Position' +ERROR: 7 compilation errors. No code generated. + + +SPIR-V is not generated for failed compile or link diff --git a/Test/error-column.vert b/Test/error-column.vert new file mode 100644 index 00000000..2ed97e7e --- /dev/null +++ b/Test/error-column.vert @@ -0,0 +1,27 @@ +#version 450 core + +layout (location = 0) in vec3 aPos; +layout (location = 1) in vec2 aTexCoords; + +layout (binding = 0) uniform block { + const mat4 model; + const mat4 view; + const mat4 projection; +}; + +layout (location = 0) out Vertex +{ + vec3 color; + vec3 worldSpacePos; + vec3 worldSpaceNorm; + const vec2 texCoord1; + flat int cameraIndex; + float ii; +} vs_out; + +void main() +{ + gl_Position = projection * view * model * vec4(Pos, 1.0); + vs_out.texCoord1 = aTexCoords; +} + diff --git a/Test/runtests b/Test/runtests index 00c2babd..6b23cd44 100755 --- a/Test/runtests +++ b/Test/runtests @@ -348,6 +348,13 @@ diff -b $BASEDIR/enhanced.7.link.out "$TARGETDIR/enhanced.7.link.out" || HASERRO run --enhanced-msgs -V --target-env vulkan1.2 --amb --aml spv.textureError.frag > "$TARGETDIR/spv.textureError.frag.out" diff -b $BASEDIR/spv.textureError.frag.out "$TARGETDIR/spv.textureError.frag.out" || HASERROR=1 +# +# Test error column +# +echo "Testing error-column" +run --error-column -C -V error-column.vert > "$TARGETDIR/error-column.vert.out" +diff -b $BASEDIR/error-column.vert.out $TARGETDIR/error-column.vert.out || HASERROR=1 + # # Test UTF8BOM # diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp index cea965d4..f8fd889b 100644 --- a/glslang/CInterface/glslang_c_interface.cpp +++ b/glslang/CInterface/glslang_c_interface.cpp @@ -205,7 +205,9 @@ static int c_shader_messages(glslang_messages_t messages) CONVERT_MSG(GLSLANG_MSG_HLSL_LEGALIZATION_BIT, EShMsgHlslLegalization); CONVERT_MSG(GLSLANG_MSG_HLSL_DX9_COMPATIBLE_BIT, EShMsgHlslDX9Compatible); CONVERT_MSG(GLSLANG_MSG_BUILTIN_SYMBOL_TABLE_BIT, EShMsgBuiltinSymbolTable); + CONVERT_MSG(GLSLANG_MSG_ENHANCED, EShMsgEnhanced); CONVERT_MSG(GLSLANG_MSG_ABSOLUTE_PATH, EShMsgAbsolutePath); + CONVERT_MSG(GLSLANG_MSG_DISPLAY_ERROR_COLUMN, EShMsgDisplayErrorColumn); return res; #undef CONVERT_MSG } diff --git a/glslang/Include/InfoSink.h b/glslang/Include/InfoSink.h index 23f495dc..26293394 100644 --- a/glslang/Include/InfoSink.h +++ b/glslang/Include/InfoSink.h @@ -95,10 +95,14 @@ public: default: append("UNKNOWN ERROR: "); break; } } - void location(const TSourceLoc& loc, bool absolute = false) { + void location(const TSourceLoc& loc, bool absolute = false, bool displayColumn = false) { const int maxSize = 24; char locText[maxSize]; - snprintf(locText, maxSize, ":%d", loc.line); + if (displayColumn) { + snprintf(locText, maxSize, ":%d:%d", loc.line, loc.column); + } else { + snprintf(locText, maxSize, ":%d", loc.line); + } if(loc.getFilename() == nullptr && shaderFileName != nullptr && absolute) { append(std::filesystem::absolute(shaderFileName).string()); @@ -119,9 +123,11 @@ public: append(s); append("\n"); } - void message(TPrefixType message, const char* s, const TSourceLoc& loc) { + void message(TPrefixType message, const char* s, const TSourceLoc& loc, bool absolute = false, + bool displayColumn = false) + { prefix(message); - location(loc); + location(loc, absolute, displayColumn); append(s); append("\n"); } diff --git a/glslang/Include/glslang_c_shader_types.h b/glslang/Include/glslang_c_shader_types.h index 51f5642a..7bb0ccda 100644 --- a/glslang/Include/glslang_c_shader_types.h +++ b/glslang/Include/glslang_c_shader_types.h @@ -175,6 +175,7 @@ typedef enum { GLSLANG_MSG_BUILTIN_SYMBOL_TABLE_BIT = (1 << 14), GLSLANG_MSG_ENHANCED = (1 << 15), GLSLANG_MSG_ABSOLUTE_PATH = (1 << 16), + GLSLANG_MSG_DISPLAY_ERROR_COLUMN = (1 << 17), LAST_ELEMENT_MARKER(GLSLANG_MSG_COUNT), } glslang_messages_t; diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp index 591dfc71..f7895d97 100644 --- a/glslang/MachineIndependent/ParseContextBase.cpp +++ b/glslang/MachineIndependent/ParseContextBase.cpp @@ -59,7 +59,7 @@ void TParseContextBase::outputMessage(const TSourceLoc& loc, const char* szReaso safe_vsprintf(szExtraInfo, maxSize, szExtraInfoFormat, args); infoSink.info.prefix(prefix); - infoSink.info.location(loc, messages & EShMsgAbsolutePath); + infoSink.info.location(loc, messages & EShMsgAbsolutePath, messages & EShMsgDisplayErrorColumn); infoSink.info << "'" << szToken << "' : " << szReason << " " << szExtraInfo << "\n"; if (prefix == EPrefixError) { diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp index e016ef6b..0262c54d 100644 --- a/glslang/MachineIndependent/Versions.cpp +++ b/glslang/MachineIndependent/Versions.cpp @@ -775,7 +775,7 @@ void TParseVersions::profileRequires(const TSourceLoc& loc, int profileMask, int for (int i = 0; i < numExtensions; ++i) { switch (getExtensionBehavior(extensions[i])) { case EBhWarn: - infoSink.info.message(EPrefixWarning, ("extension " + TString(extensions[i]) + " is being used for " + featureDesc).c_str(), loc); + infoSink.info.message(EPrefixWarning, ("extension " + TString(extensions[i]) + " is being used for " + featureDesc).c_str(), loc, messages & EShMsgAbsolutePath, messages & EShMsgDisplayErrorColumn); [[fallthrough]]; case EBhRequire: case EBhEnable: @@ -813,7 +813,8 @@ void TParseVersions::checkDeprecated(const TSourceLoc& loc, int profileMask, int error(loc, "deprecated, may be removed in future release", featureDesc, ""); else if (! suppressWarnings()) infoSink.info.message(EPrefixWarning, (TString(featureDesc) + " deprecated in version " + - String(depVersion) + "; may be removed in future release").c_str(), loc); + String(depVersion) + "; may be removed in future release").c_str(), + loc, messages & EShMsgAbsolutePath, messages & EShMsgDisplayErrorColumn); } } } @@ -850,11 +851,14 @@ bool TParseVersions::checkExtensionsRequested(const TSourceLoc& loc, int numExte for (int i = 0; i < numExtensions; ++i) { TExtensionBehavior behavior = getExtensionBehavior(extensions[i]); if (behavior == EBhDisable && relaxedErrors()) { - infoSink.info.message(EPrefixWarning, "The following extension must be enabled to use this feature:", loc); + infoSink.info.message(EPrefixWarning, "The following extension must be enabled to use this feature:", loc, + messages & EShMsgAbsolutePath, messages & EShMsgDisplayErrorColumn); behavior = EBhWarn; } if (behavior == EBhWarn) { - infoSink.info.message(EPrefixWarning, ("extension " + TString(extensions[i]) + " is being used for " + featureDesc).c_str(), loc); + infoSink.info.message(EPrefixWarning, + ("extension " + TString(extensions[i]) + " is being used for " + featureDesc).c_str(), + loc, messages & EShMsgAbsolutePath, messages & EShMsgDisplayErrorColumn); warned = true; } } diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h index b71b147a..eac81b14 100644 --- a/glslang/Public/ShaderLang.h +++ b/glslang/Public/ShaderLang.h @@ -270,6 +270,7 @@ enum EShMessages : unsigned { EShMsgBuiltinSymbolTable = (1 << 14), // print the builtin symbol table EShMsgEnhanced = (1 << 15), // enhanced message readability EShMsgAbsolutePath = (1 << 16), // Output Absolute path for messages + EShMsgDisplayErrorColumn = (1 << 17), // Display error message column aswell as line LAST_ELEMENT_MARKER(EShMsgCount), }; diff --git a/gtests/TestFixture.h b/gtests/TestFixture.h index 315fdaec..9777c275 100644 --- a/gtests/TestFixture.h +++ b/gtests/TestFixture.h @@ -691,8 +691,8 @@ public: std::string ppShader; glslang::TShader::ForbidIncluder includer; const bool success = shader.preprocess( - GetDefaultResources(), defaultVersion, defaultProfile, - forceVersionProfile, isForwardCompatible, (EShMessages)(EShMsgOnlyPreprocessor | EShMsgCascadingErrors), + GetDefaultResources(), defaultVersion, defaultProfile, forceVersionProfile, isForwardCompatible, + (EShMessages)(EShMsgOnlyPreprocessor | EShMsgCascadingErrors), &ppShader, includer); std::string log = shader.getInfoLog(); From 74d448cc1575f74260b6d198f3a858c7e7c16a69 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Thu, 18 Jul 2024 18:16:20 -0400 Subject: [PATCH 025/108] Add some comments and rename a helper function This adds some documentation of the checkTypes() function to make clearer what exactly it is checking. --- glslang/MachineIndependent/linkValidate.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp index d56c833c..81857b24 100644 --- a/glslang/MachineIndependent/linkValidate.cpp +++ b/glslang/MachineIndependent/linkValidate.cpp @@ -1736,7 +1736,10 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ return collision; } -static bool checkType(TBasicType t1, TBasicType t2) { + +// Check that two types can be stored in different components in the same location. +// They must be the same type, except signed/unsigned integers are considered compatible. +static bool checkCompatibleTypes(TBasicType t1, TBasicType t2) { if (t1 != t2) { if ((t1 == EbtInt8 && t2 == EbtUint8) || (t2 == EbtInt8 && t1 == EbtUint8) || @@ -1751,6 +1754,7 @@ static bool checkType(TBasicType t1, TBasicType t2) { } return t1 == t2; } + // Compare a new (the passed in) 'range' against the existing set, and see // if there are any collisions. // @@ -1763,7 +1767,7 @@ int TIntermediate::checkLocationRange(int set, const TIoRange& range, const TTyp // there is a collision; pick one return std::max(range.location.start, usedIo[set][r].location.start); } else if (range.location.overlap(usedIo[set][r].location) && - (!checkType(type.getBasicType(), usedIo[set][r].basicType) || + (!checkCompatibleTypes(type.getBasicType(), usedIo[set][r].basicType) || type.getQualifier().centroid != usedIo[set][r].centroid || type.getQualifier().smooth != usedIo[set][r].smooth || type.getQualifier().flat != usedIo[set][r].flat || From 592aed9c206c283cac98f7a86e5cc237dadb2638 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Mon, 22 Jul 2024 17:20:14 -0400 Subject: [PATCH 026/108] Don't emit debug instructions before an OpPhi Nonsemantic instructions aren't allowed before an OpPhi, so don't emit line and debug scope instructions when the instruction being emitted is an OpPhi. --- SPIRV/SpvBuilder.cpp | 6 + Test/baseResults/spv.debuginfo.glsl.comp.out | 281 +++++++++---------- Test/baseResults/spv.debuginfo.glsl.frag.out | 165 ++++++----- 3 files changed, 228 insertions(+), 224 deletions(-) diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index def3fa2e..caff5c11 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -2131,6 +2131,12 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat } void Builder::addInstruction(std::unique_ptr inst) { + // Phis must appear first in their block, don't insert line tracking instructions + // in front of them, just add the OpPhi and return. + if (inst->getOpCode() == OpPhi) { + buildPoint->addInstruction(std::move(inst)); + return; + } // Optionally insert OpDebugScope if (emitNonSemanticShaderDebugInfo && dirtyScopeTracker) { if (buildPoint->updateDebugScope(currentDebugScopeId.top())) { diff --git a/Test/baseResults/spv.debuginfo.glsl.comp.out b/Test/baseResults/spv.debuginfo.glsl.comp.out index 2a3505fb..177054ca 100644 --- a/Test/baseResults/spv.debuginfo.glsl.comp.out +++ b/Test/baseResults/spv.debuginfo.glsl.comp.out @@ -1,5 +1,4 @@ spv.debuginfo.glsl.comp -Validation failed // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 975 @@ -283,18 +282,18 @@ void main() Name 383 "param" Name 387 "param" Name 389 "param" - Name 426 "param" - Name 430 "param" - Name 432 "param" - Name 464 "param" - Name 468 "param" - Name 470 "param" - Name 510 "param" - Name 514 "param" - Name 516 "param" - Name 552 "param" - Name 556 "param" - Name 558 "param" + Name 425 "param" + Name 429 "param" + Name 431 "param" + Name 463 "param" + Name 467 "param" + Name 469 "param" + Name 509 "param" + Name 513 "param" + Name 515 "param" + Name 551 "param" + Name 555 "param" + Name 557 "param" Name 575 "f" Name 624 "sphereDist" Name 675 "PushConsts" @@ -482,14 +481,14 @@ void main() 370: 7(int) Constant 107 378: 7(int) Constant 108 398: 7(int) Constant 111 - 419: 7(int) Constant 112 - 425: 73(int) Constant 6 + 418: 7(int) Constant 112 + 424: 73(int) Constant 6 441: 7(int) Constant 115 - 458: 7(int) Constant 116 + 457: 7(int) Constant 116 479: 7(int) Constant 119 - 504: 7(int) Constant 120 + 503: 7(int) Constant 120 525: 7(int) Constant 123 - 546: 7(int) Constant 124 + 545: 7(int) Constant 124 564: 73(int) Constant 3 568: 7(int) Constant 127 578: 7(int) Constant 130 @@ -567,18 +566,18 @@ void main() 383(param): 21(ptr) Variable Function 387(param): 21(ptr) Variable Function 389(param): 24(ptr) Variable Function - 426(param): 21(ptr) Variable Function - 430(param): 21(ptr) Variable Function - 432(param): 24(ptr) Variable Function - 464(param): 21(ptr) Variable Function - 468(param): 21(ptr) Variable Function - 470(param): 24(ptr) Variable Function - 510(param): 21(ptr) Variable Function - 514(param): 21(ptr) Variable Function - 516(param): 24(ptr) Variable Function - 552(param): 21(ptr) Variable Function - 556(param): 21(ptr) Variable Function - 558(param): 24(ptr) Variable Function + 425(param): 21(ptr) Variable Function + 429(param): 21(ptr) Variable Function + 431(param): 24(ptr) Variable Function + 463(param): 21(ptr) Variable Function + 467(param): 21(ptr) Variable Function + 469(param): 24(ptr) Variable Function + 509(param): 21(ptr) Variable Function + 513(param): 21(ptr) Variable Function + 515(param): 24(ptr) Variable Function + 551(param): 21(ptr) Variable Function + 555(param): 21(ptr) Variable Function + 557(param): 24(ptr) Variable Function 575(f): 21(ptr) Variable Function 624(sphereDist): 21(ptr) Variable Function 697(normal): 21(ptr) Variable Function @@ -808,34 +807,34 @@ void main() 411: 166(bool) ULessThan 406 410 Branch 402 402: Label - 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 412: 166(bool) Phi 400 374 411 401 - SelectionMerge 415 None - BranchConditional 412 414 415 - 414: Label - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 419 419 12 12 - 416: 7(int) Load 139(index) - 420: 148(ptr) AccessChain 101(params) 147 12 - 421: 73(int) Load 420 - 422: 7(int) Bitcast 421 - 423: 7(int) IAdd 416 422 - 424: 7(int) ISub 423 39 - 427: 231(ptr) AccessChain 200 203 424 203 - 428: 71(fvec4) Load 427 - 429: 19(fvec3) VectorShuffle 428 428 0 1 2 - Store 426(param) 429 - 431: 19(fvec3) Load 261(pos) - Store 430(param) 431 - 433: 105(ptr) AccessChain 101(params) 425 - 434: 16(float) Load 433 - Store 432(param) 434 - 435: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 426(param) 430(param) 432(param) - 436: 19(fvec3) Load 247(force) - 437: 19(fvec3) FAdd 436 435 - Store 247(force) 437 - Branch 415 - 415: Label + 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + SelectionMerge 414 None + BranchConditional 412 413 414 + 413: Label + 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 418 418 12 12 + 415: 7(int) Load 139(index) + 419: 148(ptr) AccessChain 101(params) 147 12 + 420: 73(int) Load 419 + 421: 7(int) Bitcast 420 + 422: 7(int) IAdd 415 421 + 423: 7(int) ISub 422 39 + 426: 231(ptr) AccessChain 200 203 423 203 + 427: 71(fvec4) Load 426 + 428: 19(fvec3) VectorShuffle 427 427 0 1 2 + Store 425(param) 428 + 430: 19(fvec3) Load 261(pos) + Store 429(param) 430 + 432: 105(ptr) AccessChain 101(params) 424 + 433: 16(float) Load 432 + Store 431(param) 433 + 434: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 425(param) 429(param) 431(param) + 435: 19(fvec3) Load 247(force) + 436: 19(fvec3) FAdd 435 434 + Store 247(force) 436 + Branch 414 + 414: Label 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 441 441 12 12 438: 137(ptr) AccessChain 125(id) 12 @@ -851,34 +850,34 @@ void main() 450: 166(bool) UGreaterThan 449 12 Branch 445 445: Label - 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 451: 166(bool) Phi 443 415 450 444 - SelectionMerge 454 None - BranchConditional 451 453 454 - 453: Label - 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 458 458 12 12 - 455: 7(int) Load 139(index) - 459: 148(ptr) AccessChain 101(params) 147 12 - 460: 73(int) Load 459 - 461: 7(int) Bitcast 460 - 462: 7(int) ISub 455 461 - 463: 7(int) ISub 462 39 - 465: 231(ptr) AccessChain 200 203 463 203 - 466: 71(fvec4) Load 465 - 467: 19(fvec3) VectorShuffle 466 466 0 1 2 - Store 464(param) 467 - 469: 19(fvec3) Load 261(pos) - Store 468(param) 469 - 471: 105(ptr) AccessChain 101(params) 425 - 472: 16(float) Load 471 - Store 470(param) 472 - 473: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 464(param) 468(param) 470(param) - 474: 19(fvec3) Load 247(force) - 475: 19(fvec3) FAdd 474 473 - Store 247(force) 475 - Branch 454 - 454: Label + 451: 166(bool) Phi 443 414 450 444 + 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + SelectionMerge 453 None + BranchConditional 451 452 453 + 452: Label + 455: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 457 457 12 12 + 454: 7(int) Load 139(index) + 458: 148(ptr) AccessChain 101(params) 147 12 + 459: 73(int) Load 458 + 460: 7(int) Bitcast 459 + 461: 7(int) ISub 454 460 + 462: 7(int) ISub 461 39 + 464: 231(ptr) AccessChain 200 203 462 203 + 465: 71(fvec4) Load 464 + 466: 19(fvec3) VectorShuffle 465 465 0 1 2 + Store 463(param) 466 + 468: 19(fvec3) Load 261(pos) + Store 467(param) 468 + 470: 105(ptr) AccessChain 101(params) 424 + 471: 16(float) Load 470 + Store 469(param) 471 + 472: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 463(param) 467(param) 469(param) + 473: 19(fvec3) Load 247(force) + 474: 19(fvec3) FAdd 473 472 + Store 247(force) 474 + Branch 453 + 453: Label 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 478: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 479 479 12 12 476: 137(ptr) AccessChain 125(id) 12 @@ -902,34 +901,34 @@ void main() 496: 166(bool) ULessThan 491 495 Branch 487 487: Label - 498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 497: 166(bool) Phi 485 454 496 486 - SelectionMerge 500 None - BranchConditional 497 499 500 - 499: Label - 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 504 504 12 12 - 501: 7(int) Load 139(index) - 505: 148(ptr) AccessChain 101(params) 147 12 - 506: 73(int) Load 505 - 507: 7(int) Bitcast 506 - 508: 7(int) IAdd 501 507 - 509: 7(int) IAdd 508 39 - 511: 231(ptr) AccessChain 200 203 509 203 - 512: 71(fvec4) Load 511 - 513: 19(fvec3) VectorShuffle 512 512 0 1 2 - Store 510(param) 513 - 515: 19(fvec3) Load 261(pos) - Store 514(param) 515 - 517: 105(ptr) AccessChain 101(params) 425 - 518: 16(float) Load 517 - Store 516(param) 518 - 519: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 510(param) 514(param) 516(param) - 520: 19(fvec3) Load 247(force) - 521: 19(fvec3) FAdd 520 519 - Store 247(force) 521 - Branch 500 - 500: Label + 497: 166(bool) Phi 485 453 496 486 + 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + SelectionMerge 499 None + BranchConditional 497 498 499 + 498: Label + 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 503 503 12 12 + 500: 7(int) Load 139(index) + 504: 148(ptr) AccessChain 101(params) 147 12 + 505: 73(int) Load 504 + 506: 7(int) Bitcast 505 + 507: 7(int) IAdd 500 506 + 508: 7(int) IAdd 507 39 + 510: 231(ptr) AccessChain 200 203 508 203 + 511: 71(fvec4) Load 510 + 512: 19(fvec3) VectorShuffle 511 511 0 1 2 + Store 509(param) 512 + 514: 19(fvec3) Load 261(pos) + Store 513(param) 514 + 516: 105(ptr) AccessChain 101(params) 424 + 517: 16(float) Load 516 + Store 515(param) 517 + 518: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 509(param) 513(param) 515(param) + 519: 19(fvec3) Load 247(force) + 520: 19(fvec3) FAdd 519 518 + Store 247(force) 520 + Branch 499 + 499: Label 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 524: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 525 525 12 12 522: 137(ptr) AccessChain 125(id) 12 @@ -949,34 +948,34 @@ void main() 538: 166(bool) UGreaterThan 537 12 Branch 533 533: Label - 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 539: 166(bool) Phi 531 500 538 532 - SelectionMerge 542 None - BranchConditional 539 541 542 - 541: Label - 544: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 546 546 12 12 - 543: 7(int) Load 139(index) - 547: 148(ptr) AccessChain 101(params) 147 12 - 548: 73(int) Load 547 - 549: 7(int) Bitcast 548 - 550: 7(int) ISub 543 549 - 551: 7(int) IAdd 550 39 - 553: 231(ptr) AccessChain 200 203 551 203 - 554: 71(fvec4) Load 553 - 555: 19(fvec3) VectorShuffle 554 554 0 1 2 - Store 552(param) 555 - 557: 19(fvec3) Load 261(pos) - Store 556(param) 557 - 559: 105(ptr) AccessChain 101(params) 425 - 560: 16(float) Load 559 - Store 558(param) 560 - 561: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 552(param) 556(param) 558(param) - 562: 19(fvec3) Load 247(force) - 563: 19(fvec3) FAdd 562 561 - Store 247(force) 563 - Branch 542 - 542: Label + 539: 166(bool) Phi 531 499 538 532 + 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + SelectionMerge 541 None + BranchConditional 539 540 541 + 540: Label + 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 544: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 545 545 12 12 + 542: 7(int) Load 139(index) + 546: 148(ptr) AccessChain 101(params) 147 12 + 547: 73(int) Load 546 + 548: 7(int) Bitcast 547 + 549: 7(int) ISub 542 548 + 550: 7(int) IAdd 549 39 + 552: 231(ptr) AccessChain 200 203 550 203 + 553: 71(fvec4) Load 552 + 554: 19(fvec3) VectorShuffle 553 553 0 1 2 + Store 551(param) 554 + 556: 19(fvec3) Load 261(pos) + Store 555(param) 556 + 558: 105(ptr) AccessChain 101(params) 424 + 559: 16(float) Load 558 + Store 557(param) 559 + 560: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 551(param) 555(param) 557(param) + 561: 19(fvec3) Load 247(force) + 562: 19(fvec3) FAdd 561 560 + Store 247(force) 562 + Branch 541 + 541: Label 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 568 568 12 12 565: 105(ptr) AccessChain 101(params) 564 diff --git a/Test/baseResults/spv.debuginfo.glsl.frag.out b/Test/baseResults/spv.debuginfo.glsl.frag.out index cf30e573..142107a3 100644 --- a/Test/baseResults/spv.debuginfo.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.glsl.frag.out @@ -1,5 +1,4 @@ spv.debuginfo.glsl.frag -Validation failed // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 877 @@ -231,12 +230,12 @@ void main() 105: String "global_var" 120: String "shadowCoord" 142: String "bool" - 163: String "dist" - 170: String "type.2d.image" - 171: String "@type.2d.image" - 175: String "type.sampled.image" - 176: String "@type.sampled.image" - 181: String "samplerShadowMap" + 162: String "dist" + 169: String "type.2d.image" + 170: String "@type.2d.image" + 174: String "type.sampled.image" + 175: String "@type.sampled.image" + 180: String "samplerShadowMap" 230: String "texDim" 242: String "scale" 249: String "dx" @@ -292,8 +291,8 @@ void main() Name 103 "global_var" Name 112 "shadow" Name 118 "shadowCoord" - Name 161 "dist" - Name 179 "samplerShadowMap" + Name 160 "dist" + Name 178 "samplerShadowMap" Name 228 "texDim" Name 240 "scale" Name 247 "dx" @@ -352,8 +351,8 @@ void main() Name 814 "spec" Name 861 "param" Name 866 "param" - Decorate 179(samplerShadowMap) Binding 5 - Decorate 179(samplerShadowMap) DescriptorSet 0 + Decorate 178(samplerShadowMap) Binding 5 + Decorate 178(samplerShadowMap) DescriptorSet 0 MemberDecorate 405(Light) 0 Offset 0 MemberDecorate 405(Light) 1 Offset 16 MemberDecorate 405(Light) 2 Offset 32 @@ -449,21 +448,21 @@ void main() 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 142 10 28 12 146: 7(int) Constant 65 148: 16(float) Constant 3212836864 - 164: 7(int) Constant 67 - 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 163 18 41 164 12 40 20 - 168: TypeImage 16(float) 2D array sampled format:Unknown - 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 170 12 41 164 12 44 171 172 13 - 173: TypeSampledImage 168 - 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 175 12 41 164 12 44 176 172 13 - 177: TypePointer UniformConstant 173 - 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 174 12 12 -179(samplerShadowMap): 177(ptr) Variable UniformConstant - 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 181 174 41 164 12 44 181 179(samplerShadowMap) 107 - 195: 7(int) Constant 68 - 197: 16(float) Constant 0 - 211: 16(float) Constant 1048576000 - 214: 7(int) Constant 70 + 163: 7(int) Constant 67 + 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 162 18 41 163 12 40 20 + 167: TypeImage 16(float) 2D array sampled format:Unknown + 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 169 12 41 163 12 44 170 171 13 + 172: TypeSampledImage 167 + 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 12 41 163 12 44 175 171 13 + 176: TypePointer UniformConstant 172 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 173 12 12 +178(samplerShadowMap): 176(ptr) Variable UniformConstant + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 180 173 41 163 12 44 180 178(samplerShadowMap) 107 + 194: 7(int) Constant 68 + 196: 16(float) Constant 0 + 209: 16(float) Constant 1048576000 + 212: 7(int) Constant 70 219: 7(int) Constant 73 224: TypeVector 98(int) 2 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 28 @@ -535,9 +534,9 @@ void main() 478: 7(int) Constant 119 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 477 75 41 478 12 96 20 481: TypeImage 16(float) 2D sampled format:Unknown - 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 170 12 41 478 12 44 171 172 13 + 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 169 12 41 478 12 44 170 171 13 483: TypeSampledImage 481 - 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 175 12 41 478 12 44 176 172 13 + 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 12 41 478 12 44 175 171 13 485: TypePointer UniformConstant 483 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 484 12 12 487(samplerposition): 485(ptr) Variable UniformConstant @@ -589,7 +588,7 @@ void main() 678: TypePointer Uniform 19(fvec4) 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 28 12 687: 7(int) Constant 156 - 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 163 18 41 687 12 96 20 + 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 162 18 41 687 12 96 20 694: 7(int) Constant 157 699: 7(int) Constant 160 697: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 698 75 41 699 12 96 20 @@ -885,14 +884,14 @@ void main() 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 768 767(heightAttenuation) 49 773: 16(float) Load 725(lightRange) 774: 16(float) Load 685(dist) - 775: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 773 197 774 + 775: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 773 196 774 Store 767(heightAttenuation) 775 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 779 779 12 12 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 777 776(NdotL) 49 782: 74(fvec3) Load 646(N) 783: 74(fvec3) Load 670(L) 784: 16(float) Dot 782 783 - 785: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 197 784 + 785: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 196 784 Store 776(NdotL) 785 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 789 789 12 12 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 787 786(diff) 49 @@ -911,7 +910,7 @@ void main() 810: 74(fvec3) Load 794(R) 811: 74(fvec3) Load 696(V) 812: 16(float) Dot 810 811 - 813: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 197 812 + 813: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 196 812 Store 804(NdotR) 813 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 817 817 12 12 818: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 815 814(spec) 49 @@ -986,7 +985,7 @@ void main() 38: Label 112(shadow): 25(ptr) Variable Function 118(shadowCoord): 22(ptr) Variable Function - 161(dist): 25(ptr) Variable Function + 160(dist): 25(ptr) Variable Function 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 43 43 12 12 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 34(P) 49 @@ -1030,54 +1029,54 @@ void main() 156: 141(bool) FOrdLessThan 155 117 Branch 151 151: Label - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 157: 141(bool) Phi 149 38 156 150 - SelectionMerge 160 None - BranchConditional 157 159 160 - 159: Label - 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 164 164 12 12 - 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 162 161(dist) 49 - 182: 173 Load 179(samplerShadowMap) - 183: 19(fvec4) Load 118(shadowCoord) - 184: 27(fvec2) VectorShuffle 183 183 0 1 - 185: 27(fvec2) Load 36(offset) - 186: 27(fvec2) FAdd 184 185 - 187: 16(float) Load 35(layer) - 188: 16(float) CompositeExtract 186 0 - 189: 16(float) CompositeExtract 186 1 - 190: 74(fvec3) CompositeConstruct 188 189 187 - 191: 19(fvec4) ImageSampleImplicitLod 182 190 - 192: 16(float) CompositeExtract 191 0 - Store 161(dist) 192 - 194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 195 195 12 12 - 193: 25(ptr) AccessChain 118(shadowCoord) 13 - 196: 16(float) Load 193 - 198: 141(bool) FOrdGreaterThan 196 197 - SelectionMerge 200 None - BranchConditional 198 199 200 - 199: Label - 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 195 195 12 12 - 201: 16(float) Load 161(dist) - 204: 25(ptr) AccessChain 118(shadowCoord) 28 - 205: 16(float) Load 204 - 206: 141(bool) FOrdLessThan 201 205 - Branch 200 - 200: Label - 208: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 207: 141(bool) Phi 198 159 206 199 - SelectionMerge 210 None - BranchConditional 207 209 210 - 209: Label - 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 214 214 12 12 - Store 112(shadow) 211 - Branch 210 - 210: Label - 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - Branch 160 - 160: Label + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + SelectionMerge 159 None + BranchConditional 157 158 159 + 158: Label + 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 163 163 12 12 + 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 161 160(dist) 49 + 181: 172 Load 178(samplerShadowMap) + 182: 19(fvec4) Load 118(shadowCoord) + 183: 27(fvec2) VectorShuffle 182 182 0 1 + 184: 27(fvec2) Load 36(offset) + 185: 27(fvec2) FAdd 183 184 + 186: 16(float) Load 35(layer) + 187: 16(float) CompositeExtract 185 0 + 188: 16(float) CompositeExtract 185 1 + 189: 74(fvec3) CompositeConstruct 187 188 186 + 190: 19(fvec4) ImageSampleImplicitLod 181 189 + 191: 16(float) CompositeExtract 190 0 + Store 160(dist) 191 + 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 194 194 12 12 + 192: 25(ptr) AccessChain 118(shadowCoord) 13 + 195: 16(float) Load 192 + 197: 141(bool) FOrdGreaterThan 195 196 + SelectionMerge 199 None + BranchConditional 197 198 199 + 198: Label + 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 194 194 12 12 + 200: 16(float) Load 160(dist) + 203: 25(ptr) AccessChain 118(shadowCoord) 28 + 204: 16(float) Load 203 + 205: 141(bool) FOrdLessThan 200 204 + Branch 199 + 199: Label + 206: 141(bool) Phi 197 158 205 198 + 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + SelectionMerge 208 None + BranchConditional 206 207 208 + 207: Label + 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 212 212 12 12 + Store 112(shadow) 209 + Branch 208 + 208: Label + 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + Branch 159 + 159: Label 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 219 219 12 12 216: 16(float) Load 112(shadow) @@ -1106,8 +1105,8 @@ void main() 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 231 231 12 12 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 229 228(texDim) 49 - 234: 173 Load 179(samplerShadowMap) - 235: 168 Image 234 + 234: 172 Load 178(samplerShadowMap) + 235: 167 Image 234 238: 236(ivec3) ImageQuerySizeLod 235 108 239: 224(ivec2) VectorShuffle 238 238 0 1 Store 228(texDim) 239 @@ -1134,7 +1133,7 @@ void main() Store 261(dy) 272 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 276 276 12 12 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 274 273(shadowFactor) 49 - Store 273(shadowFactor) 197 + Store 273(shadowFactor) 196 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 282 282 12 12 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 280 279(count) 49 Store 279(count) 108 From ab670d444b210dea7316f333f3cdcbabac78b0f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 06:43:36 +0000 Subject: [PATCH 027/108] Bump lukka/get-cmake from 3.30.0 to 3.30.1 Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.30.0 to 3.30.1. - [Release notes](https://github.com/lukka/get-cmake/releases) - [Commits](https://github.com/lukka/get-cmake/compare/983956e4a5edce90f0dfcc38c1543077e668402b...34181361be075620f7c3871daa1cadb92d9a903e) --- updated-dependencies: - dependency-name: lukka/get-cmake dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/continuous_deployment.yml | 6 +++--- .github/workflows/continuous_integration.yml | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index 0742c645..ebba7a7a 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -42,7 +42,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 + - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -106,7 +106,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 + - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -163,7 +163,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 + - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index b140b907..8a5a34ae 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -18,7 +18,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 + - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -54,7 +54,7 @@ jobs: flags: ['-fsanitize=address', '-fsanitize=thread', '-fsanitize=undefined'] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 + - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -99,7 +99,7 @@ jobs: - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 + - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 with: cmakeVersion: 3.17.2 - name: Setup ccache @@ -131,7 +131,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 + - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - run: ./update_glslang_sources.py - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON env: @@ -155,7 +155,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 + - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -173,7 +173,7 @@ jobs: runs-on: macos-13 steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 + - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - name: Setup ccache uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 with: @@ -202,7 +202,7 @@ jobs: LEGACY: [ON, OFF] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 + - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - name: Setup ccache uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 with: @@ -228,7 +228,7 @@ jobs: - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - - uses: lukka/get-cmake@983956e4a5edce90f0dfcc38c1543077e668402b # v3.30.0 + - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - name: Setup ccache uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 with: From f7f15cf67cac03457c71b52436cdf12faf6909ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 06:43:41 +0000 Subject: [PATCH 028/108] Bump github/codeql-action from 3.25.12 to 3.25.13 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.12 to 3.25.13. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/4fa2a7953630fd2f3fb380f21be14ede0169dd4f...2d790406f505036ef40ecba973cc774a50395aac) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index f52dcbb0..344b0ba7 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 + uses: github/codeql-action/upload-sarif@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 with: sarif_file: results.sarif From bedbe7481e1e08f4b374d77a34642e995276664d Mon Sep 17 00:00:00 2001 From: Andrei Alexeyev Date: Tue, 23 Jul 2024 15:11:46 +0200 Subject: [PATCH 029/108] Expose setGlobalUniform* methods to the C API --- glslang/CInterface/glslang_c_interface.cpp | 9 +++++++++ glslang/Include/glslang_c_interface.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp index f8fd889b..dd8a2fdc 100644 --- a/glslang/CInterface/glslang_c_interface.cpp +++ b/glslang/CInterface/glslang_c_interface.cpp @@ -370,6 +370,15 @@ GLSLANG_EXPORT void glslang_shader_set_glsl_version(glslang_shader_t* shader, in shader->shader->setOverrideVersion(version); } +GLSLANG_EXPORT void glslang_shader_set_default_uniform_block_set_and_binding(glslang_shader_t* shader, unsigned int set, unsigned int binding) { + shader->shader->setGlobalUniformSet(set); + shader->shader->setGlobalUniformBinding(binding); +} + +GLSLANG_EXPORT void glslang_shader_set_default_uniform_block_name(glslang_shader_t* shader, const char *name) { + shader->shader->setGlobalUniformBlockName(name); +} + GLSLANG_EXPORT const char* glslang_shader_get_preprocessed_code(glslang_shader_t* shader) { return shader->preprocessedGLSL.c_str(); diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h index 7fa1a05d..f11079ed 100644 --- a/glslang/Include/glslang_c_interface.h +++ b/glslang/Include/glslang_c_interface.h @@ -259,6 +259,8 @@ GLSLANG_EXPORT void glslang_shader_shift_binding(glslang_shader_t* shader, glsla GLSLANG_EXPORT void glslang_shader_shift_binding_for_set(glslang_shader_t* shader, glslang_resource_type_t res, unsigned int base, unsigned int set); GLSLANG_EXPORT void glslang_shader_set_options(glslang_shader_t* shader, int options); // glslang_shader_options_t GLSLANG_EXPORT void glslang_shader_set_glsl_version(glslang_shader_t* shader, int version); +GLSLANG_EXPORT void glslang_shader_set_default_uniform_block_set_and_binding(glslang_shader_t* shader, unsigned int set, unsigned int binding); +GLSLANG_EXPORT void glslang_shader_set_default_uniform_block_name(glslang_shader_t* shader, const char *name); GLSLANG_EXPORT int glslang_shader_preprocess(glslang_shader_t* shader, const glslang_input_t* input); GLSLANG_EXPORT int glslang_shader_parse(glslang_shader_t* shader, const glslang_input_t* input); GLSLANG_EXPORT const char* glslang_shader_get_preprocessed_code(glslang_shader_t* shader); From ebbd65501d6e48107223be2ea3c485cc69659ac0 Mon Sep 17 00:00:00 2001 From: Yamamoto Kazunari Date: Wed, 10 Jul 2024 15:19:11 -0700 Subject: [PATCH 030/108] Fix missing calls to SetThreadPoolAllocator() in TProgram public interface functions --- glslang/MachineIndependent/ShaderLang.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index be3248e3..32ca9925 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -2121,6 +2121,8 @@ bool TProgram::buildReflection(int opts) if (! linked || reflection != nullptr) return false; + SetThreadPoolAllocator(pool); + int firstStage = EShLangVertex, lastStage = EShLangFragment; if (opts & EShReflectionIntermediateIO) { @@ -2176,6 +2178,9 @@ bool TProgram::mapIO(TIoMapResolver* pResolver, TIoMapper* pIoMapper) { if (! linked) return false; + + SetThreadPoolAllocator(pool); + TIoMapper* ioMapper = nullptr; TIoMapper defaultIOMapper; if (pIoMapper == nullptr) From 42260d1f6d8ba897a80edbf5e47e22881205d9ef Mon Sep 17 00:00:00 2001 From: Steve Urquhart Date: Wed, 10 Jul 2024 15:30:22 -0700 Subject: [PATCH 031/108] Add C interface glslang::Version counterpart and version getter function --- glslang/CInterface/glslang_c_interface.cpp | 7 +++++++ glslang/Include/glslang_c_interface.h | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp index dd8a2fdc..bf00b4e0 100644 --- a/glslang/CInterface/glslang_c_interface.cpp +++ b/glslang/CInterface/glslang_c_interface.cpp @@ -34,6 +34,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "StandAlone/DirStackFileIncluder.h" #include "glslang/Public/ResourceLimits.h" +#include "glslang/Public/ShaderLang.h" #include "glslang/Include/ShHandle.h" #include "glslang/Include/ResourceLimits.h" @@ -54,6 +55,7 @@ static_assert(int(GLSLANG_REFLECTION_COUNT) == EShReflectionCount, ""); static_assert(int(GLSLANG_PROFILE_COUNT) == EProfileCount, ""); static_assert(sizeof(glslang_limits_t) == sizeof(TLimits), ""); static_assert(sizeof(glslang_resource_t) == sizeof(TBuiltInResource), ""); +static_assert(sizeof(glslang_version_t) == sizeof(glslang::Version), ""); typedef struct glslang_shader_s { glslang::TShader* shader; @@ -141,6 +143,11 @@ private: void* context; }; +GLSLANG_EXPORT void glslang_get_version(glslang_version_t* version) +{ + *reinterpret_cast(version) = glslang::GetVersion(); +} + GLSLANG_EXPORT int glslang_initialize_process() { return static_cast(glslang::InitializeProcess()); } GLSLANG_EXPORT void glslang_finalize_process() { glslang::FinalizeProcess(); } diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h index f11079ed..459b1216 100644 --- a/glslang/Include/glslang_c_interface.h +++ b/glslang/Include/glslang_c_interface.h @@ -41,6 +41,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. typedef struct glslang_shader_s glslang_shader_t; typedef struct glslang_program_s glslang_program_t; +/* Version counterpart */ +typedef struct glslang_version_s { + int major; + int minor; + int patch; + const char* flavor; +} glslang_version_t; + /* TLimits counterpart */ typedef struct glslang_limits_s { bool non_inductive_for_loops; @@ -249,6 +257,8 @@ extern "C" { #define GLSLANG_EXPORT #endif +GLSLANG_EXPORT void glslang_get_version(glslang_version_t* version); + GLSLANG_EXPORT int glslang_initialize_process(void); GLSLANG_EXPORT void glslang_finalize_process(void); From 10a923f740a9d1572bc003eba377b00246f37c81 Mon Sep 17 00:00:00 2001 From: Steve Urquhart Date: Wed, 10 Jul 2024 15:30:22 -0700 Subject: [PATCH 032/108] Add C interface function to set preprocessed shader code --- glslang/CInterface/glslang_c_interface.cpp | 5 +++++ glslang/Include/glslang_c_interface.h | 1 + 2 files changed, 6 insertions(+) diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp index bf00b4e0..cb566659 100644 --- a/glslang/CInterface/glslang_c_interface.cpp +++ b/glslang/CInterface/glslang_c_interface.cpp @@ -391,6 +391,11 @@ GLSLANG_EXPORT const char* glslang_shader_get_preprocessed_code(glslang_shader_t return shader->preprocessedGLSL.c_str(); } +GLSLANG_EXPORT void glslang_shader_set_preprocessed_code(glslang_shader_t* shader, const char* code) +{ + shader->preprocessedGLSL.assign(code); +} + GLSLANG_EXPORT int glslang_shader_preprocess(glslang_shader_t* shader, const glslang_input_t* input) { DirStackFileIncluder dirStackFileIncluder; diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h index 459b1216..1deafad8 100644 --- a/glslang/Include/glslang_c_interface.h +++ b/glslang/Include/glslang_c_interface.h @@ -274,6 +274,7 @@ GLSLANG_EXPORT void glslang_shader_set_default_uniform_block_name(glslang_shader GLSLANG_EXPORT int glslang_shader_preprocess(glslang_shader_t* shader, const glslang_input_t* input); GLSLANG_EXPORT int glslang_shader_parse(glslang_shader_t* shader, const glslang_input_t* input); GLSLANG_EXPORT const char* glslang_shader_get_preprocessed_code(glslang_shader_t* shader); +GLSLANG_EXPORT void glslang_shader_set_preprocessed_code(glslang_shader_t* shader, const char* code); GLSLANG_EXPORT const char* glslang_shader_get_info_log(glslang_shader_t* shader); GLSLANG_EXPORT const char* glslang_shader_get_info_debug_log(glslang_shader_t* shader); From 3c7b12c643437061aec00a813a7f7ae578ba813f Mon Sep 17 00:00:00 2001 From: Steve Urquhart Date: Wed, 10 Jul 2024 15:30:22 -0700 Subject: [PATCH 033/108] Add C interface types and functions for IO mapping --- glslang/CInterface/glslang_c_interface.cpp | 33 ++++++++++++++++++++++ glslang/Include/glslang_c_interface.h | 9 ++++++ 2 files changed, 42 insertions(+) diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp index cb566659..a2eeab4d 100644 --- a/glslang/CInterface/glslang_c_interface.cpp +++ b/glslang/CInterface/glslang_c_interface.cpp @@ -38,6 +38,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "glslang/Include/ShHandle.h" #include "glslang/Include/ResourceLimits.h" +#include "glslang/MachineIndependent/iomapper.h" #include "glslang/MachineIndependent/Versions.h" #include "glslang/MachineIndependent/localintermediate.h" @@ -482,6 +483,11 @@ GLSLANG_EXPORT int glslang_program_map_io(glslang_program_t* program) return (int)program->program->mapIO(); } +GLSLANG_EXPORT int glslang_program_map_io_with_resolver_and_mapper(glslang_program_t* program, glslang_resolver_t* resolver, glslang_mapper_t* mapper) +{ + return (int)program->program->mapIO(reinterpret_cast(resolver), reinterpret_cast(mapper)); +} + GLSLANG_EXPORT const char* glslang_program_get_info_log(glslang_program_t* program) { return program->program->getInfoLog(); @@ -491,3 +497,30 @@ GLSLANG_EXPORT const char* glslang_program_get_info_debug_log(glslang_program_t* { return program->program->getInfoDebugLog(); } + +GLSLANG_EXPORT glslang_mapper_t* glslang_glsl_mapper_create() +{ + return reinterpret_cast(new glslang::TGlslIoMapper()); +} + +GLSLANG_EXPORT void glslang_glsl_mapper_delete(glslang_mapper_t* mapper) +{ + if (!mapper) + return; + + delete reinterpret_cast(mapper); +} + +GLSLANG_EXPORT glslang_resolver_t* glslang_glsl_resolver_create(glslang_program_t* program, glslang_stage_t stage) +{ + glslang::TIntermediate* intermediate = program->program->getIntermediate(c_shader_stage(stage)); + return reinterpret_cast(new glslang::TDefaultGlslIoResolver(reinterpret_cast(*intermediate))); +} + +GLSLANG_EXPORT void glslang_glsl_resolver_delete(glslang_resolver_t* resolver) +{ + if (!resolver) + return; + + delete reinterpret_cast(resolver); +} diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h index 1deafad8..3cad97cc 100644 --- a/glslang/Include/glslang_c_interface.h +++ b/glslang/Include/glslang_c_interface.h @@ -40,6 +40,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. typedef struct glslang_shader_s glslang_shader_t; typedef struct glslang_program_s glslang_program_t; +typedef struct glslang_mapper_s glslang_mapper_t; +typedef struct glslang_resolver_s glslang_resolver_t; /* Version counterpart */ typedef struct glslang_version_s { @@ -285,6 +287,7 @@ GLSLANG_EXPORT int glslang_program_link(glslang_program_t* program, int messages GLSLANG_EXPORT void glslang_program_add_source_text(glslang_program_t* program, glslang_stage_t stage, const char* text, size_t len); GLSLANG_EXPORT void glslang_program_set_source_file(glslang_program_t* program, glslang_stage_t stage, const char* file); GLSLANG_EXPORT int glslang_program_map_io(glslang_program_t* program); +GLSLANG_EXPORT int glslang_program_map_io_with_resolver_and_mapper(glslang_program_t* program, glslang_resolver_t* resolver, glslang_mapper_t* mapper); GLSLANG_EXPORT void glslang_program_SPIRV_generate(glslang_program_t* program, glslang_stage_t stage); GLSLANG_EXPORT void glslang_program_SPIRV_generate_with_options(glslang_program_t* program, glslang_stage_t stage, glslang_spv_options_t* spv_options); GLSLANG_EXPORT size_t glslang_program_SPIRV_get_size(glslang_program_t* program); @@ -294,6 +297,12 @@ GLSLANG_EXPORT const char* glslang_program_SPIRV_get_messages(glslang_program_t* GLSLANG_EXPORT const char* glslang_program_get_info_log(glslang_program_t* program); GLSLANG_EXPORT const char* glslang_program_get_info_debug_log(glslang_program_t* program); +GLSLANG_EXPORT glslang_mapper_t* glslang_glsl_mapper_create(); +GLSLANG_EXPORT void glslang_glsl_mapper_delete(glslang_mapper_t* mapper); + +GLSLANG_EXPORT glslang_resolver_t* glslang_glsl_resolver_create(glslang_program_t* program, glslang_stage_t stage); +GLSLANG_EXPORT void glslang_glsl_resolver_delete(glslang_resolver_t* resolver); + #ifdef __cplusplus } #endif From 4b73607b8945402430ab0af0ae6faafa7e8906d0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 06:16:57 +0000 Subject: [PATCH 034/108] Bump ossf/scorecard-action from 2.3.3 to 2.4.0 Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.3.3 to 2.4.0. - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](https://github.com/ossf/scorecard-action/compare/dc50aa9510b46c811795eb24b2f1ba02a914e534...62b2cac7ed8198b15735ed49ab1e5cf35480ba46) --- updated-dependencies: - dependency-name: ossf/scorecard-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 344b0ba7..bbcd196a 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -28,7 +28,7 @@ jobs: persist-credentials: false - name: "Run analysis" - uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3 + uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0 with: results_file: results.sarif results_format: sarif From 9f34b25f30d8d1a0186d847249300366047a3315 Mon Sep 17 00:00:00 2001 From: Pavel Asyutchenko Date: Mon, 29 Jul 2024 19:34:50 +0200 Subject: [PATCH 035/108] Fix HLSL offsets for non-cbuffers (#3668) --- SPIRV/GlslangToSpv.cpp | 17 ++-- Test/baseResults/hlsl.buffer-offsets.comp.out | 81 +++++++++++++++++++ Test/hlsl.buffer-offsets.comp | 13 +++ gtests/Hlsl.FromFile.cpp | 1 + 4 files changed, 105 insertions(+), 7 deletions(-) create mode 100644 Test/baseResults/hlsl.buffer-offsets.comp.out create mode 100644 Test/hlsl.buffer-offsets.comp diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index fa7e02a1..7bfd50f5 100755 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -5404,13 +5404,16 @@ void TGlslangToSpvTraverser::updateMemberOffset(const glslang::TType& structType memberAlignment = componentAlignment; // Don't add unnecessary padding after this member - if (memberType.isMatrix()) { - if (matrixLayout == glslang::ElmRowMajor) - memberSize -= componentSize * (4 - memberType.getMatrixCols()); - else - memberSize -= componentSize * (4 - memberType.getMatrixRows()); - } else if (memberType.isArray()) - memberSize -= componentSize * (4 - memberType.getVectorSize()); + // (undo std140 bumping size to a mutliple of vec4) + if (explicitLayout == glslang::ElpStd140) { + if (memberType.isMatrix()) { + if (matrixLayout == glslang::ElmRowMajor) + memberSize -= componentSize * (4 - memberType.getMatrixCols()); + else + memberSize -= componentSize * (4 - memberType.getMatrixRows()); + } else if (memberType.isArray()) + memberSize -= componentSize * (4 - memberType.getVectorSize()); + } } // Bump up to member alignment diff --git a/Test/baseResults/hlsl.buffer-offsets.comp.out b/Test/baseResults/hlsl.buffer-offsets.comp.out new file mode 100644 index 00000000..d92d0be9 --- /dev/null +++ b/Test/baseResults/hlsl.buffer-offsets.comp.out @@ -0,0 +1,81 @@ +hlsl.buffer-offsets.comp +Shader version: 500 +local_size = (1, 1, 1) +0:? Sequence +0:12 Function Definition: @main( ( temp void) +0:12 Function Parameters: +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Function Call: @main( ( temp void) +0:? Linker Objects +0:? 'bIterData' (layout( binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 24-element array of float mIntegrationTrafo, temp 3-element array of float mWind, temp uint mIsTurning} @data}) + + +Linked compute stage: + + +Shader version: 500 +local_size = (1, 1, 1) +0:? Sequence +0:12 Function Definition: @main( ( temp void) +0:12 Function Parameters: +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Function Call: @main( ( temp void) +0:? Linker Objects +0:? 'bIterData' (layout( binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 24-element array of float mIntegrationTrafo, temp 3-element array of float mWind, temp uint mIsTurning} @data}) + +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 20 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint GLCompute 4 "main" + ExecutionMode 4 LocalSize 1 1 1 + Source HLSL 500 + Name 4 "main" + Name 6 "@main(" + Name 15 "GfxIterationData" + MemberName 15(GfxIterationData) 0 "mIntegrationTrafo" + MemberName 15(GfxIterationData) 1 "mWind" + MemberName 15(GfxIterationData) 2 "mIsTurning" + Name 17 "bIterData" + MemberName 17(bIterData) 0 "@data" + Name 19 "bIterData" + Decorate 12 ArrayStride 4 + Decorate 14 ArrayStride 4 + MemberDecorate 15(GfxIterationData) 0 Offset 0 + MemberDecorate 15(GfxIterationData) 1 Offset 96 + MemberDecorate 15(GfxIterationData) 2 Offset 108 + Decorate 16 ArrayStride 112 + Decorate 17(bIterData) BufferBlock + MemberDecorate 17(bIterData) 0 NonWritable + MemberDecorate 17(bIterData) 0 Offset 0 + Decorate 19(bIterData) Binding 2 + Decorate 19(bIterData) DescriptorSet 0 + 2: TypeVoid + 3: TypeFunction 2 + 9: TypeFloat 32 + 10: TypeInt 32 0 + 11: 10(int) Constant 24 + 12: TypeArray 9(float) 11 + 13: 10(int) Constant 3 + 14: TypeArray 9(float) 13 +15(GfxIterationData): TypeStruct 12 14 10(int) + 16: TypeRuntimeArray 15(GfxIterationData) + 17(bIterData): TypeStruct 16 + 18: TypePointer Uniform 17(bIterData) + 19(bIterData): 18(ptr) Variable Uniform + 4(main): 2 Function None 3 + 5: Label + 8: 2 FunctionCall 6(@main() + Return + FunctionEnd + 6(@main(): 2 Function None 3 + 7: Label + Return + FunctionEnd diff --git a/Test/hlsl.buffer-offsets.comp b/Test/hlsl.buffer-offsets.comp new file mode 100644 index 00000000..13e4052d --- /dev/null +++ b/Test/hlsl.buffer-offsets.comp @@ -0,0 +1,13 @@ +// See https://github.com/KhronosGroup/glslang/issues/3668 + +struct GfxIterationData { + float mIntegrationTrafo[24]; + float mWind[3]; + uint mIsTurning; +}; + +StructuredBuffer bIterData : register(t2); + +void main() +{ +} diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp index c94a3381..053793df 100644 --- a/gtests/Hlsl.FromFile.cpp +++ b/gtests/Hlsl.FromFile.cpp @@ -170,6 +170,7 @@ INSTANTIATE_TEST_SUITE_P( {"hlsl.basic.geom", "main"}, {"hlsl.boolConv.vert", "main"}, {"hlsl.buffer.frag", "PixelShaderFunction"}, + {"hlsl.buffer-offsets.comp", "main"}, {"hlsl.calculatelod.dx10.frag", "main"}, {"hlsl.calculatelodunclamped.dx10.frag", "main"}, {"hlsl.cast.frag", "PixelShaderFunction"}, From 6a28e226c7ae4669ec10cc658a9af8c3d3ef4bcb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 06:16:54 +0000 Subject: [PATCH 036/108] Bump github/codeql-action from 3.25.13 to 3.25.15 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.13 to 3.25.15. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/2d790406f505036ef40ecba973cc774a50395aac...afb54ba388a7dca6ecae48f608c4ff05ff4cc77a) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index bbcd196a..f758cadf 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 + uses: github/codeql-action/upload-sarif@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15 with: sarif_file: results.sarif From 69249e46b6286e41ee47b5f51bf814881f15b63a Mon Sep 17 00:00:00 2001 From: Malcolm Bechard Date: Fri, 12 Jul 2024 00:51:48 -0400 Subject: [PATCH 037/108] add cross-stage check for missing outputs If an 'in' is present in a shader stage, make sure a matching 'out' is present in the previous stage. Only enabled when doing Vulkan. This commit also fixes a bug where previous stage's linkerObjects got polluted with 'in' variables from the next stage when merging linker objects. --- .../iomap.crossStage.vk.2.vert.out | 313 ++++++++++++++++++ Test/iomap.crossStage.vk.2.frag | 24 ++ Test/iomap.crossStage.vk.2.geom | 32 ++ Test/iomap.crossStage.vk.2.vert | 14 + glslang/MachineIndependent/linkValidate.cpp | 80 +++-- gtests/GlslMapIO.FromFile.cpp | 1 + 6 files changed, 439 insertions(+), 25 deletions(-) create mode 100755 Test/baseResults/iomap.crossStage.vk.2.vert.out create mode 100755 Test/iomap.crossStage.vk.2.frag create mode 100755 Test/iomap.crossStage.vk.2.geom create mode 100755 Test/iomap.crossStage.vk.2.vert diff --git a/Test/baseResults/iomap.crossStage.vk.2.vert.out b/Test/baseResults/iomap.crossStage.vk.2.vert.out new file mode 100755 index 00000000..2334df5c --- /dev/null +++ b/Test/baseResults/iomap.crossStage.vk.2.vert.out @@ -0,0 +1,313 @@ +iomap.crossStage.vk.2.vert +Shader version: 460 +0:? Sequence +0:8 Function Definition: main( ( global void) +0:8 Function Parameters: +0:10 Sequence +0:10 move second child to first child ( temp highp 4-component vector of float) +0:10 val: direct index for structure ( out highp 4-component vector of float) +0:10 'anon@0' ( out block{ out highp 4-component vector of float val}) +0:10 Constant: +0:10 0 (const uint) +0:10 Constant: +0:10 0.500000 +0:10 0.500000 +0:10 0.500000 +0:10 0.500000 +0:11 move second child to first child ( temp highp 4-component vector of float) +0:11 'color' ( smooth out highp 4-component vector of float) +0:11 Constant: +0:11 1.000000 +0:11 1.000000 +0:11 1.000000 +0:11 1.000000 +0:12 move second child to first child ( temp 4-component vector of float) +0:12 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:12 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, out unsized 1-element array of float CullDistance gl_CullDistance}) +0:12 Constant: +0:12 0 (const uint) +0:12 Constant: +0:12 1.000000 +0:12 1.000000 +0:12 1.000000 +0:12 1.000000 +0:? Linker Objects +0:? 'anon@0' ( out block{ out highp 4-component vector of float val}) +0:? 'color' ( smooth out highp 4-component vector of float) +0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, out unsized 1-element array of float CullDistance gl_CullDistance}) + +iomap.crossStage.vk.2.geom +Shader version: 460 +invocations = -1 +max_vertices = 3 +input primitive = points +output primitive = triangle_strip +0:? Sequence +0:23 Function Definition: main( ( global void) +0:23 Function Parameters: +0:25 Sequence +0:25 Sequence +0:25 Sequence +0:25 move second child to first child ( temp highp int) +0:25 'i' ( temp highp int) +0:25 Constant: +0:25 0 (const int) +0:25 Loop with condition tested first +0:25 Loop Condition +0:25 Compare Less Than ( temp bool) +0:25 'i' ( temp highp int) +0:25 Constant: +0:25 3 (const int) +0:25 Loop Body +0:26 Sequence +0:26 move second child to first child ( temp highp 4-component vector of float) +0:26 'colorOut' (layout( stream=0) out highp 4-component vector of float) +0:26 component-wise multiply ( temp highp 4-component vector of float) +0:26 indirect index ( temp highp 4-component vector of float) +0:26 'color' ( in 1-element array of highp 4-component vector of float) +0:26 'i' ( temp highp int) +0:26 val: direct index for structure ( in highp 4-component vector of float) +0:26 indirect index ( temp block{ in highp 4-component vector of float val}) +0:26 'vv' ( in 1-element array of block{ in highp 4-component vector of float val}) +0:26 'i' ( temp highp int) +0:26 Constant: +0:26 0 (const int) +0:27 move second child to first child ( temp highp 4-component vector of float) +0:27 vv2Val: direct index for structure (layout( stream=0) out highp 4-component vector of float) +0:27 'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float vv2Val}) +0:27 Constant: +0:27 0 (const uint) +0:27 Constant: +0:27 1.000000 +0:27 1.000000 +0:27 1.000000 +0:27 1.000000 +0:28 EmitVertex ( global void) +0:25 Loop Terminal Expression +0:25 Post-Increment ( temp highp int) +0:25 'i' ( temp highp int) +0:30 EndPrimitive ( global void) +0:? Linker Objects +0:? 'vgo1' ( in 1-element array of highp 4-component vector of float) +0:? 'color' ( in 1-element array of highp 4-component vector of float) +0:? 'colorOut' (layout( stream=0) out highp 4-component vector of float) +0:? 'vv' ( in 1-element array of block{ in highp 4-component vector of float val}) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float vv2Val}) + +iomap.crossStage.vk.2.frag +Shader version: 460 +gl_FragCoord origin is upper left +0:? Sequence +0:19 Function Definition: main( ( global void) +0:19 Function Parameters: +0:21 Sequence +0:21 move second child to first child ( temp highp 4-component vector of float) +0:21 'fragColor' ( out highp 4-component vector of float) +0:21 add ( temp highp 4-component vector of float) +0:21 'colorOut' ( smooth in highp 4-component vector of float) +0:21 component-wise multiply ( temp highp 4-component vector of float) +0:21 component-wise multiply ( temp highp 4-component vector of float) +0:21 component-wise multiply ( temp highp 4-component vector of float) +0:21 'unsetColor' ( smooth in highp 4-component vector of float) +0:21 Construct vec4 ( temp highp 4-component vector of float) +0:21 vector swizzle ( temp highp 4-component vector of float) +0:21 val: direct index for structure ( in highp 2-component vector of float) +0:21 'iVert' ( in block{ in highp 2-component vector of float val}) +0:21 Constant: +0:21 0 (const int) +0:21 Sequence +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 1 (const int) +0:21 Constant: +0:21 1 (const int) +0:21 Construct vec4 ( temp highp 4-component vector of float) +0:21 vector swizzle ( temp highp 4-component vector of float) +0:21 val2: direct index for structure ( in highp 2-component vector of float) +0:21 'anon@0' ( in block{ in highp 2-component vector of float val2}) +0:21 Constant: +0:21 0 (const uint) +0:21 Sequence +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 1 (const int) +0:21 Constant: +0:21 1 (const int) +0:22 'vv2Val' ( smooth in highp 4-component vector of float) +0:? Linker Objects +0:? 'unsetColor' ( smooth in highp 4-component vector of float) +0:? 'colorOut' ( smooth in highp 4-component vector of float) +0:? 'fragColor' ( out highp 4-component vector of float) +0:? 'iVert' ( in block{ in highp 2-component vector of float val}) +0:? 'anon@0' ( in block{ in highp 2-component vector of float val2}) +0:? 'vv2Val' ( smooth in highp 4-component vector of float) + + +Linked vertex stage: + + +Linked geometry stage: + + +Linked fragment stage: + +ERROR: Linking vertex and geometry stages: Input 'vgo1' in geometry shader has no corresponding output in vertex shader. +ERROR: Linking geometry and fragment stages: Input 'unsetColor' in fragment shader has no corresponding output in geometry shader. +ERROR: Linking geometry and fragment stages: Input 'Vertex' in fragment shader has no corresponding output in geometry shader. +ERROR: Linking geometry and fragment stages: Input 'Vertex2' in fragment shader has no corresponding output in geometry shader. +ERROR: Linking geometry and fragment stages: Input 'vv2Val' in fragment shader has no corresponding output in geometry shader. + +Shader version: 460 +0:? Sequence +0:8 Function Definition: main( ( global void) +0:8 Function Parameters: +0:10 Sequence +0:10 move second child to first child ( temp highp 4-component vector of float) +0:10 val: direct index for structure ( out highp 4-component vector of float) +0:10 'anon@0' ( out block{ out highp 4-component vector of float val}) +0:10 Constant: +0:10 0 (const uint) +0:10 Constant: +0:10 0.500000 +0:10 0.500000 +0:10 0.500000 +0:10 0.500000 +0:11 move second child to first child ( temp highp 4-component vector of float) +0:11 'color' ( smooth out highp 4-component vector of float) +0:11 Constant: +0:11 1.000000 +0:11 1.000000 +0:11 1.000000 +0:11 1.000000 +0:12 move second child to first child ( temp 4-component vector of float) +0:12 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:12 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, out 1-element array of float CullDistance gl_CullDistance}) +0:12 Constant: +0:12 0 (const uint) +0:12 Constant: +0:12 1.000000 +0:12 1.000000 +0:12 1.000000 +0:12 1.000000 +0:? Linker Objects +0:? 'anon@0' ( out block{ out highp 4-component vector of float val}) +0:? 'color' ( smooth out highp 4-component vector of float) +0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, out 1-element array of float CullDistance gl_CullDistance}) +Shader version: 460 +invocations = 1 +max_vertices = 3 +input primitive = points +output primitive = triangle_strip +0:? Sequence +0:23 Function Definition: main( ( global void) +0:23 Function Parameters: +0:25 Sequence +0:25 Sequence +0:25 Sequence +0:25 move second child to first child ( temp highp int) +0:25 'i' ( temp highp int) +0:25 Constant: +0:25 0 (const int) +0:25 Loop with condition tested first +0:25 Loop Condition +0:25 Compare Less Than ( temp bool) +0:25 'i' ( temp highp int) +0:25 Constant: +0:25 3 (const int) +0:25 Loop Body +0:26 Sequence +0:26 move second child to first child ( temp highp 4-component vector of float) +0:26 'colorOut' (layout( stream=0) out highp 4-component vector of float) +0:26 component-wise multiply ( temp highp 4-component vector of float) +0:26 indirect index ( temp highp 4-component vector of float) +0:26 'color' ( in 1-element array of highp 4-component vector of float) +0:26 'i' ( temp highp int) +0:26 val: direct index for structure ( in highp 4-component vector of float) +0:26 indirect index ( temp block{ in highp 4-component vector of float val}) +0:26 'vv' ( in 1-element array of block{ in highp 4-component vector of float val}) +0:26 'i' ( temp highp int) +0:26 Constant: +0:26 0 (const int) +0:27 move second child to first child ( temp highp 4-component vector of float) +0:27 vv2Val: direct index for structure (layout( stream=0) out highp 4-component vector of float) +0:27 'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float vv2Val}) +0:27 Constant: +0:27 0 (const uint) +0:27 Constant: +0:27 1.000000 +0:27 1.000000 +0:27 1.000000 +0:27 1.000000 +0:28 EmitVertex ( global void) +0:25 Loop Terminal Expression +0:25 Post-Increment ( temp highp int) +0:25 'i' ( temp highp int) +0:30 EndPrimitive ( global void) +0:? Linker Objects +0:? 'vgo1' ( in 1-element array of highp 4-component vector of float) +0:? 'color' ( in 1-element array of highp 4-component vector of float) +0:? 'colorOut' (layout( stream=0) out highp 4-component vector of float) +0:? 'vv' ( in 1-element array of block{ in highp 4-component vector of float val}) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float vv2Val}) +Shader version: 460 +gl_FragCoord origin is upper left +0:? Sequence +0:19 Function Definition: main( ( global void) +0:19 Function Parameters: +0:21 Sequence +0:21 move second child to first child ( temp highp 4-component vector of float) +0:21 'fragColor' ( out highp 4-component vector of float) +0:21 add ( temp highp 4-component vector of float) +0:21 'colorOut' ( smooth in highp 4-component vector of float) +0:21 component-wise multiply ( temp highp 4-component vector of float) +0:21 component-wise multiply ( temp highp 4-component vector of float) +0:21 component-wise multiply ( temp highp 4-component vector of float) +0:21 'unsetColor' ( smooth in highp 4-component vector of float) +0:21 Construct vec4 ( temp highp 4-component vector of float) +0:21 vector swizzle ( temp highp 4-component vector of float) +0:21 val: direct index for structure ( in highp 2-component vector of float) +0:21 'iVert' ( in block{ in highp 2-component vector of float val}) +0:21 Constant: +0:21 0 (const int) +0:21 Sequence +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 1 (const int) +0:21 Constant: +0:21 1 (const int) +0:21 Construct vec4 ( temp highp 4-component vector of float) +0:21 vector swizzle ( temp highp 4-component vector of float) +0:21 val2: direct index for structure ( in highp 2-component vector of float) +0:21 'anon@0' ( in block{ in highp 2-component vector of float val2}) +0:21 Constant: +0:21 0 (const uint) +0:21 Sequence +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 1 (const int) +0:21 Constant: +0:21 1 (const int) +0:22 'vv2Val' ( smooth in highp 4-component vector of float) +0:? Linker Objects +0:? 'unsetColor' ( smooth in highp 4-component vector of float) +0:? 'colorOut' ( smooth in highp 4-component vector of float) +0:? 'fragColor' ( out highp 4-component vector of float) +0:? 'iVert' ( in block{ in highp 2-component vector of float val}) +0:? 'anon@0' ( in block{ in highp 2-component vector of float val2}) +0:? 'vv2Val' ( smooth in highp 4-component vector of float) +Mismatched cross-stage IO + +Validation failed +SPIR-V is not generated for failed compile or link diff --git a/Test/iomap.crossStage.vk.2.frag b/Test/iomap.crossStage.vk.2.frag new file mode 100755 index 00000000..e34a9a9b --- /dev/null +++ b/Test/iomap.crossStage.vk.2.frag @@ -0,0 +1,24 @@ +#version 460 + +in vec4 unsetColor; +in vec4 colorOut; +out vec4 fragColor; + +in Vertex +{ + vec2 val; +} iVert; + +in Vertex2 +{ + vec2 val2; +}; + +in vec4 vv2Val; + +void main() +{ + fragColor = colorOut + unsetColor * vec4(iVert.val.xxyy) * vec4(val2.xxyy) * + vv2Val; +} + diff --git a/Test/iomap.crossStage.vk.2.geom b/Test/iomap.crossStage.vk.2.geom new file mode 100755 index 00000000..11e7b9ab --- /dev/null +++ b/Test/iomap.crossStage.vk.2.geom @@ -0,0 +1,32 @@ +#version 460 + +layout(points) in; +layout(triangle_strip, max_vertices=3) out; + +// Not written by vertex shader +in vec4 vgo1[]; + +in vec4 color[]; + +out vec4 colorOut; + +in VV +{ + vec4 val; +} vv[]; + +out VV2 +{ + vec4 vv2Val; +}; + +void main() +{ + for (int i = 0; i < 3; i++) { + colorOut = color[i] * vv[i].val; + vv2Val = vec4(1.0); + EmitVertex(); + } + EndPrimitive(); +} + diff --git a/Test/iomap.crossStage.vk.2.vert b/Test/iomap.crossStage.vk.2.vert new file mode 100755 index 00000000..8788ec2c --- /dev/null +++ b/Test/iomap.crossStage.vk.2.vert @@ -0,0 +1,14 @@ +#version 460 + +out VV +{ + vec4 val; +}; +out vec4 color; +void main() +{ + val = vec4(0.5); + color = vec4(1.0); + gl_Position = vec4(1.0); +} + diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp index 81857b24..182a6775 100644 --- a/glslang/MachineIndependent/linkValidate.cpp +++ b/glslang/MachineIndependent/linkValidate.cpp @@ -113,6 +113,28 @@ void TIntermediate::mergeUniformObjects(TInfoSink& infoSink, TIntermediate& unit mergeLinkerObjects(infoSink, linkerObjects, unitLinkerObjects, unit.getStage()); } +static inline bool isSameInterface(TIntermSymbol* symbol, EShLanguage stage, TIntermSymbol* unitSymbol, EShLanguage unitStage) { + return // 1) same stage and same shader interface + (stage == unitStage && symbol->getType().getShaderInterface() == unitSymbol->getType().getShaderInterface()) || + // 2) accross stages and both are uniform or buffer + (symbol->getQualifier().storage == EvqUniform && unitSymbol->getQualifier().storage == EvqUniform) || + (symbol->getQualifier().storage == EvqBuffer && unitSymbol->getQualifier().storage == EvqBuffer) || + // 3) in/out matched across stage boundary + (stage < unitStage && symbol->getQualifier().storage == EvqVaryingOut && unitSymbol->getQualifier().storage == EvqVaryingIn) || + (unitStage < stage && symbol->getQualifier().storage == EvqVaryingIn && unitSymbol->getQualifier().storage == EvqVaryingOut); +} + +static bool isSameSymbol(TIntermSymbol* symbol1, EShLanguage stage1, TIntermSymbol* symbol2, EShLanguage stage2) { + // If they are both blocks in the same shader interface, + // match by the block-name, not the identifier name. + if (symbol1->getType().getBasicType() == EbtBlock && symbol2->getType().getBasicType() == EbtBlock) { + if (isSameInterface(symbol1, stage1, symbol2, stage2)) { + return symbol1->getType().getTypeName() == symbol2->getType().getTypeName(); + } + } else if (symbol1->getName() == symbol2->getName()) + return true; + return false; +} // // do error checking on the shader boundary in / out vars // @@ -137,7 +159,32 @@ void TIntermediate::checkStageIO(TInfoSink& infoSink, TIntermediate& unit) { // do matching and error checking mergeLinkerObjects(infoSink, linkerObjects, unitLinkerObjects, unit.getStage()); - // TODO: final check; make sure that any statically used `in` have matching `out` written to + // Check that all of our inputs have matching outputs from the previous stage. + // Only do this for Vulkan, since GL_ARB_separate_shader_objects allows for + // the in/out to not match + if (spvVersion.vulkan > 0) { + for (auto& nextStageInterm : unitLinkerObjects) { + auto* nextStageSymbol = nextStageInterm->getAsSymbolNode(); + bool found = false; + for (auto& curStageInterm : linkerObjects) { + if (isSameSymbol(curStageInterm->getAsSymbolNode(), getStage(), nextStageSymbol, unit.getStage())) { + found = true; + break; + } + } + if (!found) { + TString errmsg; + errmsg.append("Input '"); + if (nextStageSymbol->getType().getBasicType() == EbtBlock) + errmsg.append(nextStageSymbol->getType().getTypeName()); + else + errmsg.append(nextStageSymbol->getName()); + errmsg.append("' in ").append(StageName(unit.getStage())); + errmsg.append(" shader has no corresponding output in ").append(StageName(getStage())).append(" shader."); + error(infoSink, errmsg.c_str(), unit.getStage()); + } + } + } } void TIntermediate::mergeCallGraphs(TInfoSink& infoSink, TIntermediate& unit) @@ -511,17 +558,6 @@ void TIntermediate::mergeBodies(TInfoSink& infoSink, TIntermSequence& globals, c globals.insert(globals.end() - 1, unitGlobals.begin(), unitGlobals.end() - 1); } -static inline bool isSameInterface(TIntermSymbol* symbol, EShLanguage stage, TIntermSymbol* unitSymbol, EShLanguage unitStage) { - return // 1) same stage and same shader interface - (stage == unitStage && symbol->getType().getShaderInterface() == unitSymbol->getType().getShaderInterface()) || - // 2) accross stages and both are uniform or buffer - (symbol->getQualifier().storage == EvqUniform && unitSymbol->getQualifier().storage == EvqUniform) || - (symbol->getQualifier().storage == EvqBuffer && unitSymbol->getQualifier().storage == EvqBuffer) || - // 3) in/out matched across stage boundary - (stage < unitStage && symbol->getQualifier().storage == EvqVaryingOut && unitSymbol->getQualifier().storage == EvqVaryingIn) || - (unitStage < stage && symbol->getQualifier().storage == EvqVaryingIn && unitSymbol->getQualifier().storage == EvqVaryingOut); -} - // // Global Unfiform block stores any default uniforms (i.e. uniforms without a block) // If two linked stages declare the same member, they are meant to be the same uniform @@ -707,24 +743,18 @@ void TIntermediate::mergeLinkerObjects(TInfoSink& infoSink, TIntermSequence& lin // Error check and merge the linker objects (duplicates should not be created) std::size_t initialNumLinkerObjects = linkerObjects.size(); for (unsigned int unitLinkObj = 0; unitLinkObj < unitLinkerObjects.size(); ++unitLinkObj) { + TIntermSymbol* unitSymbol = unitLinkerObjects[unitLinkObj]->getAsSymbolNode(); bool merge = true; + + // Don't merge inputs backwards into previous stages + if (getStage() != unitStage && unitSymbol->getQualifier().storage == EvqVaryingIn) + merge = false; + for (std::size_t linkObj = 0; linkObj < initialNumLinkerObjects; ++linkObj) { TIntermSymbol* symbol = linkerObjects[linkObj]->getAsSymbolNode(); - TIntermSymbol* unitSymbol = unitLinkerObjects[unitLinkObj]->getAsSymbolNode(); assert(symbol && unitSymbol); - bool isSameSymbol = false; - // If they are both blocks in the same shader interface, - // match by the block-name, not the identifier name. - if (symbol->getType().getBasicType() == EbtBlock && unitSymbol->getType().getBasicType() == EbtBlock) { - if (isSameInterface(symbol, getStage(), unitSymbol, unitStage)) { - isSameSymbol = symbol->getType().getTypeName() == unitSymbol->getType().getTypeName(); - } - } - else if (symbol->getName() == unitSymbol->getName()) - isSameSymbol = true; - - if (isSameSymbol) { + if (isSameSymbol(symbol, getStage(), unitSymbol, unitStage)) { // filter out copy merge = false; diff --git a/gtests/GlslMapIO.FromFile.cpp b/gtests/GlslMapIO.FromFile.cpp index 1dba5c0c..9c3c8be5 100644 --- a/gtests/GlslMapIO.FromFile.cpp +++ b/gtests/GlslMapIO.FromFile.cpp @@ -345,6 +345,7 @@ INSTANTIATE_TEST_SUITE_P( {{"iomap.variableOutBlockIn.2.vert", "iomap.variableOutBlockIn.geom"}, Semantics::OpenGL}, // vulkan semantics {{"iomap.crossStage.vk.vert", "iomap.crossStage.vk.geom", "iomap.crossStage.vk.frag" }, Semantics::Vulkan}, + {{"iomap.crossStage.vk.2.vert", "iomap.crossStage.vk.2.geom", "iomap.crossStage.vk.2.frag" }, Semantics::Vulkan}, })) ); // clang-format on From 7e896697dc04d2be09ddfe920b7b7cf5bab7cf01 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Tue, 30 Jul 2024 17:58:54 -0400 Subject: [PATCH 038/108] Add SPIRV/SpvTools.h back to the public headers Clean up the includes in SpvTools.h so that it doesn't require any transitive dependencies and add it back to the headers that get installed. --- SPIRV/CInterface/spirv_c_interface.cpp | 2 ++ SPIRV/CMakeLists.txt | 3 ++- SPIRV/SpvTools.cpp | 1 + SPIRV/SpvTools.h | 5 ++++- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/SPIRV/CInterface/spirv_c_interface.cpp b/SPIRV/CInterface/spirv_c_interface.cpp index 2ba819b8..631d19d7 100644 --- a/SPIRV/CInterface/spirv_c_interface.cpp +++ b/SPIRV/CInterface/spirv_c_interface.cpp @@ -32,6 +32,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "glslang/Include/glslang_c_interface.h" +#include +#include "glslang/Public/ShaderLang.h" #include "SPIRV/GlslangToSpv.h" #include "SPIRV/Logger.h" #include "SPIRV/SpvTools.h" diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt index 66808812..5e52b38d 100644 --- a/SPIRV/CMakeLists.txt +++ b/SPIRV/CMakeLists.txt @@ -76,7 +76,8 @@ set(PUBLIC_HEADERS disassemble.h Logger.h spirv.hpp - SPVRemapper.h) + SPVRemapper.h + SpvTools.h) add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS}) add_library(glslang::SPIRV ALIAS SPIRV) diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp index ff04f4f9..934d834e 100644 --- a/SPIRV/SpvTools.cpp +++ b/SPIRV/SpvTools.cpp @@ -44,6 +44,7 @@ #include "SpvTools.h" #include "spirv-tools/optimizer.hpp" +#include "glslang/MachineIndependent/localintermediate.h" namespace glslang { diff --git a/SPIRV/SpvTools.h b/SPIRV/SpvTools.h index eabde466..a72d652c 100644 --- a/SPIRV/SpvTools.h +++ b/SPIRV/SpvTools.h @@ -44,10 +44,11 @@ #if ENABLE_OPT #include #include +#include #include "spirv-tools/libspirv.h" #endif -#include "glslang/MachineIndependent/localintermediate.h" +#include "glslang/MachineIndependent/Versions.h" #include "GlslangToSpv.h" #include "Logger.h" @@ -55,6 +56,8 @@ namespace glslang { #if ENABLE_OPT +class TIntermediate; + // Translate glslang's view of target versioning to what SPIRV-Tools uses. spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLogger* logger); From 8590f62c145549b30e07d6714afe6158174574f7 Mon Sep 17 00:00:00 2001 From: Malcolm Bechard Date: Tue, 30 Jul 2024 16:06:37 -0400 Subject: [PATCH 039/108] add optimizerAllowExpandedIDBound to SpvOptions This option increases the max_id_bound in the optimizer to 0x3FFFFFFF, and then runs a compact-id pass if the final result has a max_id greater than the standard limit of 0x3FFFFF. --- SPIRV/GlslangToSpv.h | 1 + SPIRV/SpvTools.cpp | 11 +++++++++++ glslang/Include/glslang_c_interface.h | 1 + 3 files changed, 13 insertions(+) diff --git a/SPIRV/GlslangToSpv.h b/SPIRV/GlslangToSpv.h index 1b9ef3c5..95ea891b 100644 --- a/SPIRV/GlslangToSpv.h +++ b/SPIRV/GlslangToSpv.h @@ -53,6 +53,7 @@ struct SpvOptions { bool emitNonSemanticShaderDebugInfo {false}; bool emitNonSemanticShaderDebugSource{ false }; bool compileOnly{false}; + bool optimizerAllowExpandedIDBound{false}; }; void GetSpirvVersion(std::string&); diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp index 934d834e..6360ab49 100644 --- a/SPIRV/SpvTools.cpp +++ b/SPIRV/SpvTools.cpp @@ -219,9 +219,20 @@ void SpirvToolsTransform(const glslang::TIntermediate& intermediate, std::vector optimizer.RegisterPass(spvtools::CreateCFGCleanupPass()); spvtools::OptimizerOptions spvOptOptions; + if (options->optimizerAllowExpandedIDBound) + spvOptOptions.set_max_id_bound(0x3FFFFFFF); optimizer.SetTargetEnv(MapToSpirvToolsEnv(intermediate.getSpv(), logger)); spvOptOptions.set_run_validator(false); // The validator may run as a separate step later on optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); + + if (options->optimizerAllowExpandedIDBound) { + if (spirv.size() > 3 && spirv[3] > kDefaultMaxIdBound) { + spvtools::Optimizer optimizer2(target_env); + optimizer2.SetMessageConsumer(OptimizerMesssageConsumer); + optimizer2.RegisterPass(spvtools::CreateCompactIdsPass()); + optimizer2.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); + } + } } bool SpirvToolsAnalyzeDeadOutputStores(spv_target_env target_env, std::vector& spirv, diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h index 3cad97cc..a78b9f5d 100644 --- a/glslang/Include/glslang_c_interface.h +++ b/glslang/Include/glslang_c_interface.h @@ -237,6 +237,7 @@ typedef struct glslang_spv_options_s { bool emit_nonsemantic_shader_debug_info; bool emit_nonsemantic_shader_debug_source; bool compile_only; + bool optimize_allow_expanded_id_bound; } glslang_spv_options_t; #ifdef __cplusplus From 48154f1766cb41e180ed5af952ffad1c0de8c334 Mon Sep 17 00:00:00 2001 From: ravi688 Date: Sat, 22 Jun 2024 23:47:29 +0530 Subject: [PATCH 040/108] Update comment to more succint that 8/16-bit composites can't be directly constructed Earlier the comment looked misleading that composites of 8/16-bit types can't be constructed at all. As per the GL_EXT_shader_16bit_storage extension, they can't be constructed directly, however, can be constructed indirectly. --- glslang/MachineIndependent/ParseHelper.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index 6351997a..724e4cde 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -8539,7 +8539,7 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T case EOpConstructF16Mat4x4: case EOpConstructFloat16: basicOp = EOpConstructFloat16; - // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // 8/16-bit storage extensions don't support direct constructing composites of 8/16-bit types, // so construct a 32-bit type and convert // and do not generate any conversion if it is an identity conversion, i.e. float16_t( var) if (!intermediate.getArithemeticFloat16Enabled() && (node->getBasicType() != EbtFloat16)) { @@ -8563,7 +8563,7 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T case EOpConstructI8Vec4: case EOpConstructInt8: basicOp = EOpConstructInt8; - // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // 8/16-bit storage extensions don't support direct constructing composites of 8/16-bit types, // so construct a 32-bit type and convert // and do not generate any conversion if it is an identity conversion, i.e. int8_t( var) if (!intermediate.getArithemeticInt8Enabled() && (node->getBasicType() != EbtInt8)) { @@ -8587,7 +8587,7 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T case EOpConstructU8Vec4: case EOpConstructUint8: basicOp = EOpConstructUint8; - // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // 8/16-bit storage extensions don't support direct constructing composites of 8/16-bit types, // so construct a 32-bit type and convert // and do not generate any conversion if it is an identity conversion, i.e. uint8_t( var) if (!intermediate.getArithemeticInt8Enabled() && (node->getBasicType() != EbtUint8)) { @@ -8611,7 +8611,7 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T case EOpConstructI16Vec4: case EOpConstructInt16: basicOp = EOpConstructInt16; - // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // 8/16-bit storage extensions don't support direct constructing composites of 8/16-bit types, // so construct a 32-bit type and convert // and do not generate any conversion if it is an identity conversion, i.e. int16_t( var) if (!intermediate.getArithemeticInt16Enabled() && (node->getBasicType() != EbtInt16)) { @@ -8635,7 +8635,7 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T case EOpConstructU16Vec4: case EOpConstructUint16: basicOp = EOpConstructUint16; - // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // 8/16-bit storage extensions don't support direct constructing composites of 8/16-bit types, // so construct a 32-bit type and convert // and do not generate any conversion if it is an identity conversion, i.e. uint16_t( var) if (!intermediate.getArithemeticInt16Enabled() && (node->getBasicType() != EbtUint16)) { From 11290021b7c552a15cf0841a120951e268571ece Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Mon, 29 Jul 2024 18:57:02 -0400 Subject: [PATCH 041/108] ci: Add a list of known validation fails Add a Test/baseResults/validation_fails.txt file to track test results with known validation fails. This will hopefully make it easier to spot when new test results are added that have invalid SPIR-V. --- .github/workflows/continuous_integration.yml | 2 + Test/baseResults/validation_fails.txt | 71 ++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 Test/baseResults/validation_fails.txt diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 8a5a34ae..ab1acf9a 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -43,6 +43,8 @@ jobs: run: ctest --output-on-failure --test-dir build - name: Test (standalone) run: cd Test && ./runtests + - name: Check known validation failure list + run: grep -l 'Validation failed' Test/baseResults/* | sort -fd | diff -u Test/baseResults/validation_fails.txt - linux-asan: runs-on: ubuntu-22.04 diff --git a/Test/baseResults/validation_fails.txt b/Test/baseResults/validation_fails.txt new file mode 100644 index 00000000..1a3ca863 --- /dev/null +++ b/Test/baseResults/validation_fails.txt @@ -0,0 +1,71 @@ +Test/baseResults/hlsl.attributeC11.frag.out +Test/baseResults/hlsl.buffer.frag.out +Test/baseResults/hlsl.cbuffer-offsets.comp.out +Test/baseResults/hlsl.constantbuffer.frag.out +Test/baseResults/hlsl.constructimat.frag.out +Test/baseResults/hlsl.coverage.frag.out +Test/baseResults/hlsl.emptystructreturn.frag.out +Test/baseResults/hlsl.emptystructreturn.tesc.out +Test/baseResults/hlsl.emptystructreturn.vert.out +Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out +Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out +Test/baseResults/hlsl.intrinsics.comp.out +Test/baseResults/hlsl.intrinsics.frag.out +Test/baseResults/hlsl.intrinsics.vert.out +Test/baseResults/hlsl.layout.frag.out +Test/baseResults/hlsl.matNx1.frag.out +Test/baseResults/hlsl.matrixSwizzle.vert.out +Test/baseResults/hlsl.matType.bool.frag.out +Test/baseResults/hlsl.matType.frag.out +Test/baseResults/hlsl.matType.int.frag.out +Test/baseResults/hlsl.partialInit.frag.out +Test/baseResults/hlsl.PointSize.geom.out +Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out +Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out +Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out +Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out +Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out +Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out +Test/baseResults/hlsl.semantic.geom.out +Test/baseResults/hlsl.semantic.vert.out +Test/baseResults/hlsl.structarray.flatten.frag.out +Test/baseResults/hlsl.structbuffer.append.fn.frag.out +Test/baseResults/hlsl.structbuffer.atomics.frag.out +Test/baseResults/hlsl.structbuffer.fn.frag.out +Test/baseResults/hlsl.struct.frag.out +Test/baseResults/hlsl.struct.split.assign.frag.out +Test/baseResults/hlsl.texture.struct.frag.out +Test/baseResults/hlsl.tristream-append.geom.out +Test/baseResults/iomap.crossStage.vk.2.vert.out +Test/baseResults/link.vk.differentPC.0.0.frag.out +Test/baseResults/link.vk.differentPC.1.0.frag.out +Test/baseResults/link.vk.pcNamingInvalid.0.0.vert.out +Test/baseResults/spv.130.frag.out +Test/baseResults/spv.140.frag.out +Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out +Test/baseResults/spv.400.frag.out +Test/baseResults/spv.430.vert.out +Test/baseResults/spv.450.tesc.out +Test/baseResults/spv.8bit-16bit-construction.frag.out +Test/baseResults/spv.AofA.frag.out +Test/baseResults/spv.controlFlowAttributes.frag.out +Test/baseResults/spv.dataOut.frag.out +Test/baseResults/spv.float16Fetch.frag.out +Test/baseResults/spv.float16.frag.out +Test/baseResults/spv.float64.frag.out +Test/baseResults/spv.floatFetch.frag.out +Test/baseResults/spv.functionNestedOpaque.vert.out +Test/baseResults/spv.imageAtomic64.frag.out +Test/baseResults/spv.image.frag.out +Test/baseResults/spv.int64.frag.out +Test/baseResults/spv.memoryQualifier.frag.out +Test/baseResults/spv.newTexture.frag.out +Test/baseResults/spv.paramMemory.420.frag.out +Test/baseResults/spv.paramMemory.frag.out +Test/baseResults/spv.queryL.frag.out +Test/baseResults/spv.separate.frag.out +Test/baseResults/spv.sparseTextureClamp.frag.out +Test/baseResults/spv.sparseTexture.frag.out +Test/baseResults/vk.relaxed.errorcheck.vert.out From e40c14a3e007fac0e4f2e4164fdf14d1712355bd Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 2 Aug 2024 22:44:21 +0100 Subject: [PATCH 042/108] SPIRV/SpvBuilder.h: add missing include Without the change `glslang` build fails on upcoming `gcc-15` as: In file included from /build/source/SPIRV/GlslangToSpv.cpp:45: SPIRV/SpvBuilder.h:248:30: error: 'uint32_t' has not been declared 248 | Id makeDebugLexicalBlock(uint32_t line); | ^~~~~~~~ --- SPIRV/SpvBuilder.h | 1 + 1 file changed, 1 insertion(+) diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h index f86dd81b..d688436a 100644 --- a/SPIRV/SpvBuilder.h +++ b/SPIRV/SpvBuilder.h @@ -56,6 +56,7 @@ namespace spv { } #include +#include #include #include #include From 71c24c1e4b4823cab0919bc062202a42ef6569e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 06:56:12 +0000 Subject: [PATCH 043/108] Bump actions/upload-artifact from 4.3.4 to 4.3.5 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.4 to 4.3.5. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/0b2256b8c012f0828dc542b3febcab082c67f72b...89ef406dd8d7e03cfd12d9e0a4a378f454709029) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index f758cadf..520893dc 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -40,7 +40,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5 with: name: SARIF file path: results.sarif From 31584ef79d1f8307fafc9f9022665320273417e6 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Tue, 30 Jul 2024 21:51:18 -0400 Subject: [PATCH 044/108] Clean up iomapper.h to make it suitable as a public API Remove the dependency on LiveTraverser.h, which transitively includes localintermediate.h. As a result, some things have been moved from iomapper.h to iomapper.cpp, specifically the TVarEntry type and the constructor and destructor of TGlslIoMapper. --- glslang/CInterface/glslang_c_interface.cpp | 2 + glslang/MachineIndependent/iomapper.cpp | 135 ++++++++++++++++++++- glslang/MachineIndependent/iomapper.h | 133 +------------------- gtests/GlslMapIO.FromFile.cpp | 1 + 4 files changed, 140 insertions(+), 131 deletions(-) diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp index a2eeab4d..a7d08744 100644 --- a/glslang/CInterface/glslang_c_interface.cpp +++ b/glslang/CInterface/glslang_c_interface.cpp @@ -37,7 +37,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "glslang/Public/ShaderLang.h" #include "glslang/Include/ShHandle.h" +#include "glslang/Include/BaseTypes.h" #include "glslang/Include/ResourceLimits.h" +#include "glslang/Include/Types.h" #include "glslang/MachineIndependent/iomapper.h" #include "glslang/MachineIndependent/Versions.h" #include "glslang/MachineIndependent/localintermediate.h" diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp index 5e94a9e8..e49ca4b1 100644 --- a/glslang/MachineIndependent/iomapper.cpp +++ b/glslang/MachineIndependent/iomapper.cpp @@ -39,6 +39,7 @@ #include "gl_types.h" #include "iomapper.h" +#include "LiveTraverser.h" #include "SymbolTable.h" // @@ -60,6 +61,108 @@ namespace glslang { +struct TVarEntryInfo { + long long id; + TIntermSymbol* symbol; + bool live; + bool upgradedToPushConstant; + int newBinding; + int newSet; + int newLocation; + int newComponent; + int newIndex; + EShLanguage stage; + + void clearNewAssignments() { + upgradedToPushConstant = false; + newBinding = -1; + newSet = -1; + newLocation = -1; + newComponent = -1; + newIndex = -1; + } + + struct TOrderById { + inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { return l.id < r.id; } + }; + + struct TOrderByPriority { + // ordering: + // 1) has both binding and set + // 2) has binding but no set + // 3) has no binding but set + // 4) has no binding and no set + inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { + const TQualifier& lq = l.symbol->getQualifier(); + const TQualifier& rq = r.symbol->getQualifier(); + + // simple rules: + // has binding gives 2 points + // has set gives 1 point + // who has the most points is more important. + int lPoints = (lq.hasBinding() ? 2 : 0) + (lq.hasSet() ? 1 : 0); + int rPoints = (rq.hasBinding() ? 2 : 0) + (rq.hasSet() ? 1 : 0); + + if (lPoints == rPoints) + return l.id < r.id; + return lPoints > rPoints; + } + }; + + struct TOrderByPriorityAndLive { + // ordering: + // 1) do live variables first + // 2) has both binding and set + // 3) has binding but no set + // 4) has no binding but set + // 5) has no binding and no set + inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { + + const TQualifier& lq = l.symbol->getQualifier(); + const TQualifier& rq = r.symbol->getQualifier(); + + // simple rules: + // has binding gives 2 points + // has set gives 1 point + // who has the most points is more important. + int lPoints = (lq.hasBinding() ? 2 : 0) + (lq.hasSet() ? 1 : 0); + int rPoints = (rq.hasBinding() ? 2 : 0) + (rq.hasSet() ? 1 : 0); + + if (l.live != r.live) + return l.live > r.live; + + if (lPoints != rPoints) + return lPoints > rPoints; + + return l.id < r.id; + } + }; +}; + +// override function "operator=", if a vector being sort, +// when use vc++, the sort function will call : +// pair& operator=(const pair<_Other1, _Other2>& _Right) +// { +// first = _Right.first; +// second = _Right.second; +// return (*this); +// } +// that will make a const type handing on left. +// override this function can avoid a compiler error. +// In the future, if the vc++ compiler can handle such a situation, +// this part of the code will be removed. +struct TVarLivePair : std::pair { + TVarLivePair(const std::pair& _Right) : pair(_Right.first, _Right.second) {} + TVarLivePair& operator=(const TVarLivePair& _Right) { + const_cast(first) = _Right.first; + second = _Right.second; + return (*this); + } + TVarLivePair(const TVarLivePair& src) : pair(src) { } +}; +typedef std::vector TVarLiveVector; + + class TVarGatherTraverser : public TLiveTraverser { public: TVarGatherTraverser(const TIntermediate& i, bool traverseDeadCode, TVarLiveMap& inList, TVarLiveMap& outList, TVarLiveMap& uniformList) @@ -176,7 +279,7 @@ struct TNotifyInOutAdaptor { EShLanguage stage; TIoMapResolver& resolver; - inline TNotifyInOutAdaptor(EShLanguage s, TIoMapResolver& r) + inline TNotifyInOutAdaptor(EShLanguage s, TIoMapResolver& r) : stage(s) , resolver(r) { @@ -1497,6 +1600,36 @@ bool TIoMapper::addStage(EShLanguage stage, TIntermediate& intermediate, TInfoSi return !hadError; } +TGlslIoMapper::TGlslIoMapper() { + memset(inVarMaps, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); + memset(outVarMaps, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); + memset(uniformVarMap, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); + memset(intermediates, 0, sizeof(TIntermediate*) * (EShLangCount + 1)); + profile = ENoProfile; + version = 0; + autoPushConstantMaxSize = 128; + autoPushConstantBlockPacking = ElpStd430; +} + +TGlslIoMapper::~TGlslIoMapper() { + for (size_t stage = 0; stage < EShLangCount; stage++) { + if (inVarMaps[stage] != nullptr) { + delete inVarMaps[stage]; + inVarMaps[stage] = nullptr; + } + if (outVarMaps[stage] != nullptr) { + delete outVarMaps[stage]; + outVarMaps[stage] = nullptr; + } + if (uniformVarMap[stage] != nullptr) { + delete uniformVarMap[stage]; + uniformVarMap[stage] = nullptr; + } + if (intermediates[stage] != nullptr) + intermediates[stage] = nullptr; + } +} + // Map I/O variables to provided offsets, and make bindings for // unbound but live variables. // diff --git a/glslang/MachineIndependent/iomapper.h b/glslang/MachineIndependent/iomapper.h index 35babbce..484b0ecc 100644 --- a/glslang/MachineIndependent/iomapper.h +++ b/glslang/MachineIndependent/iomapper.h @@ -37,7 +37,6 @@ #define _IOMAPPER_INCLUDED #include -#include "LiveTraverser.h" #include #include // @@ -49,84 +48,7 @@ class TInfoSink; namespace glslang { class TIntermediate; -struct TVarEntryInfo { - long long id; - TIntermSymbol* symbol; - bool live; - bool upgradedToPushConstant; - int newBinding; - int newSet; - int newLocation; - int newComponent; - int newIndex; - EShLanguage stage; - - void clearNewAssignments() { - upgradedToPushConstant = false; - newBinding = -1; - newSet = -1; - newLocation = -1; - newComponent = -1; - newIndex = -1; - } - - struct TOrderById { - inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { return l.id < r.id; } - }; - - struct TOrderByPriority { - // ordering: - // 1) has both binding and set - // 2) has binding but no set - // 3) has no binding but set - // 4) has no binding and no set - inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { - const TQualifier& lq = l.symbol->getQualifier(); - const TQualifier& rq = r.symbol->getQualifier(); - - // simple rules: - // has binding gives 2 points - // has set gives 1 point - // who has the most points is more important. - int lPoints = (lq.hasBinding() ? 2 : 0) + (lq.hasSet() ? 1 : 0); - int rPoints = (rq.hasBinding() ? 2 : 0) + (rq.hasSet() ? 1 : 0); - - if (lPoints == rPoints) - return l.id < r.id; - return lPoints > rPoints; - } - }; - - struct TOrderByPriorityAndLive { - // ordering: - // 1) do live variables first - // 2) has both binding and set - // 3) has binding but no set - // 4) has no binding but set - // 5) has no binding and no set - inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { - - const TQualifier& lq = l.symbol->getQualifier(); - const TQualifier& rq = r.symbol->getQualifier(); - - // simple rules: - // has binding gives 2 points - // has set gives 1 point - // who has the most points is more important. - int lPoints = (lq.hasBinding() ? 2 : 0) + (lq.hasSet() ? 1 : 0); - int rPoints = (rq.hasBinding() ? 2 : 0) + (rq.hasSet() ? 1 : 0); - - if (l.live != r.live) - return l.live > r.live; - - if (lPoints != rPoints) - return lPoints > rPoints; - - return l.id < r.id; - } - }; -}; - +struct TVarEntryInfo; // Base class for shared TIoMapResolver services, used by several derivations. struct TDefaultIoResolverBase : public glslang::TIoMapResolver { public: @@ -267,29 +189,6 @@ protected: typedef std::map TVarLiveMap; -// override function "operator=", if a vector being sort, -// when use vc++, the sort function will call : -// pair& operator=(const pair<_Other1, _Other2>& _Right) -// { -// first = _Right.first; -// second = _Right.second; -// return (*this); -// } -// that will make a const type handing on left. -// override this function can avoid a compiler error. -// In the future, if the vc++ compiler can handle such a situation, -// this part of the code will be removed. -struct TVarLivePair : std::pair { - TVarLivePair(const std::pair& _Right) : pair(_Right.first, _Right.second) {} - TVarLivePair& operator=(const TVarLivePair& _Right) { - const_cast(first) = _Right.first; - second = _Right.second; - return (*this); - } - TVarLivePair(const TVarLivePair& src) : pair(src) { } -}; -typedef std::vector TVarLiveVector; - // I/O mapper class TIoMapper { public: @@ -303,34 +202,8 @@ public: // I/O mapper for GLSL class TGlslIoMapper : public TIoMapper { public: - TGlslIoMapper() { - memset(inVarMaps, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); - memset(outVarMaps, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); - memset(uniformVarMap, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); - memset(intermediates, 0, sizeof(TIntermediate*) * (EShLangCount + 1)); - profile = ENoProfile; - version = 0; - autoPushConstantMaxSize = 128; - autoPushConstantBlockPacking = ElpStd430; - } - virtual ~TGlslIoMapper() { - for (size_t stage = 0; stage < EShLangCount; stage++) { - if (inVarMaps[stage] != nullptr) { - delete inVarMaps[stage]; - inVarMaps[stage] = nullptr; - } - if (outVarMaps[stage] != nullptr) { - delete outVarMaps[stage]; - outVarMaps[stage] = nullptr; - } - if (uniformVarMap[stage] != nullptr) { - delete uniformVarMap[stage]; - uniformVarMap[stage] = nullptr; - } - if (intermediates[stage] != nullptr) - intermediates[stage] = nullptr; - } - } + TGlslIoMapper(); + virtual ~TGlslIoMapper(); // If set, the uniform block with the given name will be changed to be backed by // push_constant if it's size is <= maxSize void setAutoPushConstantBlock(const char* name, unsigned int maxSize, TLayoutPacking packing) { diff --git a/gtests/GlslMapIO.FromFile.cpp b/gtests/GlslMapIO.FromFile.cpp index 9c3c8be5..927dde04 100644 --- a/gtests/GlslMapIO.FromFile.cpp +++ b/gtests/GlslMapIO.FromFile.cpp @@ -39,6 +39,7 @@ #include "TestFixture.h" +#include "glslang/MachineIndependent/localintermediate.h" #include "glslang/MachineIndependent/iomapper.h" #include "glslang/MachineIndependent/reflection.h" From b618604e776f0c9b4ecc71753f8522dbd0485a1b Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 2 Aug 2024 18:01:07 -0600 Subject: [PATCH 045/108] Add MachineIndependent/iomapper.h to the list of installed headers. --- glslang/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt index 8d4b1e9c..0385ce8e 100644 --- a/glslang/CMakeLists.txt +++ b/glslang/CMakeLists.txt @@ -243,6 +243,7 @@ if(GLSLANG_ENABLE_INSTALL) Include/glslang_c_interface.h Include/glslang_c_shader_types.h Include/ResourceLimits.h + MachineIndependent/iomapper.h MachineIndependent/Versions.h) foreach(file ${PUBLIC_HEADERS}) From 015cb4ce5c6195f79ff673051e10366af9a264df Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 2 Aug 2024 18:19:50 -0600 Subject: [PATCH 046/108] Fix initialization of arrays in TGlslIoMapper The inVarMaps, outVarMaps, uniformVarMap, and intermediates arrays were being memset with a size 1 bigger than their actual size. They are now initialized correctly, which also allows making inVarMaps, outVarMaps, and uniformVarMap into private members. --- glslang/MachineIndependent/iomapper.cpp | 8 ++++---- glslang/MachineIndependent/iomapper.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp index e49ca4b1..3e7749d3 100644 --- a/glslang/MachineIndependent/iomapper.cpp +++ b/glslang/MachineIndependent/iomapper.cpp @@ -1601,10 +1601,10 @@ bool TIoMapper::addStage(EShLanguage stage, TIntermediate& intermediate, TInfoSi } TGlslIoMapper::TGlslIoMapper() { - memset(inVarMaps, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); - memset(outVarMaps, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); - memset(uniformVarMap, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); - memset(intermediates, 0, sizeof(TIntermediate*) * (EShLangCount + 1)); + memset(inVarMaps, 0, sizeof(TVarLiveMap*) * EShLangCount); + memset(outVarMaps, 0, sizeof(TVarLiveMap*) * EShLangCount); + memset(uniformVarMap, 0, sizeof(TVarLiveMap*) * EShLangCount); + memset(intermediates, 0, sizeof(TIntermediate*) * EShLangCount); profile = ENoProfile; version = 0; autoPushConstantMaxSize = 128; diff --git a/glslang/MachineIndependent/iomapper.h b/glslang/MachineIndependent/iomapper.h index 484b0ecc..ef73c273 100644 --- a/glslang/MachineIndependent/iomapper.h +++ b/glslang/MachineIndependent/iomapper.h @@ -214,8 +214,6 @@ public: // grow the reflection stage by stage bool addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*) override; bool doMap(TIoMapResolver*, TInfoSink&) override; - TVarLiveMap *inVarMaps[EShLangCount], *outVarMaps[EShLangCount], - *uniformVarMap[EShLangCount]; TIntermediate* intermediates[EShLangCount]; bool hadError = false; EProfile profile; @@ -225,6 +223,8 @@ private: TString autoPushConstantBlockName; unsigned int autoPushConstantMaxSize; TLayoutPacking autoPushConstantBlockPacking; + TVarLiveMap *inVarMaps[EShLangCount], *outVarMaps[EShLangCount], + *uniformVarMap[EShLangCount]; }; } // end namespace glslang From 5398d55e33dff7d26fecdd2c35808add986c558c Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Tue, 6 Aug 2024 13:42:00 -0600 Subject: [PATCH 047/108] Remove execute permissions from source files. --- SPIRV/GlslangToSpv.cpp | 0 SPIRV/doc.cpp | 0 Test/baseResults/iomap.crossStage.vk.2.vert.out | 0 Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out | 0 Test/baseResults/spv.nullInit.comp.out | 0 Test/baseResults/spv.terminate.frag.out | 0 Test/baseResults/terminate.frag.out | 0 Test/baseResults/terminate.vert.out | 0 Test/baseResults/vk.relaxed.changeSet.vert.out | 0 Test/baseResults/vk.relaxed.stagelink.0.0.vert.out | 0 Test/iomap.crossStage.vk.2.frag | 0 Test/iomap.crossStage.vk.2.geom | 0 Test/iomap.crossStage.vk.2.vert | 0 Test/link.vk.inconsistentGLPerVertex.0.geom | 0 Test/link.vk.inconsistentGLPerVertex.0.vert | 0 Test/spv.ext.AnyHitShader.rahit | 0 Test/spv.ext.ClosestHitShader.rchit | 0 Test/vk.relaxed.changeSet.frag | 0 Test/vk.relaxed.changeSet.vert | 0 Test/vk.relaxed.stagelink.0.0.frag | 0 Test/vk.relaxed.stagelink.0.0.vert | 0 Test/vk.relaxed.stagelink.0.1.frag | 0 Test/vk.relaxed.stagelink.0.1.vert | 0 Test/vk.relaxed.stagelink.0.2.frag | 0 Test/vk.relaxed.stagelink.0.2.vert | 0 glslang/Include/BaseTypes.h | 0 glslang/MachineIndependent/Initialize.cpp | 0 glslang/MachineIndependent/Versions.h | 0 28 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 SPIRV/GlslangToSpv.cpp mode change 100755 => 100644 SPIRV/doc.cpp mode change 100755 => 100644 Test/baseResults/iomap.crossStage.vk.2.vert.out mode change 100755 => 100644 Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out mode change 100755 => 100644 Test/baseResults/spv.nullInit.comp.out mode change 100755 => 100644 Test/baseResults/spv.terminate.frag.out mode change 100755 => 100644 Test/baseResults/terminate.frag.out mode change 100755 => 100644 Test/baseResults/terminate.vert.out mode change 100755 => 100644 Test/baseResults/vk.relaxed.changeSet.vert.out mode change 100755 => 100644 Test/baseResults/vk.relaxed.stagelink.0.0.vert.out mode change 100755 => 100644 Test/iomap.crossStage.vk.2.frag mode change 100755 => 100644 Test/iomap.crossStage.vk.2.geom mode change 100755 => 100644 Test/iomap.crossStage.vk.2.vert mode change 100755 => 100644 Test/link.vk.inconsistentGLPerVertex.0.geom mode change 100755 => 100644 Test/link.vk.inconsistentGLPerVertex.0.vert mode change 100755 => 100644 Test/spv.ext.AnyHitShader.rahit mode change 100755 => 100644 Test/spv.ext.ClosestHitShader.rchit mode change 100755 => 100644 Test/vk.relaxed.changeSet.frag mode change 100755 => 100644 Test/vk.relaxed.changeSet.vert mode change 100755 => 100644 Test/vk.relaxed.stagelink.0.0.frag mode change 100755 => 100644 Test/vk.relaxed.stagelink.0.0.vert mode change 100755 => 100644 Test/vk.relaxed.stagelink.0.1.frag mode change 100755 => 100644 Test/vk.relaxed.stagelink.0.1.vert mode change 100755 => 100644 Test/vk.relaxed.stagelink.0.2.frag mode change 100755 => 100644 Test/vk.relaxed.stagelink.0.2.vert mode change 100755 => 100644 glslang/Include/BaseTypes.h mode change 100755 => 100644 glslang/MachineIndependent/Initialize.cpp mode change 100755 => 100644 glslang/MachineIndependent/Versions.h diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp old mode 100755 new mode 100644 diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp old mode 100755 new mode 100644 diff --git a/Test/baseResults/iomap.crossStage.vk.2.vert.out b/Test/baseResults/iomap.crossStage.vk.2.vert.out old mode 100755 new mode 100644 diff --git a/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out b/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out old mode 100755 new mode 100644 diff --git a/Test/baseResults/spv.nullInit.comp.out b/Test/baseResults/spv.nullInit.comp.out old mode 100755 new mode 100644 diff --git a/Test/baseResults/spv.terminate.frag.out b/Test/baseResults/spv.terminate.frag.out old mode 100755 new mode 100644 diff --git a/Test/baseResults/terminate.frag.out b/Test/baseResults/terminate.frag.out old mode 100755 new mode 100644 diff --git a/Test/baseResults/terminate.vert.out b/Test/baseResults/terminate.vert.out old mode 100755 new mode 100644 diff --git a/Test/baseResults/vk.relaxed.changeSet.vert.out b/Test/baseResults/vk.relaxed.changeSet.vert.out old mode 100755 new mode 100644 diff --git a/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out b/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out old mode 100755 new mode 100644 diff --git a/Test/iomap.crossStage.vk.2.frag b/Test/iomap.crossStage.vk.2.frag old mode 100755 new mode 100644 diff --git a/Test/iomap.crossStage.vk.2.geom b/Test/iomap.crossStage.vk.2.geom old mode 100755 new mode 100644 diff --git a/Test/iomap.crossStage.vk.2.vert b/Test/iomap.crossStage.vk.2.vert old mode 100755 new mode 100644 diff --git a/Test/link.vk.inconsistentGLPerVertex.0.geom b/Test/link.vk.inconsistentGLPerVertex.0.geom old mode 100755 new mode 100644 diff --git a/Test/link.vk.inconsistentGLPerVertex.0.vert b/Test/link.vk.inconsistentGLPerVertex.0.vert old mode 100755 new mode 100644 diff --git a/Test/spv.ext.AnyHitShader.rahit b/Test/spv.ext.AnyHitShader.rahit old mode 100755 new mode 100644 diff --git a/Test/spv.ext.ClosestHitShader.rchit b/Test/spv.ext.ClosestHitShader.rchit old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.changeSet.frag b/Test/vk.relaxed.changeSet.frag old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.changeSet.vert b/Test/vk.relaxed.changeSet.vert old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.stagelink.0.0.frag b/Test/vk.relaxed.stagelink.0.0.frag old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.stagelink.0.0.vert b/Test/vk.relaxed.stagelink.0.0.vert old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.stagelink.0.1.frag b/Test/vk.relaxed.stagelink.0.1.frag old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.stagelink.0.1.vert b/Test/vk.relaxed.stagelink.0.1.vert old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.stagelink.0.2.frag b/Test/vk.relaxed.stagelink.0.2.frag old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.stagelink.0.2.vert b/Test/vk.relaxed.stagelink.0.2.vert old mode 100755 new mode 100644 diff --git a/glslang/Include/BaseTypes.h b/glslang/Include/BaseTypes.h old mode 100755 new mode 100644 diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp old mode 100755 new mode 100644 diff --git a/glslang/MachineIndependent/Versions.h b/glslang/MachineIndependent/Versions.h old mode 100755 new mode 100644 From 7c4d91e7819a1d27213aa3499953d54ae1a00e8f Mon Sep 17 00:00:00 2001 From: dTry <92609548+D7ry@users.noreply.github.com> Date: Thu, 8 Aug 2024 07:21:00 -0700 Subject: [PATCH 048/108] Add type checks for hitObjectNV (#3689) `VK_NV_ray_tracing_invocation_reorder` extension introduces `hitObjectNV`, a special opaque type that can only be declared without storage qualifiers in either global or function scope. Added checks/tests to enforce this constraint. References: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_NV_ray_tracing_invocation_reorder.html https://github.com/KhronosGroup/GLSL/blob/3e0d9a3b3f54651ef53d533392a7401a3b19e16d/extensions/nv/GLSL_NV_shader_invocation_reorder.txt#L180 Co-authored-by: Tianyun --- .../spv.nv.hitobject-errors.rgen.out | 9 +++++++ Test/spv.nv.hitobject-errors.rgen | 24 +++++++++++++++++++ glslang/MachineIndependent/ParseHelper.cpp | 13 ++++++++++ glslang/MachineIndependent/ParseHelper.h | 1 + gtests/Spv.FromFile.cpp | 1 + 5 files changed, 48 insertions(+) create mode 100644 Test/baseResults/spv.nv.hitobject-errors.rgen.out create mode 100644 Test/spv.nv.hitobject-errors.rgen diff --git a/Test/baseResults/spv.nv.hitobject-errors.rgen.out b/Test/baseResults/spv.nv.hitobject-errors.rgen.out new file mode 100644 index 00000000..13948275 --- /dev/null +++ b/Test/baseResults/spv.nv.hitobject-errors.rgen.out @@ -0,0 +1,9 @@ +spv.nv.hitobject-errors.rgen +ERROR: 0:7: 'hitObjectNV' : hitObjectNV can only be declared in global or function scope with no storage qualifier: uHitObj +ERROR: 0:9: 'hitObjectNV' : hitObjectNV can only be declared in global or function scope with no storage qualifier: hobjIn +ERROR: 0:10: 'hitObjectNV' : hitObjectNV can only be declared in global or function scope with no storage qualifier: hobjOut +ERROR: 0:21: 'hObjWrapper' : struct is not allowed to contain hitObjectNV: wrapper +ERROR: 4 compilation errors. No code generated. + + +SPIR-V is not generated for failed compile or link diff --git a/Test/spv.nv.hitobject-errors.rgen b/Test/spv.nv.hitobject-errors.rgen new file mode 100644 index 00000000..9744ccf4 --- /dev/null +++ b/Test/spv.nv.hitobject-errors.rgen @@ -0,0 +1,24 @@ +#version 460 +#extension GL_EXT_ray_tracing : enable +#extension GL_NV_shader_invocation_reorder : enable + + +hitObjectNV hObjGlob; // OK +uniform hitObjectNV uHitObj; // ERROR + +layout(location=0) in hitObjectNV hobjIn; // ERROR +out hitObjectNV hobjOut; // ERROR + +struct hObjWrapper{ + hitObjectNV objField; + vec3 v; +}; + +void foo(hitObjectNV hObjArg) {} // OK + +void main() +{ + hObjWrapper wrapper; // ERROR + hitObjectNV localHitObj; // OK + foo(localHitObj); // OK +} diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index 724e4cde..e6c97a26 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -3936,6 +3936,18 @@ void TParseContext::accStructCheck(const TSourceLoc& loc, const TType& type, con } +void TParseContext::hitObjectNVCheck(const TSourceLoc & loc, const TType & type, const TString & identifier) +{ + if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtHitObjectNV)) { + error(loc, "struct is not allowed to contain hitObjectNV:", type.getTypeName().c_str(), identifier.c_str()); + } else if (type.getBasicType() == EbtHitObjectNV) { + TStorageQualifier qualifier = type.getQualifier().storage; + if (qualifier != EvqGlobal && qualifier != EvqTemporary) { + error(loc, "hitObjectNV can only be declared in global or function scope with no storage qualifier:", "hitObjectNV", identifier.c_str()); + } + } +} + void TParseContext::transparentOpaqueCheck(const TSourceLoc& loc, const TType& type, const TString& identifier) { if (parsingBuiltins) @@ -7875,6 +7887,7 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden transparentOpaqueCheck(loc, type, identifier); atomicUintCheck(loc, type, identifier); accStructCheck(loc, type, identifier); + hitObjectNVCheck(loc, type, identifier); checkAndResizeMeshViewDim(loc, type, /*isBlockMember*/ false); if (type.getQualifier().storage == EvqConst && type.containsReference()) { error(loc, "variables with reference type can't have qualifier 'const'", "qualifier", ""); diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h index 16902aef..67ba7dbd 100644 --- a/glslang/MachineIndependent/ParseHelper.h +++ b/glslang/MachineIndependent/ParseHelper.h @@ -397,6 +397,7 @@ public: void samplerCheck(const TSourceLoc&, const TType&, const TString& identifier, TIntermTyped* initializer); void atomicUintCheck(const TSourceLoc&, const TType&, const TString& identifier); void accStructCheck(const TSourceLoc & loc, const TType & type, const TString & identifier); + void hitObjectNVCheck(const TSourceLoc & loc, const TType & type, const TString & identifier); void transparentOpaqueCheck(const TSourceLoc&, const TType&, const TString& identifier); void memberQualifierCheck(glslang::TPublicType&); void globalQualifierFixCheck(const TSourceLoc&, TQualifier&, bool isMemberCheck = false, const TPublicType* publicType = nullptr); diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index 21f12d02..4f820c16 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -710,6 +710,7 @@ INSTANTIATE_TEST_SUITE_P( // SPV_NV_shader_execution_reorder + "spv.nv.hitobject-errors.rgen", "spv.nv.hitobject-allops.rgen", "spv.nv.hitobject-allops.rchit", "spv.nv.hitobject-allops.rmiss", From 3ba8cad6ed679ed3e75f4dc5fe7ab5a580377a67 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 9 Aug 2024 15:26:47 -0600 Subject: [PATCH 049/108] Add setSourceFile and addSourceText to TShader These are now accessible through the C++ ShaderLang.h public API as well as the C API. --- glslang/MachineIndependent/ShaderLang.cpp | 3 +++ glslang/Public/ShaderLang.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index 32ca9925..66e21663 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -1858,6 +1858,9 @@ void TShader::setGlobalUniformBinding(unsigned int binding) { intermediate->setG void TShader::setAtomicCounterBlockName(const char* name) { intermediate->setAtomicCounterBlockName(name); } void TShader::setAtomicCounterBlockSet(unsigned int set) { intermediate->setAtomicCounterBlockSet(set); } +void TShader::addSourceText(const char* text, size_t len) { intermediate->addSourceText(text, len); } +void TShader::setSourceFile(const char* file) { intermediate->setSourceFile(file); } + #ifdef ENABLE_HLSL // See comment above TDefaultHlslIoMapper in iomapper.cpp: void TShader::setHlslIoMapping(bool hlslIoMap) { intermediate->setHlslIoMapping(hlslIoMap); } diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h index eac81b14..9e8398c8 100644 --- a/glslang/Public/ShaderLang.h +++ b/glslang/Public/ShaderLang.h @@ -510,6 +510,9 @@ public: GLSLANG_EXPORT void setAtomicCounterBlockSet(unsigned int set); GLSLANG_EXPORT void setAtomicCounterBlockBinding(unsigned int binding); + GLSLANG_EXPORT void addSourceText(const char* text, size_t len); + GLSLANG_EXPORT void setSourceFile(const char* file); + // For setting up the environment (cleared to nothingness in the constructor). // These must be called so that parsing is done for the right source language and // target environment, either indirectly through TranslateEnvironment() based on From 2bd13a7166ceb972d57c46b68a13dfad1f33a579 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 06:55:42 +0000 Subject: [PATCH 050/108] Bump hendrikmuhs/ccache-action from 1.2.13 to 1.2.14 Bumps [hendrikmuhs/ccache-action](https://github.com/hendrikmuhs/ccache-action) from 1.2.13 to 1.2.14. - [Release notes](https://github.com/hendrikmuhs/ccache-action/releases) - [Commits](https://github.com/hendrikmuhs/ccache-action/compare/c92f40bee50034e84c763e33b317c77adaa81c92...ed74d11c0b343532753ecead8a951bb09bb34bc9) --- updated-dependencies: - dependency-name: hendrikmuhs/ccache-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/continuous_integration.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index ab1acf9a..510f6413 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -23,7 +23,7 @@ jobs: with: python-version: '3.7' - name: Setup ccache - uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: key: ubuntu-22-${{ matrix.cmake_build_type }}-${{ matrix.compiler.cc }}-${{matrix.compiler.cxx}} - run: ./update_glslang_sources.py @@ -61,7 +61,7 @@ jobs: with: python-version: '3.7' - name: Setup ccache - uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: key: ubuntu-22-${{ matrix.cmake_build_type }}-${{ matrix.compiler.cc }}-${{matrix.compiler.cxx}}-${{matrix.flags}} # This is to combat a bug when using 6.6 linux kernels with thread/address sanitizer @@ -105,7 +105,7 @@ jobs: with: cmakeVersion: 3.17.2 - name: Setup ccache - uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: key: linux_backcompat - run: ./update_glslang_sources.py @@ -177,7 +177,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - name: Setup ccache - uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: key: IOS - run: ./update_glslang_sources.py @@ -206,7 +206,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - name: Setup ccache - uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: key: android-${{ matrix.LEGACY }} - run: ./update_glslang_sources.py @@ -232,7 +232,7 @@ jobs: python-version: '3.7' - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 - name: Setup ccache - uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: key: ubuntu-emscripten - uses: mymindstorm/setup-emsdk@6ab9eb1bda2574c4ddb79809fc9247783eaf9021 # v14 From badd6dacf206998a3ec44699f80cebf70e233a92 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 06:55:50 +0000 Subject: [PATCH 051/108] Bump github/codeql-action from 3.25.15 to 3.26.0 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.15 to 3.26.0. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/afb54ba388a7dca6ecae48f608c4ff05ff4cc77a...eb055d739abdc2e8de2e5f4ba1a8b246daa779aa) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 520893dc..078feca1 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15 + uses: github/codeql-action/upload-sarif@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0 with: sarif_file: results.sarif From 3a08cd8de1f88d114c18670366f29226db453a9e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 15:09:49 +0000 Subject: [PATCH 052/108] Bump lukka/get-cmake from 3.30.1 to 3.30.2 Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.30.1 to 3.30.2. - [Release notes](https://github.com/lukka/get-cmake/releases) - [Commits](https://github.com/lukka/get-cmake/compare/34181361be075620f7c3871daa1cadb92d9a903e...a70f1cfa1857a3eecfe0d34962269e1b1e8be56c) --- updated-dependencies: - dependency-name: lukka/get-cmake dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/continuous_deployment.yml | 6 +++--- .github/workflows/continuous_integration.yml | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index ebba7a7a..b36bd66e 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -42,7 +42,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 + - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -106,7 +106,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 + - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -163,7 +163,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 + - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 510f6413..f388a628 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -18,7 +18,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 + - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -56,7 +56,7 @@ jobs: flags: ['-fsanitize=address', '-fsanitize=thread', '-fsanitize=undefined'] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 + - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -101,7 +101,7 @@ jobs: - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 + - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 with: cmakeVersion: 3.17.2 - name: Setup ccache @@ -133,7 +133,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 + - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 - run: ./update_glslang_sources.py - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON env: @@ -157,7 +157,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 + - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -175,7 +175,7 @@ jobs: runs-on: macos-13 steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 + - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: @@ -204,7 +204,7 @@ jobs: LEGACY: [ON, OFF] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 + - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: @@ -230,7 +230,7 @@ jobs: - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - - uses: lukka/get-cmake@34181361be075620f7c3871daa1cadb92d9a903e # v3.30.1 + - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: From 0dc6711e5a178e4d5643437af688c6b48f829f5c Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Tue, 13 Aug 2024 19:08:29 -0400 Subject: [PATCH 053/108] ci: Get rid of redundant testing It's not necessary to run the runtest tests separately, as they're already being run by the ctest testing process (as glslang-testsuite). --- .github/workflows/continuous_integration.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index f388a628..d138553d 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -41,8 +41,6 @@ jobs: run: cmake --install build --prefix build/install - name: Test run: ctest --output-on-failure --test-dir build - - name: Test (standalone) - run: cd Test && ./runtests - name: Check known validation failure list run: grep -l 'Validation failed' Test/baseResults/* | sort -fd | diff -u Test/baseResults/validation_fails.txt - @@ -87,10 +85,6 @@ jobs: env: UBSAN_OPTIONS: 'halt_on_error=1:print_stacktrace=1' run: ctest --output-on-failure --test-dir build - - name: Test (standalone) - env: - UBSAN_OPTIONS: halt_on_error=1:print_stacktrace=1 - run: cd Test && ./runtests # Ensure we can compile/run on an older distro linux_min: @@ -120,8 +114,6 @@ jobs: run: cmake --install build --prefix build/install - name: Test run: ctest --output-on-failure --test-dir build - - name: Test (standalone) - run: cd Test && ./runtests macos: runs-on: ${{matrix.os}} @@ -142,9 +134,6 @@ jobs: - run: cmake --build build - run: cmake --install build --prefix build/install - run: ctest --output-on-failure --test-dir build - - name: Test Script (standalone) - run: ./runtests - working-directory: Test windows: runs-on: ${{matrix.os.genus}} @@ -168,8 +157,6 @@ jobs: cmake --build build --config ${{matrix.cmake_build_type}} --target install - name: Test run: ctest -C ${{matrix.cmake_build_type}} --output-on-failure --test-dir build - - name: Test (standalone) - run: bash -c 'cd ./Test && ./runtests' iOS: runs-on: macos-13 From 4f01996c9df0e2edb8823a8260066467c828a341 Mon Sep 17 00:00:00 2001 From: Daniel Story Date: Wed, 24 Jul 2024 17:37:47 -0700 Subject: [PATCH 054/108] Merge ancillary libraries into main glslang library and stub originals --- Android.mk | 43 +++++++------- CMakeLists.txt | 9 ++- README.md | 8 ++- SPIRV/CMakeLists.txt | 66 +++++++++++----------- StandAlone/CMakeLists.txt | 22 ++++---- StandAlone/StandAlone.cpp | 18 +++++- glslang/CMakeLists.txt | 37 ++++++++---- glslang/OSDependent/Unix/CMakeLists.txt | 15 +++-- glslang/OSDependent/Web/CMakeLists.txt | 2 +- glslang/OSDependent/Windows/CMakeLists.txt | 14 +++-- glslang/stub.cpp | 37 ++++++++++++ gtests/CMakeLists.txt | 3 +- ndk_test/Android.mk | 2 +- 13 files changed, 181 insertions(+), 95 deletions(-) create mode 100644 glslang/stub.cpp diff --git a/Android.mk b/Android.mk index dcb99584..7adce09c 100644 --- a/Android.mk +++ b/Android.mk @@ -59,9 +59,8 @@ include $(CLEAR_VARS) LOCAL_MODULE:=OSDependent LOCAL_CXXFLAGS:=-std=c++17 -fno-exceptions -fno-rtti $(GLSLANG_DEFINES) LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH) -LOCAL_SRC_FILES:=glslang/OSDependent/Unix/ossource.cpp -LOCAL_C_INCLUDES:=$(LOCAL_PATH) $(LOCAL_PATH)/glslang/OSDependent/Unix/ -LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)/glslang/OSDependent/Unix/ +LOCAL_SRC_FILES:=glslang/stub.cpp +LOCAL_C_INCLUDES:=$(LOCAL_PATH) include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) @@ -73,7 +72,8 @@ $(LOCAL_PATH)/glslang/MachineIndependent/ShaderLang.cpp: \ LOCAL_MODULE:=glslang LOCAL_CXXFLAGS:=-std=c++17 -fno-exceptions -fno-rtti $(GLSLANG_DEFINES) -LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH) +LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH) \ + $(LOCAL_PATH)/glslang/OSDependent/Unix LOCAL_SRC_FILES:= \ glslang/CInterface/glslang_c_interface.cpp \ glslang/GenericCodeGen/CodeGen.cpp \ @@ -112,12 +112,24 @@ LOCAL_SRC_FILES:= \ glslang/MachineIndependent/preprocessor/PpContext.cpp \ glslang/MachineIndependent/preprocessor/Pp.cpp \ glslang/MachineIndependent/preprocessor/PpScanner.cpp \ - glslang/MachineIndependent/preprocessor/PpTokens.cpp + glslang/MachineIndependent/preprocessor/PpTokens.cpp \ + glslang/OSDependent/Unix/ossource.cpp + SPIRV/CInterface/spirv_c_interface.cpp \ + SPIRV/GlslangToSpv.cpp \ + SPIRV/InReadableOrder.cpp \ + SPIRV/Logger.cpp \ + SPIRV/SPVRemapper.cpp \ + SPIRV/SpvBuilder.cpp \ + SPIRV/SpvPostProcess.cpp \ + SPIRV/SpvTools.cpp \ + SPIRV/disassemble.cpp \ + SPIRV/doc.cpp LOCAL_C_INCLUDES:=$(LOCAL_PATH) \ $(LOCAL_PATH)/glslang/MachineIndependent \ + $(LOCAL_PATH)/glslang/OSDependent/Unix \ + $(LOCAL_PATH)/SPIRV \ $(GLSLANG_GENERATED_INCLUDEDIR) \ $(GLSLANG_OUT_PATH) -LOCAL_STATIC_LIBRARIES:=OSDependent include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) @@ -128,20 +140,7 @@ $(LOCAL_PATH)/SPIRV/GlslangToSpv.cpp: \ LOCAL_MODULE:=SPIRV LOCAL_CXXFLAGS:=-std=c++17 -fno-exceptions -fno-rtti -Werror $(GLSLANG_DEFINES) -LOCAL_SRC_FILES:= \ - SPIRV/CInterface/spirv_c_interface.cpp \ - SPIRV/GlslangToSpv.cpp \ - SPIRV/InReadableOrder.cpp \ - SPIRV/Logger.cpp \ - SPIRV/SPVRemapper.cpp \ - SPIRV/SpvBuilder.cpp \ - SPIRV/SpvPostProcess.cpp \ - SPIRV/SpvTools.cpp \ - SPIRV/disassemble.cpp \ - SPIRV/doc.cpp -LOCAL_C_INCLUDES:=$(LOCAL_PATH) \ - $(LOCAL_PATH)/glslang/SPIRV \ - $(GLSLANG_GENERATED_INCLUDEDIR) -LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)/glslang/SPIRV -LOCAL_STATIC_LIBRARIES:=glslang +LOCAL_SRC_FILES:=glslang/stub.cpp +LOCAL_C_INCLUDES:=$(LOCAL_PATH) +LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH) include $(BUILD_STATIC_LIBRARY) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f1680cf..e8216205 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,6 +97,7 @@ option(GLSLANG_TESTS "Enable glslang testing" ${GLSLANG_TESTS_DEFAULT}) # Always expose this as an option, so the defaults can be overridden. option(GLSLANG_ENABLE_INSTALL "Enable glslang installation" ${GLSLANG_ENABLE_INSTALL_DEFAULT}) +option(ENABLE_SPIRV "Enables SPIRV output support" ON) option(ENABLE_SPVREMAPPER "Enables building of SPVRemapper" ON) option(ENABLE_GLSLANG_BINARIES "Builds glslang and spirv-remap" ON) @@ -125,6 +126,10 @@ endif() option(ENABLE_PCH "Enables Precompiled header" ON) +if(ENABLE_SPIRV) + add_compile_definitions(ENABLE_SPIRV) +endif() + if(ENABLE_HLSL) add_compile_definitions(ENABLE_HLSL) endif() @@ -313,11 +318,13 @@ else() add_definitions(-DENABLE_OPT=0) endif() +if(ENABLE_SPIRV) + add_subdirectory(SPIRV) +endif() add_subdirectory(glslang) if(ENABLE_GLSLANG_BINARIES) add_subdirectory(StandAlone) endif() -add_subdirectory(SPIRV) if(GLSLANG_TESTS) enable_testing() diff --git a/README.md b/README.md index cac2352b..e7a84fe1 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,13 @@ # News -1. `OGLCompiler` and `HLSL` stub libraries have been fully removed from the build. +1. The `GenericCodeGen`, `MachineIndependent`, `OSDependent`, and `SPIRV` libraries have been integrated into the main `glslang` library. The old separate libraries have replaced with empty stubs for a temporary compatibility period, and they will be removed entirely in the future. -2. `OVERRIDE_MSVCCRT` has been removed in favor of `CMAKE_MSVC_RUNTIME_LIBRARY` +2. A new CMake `ENABLE_SPIRV` option has been added to control whether glslang is built with SPIR-V support. Its default value is `ON`. + +3. `OGLCompiler` and `HLSL` stub libraries have been fully removed from the build. + +4. `OVERRIDE_MSVCCRT` has been removed in favor of `CMAKE_MSVC_RUNTIME_LIBRARY` Users are encouraged to utilize the standard approach via [CMAKE_MSVC_RUNTIME_LIBRARY](https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html). diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt index 5e52b38d..fe1d07be 100644 --- a/SPIRV/CMakeLists.txt +++ b/SPIRV/CMakeLists.txt @@ -31,41 +31,43 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -set(SOURCES - GlslangToSpv.cpp - InReadableOrder.cpp - Logger.cpp - SpvBuilder.cpp - SpvPostProcess.cpp - doc.cpp - SpvTools.cpp - disassemble.cpp - CInterface/spirv_c_interface.cpp) +set(SPIRV_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/GlslangToSpv.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/InReadableOrder.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Logger.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/SpvBuilder.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/SpvPostProcess.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/doc.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/SpvTools.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/disassemble.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/CInterface/spirv_c_interface.cpp + PARENT_SCOPE) set(SPVREMAP_SOURCES SPVRemapper.cpp doc.cpp) -set(HEADERS - bitutils.h - spirv.hpp - GLSL.std.450.h - GLSL.ext.EXT.h - GLSL.ext.KHR.h - GlslangToSpv.h - hex_float.h - Logger.h - SpvBuilder.h - spvIR.h - doc.h - SpvTools.h - disassemble.h - GLSL.ext.AMD.h - GLSL.ext.NV.h - GLSL.ext.ARM.h - GLSL.ext.QCOM.h - NonSemanticDebugPrintf.h - NonSemanticShaderDebugInfo100.h) +set(SPIRV_HEADERS + ${CMAKE_CURRENT_SOURCE_DIR}/bitutils.h + ${CMAKE_CURRENT_SOURCE_DIR}/spirv.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.std.450.h + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.ext.EXT.h + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.ext.KHR.h + ${CMAKE_CURRENT_SOURCE_DIR}/GlslangToSpv.h + ${CMAKE_CURRENT_SOURCE_DIR}/hex_float.h + ${CMAKE_CURRENT_SOURCE_DIR}/Logger.h + ${CMAKE_CURRENT_SOURCE_DIR}/SpvBuilder.h + ${CMAKE_CURRENT_SOURCE_DIR}/spvIR.h + ${CMAKE_CURRENT_SOURCE_DIR}/doc.h + ${CMAKE_CURRENT_SOURCE_DIR}/SpvTools.h + ${CMAKE_CURRENT_SOURCE_DIR}/disassemble.h + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.ext.AMD.h + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.ext.NV.h + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.ext.ARM.h + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.ext.QCOM.h + ${CMAKE_CURRENT_SOURCE_DIR}/NonSemanticDebugPrintf.h + ${CMAKE_CURRENT_SOURCE_DIR}/NonSemanticShaderDebugInfo100.h + PARENT_SCOPE) set(SPVREMAP_HEADERS SPVRemapper.h @@ -79,7 +81,7 @@ set(PUBLIC_HEADERS SPVRemapper.h SpvTools.h) -add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS}) +add_library(SPIRV ${LIB_TYPE} ${CMAKE_CURRENT_SOURCE_DIR}/../glslang/stub.cpp) add_library(glslang::SPIRV ALIAS SPIRV) set_target_properties(SPIRV PROPERTIES FOLDER glslang @@ -90,8 +92,6 @@ target_include_directories(SPIRV PUBLIC $ $) -glslang_add_build_info_dependency(SPIRV) - if (ENABLE_SPVREMAPPER) add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS}) add_library(glslang::SPVRemapper ALIAS SPVRemapper) diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt index 9ecdcd23..30e8d030 100644 --- a/StandAlone/CMakeLists.txt +++ b/StandAlone/CMakeLists.txt @@ -59,8 +59,6 @@ glslang_set_link_args(glslang-standalone) set(LIBRARIES glslang - OSDependent - SPIRV glslang-default-resource-limits) if(WIN32) @@ -75,12 +73,14 @@ target_link_libraries(glslang-standalone ${LIBRARIES}) target_include_directories(glslang-standalone PUBLIC $) -if(ENABLE_SPVREMAPPER) - set(REMAPPER_SOURCES spirv-remap.cpp) - add_executable(spirv-remap ${REMAPPER_SOURCES}) - set_property(TARGET spirv-remap PROPERTY FOLDER tools) - glslang_set_link_args(spirv-remap) - target_link_libraries(spirv-remap SPVRemapper ${LIBRARIES}) +if(ENABLE_SPIRV) + if(ENABLE_SPVREMAPPER) + set(REMAPPER_SOURCES spirv-remap.cpp) + add_executable(spirv-remap ${REMAPPER_SOURCES}) + set_property(TARGET spirv-remap PROPERTY FOLDER tools) + glslang_set_link_args(spirv-remap) + target_link_libraries(spirv-remap SPVRemapper ${LIBRARIES}) + endif() endif() if(WIN32) @@ -113,7 +113,9 @@ if(GLSLANG_ENABLE_INSTALL) ) ") - if(ENABLE_SPVREMAPPER) - install(TARGETS spirv-remap EXPORT glslang-targets) + if(ENABLE_SPIRV) + if(ENABLE_SPVREMAPPER) + install(TARGETS spirv-remap EXPORT glslang-targets) + endif() endif() endif(GLSLANG_ENABLE_INSTALL) diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp index 94851ba3..bd180011 100644 --- a/StandAlone/StandAlone.cpp +++ b/StandAlone/StandAlone.cpp @@ -1509,6 +1509,7 @@ void CompileAndLinkShaderUnits(std::vector compUnits) std::vector outputFiles; +#ifdef ENABLE_SPIRV // Dump SPIR-V if (Options & EOptionSpv) { CompileOrLinkFailed.fetch_or(CompileFailed); @@ -1571,6 +1572,7 @@ void CompileAndLinkShaderUnits(std::vector compUnits) } } } +#endif CompileOrLinkFailed.fetch_or(CompileFailed); CompileOrLinkFailed.fetch_or(LinkFailed); @@ -1669,21 +1671,31 @@ int singleMain() } if (Options & EOptionDumpBareVersion) { - printf("%d:%d.%d.%d%s\n", glslang::GetSpirvGeneratorVersion(), GLSLANG_VERSION_MAJOR, GLSLANG_VERSION_MINOR, + int spirvGeneratorVersion = 0; +#ifdef ENABLE_SPIRV + spirvGeneratorVersion = glslang::GetSpirvGeneratorVersion(); +#endif + printf("%d:%d.%d.%d%s\n", spirvGeneratorVersion, GLSLANG_VERSION_MAJOR, GLSLANG_VERSION_MINOR, GLSLANG_VERSION_PATCH, GLSLANG_VERSION_FLAVOR); if (workList.empty()) return ESuccess; } else if (Options & EOptionDumpVersions) { - printf("Glslang Version: %d:%d.%d.%d%s\n", glslang::GetSpirvGeneratorVersion(), GLSLANG_VERSION_MAJOR, + int spirvGeneratorVersion = 0; +#ifdef ENABLE_SPIRV + spirvGeneratorVersion = glslang::GetSpirvGeneratorVersion(); +#endif + printf("Glslang Version: %d:%d.%d.%d%s\n", spirvGeneratorVersion, GLSLANG_VERSION_MAJOR, GLSLANG_VERSION_MINOR, GLSLANG_VERSION_PATCH, GLSLANG_VERSION_FLAVOR); printf("ESSL Version: %s\n", glslang::GetEsslVersionString()); printf("GLSL Version: %s\n", glslang::GetGlslVersionString()); std::string spirvVersion; +#if ENABLE_SPIRV glslang::GetSpirvVersion(spirvVersion); +#endif printf("SPIR-V Version %s\n", spirvVersion.c_str()); printf("GLSL.std.450 Version %d, Revision %d\n", GLSLstd450Version, GLSLstd450Revision); printf("Khronos Tool ID %d\n", glslang::GetKhronosToolId()); - printf("SPIR-V Generator Version %d\n", glslang::GetSpirvGeneratorVersion()); + printf("SPIR-V Generator Version %d\n", spirvGeneratorVersion); printf("GL_KHR_vulkan_glsl version %d\n", 100); printf("ARB_GL_gl_spirv version %d\n", 100); if (workList.empty()) diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt index 0385ce8e..7fc0d87a 100644 --- a/glslang/CMakeLists.txt +++ b/glslang/CMakeLists.txt @@ -47,9 +47,12 @@ endif() ################################################################################ # GenericCodeGen ################################################################################ -add_library(GenericCodeGen STATIC +set(GENERICCODEGEN_SOURCES GenericCodeGen/CodeGen.cpp GenericCodeGen/Link.cpp) + +add_library(GenericCodeGen STATIC + stub.cpp) set_property(TARGET GenericCodeGen PROPERTY POSITION_INDEPENDENT_CODE ON) set_property(TARGET GenericCodeGen PROPERTY FOLDER glslang) @@ -130,7 +133,7 @@ if(ENABLE_HLSL) HLSL/hlslParseables.h) endif() -add_library(MachineIndependent STATIC ${MACHINEINDEPENDENT_SOURCES} ${MACHINEINDEPENDENT_HEADERS}) +add_library(MachineIndependent STATIC stub.cpp) set_property(TARGET MachineIndependent PROPERTY POSITION_INDEPENDENT_CODE ON) set_property(TARGET MachineIndependent PROPERTY FOLDER glslang) @@ -139,12 +142,6 @@ if (NOT MSVC) set_source_files_properties(MachineIndependent/glslang_tab.cpp PROPERTIES COMPILE_FLAGS -Wno-unused-but-set-variable) endif() -glslang_add_build_info_dependency(MachineIndependent) - -glslang_pch(MachineIndependent MachineIndependent/pch.h) - -target_link_libraries(MachineIndependent PRIVATE OSDependent GenericCodeGen) - ################################################################################ # glslang ################################################################################ @@ -168,26 +165,42 @@ set(GLSLANG_HEADERS Include/SpirvIntrinsics.h Include/Types.h) -add_library(glslang ${LIB_TYPE} ${GLSLANG_SOURCES} ${GLSLANG_HEADERS}) +add_library(glslang ${LIB_TYPE} ${GLSLANG_SOURCES} ${GLSLANG_HEADERS} ${GENERICCODEGEN_SOURCES} ${GENERICCODEGEN_HEADERS} ${OSDEPENDENT_SOURCES} ${OSDEPENDENT_HEADERS} ${MACHINEINDEPENDENT_SOURCES} ${MACHINEINDEPENDENT_HEADERS} ${SPIRV_SOURCES} ${SPIRV_HEADERS}) add_library(glslang::glslang ALIAS glslang) set_target_properties(glslang PROPERTIES FOLDER glslang POSITION_INDEPENDENT_CODE ON VERSION "${GLSLANG_VERSION}" SOVERSION "${GLSLANG_VERSION_MAJOR}") -target_link_libraries(glslang PRIVATE OSDependent MachineIndependent) target_include_directories(glslang PUBLIC $ $) glslang_add_build_info_dependency(glslang) +glslang_pch(glslang MachineIndependent/pch.h) + glslang_only_export_explicit_symbols(glslang) if(WIN32 AND BUILD_SHARED_LIBS) set_target_properties(glslang PROPERTIES PREFIX "") endif() +if(ENABLE_SPIRV) + if(ENABLE_OPT) + target_include_directories(glslang PUBLIC + $) + target_link_libraries(glslang SPIRV-Tools-opt) + endif() +endif() + +# Link pthread +if(UNIX OR "${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia" OR ANDROID) + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads REQUIRED) + target_link_libraries(glslang Threads::Threads) +endif() + ################################################################################ # ResourceLimits ################################################################################ @@ -217,6 +230,8 @@ target_include_directories(glslang-default-resource-limits PUBLIC # source_groups ################################################################################ if(WIN32) + source_group("OSDependent" REGULAR_EXPRESSION "OSDependent/[^/]*") + source_group("OSDependent\\Windows" REGULAR_EXPRESSION "OSDependent/Windows/*") source_group("Public" REGULAR_EXPRESSION "Public/*") source_group("MachineIndependent" REGULAR_EXPRESSION "MachineIndependent/[^/]*") source_group("Include" REGULAR_EXPRESSION "Include/[^/]*") @@ -224,6 +239,8 @@ if(WIN32) source_group("MachineIndependent\\Preprocessor" REGULAR_EXPRESSION "MachineIndependent/preprocessor/*") source_group("HLSL" REGULAR_EXPRESSION "HLSL/*") source_group("CInterface" REGULAR_EXPRESSION "CInterface/*") + source_group("SPIRV" REGULAR_EXPRESSION "SPIRV/[^/]*") + source_group("SPIRV\\CInterface" REGULAR_EXPRESSION "SPIRV/CInterface/*") endif() ################################################################################ diff --git a/glslang/OSDependent/Unix/CMakeLists.txt b/glslang/OSDependent/Unix/CMakeLists.txt index 0c549756..53d9ad38 100644 --- a/glslang/OSDependent/Unix/CMakeLists.txt +++ b/glslang/OSDependent/Unix/CMakeLists.txt @@ -31,15 +31,18 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -add_library(OSDependent STATIC ossource.cpp ../osinclude.h) +set(OSDEPENDENT_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/ossource.cpp + PARENT_SCOPE) + +set(OSDEPENDENT_HEADERS + ${CMAKE_CURRENT_SOURCE_DIR}/../osinclude.h + PARENT_SCOPE) + +add_library(OSDependent STATIC ${CMAKE_CURRENT_SOURCE_DIR}/../../stub.cpp) set_property(TARGET OSDependent PROPERTY FOLDER glslang) set_property(TARGET OSDependent PROPERTY POSITION_INDEPENDENT_CODE ON) -# Link pthread -set(THREADS_PREFER_PTHREAD_FLAG ON) -find_package(Threads REQUIRED) -target_link_libraries(OSDependent Threads::Threads) - if(GLSLANG_ENABLE_INSTALL AND NOT BUILD_SHARED_LIBS) install(TARGETS OSDependent EXPORT glslang-targets) endif() diff --git a/glslang/OSDependent/Web/CMakeLists.txt b/glslang/OSDependent/Web/CMakeLists.txt index 5d174960..2cfe7aae 100644 --- a/glslang/OSDependent/Web/CMakeLists.txt +++ b/glslang/OSDependent/Web/CMakeLists.txt @@ -34,7 +34,7 @@ if(ENABLE_GLSLANG_JS) add_executable(glslang.js "glslang.js.cpp") glslang_set_link_args(glslang.js) - target_link_libraries(glslang.js glslang SPIRV) + target_link_libraries(glslang.js glslang) # Link library names that start with "-" are treated as link flags. # "-Os" should be OK in MSVC; don't use /Os because CMake won't diff --git a/glslang/OSDependent/Windows/CMakeLists.txt b/glslang/OSDependent/Windows/CMakeLists.txt index 8a9a8c42..040f4348 100644 --- a/glslang/OSDependent/Windows/CMakeLists.txt +++ b/glslang/OSDependent/Windows/CMakeLists.txt @@ -31,12 +31,18 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. +set(OSDEPENDENT_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/ossource.cpp + PARENT_SCOPE) + +set(OSDEPENDENT_HEADERS + ${CMAKE_CURRENT_SOURCE_DIR}/../osinclude.h + PARENT_SCOPE) + add_library(OSDependent STATIC) target_sources(OSDependent PRIVATE - ../osinclude.h - ossource.cpp -) + ${CMAKE_CURRENT_SOURCE_DIR}/../../stub.cpp) set_property(TARGET OSDependent PROPERTY FOLDER glslang) set_property(TARGET OSDependent PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -44,7 +50,7 @@ set_property(TARGET OSDependent PROPERTY POSITION_INDEPENDENT_CODE ON) # MinGW GCC complains about function pointer casts to void*. # Turn that off with -fpermissive. if(MINGW AND ${CMAKE_CXX_COMPILER_ID} MATCHES "GNU") - target_compile_options(OSDependent PRIVATE -fpermissive) + set_source_files_properties(${OSDEPENDENT_SOURCES} PROPERTIES COMPILE_FLAGS -fpermissive) endif() if(WIN32) diff --git a/glslang/stub.cpp b/glslang/stub.cpp new file mode 100644 index 00000000..b9aec6d1 --- /dev/null +++ b/glslang/stub.cpp @@ -0,0 +1,37 @@ +// +// Copyright (C) 2024 The Khronos Group Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// This empty source file exists to support building stubbed versions of +// deprecated libraries which have been integrated into the main glslang +// library. It should be deleted once the stub libraries are fully removed. diff --git a/gtests/CMakeLists.txt b/gtests/CMakeLists.txt index 8e0edd4d..1987a6d6 100644 --- a/gtests/CMakeLists.txt +++ b/gtests/CMakeLists.txt @@ -88,8 +88,7 @@ if(GLSLANG_TESTS) endif() set(LIBRARIES - glslang OSDependent glslang - SPIRV glslang-default-resource-limits) + glslang glslang-default-resource-limits) if(ENABLE_SPVREMAPPER) set(LIBRARIES ${LIBRARIES} SPVRemapper) diff --git a/ndk_test/Android.mk b/ndk_test/Android.mk index 112700c9..897ace00 100644 --- a/ndk_test/Android.mk +++ b/ndk_test/Android.mk @@ -39,7 +39,7 @@ LOCAL_SRC_FILES:=test.cpp LOCAL_MODULE:=glslang_ndk_test LOCAL_LDLIBS:=-landroid LOCAL_CXXFLAGS:=-std=c++17 -fno-exceptions -fno-rtti -Werror -LOCAL_STATIC_LIBRARIES:=glslang SPIRV +LOCAL_STATIC_LIBRARIES:=glslang include $(BUILD_SHARED_LIBRARY) include $(LOCAL_PATH)/../Android.mk From d59c84d388c805022e2bddea08aa41cbe7e43e55 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Thu, 15 Aug 2024 17:33:14 -0400 Subject: [PATCH 055/108] Fix typo in Android.mk --- Android.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Android.mk b/Android.mk index 7adce09c..3cd88c82 100644 --- a/Android.mk +++ b/Android.mk @@ -113,7 +113,7 @@ LOCAL_SRC_FILES:= \ glslang/MachineIndependent/preprocessor/Pp.cpp \ glslang/MachineIndependent/preprocessor/PpScanner.cpp \ glslang/MachineIndependent/preprocessor/PpTokens.cpp \ - glslang/OSDependent/Unix/ossource.cpp + glslang/OSDependent/Unix/ossource.cpp \ SPIRV/CInterface/spirv_c_interface.cpp \ SPIRV/GlslangToSpv.cpp \ SPIRV/InReadableOrder.cpp \ From 611950f8820ed6500addf5a83f55f3244ec596c4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 06:16:05 +0000 Subject: [PATCH 056/108] Bump actions/upload-artifact from 4.3.5 to 4.3.6 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.5 to 4.3.6. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/89ef406dd8d7e03cfd12d9e0a4a378f454709029...834a144ee995460fba8ed112a2fc961b36a5ec5a) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 078feca1..3cbeb9bc 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -40,7 +40,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5 + uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6 with: name: SARIF file path: results.sarif From 4422273e8464d20b9d8dd403cbfc3049e09a5f23 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 06:16:10 +0000 Subject: [PATCH 057/108] Bump github/codeql-action from 3.26.0 to 3.26.2 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.0 to 3.26.2. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/eb055d739abdc2e8de2e5f4ba1a8b246daa779aa...429e1977040da7a23b6822b13c129cd1ba93dbb2) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 3cbeb9bc..8c0173b6 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0 + uses: github/codeql-action/upload-sarif@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2 with: sarif_file: results.sarif From 592de6cf78e0fb359fc3e2854c9dc0f3cf6d4820 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 1 Sep 2023 18:19:46 -0400 Subject: [PATCH 058/108] Clean up unused includes. --- SPIRV/SPVRemapper.cpp | 1 - SPIRV/SPVRemapper.h | 3 ++- StandAlone/StandAlone.cpp | 2 -- StandAlone/Worklist.h | 1 - glslang/HLSL/hlslParseHelper.cpp | 2 -- glslang/HLSL/pch.h | 2 -- glslang/MachineIndependent/ParseHelper.cpp | 1 - 7 files changed, 2 insertions(+), 10 deletions(-) diff --git a/SPIRV/SPVRemapper.cpp b/SPIRV/SPVRemapper.cpp index f8f50a95..2ef3bf75 100644 --- a/SPIRV/SPVRemapper.cpp +++ b/SPIRV/SPVRemapper.cpp @@ -38,7 +38,6 @@ #include #include -#include "../glslang/Include/Common.h" namespace spv { diff --git a/SPIRV/SPVRemapper.h b/SPIRV/SPVRemapper.h index 33efe331..bd9f9139 100644 --- a/SPIRV/SPVRemapper.h +++ b/SPIRV/SPVRemapper.h @@ -79,7 +79,8 @@ public: #include "spirv.hpp" namespace spv { -const Id NoResult = 0; + +static inline constexpr Id NoResult = 0; // class to hold SPIR-V binary data for remapping, DCE, and debug stripping class spirvbin_t : public spirvbin_base_t diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp index bd180011..9c3beac9 100644 --- a/StandAlone/StandAlone.cpp +++ b/StandAlone/StandAlone.cpp @@ -44,12 +44,10 @@ #include "glslang/Public/ResourceLimits.h" #include "Worklist.h" #include "DirStackFileIncluder.h" -#include "./../glslang/Include/ShHandle.h" #include "./../glslang/Public/ShaderLang.h" #include "../glslang/MachineIndependent/localintermediate.h" #include "../SPIRV/GlslangToSpv.h" #include "../SPIRV/GLSL.std.450.h" -#include "../SPIRV/doc.h" #include "../SPIRV/disassemble.h" #include diff --git a/StandAlone/Worklist.h b/StandAlone/Worklist.h index 91b6f516..dc726270 100644 --- a/StandAlone/Worklist.h +++ b/StandAlone/Worklist.h @@ -35,7 +35,6 @@ #ifndef WORKLIST_H_INCLUDED #define WORKLIST_H_INCLUDED -#include "../glslang/OSDependent/osinclude.h" #include #include #include diff --git a/glslang/HLSL/hlslParseHelper.cpp b/glslang/HLSL/hlslParseHelper.cpp index c7a40f3b..35eb222c 100644 --- a/glslang/HLSL/hlslParseHelper.cpp +++ b/glslang/HLSL/hlslParseHelper.cpp @@ -43,8 +43,6 @@ #include "../MachineIndependent/Scan.h" #include "../MachineIndependent/preprocessor/PpContext.h" -#include "../OSDependent/osinclude.h" - #include #include #include diff --git a/glslang/HLSL/pch.h b/glslang/HLSL/pch.h index 465e7c14..f51efacc 100644 --- a/glslang/HLSL/pch.h +++ b/glslang/HLSL/pch.h @@ -42,8 +42,6 @@ #include "../MachineIndependent/Scan.h" #include "../MachineIndependent/preprocessor/PpContext.h" -#include "../OSDependent/osinclude.h" - #include #include #include diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index e6c97a26..f314b278 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -42,7 +42,6 @@ #include "Initialize.h" #include "Scan.h" -#include "../OSDependent/osinclude.h" #include #include "preprocessor/PpContext.h" From 9e8dff7d42fc47fa4f2285ea6ae806f4715e7807 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Thu, 21 Sep 2023 16:26:59 -0400 Subject: [PATCH 059/108] Move definition of GLSLANG_EXPORT to visibility.h The GLSLANG_EXPORT macro is already used (and defined) in two separate places and will be used in a few more in the near future. To reduce duplication it is now in its own header. --- glslang/CMakeLists.txt | 1 + glslang/Include/glslang_c_interface.h | 17 +-------- glslang/Include/visibility.h | 51 +++++++++++++++++++++++++++ glslang/Public/ShaderLang.h | 17 +-------- 4 files changed, 54 insertions(+), 32 deletions(-) create mode 100644 glslang/Include/visibility.h diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt index 7fc0d87a..4beb1da3 100644 --- a/glslang/CMakeLists.txt +++ b/glslang/CMakeLists.txt @@ -261,6 +261,7 @@ if(GLSLANG_ENABLE_INSTALL) Include/glslang_c_shader_types.h Include/ResourceLimits.h MachineIndependent/iomapper.h + Include/visibility.h MachineIndependent/Versions.h) foreach(file ${PUBLIC_HEADERS}) diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h index a78b9f5d..cbf10b45 100644 --- a/glslang/Include/glslang_c_interface.h +++ b/glslang/Include/glslang_c_interface.h @@ -37,6 +37,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include "glslang_c_shader_types.h" +#include "visibility.h" typedef struct glslang_shader_s glslang_shader_t; typedef struct glslang_program_s glslang_program_t; @@ -244,22 +245,6 @@ typedef struct glslang_spv_options_s { extern "C" { #endif -#ifdef GLSLANG_IS_SHARED_LIBRARY - #ifdef _WIN32 - #ifdef GLSLANG_EXPORTING - #define GLSLANG_EXPORT __declspec(dllexport) - #else - #define GLSLANG_EXPORT __declspec(dllimport) - #endif - #elif __GNUC__ >= 4 - #define GLSLANG_EXPORT __attribute__((visibility("default"))) - #endif -#endif // GLSLANG_IS_SHARED_LIBRARY - -#ifndef GLSLANG_EXPORT -#define GLSLANG_EXPORT -#endif - GLSLANG_EXPORT void glslang_get_version(glslang_version_t* version); GLSLANG_EXPORT int glslang_initialize_process(void); diff --git a/glslang/Include/visibility.h b/glslang/Include/visibility.h new file mode 100644 index 00000000..d6b6bb34 --- /dev/null +++ b/glslang/Include/visibility.h @@ -0,0 +1,51 @@ +// +// Copyright (C) 2023 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +#ifdef GLSLANG_IS_SHARED_LIBRARY + #ifdef _WIN32 + #ifdef GLSLANG_EXPORTING + #define GLSLANG_EXPORT __declspec(dllexport) + #else + #define GLSLANG_EXPORT __declspec(dllimport) + #endif + #elif __GNUC__ >= 4 + #define GLSLANG_EXPORT __attribute__((visibility("default"))) + #endif +#endif // GLSLANG_IS_SHARED_LIBRARY + +#ifndef GLSLANG_EXPORT +#define GLSLANG_EXPORT +#endif + + diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h index 9e8398c8..d7880307 100644 --- a/glslang/Public/ShaderLang.h +++ b/glslang/Public/ShaderLang.h @@ -38,6 +38,7 @@ #define _COMPILER_INTERFACE_INCLUDED_ #include "../Include/ResourceLimits.h" +#include "../Include/visibility.h" #include "../MachineIndependent/Versions.h" #include @@ -49,22 +50,6 @@ #define C_DECL #endif -#ifdef GLSLANG_IS_SHARED_LIBRARY - #ifdef _WIN32 - #ifdef GLSLANG_EXPORTING - #define GLSLANG_EXPORT __declspec(dllexport) - #else - #define GLSLANG_EXPORT __declspec(dllimport) - #endif - #elif __GNUC__ >= 4 - #define GLSLANG_EXPORT __attribute__((visibility("default"))) - #endif -#endif // GLSLANG_IS_SHARED_LIBRARY - -#ifndef GLSLANG_EXPORT -#define GLSLANG_EXPORT -#endif - // // This is the platform independent interface between an OGL driver // and the shading language compiler/linker. From ffd454c57bdbea8ae493df7a5d2733ae2b02cb81 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Tue, 20 Aug 2024 13:23:43 -0400 Subject: [PATCH 060/108] Add visibility.h to build scripts --- BUILD.gn | 1 + glslang/CMakeLists.txt | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/BUILD.gn b/BUILD.gn index 6384de04..383864c0 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -159,6 +159,7 @@ template("glslang_sources_common") { "glslang/Include/Types.h", "glslang/Include/arrays.h", "glslang/Include/intermediate.h", + "glslang/Include/visibility.h", "glslang/MachineIndependent/Constant.cpp", "glslang/MachineIndependent/InfoSink.cpp", "glslang/MachineIndependent/Initialize.cpp", diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt index 4beb1da3..a9740232 100644 --- a/glslang/CMakeLists.txt +++ b/glslang/CMakeLists.txt @@ -163,7 +163,8 @@ set(GLSLANG_HEADERS Include/ResourceLimits.h Include/ShHandle.h Include/SpirvIntrinsics.h - Include/Types.h) + Include/Types.h + Include/visibility.h) add_library(glslang ${LIB_TYPE} ${GLSLANG_SOURCES} ${GLSLANG_HEADERS} ${GENERICCODEGEN_SOURCES} ${GENERICCODEGEN_HEADERS} ${OSDEPENDENT_SOURCES} ${OSDEPENDENT_HEADERS} ${MACHINEINDEPENDENT_SOURCES} ${MACHINEINDEPENDENT_HEADERS} ${SPIRV_SOURCES} ${SPIRV_HEADERS}) add_library(glslang::glslang ALIAS glslang) From df3398078fab37b50ab33192af01cbc5b5d5b377 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 06:25:20 +0000 Subject: [PATCH 061/108] Bump github/codeql-action from 3.26.2 to 3.26.5 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.2 to 3.26.5. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/429e1977040da7a23b6822b13c129cd1ba93dbb2...2c779ab0d087cd7fe7b826087247c2c81f27bfa6) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 8c0173b6..2d5c3b8a 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2 + uses: github/codeql-action/upload-sarif@2c779ab0d087cd7fe7b826087247c2c81f27bfa6 # v3.26.5 with: sarif_file: results.sarif From 5073d93ec4fa2b8e6ff9b9b889ca9151ced2bf48 Mon Sep 17 00:00:00 2001 From: Matthew Moulton <30711895+mmoult@users.noreply.github.com> Date: Wed, 28 Aug 2024 21:46:16 +0000 Subject: [PATCH 062/108] Apply GLSL memory decorations to top-level OpVariable Apply memory decorations from GLSL source to the top-level OpVariable. Previously, these decorations would only be applied to individual members. While this is correct behavior, it is more convenient for some front ends to see the decorations (specifically ReadOnly and WriteOnly) applied to the whole variable rather than individual members. --- SPIRV/GlslangToSpv.cpp | 9 ++++++++- Test/baseResults/hlsl.attributeC11.frag.out | 2 ++ Test/baseResults/hlsl.buffer.frag.out | 2 ++ Test/baseResults/hlsl.buffer_ref_parameter.comp.out | 1 + Test/baseResults/hlsl.layout.frag.out | 3 +++ Test/baseResults/hlsl.structbuffer.byte.frag.out | 1 + Test/baseResults/hlsl.structbuffer.coherent.frag.out | 2 ++ Test/baseResults/hlsl.structbuffer.fn.frag.out | 2 ++ Test/baseResults/hlsl.structbuffer.fn2.comp.out | 1 + Test/baseResults/hlsl.structbuffer.frag.out | 2 ++ Test/baseResults/hlsl.structcopy.comp.out | 2 ++ Test/baseResults/hlsl.structcopylogical.comp.out | 2 ++ Test/baseResults/hlsl.texturebuffer.frag.out | 2 ++ Test/baseResults/iomap.crossStage.vk.vert.out | 2 ++ Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out | 1 + Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out | 1 + Test/baseResults/spv.8bitstorage-ssbo.vert.out | 1 + Test/baseResults/spv.8bitstorage-ubo.vert.out | 1 + Test/baseResults/spv.atomiAddEXT.task.out | 1 + Test/baseResults/spv.atomic.comp.out | 1 + Test/baseResults/spv.bufferhandle13.frag.out | 2 ++ Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out | 1 + Test/baseResults/spv.debuginfo.hlsl.comp.out | 1 + Test/baseResults/spv.expect_assume.assumeEXT.comp.out | 1 + Test/baseResults/spv.expect_assume.expectEXT.comp.out | 1 + .../spv.expect_assume.expectEXT.exttypes.comp.out | 1 + Test/baseResults/spv.fsi.frag.out | 1 + Test/baseResults/spv.memoryQualifier.frag.out | 1 + Test/baseResults/spv.specConstant.float16.comp.out | 1 + Test/baseResults/spv.specConstant.int16.comp.out | 1 + Test/baseResults/spv.specConstant.int8.comp.out | 1 + Test/baseResults/spv.specConstantOp.float16.comp.out | 2 ++ Test/baseResults/spv.specConstantOp.int16.comp.out | 2 ++ Test/baseResults/spv.specConstantOp.int8.comp.out | 2 ++ Test/baseResults/spv.ssbo.autoassign.frag.out | 1 + .../baseResults/spv.subgroupExtendedTypesRotate.comp.out | 1 + Test/baseResults/spv.subgroupRotate.comp.out | 1 + Test/baseResults/spv.volatileAtomic.comp.out | 2 ++ Test/baseResults/vk.relaxed.stagelink.0.0.vert.out | 4 ++++ 39 files changed, 65 insertions(+), 1 deletion(-) diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index 7bfd50f5..2ca475c2 100644 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -4372,7 +4372,14 @@ spv::Id TGlslangToSpvTraverser::createSpvVariable(const glslang::TIntermSymbol* initializer = builder.makeNullConstant(spvType); } - return builder.createVariable(spv::NoPrecision, storageClass, spvType, name, initializer, false); + spv::Id var = builder.createVariable(spv::NoPrecision, storageClass, spvType, name, initializer, false); + std::vector topLevelDecorations; + glslang::TQualifier typeQualifier = node->getType().getQualifier(); + TranslateMemoryDecoration(typeQualifier, topLevelDecorations, glslangIntermediate->usingVulkanMemoryModel()); + for (auto deco : topLevelDecorations) { + builder.addDecoration(var, deco); + } + return var; } // Return type Id of the sampled type. diff --git a/Test/baseResults/hlsl.attributeC11.frag.out b/Test/baseResults/hlsl.attributeC11.frag.out index 8def5712..721bfaf9 100644 --- a/Test/baseResults/hlsl.attributeC11.frag.out +++ b/Test/baseResults/hlsl.attributeC11.frag.out @@ -132,8 +132,10 @@ Validation failed Decorate 43(buffer1) BufferBlock MemberDecorate 43(buffer1) 0 NonWritable MemberDecorate 43(buffer1) 0 Offset 0 + Decorate 45(buffer1) NonWritable Decorate 45(buffer1) Binding 1 Decorate 45(buffer1) DescriptorSet 0 + Decorate 46(buffer3) NonWritable Decorate 46(buffer3) Binding 3 Decorate 46(buffer3) DescriptorSet 2 Decorate 47(ci) SpecId 13 diff --git a/Test/baseResults/hlsl.buffer.frag.out b/Test/baseResults/hlsl.buffer.frag.out index 64959d69..6c746eb1 100644 --- a/Test/baseResults/hlsl.buffer.frag.out +++ b/Test/baseResults/hlsl.buffer.frag.out @@ -205,6 +205,7 @@ Validation failed Decorate 37(buf2) BufferBlock MemberDecorate 37(buf2) 0 NonWritable MemberDecorate 37(buf2) 0 Offset 0 + Decorate 39 NonWritable Decorate 39 Binding 1 Decorate 39 DescriptorSet 0 Decorate 43(cbufName) Block @@ -245,6 +246,7 @@ Validation failed MemberDecorate 50(tbufName) 11 MatrixStride 16 MemberDecorate 50(tbufName) 11 NonWritable MemberDecorate 50(tbufName) 11 Offset 304 + Decorate 52 NonWritable Decorate 52 Binding 8 Decorate 52 DescriptorSet 0 Decorate 65(input) BuiltIn FragCoord diff --git a/Test/baseResults/hlsl.buffer_ref_parameter.comp.out b/Test/baseResults/hlsl.buffer_ref_parameter.comp.out index 1f7f0906..8c8cde02 100644 --- a/Test/baseResults/hlsl.buffer_ref_parameter.comp.out +++ b/Test/baseResults/hlsl.buffer_ref_parameter.comp.out @@ -279,6 +279,7 @@ local_size = (64, 1, 1) MemberDecorate 8 0 NonWritable MemberDecorate 8 0 Offset 0 Decorate 14(buffer_position) NonWritable + Decorate 53(buffer_position_ms) NonWritable Decorate 53(buffer_position_ms) Binding 0 Decorate 53(buffer_position_ms) DescriptorSet 0 Decorate 59 ArrayStride 4 diff --git a/Test/baseResults/hlsl.layout.frag.out b/Test/baseResults/hlsl.layout.frag.out index 564de6d0..7979015a 100644 --- a/Test/baseResults/hlsl.layout.frag.out +++ b/Test/baseResults/hlsl.layout.frag.out @@ -114,14 +114,17 @@ Validation failed Decorate 17(tbufName) BufferBlock MemberDecorate 17(tbufName) 0 NonWritable MemberDecorate 17(tbufName) 0 Offset 16 + Decorate 19 NonWritable Decorate 19 Binding 5 Decorate 19 DescriptorSet 3 Decorate 26(tbufName2) BufferBlock MemberDecorate 26(tbufName2) 0 NonWritable MemberDecorate 26(tbufName2) 0 Offset 0 + Decorate 28 NonWritable Decorate 33(tbufName2) BufferBlock MemberDecorate 33(tbufName2) 0 NonWritable MemberDecorate 33(tbufName2) 0 Offset 16 + Decorate 35 NonWritable Decorate 35 Binding 7 Decorate 35 DescriptorSet 4 Decorate 43(specConst) SpecId 17 diff --git a/Test/baseResults/hlsl.structbuffer.byte.frag.out b/Test/baseResults/hlsl.structbuffer.byte.frag.out index 389cd9c1..a99b8056 100644 --- a/Test/baseResults/hlsl.structbuffer.byte.frag.out +++ b/Test/baseResults/hlsl.structbuffer.byte.frag.out @@ -351,6 +351,7 @@ gl_FragCoord origin is upper left Decorate 16(sbuf) BufferBlock MemberDecorate 16(sbuf) 0 NonWritable MemberDecorate 16(sbuf) 0 Offset 0 + Decorate 18(sbuf) NonWritable Decorate 18(sbuf) Binding 0 Decorate 18(sbuf) DescriptorSet 0 Decorate 107(pos) Flat diff --git a/Test/baseResults/hlsl.structbuffer.coherent.frag.out b/Test/baseResults/hlsl.structbuffer.coherent.frag.out index 6647df1a..a75b3cfe 100644 --- a/Test/baseResults/hlsl.structbuffer.coherent.frag.out +++ b/Test/baseResults/hlsl.structbuffer.coherent.frag.out @@ -207,6 +207,7 @@ gl_FragCoord origin is upper left Decorate 15(sbuf2) BufferBlock MemberDecorate 15(sbuf2) 0 Coherent MemberDecorate 15(sbuf2) 0 Offset 0 + Decorate 17(sbuf2) Coherent Decorate 17(sbuf2) Binding 1 Decorate 17(sbuf2) DescriptorSet 0 MemberDecorate 28(sb_t) 0 Offset 0 @@ -215,6 +216,7 @@ gl_FragCoord origin is upper left Decorate 30(sbuf) BufferBlock MemberDecorate 30(sbuf) 0 Coherent MemberDecorate 30(sbuf) 0 Offset 0 + Decorate 32(sbuf) Coherent Decorate 32(sbuf) Binding 0 Decorate 32(sbuf) DescriptorSet 0 Decorate 71(pos) Flat diff --git a/Test/baseResults/hlsl.structbuffer.fn.frag.out b/Test/baseResults/hlsl.structbuffer.fn.frag.out index 846bcab5..7e8536a8 100644 --- a/Test/baseResults/hlsl.structbuffer.fn.frag.out +++ b/Test/baseResults/hlsl.structbuffer.fn.frag.out @@ -194,6 +194,7 @@ Validation failed Decorate 47(sbuf2) DescriptorSet 0 Decorate 48(sbuf2@count) Binding 0 Decorate 48(sbuf2@count) DescriptorSet 0 + Decorate 50(sbuf) NonWritable Decorate 50(sbuf) Binding 10 Decorate 50(sbuf) DescriptorSet 0 Decorate 63(pos) Flat @@ -207,6 +208,7 @@ Validation failed Decorate 75(sbuf3) BufferBlock MemberDecorate 75(sbuf3) 0 NonWritable MemberDecorate 75(sbuf3) 0 Offset 0 + Decorate 77(sbuf3) NonWritable Decorate 77(sbuf3) Binding 12 Decorate 77(sbuf3) DescriptorSet 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.structbuffer.fn2.comp.out b/Test/baseResults/hlsl.structbuffer.fn2.comp.out index 20159a59..f3630064 100644 --- a/Test/baseResults/hlsl.structbuffer.fn2.comp.out +++ b/Test/baseResults/hlsl.structbuffer.fn2.comp.out @@ -169,6 +169,7 @@ local_size = (256, 1, 1) MemberDecorate 9 0 NonWritable MemberDecorate 9 0 Offset 0 Decorate 14(buffer) NonWritable + Decorate 44(g_input) NonWritable Decorate 44(g_input) Binding 0 Decorate 44(g_input) DescriptorSet 0 Decorate 50(g_output) Binding 1 diff --git a/Test/baseResults/hlsl.structbuffer.frag.out b/Test/baseResults/hlsl.structbuffer.frag.out index abcfa485..db1d71c4 100644 --- a/Test/baseResults/hlsl.structbuffer.frag.out +++ b/Test/baseResults/hlsl.structbuffer.frag.out @@ -228,12 +228,14 @@ gl_FragCoord origin is upper left Decorate 21(sbuf) BufferBlock MemberDecorate 21(sbuf) 0 NonWritable MemberDecorate 21(sbuf) 0 Offset 0 + Decorate 23(sbuf) NonWritable Decorate 23(sbuf) Binding 10 Decorate 23(sbuf) DescriptorSet 0 Decorate 58 ArrayStride 4 Decorate 59(sbuf2) BufferBlock MemberDecorate 59(sbuf2) 0 NonWritable MemberDecorate 59(sbuf2) 0 Offset 0 + Decorate 61(sbuf2) NonWritable Decorate 61(sbuf2) Binding 0 Decorate 61(sbuf2) DescriptorSet 0 Decorate 89(pos) Flat diff --git a/Test/baseResults/hlsl.structcopy.comp.out b/Test/baseResults/hlsl.structcopy.comp.out index 43e513d2..07441e19 100644 --- a/Test/baseResults/hlsl.structcopy.comp.out +++ b/Test/baseResults/hlsl.structcopy.comp.out @@ -288,12 +288,14 @@ local_size = (128, 1, 1) Decorate 30(sb) BufferBlock MemberDecorate 30(sb) 0 NonWritable MemberDecorate 30(sb) 0 Offset 0 + Decorate 32(sb) NonWritable Decorate 32(sb) Binding 0 Decorate 32(sb) DescriptorSet 0 Decorate 64 ArrayStride 12 Decorate 65(o) BufferBlock MemberDecorate 65(o) 0 NonWritable MemberDecorate 65(o) 0 Offset 0 + Decorate 67(o) NonWritable Decorate 67(o) Binding 1 Decorate 67(o) DescriptorSet 0 Decorate 83(id) BuiltIn LocalInvocationIndex diff --git a/Test/baseResults/hlsl.structcopylogical.comp.out b/Test/baseResults/hlsl.structcopylogical.comp.out index 700d415a..0b997811 100644 --- a/Test/baseResults/hlsl.structcopylogical.comp.out +++ b/Test/baseResults/hlsl.structcopylogical.comp.out @@ -288,12 +288,14 @@ local_size = (128, 1, 1) Decorate 30(sb) Block MemberDecorate 30(sb) 0 NonWritable MemberDecorate 30(sb) 0 Offset 0 + Decorate 32(sb) NonWritable Decorate 32(sb) Binding 0 Decorate 32(sb) DescriptorSet 0 Decorate 54 ArrayStride 12 Decorate 55(o) Block MemberDecorate 55(o) 0 NonWritable MemberDecorate 55(o) 0 Offset 0 + Decorate 57(o) NonWritable Decorate 57(o) Binding 1 Decorate 57(o) DescriptorSet 0 Decorate 74(id) BuiltIn LocalInvocationIndex diff --git a/Test/baseResults/hlsl.texturebuffer.frag.out b/Test/baseResults/hlsl.texturebuffer.frag.out index 7cba9c34..6a2f8bec 100644 --- a/Test/baseResults/hlsl.texturebuffer.frag.out +++ b/Test/baseResults/hlsl.texturebuffer.frag.out @@ -99,6 +99,7 @@ gl_FragCoord origin is upper left MemberDecorate 15(TextureBuffer_var) 0 Offset 0 MemberDecorate 15(TextureBuffer_var) 1 NonWritable MemberDecorate 15(TextureBuffer_var) 1 Offset 16 + Decorate 17(TextureBuffer_var) NonWritable Decorate 17(TextureBuffer_var) Binding 0 Decorate 17(TextureBuffer_var) DescriptorSet 0 Decorate 22(tbuf2) BufferBlock @@ -106,6 +107,7 @@ gl_FragCoord origin is upper left MemberDecorate 22(tbuf2) 0 Offset 0 MemberDecorate 22(tbuf2) 1 NonWritable MemberDecorate 22(tbuf2) 1 Offset 16 + Decorate 24 NonWritable Decorate 24 Binding 1 Decorate 24 DescriptorSet 0 Decorate 32(pos) BuiltIn FragCoord diff --git a/Test/baseResults/iomap.crossStage.vk.vert.out b/Test/baseResults/iomap.crossStage.vk.vert.out index 850b087f..1f181fe8 100644 --- a/Test/baseResults/iomap.crossStage.vk.vert.out +++ b/Test/baseResults/iomap.crossStage.vk.vert.out @@ -421,6 +421,7 @@ gl_FragCoord origin is upper left Decorate 29(vertOnlyBlock) BufferBlock MemberDecorate 29(vertOnlyBlock) 0 NonWritable MemberDecorate 29(vertOnlyBlock) 0 Offset 0 + Decorate 31 NonWritable Decorate 31 Binding 0 Decorate 31 DescriptorSet 0 Decorate 32(crossStageBlock2) Block @@ -616,6 +617,7 @@ gl_FragCoord origin is upper left Decorate 15(fragOnlyBlock) BufferBlock MemberDecorate 15(fragOnlyBlock) 0 NonWritable MemberDecorate 15(fragOnlyBlock) 0 Offset 0 + Decorate 17 NonWritable Decorate 17 Binding 2 Decorate 17 DescriptorSet 0 Decorate 23(crossStageBlock2) Block diff --git a/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out b/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out index 59e05bad..402729d4 100644 --- a/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out +++ b/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out @@ -22,6 +22,7 @@ spv.1.3.8bitstorage-ssbo.vert Decorate 12(Vertices) Block MemberDecorate 12(Vertices) 0 NonWritable MemberDecorate 12(Vertices) 0 Offset 0 + Decorate 14 NonWritable Decorate 14 Binding 0 Decorate 14 DescriptorSet 0 Decorate 18(gl_VertexIndex) BuiltIn VertexIndex diff --git a/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out b/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out index 2aa51a8e..e7cd68a5 100644 --- a/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out +++ b/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out @@ -21,6 +21,7 @@ spv.1.3.8bitstorage-ubo.vert Decorate 13 ArrayStride 16 Decorate 14(Vertices) Block MemberDecorate 14(Vertices) 0 Offset 0 + Decorate 16 NonWritable Decorate 16 Binding 0 Decorate 16 DescriptorSet 0 Decorate 20(gl_VertexIndex) BuiltIn VertexIndex diff --git a/Test/baseResults/spv.8bitstorage-ssbo.vert.out b/Test/baseResults/spv.8bitstorage-ssbo.vert.out index 19e7d433..012b50f7 100644 --- a/Test/baseResults/spv.8bitstorage-ssbo.vert.out +++ b/Test/baseResults/spv.8bitstorage-ssbo.vert.out @@ -22,6 +22,7 @@ spv.8bitstorage-ssbo.vert Decorate 12(Vertices) BufferBlock MemberDecorate 12(Vertices) 0 NonWritable MemberDecorate 12(Vertices) 0 Offset 0 + Decorate 14 NonWritable Decorate 14 Binding 0 Decorate 14 DescriptorSet 0 Decorate 18(gl_VertexIndex) BuiltIn VertexIndex diff --git a/Test/baseResults/spv.8bitstorage-ubo.vert.out b/Test/baseResults/spv.8bitstorage-ubo.vert.out index 7dd1e32a..2207b6fd 100644 --- a/Test/baseResults/spv.8bitstorage-ubo.vert.out +++ b/Test/baseResults/spv.8bitstorage-ubo.vert.out @@ -21,6 +21,7 @@ spv.8bitstorage-ubo.vert Decorate 13 ArrayStride 16 Decorate 14(Vertices) Block MemberDecorate 14(Vertices) 0 Offset 0 + Decorate 16 NonWritable Decorate 16 Binding 0 Decorate 16 DescriptorSet 0 Decorate 20(gl_VertexIndex) BuiltIn VertexIndex diff --git a/Test/baseResults/spv.atomiAddEXT.task.out b/Test/baseResults/spv.atomiAddEXT.task.out index bf937240..22848ad0 100644 --- a/Test/baseResults/spv.atomiAddEXT.task.out +++ b/Test/baseResults/spv.atomiAddEXT.task.out @@ -26,6 +26,7 @@ spv.atomiAddEXT.task Decorate 7(Buffer) Block MemberDecorate 7(Buffer) 0 Coherent MemberDecorate 7(Buffer) 0 Offset 0 + Decorate 9 Coherent Decorate 9 Binding 1 Decorate 9 DescriptorSet 0 Decorate 19 ArrayStride 4 diff --git a/Test/baseResults/spv.atomic.comp.out b/Test/baseResults/spv.atomic.comp.out index 53548089..22b297f6 100644 --- a/Test/baseResults/spv.atomic.comp.out +++ b/Test/baseResults/spv.atomic.comp.out @@ -40,6 +40,7 @@ spv.atomic.comp MemberDecorate 62(dataSSB) 0 Offset 0 MemberDecorate 62(dataSSB) 1 Restrict MemberDecorate 62(dataSSB) 1 Offset 16 + Decorate 64(result) Restrict Decorate 64(result) Binding 0 Decorate 64(result) DescriptorSet 0 2: TypeVoid diff --git a/Test/baseResults/spv.bufferhandle13.frag.out b/Test/baseResults/spv.bufferhandle13.frag.out index cb98c1ad..90e715ae 100644 --- a/Test/baseResults/spv.bufferhandle13.frag.out +++ b/Test/baseResults/spv.bufferhandle13.frag.out @@ -45,10 +45,12 @@ spv.bufferhandle13.frag MemberDecorate 35(t5) 0 Offset 0 Decorate 37(s5) Binding 0 Decorate 37(s5) DescriptorSet 0 + Decorate 42(b) Restrict Decorate 42(b) DecorationRestrictPointerEXT Decorate 47(param) DecorationAliasedPointerEXT Decorate 52(param) DecorationAliasedPointerEXT Decorate 56(g1) DecorationAliasedPointerEXT + Decorate 57(g2) Restrict Decorate 57(g2) DecorationRestrictPointerEXT 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out b/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out index 9f94aa1d..8dc69205 100644 --- a/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out @@ -89,6 +89,7 @@ void main() { Decorate 64(PerPass_meshes) Block MemberDecorate 64(PerPass_meshes) 0 NonWritable MemberDecorate 64(PerPass_meshes) 0 Offset 0 + Decorate 73(perPass_meshes) NonWritable Decorate 73(perPass_meshes) Binding 0 Decorate 73(perPass_meshes) DescriptorSet 0 Decorate 82(tri_idx0) Flat diff --git a/Test/baseResults/spv.debuginfo.hlsl.comp.out b/Test/baseResults/spv.debuginfo.hlsl.comp.out index c23f8234..b4579daf 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.comp.out +++ b/Test/baseResults/spv.debuginfo.hlsl.comp.out @@ -157,6 +157,7 @@ spv.debuginfo.hlsl.comp Decorate 199(particleIn) BufferBlock MemberDecorate 199(particleIn) 0 NonWritable MemberDecorate 199(particleIn) 0 Offset 0 + Decorate 208(particleIn) NonWritable Decorate 208(particleIn) Binding 0 Decorate 208(particleIn) DescriptorSet 0 Decorate 220 ArrayStride 80 diff --git a/Test/baseResults/spv.expect_assume.assumeEXT.comp.out b/Test/baseResults/spv.expect_assume.assumeEXT.comp.out index b865bd83..2a1ca7fe 100644 --- a/Test/baseResults/spv.expect_assume.assumeEXT.comp.out +++ b/Test/baseResults/spv.expect_assume.assumeEXT.comp.out @@ -19,6 +19,7 @@ spv.expect_assume.assumeEXT.comp Decorate 7(roblock) BufferBlock MemberDecorate 7(roblock) 0 NonWritable MemberDecorate 7(roblock) 0 Offset 0 + Decorate 9(ro) NonWritable Decorate 9(ro) Binding 0 Decorate 9(ro) DescriptorSet 0 Decorate 21 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.expect_assume.expectEXT.comp.out b/Test/baseResults/spv.expect_assume.expectEXT.comp.out index 8cc9f48e..bb9d073f 100644 --- a/Test/baseResults/spv.expect_assume.expectEXT.comp.out +++ b/Test/baseResults/spv.expect_assume.expectEXT.comp.out @@ -53,6 +53,7 @@ spv.expect_assume.expectEXT.comp MemberDecorate 18(roblock) 10 Offset 112 MemberDecorate 18(roblock) 11 NonWritable MemberDecorate 18(roblock) 11 Offset 128 + Decorate 20(ro) NonWritable Decorate 20(ro) Binding 0 Decorate 20(ro) DescriptorSet 0 Decorate 177 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.expect_assume.expectEXT.exttypes.comp.out b/Test/baseResults/spv.expect_assume.expectEXT.exttypes.comp.out index d0f2632f..f449a636 100644 --- a/Test/baseResults/spv.expect_assume.expectEXT.exttypes.comp.out +++ b/Test/baseResults/spv.expect_assume.expectEXT.exttypes.comp.out @@ -121,6 +121,7 @@ spv.expect_assume.expectEXT.exttypes.comp MemberDecorate 42(roblock) 30 Offset 320 MemberDecorate 42(roblock) 31 NonWritable MemberDecorate 42(roblock) 31 Offset 352 + Decorate 44(ro) NonWritable Decorate 44(ro) Binding 0 Decorate 44(ro) DescriptorSet 0 Decorate 457 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.fsi.frag.out b/Test/baseResults/spv.fsi.frag.out index d9cd092e..df9fc7c6 100644 --- a/Test/baseResults/spv.fsi.frag.out +++ b/Test/baseResults/spv.fsi.frag.out @@ -21,6 +21,7 @@ spv.fsi.frag Decorate 7(B1) BufferBlock MemberDecorate 7(B1) 0 Coherent MemberDecorate 7(B1) 0 Offset 0 + Decorate 9(b1) Coherent Decorate 9(b1) Binding 0 Decorate 9(b1) DescriptorSet 0 Decorate 17(im) Coherent diff --git a/Test/baseResults/spv.memoryQualifier.frag.out b/Test/baseResults/spv.memoryQualifier.frag.out index f6e12c1d..57b4c71c 100644 --- a/Test/baseResults/spv.memoryQualifier.frag.out +++ b/Test/baseResults/spv.memoryQualifier.frag.out @@ -65,6 +65,7 @@ Validation failed MemberDecorate 50(Buffer) 4 Offset 48 MemberDecorate 50(Buffer) 5 Coherent MemberDecorate 50(Buffer) 5 Offset 56 + Decorate 52 Coherent Decorate 52 Binding 4 Decorate 52 DescriptorSet 0 2: TypeVoid diff --git a/Test/baseResults/spv.specConstant.float16.comp.out b/Test/baseResults/spv.specConstant.float16.comp.out index 69153978..ba4169e3 100644 --- a/Test/baseResults/spv.specConstant.float16.comp.out +++ b/Test/baseResults/spv.specConstant.float16.comp.out @@ -25,6 +25,7 @@ spv.specConstant.float16.comp MemberDecorate 7(Output) 0 Offset 0 MemberDecorate 7(Output) 1 NonReadable MemberDecorate 7(Output) 1 Offset 2 + Decorate 9(sb_out) NonReadable Decorate 9(sb_out) Binding 0 Decorate 9(sb_out) DescriptorSet 0 Decorate 12(sc0) SpecId 1 diff --git a/Test/baseResults/spv.specConstant.int16.comp.out b/Test/baseResults/spv.specConstant.int16.comp.out index 9ff1e87e..dfb23179 100644 --- a/Test/baseResults/spv.specConstant.int16.comp.out +++ b/Test/baseResults/spv.specConstant.int16.comp.out @@ -25,6 +25,7 @@ spv.specConstant.int16.comp MemberDecorate 7(Output) 0 Offset 0 MemberDecorate 7(Output) 1 NonReadable MemberDecorate 7(Output) 1 Offset 2 + Decorate 9(sb_out) NonReadable Decorate 9(sb_out) Binding 0 Decorate 9(sb_out) DescriptorSet 0 Decorate 12(sc0) SpecId 1 diff --git a/Test/baseResults/spv.specConstant.int8.comp.out b/Test/baseResults/spv.specConstant.int8.comp.out index f9ed9db4..7f1175aa 100644 --- a/Test/baseResults/spv.specConstant.int8.comp.out +++ b/Test/baseResults/spv.specConstant.int8.comp.out @@ -25,6 +25,7 @@ spv.specConstant.int8.comp MemberDecorate 7(Output) 0 Offset 0 MemberDecorate 7(Output) 1 NonReadable MemberDecorate 7(Output) 1 Offset 1 + Decorate 9(sb_out) NonReadable Decorate 9(sb_out) Binding 0 Decorate 9(sb_out) DescriptorSet 0 Decorate 12(sc0) SpecId 1 diff --git a/Test/baseResults/spv.specConstantOp.float16.comp.out b/Test/baseResults/spv.specConstantOp.float16.comp.out index 565e62cb..f4f1ae1b 100644 --- a/Test/baseResults/spv.specConstantOp.float16.comp.out +++ b/Test/baseResults/spv.specConstantOp.float16.comp.out @@ -23,6 +23,8 @@ spv.specConstantOp.float16.comp MemberDecorate 8(S) 0 Restrict MemberDecorate 8(S) 0 NonReadable MemberDecorate 8(S) 0 Offset 0 + Decorate 10 Restrict + Decorate 10 NonReadable Decorate 10 Binding 0 Decorate 10 DescriptorSet 0 Decorate 14(c) SpecId 0 diff --git a/Test/baseResults/spv.specConstantOp.int16.comp.out b/Test/baseResults/spv.specConstantOp.int16.comp.out index 1d980690..8d39f09e 100644 --- a/Test/baseResults/spv.specConstantOp.int16.comp.out +++ b/Test/baseResults/spv.specConstantOp.int16.comp.out @@ -23,6 +23,8 @@ spv.specConstantOp.int16.comp MemberDecorate 8(S) 0 Restrict MemberDecorate 8(S) 0 NonReadable MemberDecorate 8(S) 0 Offset 0 + Decorate 10 Restrict + Decorate 10 NonReadable Decorate 10 Binding 0 Decorate 10 DescriptorSet 0 Decorate 13(c) SpecId 0 diff --git a/Test/baseResults/spv.specConstantOp.int8.comp.out b/Test/baseResults/spv.specConstantOp.int8.comp.out index f621ba93..d88fce9b 100644 --- a/Test/baseResults/spv.specConstantOp.int8.comp.out +++ b/Test/baseResults/spv.specConstantOp.int8.comp.out @@ -23,6 +23,8 @@ spv.specConstantOp.int8.comp MemberDecorate 8(S) 0 Restrict MemberDecorate 8(S) 0 NonReadable MemberDecorate 8(S) 0 Offset 0 + Decorate 10 Restrict + Decorate 10 NonReadable Decorate 10 Binding 0 Decorate 10 DescriptorSet 0 Decorate 13(c) SpecId 0 diff --git a/Test/baseResults/spv.ssbo.autoassign.frag.out b/Test/baseResults/spv.ssbo.autoassign.frag.out index fb33e70b..2d8c2831 100644 --- a/Test/baseResults/spv.ssbo.autoassign.frag.out +++ b/Test/baseResults/spv.ssbo.autoassign.frag.out @@ -36,6 +36,7 @@ spv.ssbo.autoassign.frag Decorate 16(SB0) BufferBlock MemberDecorate 16(SB0) 0 NonWritable MemberDecorate 16(SB0) 0 Offset 0 + Decorate 18(SB0) NonWritable Decorate 18(SB0) Binding 30 Decorate 18(SB0) DescriptorSet 0 Decorate 26(TestCB) Block diff --git a/Test/baseResults/spv.subgroupExtendedTypesRotate.comp.out b/Test/baseResults/spv.subgroupExtendedTypesRotate.comp.out index b806ca94..cb13289c 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesRotate.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesRotate.comp.out @@ -44,6 +44,7 @@ spv.subgroupExtendedTypesRotate.comp Decorate 9(roblock) Block MemberDecorate 9(roblock) 0 NonWritable MemberDecorate 9(roblock) 0 Offset 0 + Decorate 11(ro) NonWritable Decorate 11(ro) Binding 1 Decorate 11(ro) DescriptorSet 0 Decorate 31(Buffers) Block diff --git a/Test/baseResults/spv.subgroupRotate.comp.out b/Test/baseResults/spv.subgroupRotate.comp.out index d988636a..147b37fb 100644 --- a/Test/baseResults/spv.subgroupRotate.comp.out +++ b/Test/baseResults/spv.subgroupRotate.comp.out @@ -27,6 +27,7 @@ spv.subgroupRotate.comp Decorate 9(roblock) Block MemberDecorate 9(roblock) 0 NonWritable MemberDecorate 9(roblock) 0 Offset 0 + Decorate 11(ro) NonWritable Decorate 11(ro) Binding 1 Decorate 11(ro) DescriptorSet 0 Decorate 23(Buffers) Block diff --git a/Test/baseResults/spv.volatileAtomic.comp.out b/Test/baseResults/spv.volatileAtomic.comp.out index 13aec2f3..29462a13 100644 --- a/Test/baseResults/spv.volatileAtomic.comp.out +++ b/Test/baseResults/spv.volatileAtomic.comp.out @@ -18,6 +18,8 @@ spv.volatileAtomic.comp MemberDecorate 8(D) 0 Volatile MemberDecorate 8(D) 0 Coherent MemberDecorate 8(D) 0 Offset 0 + Decorate 10(d) Volatile + Decorate 10(d) Coherent Decorate 10(d) Binding 3 Decorate 10(d) DescriptorSet 0 2: TypeVoid diff --git a/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out b/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out index d7d8be2f..5ab08aed 100644 --- a/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out +++ b/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out @@ -7465,6 +7465,8 @@ gl_FragCoord origin is upper left MemberDecorate 919(TDEnvLightBuffer) 0 Restrict MemberDecorate 919(TDEnvLightBuffer) 0 NonWritable MemberDecorate 919(TDEnvLightBuffer) 0 Offset 0 + Decorate 922(uTDEnvLightBuffers) Restrict + Decorate 922(uTDEnvLightBuffers) NonWritable Decorate 922(uTDEnvLightBuffers) Binding 0 Decorate 922(uTDEnvLightBuffers) DescriptorSet 0 Decorate 926(mTD2DImageOutputs) Binding 0 @@ -9146,6 +9148,8 @@ gl_FragCoord origin is upper left MemberDecorate 1293(TDEnvLightBuffer) 0 Restrict MemberDecorate 1293(TDEnvLightBuffer) 0 NonWritable MemberDecorate 1293(TDEnvLightBuffer) 0 Offset 0 + Decorate 1296(uTDEnvLightBuffers) Restrict + Decorate 1296(uTDEnvLightBuffers) NonWritable Decorate 1296(uTDEnvLightBuffers) Binding 0 Decorate 1296(uTDEnvLightBuffers) DescriptorSet 0 2: TypeVoid From b45d21b2874f0eb57913f6556fbc42ccf0a581ef Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Tue, 27 Aug 2024 18:45:57 -0400 Subject: [PATCH 063/108] cmake: Fix dependencies of newly-stubbed libraries Some downstream projects may only link to e.g. the glslang::SPIRV library and rely on transitive dependencies to pull in everything else. To keep this working, the SPIRV and MachineIndependent library stubs are now linked against the glslang library. --- SPIRV/CMakeLists.txt | 4 ++-- glslang/CMakeLists.txt | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt index fe1d07be..3663753e 100644 --- a/SPIRV/CMakeLists.txt +++ b/SPIRV/CMakeLists.txt @@ -110,11 +110,11 @@ if(WIN32 AND BUILD_SHARED_LIBS) endif() if(ENABLE_OPT) - target_link_libraries(SPIRV PRIVATE MachineIndependent PUBLIC SPIRV-Tools-opt) + target_link_libraries(SPIRV PRIVATE glslang PUBLIC SPIRV-Tools-opt) target_include_directories(SPIRV PUBLIC $) else() - target_link_libraries(SPIRV PRIVATE MachineIndependent) + target_link_libraries(SPIRV PRIVATE glslang) endif() if(WIN32) diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt index a9740232..385d4697 100644 --- a/glslang/CMakeLists.txt +++ b/glslang/CMakeLists.txt @@ -136,6 +136,7 @@ endif() add_library(MachineIndependent STATIC stub.cpp) set_property(TARGET MachineIndependent PROPERTY POSITION_INDEPENDENT_CODE ON) set_property(TARGET MachineIndependent PROPERTY FOLDER glslang) +target_link_libraries(MachineIndependent PRIVATE glslang) if (NOT MSVC) # -Wunused-but-set-variable is triggered in code generated by bison that we do not control. Turn this warning off, but only for the generated. From 12cbda959b6df2af119a76a73ff906c2bed36884 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Thu, 29 Aug 2024 13:37:40 -0400 Subject: [PATCH 064/108] Fix test results after merging #3662 The change was rebased but one test was added in the meantime. --- Test/baseResults/hlsl.buffer-offsets.comp.out | 1 + 1 file changed, 1 insertion(+) diff --git a/Test/baseResults/hlsl.buffer-offsets.comp.out b/Test/baseResults/hlsl.buffer-offsets.comp.out index d92d0be9..c2204a6f 100644 --- a/Test/baseResults/hlsl.buffer-offsets.comp.out +++ b/Test/baseResults/hlsl.buffer-offsets.comp.out @@ -55,6 +55,7 @@ local_size = (1, 1, 1) Decorate 17(bIterData) BufferBlock MemberDecorate 17(bIterData) 0 NonWritable MemberDecorate 17(bIterData) 0 Offset 0 + Decorate 19(bIterData) NonWritable Decorate 19(bIterData) Binding 2 Decorate 19(bIterData) DescriptorSet 0 2: TypeVoid From 53dad99378cc0b3a0c6ed4af51b2ab84c4fb656c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 06:12:30 +0000 Subject: [PATCH 065/108] Bump lukka/get-cmake from 3.30.2 to 3.30.3 Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.30.2 to 3.30.3. - [Release notes](https://github.com/lukka/get-cmake/releases) - [Commits](https://github.com/lukka/get-cmake/compare/a70f1cfa1857a3eecfe0d34962269e1b1e8be56c...070a0507a7abe157ef918deec391da1be197d2d1) --- updated-dependencies: - dependency-name: lukka/get-cmake dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/continuous_deployment.yml | 6 +++--- .github/workflows/continuous_integration.yml | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index b36bd66e..dd1e4d06 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -42,7 +42,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -106,7 +106,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -163,7 +163,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index d138553d..08e17a9a 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -18,7 +18,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -54,7 +54,7 @@ jobs: flags: ['-fsanitize=address', '-fsanitize=thread', '-fsanitize=undefined'] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -95,7 +95,7 @@ jobs: - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 with: cmakeVersion: 3.17.2 - name: Setup ccache @@ -125,7 +125,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - run: ./update_glslang_sources.py - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON env: @@ -146,7 +146,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' @@ -162,7 +162,7 @@ jobs: runs-on: macos-13 steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: @@ -191,7 +191,7 @@ jobs: LEGACY: [ON, OFF] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: @@ -217,7 +217,7 @@ jobs: - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: '3.7' - - uses: lukka/get-cmake@a70f1cfa1857a3eecfe0d34962269e1b1e8be56c # v3.30.2 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: From c45da88fe9b82f3e116a81b41e6016dbc13a3cf0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 06:12:22 +0000 Subject: [PATCH 066/108] Bump github/codeql-action from 3.26.5 to 3.26.6 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.5 to 3.26.6. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/2c779ab0d087cd7fe7b826087247c2c81f27bfa6...4dd16135b69a43b6c8efb853346f8437d92d3c93) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 2d5c3b8a..bd8742b5 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@2c779ab0d087cd7fe7b826087247c2c81f27bfa6 # v3.26.5 + uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6 with: sarif_file: results.sarif From 45f2b112ceb8235c8e4eb2ae45e65d841aed44d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 16:39:48 +0000 Subject: [PATCH 067/108] Bump actions/setup-python from 5.1.1 to 5.2.0 Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.1 to 5.2.0. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/39cd14951b08e74b54015e9e001cdefcf80e669f...f677139bbe7f9c59b41e40162b753c062f5d49a3) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/continuous_deployment.yml | 6 +++--- .github/workflows/continuous_integration.yml | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index dd1e4d06..40a240b3 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -43,7 +43,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - name: Install Ubuntu Package Dependencies @@ -107,7 +107,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - run: ./update_glslang_sources.py @@ -164,7 +164,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - run: python update_glslang_sources.py diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 08e17a9a..b8b6b288 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -19,7 +19,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - name: Setup ccache @@ -55,7 +55,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - name: Setup ccache @@ -92,7 +92,7 @@ jobs: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 @@ -147,7 +147,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - run: python update_glslang_sources.py @@ -214,7 +214,7 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 From 9cd7ca26a20fa28ed5296e32e7070fd1a457f01f Mon Sep 17 00:00:00 2001 From: "U-NVIDIA.COM\\rjennings" Date: Mon, 26 Aug 2024 20:31:19 -0700 Subject: [PATCH 068/108] PP: Don't report certain error about '#' when #if'd out Don't report the following error when scanning inactive code (e.g. code inside #if 0): "error: '#' : (#) can be preceded in its line only by spaces or horizontal tab" Adds a variable to PpContext to say whether we're currently skipping over an inactive #if/#ifdef/#elif/#else, and don't report the error inside scanToken if true. fixes 3704 --- .../preprocess.inactive_stringify.vert.err | 0 .../preprocess.inactive_stringify.vert.out | 29 +++++++++++++++++++ Test/preprocess.inactive_stringify.vert | 28 ++++++++++++++++++ .../MachineIndependent/preprocessor/Pp.cpp | 6 ++-- .../preprocessor/PpContext.cpp | 3 +- .../preprocessor/PpContext.h | 5 +++- gtests/Pp.FromFile.cpp | 1 + 7 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 Test/baseResults/preprocess.inactive_stringify.vert.err create mode 100755 Test/baseResults/preprocess.inactive_stringify.vert.out create mode 100755 Test/preprocess.inactive_stringify.vert diff --git a/Test/baseResults/preprocess.inactive_stringify.vert.err b/Test/baseResults/preprocess.inactive_stringify.vert.err new file mode 100644 index 00000000..e69de29b diff --git a/Test/baseResults/preprocess.inactive_stringify.vert.out b/Test/baseResults/preprocess.inactive_stringify.vert.out new file mode 100755 index 00000000..70cf1de8 --- /dev/null +++ b/Test/baseResults/preprocess.inactive_stringify.vert.out @@ -0,0 +1,29 @@ +#version 460 + + + + + + + + + + + + + + + + + + + + + + + +void main() +{ + gl_Position = vec4(1.0); +} + diff --git a/Test/preprocess.inactive_stringify.vert b/Test/preprocess.inactive_stringify.vert new file mode 100755 index 00000000..8f3a9425 --- /dev/null +++ b/Test/preprocess.inactive_stringify.vert @@ -0,0 +1,28 @@ +#version 460 + +// This tests that the preprocessor error +// "error: '#' : (#) can be preceded in its line only by spaces or horizontal tab" +// isn't enforced when inactive (e.g. inside #if 0) + +#if 0 +#define STRINGIFY(X) #X +#endif + +#define C 0 + +#if 1 +#ifdef A +#elif defined B +#elif C +// OK, since preprocessor evaluates to inactive +#define STRINGIFY(X) #X +#endif +#endif + +// OK in comments +// #define STRINGIFY(X) #X + +void main() +{ + gl_Position = vec4(1.0); +} \ No newline at end of file diff --git a/glslang/MachineIndependent/preprocessor/Pp.cpp b/glslang/MachineIndependent/preprocessor/Pp.cpp index 56f1f0b3..5b44b130 100644 --- a/glslang/MachineIndependent/preprocessor/Pp.cpp +++ b/glslang/MachineIndependent/preprocessor/Pp.cpp @@ -241,6 +241,7 @@ int TPpContext::CPPundef(TPpToken* ppToken) */ int TPpContext::CPPelse(int matchelse, TPpToken* ppToken) { + inElseSkip = true; int depth = 0; int token = scanToken(ppToken); @@ -297,7 +298,7 @@ int TPpContext::CPPelse(int matchelse, TPpToken* ppToken) elseSeen[elsetracker] = false; --elsetracker; } - + inElseSkip = false; return CPPif(ppToken); } } else if (nextAtom == PpAtomElse) { @@ -311,7 +312,8 @@ int TPpContext::CPPelse(int matchelse, TPpToken* ppToken) parseContext.ppError(ppToken->loc, "#elif after #else", "#elif", ""); } } - + + inElseSkip = false; return token; } diff --git a/glslang/MachineIndependent/preprocessor/PpContext.cpp b/glslang/MachineIndependent/preprocessor/PpContext.cpp index 70f51197..f27204bc 100644 --- a/glslang/MachineIndependent/preprocessor/PpContext.cpp +++ b/glslang/MachineIndependent/preprocessor/PpContext.cpp @@ -88,7 +88,8 @@ TPpContext::TPpContext(TParseContextBase& pc, const std::string& rootFileName, T preamble(nullptr), strings(nullptr), previous_token('\n'), parseContext(pc), includer(inclr), inComment(false), rootFileName(rootFileName), currentSourceFile(rootFileName), - disableEscapeSequences(false) + disableEscapeSequences(false), + inElseSkip(false) { ifdepth = 0; for (elsetracker = 0; elsetracker < maxIfNesting; elsetracker++) diff --git a/glslang/MachineIndependent/preprocessor/PpContext.h b/glslang/MachineIndependent/preprocessor/PpContext.h index 1ec30491..3446f1e1 100644 --- a/glslang/MachineIndependent/preprocessor/PpContext.h +++ b/glslang/MachineIndependent/preprocessor/PpContext.h @@ -371,7 +371,7 @@ protected: break; popInput(); } - if (!inputStack.empty() && inputStack.back()->isStringInput()) { + if (!inputStack.empty() && inputStack.back()->isStringInput() && !inElseSkip) { if (token == '\n') { bool seenNumSign = false; for (int i = 0; i < (int)lastLineTokens.size() - 1;) { @@ -732,6 +732,9 @@ protected: std::istringstream strtodStream; bool disableEscapeSequences; + // True if we're skipping a section enclosed by #if/#ifdef/#elif/#else which was evaluated to + // be inactive, e.g. #if 0 + bool inElseSkip; }; } // end namespace glslang diff --git a/gtests/Pp.FromFile.cpp b/gtests/Pp.FromFile.cpp index 1f960847..9cadd226 100644 --- a/gtests/Pp.FromFile.cpp +++ b/gtests/Pp.FromFile.cpp @@ -69,6 +69,7 @@ INSTANTIATE_TEST_SUITE_P( "preprocessor.eof_missing.vert", "preprocess.arb_shading_language_include.vert", "preprocess.include_directive_missing_extension.vert", + "preprocess.inactive_stringify.vert" })), FileNameAsCustomTestSuffix ); From b1fac200c40d9c067ba77dd68010975905eb7b3c Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 23 Aug 2024 19:12:45 -0400 Subject: [PATCH 069/108] Add symbol visibility annotations to symbols in SPIRV/ Symbols in the SPIRV/ directory that are meant to be part of the public API of glslangnow have GLSLANG_EXPORT annotations that make sure they will be accessible when building glslang as a shared library if -fvisibility=hidden is enabled. --- SPIRV/GlslangToSpv.h | 17 +++++++++-------- SPIRV/Logger.h | 3 ++- SPIRV/SpvTools.h | 39 +++++++++++++++++++++------------------ SPIRV/disassemble.h | 4 +++- 4 files changed, 35 insertions(+), 28 deletions(-) diff --git a/SPIRV/GlslangToSpv.h b/SPIRV/GlslangToSpv.h index 95ea891b..9fb4f3ff 100644 --- a/SPIRV/GlslangToSpv.h +++ b/SPIRV/GlslangToSpv.h @@ -39,6 +39,7 @@ #include #include "Logger.h" +#include "glslang/Include/visibility.h" namespace glslang { class TIntermediate; @@ -56,13 +57,13 @@ struct SpvOptions { bool optimizerAllowExpandedIDBound{false}; }; -void GetSpirvVersion(std::string&); -int GetSpirvGeneratorVersion(); -void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector& spirv, - SpvOptions* options = nullptr); -void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector& spirv, - spv::SpvBuildLogger* logger, SpvOptions* options = nullptr); -bool OutputSpvBin(const std::vector& spirv, const char* baseName); -bool OutputSpvHex(const std::vector& spirv, const char* baseName, const char* varName); +GLSLANG_EXPORT void GetSpirvVersion(std::string&); +GLSLANG_EXPORT int GetSpirvGeneratorVersion(); +GLSLANG_EXPORT void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector& spirv, + SpvOptions* options = nullptr); +GLSLANG_EXPORT void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector& spirv, + spv::SpvBuildLogger* logger, SpvOptions* options = nullptr); +GLSLANG_EXPORT bool OutputSpvBin(const std::vector& spirv, const char* baseName); +GLSLANG_EXPORT bool OutputSpvHex(const std::vector& spirv, const char* baseName, const char* varName); } diff --git a/SPIRV/Logger.h b/SPIRV/Logger.h index 2e4ddaf5..dece1c4b 100644 --- a/SPIRV/Logger.h +++ b/SPIRV/Logger.h @@ -37,6 +37,7 @@ #include #include +#include "glslang/Include/visibility.h" namespace spv { @@ -58,7 +59,7 @@ public: // Returns all messages accumulated in the order of: // TBD functionalities, missing functionalities, warnings, errors. - std::string getAllMessages() const; + GLSLANG_EXPORT std::string getAllMessages() const; private: SpvBuildLogger(const SpvBuildLogger&); diff --git a/SPIRV/SpvTools.h b/SPIRV/SpvTools.h index a72d652c..a2384270 100644 --- a/SPIRV/SpvTools.h +++ b/SPIRV/SpvTools.h @@ -49,6 +49,7 @@ #endif #include "glslang/MachineIndependent/Versions.h" +#include "glslang/Include/visibility.h" #include "GlslangToSpv.h" #include "Logger.h" @@ -59,44 +60,46 @@ namespace glslang { class TIntermediate; // Translate glslang's view of target versioning to what SPIRV-Tools uses. -spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLogger* logger); +GLSLANG_EXPORT spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLogger* logger); // Use the SPIRV-Tools disassembler to print SPIR-V using a SPV_ENV_UNIVERSAL_1_3 environment. -void SpirvToolsDisassemble(std::ostream& out, const std::vector& spirv); +GLSLANG_EXPORT void SpirvToolsDisassemble(std::ostream& out, const std::vector& spirv); // Use the SPIRV-Tools disassembler to print SPIR-V with a provided SPIR-V environment. -void SpirvToolsDisassemble(std::ostream& out, const std::vector& spirv, - spv_target_env requested_context); +GLSLANG_EXPORT void SpirvToolsDisassemble(std::ostream& out, const std::vector& spirv, + spv_target_env requested_context); // Apply the SPIRV-Tools validator to generated SPIR-V. -void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector& spirv, - spv::SpvBuildLogger*, bool prelegalization); +GLSLANG_EXPORT void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector& spirv, + spv::SpvBuildLogger*, bool prelegalization); // Apply the SPIRV-Tools optimizer to generated SPIR-V. HLSL SPIR-V is legalized in the process. -void SpirvToolsTransform(const glslang::TIntermediate& intermediate, std::vector& spirv, - spv::SpvBuildLogger*, const SpvOptions*); +GLSLANG_EXPORT void SpirvToolsTransform(const glslang::TIntermediate& intermediate, std::vector& spirv, + spv::SpvBuildLogger*, const SpvOptions*); // Apply the SPIRV-Tools EliminateDeadInputComponents pass to generated SPIR-V. Put result in |spirv|. -void SpirvToolsEliminateDeadInputComponents(spv_target_env target_env, std::vector& spirv, - spv::SpvBuildLogger*); +GLSLANG_EXPORT void SpirvToolsEliminateDeadInputComponents(spv_target_env target_env, std::vector& spirv, + spv::SpvBuildLogger*); // Apply the SPIRV-Tools AnalyzeDeadOutputStores pass to generated SPIR-V. Put result in |live_locs|. // Return true if the result is valid. -bool SpirvToolsAnalyzeDeadOutputStores(spv_target_env target_env, std::vector& spirv, - std::unordered_set* live_locs, - std::unordered_set* live_builtins, spv::SpvBuildLogger*); +GLSLANG_EXPORT bool SpirvToolsAnalyzeDeadOutputStores(spv_target_env target_env, std::vector& spirv, + std::unordered_set* live_locs, + std::unordered_set* live_builtins, + spv::SpvBuildLogger*); // Apply the SPIRV-Tools EliminateDeadOutputStores and AggressiveDeadCodeElimination passes to generated SPIR-V using // |live_locs|. Put result in |spirv|. -void SpirvToolsEliminateDeadOutputStores(spv_target_env target_env, std::vector& spirv, - std::unordered_set* live_locs, - std::unordered_set* live_builtins, spv::SpvBuildLogger*); +GLSLANG_EXPORT void SpirvToolsEliminateDeadOutputStores(spv_target_env target_env, std::vector& spirv, + std::unordered_set* live_locs, + std::unordered_set* live_builtins, + spv::SpvBuildLogger*); // Apply the SPIRV-Tools optimizer to strip debug info from SPIR-V. This is implicitly done by // SpirvToolsTransform if spvOptions->stripDebugInfo is set, but can be called separately if // optimization is disabled. -void SpirvToolsStripDebugInfo(const glslang::TIntermediate& intermediate, - std::vector& spirv, spv::SpvBuildLogger*); +GLSLANG_EXPORT void SpirvToolsStripDebugInfo(const glslang::TIntermediate& intermediate, + std::vector& spirv, spv::SpvBuildLogger*); #endif diff --git a/SPIRV/disassemble.h b/SPIRV/disassemble.h index b6a46357..3bded14f 100644 --- a/SPIRV/disassemble.h +++ b/SPIRV/disassemble.h @@ -43,10 +43,12 @@ #include #include +#include "glslang/Include/visibility.h" + namespace spv { // disassemble with glslang custom disassembler - void Disassemble(std::ostream& out, const std::vector&); + GLSLANG_EXPORT void Disassemble(std::ostream& out, const std::vector&); } // end namespace spv From a496a34b439022750d41d2ba04fbbe416ef81c9a Mon Sep 17 00:00:00 2001 From: Qingyuan Zheng Date: Mon, 26 Aug 2024 03:53:07 +0000 Subject: [PATCH 070/108] Sanitize debug source location tracking for implicit branch and return This patch tries to attach debug location of a branch/return instruction to its predecessor or the closing brace. If none could be found, no debug info should be emitted. --- SPIRV/GlslangToSpv.cpp | 26 +- SPIRV/SpvBuilder.cpp | 36 +- SPIRV/SpvBuilder.h | 16 +- Test/baseResults/hlsl.round.dx9.frag.out | 1 + Test/baseResults/spv.debugInfo.1.1.frag.out | 2 + Test/baseResults/spv.debugInfo.frag.out | 2 + .../spv.debuginfo.bufferref.glsl.frag.out | 4 +- .../spv.debuginfo.const_params.glsl.comp.out | 4 +- Test/baseResults/spv.debuginfo.glsl.comp.out | 1735 +++++++-------- Test/baseResults/spv.debuginfo.glsl.frag.out | 1249 +++++------ Test/baseResults/spv.debuginfo.glsl.geom.out | 4 +- Test/baseResults/spv.debuginfo.glsl.tesc.out | 723 +++---- Test/baseResults/spv.debuginfo.glsl.tese.out | 4 +- Test/baseResults/spv.debuginfo.glsl.vert.out | 4 +- Test/baseResults/spv.debuginfo.hlsl.comp.out | 1851 ++++++++--------- Test/baseResults/spv.debuginfo.hlsl.frag.out | 990 +++++---- Test/baseResults/spv.debuginfo.hlsl.tesc.out | 592 +++--- Test/baseResults/spv.debuginfo.hlsl.tese.out | 354 ++-- Test/baseResults/spv.debuginfo.hlsl.vert.out | 204 +- .../spv.debuginfo.implicit_br.glsl.frag.out | 325 +++ .../spv.debuginfo.include.glsl.frag.out | 110 +- .../spv.debuginfo.multiline.glsl.frag.out | 103 +- .../spv.debuginfo.rt_types.glsl.rgen.out | 4 +- .../spv.debuginfo.scalar_types.glsl.frag.out | 4 +- Test/baseResults/spv.pp.line.frag.out | 1 + Test/spv.debuginfo.implicit_br.glsl.frag | 60 + glslang/Include/intermediate.h | 15 +- glslang/MachineIndependent/glslang.y | 8 +- glslang/MachineIndependent/glslang_tab.cpp | 534 ++--- gtests/Spv.FromFile.cpp | 1 + 30 files changed, 4713 insertions(+), 4253 deletions(-) create mode 100644 Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out create mode 100644 Test/spv.debuginfo.implicit_br.glsl.frag diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index 2ca475c2..50851889 100644 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -1558,7 +1558,7 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(unsigned int spvVersion, else { builder.setEmitSpirvDebugInfo(); } - builder.setDebugSourceFile(glslangIntermediate->getSourceFile()); + builder.setDebugMainSourceFile(glslangIntermediate->getSourceFile()); // Set the source shader's text. If for SPV version 1.0, include // a preamble in comments stating the OpModuleProcessed instructions. @@ -2967,6 +2967,12 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt currentFunction->setDebugLineInfo(sourceFileId, loc.line, loc.column); } } else { + if (options.generateDebugInfo) { + if (glslangIntermediate->getSource() == glslang::EShSourceGlsl && node->getSequence().size() > 1) { + auto endLoc = node->getSequence()[1]->getAsAggregate()->getEndLoc(); + builder.setDebugSourceLocation(endLoc.line, endLoc.getFilename()); + } + } if (inEntryPoint) entryPointTerminated = true; builder.leaveFunction(); @@ -4120,7 +4126,7 @@ bool TGlslangToSpvTraverser::visitSwitch(glslang::TVisit /* visit */, glslang::T if (codeSegments[s]) codeSegments[s]->traverse(this); else - builder.addSwitchBreak(); + builder.addSwitchBreak(true); } breakForLoop.pop(); @@ -4144,7 +4150,7 @@ void TGlslangToSpvTraverser::visitConstantUnion(glslang::TIntermConstantUnion* n bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIntermLoop* node) { auto blocks = builder.makeNewLoop(); - builder.createBranch(&blocks.head); + builder.createBranch(true, &blocks.head); // Loop control: std::vector operands; @@ -4161,7 +4167,7 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn builder.createLoopMerge(&blocks.merge, &blocks.continue_target, control, operands); if (node->testFirst() && node->getTest()) { spv::Block& test = builder.makeNewBlock(); - builder.createBranch(&test); + builder.createBranch(true, &test); builder.setBuildPoint(&test); node->getTest()->traverse(this); @@ -4172,22 +4178,22 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn breakForLoop.push(true); if (node->getBody()) node->getBody()->traverse(this); - builder.createBranch(&blocks.continue_target); + builder.createBranch(true, &blocks.continue_target); breakForLoop.pop(); builder.setBuildPoint(&blocks.continue_target); if (node->getTerminal()) node->getTerminal()->traverse(this); - builder.createBranch(&blocks.head); + builder.createBranch(true, &blocks.head); } else { builder.setDebugSourceLocation(node->getLoc().line, node->getLoc().getFilename()); - builder.createBranch(&blocks.body); + builder.createBranch(true, &blocks.body); breakForLoop.push(true); builder.setBuildPoint(&blocks.body); if (node->getBody()) node->getBody()->traverse(this); - builder.createBranch(&blocks.continue_target); + builder.createBranch(true, &blocks.continue_target); breakForLoop.pop(); builder.setBuildPoint(&blocks.continue_target); @@ -4202,7 +4208,7 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn // TODO: unless there was a break/return/discard instruction // somewhere in the body, this is an infinite loop, so we should // issue a warning. - builder.createBranch(&blocks.head); + builder.createBranch(true, &blocks.head); } } builder.setBuildPoint(&blocks.merge); @@ -4238,7 +4244,7 @@ bool TGlslangToSpvTraverser::visitBranch(glslang::TVisit /* visit */, glslang::T if (breakForLoop.top()) builder.createLoopExit(); else - builder.addSwitchBreak(); + builder.addSwitchBreak(false); break; case glslang::EOpContinue: builder.createLoopContinue(); diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index caff5c11..41a6b3db 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -2182,6 +2182,10 @@ void Builder::addInstruction(std::unique_ptr inst) { buildPoint->addInstruction(std::move(inst)); } +void Builder::addInstructionNoDebugInfo(std::unique_ptr inst) { + buildPoint->addInstruction(std::move(inst)); +} + // Comments in header Function* Builder::makeEntryPoint(const char* entryPoint) { @@ -3659,6 +3663,7 @@ Builder::If::If(Id cond, unsigned int ctrl, Builder& gb) : // Save the current block, so that we can add in the flow control split when // makeEndIf is called. headerBlock = builder.getBuildPoint(); + builder.createSelectionMerge(mergeBlock, control); function->addBlock(thenBlock); builder.setBuildPoint(thenBlock); @@ -3668,7 +3673,7 @@ Builder::If::If(Id cond, unsigned int ctrl, Builder& gb) : void Builder::If::makeBeginElse() { // Close out the "then" by having it jump to the mergeBlock - builder.createBranch(mergeBlock); + builder.createBranch(true, mergeBlock); // Make the first else block and add it to the function elseBlock = new Block(builder.getUniqueId(), *function); @@ -3682,11 +3687,10 @@ void Builder::If::makeBeginElse() void Builder::If::makeEndIf() { // jump to the merge block - builder.createBranch(mergeBlock); + builder.createBranch(true, mergeBlock); // Go back to the headerBlock and make the flow control split builder.setBuildPoint(headerBlock); - builder.createSelectionMerge(mergeBlock, control); if (elseBlock) builder.createConditionalBranch(condition, thenBlock, elseBlock); else @@ -3732,10 +3736,10 @@ void Builder::makeSwitch(Id selector, unsigned int control, int numSegments, con } // Comments in header -void Builder::addSwitchBreak() +void Builder::addSwitchBreak(bool implicit) { // branch to the top of the merge block stack - createBranch(switchMerges.top()); + createBranch(implicit, switchMerges.top()); createAndSetNoPredecessorBlock("post-switch-break"); } @@ -3746,7 +3750,7 @@ void Builder::nextSwitchSegment(std::vector& segmentBlock, int nextSegme if (lastSegment >= 0) { // Close out previous segment by jumping, if necessary, to next segment if (! buildPoint->isTerminated()) - createBranch(segmentBlock[nextSegment]); + createBranch(true, segmentBlock[nextSegment]); } Block* block = segmentBlock[nextSegment]; block->getParent().addBlock(block); @@ -3758,7 +3762,7 @@ void Builder::endSwitch(std::vector& /*segmentBlock*/) { // Close out previous segment by jumping, if necessary, to next segment if (! buildPoint->isTerminated()) - addSwitchBreak(); + addSwitchBreak(true); switchMerges.top()->getParent().addBlock(switchMerges.top()); setBuildPoint(switchMerges.top()); @@ -3791,14 +3795,14 @@ Builder::LoopBlocks& Builder::makeNewLoop() void Builder::createLoopContinue() { - createBranch(&loops.top().continue_target); + createBranch(false, &loops.top().continue_target); // Set up a block for dead code. createAndSetNoPredecessorBlock("post-loop-continue"); } void Builder::createLoopExit() { - createBranch(&loops.top().merge); + createBranch(false, &loops.top().merge); // Set up a block for dead code. createAndSetNoPredecessorBlock("post-loop-break"); } @@ -4240,11 +4244,16 @@ void Builder::createAndSetNoPredecessorBlock(const char* /*name*/) } // Comments in header -void Builder::createBranch(Block* block) +void Builder::createBranch(bool implicit, Block* block) { Instruction* branch = new Instruction(OpBranch); branch->addIdOperand(block->getId()); - addInstruction(std::unique_ptr(branch)); + if (implicit) { + addInstructionNoDebugInfo(std::unique_ptr(branch)); + } + else { + addInstruction(std::unique_ptr(branch)); + } block->addPredecessor(buildPoint); } @@ -4277,7 +4286,10 @@ void Builder::createConditionalBranch(Id condition, Block* thenBlock, Block* els branch->addIdOperand(condition); branch->addIdOperand(thenBlock->getId()); branch->addIdOperand(elseBlock->getId()); - addInstruction(std::unique_ptr(branch)); + + // A conditional branch is always attached to a condition expression + addInstructionNoDebugInfo(std::unique_ptr(branch)); + thenBlock->addPredecessor(buildPoint); elseBlock->addPredecessor(buildPoint); } diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h index d688436a..61b6aa57 100644 --- a/SPIRV/SpvBuilder.h +++ b/SPIRV/SpvBuilder.h @@ -108,7 +108,7 @@ public: spv::Id getMainFileId() const { return mainFileId; } // Initialize the main source file name - void setDebugSourceFile(const std::string& file) + void setDebugMainSourceFile(const std::string& file) { if (trackDebugInfo) { dirtyLineTracker = true; @@ -420,8 +420,7 @@ public: // Also reset current last DebugScope and current source line to unknown void setBuildPoint(Block* bp) { buildPoint = bp; - // TODO: Technically, change of build point should set line tracker dirty. But we'll have bad line info for - // branch instructions. Commenting this for now because at least this matches the old behavior. + dirtyLineTracker = true; dirtyScopeTracker = true; } Block* getBuildPoint() const { return buildPoint; } @@ -430,6 +429,11 @@ public: // Optionally, additional debug info instructions may also be prepended. void addInstruction(std::unique_ptr inst); + // Append an instruction to the end of the current build point without prepending any debug instructions. + // This is useful for insertion of some debug info instructions themselves or some control flow instructions + // that are attached to its predecessor instruction. + void addInstructionNoDebugInfo(std::unique_ptr inst); + // Make the entry-point function. The returned pointer is only valid // for the lifetime of this builder. Function* makeEntryPoint(const char*); @@ -643,7 +647,7 @@ public: const std::vector& valueToSegment, int defaultSegment, std::vector& segmentBB); // Add a branch to the innermost switch's merge block. - void addSwitchBreak(); + void addSwitchBreak(bool implicit); // Move to the next code segment, passing in the return argument in makeSwitch() void nextSwitchSegment(std::vector& segmentBB, int segment); @@ -865,7 +869,9 @@ public: void dump(std::vector&) const; - void createBranch(Block* block); + // Add a branch to the target block. + // If set implicit, the branch instruction shouldn't have debug source location. + void createBranch(bool implicit, Block* block); void createConditionalBranch(Id condition, Block* thenBlock, Block* elseBlock); void createLoopMerge(Block* mergeBlock, Block* continueBlock, unsigned int control, const std::vector& operands); diff --git a/Test/baseResults/hlsl.round.dx9.frag.out b/Test/baseResults/hlsl.round.dx9.frag.out index d4ff02a2..5f539bb8 100644 --- a/Test/baseResults/hlsl.round.dx9.frag.out +++ b/Test/baseResults/hlsl.round.dx9.frag.out @@ -58,6 +58,7 @@ gl_FragCoord origin is upper left 10: TypeFunction 8(fvec4) 9(ptr) 5(main): 3 Function None 4 6: Label + Line 1 3 0 Return FunctionEnd Line 1 2 1 diff --git a/Test/baseResults/spv.debugInfo.1.1.frag.out b/Test/baseResults/spv.debugInfo.1.1.frag.out index 77fae611..30543d66 100644 --- a/Test/baseResults/spv.debugInfo.1.1.frag.out +++ b/Test/baseResults/spv.debugInfo.1.1.frag.out @@ -296,6 +296,7 @@ void main() Store 179 186 Branch 181 181: Label + Line 1 83 0 Return FunctionEnd Line 1 16 13 @@ -411,6 +412,7 @@ void main() Store 90 96 Branch 92 92: Label + Line 1 53 0 97: 10(float) Load 90 Line 1 51 0 98: 10(float) Load 56(result) diff --git a/Test/baseResults/spv.debugInfo.frag.out b/Test/baseResults/spv.debugInfo.frag.out index 2595211f..05621a66 100644 --- a/Test/baseResults/spv.debugInfo.frag.out +++ b/Test/baseResults/spv.debugInfo.frag.out @@ -297,6 +297,7 @@ void main() Store 179 186 Branch 181 181: Label + Line 1 83 0 Return FunctionEnd Line 1 16 13 @@ -412,6 +413,7 @@ void main() Store 90 96 Branch 92 92: Label + Line 1 53 0 97: 10(float) Load 90 Line 1 51 0 98: 10(float) Load 56(result) diff --git a/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out b/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out index 8dc69205..a117fd79 100644 --- a/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.bufferref.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 146 +// Id's are bound by 148 Capability Shader Capability PhysicalStorageBufferAddressesEXT @@ -177,6 +177,7 @@ void main() { 138: 7(int) Constant 27 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 137 132 18 138 12 21 137 135(out_fragColor) 67 141: 39(float) Constant 1065353216 + 147: 7(int) Constant 28 14(main): 4 Function None 5 15: Label 53(meshData): 50(ptr) Variable Function @@ -226,5 +227,6 @@ void main() { 144: 39(float) CompositeExtract 139 2 145: 131(fvec4) CompositeConstruct 142 143 144 141 Store 135(out_fragColor) 145 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 147 147 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out b/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out index 5676d1c8..c36a72de 100644 --- a/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out +++ b/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out @@ -1,7 +1,7 @@ spv.debuginfo.const_params.glsl.comp // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 71 +// Id's are bound by 73 Capability Shader Extension "SPV_KHR_non_semantic_info" @@ -85,6 +85,7 @@ void main() 66: 22(fvec3) ConstantComposite 64 64 64 67: 24(fvec4) ConstantComposite 64 64 64 64 70: 7(int) Constant 13 + 72: 7(int) Constant 14 14(main): 4 Function None 5 15: Label 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 58 @@ -92,6 +93,7 @@ void main() 61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 58 14(main) 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 37 70 70 12 12 68: 4 FunctionCall 33(function(f1;vf2;vf3;vf4;) 64 65 66 67 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 37 72 72 12 12 Return FunctionEnd 33(function(f1;vf2;vf3;vf4;): 4 Function None 27 diff --git a/Test/baseResults/spv.debuginfo.glsl.comp.out b/Test/baseResults/spv.debuginfo.glsl.comp.out index 177054ca..af043304 100644 --- a/Test/baseResults/spv.debuginfo.glsl.comp.out +++ b/Test/baseResults/spv.debuginfo.glsl.comp.out @@ -1,14 +1,14 @@ spv.debuginfo.glsl.comp // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 975 +// Id's are bound by 979 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 14 "main" 133 + EntryPoint GLCompute 14 "main" 135 ExecutionMode 14 LocalSize 10 10 1 2: String "spv.debuginfo.glsl.comp" 8: String "uint" @@ -210,29 +210,29 @@ void main() 95: String "particleCount" 98: String "UBO" 103: String "params" - 127: String "id" - 135: String "gl_GlobalInvocationID" - 141: String "index" - 167: String "bool" - 179: String "normal" - 185: String "pinned" - 187: String "Particle" - 193: String "particleIn" - 197: String "ParticleIn" - 202: String "" - 218: String "particleOut" - 221: String "ParticleOut" + 129: String "id" + 137: String "gl_GlobalInvocationID" + 143: String "index" + 169: String "bool" + 180: String "normal" + 186: String "pinned" + 188: String "Particle" + 194: String "particleIn" + 198: String "ParticleIn" + 203: String "" + 219: String "particleOut" + 222: String "ParticleOut" 249: String "force" 263: String "pos" 273: String "vel" - 577: String "f" - 626: String "sphereDist" - 677: String "calculateNormals" - 680: String "PushConsts" - 687: String "pushConsts" - 721: String "a" - 735: String "b" - 752: String "c" + 581: String "f" + 630: String "sphereDist" + 681: String "calculateNormals" + 684: String "PushConsts" + 691: String "pushConsts" + 725: String "a" + 739: String "b" + 756: String "c" Name 14 "main" Name 31 "springForce(vf3;vf3;f1;" Name 28 "p0" @@ -252,21 +252,21 @@ void main() MemberName 78(UBO) 9 "gravity" MemberName 78(UBO) 10 "particleCount" Name 101 "params" - Name 125 "id" - Name 133 "gl_GlobalInvocationID" - Name 139 "index" - Name 177 "Particle" - MemberName 177(Particle) 0 "pos" - MemberName 177(Particle) 1 "vel" - MemberName 177(Particle) 2 "uv" - MemberName 177(Particle) 3 "normal" - MemberName 177(Particle) 4 "pinned" - Name 191 "ParticleIn" - MemberName 191(ParticleIn) 0 "particleIn" - Name 200 "" - Name 216 "ParticleOut" - MemberName 216(ParticleOut) 0 "particleOut" - Name 225 "" + Name 127 "id" + Name 135 "gl_GlobalInvocationID" + Name 141 "index" + Name 178 "Particle" + MemberName 178(Particle) 0 "pos" + MemberName 178(Particle) 1 "vel" + MemberName 178(Particle) 2 "uv" + MemberName 178(Particle) 3 "normal" + MemberName 178(Particle) 4 "pinned" + Name 192 "ParticleIn" + MemberName 192(ParticleIn) 0 "particleIn" + Name 201 "" + Name 217 "ParticleOut" + MemberName 217(ParticleOut) 0 "particleOut" + Name 226 "" Name 247 "force" Name 261 "pos" Name 271 "vel" @@ -282,27 +282,27 @@ void main() Name 383 "param" Name 387 "param" Name 389 "param" - Name 425 "param" - Name 429 "param" + Name 427 "param" Name 431 "param" - Name 463 "param" - Name 467 "param" - Name 469 "param" - Name 509 "param" + Name 433 "param" + Name 466 "param" + Name 470 "param" + Name 472 "param" Name 513 "param" - Name 515 "param" - Name 551 "param" - Name 555 "param" - Name 557 "param" - Name 575 "f" - Name 624 "sphereDist" - Name 675 "PushConsts" - MemberName 675(PushConsts) 0 "calculateNormals" - Name 685 "pushConsts" - Name 697 "normal" - Name 719 "a" - Name 733 "b" - Name 750 "c" + Name 517 "param" + Name 519 "param" + Name 556 "param" + Name 560 "param" + Name 562 "param" + Name 579 "f" + Name 628 "sphereDist" + Name 679 "PushConsts" + MemberName 679(PushConsts) 0 "calculateNormals" + Name 689 "pushConsts" + Name 701 "normal" + Name 723 "a" + Name 737 "b" + Name 754 "c" Decorate 78(UBO) Block MemberDecorate 78(UBO) 0 Offset 0 MemberDecorate 78(UBO) 1 Offset 4 @@ -317,25 +317,25 @@ void main() MemberDecorate 78(UBO) 10 Offset 64 Decorate 101(params) Binding 2 Decorate 101(params) DescriptorSet 0 - Decorate 133(gl_GlobalInvocationID) BuiltIn GlobalInvocationId - MemberDecorate 177(Particle) 0 Offset 0 - MemberDecorate 177(Particle) 1 Offset 16 - MemberDecorate 177(Particle) 2 Offset 32 - MemberDecorate 177(Particle) 3 Offset 48 - MemberDecorate 177(Particle) 4 Offset 64 - Decorate 189 ArrayStride 80 - Decorate 191(ParticleIn) BufferBlock - MemberDecorate 191(ParticleIn) 0 Offset 0 - Decorate 200 Binding 0 - Decorate 200 DescriptorSet 0 - Decorate 214 ArrayStride 80 - Decorate 216(ParticleOut) BufferBlock - MemberDecorate 216(ParticleOut) 0 Offset 0 - Decorate 225 Binding 1 - Decorate 225 DescriptorSet 0 - Decorate 675(PushConsts) Block - MemberDecorate 675(PushConsts) 0 Offset 0 - Decorate 974 BuiltIn WorkgroupSize + Decorate 135(gl_GlobalInvocationID) BuiltIn GlobalInvocationId + MemberDecorate 178(Particle) 0 Offset 0 + MemberDecorate 178(Particle) 1 Offset 16 + MemberDecorate 178(Particle) 2 Offset 32 + MemberDecorate 178(Particle) 3 Offset 48 + MemberDecorate 178(Particle) 4 Offset 64 + Decorate 190 ArrayStride 80 + Decorate 192(ParticleIn) BufferBlock + MemberDecorate 192(ParticleIn) 0 Offset 0 + Decorate 201 Binding 0 + Decorate 201 DescriptorSet 0 + Decorate 215 ArrayStride 80 + Decorate 217(ParticleOut) BufferBlock + MemberDecorate 217(ParticleOut) 0 Offset 0 + Decorate 226 Binding 1 + Decorate 226 DescriptorSet 0 + Decorate 679(PushConsts) Block + MemberDecorate 679(PushConsts) 0 Offset 0 + Decorate 978 BuiltIn WorkgroupSize 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -402,68 +402,69 @@ void main() 104: 73(int) Constant 2 105: TypePointer Uniform 16(float) 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 41 12 - 121: TypeVector 7(int) 3 - 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 9 13 - 123: TypePointer Function 121(ivec3) - 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 122 22 12 - 128: 7(int) Constant 74 - 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 127 122 35 128 12 55 40 - 131: TypePointer Input 121(ivec3) - 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 122 39 12 -133(gl_GlobalInvocationID): 131(ptr) Variable Input - 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 135 122 35 128 12 38 135 133(gl_GlobalInvocationID) 82 - 137: TypePointer Function 7(int) - 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 22 12 - 142: 7(int) Constant 76 - 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 141 9 35 142 12 55 40 - 147: 73(int) Constant 10 - 148: TypePointer Uniform 73(int) - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 41 12 - 159: 7(int) Constant 77 - 166: TypeBool - 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 167 10 41 12 - 174: 7(int) Constant 78 - 177(Particle): TypeStruct 71(fvec4) 71(fvec4) 71(fvec4) 71(fvec4) 16(float) - 180: 7(int) Constant 31 - 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 - 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 - 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 - 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 - 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 185 18 35 10 82 12 12 13 - 188: 7(int) Constant 81 - 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 187 39 35 188 12 38 187 12 13 178 181 182 183 184 - 189: TypeRuntimeArray 177(Particle) - 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 186 12 - 191(ParticleIn): TypeStruct 189 - 194: 7(int) Constant 36 - 195: 7(int) Constant 11 - 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 193 190 35 194 195 12 12 13 - 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 197 39 35 188 12 38 197 12 13 192 - 198: TypePointer Uniform 191(ParticleIn) - 199: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 196 41 12 - 200: 198(ptr) Variable Uniform - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 202 196 35 188 12 38 202 200 82 - 203: 73(int) Constant 0 - 207: 73(int) Constant 4 - 210: 16(float) Constant 1065353216 - 214: TypeRuntimeArray 177(Particle) - 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 186 12 -216(ParticleOut): TypeStruct 214 - 219: 7(int) Constant 40 - 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 218 215 35 219 195 12 12 13 - 222: 7(int) Constant 82 - 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 221 39 35 222 12 38 221 12 13 217 - 223: TypePointer Uniform 216(ParticleOut) - 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 220 41 12 - 225: 223(ptr) Variable Uniform - 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 202 220 35 222 12 38 202 225 82 - 231: TypePointer Uniform 71(fvec4) - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 41 12 - 238: 7(int) Constant 83 - 239: 73(int) Constant 1 - 240: 16(float) Constant 0 - 241: 71(fvec4) ConstantComposite 240 240 240 240 - 244: 7(int) Constant 84 + 119: 7(int) Constant 70 + 123: TypeVector 7(int) 3 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 9 13 + 125: TypePointer Function 123(ivec3) + 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 124 22 12 + 130: 7(int) Constant 74 + 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 129 124 35 130 12 55 40 + 133: TypePointer Input 123(ivec3) + 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 124 39 12 +135(gl_GlobalInvocationID): 133(ptr) Variable Input + 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 137 124 35 130 12 38 137 135(gl_GlobalInvocationID) 82 + 139: TypePointer Function 7(int) + 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 22 12 + 144: 7(int) Constant 76 + 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 143 9 35 144 12 55 40 + 149: 73(int) Constant 10 + 150: TypePointer Uniform 73(int) + 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 41 12 + 161: 7(int) Constant 77 + 168: TypeBool + 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 169 10 41 12 + 176: 7(int) Constant 78 + 178(Particle): TypeStruct 71(fvec4) 71(fvec4) 71(fvec4) 71(fvec4) 16(float) + 181: 7(int) Constant 31 + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 72 35 181 22 12 12 13 + 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 72 35 181 22 12 12 13 + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 72 35 181 22 12 12 13 + 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 72 35 181 22 12 12 13 + 185: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 186 18 35 10 82 12 12 13 + 189: 7(int) Constant 81 + 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 188 39 35 189 12 38 188 12 13 179 182 183 184 185 + 190: TypeRuntimeArray 178(Particle) + 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 187 12 + 192(ParticleIn): TypeStruct 190 + 195: 7(int) Constant 36 + 196: 7(int) Constant 11 + 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 191 35 195 196 12 12 13 + 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 198 39 35 189 12 38 198 12 13 193 + 199: TypePointer Uniform 192(ParticleIn) + 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 197 41 12 + 201: 199(ptr) Variable Uniform + 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 203 197 35 189 12 38 203 201 82 + 204: 73(int) Constant 0 + 208: 73(int) Constant 4 + 211: 16(float) Constant 1065353216 + 215: TypeRuntimeArray 178(Particle) + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 187 12 +217(ParticleOut): TypeStruct 215 + 220: 7(int) Constant 40 + 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 219 216 35 220 196 12 12 13 + 223: 7(int) Constant 82 + 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 222 39 35 223 12 38 222 12 13 218 + 224: TypePointer Uniform 217(ParticleOut) + 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 221 41 12 + 226: 224(ptr) Variable Uniform + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 203 221 35 223 12 38 203 226 82 + 232: TypePointer Uniform 71(fvec4) + 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 41 12 + 239: 7(int) Constant 83 + 240: 73(int) Constant 1 + 241: 16(float) Constant 0 + 242: 71(fvec4) ConstantComposite 241 241 241 241 + 245: 7(int) Constant 84 250: 7(int) Constant 88 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 20 35 250 12 55 40 254: 73(int) Constant 9 @@ -481,76 +482,77 @@ void main() 370: 7(int) Constant 107 378: 7(int) Constant 108 398: 7(int) Constant 111 - 418: 7(int) Constant 112 - 424: 73(int) Constant 6 - 441: 7(int) Constant 115 - 457: 7(int) Constant 116 - 479: 7(int) Constant 119 - 503: 7(int) Constant 120 - 525: 7(int) Constant 123 - 545: 7(int) Constant 124 - 564: 73(int) Constant 3 - 568: 7(int) Constant 127 - 578: 7(int) Constant 130 - 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 577 20 35 578 12 55 40 - 588: 7(int) Constant 131 - 595: 16(float) Constant 1056964608 - 612: 7(int) Constant 132 - 627: 7(int) Constant 135 - 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 626 20 35 627 12 55 40 - 634: 73(int) Constant 8 - 641: 7(int) Constant 136 - 643: 73(int) Constant 7 - 646: 16(float) Constant 1008981770 - 654: 7(int) Constant 138 - 673: 7(int) Constant 140 - 675(PushConsts): TypeStruct 7(int) - 678: 7(int) Constant 63 - 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 677 9 35 678 22 12 12 13 - 681: 7(int) Constant 144 - 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 680 39 35 681 12 38 680 12 13 676 - 682: TypePointer PushConstant 675(PushConsts) - 683: 7(int) Constant 9 - 684: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 679 683 12 - 685(pushConsts): 682(ptr) Variable PushConstant - 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 687 679 35 681 12 38 687 685(pushConsts) 82 - 688: TypePointer PushConstant 7(int) - 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 683 12 - 699: 7(int) Constant 145 - 698: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 179 20 35 699 12 55 40 - 703: 19(fvec3) ConstantComposite 240 240 240 - 706: 7(int) Constant 147 - 714: 7(int) Constant 148 - 722: 7(int) Constant 149 - 720: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 721 20 35 722 12 55 40 - 736: 7(int) Constant 150 - 734: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 735 20 35 736 12 55 40 - 753: 7(int) Constant 151 - 751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 752 20 35 753 12 55 40 - 768: 7(int) Constant 152 - 780: 7(int) Constant 154 - 792: 7(int) Constant 155 - 804: 7(int) Constant 156 - 817: 7(int) Constant 157 - 826: 7(int) Constant 158 - 839: 7(int) Constant 161 - 851: 7(int) Constant 162 - 859: 7(int) Constant 163 - 871: 7(int) Constant 164 - 884: 7(int) Constant 165 - 893: 7(int) Constant 166 - 905: 7(int) Constant 168 - 917: 7(int) Constant 169 - 926: 7(int) Constant 170 - 939: 7(int) Constant 171 - 951: 7(int) Constant 172 - 964: 7(int) Constant 175 - 973: 7(int) Constant 10 - 974: 121(ivec3) ConstantComposite 973 973 39 + 420: 7(int) Constant 112 + 426: 73(int) Constant 6 + 442: 7(int) Constant 115 + 460: 7(int) Constant 116 + 481: 7(int) Constant 119 + 507: 7(int) Constant 120 + 528: 7(int) Constant 123 + 550: 7(int) Constant 124 + 568: 73(int) Constant 3 + 572: 7(int) Constant 127 + 582: 7(int) Constant 130 + 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 581 20 35 582 12 55 40 + 592: 7(int) Constant 131 + 599: 16(float) Constant 1056964608 + 616: 7(int) Constant 132 + 631: 7(int) Constant 135 + 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 630 20 35 631 12 55 40 + 638: 73(int) Constant 8 + 645: 7(int) Constant 136 + 647: 73(int) Constant 7 + 650: 16(float) Constant 1008981770 + 658: 7(int) Constant 138 + 677: 7(int) Constant 140 + 679(PushConsts): TypeStruct 7(int) + 682: 7(int) Constant 63 + 680: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 681 9 35 682 22 12 12 13 + 685: 7(int) Constant 144 + 683: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 684 39 35 685 12 38 684 12 13 680 + 686: TypePointer PushConstant 679(PushConsts) + 687: 7(int) Constant 9 + 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 683 687 12 + 689(pushConsts): 686(ptr) Variable PushConstant + 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 691 683 35 685 12 38 691 689(pushConsts) 82 + 692: TypePointer PushConstant 7(int) + 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 687 12 + 703: 7(int) Constant 145 + 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 180 20 35 703 12 55 40 + 707: 19(fvec3) ConstantComposite 241 241 241 + 710: 7(int) Constant 147 + 718: 7(int) Constant 148 + 726: 7(int) Constant 149 + 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 725 20 35 726 12 55 40 + 740: 7(int) Constant 150 + 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 739 20 35 740 12 55 40 + 757: 7(int) Constant 151 + 755: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 756 20 35 757 12 55 40 + 772: 7(int) Constant 152 + 784: 7(int) Constant 154 + 796: 7(int) Constant 155 + 808: 7(int) Constant 156 + 821: 7(int) Constant 157 + 830: 7(int) Constant 158 + 842: 7(int) Constant 161 + 854: 7(int) Constant 162 + 862: 7(int) Constant 163 + 874: 7(int) Constant 164 + 887: 7(int) Constant 165 + 896: 7(int) Constant 166 + 908: 7(int) Constant 168 + 920: 7(int) Constant 169 + 929: 7(int) Constant 170 + 942: 7(int) Constant 171 + 954: 7(int) Constant 172 + 966: 7(int) Constant 175 + 976: 7(int) Constant 177 + 977: 7(int) Constant 10 + 978: 123(ivec3) ConstantComposite 977 977 39 14(main): 4 Function None 5 15: Label - 125(id): 123(ptr) Variable Function - 139(index): 137(ptr) Variable Function + 127(id): 125(ptr) Variable Function + 141(index): 139(ptr) Variable Function 247(force): 21(ptr) Variable Function 261(pos): 21(ptr) Variable Function 271(vel): 21(ptr) Variable Function @@ -566,125 +568,125 @@ void main() 383(param): 21(ptr) Variable Function 387(param): 21(ptr) Variable Function 389(param): 24(ptr) Variable Function - 425(param): 21(ptr) Variable Function - 429(param): 21(ptr) Variable Function - 431(param): 24(ptr) Variable Function - 463(param): 21(ptr) Variable Function - 467(param): 21(ptr) Variable Function - 469(param): 24(ptr) Variable Function - 509(param): 21(ptr) Variable Function + 427(param): 21(ptr) Variable Function + 431(param): 21(ptr) Variable Function + 433(param): 24(ptr) Variable Function + 466(param): 21(ptr) Variable Function + 470(param): 21(ptr) Variable Function + 472(param): 24(ptr) Variable Function 513(param): 21(ptr) Variable Function - 515(param): 24(ptr) Variable Function - 551(param): 21(ptr) Variable Function - 555(param): 21(ptr) Variable Function - 557(param): 24(ptr) Variable Function - 575(f): 21(ptr) Variable Function - 624(sphereDist): 21(ptr) Variable Function - 697(normal): 21(ptr) Variable Function - 719(a): 21(ptr) Variable Function - 733(b): 21(ptr) Variable Function - 750(c): 21(ptr) Variable Function - 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 56 56 12 12 - 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 55 14(main) - 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 128 128 12 12 - 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 126 125(id) 45 - 136: 121(ivec3) Load 133(gl_GlobalInvocationID) - Store 125(id) 136 - 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 142 142 12 12 - 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 140 139(index) 45 - 145: 137(ptr) AccessChain 125(id) 39 - 146: 7(int) Load 145 - 150: 148(ptr) AccessChain 101(params) 147 12 - 151: 73(int) Load 150 - 152: 7(int) Bitcast 151 - 153: 7(int) IMul 146 152 - 154: 137(ptr) AccessChain 125(id) 12 - 155: 7(int) Load 154 - 156: 7(int) IAdd 153 155 - Store 139(index) 156 - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 159 159 12 12 - 157: 7(int) Load 139(index) - 160: 148(ptr) AccessChain 101(params) 147 12 - 161: 73(int) Load 160 - 162: 148(ptr) AccessChain 101(params) 147 39 + 517(param): 21(ptr) Variable Function + 519(param): 24(ptr) Variable Function + 556(param): 21(ptr) Variable Function + 560(param): 21(ptr) Variable Function + 562(param): 24(ptr) Variable Function + 579(f): 21(ptr) Variable Function + 628(sphereDist): 21(ptr) Variable Function + 701(normal): 21(ptr) Variable Function + 723(a): 21(ptr) Variable Function + 737(b): 21(ptr) Variable Function + 754(c): 21(ptr) Variable Function + 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 56 56 12 12 + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 55 14(main) + 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 130 130 12 12 + 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 128 127(id) 45 + 138: 123(ivec3) Load 135(gl_GlobalInvocationID) + Store 127(id) 138 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 144 144 12 12 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 142 141(index) 45 + 147: 139(ptr) AccessChain 127(id) 39 + 148: 7(int) Load 147 + 152: 150(ptr) AccessChain 101(params) 149 12 + 153: 73(int) Load 152 + 154: 7(int) Bitcast 153 + 155: 7(int) IMul 148 154 + 156: 139(ptr) AccessChain 127(id) 12 + 157: 7(int) Load 156 + 158: 7(int) IAdd 155 157 + Store 141(index) 158 + 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 161 161 12 12 + 159: 7(int) Load 141(index) + 162: 150(ptr) AccessChain 101(params) 149 12 163: 73(int) Load 162 - 164: 73(int) IMul 161 163 - 165: 7(int) Bitcast 164 - 169: 166(bool) UGreaterThan 157 165 - SelectionMerge 171 None - BranchConditional 169 170 171 - 170: Label - 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 174 174 12 12 + 164: 150(ptr) AccessChain 101(params) 149 39 + 165: 73(int) Load 164 + 166: 73(int) IMul 163 165 + 167: 7(int) Bitcast 166 + 171: 168(bool) UGreaterThan 159 167 + SelectionMerge 173 None + BranchConditional 171 172 173 + 172: Label + 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 176 176 12 12 Return - 171: Label - 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 188 188 12 12 - 204: 7(int) Load 139(index) - 208: 105(ptr) AccessChain 200 203 204 207 - 209: 16(float) Load 208 - 211: 166(bool) FOrdEqual 209 210 - SelectionMerge 213 None - BranchConditional 211 212 213 - 212: Label - 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 222 222 12 12 - 227: 7(int) Load 139(index) - 230: 7(int) Load 139(index) - 233: 231(ptr) AccessChain 225 203 230 203 - 234: 71(fvec4) Load 233 - 235: 231(ptr) AccessChain 225 203 227 203 - Store 235 234 - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 238 238 12 12 - 236: 7(int) Load 139(index) - 242: 231(ptr) AccessChain 225 203 236 239 - Store 242 241 - 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 244 244 12 12 + 173: Label + 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 189 189 12 12 + 205: 7(int) Load 141(index) + 209: 105(ptr) AccessChain 201 204 205 208 + 210: 16(float) Load 209 + 212: 168(bool) FOrdEqual 210 211 + SelectionMerge 214 None + BranchConditional 212 213 214 + 213: Label + 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 223 223 12 12 + 228: 7(int) Load 141(index) + 231: 7(int) Load 141(index) + 234: 232(ptr) AccessChain 226 204 231 204 + 235: 71(fvec4) Load 234 + 236: 232(ptr) AccessChain 226 204 228 204 + Store 236 235 + 238: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 239 239 12 12 + 237: 7(int) Load 141(index) + 243: 232(ptr) AccessChain 226 204 237 240 + Store 243 242 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 245 245 12 12 Return - 213: Label + 214: Label 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 250 250 12 12 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(force) 45 - 255: 231(ptr) AccessChain 101(params) 254 + 255: 232(ptr) AccessChain 101(params) 254 256: 71(fvec4) Load 255 257: 19(fvec3) VectorShuffle 256 256 0 1 2 - 258: 105(ptr) AccessChain 101(params) 239 + 258: 105(ptr) AccessChain 101(params) 240 259: 16(float) Load 258 260: 19(fvec3) VectorTimesScalar 257 259 Store 247(force) 260 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 264 264 12 12 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(pos) 45 - 267: 7(int) Load 139(index) - 268: 231(ptr) AccessChain 200 203 267 203 + 267: 7(int) Load 141(index) + 268: 232(ptr) AccessChain 201 204 267 204 269: 71(fvec4) Load 268 270: 19(fvec3) VectorShuffle 269 269 0 1 2 Store 261(pos) 270 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 274 274 12 12 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 272 271(vel) 45 - 277: 7(int) Load 139(index) - 278: 231(ptr) AccessChain 200 203 277 239 + 277: 7(int) Load 141(index) + 278: 232(ptr) AccessChain 201 204 277 240 279: 71(fvec4) Load 278 280: 19(fvec3) VectorShuffle 279 279 0 1 2 Store 271(vel) 280 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 283 283 12 12 - 281: 137(ptr) AccessChain 125(id) 12 + 281: 139(ptr) AccessChain 127(id) 12 284: 7(int) Load 281 - 285: 166(bool) UGreaterThan 284 12 + 285: 168(bool) UGreaterThan 284 12 SelectionMerge 287 None BranchConditional 285 286 287 286: Label 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 291 291 12 12 - 288: 7(int) Load 139(index) + 288: 7(int) Load 141(index) 292: 7(int) ISub 288 39 - 294: 231(ptr) AccessChain 200 203 292 203 + 294: 232(ptr) AccessChain 201 204 292 204 295: 71(fvec4) Load 294 296: 19(fvec3) VectorShuffle 295 295 0 1 2 Store 293(param) 296 298: 19(fvec3) Load 261(pos) Store 297(param) 298 - 300: 105(ptr) AccessChain 101(params) 207 + 300: 105(ptr) AccessChain 101(params) 208 301: 16(float) Load 300 Store 299(param) 301 302: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 293(param) 297(param) 299(param) @@ -695,27 +697,27 @@ void main() 287: Label 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 308 308 12 12 - 305: 137(ptr) AccessChain 125(id) 12 + 305: 139(ptr) AccessChain 127(id) 12 309: 7(int) Load 305 - 310: 148(ptr) AccessChain 101(params) 147 12 + 310: 150(ptr) AccessChain 101(params) 149 12 311: 73(int) Load 310 - 312: 73(int) ISub 311 239 + 312: 73(int) ISub 311 240 313: 7(int) Bitcast 312 - 314: 166(bool) ULessThan 309 313 + 314: 168(bool) ULessThan 309 313 SelectionMerge 316 None BranchConditional 314 315 316 315: Label 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 320 320 12 12 - 317: 7(int) Load 139(index) + 317: 7(int) Load 141(index) 321: 7(int) IAdd 317 39 - 323: 231(ptr) AccessChain 200 203 321 203 + 323: 232(ptr) AccessChain 201 204 321 204 324: 71(fvec4) Load 323 325: 19(fvec3) VectorShuffle 324 324 0 1 2 Store 322(param) 325 327: 19(fvec3) Load 261(pos) Store 326(param) 327 - 329: 105(ptr) AccessChain 101(params) 207 + 329: 105(ptr) AccessChain 101(params) 208 330: 16(float) Load 329 Store 328(param) 330 331: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 322(param) 326(param) 328(param) @@ -726,24 +728,24 @@ void main() 316: Label 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 337 337 12 12 - 334: 137(ptr) AccessChain 125(id) 39 + 334: 139(ptr) AccessChain 127(id) 39 338: 7(int) Load 334 - 339: 148(ptr) AccessChain 101(params) 147 39 + 339: 150(ptr) AccessChain 101(params) 149 39 340: 73(int) Load 339 - 341: 73(int) ISub 340 239 + 341: 73(int) ISub 340 240 342: 7(int) Bitcast 341 - 343: 166(bool) ULessThan 338 342 + 343: 168(bool) ULessThan 338 342 SelectionMerge 345 None BranchConditional 343 344 345 344: Label 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 349 349 12 12 - 346: 7(int) Load 139(index) - 350: 148(ptr) AccessChain 101(params) 147 12 + 346: 7(int) Load 141(index) + 350: 150(ptr) AccessChain 101(params) 149 12 351: 73(int) Load 350 352: 7(int) Bitcast 351 353: 7(int) IAdd 346 352 - 356: 231(ptr) AccessChain 200 203 353 203 + 356: 232(ptr) AccessChain 201 204 353 204 357: 71(fvec4) Load 356 358: 19(fvec3) VectorShuffle 357 357 0 1 2 Store 355(param) 358 @@ -760,20 +762,20 @@ void main() 345: Label 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 370 370 12 12 - 367: 137(ptr) AccessChain 125(id) 39 + 367: 139(ptr) AccessChain 127(id) 39 371: 7(int) Load 367 - 372: 166(bool) UGreaterThan 371 12 + 372: 168(bool) UGreaterThan 371 12 SelectionMerge 374 None BranchConditional 372 373 374 373: Label 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 377: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 378 378 12 12 - 375: 7(int) Load 139(index) - 379: 148(ptr) AccessChain 101(params) 147 12 + 375: 7(int) Load 141(index) + 379: 150(ptr) AccessChain 101(params) 149 12 380: 73(int) Load 379 381: 7(int) Bitcast 380 382: 7(int) ISub 375 381 - 384: 231(ptr) AccessChain 200 203 382 203 + 384: 232(ptr) AccessChain 201 204 382 204 385: 71(fvec4) Load 384 386: 19(fvec3) VectorShuffle 385 385 0 1 2 Store 383(param) 386 @@ -790,582 +792,585 @@ void main() 374: Label 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 - 395: 137(ptr) AccessChain 125(id) 12 + 395: 139(ptr) AccessChain 127(id) 12 399: 7(int) Load 395 - 400: 166(bool) UGreaterThan 399 12 + 400: 168(bool) UGreaterThan 399 12 SelectionMerge 402 None BranchConditional 400 401 402 401: Label 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 - 403: 137(ptr) AccessChain 125(id) 39 + 403: 139(ptr) AccessChain 127(id) 39 406: 7(int) Load 403 - 407: 148(ptr) AccessChain 101(params) 147 39 + 407: 150(ptr) AccessChain 101(params) 149 39 408: 73(int) Load 407 - 409: 73(int) ISub 408 239 + 409: 73(int) ISub 408 240 410: 7(int) Bitcast 409 - 411: 166(bool) ULessThan 406 410 + 411: 168(bool) ULessThan 406 410 Branch 402 402: Label - 412: 166(bool) Phi 400 374 411 401 - 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 412: 168(bool) Phi 400 374 411 401 + 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 SelectionMerge 414 None BranchConditional 412 413 414 413: Label - 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 418 418 12 12 - 415: 7(int) Load 139(index) - 419: 148(ptr) AccessChain 101(params) 147 12 - 420: 73(int) Load 419 - 421: 7(int) Bitcast 420 - 422: 7(int) IAdd 415 421 - 423: 7(int) ISub 422 39 - 426: 231(ptr) AccessChain 200 203 423 203 - 427: 71(fvec4) Load 426 - 428: 19(fvec3) VectorShuffle 427 427 0 1 2 - Store 425(param) 428 - 430: 19(fvec3) Load 261(pos) - Store 429(param) 430 - 432: 105(ptr) AccessChain 101(params) 424 - 433: 16(float) Load 432 - Store 431(param) 433 - 434: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 425(param) 429(param) 431(param) - 435: 19(fvec3) Load 247(force) - 436: 19(fvec3) FAdd 435 434 - Store 247(force) 436 + 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 420 420 12 12 + 417: 7(int) Load 141(index) + 421: 150(ptr) AccessChain 101(params) 149 12 + 422: 73(int) Load 421 + 423: 7(int) Bitcast 422 + 424: 7(int) IAdd 417 423 + 425: 7(int) ISub 424 39 + 428: 232(ptr) AccessChain 201 204 425 204 + 429: 71(fvec4) Load 428 + 430: 19(fvec3) VectorShuffle 429 429 0 1 2 + Store 427(param) 430 + 432: 19(fvec3) Load 261(pos) + Store 431(param) 432 + 434: 105(ptr) AccessChain 101(params) 426 + 435: 16(float) Load 434 + Store 433(param) 435 + 436: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 427(param) 431(param) 433(param) + 437: 19(fvec3) Load 247(force) + 438: 19(fvec3) FAdd 437 436 + Store 247(force) 438 Branch 414 414: Label - 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 441 441 12 12 - 438: 137(ptr) AccessChain 125(id) 12 - 442: 7(int) Load 438 - 443: 166(bool) UGreaterThan 442 12 - SelectionMerge 445 None - BranchConditional 443 444 445 - 444: Label - 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 441 441 12 12 - 446: 137(ptr) AccessChain 125(id) 39 - 449: 7(int) Load 446 - 450: 166(bool) UGreaterThan 449 12 - Branch 445 - 445: Label - 451: 166(bool) Phi 443 414 450 444 - 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - SelectionMerge 453 None - BranchConditional 451 452 453 - 452: Label - 455: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 457 457 12 12 - 454: 7(int) Load 139(index) - 458: 148(ptr) AccessChain 101(params) 147 12 - 459: 73(int) Load 458 - 460: 7(int) Bitcast 459 - 461: 7(int) ISub 454 460 - 462: 7(int) ISub 461 39 - 464: 231(ptr) AccessChain 200 203 462 203 - 465: 71(fvec4) Load 464 - 466: 19(fvec3) VectorShuffle 465 465 0 1 2 - Store 463(param) 466 - 468: 19(fvec3) Load 261(pos) - Store 467(param) 468 - 470: 105(ptr) AccessChain 101(params) 424 - 471: 16(float) Load 470 - Store 469(param) 471 - 472: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 463(param) 467(param) 469(param) - 473: 19(fvec3) Load 247(force) - 474: 19(fvec3) FAdd 473 472 - Store 247(force) 474 - Branch 453 - 453: Label - 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 478: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 479 479 12 12 - 476: 137(ptr) AccessChain 125(id) 12 - 480: 7(int) Load 476 - 481: 148(ptr) AccessChain 101(params) 147 12 - 482: 73(int) Load 481 - 483: 73(int) ISub 482 239 - 484: 7(int) Bitcast 483 - 485: 166(bool) ULessThan 480 484 - SelectionMerge 487 None - BranchConditional 485 486 487 - 486: Label - 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 479 479 12 12 - 488: 137(ptr) AccessChain 125(id) 39 - 491: 7(int) Load 488 - 492: 148(ptr) AccessChain 101(params) 147 39 - 493: 73(int) Load 492 - 494: 73(int) ISub 493 239 - 495: 7(int) Bitcast 494 - 496: 166(bool) ULessThan 491 495 - Branch 487 - 487: Label - 497: 166(bool) Phi 485 453 496 486 - 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - SelectionMerge 499 None - BranchConditional 497 498 499 - 498: Label - 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 503 503 12 12 - 500: 7(int) Load 139(index) - 504: 148(ptr) AccessChain 101(params) 147 12 - 505: 73(int) Load 504 - 506: 7(int) Bitcast 505 - 507: 7(int) IAdd 500 506 - 508: 7(int) IAdd 507 39 - 510: 231(ptr) AccessChain 200 203 508 203 - 511: 71(fvec4) Load 510 - 512: 19(fvec3) VectorShuffle 511 511 0 1 2 - Store 509(param) 512 - 514: 19(fvec3) Load 261(pos) - Store 513(param) 514 - 516: 105(ptr) AccessChain 101(params) 424 - 517: 16(float) Load 516 - Store 515(param) 517 - 518: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 509(param) 513(param) 515(param) - 519: 19(fvec3) Load 247(force) - 520: 19(fvec3) FAdd 519 518 - Store 247(force) 520 - Branch 499 - 499: Label - 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 524: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 525 525 12 12 - 522: 137(ptr) AccessChain 125(id) 12 - 526: 7(int) Load 522 - 527: 148(ptr) AccessChain 101(params) 147 12 - 528: 73(int) Load 527 - 529: 73(int) ISub 528 239 - 530: 7(int) Bitcast 529 - 531: 166(bool) ULessThan 526 530 - SelectionMerge 533 None - BranchConditional 531 532 533 - 532: Label - 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 536: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 525 525 12 12 - 534: 137(ptr) AccessChain 125(id) 39 - 537: 7(int) Load 534 - 538: 166(bool) UGreaterThan 537 12 - Branch 533 - 533: Label - 539: 166(bool) Phi 531 499 538 532 - 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - SelectionMerge 541 None - BranchConditional 539 540 541 - 540: Label - 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 544: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 545 545 12 12 - 542: 7(int) Load 139(index) - 546: 148(ptr) AccessChain 101(params) 147 12 - 547: 73(int) Load 546 - 548: 7(int) Bitcast 547 - 549: 7(int) ISub 542 548 - 550: 7(int) IAdd 549 39 - 552: 231(ptr) AccessChain 200 203 550 203 - 553: 71(fvec4) Load 552 - 554: 19(fvec3) VectorShuffle 553 553 0 1 2 - Store 551(param) 554 - 556: 19(fvec3) Load 261(pos) - Store 555(param) 556 - 558: 105(ptr) AccessChain 101(params) 424 - 559: 16(float) Load 558 - Store 557(param) 559 - 560: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 551(param) 555(param) 557(param) - 561: 19(fvec3) Load 247(force) - 562: 19(fvec3) FAdd 561 560 - Store 247(force) 562 - Branch 541 - 541: Label - 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 568 568 12 12 - 565: 105(ptr) AccessChain 101(params) 564 - 569: 16(float) Load 565 - 570: 16(float) FNegate 569 - 571: 19(fvec3) Load 271(vel) - 572: 19(fvec3) VectorTimesScalar 571 570 - 573: 19(fvec3) Load 247(force) - 574: 19(fvec3) FAdd 573 572 - Store 247(force) 574 - 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 578 578 12 12 - 579: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 576 575(f) 45 - 581: 19(fvec3) Load 247(force) - 582: 105(ptr) AccessChain 101(params) 239 - 583: 16(float) Load 582 - 584: 16(float) FDiv 210 583 - 585: 19(fvec3) VectorTimesScalar 581 584 - Store 575(f) 585 - 587: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 588 588 12 12 - 586: 7(int) Load 139(index) - 589: 19(fvec3) Load 261(pos) - 590: 19(fvec3) Load 271(vel) - 591: 105(ptr) AccessChain 101(params) 203 - 592: 16(float) Load 591 - 593: 19(fvec3) VectorTimesScalar 590 592 - 594: 19(fvec3) FAdd 589 593 - 596: 19(fvec3) Load 575(f) - 597: 19(fvec3) VectorTimesScalar 596 595 - 598: 105(ptr) AccessChain 101(params) 203 - 599: 16(float) Load 598 - 600: 19(fvec3) VectorTimesScalar 597 599 - 601: 105(ptr) AccessChain 101(params) 203 - 602: 16(float) Load 601 - 603: 19(fvec3) VectorTimesScalar 600 602 - 604: 19(fvec3) FAdd 594 603 - 605: 16(float) CompositeExtract 604 0 - 606: 16(float) CompositeExtract 604 1 - 607: 16(float) CompositeExtract 604 2 - 608: 71(fvec4) CompositeConstruct 605 606 607 210 - 609: 231(ptr) AccessChain 225 203 586 203 - Store 609 608 - 611: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 612 612 12 12 - 610: 7(int) Load 139(index) - 613: 19(fvec3) Load 271(vel) - 614: 19(fvec3) Load 575(f) - 615: 105(ptr) AccessChain 101(params) 203 - 616: 16(float) Load 615 - 617: 19(fvec3) VectorTimesScalar 614 616 - 618: 19(fvec3) FAdd 613 617 - 619: 16(float) CompositeExtract 618 0 - 620: 16(float) CompositeExtract 618 1 - 621: 16(float) CompositeExtract 618 2 - 622: 71(fvec4) CompositeConstruct 619 620 621 240 - 623: 231(ptr) AccessChain 225 203 610 239 - Store 623 622 - 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 627 627 12 12 - 628: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 625 624(sphereDist) 45 - 630: 7(int) Load 139(index) - 631: 231(ptr) AccessChain 225 203 630 203 - 632: 71(fvec4) Load 631 - 633: 19(fvec3) VectorShuffle 632 632 0 1 2 - 635: 231(ptr) AccessChain 101(params) 634 + 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 441: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 442 442 12 12 + 439: 139(ptr) AccessChain 127(id) 12 + 443: 7(int) Load 439 + 444: 168(bool) UGreaterThan 443 12 + SelectionMerge 446 None + BranchConditional 444 445 446 + 445: Label + 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 442 442 12 12 + 447: 139(ptr) AccessChain 127(id) 39 + 450: 7(int) Load 447 + 451: 168(bool) UGreaterThan 450 12 + Branch 446 + 446: Label + 452: 168(bool) Phi 444 414 451 445 + 455: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 442 442 12 12 + SelectionMerge 454 None + BranchConditional 452 453 454 + 453: Label + 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 460 460 12 12 + 457: 7(int) Load 141(index) + 461: 150(ptr) AccessChain 101(params) 149 12 + 462: 73(int) Load 461 + 463: 7(int) Bitcast 462 + 464: 7(int) ISub 457 463 + 465: 7(int) ISub 464 39 + 467: 232(ptr) AccessChain 201 204 465 204 + 468: 71(fvec4) Load 467 + 469: 19(fvec3) VectorShuffle 468 468 0 1 2 + Store 466(param) 469 + 471: 19(fvec3) Load 261(pos) + Store 470(param) 471 + 473: 105(ptr) AccessChain 101(params) 426 + 474: 16(float) Load 473 + Store 472(param) 474 + 475: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 466(param) 470(param) 472(param) + 476: 19(fvec3) Load 247(force) + 477: 19(fvec3) FAdd 476 475 + Store 247(force) 477 + Branch 454 + 454: Label + 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 481 481 12 12 + 478: 139(ptr) AccessChain 127(id) 12 + 482: 7(int) Load 478 + 483: 150(ptr) AccessChain 101(params) 149 12 + 484: 73(int) Load 483 + 485: 73(int) ISub 484 240 + 486: 7(int) Bitcast 485 + 487: 168(bool) ULessThan 482 486 + SelectionMerge 489 None + BranchConditional 487 488 489 + 488: Label + 491: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 481 481 12 12 + 490: 139(ptr) AccessChain 127(id) 39 + 493: 7(int) Load 490 + 494: 150(ptr) AccessChain 101(params) 149 39 + 495: 73(int) Load 494 + 496: 73(int) ISub 495 240 + 497: 7(int) Bitcast 496 + 498: 168(bool) ULessThan 493 497 + Branch 489 + 489: Label + 499: 168(bool) Phi 487 454 498 488 + 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 481 481 12 12 + SelectionMerge 501 None + BranchConditional 499 500 501 + 500: Label + 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 507 507 12 12 + 504: 7(int) Load 141(index) + 508: 150(ptr) AccessChain 101(params) 149 12 + 509: 73(int) Load 508 + 510: 7(int) Bitcast 509 + 511: 7(int) IAdd 504 510 + 512: 7(int) IAdd 511 39 + 514: 232(ptr) AccessChain 201 204 512 204 + 515: 71(fvec4) Load 514 + 516: 19(fvec3) VectorShuffle 515 515 0 1 2 + Store 513(param) 516 + 518: 19(fvec3) Load 261(pos) + Store 517(param) 518 + 520: 105(ptr) AccessChain 101(params) 426 + 521: 16(float) Load 520 + Store 519(param) 521 + 522: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 513(param) 517(param) 519(param) + 523: 19(fvec3) Load 247(force) + 524: 19(fvec3) FAdd 523 522 + Store 247(force) 524 + Branch 501 + 501: Label + 526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 528 528 12 12 + 525: 139(ptr) AccessChain 127(id) 12 + 529: 7(int) Load 525 + 530: 150(ptr) AccessChain 101(params) 149 12 + 531: 73(int) Load 530 + 532: 73(int) ISub 531 240 + 533: 7(int) Bitcast 532 + 534: 168(bool) ULessThan 529 533 + SelectionMerge 536 None + BranchConditional 534 535 536 + 535: Label + 538: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 528 528 12 12 + 537: 139(ptr) AccessChain 127(id) 39 + 540: 7(int) Load 537 + 541: 168(bool) UGreaterThan 540 12 + Branch 536 + 536: Label + 542: 168(bool) Phi 534 501 541 535 + 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 528 528 12 12 + SelectionMerge 544 None + BranchConditional 542 543 544 + 543: Label + 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 550 550 12 12 + 547: 7(int) Load 141(index) + 551: 150(ptr) AccessChain 101(params) 149 12 + 552: 73(int) Load 551 + 553: 7(int) Bitcast 552 + 554: 7(int) ISub 547 553 + 555: 7(int) IAdd 554 39 + 557: 232(ptr) AccessChain 201 204 555 204 + 558: 71(fvec4) Load 557 + 559: 19(fvec3) VectorShuffle 558 558 0 1 2 + Store 556(param) 559 + 561: 19(fvec3) Load 261(pos) + Store 560(param) 561 + 563: 105(ptr) AccessChain 101(params) 426 + 564: 16(float) Load 563 + Store 562(param) 564 + 565: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 556(param) 560(param) 562(param) + 566: 19(fvec3) Load 247(force) + 567: 19(fvec3) FAdd 566 565 + Store 247(force) 567 + Branch 544 + 544: Label + 570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 572 572 12 12 + 569: 105(ptr) AccessChain 101(params) 568 + 573: 16(float) Load 569 + 574: 16(float) FNegate 573 + 575: 19(fvec3) Load 271(vel) + 576: 19(fvec3) VectorTimesScalar 575 574 + 577: 19(fvec3) Load 247(force) + 578: 19(fvec3) FAdd 577 576 + Store 247(force) 578 + 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 582 582 12 12 + 583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 580 579(f) 45 + 585: 19(fvec3) Load 247(force) + 586: 105(ptr) AccessChain 101(params) 240 + 587: 16(float) Load 586 + 588: 16(float) FDiv 211 587 + 589: 19(fvec3) VectorTimesScalar 585 588 + Store 579(f) 589 + 591: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 592 592 12 12 + 590: 7(int) Load 141(index) + 593: 19(fvec3) Load 261(pos) + 594: 19(fvec3) Load 271(vel) + 595: 105(ptr) AccessChain 101(params) 204 + 596: 16(float) Load 595 + 597: 19(fvec3) VectorTimesScalar 594 596 + 598: 19(fvec3) FAdd 593 597 + 600: 19(fvec3) Load 579(f) + 601: 19(fvec3) VectorTimesScalar 600 599 + 602: 105(ptr) AccessChain 101(params) 204 + 603: 16(float) Load 602 + 604: 19(fvec3) VectorTimesScalar 601 603 + 605: 105(ptr) AccessChain 101(params) 204 + 606: 16(float) Load 605 + 607: 19(fvec3) VectorTimesScalar 604 606 + 608: 19(fvec3) FAdd 598 607 + 609: 16(float) CompositeExtract 608 0 + 610: 16(float) CompositeExtract 608 1 + 611: 16(float) CompositeExtract 608 2 + 612: 71(fvec4) CompositeConstruct 609 610 611 211 + 613: 232(ptr) AccessChain 226 204 590 204 + Store 613 612 + 615: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 616 616 12 12 + 614: 7(int) Load 141(index) + 617: 19(fvec3) Load 271(vel) + 618: 19(fvec3) Load 579(f) + 619: 105(ptr) AccessChain 101(params) 204 + 620: 16(float) Load 619 + 621: 19(fvec3) VectorTimesScalar 618 620 + 622: 19(fvec3) FAdd 617 621 + 623: 16(float) CompositeExtract 622 0 + 624: 16(float) CompositeExtract 622 1 + 625: 16(float) CompositeExtract 622 2 + 626: 71(fvec4) CompositeConstruct 623 624 625 241 + 627: 232(ptr) AccessChain 226 204 614 240 + Store 627 626 + 633: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 631 631 12 12 + 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 629 628(sphereDist) 45 + 634: 7(int) Load 141(index) + 635: 232(ptr) AccessChain 226 204 634 204 636: 71(fvec4) Load 635 637: 19(fvec3) VectorShuffle 636 636 0 1 2 - 638: 19(fvec3) FSub 633 637 - Store 624(sphereDist) 638 - 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 641 641 12 12 - 639: 19(fvec3) Load 624(sphereDist) - 642: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 639 - 644: 105(ptr) AccessChain 101(params) 643 - 645: 16(float) Load 644 - 647: 16(float) FAdd 645 646 - 648: 166(bool) FOrdLessThan 642 647 - SelectionMerge 650 None - BranchConditional 648 649 650 - 649: Label - 652: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 653: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 654 654 12 12 - 651: 7(int) Load 139(index) - 655: 231(ptr) AccessChain 101(params) 634 - 656: 71(fvec4) Load 655 - 657: 19(fvec3) VectorShuffle 656 656 0 1 2 - 658: 19(fvec3) Load 624(sphereDist) - 659: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 658 - 660: 105(ptr) AccessChain 101(params) 643 - 661: 16(float) Load 660 - 662: 16(float) FAdd 661 646 - 663: 19(fvec3) VectorTimesScalar 659 662 - 664: 19(fvec3) FAdd 657 663 - 665: 105(ptr) AccessChain 225 203 651 203 12 - 666: 16(float) CompositeExtract 664 0 - Store 665 666 - 667: 105(ptr) AccessChain 225 203 651 203 39 - 668: 16(float) CompositeExtract 664 1 - Store 667 668 - 669: 105(ptr) AccessChain 225 203 651 203 41 - 670: 16(float) CompositeExtract 664 2 + 639: 232(ptr) AccessChain 101(params) 638 + 640: 71(fvec4) Load 639 + 641: 19(fvec3) VectorShuffle 640 640 0 1 2 + 642: 19(fvec3) FSub 637 641 + Store 628(sphereDist) 642 + 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 645 645 12 12 + 643: 19(fvec3) Load 628(sphereDist) + 646: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 643 + 648: 105(ptr) AccessChain 101(params) 647 + 649: 16(float) Load 648 + 651: 16(float) FAdd 649 650 + 652: 168(bool) FOrdLessThan 646 651 + SelectionMerge 654 None + BranchConditional 652 653 654 + 653: Label + 656: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 657: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 658 658 12 12 + 655: 7(int) Load 141(index) + 659: 232(ptr) AccessChain 101(params) 638 + 660: 71(fvec4) Load 659 + 661: 19(fvec3) VectorShuffle 660 660 0 1 2 + 662: 19(fvec3) Load 628(sphereDist) + 663: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 662 + 664: 105(ptr) AccessChain 101(params) 647 + 665: 16(float) Load 664 + 666: 16(float) FAdd 665 650 + 667: 19(fvec3) VectorTimesScalar 663 666 + 668: 19(fvec3) FAdd 661 667 + 669: 105(ptr) AccessChain 226 204 655 204 12 + 670: 16(float) CompositeExtract 668 0 Store 669 670 - 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 673 673 12 12 - 671: 7(int) Load 139(index) - 674: 231(ptr) AccessChain 225 203 671 239 - Store 674 241 - Branch 650 - 650: Label - 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 692: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 681 681 12 12 - 690: 688(ptr) AccessChain 685(pushConsts) 203 - 693: 7(int) Load 690 - 694: 166(bool) IEqual 693 39 - SelectionMerge 696 None - BranchConditional 694 695 696 - 695: Label - 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 699 699 12 12 - 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 698 697(normal) 45 - Store 697(normal) 703 - 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 706 706 12 12 - 704: 137(ptr) AccessChain 125(id) 39 - 707: 7(int) Load 704 - 708: 166(bool) UGreaterThan 707 12 - SelectionMerge 710 None - BranchConditional 708 709 710 - 709: Label - 712: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 714 714 12 12 - 711: 137(ptr) AccessChain 125(id) 12 - 715: 7(int) Load 711 - 716: 166(bool) UGreaterThan 715 12 - SelectionMerge 718 None - BranchConditional 716 717 718 - 717: Label - 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 725: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 722 722 12 12 - 723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 720 719(a) 45 - 726: 7(int) Load 139(index) - 727: 7(int) ISub 726 39 - 728: 231(ptr) AccessChain 200 203 727 203 - 729: 71(fvec4) Load 728 - 730: 19(fvec3) VectorShuffle 729 729 0 1 2 - 731: 19(fvec3) Load 261(pos) - 732: 19(fvec3) FSub 730 731 - Store 719(a) 732 - 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 736 736 12 12 - 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 734 733(b) 45 - 739: 7(int) Load 139(index) - 740: 148(ptr) AccessChain 101(params) 147 12 - 741: 73(int) Load 740 - 742: 7(int) Bitcast 741 - 743: 7(int) ISub 739 742 - 744: 7(int) ISub 743 39 - 745: 231(ptr) AccessChain 200 203 744 203 - 746: 71(fvec4) Load 745 - 747: 19(fvec3) VectorShuffle 746 746 0 1 2 - 748: 19(fvec3) Load 261(pos) - 749: 19(fvec3) FSub 747 748 - Store 733(b) 749 - 755: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 753 753 12 12 - 754: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 751 750(c) 45 - 756: 7(int) Load 139(index) - 757: 148(ptr) AccessChain 101(params) 147 12 - 758: 73(int) Load 757 - 759: 7(int) Bitcast 758 - 760: 7(int) ISub 756 759 - 761: 231(ptr) AccessChain 200 203 760 203 - 762: 71(fvec4) Load 761 - 763: 19(fvec3) VectorShuffle 762 762 0 1 2 - 764: 19(fvec3) Load 261(pos) - 765: 19(fvec3) FSub 763 764 - Store 750(c) 765 - 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 768 768 12 12 - 766: 19(fvec3) Load 719(a) - 769: 19(fvec3) Load 733(b) - 770: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 766 769 - 771: 19(fvec3) Load 733(b) - 772: 19(fvec3) Load 750(c) - 773: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 771 772 - 774: 19(fvec3) FAdd 770 773 - 775: 19(fvec3) Load 697(normal) - 776: 19(fvec3) FAdd 775 774 - Store 697(normal) 776 - Branch 718 - 718: Label - 778: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 779: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 780 780 12 12 - 777: 137(ptr) AccessChain 125(id) 12 - 781: 7(int) Load 777 - 782: 148(ptr) AccessChain 101(params) 147 12 - 783: 73(int) Load 782 - 784: 73(int) ISub 783 239 - 785: 7(int) Bitcast 784 - 786: 166(bool) ULessThan 781 785 - SelectionMerge 788 None - BranchConditional 786 787 788 - 787: Label - 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 792 792 12 12 - 789: 7(int) Load 139(index) - 793: 148(ptr) AccessChain 101(params) 147 12 - 794: 73(int) Load 793 - 795: 7(int) Bitcast 794 - 796: 7(int) ISub 789 795 - 797: 231(ptr) AccessChain 200 203 796 203 - 798: 71(fvec4) Load 797 - 799: 19(fvec3) VectorShuffle 798 798 0 1 2 - 800: 19(fvec3) Load 261(pos) - 801: 19(fvec3) FSub 799 800 - Store 719(a) 801 - 803: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 804 804 12 12 - 802: 7(int) Load 139(index) - 805: 148(ptr) AccessChain 101(params) 147 12 - 806: 73(int) Load 805 - 807: 7(int) Bitcast 806 - 808: 7(int) ISub 802 807 - 809: 7(int) IAdd 808 39 - 810: 231(ptr) AccessChain 200 203 809 203 - 811: 71(fvec4) Load 810 - 812: 19(fvec3) VectorShuffle 811 811 0 1 2 - 813: 19(fvec3) Load 261(pos) - 814: 19(fvec3) FSub 812 813 - Store 733(b) 814 - 816: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 817 817 12 12 - 815: 7(int) Load 139(index) - 818: 7(int) IAdd 815 39 - 819: 231(ptr) AccessChain 200 203 818 203 - 820: 71(fvec4) Load 819 - 821: 19(fvec3) VectorShuffle 820 820 0 1 2 - 822: 19(fvec3) Load 261(pos) - 823: 19(fvec3) FSub 821 822 - Store 750(c) 823 - 825: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 826 826 12 12 - 824: 19(fvec3) Load 719(a) - 827: 19(fvec3) Load 733(b) - 828: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 824 827 - 829: 19(fvec3) Load 733(b) - 830: 19(fvec3) Load 750(c) - 831: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 829 830 - 832: 19(fvec3) FAdd 828 831 - 833: 19(fvec3) Load 697(normal) - 834: 19(fvec3) FAdd 833 832 - Store 697(normal) 834 - Branch 788 - 788: Label - 835: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - Branch 710 - 710: Label - 837: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 838: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 839 839 12 12 - 836: 137(ptr) AccessChain 125(id) 39 - 840: 7(int) Load 836 - 841: 148(ptr) AccessChain 101(params) 147 39 - 842: 73(int) Load 841 - 843: 73(int) ISub 842 239 - 844: 7(int) Bitcast 843 - 845: 166(bool) ULessThan 840 844 - SelectionMerge 847 None - BranchConditional 845 846 847 - 846: Label - 849: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 851 851 12 12 - 848: 137(ptr) AccessChain 125(id) 12 - 852: 7(int) Load 848 - 853: 166(bool) UGreaterThan 852 12 - SelectionMerge 855 None - BranchConditional 853 854 855 - 854: Label - 857: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 859 859 12 12 - 856: 7(int) Load 139(index) - 860: 148(ptr) AccessChain 101(params) 147 12 - 861: 73(int) Load 860 - 862: 7(int) Bitcast 861 - 863: 7(int) IAdd 856 862 - 864: 231(ptr) AccessChain 200 203 863 203 - 865: 71(fvec4) Load 864 - 866: 19(fvec3) VectorShuffle 865 865 0 1 2 - 867: 19(fvec3) Load 261(pos) - 868: 19(fvec3) FSub 866 867 - Store 719(a) 868 - 870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 871 871 12 12 - 869: 7(int) Load 139(index) - 872: 148(ptr) AccessChain 101(params) 147 12 - 873: 73(int) Load 872 - 874: 7(int) Bitcast 873 - 875: 7(int) IAdd 869 874 - 876: 7(int) ISub 875 39 - 877: 231(ptr) AccessChain 200 203 876 203 - 878: 71(fvec4) Load 877 - 879: 19(fvec3) VectorShuffle 878 878 0 1 2 - 880: 19(fvec3) Load 261(pos) - 881: 19(fvec3) FSub 879 880 - Store 733(b) 881 - 883: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 884 884 12 12 - 882: 7(int) Load 139(index) - 885: 7(int) ISub 882 39 - 886: 231(ptr) AccessChain 200 203 885 203 - 887: 71(fvec4) Load 886 - 888: 19(fvec3) VectorShuffle 887 887 0 1 2 - 889: 19(fvec3) Load 261(pos) - 890: 19(fvec3) FSub 888 889 - Store 750(c) 890 - 892: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 893 893 12 12 - 891: 19(fvec3) Load 719(a) - 894: 19(fvec3) Load 733(b) - 895: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 891 894 - 896: 19(fvec3) Load 733(b) - 897: 19(fvec3) Load 750(c) - 898: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 896 897 - 899: 19(fvec3) FAdd 895 898 - 900: 19(fvec3) Load 697(normal) - 901: 19(fvec3) FAdd 900 899 - Store 697(normal) 901 - Branch 855 - 855: Label - 903: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 904: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 905 905 12 12 - 902: 137(ptr) AccessChain 125(id) 12 - 906: 7(int) Load 902 - 907: 148(ptr) AccessChain 101(params) 147 12 - 908: 73(int) Load 907 - 909: 73(int) ISub 908 239 - 910: 7(int) Bitcast 909 - 911: 166(bool) ULessThan 906 910 - SelectionMerge 913 None - BranchConditional 911 912 913 - 912: Label - 915: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 916: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 917 917 12 12 - 914: 7(int) Load 139(index) - 918: 7(int) IAdd 914 39 - 919: 231(ptr) AccessChain 200 203 918 203 - 920: 71(fvec4) Load 919 - 921: 19(fvec3) VectorShuffle 920 920 0 1 2 - 922: 19(fvec3) Load 261(pos) - 923: 19(fvec3) FSub 921 922 - Store 719(a) 923 - 925: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 926 926 12 12 - 924: 7(int) Load 139(index) - 927: 148(ptr) AccessChain 101(params) 147 12 - 928: 73(int) Load 927 - 929: 7(int) Bitcast 928 - 930: 7(int) IAdd 924 929 - 931: 7(int) IAdd 930 39 - 932: 231(ptr) AccessChain 200 203 931 203 - 933: 71(fvec4) Load 932 - 934: 19(fvec3) VectorShuffle 933 933 0 1 2 - 935: 19(fvec3) Load 261(pos) - 936: 19(fvec3) FSub 934 935 - Store 733(b) 936 - 938: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 939 939 12 12 - 937: 7(int) Load 139(index) - 940: 148(ptr) AccessChain 101(params) 147 12 - 941: 73(int) Load 940 - 942: 7(int) Bitcast 941 - 943: 7(int) IAdd 937 942 - 944: 231(ptr) AccessChain 200 203 943 203 - 945: 71(fvec4) Load 944 - 946: 19(fvec3) VectorShuffle 945 945 0 1 2 - 947: 19(fvec3) Load 261(pos) - 948: 19(fvec3) FSub 946 947 - Store 750(c) 948 - 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 951 951 12 12 - 949: 19(fvec3) Load 719(a) - 952: 19(fvec3) Load 733(b) - 953: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 949 952 - 954: 19(fvec3) Load 733(b) - 955: 19(fvec3) Load 750(c) - 956: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 954 955 - 957: 19(fvec3) FAdd 953 956 - 958: 19(fvec3) Load 697(normal) - 959: 19(fvec3) FAdd 958 957 - Store 697(normal) 959 - Branch 913 - 913: Label - 960: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - Branch 847 - 847: Label - 962: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 963: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 964 964 12 12 - 961: 7(int) Load 139(index) - 965: 19(fvec3) Load 697(normal) - 966: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 965 - 967: 16(float) CompositeExtract 966 0 - 968: 16(float) CompositeExtract 966 1 - 969: 16(float) CompositeExtract 966 2 - 970: 71(fvec4) CompositeConstruct 967 968 969 240 - 971: 231(ptr) AccessChain 225 203 961 564 - Store 971 970 - Branch 696 - 696: Label - 972: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 671: 105(ptr) AccessChain 226 204 655 204 39 + 672: 16(float) CompositeExtract 668 1 + Store 671 672 + 673: 105(ptr) AccessChain 226 204 655 204 41 + 674: 16(float) CompositeExtract 668 2 + Store 673 674 + 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 677 677 12 12 + 675: 7(int) Load 141(index) + 678: 232(ptr) AccessChain 226 204 675 240 + Store 678 242 + Branch 654 + 654: Label + 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 696: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 685 685 12 12 + 694: 692(ptr) AccessChain 689(pushConsts) 204 + 697: 7(int) Load 694 + 698: 168(bool) IEqual 697 39 + SelectionMerge 700 None + BranchConditional 698 699 700 + 699: Label + 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 703 703 12 12 + 704: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 702 701(normal) 45 + Store 701(normal) 707 + 709: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 710 710 12 12 + 708: 139(ptr) AccessChain 127(id) 39 + 711: 7(int) Load 708 + 712: 168(bool) UGreaterThan 711 12 + SelectionMerge 714 None + BranchConditional 712 713 714 + 713: Label + 716: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 717: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 718 718 12 12 + 715: 139(ptr) AccessChain 127(id) 12 + 719: 7(int) Load 715 + 720: 168(bool) UGreaterThan 719 12 + SelectionMerge 722 None + BranchConditional 720 721 722 + 721: Label + 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 726 726 12 12 + 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 724 723(a) 45 + 730: 7(int) Load 141(index) + 731: 7(int) ISub 730 39 + 732: 232(ptr) AccessChain 201 204 731 204 + 733: 71(fvec4) Load 732 + 734: 19(fvec3) VectorShuffle 733 733 0 1 2 + 735: 19(fvec3) Load 261(pos) + 736: 19(fvec3) FSub 734 735 + Store 723(a) 736 + 742: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 740 740 12 12 + 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 738 737(b) 45 + 743: 7(int) Load 141(index) + 744: 150(ptr) AccessChain 101(params) 149 12 + 745: 73(int) Load 744 + 746: 7(int) Bitcast 745 + 747: 7(int) ISub 743 746 + 748: 7(int) ISub 747 39 + 749: 232(ptr) AccessChain 201 204 748 204 + 750: 71(fvec4) Load 749 + 751: 19(fvec3) VectorShuffle 750 750 0 1 2 + 752: 19(fvec3) Load 261(pos) + 753: 19(fvec3) FSub 751 752 + Store 737(b) 753 + 759: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 757 757 12 12 + 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 755 754(c) 45 + 760: 7(int) Load 141(index) + 761: 150(ptr) AccessChain 101(params) 149 12 + 762: 73(int) Load 761 + 763: 7(int) Bitcast 762 + 764: 7(int) ISub 760 763 + 765: 232(ptr) AccessChain 201 204 764 204 + 766: 71(fvec4) Load 765 + 767: 19(fvec3) VectorShuffle 766 766 0 1 2 + 768: 19(fvec3) Load 261(pos) + 769: 19(fvec3) FSub 767 768 + Store 754(c) 769 + 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 772 772 12 12 + 770: 19(fvec3) Load 723(a) + 773: 19(fvec3) Load 737(b) + 774: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 770 773 + 775: 19(fvec3) Load 737(b) + 776: 19(fvec3) Load 754(c) + 777: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 775 776 + 778: 19(fvec3) FAdd 774 777 + 779: 19(fvec3) Load 701(normal) + 780: 19(fvec3) FAdd 779 778 + Store 701(normal) 780 + Branch 722 + 722: Label + 782: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 783: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 784 784 12 12 + 781: 139(ptr) AccessChain 127(id) 12 + 785: 7(int) Load 781 + 786: 150(ptr) AccessChain 101(params) 149 12 + 787: 73(int) Load 786 + 788: 73(int) ISub 787 240 + 789: 7(int) Bitcast 788 + 790: 168(bool) ULessThan 785 789 + SelectionMerge 792 None + BranchConditional 790 791 792 + 791: Label + 794: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 796 796 12 12 + 793: 7(int) Load 141(index) + 797: 150(ptr) AccessChain 101(params) 149 12 + 798: 73(int) Load 797 + 799: 7(int) Bitcast 798 + 800: 7(int) ISub 793 799 + 801: 232(ptr) AccessChain 201 204 800 204 + 802: 71(fvec4) Load 801 + 803: 19(fvec3) VectorShuffle 802 802 0 1 2 + 804: 19(fvec3) Load 261(pos) + 805: 19(fvec3) FSub 803 804 + Store 723(a) 805 + 807: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 808 808 12 12 + 806: 7(int) Load 141(index) + 809: 150(ptr) AccessChain 101(params) 149 12 + 810: 73(int) Load 809 + 811: 7(int) Bitcast 810 + 812: 7(int) ISub 806 811 + 813: 7(int) IAdd 812 39 + 814: 232(ptr) AccessChain 201 204 813 204 + 815: 71(fvec4) Load 814 + 816: 19(fvec3) VectorShuffle 815 815 0 1 2 + 817: 19(fvec3) Load 261(pos) + 818: 19(fvec3) FSub 816 817 + Store 737(b) 818 + 820: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 821 821 12 12 + 819: 7(int) Load 141(index) + 822: 7(int) IAdd 819 39 + 823: 232(ptr) AccessChain 201 204 822 204 + 824: 71(fvec4) Load 823 + 825: 19(fvec3) VectorShuffle 824 824 0 1 2 + 826: 19(fvec3) Load 261(pos) + 827: 19(fvec3) FSub 825 826 + Store 754(c) 827 + 829: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 830 830 12 12 + 828: 19(fvec3) Load 723(a) + 831: 19(fvec3) Load 737(b) + 832: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 828 831 + 833: 19(fvec3) Load 737(b) + 834: 19(fvec3) Load 754(c) + 835: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 833 834 + 836: 19(fvec3) FAdd 832 835 + 837: 19(fvec3) Load 701(normal) + 838: 19(fvec3) FAdd 837 836 + Store 701(normal) 838 + Branch 792 + 792: Label + Branch 714 + 714: Label + 840: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 841: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 842 842 12 12 + 839: 139(ptr) AccessChain 127(id) 39 + 843: 7(int) Load 839 + 844: 150(ptr) AccessChain 101(params) 149 39 + 845: 73(int) Load 844 + 846: 73(int) ISub 845 240 + 847: 7(int) Bitcast 846 + 848: 168(bool) ULessThan 843 847 + SelectionMerge 850 None + BranchConditional 848 849 850 + 849: Label + 852: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 853: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 854 854 12 12 + 851: 139(ptr) AccessChain 127(id) 12 + 855: 7(int) Load 851 + 856: 168(bool) UGreaterThan 855 12 + SelectionMerge 858 None + BranchConditional 856 857 858 + 857: Label + 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 861: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 862 862 12 12 + 859: 7(int) Load 141(index) + 863: 150(ptr) AccessChain 101(params) 149 12 + 864: 73(int) Load 863 + 865: 7(int) Bitcast 864 + 866: 7(int) IAdd 859 865 + 867: 232(ptr) AccessChain 201 204 866 204 + 868: 71(fvec4) Load 867 + 869: 19(fvec3) VectorShuffle 868 868 0 1 2 + 870: 19(fvec3) Load 261(pos) + 871: 19(fvec3) FSub 869 870 + Store 723(a) 871 + 873: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 874 874 12 12 + 872: 7(int) Load 141(index) + 875: 150(ptr) AccessChain 101(params) 149 12 + 876: 73(int) Load 875 + 877: 7(int) Bitcast 876 + 878: 7(int) IAdd 872 877 + 879: 7(int) ISub 878 39 + 880: 232(ptr) AccessChain 201 204 879 204 + 881: 71(fvec4) Load 880 + 882: 19(fvec3) VectorShuffle 881 881 0 1 2 + 883: 19(fvec3) Load 261(pos) + 884: 19(fvec3) FSub 882 883 + Store 737(b) 884 + 886: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 887 887 12 12 + 885: 7(int) Load 141(index) + 888: 7(int) ISub 885 39 + 889: 232(ptr) AccessChain 201 204 888 204 + 890: 71(fvec4) Load 889 + 891: 19(fvec3) VectorShuffle 890 890 0 1 2 + 892: 19(fvec3) Load 261(pos) + 893: 19(fvec3) FSub 891 892 + Store 754(c) 893 + 895: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 896 896 12 12 + 894: 19(fvec3) Load 723(a) + 897: 19(fvec3) Load 737(b) + 898: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 894 897 + 899: 19(fvec3) Load 737(b) + 900: 19(fvec3) Load 754(c) + 901: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 899 900 + 902: 19(fvec3) FAdd 898 901 + 903: 19(fvec3) Load 701(normal) + 904: 19(fvec3) FAdd 903 902 + Store 701(normal) 904 + Branch 858 + 858: Label + 906: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 907: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 908 908 12 12 + 905: 139(ptr) AccessChain 127(id) 12 + 909: 7(int) Load 905 + 910: 150(ptr) AccessChain 101(params) 149 12 + 911: 73(int) Load 910 + 912: 73(int) ISub 911 240 + 913: 7(int) Bitcast 912 + 914: 168(bool) ULessThan 909 913 + SelectionMerge 916 None + BranchConditional 914 915 916 + 915: Label + 918: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 919: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 920 920 12 12 + 917: 7(int) Load 141(index) + 921: 7(int) IAdd 917 39 + 922: 232(ptr) AccessChain 201 204 921 204 + 923: 71(fvec4) Load 922 + 924: 19(fvec3) VectorShuffle 923 923 0 1 2 + 925: 19(fvec3) Load 261(pos) + 926: 19(fvec3) FSub 924 925 + Store 723(a) 926 + 928: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 929 929 12 12 + 927: 7(int) Load 141(index) + 930: 150(ptr) AccessChain 101(params) 149 12 + 931: 73(int) Load 930 + 932: 7(int) Bitcast 931 + 933: 7(int) IAdd 927 932 + 934: 7(int) IAdd 933 39 + 935: 232(ptr) AccessChain 201 204 934 204 + 936: 71(fvec4) Load 935 + 937: 19(fvec3) VectorShuffle 936 936 0 1 2 + 938: 19(fvec3) Load 261(pos) + 939: 19(fvec3) FSub 937 938 + Store 737(b) 939 + 941: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 942 942 12 12 + 940: 7(int) Load 141(index) + 943: 150(ptr) AccessChain 101(params) 149 12 + 944: 73(int) Load 943 + 945: 7(int) Bitcast 944 + 946: 7(int) IAdd 940 945 + 947: 232(ptr) AccessChain 201 204 946 204 + 948: 71(fvec4) Load 947 + 949: 19(fvec3) VectorShuffle 948 948 0 1 2 + 950: 19(fvec3) Load 261(pos) + 951: 19(fvec3) FSub 949 950 + Store 754(c) 951 + 953: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 954 954 12 12 + 952: 19(fvec3) Load 723(a) + 955: 19(fvec3) Load 737(b) + 956: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 952 955 + 957: 19(fvec3) Load 737(b) + 958: 19(fvec3) Load 754(c) + 959: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 957 958 + 960: 19(fvec3) FAdd 956 959 + 961: 19(fvec3) Load 701(normal) + 962: 19(fvec3) FAdd 961 960 + Store 701(normal) 962 + Branch 916 + 916: Label + Branch 850 + 850: Label + 964: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 965: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 966 966 12 12 + 963: 7(int) Load 141(index) + 967: 19(fvec3) Load 701(normal) + 968: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 967 + 969: 16(float) CompositeExtract 968 0 + 970: 16(float) CompositeExtract 968 1 + 971: 16(float) CompositeExtract 968 2 + 972: 71(fvec4) CompositeConstruct 969 970 971 241 + 973: 232(ptr) AccessChain 226 204 963 568 + Store 973 972 + Branch 700 + 700: Label + 974: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 975: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 976 976 12 12 Return FunctionEnd 31(springForce(vf3;vf3;f1;): 19(fvec3) Function None 26 diff --git a/Test/baseResults/spv.debuginfo.glsl.frag.out b/Test/baseResults/spv.debuginfo.glsl.frag.out index 142107a3..3214f97a 100644 --- a/Test/baseResults/spv.debuginfo.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.glsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 877 +// Id's are bound by 879 Capability Shader Capability ImageQuery @@ -9,7 +9,7 @@ spv.debuginfo.glsl.frag 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 14 "main" 493 546 + EntryPoint Fragment 14 "main" 499 552 ExecutionMode 14 OriginUpperLeft 2: String "spv.debuginfo.glsl.frag" 8: String "uint" @@ -230,38 +230,38 @@ void main() 105: String "global_var" 120: String "shadowCoord" 142: String "bool" - 162: String "dist" - 169: String "type.2d.image" - 170: String "@type.2d.image" - 174: String "type.sampled.image" - 175: String "@type.sampled.image" - 180: String "samplerShadowMap" - 230: String "texDim" - 242: String "scale" - 249: String "dx" - 263: String "dy" - 275: String "shadowFactor" - 281: String "count" - 287: String "range" - 294: String "x" - 314: String "y" - 379: String "i" - 397: String "shadowClip" - 407: String "color" - 412: String "viewMatrix" - 415: String "Light" - 421: String "lights" - 424: String "debugDisplayTarget" - 428: String "UBO" - 433: String "ubo" - 477: String "fragPos" - 489: String "samplerposition" - 495: String "inUV" - 501: String "normal" - 507: String "samplerNormal" - 514: String "albedo" - 520: String "samplerAlbedo" - 548: String "outFragColor" + 164: String "dist" + 171: String "type.2d.image" + 172: String "@type.2d.image" + 176: String "type.sampled.image" + 177: String "@type.sampled.image" + 182: String "samplerShadowMap" + 233: String "texDim" + 245: String "scale" + 252: String "dx" + 266: String "dy" + 278: String "shadowFactor" + 284: String "count" + 290: String "range" + 297: String "x" + 317: String "y" + 383: String "i" + 401: String "shadowClip" + 411: String "color" + 416: String "viewMatrix" + 419: String "Light" + 425: String "lights" + 428: String "debugDisplayTarget" + 432: String "UBO" + 437: String "ubo" + 483: String "fragPos" + 495: String "samplerposition" + 501: String "inUV" + 507: String "normal" + 513: String "samplerNormal" + 520: String "albedo" + 526: String "samplerAlbedo" + 554: String "outFragColor" 648: String "N" 672: String "L" 698: String "V" @@ -291,46 +291,46 @@ void main() Name 103 "global_var" Name 112 "shadow" Name 118 "shadowCoord" - Name 160 "dist" - Name 178 "samplerShadowMap" - Name 228 "texDim" - Name 240 "scale" - Name 247 "dx" - Name 261 "dy" - Name 273 "shadowFactor" - Name 279 "count" - Name 285 "range" - Name 292 "x" - Name 312 "y" - Name 345 "param" - Name 347 "param" - Name 349 "param" - Name 377 "i" - Name 395 "shadowClip" - Name 405 "Light" - MemberName 405(Light) 0 "position" - MemberName 405(Light) 1 "target" - MemberName 405(Light) 2 "color" - MemberName 405(Light) 3 "viewMatrix" - Name 418 "UBO" - MemberName 418(UBO) 0 "viewPos" - MemberName 418(UBO) 1 "lights" - MemberName 418(UBO) 2 "useShadows" - MemberName 418(UBO) 3 "debugDisplayTarget" - Name 431 "ubo" - Name 445 "shadowFactor" - Name 452 "param" - Name 454 "param" - Name 475 "fragPos" - Name 487 "samplerposition" - Name 493 "inUV" - Name 499 "normal" - Name 505 "samplerNormal" - Name 512 "albedo" - Name 518 "samplerAlbedo" - Name 546 "outFragColor" - Name 551 "param" - Name 554 "param" + Name 162 "dist" + Name 180 "samplerShadowMap" + Name 231 "texDim" + Name 243 "scale" + Name 250 "dx" + Name 264 "dy" + Name 276 "shadowFactor" + Name 282 "count" + Name 288 "range" + Name 295 "x" + Name 315 "y" + Name 348 "param" + Name 350 "param" + Name 352 "param" + Name 381 "i" + Name 399 "shadowClip" + Name 409 "Light" + MemberName 409(Light) 0 "position" + MemberName 409(Light) 1 "target" + MemberName 409(Light) 2 "color" + MemberName 409(Light) 3 "viewMatrix" + Name 422 "UBO" + MemberName 422(UBO) 0 "viewPos" + MemberName 422(UBO) 1 "lights" + MemberName 422(UBO) 2 "useShadows" + MemberName 422(UBO) 3 "debugDisplayTarget" + Name 435 "ubo" + Name 449 "shadowFactor" + Name 456 "param" + Name 458 "param" + Name 481 "fragPos" + Name 493 "samplerposition" + Name 499 "inUV" + Name 505 "normal" + Name 511 "samplerNormal" + Name 518 "albedo" + Name 524 "samplerAlbedo" + Name 552 "outFragColor" + Name 557 "param" + Name 560 "param" Name 636 "fragcolor" Name 646 "N" Name 654 "i" @@ -351,30 +351,30 @@ void main() Name 814 "spec" Name 861 "param" Name 866 "param" - Decorate 178(samplerShadowMap) Binding 5 - Decorate 178(samplerShadowMap) DescriptorSet 0 - MemberDecorate 405(Light) 0 Offset 0 - MemberDecorate 405(Light) 1 Offset 16 - MemberDecorate 405(Light) 2 Offset 32 - MemberDecorate 405(Light) 3 ColMajor - MemberDecorate 405(Light) 3 MatrixStride 16 - MemberDecorate 405(Light) 3 Offset 48 - Decorate 416 ArrayStride 112 - Decorate 418(UBO) Block - MemberDecorate 418(UBO) 0 Offset 0 - MemberDecorate 418(UBO) 1 Offset 16 - MemberDecorate 418(UBO) 2 Offset 352 - MemberDecorate 418(UBO) 3 Offset 356 - Decorate 431(ubo) Binding 4 - Decorate 431(ubo) DescriptorSet 0 - Decorate 487(samplerposition) Binding 1 - Decorate 487(samplerposition) DescriptorSet 0 - Decorate 493(inUV) Location 0 - Decorate 505(samplerNormal) Binding 2 - Decorate 505(samplerNormal) DescriptorSet 0 - Decorate 518(samplerAlbedo) Binding 3 - Decorate 518(samplerAlbedo) DescriptorSet 0 - Decorate 546(outFragColor) Location 0 + Decorate 180(samplerShadowMap) Binding 5 + Decorate 180(samplerShadowMap) DescriptorSet 0 + MemberDecorate 409(Light) 0 Offset 0 + MemberDecorate 409(Light) 1 Offset 16 + MemberDecorate 409(Light) 2 Offset 32 + MemberDecorate 409(Light) 3 ColMajor + MemberDecorate 409(Light) 3 MatrixStride 16 + MemberDecorate 409(Light) 3 Offset 48 + Decorate 420 ArrayStride 112 + Decorate 422(UBO) Block + MemberDecorate 422(UBO) 0 Offset 0 + MemberDecorate 422(UBO) 1 Offset 16 + MemberDecorate 422(UBO) 2 Offset 352 + MemberDecorate 422(UBO) 3 Offset 356 + Decorate 435(ubo) Binding 4 + Decorate 435(ubo) DescriptorSet 0 + Decorate 493(samplerposition) Binding 1 + Decorate 493(samplerposition) DescriptorSet 0 + Decorate 499(inUV) Location 0 + Decorate 511(samplerNormal) Binding 2 + Decorate 511(samplerNormal) DescriptorSet 0 + Decorate 524(samplerAlbedo) Binding 3 + Decorate 524(samplerAlbedo) DescriptorSet 0 + Decorate 552(outFragColor) Location 0 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -448,147 +448,150 @@ void main() 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 142 10 28 12 146: 7(int) Constant 65 148: 16(float) Constant 3212836864 - 163: 7(int) Constant 67 - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 162 18 41 163 12 40 20 - 167: TypeImage 16(float) 2D array sampled format:Unknown - 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 169 12 41 163 12 44 170 171 13 - 172: TypeSampledImage 167 - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 12 41 163 12 44 175 171 13 - 176: TypePointer UniformConstant 172 - 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 173 12 12 -178(samplerShadowMap): 176(ptr) Variable UniformConstant - 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 180 173 41 163 12 44 180 178(samplerShadowMap) 107 - 194: 7(int) Constant 68 - 196: 16(float) Constant 0 - 209: 16(float) Constant 1048576000 - 212: 7(int) Constant 70 - 219: 7(int) Constant 73 - 224: TypeVector 98(int) 2 - 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 28 - 226: TypePointer Function 224(ivec2) - 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 225 23 12 - 231: 7(int) Constant 78 - 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 230 225 41 231 12 65 20 - 236: TypeVector 98(int) 3 - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 13 - 243: 7(int) Constant 79 - 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 242 18 41 243 12 65 20 - 246: 16(float) Constant 1069547520 - 250: 7(int) Constant 80 - 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 18 41 250 12 65 20 - 255: TypePointer Function 98(int) - 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 23 12 - 264: 7(int) Constant 81 - 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 263 18 41 264 12 65 20 - 276: 7(int) Constant 83 - 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 275 18 41 276 12 65 20 - 282: 7(int) Constant 84 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 281 100 41 282 12 65 20 - 288: 7(int) Constant 85 - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 287 100 41 288 12 65 20 - 291: 98(int) Constant 1 - 295: 7(int) Constant 87 - 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 294 100 41 295 12 65 20 - 315: 7(int) Constant 89 - 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 314 100 41 315 12 65 20 - 336: 7(int) Constant 91 - 355: 7(int) Constant 92 - 369: 7(int) Constant 96 - 380: 7(int) Constant 100 - 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 379 100 41 380 12 85 20 - 393: 98(int) Constant 3 - 398: 7(int) Constant 102 - 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 397 21 41 398 12 85 20 - 402: TypeMatrix 19(fvec4) 4 - 404: 141(bool) ConstantTrue - 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 404 - 405(Light): TypeStruct 19(fvec4) 19(fvec4) 19(fvec4) 402 - 408: 7(int) Constant 47 - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 - 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 - 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 - 413: 7(int) Constant 48 - 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 412 403 41 413 23 12 12 13 - 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 415 45 41 398 12 44 415 12 13 406 409 410 411 - 416: TypeArray 405(Light) 13 - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 414 13 - 418(UBO): TypeStruct 19(fvec4) 416 98(int) 98(int) - 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 - 422: 7(int) Constant 54 - 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 421 417 41 422 107 12 12 13 - 425: 7(int) Constant 56 - 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 424 100 41 425 11 12 12 13 - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 424 100 41 425 11 12 12 13 - 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 428 45 41 398 12 44 428 12 13 419 420 423 426 - 429: TypePointer Uniform 418(UBO) - 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 427 28 12 - 431(ubo): 429(ptr) Variable Uniform - 432: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 433 427 41 398 12 44 433 431(ubo) 107 - 435: TypePointer Uniform 402 - 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 403 28 12 - 447: 7(int) Constant 106 - 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 275 18 41 447 12 85 20 - 458: 7(int) Constant 111 - 468: 7(int) Constant 113 - 478: 7(int) Constant 119 - 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 477 75 41 478 12 96 20 - 481: TypeImage 16(float) 2D sampled format:Unknown - 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 169 12 41 478 12 44 170 171 13 - 483: TypeSampledImage 481 - 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 12 41 478 12 44 175 171 13 - 485: TypePointer UniformConstant 483 - 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 484 12 12 -487(samplerposition): 485(ptr) Variable UniformConstant - 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 489 484 41 478 12 44 489 487(samplerposition) 107 - 491: TypePointer Input 27(fvec2) - 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 29 45 12 - 493(inUV): 491(ptr) Variable Input - 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 495 29 41 478 12 44 495 493(inUV) 107 - 502: 7(int) Constant 120 - 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 501 75 41 502 12 96 20 -505(samplerNormal): 485(ptr) Variable UniformConstant - 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 507 484 41 502 12 44 507 505(samplerNormal) 107 - 515: 7(int) Constant 121 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 514 21 41 515 12 96 20 -518(samplerAlbedo): 485(ptr) Variable UniformConstant - 519: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 520 484 41 515 12 44 520 518(samplerAlbedo) 107 - 524: TypePointer Uniform 98(int) - 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 28 12 - 528: 7(int) Constant 124 - 536: 7(int) Constant 125 - 544: TypePointer Output 19(fvec4) - 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 -546(outFragColor): 544(ptr) Variable Output - 549: 7(int) Constant 127 - 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 548 21 41 549 12 44 548 546(outFragColor) 107 - 550: 74(fvec3) ConstantComposite 117 117 117 - 557: TypePointer Output 16(float) - 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 - 566: 7(int) Constant 128 - 572: 7(int) Constant 130 - 580: 7(int) Constant 131 - 586: 7(int) Constant 133 - 594: 7(int) Constant 134 - 600: 7(int) Constant 136 - 609: 7(int) Constant 137 - 615: 7(int) Constant 139 - 624: 7(int) Constant 140 - 631: 7(int) Constant 142 - 633: 7(int) Constant 143 + 165: 7(int) Constant 67 + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 18 41 165 12 40 20 + 169: TypeImage 16(float) 2D array sampled format:Unknown + 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 12 41 165 12 44 172 173 13 + 174: TypeSampledImage 169 + 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 176 12 41 165 12 44 177 173 13 + 178: TypePointer UniformConstant 174 + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 175 12 12 +180(samplerShadowMap): 178(ptr) Variable UniformConstant + 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 182 175 41 165 12 44 182 180(samplerShadowMap) 107 + 196: 7(int) Constant 68 + 198: 16(float) Constant 0 + 213: 16(float) Constant 1048576000 + 216: 7(int) Constant 70 + 220: 7(int) Constant 73 + 225: 7(int) Constant 74 + 227: TypeVector 98(int) 2 + 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 28 + 229: TypePointer Function 227(ivec2) + 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 228 23 12 + 234: 7(int) Constant 78 + 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 233 228 41 234 12 65 20 + 239: TypeVector 98(int) 3 + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 13 + 246: 7(int) Constant 79 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 245 18 41 246 12 65 20 + 249: 16(float) Constant 1069547520 + 253: 7(int) Constant 80 + 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 252 18 41 253 12 65 20 + 258: TypePointer Function 98(int) + 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 23 12 + 267: 7(int) Constant 81 + 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 266 18 41 267 12 65 20 + 279: 7(int) Constant 83 + 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 278 18 41 279 12 65 20 + 285: 7(int) Constant 84 + 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 284 100 41 285 12 65 20 + 291: 7(int) Constant 85 + 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 290 100 41 291 12 65 20 + 294: 98(int) Constant 1 + 298: 7(int) Constant 87 + 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 297 100 41 298 12 65 20 + 318: 7(int) Constant 89 + 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 317 100 41 318 12 65 20 + 339: 7(int) Constant 91 + 358: 7(int) Constant 92 + 371: 7(int) Constant 96 + 379: 7(int) Constant 97 + 384: 7(int) Constant 100 + 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 383 100 41 384 12 85 20 + 397: 98(int) Constant 3 + 402: 7(int) Constant 102 + 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 401 21 41 402 12 85 20 + 406: TypeMatrix 19(fvec4) 4 + 408: 141(bool) ConstantTrue + 407: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 408 + 409(Light): TypeStruct 19(fvec4) 19(fvec4) 19(fvec4) 406 + 412: 7(int) Constant 47 + 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 411 21 41 412 23 12 12 13 + 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 411 21 41 412 23 12 12 13 + 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 411 21 41 412 23 12 12 13 + 417: 7(int) Constant 48 + 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 416 407 41 417 23 12 12 13 + 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 419 45 41 402 12 44 419 12 13 410 413 414 415 + 420: TypeArray 409(Light) 13 + 421: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 418 13 + 422(UBO): TypeStruct 19(fvec4) 420 98(int) 98(int) + 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 411 21 41 412 23 12 12 13 + 426: 7(int) Constant 54 + 424: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 425 421 41 426 107 12 12 13 + 429: 7(int) Constant 56 + 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 428 100 41 429 11 12 12 13 + 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 428 100 41 429 11 12 12 13 + 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 432 45 41 402 12 44 432 12 13 423 424 427 430 + 433: TypePointer Uniform 422(UBO) + 434: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 431 28 12 + 435(ubo): 433(ptr) Variable Uniform + 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 437 431 41 402 12 44 437 435(ubo) 107 + 439: TypePointer Uniform 406 + 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 407 28 12 + 451: 7(int) Constant 106 + 450: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 278 18 41 451 12 85 20 + 462: 7(int) Constant 111 + 472: 7(int) Constant 113 + 477: 7(int) Constant 114 + 484: 7(int) Constant 119 + 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 483 75 41 484 12 96 20 + 487: TypeImage 16(float) 2D sampled format:Unknown + 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 12 41 484 12 44 172 173 13 + 489: TypeSampledImage 487 + 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 176 12 41 484 12 44 177 173 13 + 491: TypePointer UniformConstant 489 + 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 490 12 12 +493(samplerposition): 491(ptr) Variable UniformConstant + 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 495 490 41 484 12 44 495 493(samplerposition) 107 + 497: TypePointer Input 27(fvec2) + 498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 29 45 12 + 499(inUV): 497(ptr) Variable Input + 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 501 29 41 484 12 44 501 499(inUV) 107 + 508: 7(int) Constant 120 + 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 507 75 41 508 12 96 20 +511(samplerNormal): 491(ptr) Variable UniformConstant + 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 513 490 41 508 12 44 513 511(samplerNormal) 107 + 521: 7(int) Constant 121 + 519: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 520 21 41 521 12 96 20 +524(samplerAlbedo): 491(ptr) Variable UniformConstant + 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 526 490 41 521 12 44 526 524(samplerAlbedo) 107 + 530: TypePointer Uniform 98(int) + 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 28 12 + 534: 7(int) Constant 124 + 542: 7(int) Constant 125 + 550: TypePointer Output 19(fvec4) + 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 +552(outFragColor): 550(ptr) Variable Output + 555: 7(int) Constant 127 + 553: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 554 21 41 555 12 44 554 552(outFragColor) 107 + 556: 74(fvec3) ConstantComposite 117 117 117 + 563: TypePointer Output 16(float) + 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 + 572: 7(int) Constant 128 + 577: 7(int) Constant 130 + 585: 7(int) Constant 131 + 590: 7(int) Constant 133 + 598: 7(int) Constant 134 + 603: 7(int) Constant 136 + 612: 7(int) Constant 137 + 617: 7(int) Constant 139 + 626: 7(int) Constant 140 + 632: 7(int) Constant 142 + 634: 7(int) Constant 143 638: 7(int) Constant 147 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 41 638 12 96 20 644: 16(float) Constant 1036831949 649: 7(int) Constant 149 647: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 648 75 41 649 12 96 20 656: 7(int) Constant 151 - 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 379 100 41 656 12 96 20 + 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 383 100 41 656 12 96 20 673: 7(int) Constant 154 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 672 75 41 673 12 96 20 678: TypePointer Uniform 19(fvec4) 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 28 12 687: 7(int) Constant 156 - 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 162 18 41 687 12 96 20 + 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 18 41 687 12 96 20 694: 7(int) Constant 157 699: 7(int) Constant 160 697: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 698 75 41 699 12 96 20 @@ -627,16 +630,17 @@ void main() 856: 7(int) Constant 188 865: 7(int) Constant 190 872: 7(int) Constant 193 + 878: 7(int) Constant 194 14(main): 4 Function None 5 15: Label - 475(fragPos): 76(ptr) Variable Function - 499(normal): 76(ptr) Variable Function - 512(albedo): 22(ptr) Variable Function - 551(param): 76(ptr) Variable Function - 554(param): 76(ptr) Variable Function + 481(fragPos): 76(ptr) Variable Function + 505(normal): 76(ptr) Variable Function + 518(albedo): 22(ptr) Variable Function + 557(param): 76(ptr) Variable Function + 560(param): 76(ptr) Variable Function 636(fragcolor): 76(ptr) Variable Function 646(N): 76(ptr) Variable Function - 654(i): 255(ptr) Variable Function + 654(i): 258(ptr) Variable Function 670(L): 76(ptr) Variable Function 685(dist): 25(ptr) Variable Function 696(V): 76(ptr) Variable Function @@ -657,145 +661,145 @@ void main() 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 110: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 106 106 12 12 Store 103(global_var) 108 - 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 97 97 12 12 - 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 96 14(main) - 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 478 478 12 12 - 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 476 475(fragPos) 49 - 490: 483 Load 487(samplerposition) - 496: 27(fvec2) Load 493(inUV) - 497: 19(fvec4) ImageSampleImplicitLod 490 496 - 498: 74(fvec3) VectorShuffle 497 497 0 1 2 - Store 475(fragPos) 498 - 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 502 502 12 12 - 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 500 499(normal) 49 - 508: 483 Load 505(samplerNormal) - 509: 27(fvec2) Load 493(inUV) - 510: 19(fvec4) ImageSampleImplicitLod 508 509 - 511: 74(fvec3) VectorShuffle 510 510 0 1 2 - Store 499(normal) 511 - 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 515 515 12 12 - 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 513 512(albedo) 49 - 521: 483 Load 518(samplerAlbedo) - 522: 27(fvec2) Load 493(inUV) - 523: 19(fvec4) ImageSampleImplicitLod 521 522 - Store 512(albedo) 523 - 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 528 528 12 12 - 526: 524(ptr) AccessChain 431(ubo) 393 - 529: 98(int) Load 526 - 530: 141(bool) SGreaterThan 529 108 - SelectionMerge 532 None - BranchConditional 530 531 532 - 531: Label - 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 536 536 12 12 - 533: 524(ptr) AccessChain 431(ubo) 393 - 537: 98(int) Load 533 - SelectionMerge 543 None - Switch 537 543 - case 1: 538 - case 2: 539 - case 3: 540 - case 4: 541 - case 5: 542 - 538: Label - 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 553: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 549 549 12 12 - Store 551(param) 550 - 555: 74(fvec3) Load 475(fragPos) - Store 554(param) 555 - 556: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 551(param) 554(param) - 559: 557(ptr) AccessChain 546(outFragColor) 12 - 560: 16(float) CompositeExtract 556 0 - Store 559 560 - 561: 557(ptr) AccessChain 546(outFragColor) 45 - 562: 16(float) CompositeExtract 556 1 - Store 561 562 - 563: 557(ptr) AccessChain 546(outFragColor) 28 - 564: 16(float) CompositeExtract 556 2 - Store 563 564 - 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 566 566 12 12 - Branch 543 - 539: Label - 570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 97 97 12 12 + 478: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 96 14(main) + 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 484 484 12 12 + 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 482 481(fragPos) 49 + 496: 489 Load 493(samplerposition) + 502: 27(fvec2) Load 499(inUV) + 503: 19(fvec4) ImageSampleImplicitLod 496 502 + 504: 74(fvec3) VectorShuffle 503 503 0 1 2 + Store 481(fragPos) 504 + 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 508 508 12 12 + 509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 506 505(normal) 49 + 514: 489 Load 511(samplerNormal) + 515: 27(fvec2) Load 499(inUV) + 516: 19(fvec4) ImageSampleImplicitLod 514 515 + 517: 74(fvec3) VectorShuffle 516 516 0 1 2 + Store 505(normal) 517 + 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 521 521 12 12 + 522: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 519 518(albedo) 49 + 527: 489 Load 524(samplerAlbedo) + 528: 27(fvec2) Load 499(inUV) + 529: 19(fvec4) ImageSampleImplicitLod 527 528 + Store 518(albedo) 529 + 533: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 534 534 12 12 + 532: 530(ptr) AccessChain 435(ubo) 397 + 535: 98(int) Load 532 + 536: 141(bool) SGreaterThan 535 108 + SelectionMerge 538 None + BranchConditional 536 537 538 + 537: Label + 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 542 542 12 12 + 539: 530(ptr) AccessChain 435(ubo) 397 + 543: 98(int) Load 539 + SelectionMerge 549 None + Switch 543 549 + case 1: 544 + case 2: 545 + case 3: 546 + case 4: 547 + case 5: 548 + 544: Label + 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 555 555 12 12 + Store 557(param) 556 + 561: 74(fvec3) Load 481(fragPos) + Store 560(param) 561 + 562: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 557(param) 560(param) + 565: 563(ptr) AccessChain 552(outFragColor) 12 + 566: 16(float) CompositeExtract 562 0 + Store 565 566 + 567: 563(ptr) AccessChain 552(outFragColor) 45 + 568: 16(float) CompositeExtract 562 1 + Store 567 568 + 569: 563(ptr) AccessChain 552(outFragColor) 28 + 570: 16(float) CompositeExtract 562 2 + Store 569 570 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 572 572 12 12 - 569: 74(fvec3) Load 475(fragPos) - 573: 557(ptr) AccessChain 546(outFragColor) 12 - 574: 16(float) CompositeExtract 569 0 - Store 573 574 - 575: 557(ptr) AccessChain 546(outFragColor) 45 - 576: 16(float) CompositeExtract 569 1 - Store 575 576 - 577: 557(ptr) AccessChain 546(outFragColor) 28 - 578: 16(float) CompositeExtract 569 2 - Store 577 578 - 579: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 580 580 12 12 - Branch 543 - 540: Label - 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 585: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 586 586 12 12 - 583: 74(fvec3) Load 499(normal) - 587: 557(ptr) AccessChain 546(outFragColor) 12 - 588: 16(float) CompositeExtract 583 0 - Store 587 588 - 589: 557(ptr) AccessChain 546(outFragColor) 45 - 590: 16(float) CompositeExtract 583 1 - Store 589 590 - 591: 557(ptr) AccessChain 546(outFragColor) 28 - 592: 16(float) CompositeExtract 583 2 + Branch 549 + 545: Label + 575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 577 577 12 12 + 574: 74(fvec3) Load 481(fragPos) + 578: 563(ptr) AccessChain 552(outFragColor) 12 + 579: 16(float) CompositeExtract 574 0 + Store 578 579 + 580: 563(ptr) AccessChain 552(outFragColor) 45 + 581: 16(float) CompositeExtract 574 1 + Store 580 581 + 582: 563(ptr) AccessChain 552(outFragColor) 28 + 583: 16(float) CompositeExtract 574 2 + Store 582 583 + 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 585 585 12 12 + Branch 549 + 546: Label + 588: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 589: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 590 590 12 12 + 587: 74(fvec3) Load 505(normal) + 591: 563(ptr) AccessChain 552(outFragColor) 12 + 592: 16(float) CompositeExtract 587 0 Store 591 592 - 593: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 594 594 12 12 - Branch 543 - 541: Label - 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 599: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 600 600 12 12 - 597: 19(fvec4) Load 512(albedo) - 601: 74(fvec3) VectorShuffle 597 597 0 1 2 - 602: 557(ptr) AccessChain 546(outFragColor) 12 - 603: 16(float) CompositeExtract 601 0 - Store 602 603 - 604: 557(ptr) AccessChain 546(outFragColor) 45 - 605: 16(float) CompositeExtract 601 1 - Store 604 605 - 606: 557(ptr) AccessChain 546(outFragColor) 28 - 607: 16(float) CompositeExtract 601 2 - Store 606 607 - 608: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 609 609 12 12 - Branch 543 - 542: Label - 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 614: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 615 615 12 12 - 612: 19(fvec4) Load 512(albedo) - 616: 74(fvec3) VectorShuffle 612 612 3 3 3 - 617: 557(ptr) AccessChain 546(outFragColor) 12 - 618: 16(float) CompositeExtract 616 0 - Store 617 618 - 619: 557(ptr) AccessChain 546(outFragColor) 45 - 620: 16(float) CompositeExtract 616 1 + 593: 563(ptr) AccessChain 552(outFragColor) 45 + 594: 16(float) CompositeExtract 587 1 + Store 593 594 + 595: 563(ptr) AccessChain 552(outFragColor) 28 + 596: 16(float) CompositeExtract 587 2 + Store 595 596 + 597: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 598 598 12 12 + Branch 549 + 547: Label + 601: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 602: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 603 603 12 12 + 600: 19(fvec4) Load 518(albedo) + 604: 74(fvec3) VectorShuffle 600 600 0 1 2 + 605: 563(ptr) AccessChain 552(outFragColor) 12 + 606: 16(float) CompositeExtract 604 0 + Store 605 606 + 607: 563(ptr) AccessChain 552(outFragColor) 45 + 608: 16(float) CompositeExtract 604 1 + Store 607 608 + 609: 563(ptr) AccessChain 552(outFragColor) 28 + 610: 16(float) CompositeExtract 604 2 + Store 609 610 + 611: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 612 612 12 12 + Branch 549 + 548: Label + 615: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 616: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 617 617 12 12 + 614: 19(fvec4) Load 518(albedo) + 618: 74(fvec3) VectorShuffle 614 614 3 3 3 + 619: 563(ptr) AccessChain 552(outFragColor) 12 + 620: 16(float) CompositeExtract 618 0 Store 619 620 - 621: 557(ptr) AccessChain 546(outFragColor) 28 - 622: 16(float) CompositeExtract 616 2 + 621: 563(ptr) AccessChain 552(outFragColor) 45 + 622: 16(float) CompositeExtract 618 1 Store 621 622 - 623: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 624 624 12 12 - Branch 543 - 543: Label - 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 630: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 631 631 12 12 - 628: 557(ptr) AccessChain 546(outFragColor) 13 - Store 628 117 - 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 633 633 12 12 + 623: 563(ptr) AccessChain 552(outFragColor) 28 + 624: 16(float) CompositeExtract 618 2 + Store 623 624 + 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 626 626 12 12 + Branch 549 + 549: Label + 630: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 631: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 632 632 12 12 + 629: 563(ptr) AccessChain 552(outFragColor) 13 + Store 629 117 + 633: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 634 634 12 12 Return - 532: Label + 538: Label 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 641: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 638 638 12 12 639: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 637 636(fragcolor) 49 - 642: 19(fvec4) Load 512(albedo) + 642: 19(fvec4) Load 518(albedo) 643: 74(fvec3) VectorShuffle 642 642 0 1 2 645: 74(fvec3) VectorTimesScalar 643 644 Store 636(fragcolor) 645 651: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 649 649 12 12 650: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 647 646(N) 49 - 652: 74(fvec3) Load 499(normal) + 652: 74(fvec3) Load 505(normal) 653: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 652 Store 646(N) 653 658: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 @@ -811,17 +815,17 @@ void main() 667: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 668: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 666: 98(int) Load 654(i) - 669: 141(bool) SLessThan 666 393 + 669: 141(bool) SLessThan 666 397 BranchConditional 669 660 661 660: Label 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 673 673 12 12 674: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 671 670(L) 49 677: 98(int) Load 654(i) - 680: 678(ptr) AccessChain 431(ubo) 291 677 108 + 680: 678(ptr) AccessChain 435(ubo) 294 677 108 681: 19(fvec4) Load 680 682: 74(fvec3) VectorShuffle 681 681 0 1 2 - 683: 74(fvec3) Load 475(fragPos) + 683: 74(fvec3) Load 481(fragPos) 684: 74(fvec3) FSub 682 683 Store 670(L) 684 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 687 687 12 12 @@ -835,10 +839,10 @@ void main() Store 670(L) 695 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 699 699 12 12 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 697 696(V) 49 - 702: 678(ptr) AccessChain 431(ubo) 108 + 702: 678(ptr) AccessChain 435(ubo) 108 703: 19(fvec4) Load 702 704: 74(fvec3) VectorShuffle 703 703 0 1 2 - 705: 74(fvec3) Load 475(fragPos) + 705: 74(fvec3) Load 481(fragPos) 706: 74(fvec3) FSub 704 705 Store 696(V) 706 708: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 709 709 12 12 @@ -857,11 +861,11 @@ void main() 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 735 735 12 12 736: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 733 732(dir) 49 738: 98(int) Load 654(i) - 739: 678(ptr) AccessChain 431(ubo) 291 738 108 + 739: 678(ptr) AccessChain 435(ubo) 294 738 108 740: 19(fvec4) Load 739 741: 74(fvec3) VectorShuffle 740 740 0 1 2 742: 98(int) Load 654(i) - 743: 678(ptr) AccessChain 431(ubo) 291 742 291 + 743: 678(ptr) AccessChain 435(ubo) 294 742 294 744: 19(fvec4) Load 743 745: 74(fvec3) VectorShuffle 744 744 0 1 2 746: 74(fvec3) FSub 741 745 @@ -884,14 +888,14 @@ void main() 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 768 767(heightAttenuation) 49 773: 16(float) Load 725(lightRange) 774: 16(float) Load 685(dist) - 775: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 773 196 774 + 775: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 773 198 774 Store 767(heightAttenuation) 775 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 779 779 12 12 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 777 776(NdotL) 49 782: 74(fvec3) Load 646(N) 783: 74(fvec3) Load 670(L) 784: 16(float) Dot 782 783 - 785: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 196 784 + 785: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 198 784 Store 776(NdotL) 785 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 789 789 12 12 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 787 786(diff) 49 @@ -910,13 +914,13 @@ void main() 810: 74(fvec3) Load 794(R) 811: 74(fvec3) Load 696(V) 812: 16(float) Dot 810 811 - 813: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 196 812 + 813: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 198 812 Store 804(NdotR) 813 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 817 817 12 12 818: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 815 814(spec) 49 820: 16(float) Load 804(NdotR) 822: 16(float) ExtInst 3(GLSL.std.450) 26(Pow) 820 821 - 823: 25(ptr) AccessChain 512(albedo) 13 + 823: 25(ptr) AccessChain 518(albedo) 13 824: 16(float) Load 823 825: 16(float) FMul 822 824 827: 16(float) FMul 825 826 @@ -931,11 +935,11 @@ void main() 836: 16(float) Load 767(heightAttenuation) 837: 74(fvec3) VectorTimesScalar 835 836 838: 98(int) Load 654(i) - 840: 678(ptr) AccessChain 431(ubo) 291 838 839 + 840: 678(ptr) AccessChain 435(ubo) 294 838 839 841: 19(fvec4) Load 840 842: 74(fvec3) VectorShuffle 841 841 0 1 2 843: 74(fvec3) FMul 837 842 - 844: 19(fvec4) Load 512(albedo) + 844: 19(fvec4) Load 518(albedo) 845: 74(fvec3) VectorShuffle 844 844 0 1 2 846: 74(fvec3) FMul 843 845 847: 74(fvec3) Load 636(fragcolor) @@ -946,13 +950,13 @@ void main() 850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 851: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 849: 98(int) Load 654(i) - 852: 98(int) IAdd 849 291 + 852: 98(int) IAdd 849 294 Store 654(i) 852 Branch 659 661: Label 854: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 856 856 12 12 - 853: 524(ptr) AccessChain 431(ubo) 839 + 853: 530(ptr) AccessChain 435(ubo) 839 857: 98(int) Load 853 858: 141(bool) SGreaterThan 857 108 SelectionMerge 860 None @@ -962,7 +966,7 @@ void main() 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 865 865 12 12 862: 74(fvec3) Load 636(fragcolor) Store 861(param) 862 - 867: 74(fvec3) Load 475(fragPos) + 867: 74(fvec3) Load 481(fragPos) Store 866(param) 867 868: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 861(param) 866(param) Store 636(fragcolor) 868 @@ -975,7 +979,8 @@ void main() 874: 16(float) CompositeExtract 869 1 875: 16(float) CompositeExtract 869 2 876: 19(fvec4) CompositeConstruct 873 874 875 117 - Store 546(outFragColor) 876 + Store 552(outFragColor) 876 + 877: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 878 878 12 12 Return FunctionEnd 37(textureProj(vf4;f1;vf2;): 16(float) Function None 32 @@ -985,7 +990,7 @@ void main() 38: Label 112(shadow): 25(ptr) Variable Function 118(shadowCoord): 22(ptr) Variable Function - 160(dist): 25(ptr) Variable Function + 162(dist): 25(ptr) Variable Function 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 43 43 12 12 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 34(P) 49 @@ -1030,274 +1035,274 @@ void main() Branch 151 151: Label 157: 141(bool) Phi 149 38 156 150 - 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 146 146 12 12 SelectionMerge 159 None BranchConditional 157 158 159 158: Label - 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 163 163 12 12 - 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 161 160(dist) 49 - 181: 172 Load 178(samplerShadowMap) - 182: 19(fvec4) Load 118(shadowCoord) - 183: 27(fvec2) VectorShuffle 182 182 0 1 - 184: 27(fvec2) Load 36(offset) - 185: 27(fvec2) FAdd 183 184 - 186: 16(float) Load 35(layer) - 187: 16(float) CompositeExtract 185 0 - 188: 16(float) CompositeExtract 185 1 - 189: 74(fvec3) CompositeConstruct 187 188 186 - 190: 19(fvec4) ImageSampleImplicitLod 181 189 - 191: 16(float) CompositeExtract 190 0 - Store 160(dist) 191 - 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 194 194 12 12 - 192: 25(ptr) AccessChain 118(shadowCoord) 13 - 195: 16(float) Load 192 - 197: 141(bool) FOrdGreaterThan 195 196 - SelectionMerge 199 None - BranchConditional 197 198 199 - 198: Label - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 194 194 12 12 - 200: 16(float) Load 160(dist) - 203: 25(ptr) AccessChain 118(shadowCoord) 28 - 204: 16(float) Load 203 - 205: 141(bool) FOrdLessThan 200 204 - Branch 199 - 199: Label - 206: 141(bool) Phi 197 158 205 198 - 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - SelectionMerge 208 None - BranchConditional 206 207 208 - 207: Label - 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 212 212 12 12 - Store 112(shadow) 209 - Branch 208 - 208: Label - 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 165 165 12 12 + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 163 162(dist) 49 + 183: 174 Load 180(samplerShadowMap) + 184: 19(fvec4) Load 118(shadowCoord) + 185: 27(fvec2) VectorShuffle 184 184 0 1 + 186: 27(fvec2) Load 36(offset) + 187: 27(fvec2) FAdd 185 186 + 188: 16(float) Load 35(layer) + 189: 16(float) CompositeExtract 187 0 + 190: 16(float) CompositeExtract 187 1 + 191: 74(fvec3) CompositeConstruct 189 190 188 + 192: 19(fvec4) ImageSampleImplicitLod 183 191 + 193: 16(float) CompositeExtract 192 0 + Store 162(dist) 193 + 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 196 196 12 12 + 194: 25(ptr) AccessChain 118(shadowCoord) 13 + 197: 16(float) Load 194 + 199: 141(bool) FOrdGreaterThan 197 198 + SelectionMerge 201 None + BranchConditional 199 200 201 + 200: Label + 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 196 196 12 12 + 202: 16(float) Load 162(dist) + 205: 25(ptr) AccessChain 118(shadowCoord) 28 + 206: 16(float) Load 205 + 207: 141(bool) FOrdLessThan 202 206 + Branch 201 + 201: Label + 208: 141(bool) Phi 199 158 207 200 + 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 196 196 12 12 + SelectionMerge 210 None + BranchConditional 208 209 210 + 209: Label + 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 216 216 12 12 + Store 112(shadow) 213 + Branch 210 + 210: Label Branch 159 159: Label - 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 219 219 12 12 - 216: 16(float) Load 112(shadow) - ReturnValue 216 + 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 220 220 12 12 + 217: 16(float) Load 112(shadow) + ReturnValue 217 FunctionEnd 62(filterPCF(vf4;f1;): 16(float) Function None 58 60(sc): 22(ptr) FunctionParameter 61(layer): 25(ptr) FunctionParameter 63: Label - 228(texDim): 226(ptr) Variable Function - 240(scale): 25(ptr) Variable Function - 247(dx): 25(ptr) Variable Function - 261(dy): 25(ptr) Variable Function -273(shadowFactor): 25(ptr) Variable Function - 279(count): 255(ptr) Variable Function - 285(range): 255(ptr) Variable Function - 292(x): 255(ptr) Variable Function - 312(y): 255(ptr) Variable Function - 345(param): 22(ptr) Variable Function - 347(param): 25(ptr) Variable Function - 349(param): 30(ptr) Variable Function + 231(texDim): 229(ptr) Variable Function + 243(scale): 25(ptr) Variable Function + 250(dx): 25(ptr) Variable Function + 264(dy): 25(ptr) Variable Function +276(shadowFactor): 25(ptr) Variable Function + 282(count): 258(ptr) Variable Function + 288(range): 258(ptr) Variable Function + 295(x): 258(ptr) Variable Function + 315(y): 258(ptr) Variable Function + 348(param): 22(ptr) Variable Function + 350(param): 25(ptr) Variable Function + 352(param): 30(ptr) Variable Function 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 66 66 12 12 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 67 60(sc) 49 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 72 61(layer) 49 - 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) - 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 231 231 12 12 - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 229 228(texDim) 49 - 234: 172 Load 178(samplerShadowMap) - 235: 167 Image 234 - 238: 236(ivec3) ImageQuerySizeLod 235 108 - 239: 224(ivec2) VectorShuffle 238 238 0 1 - Store 228(texDim) 239 - 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 243 243 12 12 - 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 241 240(scale) 49 - Store 240(scale) 246 - 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 250 250 12 12 - 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(dx) 49 - 253: 16(float) Load 240(scale) - 254: 16(float) FMul 253 117 - 257: 255(ptr) AccessChain 228(texDim) 12 - 258: 98(int) Load 257 - 259: 16(float) ConvertSToF 258 - 260: 16(float) FDiv 254 259 - Store 247(dx) 260 - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 264 264 12 12 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(dy) 49 - 267: 16(float) Load 240(scale) - 268: 16(float) FMul 267 117 - 269: 255(ptr) AccessChain 228(texDim) 45 - 270: 98(int) Load 269 - 271: 16(float) ConvertSToF 270 - 272: 16(float) FDiv 268 271 - Store 261(dy) 272 - 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 276 276 12 12 - 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 274 273(shadowFactor) 49 - Store 273(shadowFactor) 196 - 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 282 282 12 12 - 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 280 279(count) 49 - Store 279(count) 108 - 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 288 288 12 12 - 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 286 285(range) 49 - Store 285(range) 291 - 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 - 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 293 292(x) 49 - 298: 98(int) Load 285(range) - 299: 98(int) SNegate 298 - Store 292(x) 299 - Branch 300 - 300: Label - 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 305: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 - LoopMerge 302 303 None - Branch 306 - 306: Label - 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 - 307: 98(int) Load 292(x) - 310: 98(int) Load 285(range) - 311: 141(bool) SLessThanEqual 307 310 - BranchConditional 311 301 302 - 301: Label - 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 315 315 12 12 - 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 313 312(y) 49 - 319: 98(int) Load 285(range) - 320: 98(int) SNegate 319 - Store 312(y) 320 - Branch 321 - 321: Label - 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 315 315 12 12 - LoopMerge 323 324 None - Branch 327 - 327: Label - 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 315 315 12 12 - 328: 98(int) Load 312(y) - 331: 98(int) Load 285(range) - 332: 141(bool) SLessThanEqual 328 331 - BranchConditional 332 322 323 - 322: Label - 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 336 336 12 12 - 333: 16(float) Load 247(dx) - 337: 98(int) Load 292(x) - 338: 16(float) ConvertSToF 337 - 339: 16(float) FMul 333 338 - 340: 16(float) Load 261(dy) - 341: 98(int) Load 312(y) - 342: 16(float) ConvertSToF 341 - 343: 16(float) FMul 340 342 - 344: 27(fvec2) CompositeConstruct 339 343 - 346: 19(fvec4) Load 60(sc) - Store 345(param) 346 - 348: 16(float) Load 61(layer) - Store 347(param) 348 - Store 349(param) 344 - 350: 16(float) FunctionCall 37(textureProj(vf4;f1;vf2;) 345(param) 347(param) 349(param) - 351: 16(float) Load 273(shadowFactor) - 352: 16(float) FAdd 351 350 - Store 273(shadowFactor) 352 - 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 355 355 12 12 - 353: 98(int) Load 279(count) - 356: 98(int) IAdd 353 291 - Store 279(count) 356 + 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 234 234 12 12 + 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 232 231(texDim) 49 + 237: 174 Load 180(samplerShadowMap) + 238: 169 Image 237 + 241: 239(ivec3) ImageQuerySizeLod 238 108 + 242: 227(ivec2) VectorShuffle 241 241 0 1 + Store 231(texDim) 242 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 246 246 12 12 + 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 244 243(scale) 49 + Store 243(scale) 249 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 253 253 12 12 + 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 251 250(dx) 49 + 256: 16(float) Load 243(scale) + 257: 16(float) FMul 256 117 + 260: 258(ptr) AccessChain 231(texDim) 12 + 261: 98(int) Load 260 + 262: 16(float) ConvertSToF 261 + 263: 16(float) FDiv 257 262 + Store 250(dx) 263 + 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 267 267 12 12 + 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 265 264(dy) 49 + 270: 16(float) Load 243(scale) + 271: 16(float) FMul 270 117 + 272: 258(ptr) AccessChain 231(texDim) 45 + 273: 98(int) Load 272 + 274: 16(float) ConvertSToF 273 + 275: 16(float) FDiv 271 274 + Store 264(dy) 275 + 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 279 279 12 12 + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 277 276(shadowFactor) 49 + Store 276(shadowFactor) 198 + 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 285 285 12 12 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 283 282(count) 49 + Store 282(count) 108 + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 291 291 12 12 + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 289 288(range) 49 + Store 288(range) 294 + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 298 298 12 12 + 299: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 296 295(x) 49 + 301: 98(int) Load 288(range) + 302: 98(int) SNegate 301 + Store 295(x) 302 + Branch 303 + 303: Label + 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 298 298 12 12 + LoopMerge 305 306 None + Branch 309 + 309: Label + 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 298 298 12 12 + 310: 98(int) Load 295(x) + 313: 98(int) Load 288(range) + 314: 141(bool) SLessThanEqual 310 313 + BranchConditional 314 304 305 + 304: Label + 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 318 318 12 12 + 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 316 315(y) 49 + 322: 98(int) Load 288(range) + 323: 98(int) SNegate 322 + Store 315(y) 323 + Branch 324 + 324: Label + 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 318 318 12 12 + LoopMerge 326 327 None + Branch 330 + 330: Label + 332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 318 318 12 12 + 331: 98(int) Load 315(y) + 334: 98(int) Load 288(range) + 335: 141(bool) SLessThanEqual 331 334 + BranchConditional 335 325 326 + 325: Label + 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 339 339 12 12 + 336: 16(float) Load 250(dx) + 340: 98(int) Load 295(x) + 341: 16(float) ConvertSToF 340 + 342: 16(float) FMul 336 341 + 343: 16(float) Load 264(dy) + 344: 98(int) Load 315(y) + 345: 16(float) ConvertSToF 344 + 346: 16(float) FMul 343 345 + 347: 27(fvec2) CompositeConstruct 342 346 + 349: 19(fvec4) Load 60(sc) + Store 348(param) 349 + 351: 16(float) Load 61(layer) + Store 350(param) 351 + Store 352(param) 347 + 353: 16(float) FunctionCall 37(textureProj(vf4;f1;vf2;) 348(param) 350(param) 352(param) + 354: 16(float) Load 276(shadowFactor) + 355: 16(float) FAdd 354 353 + Store 276(shadowFactor) 355 + 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 358 358 12 12 + 356: 98(int) Load 282(count) + 359: 98(int) IAdd 356 294 + Store 282(count) 359 + Branch 327 + 327: Label + 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 318 318 12 12 + 360: 98(int) Load 315(y) + 363: 98(int) IAdd 360 294 + Store 315(y) 363 Branch 324 - 324: Label - 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 315 315 12 12 - 357: 98(int) Load 312(y) - 360: 98(int) IAdd 357 291 - Store 312(y) 360 - Branch 321 - 323: Label - 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 326: Label + Branch 306 + 306: Label + 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 298 298 12 12 + 364: 98(int) Load 295(x) + 367: 98(int) IAdd 364 294 + Store 295(x) 367 Branch 303 - 303: Label - 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 - 362: 98(int) Load 292(x) - 365: 98(int) IAdd 362 291 - Store 292(x) 365 - Branch 300 - 302: Label - 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 369 369 12 12 - 366: 16(float) Load 273(shadowFactor) - 370: 98(int) Load 279(count) - 371: 16(float) ConvertSToF 370 - 372: 16(float) FDiv 366 371 - ReturnValue 372 + 305: Label + 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 371 371 12 12 + 368: 16(float) Load 276(shadowFactor) + 372: 98(int) Load 282(count) + 373: 16(float) ConvertSToF 372 + 374: 16(float) FDiv 368 373 + ReturnValue 374 FunctionEnd 82(shadow(vf3;vf3;): 74(fvec3) Function None 78 80(fragcolor): 76(ptr) FunctionParameter 81(fragpos): 76(ptr) FunctionParameter 83: Label - 377(i): 255(ptr) Variable Function - 395(shadowClip): 22(ptr) Variable Function -445(shadowFactor): 25(ptr) Variable Function - 452(param): 22(ptr) Variable Function - 454(param): 25(ptr) Variable Function + 381(i): 258(ptr) Variable Function + 399(shadowClip): 22(ptr) Variable Function +449(shadowFactor): 25(ptr) Variable Function + 456(param): 22(ptr) Variable Function + 458(param): 25(ptr) Variable Function 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 86 86 12 12 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 80(fragcolor) 49 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 81(fragpos) 49 - 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 378 377(i) 49 - Store 377(i) 108 - Branch 383 - 383: Label - 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - LoopMerge 385 386 None - Branch 389 - 389: Label + 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) + 386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 384 384 12 12 + 385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 382 381(i) 49 + Store 381(i) 108 + Branch 387 + 387: Label 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - 390: 98(int) Load 377(i) - 394: 141(bool) SLessThan 390 393 - BranchConditional 394 384 385 - 384: Label - 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 398 398 12 12 - 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 396 395(shadowClip) 49 - 434: 98(int) Load 377(i) - 437: 435(ptr) AccessChain 431(ubo) 291 434 393 - 438: 402 Load 437 - 439: 74(fvec3) Load 81(fragpos) - 440: 16(float) CompositeExtract 439 0 - 441: 16(float) CompositeExtract 439 1 - 442: 16(float) CompositeExtract 439 2 - 443: 19(fvec4) CompositeConstruct 440 441 442 117 - 444: 19(fvec4) MatrixTimesVector 438 443 - Store 395(shadowClip) 444 - 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 447 447 12 12 - 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 446 445(shadowFactor) 49 - 450: 98(int) Load 377(i) - 451: 16(float) ConvertSToF 450 - 453: 19(fvec4) Load 395(shadowClip) - Store 452(param) 453 - Store 454(param) 451 - 455: 16(float) FunctionCall 62(filterPCF(vf4;f1;) 452(param) 454(param) - Store 445(shadowFactor) 455 - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 458 458 12 12 - 456: 16(float) Load 445(shadowFactor) - 459: 74(fvec3) Load 80(fragcolor) - 460: 74(fvec3) VectorTimesScalar 459 456 - Store 80(fragcolor) 460 - Branch 386 - 386: Label - 462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 463: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - 461: 98(int) Load 377(i) - 464: 98(int) IAdd 461 291 - Store 377(i) 464 - Branch 383 - 385: Label - 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 467: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 468 468 12 12 - 465: 74(fvec3) Load 80(fragcolor) - ReturnValue 465 + 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 384 384 12 12 + LoopMerge 389 390 None + Branch 393 + 393: Label + 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 384 384 12 12 + 394: 98(int) Load 381(i) + 398: 141(bool) SLessThan 394 397 + BranchConditional 398 388 389 + 388: Label + 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 402 402 12 12 + 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 400 399(shadowClip) 49 + 438: 98(int) Load 381(i) + 441: 439(ptr) AccessChain 435(ubo) 294 438 397 + 442: 406 Load 441 + 443: 74(fvec3) Load 81(fragpos) + 444: 16(float) CompositeExtract 443 0 + 445: 16(float) CompositeExtract 443 1 + 446: 16(float) CompositeExtract 443 2 + 447: 19(fvec4) CompositeConstruct 444 445 446 117 + 448: 19(fvec4) MatrixTimesVector 442 447 + Store 399(shadowClip) 448 + 453: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 451 451 12 12 + 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 450 449(shadowFactor) 49 + 454: 98(int) Load 381(i) + 455: 16(float) ConvertSToF 454 + 457: 19(fvec4) Load 399(shadowClip) + Store 456(param) 457 + Store 458(param) 455 + 459: 16(float) FunctionCall 62(filterPCF(vf4;f1;) 456(param) 458(param) + Store 449(shadowFactor) 459 + 461: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 462 462 12 12 + 460: 16(float) Load 449(shadowFactor) + 463: 74(fvec3) Load 80(fragcolor) + 464: 74(fvec3) VectorTimesScalar 463 460 + Store 80(fragcolor) 464 + Branch 390 + 390: Label + 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 467: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 384 384 12 12 + 465: 98(int) Load 381(i) + 468: 98(int) IAdd 465 294 + Store 381(i) 468 + Branch 387 + 389: Label + 470: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 472 472 12 12 + 469: 74(fvec3) Load 80(fragcolor) + ReturnValue 469 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.geom.out b/Test/baseResults/spv.debuginfo.glsl.geom.out index 0a92146a..0f8ceab6 100644 --- a/Test/baseResults/spv.debuginfo.glsl.geom.out +++ b/Test/baseResults/spv.debuginfo.glsl.geom.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.geom // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 274 +// Id's are bound by 276 Capability Geometry Capability MultiViewport @@ -333,6 +333,7 @@ void main(void) 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 262 30 18 259 12 21 262 260(gl_PrimitiveIDIn) 68 266: 7(int) Constant 66 273: 7(int) Constant 68 + 275: 7(int) Constant 69 14(main): 4 Function None 5 15: Label 34(i): 31(ptr) Variable Function @@ -446,5 +447,6 @@ void main(void) 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 273 273 12 12 EndPrimitive + 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 275 275 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.tesc.out b/Test/baseResults/spv.debuginfo.glsl.tesc.out index 9a6a3c66..e81dff1f 100644 --- a/Test/baseResults/spv.debuginfo.glsl.tesc.out +++ b/Test/baseResults/spv.debuginfo.glsl.tesc.out @@ -1,14 +1,14 @@ spv.debuginfo.glsl.tesc // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 569 +// Id's are bound by 571 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationControl 14 "main" 260 265 294 383 399 516 532 542 557 + EntryPoint TessellationControl 14 "main" 262 267 296 385 401 516 532 542 557 ExecutionMode 14 OutputVertices 4 2: String "spv.debuginfo.glsl.tesc" 8: String "uint" @@ -180,22 +180,22 @@ void main() 126: String "int" 137: String "clip0" 158: String "clip1" - 237: String "pos" - 245: String "gl_Position" - 248: String "gl_PointSize" - 251: String "gl_CullDistance" - 255: String "gl_PerVertex" - 262: String "gl_in" - 267: String "gl_InvocationID" - 275: String "type.2d.image" - 277: String "@type.2d.image" - 281: String "type.sampled.image" - 282: String "@type.sampled.image" - 287: String "samplerHeight" - 296: String "inUV" - 315: String "i" - 385: String "gl_TessLevelInner" - 401: String "gl_TessLevelOuter" + 239: String "pos" + 247: String "gl_Position" + 250: String "gl_PointSize" + 253: String "gl_CullDistance" + 257: String "gl_PerVertex" + 264: String "gl_in" + 269: String "gl_InvocationID" + 277: String "type.2d.image" + 279: String "@type.2d.image" + 283: String "type.sampled.image" + 284: String "@type.sampled.image" + 289: String "samplerHeight" + 298: String "inUV" + 317: String "i" + 387: String "gl_TessLevelInner" + 403: String "gl_TessLevelOuter" 518: String "gl_out" 534: String "outNormal" 544: String "inNormal" @@ -220,27 +220,27 @@ void main() Name 122 "ubo" Name 135 "clip0" Name 156 "clip1" - Name 235 "pos" - Name 243 "gl_PerVertex" - MemberName 243(gl_PerVertex) 0 "gl_Position" - MemberName 243(gl_PerVertex) 1 "gl_PointSize" - MemberName 243(gl_PerVertex) 2 "gl_ClipDistance" - MemberName 243(gl_PerVertex) 3 "gl_CullDistance" - Name 260 "gl_in" - Name 265 "gl_InvocationID" - Name 285 "samplerHeight" - Name 294 "inUV" - Name 313 "i" - Name 383 "gl_TessLevelInner" - Name 399 "gl_TessLevelOuter" - Name 424 "param" - Name 430 "param" - Name 435 "param" - Name 440 "param" - Name 445 "param" - Name 450 "param" - Name 455 "param" - Name 460 "param" + Name 237 "pos" + Name 245 "gl_PerVertex" + MemberName 245(gl_PerVertex) 0 "gl_Position" + MemberName 245(gl_PerVertex) 1 "gl_PointSize" + MemberName 245(gl_PerVertex) 2 "gl_ClipDistance" + MemberName 245(gl_PerVertex) 3 "gl_CullDistance" + Name 262 "gl_in" + Name 267 "gl_InvocationID" + Name 287 "samplerHeight" + Name 296 "inUV" + Name 315 "i" + Name 385 "gl_TessLevelInner" + Name 401 "gl_TessLevelOuter" + Name 426 "param" + Name 432 "param" + Name 437 "param" + Name 442 "param" + Name 447 "param" + Name 452 "param" + Name 457 "param" + Name 462 "param" Name 503 "gl_PerVertex" MemberName 503(gl_PerVertex) 0 "gl_Position" MemberName 503(gl_PerVertex) 1 "gl_PointSize" @@ -266,19 +266,19 @@ void main() MemberDecorate 99(UBO) 7 Offset 256 Decorate 122(ubo) Binding 0 Decorate 122(ubo) DescriptorSet 0 - Decorate 243(gl_PerVertex) Block - MemberDecorate 243(gl_PerVertex) 0 BuiltIn Position - MemberDecorate 243(gl_PerVertex) 1 BuiltIn PointSize - MemberDecorate 243(gl_PerVertex) 2 BuiltIn ClipDistance - MemberDecorate 243(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 265(gl_InvocationID) BuiltIn InvocationId - Decorate 285(samplerHeight) Binding 1 - Decorate 285(samplerHeight) DescriptorSet 0 - Decorate 294(inUV) Location 1 - Decorate 383(gl_TessLevelInner) BuiltIn TessLevelInner - Decorate 383(gl_TessLevelInner) Patch - Decorate 399(gl_TessLevelOuter) BuiltIn TessLevelOuter - Decorate 399(gl_TessLevelOuter) Patch + Decorate 245(gl_PerVertex) Block + MemberDecorate 245(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 245(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 245(gl_PerVertex) 2 BuiltIn ClipDistance + MemberDecorate 245(gl_PerVertex) 3 BuiltIn CullDistance + Decorate 267(gl_InvocationID) BuiltIn InvocationId + Decorate 287(samplerHeight) Binding 1 + Decorate 287(samplerHeight) DescriptorSet 0 + Decorate 296(inUV) Location 1 + Decorate 385(gl_TessLevelInner) BuiltIn TessLevelInner + Decorate 385(gl_TessLevelInner) Patch + Decorate 401(gl_TessLevelOuter) BuiltIn TessLevelOuter + Decorate 401(gl_TessLevelOuter) Patch Decorate 503(gl_PerVertex) Block MemberDecorate 503(gl_PerVertex) 0 BuiltIn Position MemberDecorate 503(gl_PerVertex) 1 BuiltIn PointSize @@ -387,107 +387,109 @@ void main() 222: 125(int) Constant 5 226: 16(float) Constant 1065353216 227: 16(float) Constant 1115684864 - 238: 7(int) Constant 85 - 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 237 21 33 238 12 56 20 - 241: TypeArray 16(float) 37 - 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 37 -243(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 241 241 - 246: 7(int) Constant 1756 - 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 245 21 33 37 246 12 12 13 - 249: 7(int) Constant 1774 - 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 248 18 33 37 249 12 12 13 - 252: 7(int) Constant 1817 - 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 252 12 12 13 - 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 252 12 12 13 - 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 255 37 33 238 12 36 255 12 13 244 247 250 253 - 256: TypeArray 243(gl_PerVertex) 10 - 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 254 10 - 258: TypePointer Input 256 - 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 257 37 12 - 260(gl_in): 258(ptr) Variable Input - 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 262 257 33 238 12 36 262 260(gl_in) 112 - 263: TypePointer Input 125(int) - 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 37 12 -265(gl_InvocationID): 263(ptr) Variable Input - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 267 127 33 238 12 36 267 265(gl_InvocationID) 112 - 269: TypePointer Input 19(fvec4) - 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 37 12 - 273: TypeImage 16(float) 2D sampled format:Unknown - 276: 7(int) Constant 86 - 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 275 12 33 276 12 36 277 278 13 - 279: TypeSampledImage 273 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 281 12 33 276 12 36 282 278 13 - 283: TypePointer UniformConstant 279 - 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 280 12 12 -285(samplerHeight): 283(ptr) Variable UniformConstant - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 287 280 33 276 12 36 287 285(samplerHeight) 112 - 290: TypeArray 97(fvec2) 10 - 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 10 - 292: TypePointer Input 290 - 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 291 37 12 - 294(inUV): 292(ptr) Variable Input - 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 296 291 33 276 12 36 296 294(inUV) 112 - 297: TypePointer Input 97(fvec2) - 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 37 12 - 303: 125(int) Constant 4 - 311: TypePointer Function 125(int) - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 23 12 - 316: 7(int) Constant 89 - 314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 315 127 33 316 12 56 20 - 333: 7(int) Constant 90 - 334: 125(int) Constant 3 - 336: TypePointer Uniform 19(fvec4) - 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12 - 341: 16(float) Constant 1090519040 - 346: 48(bool) ConstantFalse - 349: 7(int) Constant 92 + 233: 7(int) Constant 77 + 240: 7(int) Constant 85 + 238: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 239 21 33 240 12 56 20 + 243: TypeArray 16(float) 37 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 37 +245(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243 + 248: 7(int) Constant 1756 + 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 248 12 12 13 + 251: 7(int) Constant 1774 + 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 251 12 12 13 + 254: 7(int) Constant 1817 + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 254 12 12 13 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 254 12 12 13 + 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 240 12 36 257 12 13 246 249 252 255 + 258: TypeArray 245(gl_PerVertex) 10 + 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 256 10 + 260: TypePointer Input 258 + 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 259 37 12 + 262(gl_in): 260(ptr) Variable Input + 263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 264 259 33 240 12 36 264 262(gl_in) 112 + 265: TypePointer Input 125(int) + 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 37 12 +267(gl_InvocationID): 265(ptr) Variable Input + 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 269 127 33 240 12 36 269 267(gl_InvocationID) 112 + 271: TypePointer Input 19(fvec4) + 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 37 12 + 275: TypeImage 16(float) 2D sampled format:Unknown + 278: 7(int) Constant 86 + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 277 12 33 278 12 36 279 280 13 + 281: TypeSampledImage 275 + 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 283 12 33 278 12 36 284 280 13 + 285: TypePointer UniformConstant 281 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 282 12 12 +287(samplerHeight): 285(ptr) Variable UniformConstant + 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 289 282 33 278 12 36 289 287(samplerHeight) 112 + 292: TypeArray 97(fvec2) 10 + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 10 + 294: TypePointer Input 292 + 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 293 37 12 + 296(inUV): 294(ptr) Variable Input + 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 298 293 33 278 12 36 298 296(inUV) 112 + 299: TypePointer Input 97(fvec2) + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 37 12 + 305: 125(int) Constant 4 + 313: TypePointer Function 125(int) + 314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 23 12 + 318: 7(int) Constant 89 + 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 317 127 33 318 12 56 20 + 335: 7(int) Constant 90 + 336: 125(int) Constant 3 + 338: TypePointer Uniform 19(fvec4) + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12 + 343: 16(float) Constant 1090519040 + 348: 48(bool) ConstantFalse + 351: 7(int) Constant 92 359: 7(int) Constant 95 - 368: 7(int) Constant 100 - 375: 7(int) Constant 102 - 379: TypeArray 16(float) 38 - 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38 - 381: TypePointer Output 379 - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 380 13 12 -383(gl_TessLevelInner): 381(ptr) Variable Output - 386: 7(int) Constant 104 - 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 385 380 33 386 12 36 385 383(gl_TessLevelInner) 112 - 387: TypePointer Output 16(float) - 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 - 394: 7(int) Constant 105 - 395: TypeArray 16(float) 20 - 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20 - 397: TypePointer Output 395 - 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 396 13 12 -399(gl_TessLevelOuter): 397(ptr) Variable Output - 402: 7(int) Constant 106 - 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 401 396 33 402 12 36 401 399(gl_TessLevelOuter) 112 - 407: 7(int) Constant 107 - 408: 125(int) Constant 2 - 411: 7(int) Constant 108 - 414: 7(int) Constant 109 - 419: 7(int) Constant 113 - 428: 7(int) Constant 115 - 438: 7(int) Constant 116 - 448: 7(int) Constant 117 - 458: 7(int) Constant 118 - 467: 7(int) Constant 119 - 475: 7(int) Constant 120 - 485: 7(int) Constant 126 - 488: 7(int) Constant 127 - 491: 7(int) Constant 128 - 494: 7(int) Constant 129 - 497: 7(int) Constant 130 - 500: 7(int) Constant 131 -503(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 241 241 + 364: 7(int) Constant 96 + 370: 7(int) Constant 100 + 377: 7(int) Constant 102 + 381: TypeArray 16(float) 38 + 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38 + 383: TypePointer Output 381 + 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 382 13 12 +385(gl_TessLevelInner): 383(ptr) Variable Output + 388: 7(int) Constant 104 + 386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 387 382 33 388 12 36 387 385(gl_TessLevelInner) 112 + 389: TypePointer Output 16(float) + 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 + 396: 7(int) Constant 105 + 397: TypeArray 16(float) 20 + 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20 + 399: TypePointer Output 397 + 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 398 13 12 +401(gl_TessLevelOuter): 399(ptr) Variable Output + 404: 7(int) Constant 106 + 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 403 398 33 404 12 36 403 401(gl_TessLevelOuter) 112 + 409: 7(int) Constant 107 + 410: 125(int) Constant 2 + 413: 7(int) Constant 108 + 416: 7(int) Constant 109 + 421: 7(int) Constant 113 + 430: 7(int) Constant 115 + 440: 7(int) Constant 116 + 450: 7(int) Constant 117 + 460: 7(int) Constant 118 + 469: 7(int) Constant 119 + 477: 7(int) Constant 120 + 487: 7(int) Constant 126 + 490: 7(int) Constant 127 + 493: 7(int) Constant 128 + 496: 7(int) Constant 129 + 499: 7(int) Constant 130 + 502: 7(int) Constant 131 +503(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243 505: 7(int) Constant 110 - 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 245 21 33 37 505 12 12 13 - 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 248 18 33 37 491 12 12 13 + 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 505 12 12 13 + 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 493 12 12 13 508: 7(int) Constant 171 - 507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 508 12 12 13 - 509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 508 12 12 13 + 507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 508 12 12 13 + 509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 508 12 12 13 511: 7(int) Constant 137 - 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 255 37 33 511 12 36 255 12 13 504 506 507 509 + 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 511 12 36 257 12 13 504 506 507 509 512: TypeArray 503(gl_PerVertex) 20 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 510 20 514: TypePointer Output 512 @@ -522,169 +524,169 @@ void main() 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 559 554 33 560 12 36 559 557(outUV) 112 566: TypePointer Output 97(fvec2) 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 13 12 + 570: 7(int) Constant 140 14(main): 4 Function None 5 15: Label - 424(param): 22(ptr) Variable Function - 430(param): 22(ptr) Variable Function - 435(param): 22(ptr) Variable Function - 440(param): 22(ptr) Variable Function - 445(param): 22(ptr) Variable Function - 450(param): 22(ptr) Variable Function - 455(param): 22(ptr) Variable Function - 460(param): 22(ptr) Variable Function - 364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12 - 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main) - 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 368 368 12 12 - 366: 125(int) Load 265(gl_InvocationID) - 369: 48(bool) IEqual 366 141 - SelectionMerge 371 None - BranchConditional 369 370 371 - 370: Label - 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 375 375 12 12 - 372: 48(bool) FunctionCall 53(frustumCheck() - 376: 48(bool) LogicalNot 372 - SelectionMerge 378 None - BranchConditional 376 377 415 - 377: Label - 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 386 386 12 12 - 389: 387(ptr) AccessChain 383(gl_TessLevelInner) 141 - Store 389 148 - 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 394 394 12 12 - 392: 387(ptr) AccessChain 383(gl_TessLevelInner) 128 - Store 392 148 - 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 402 402 12 12 - 403: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141 - Store 403 148 - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 407 407 12 12 - 405: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128 + 426(param): 22(ptr) Variable Function + 432(param): 22(ptr) Variable Function + 437(param): 22(ptr) Variable Function + 442(param): 22(ptr) Variable Function + 447(param): 22(ptr) Variable Function + 452(param): 22(ptr) Variable Function + 457(param): 22(ptr) Variable Function + 462(param): 22(ptr) Variable Function + 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12 + 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main) + 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 370 370 12 12 + 368: 125(int) Load 267(gl_InvocationID) + 371: 48(bool) IEqual 368 141 + SelectionMerge 373 None + BranchConditional 371 372 373 + 372: Label + 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 377 377 12 12 + 374: 48(bool) FunctionCall 53(frustumCheck() + 378: 48(bool) LogicalNot 374 + SelectionMerge 380 None + BranchConditional 378 379 417 + 379: Label + 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 388 388 12 12 + 391: 389(ptr) AccessChain 385(gl_TessLevelInner) 141 + Store 391 148 + 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 396 396 12 12 + 394: 389(ptr) AccessChain 385(gl_TessLevelInner) 128 + Store 394 148 + 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 404 404 12 12 + 405: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141 Store 405 148 - 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 411 411 12 12 - 409: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408 - Store 409 148 - 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 414 414 12 12 - 412: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334 - Store 412 148 - Branch 378 - 415: Label - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 419 419 12 12 - 416: 217(ptr) AccessChain 122(ubo) 222 - 420: 16(float) Load 416 - 421: 48(bool) FOrdGreaterThan 420 148 - SelectionMerge 423 None - BranchConditional 421 422 481 - 422: Label - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 428 428 12 12 - 425: 269(ptr) AccessChain 260(gl_in) 334 141 - 429: 19(fvec4) Load 425 - Store 424(param) 429 - 431: 269(ptr) AccessChain 260(gl_in) 141 141 - 432: 19(fvec4) Load 431 - Store 430(param) 432 - 433: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 424(param) 430(param) - 434: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141 - Store 434 433 - 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 438 438 12 12 - 436: 269(ptr) AccessChain 260(gl_in) 141 141 - 439: 19(fvec4) Load 436 - Store 435(param) 439 - 441: 269(ptr) AccessChain 260(gl_in) 128 141 - 442: 19(fvec4) Load 441 - Store 440(param) 442 - 443: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 435(param) 440(param) - 444: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128 - Store 444 443 - 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 448 448 12 12 - 446: 269(ptr) AccessChain 260(gl_in) 128 141 - 449: 19(fvec4) Load 446 - Store 445(param) 449 - 451: 269(ptr) AccessChain 260(gl_in) 408 141 - 452: 19(fvec4) Load 451 - Store 450(param) 452 - 453: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 445(param) 450(param) - 454: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408 - Store 454 453 - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 458 458 12 12 - 456: 269(ptr) AccessChain 260(gl_in) 408 141 - 459: 19(fvec4) Load 456 - Store 455(param) 459 - 461: 269(ptr) AccessChain 260(gl_in) 334 141 - 462: 19(fvec4) Load 461 - Store 460(param) 462 - 463: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 455(param) 460(param) - 464: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334 - Store 464 463 - 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 467 467 12 12 - 465: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141 - 468: 16(float) Load 465 - 469: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334 - 470: 16(float) Load 469 - 471: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 468 470 68 - 472: 387(ptr) AccessChain 383(gl_TessLevelInner) 141 - Store 472 471 - 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 475 475 12 12 - 473: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408 - 476: 16(float) Load 473 - 477: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128 - 478: 16(float) Load 477 - 479: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 476 478 68 - 480: 387(ptr) AccessChain 383(gl_TessLevelInner) 128 - Store 480 479 - Branch 423 - 481: Label - 483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 485 485 12 12 - 482: 387(ptr) AccessChain 383(gl_TessLevelInner) 141 - Store 482 226 - 487: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 488 488 12 12 - 486: 387(ptr) AccessChain 383(gl_TessLevelInner) 128 - Store 486 226 - 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 491 491 12 12 - 489: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141 - Store 489 226 - 493: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 494 494 12 12 - 492: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128 - Store 492 226 - 496: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 497 497 12 12 - 495: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408 - Store 495 226 - 499: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 500 500 12 12 - 498: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334 - Store 498 226 - Branch 423 - 423: Label - 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - Branch 378 - 378: Label - 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - Branch 371 - 371: Label + 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 409 409 12 12 + 407: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128 + Store 407 148 + 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 413 413 12 12 + 411: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410 + Store 411 148 + 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 416 416 12 12 + 414: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336 + Store 414 148 + Branch 380 + 417: Label + 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 421 421 12 12 + 418: 217(ptr) AccessChain 122(ubo) 222 + 422: 16(float) Load 418 + 423: 48(bool) FOrdGreaterThan 422 148 + SelectionMerge 425 None + BranchConditional 423 424 483 + 424: Label + 428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 430 430 12 12 + 427: 271(ptr) AccessChain 262(gl_in) 336 141 + 431: 19(fvec4) Load 427 + Store 426(param) 431 + 433: 271(ptr) AccessChain 262(gl_in) 141 141 + 434: 19(fvec4) Load 433 + Store 432(param) 434 + 435: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 426(param) 432(param) + 436: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141 + Store 436 435 + 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 440 440 12 12 + 438: 271(ptr) AccessChain 262(gl_in) 141 141 + 441: 19(fvec4) Load 438 + Store 437(param) 441 + 443: 271(ptr) AccessChain 262(gl_in) 128 141 + 444: 19(fvec4) Load 443 + Store 442(param) 444 + 445: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 437(param) 442(param) + 446: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128 + Store 446 445 + 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 450 450 12 12 + 448: 271(ptr) AccessChain 262(gl_in) 128 141 + 451: 19(fvec4) Load 448 + Store 447(param) 451 + 453: 271(ptr) AccessChain 262(gl_in) 410 141 + 454: 19(fvec4) Load 453 + Store 452(param) 454 + 455: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 447(param) 452(param) + 456: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410 + Store 456 455 + 459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 460 460 12 12 + 458: 271(ptr) AccessChain 262(gl_in) 410 141 + 461: 19(fvec4) Load 458 + Store 457(param) 461 + 463: 271(ptr) AccessChain 262(gl_in) 336 141 + 464: 19(fvec4) Load 463 + Store 462(param) 464 + 465: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 457(param) 462(param) + 466: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336 + Store 466 465 + 468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 469 469 12 12 + 467: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141 + 470: 16(float) Load 467 + 471: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336 + 472: 16(float) Load 471 + 473: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 470 472 68 + 474: 389(ptr) AccessChain 385(gl_TessLevelInner) 141 + Store 474 473 + 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 477 477 12 12 + 475: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410 + 478: 16(float) Load 475 + 479: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128 + 480: 16(float) Load 479 + 481: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 478 480 68 + 482: 389(ptr) AccessChain 385(gl_TessLevelInner) 128 + Store 482 481 + Branch 425 + 483: Label + 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 487 487 12 12 + 484: 389(ptr) AccessChain 385(gl_TessLevelInner) 141 + Store 484 226 + 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 490 490 12 12 + 488: 389(ptr) AccessChain 385(gl_TessLevelInner) 128 + Store 488 226 + 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 493 493 12 12 + 491: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141 + Store 491 226 + 495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 496 496 12 12 + 494: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128 + Store 494 226 + 498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 499 499 12 12 + 497: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410 + Store 497 226 + 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 502 502 12 12 + 500: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336 + Store 500 226 + Branch 425 + 425: Label + Branch 380 + 380: Label + Branch 373 + 373: Label 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 511 511 12 12 - 519: 125(int) Load 265(gl_InvocationID) - 522: 125(int) Load 265(gl_InvocationID) - 523: 269(ptr) AccessChain 260(gl_in) 522 141 + 519: 125(int) Load 267(gl_InvocationID) + 522: 125(int) Load 267(gl_InvocationID) + 523: 271(ptr) AccessChain 262(gl_in) 522 141 524: 19(fvec4) Load 523 527: 525(ptr) AccessChain 516(gl_out) 519 141 Store 527 524 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 535 535 12 12 - 536: 125(int) Load 265(gl_InvocationID) - 545: 125(int) Load 265(gl_InvocationID) + 536: 125(int) Load 267(gl_InvocationID) + 545: 125(int) Load 267(gl_InvocationID) 548: 546(ptr) AccessChain 542(inNormal) 545 549: 146(fvec3) Load 548 552: 550(ptr) AccessChain 532(outNormal) 536 Store 552 549 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 560 560 12 12 - 561: 125(int) Load 265(gl_InvocationID) - 563: 125(int) Load 265(gl_InvocationID) - 564: 297(ptr) AccessChain 294(inUV) 563 + 561: 125(int) Load 267(gl_InvocationID) + 563: 125(int) Load 267(gl_InvocationID) + 564: 299(ptr) AccessChain 296(inUV) 563 565: 97(fvec2) Load 564 568: 566(ptr) AccessChain 557(outUV) 561 Store 568 565 + 569: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 570 570 12 12 Return FunctionEnd 29(screenSpaceTessFactor(vf4;vf4;): 16(float) Function None 25 @@ -801,73 +803,72 @@ void main() FunctionEnd 53(frustumCheck(): 48(bool) Function None 51 54: Label - 235(pos): 22(ptr) Variable Function - 313(i): 311(ptr) Variable Function - 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 57 57 12 12 - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 56 53(frustumCheck() - 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 238 238 12 12 - 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 236 235(pos) 42 - 268: 125(int) Load 265(gl_InvocationID) - 271: 269(ptr) AccessChain 260(gl_in) 268 141 - 272: 19(fvec4) Load 271 - Store 235(pos) 272 - 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 276 276 12 12 - 288: 279 Load 285(samplerHeight) - 299: 297(ptr) AccessChain 294(inUV) 141 - 300: 97(fvec2) Load 299 - 301: 19(fvec4) ImageSampleExplicitLod 288 300 Lod 148 - 302: 16(float) CompositeExtract 301 0 - 304: 217(ptr) AccessChain 122(ubo) 303 - 305: 16(float) Load 304 - 306: 16(float) FMul 302 305 - 307: 73(ptr) AccessChain 235(pos) 37 - 308: 16(float) Load 307 - 309: 16(float) FSub 308 306 - 310: 73(ptr) AccessChain 235(pos) 37 - Store 310 309 - 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12 - 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 314 313(i) 42 - Store 313(i) 141 - Branch 319 - 319: Label - 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12 - LoopMerge 321 322 None - Branch 325 - 325: Label - 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12 - 326: 125(int) Load 313(i) - 329: 48(bool) SLessThan 326 186 - BranchConditional 329 320 321 - 320: Label - 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 333 333 12 12 - 330: 19(fvec4) Load 235(pos) - 335: 125(int) Load 313(i) - 338: 336(ptr) AccessChain 122(ubo) 334 335 - 339: 19(fvec4) Load 338 - 340: 16(float) Dot 330 339 - 342: 16(float) FAdd 340 341 - 343: 48(bool) FOrdLessThan 342 148 - SelectionMerge 345 None - BranchConditional 343 344 345 - 344: Label - 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 349 349 12 12 - ReturnValue 346 - 345: Label - 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - Branch 322 - 322: Label - 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12 - 353: 125(int) Load 313(i) - 356: 125(int) IAdd 353 128 - Store 313(i) 356 - Branch 319 + 237(pos): 22(ptr) Variable Function + 315(i): 313(ptr) Variable Function + 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 57 57 12 12 + 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 56 53(frustumCheck() + 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 240 240 12 12 + 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 238 237(pos) 42 + 270: 125(int) Load 267(gl_InvocationID) + 273: 271(ptr) AccessChain 262(gl_in) 270 141 + 274: 19(fvec4) Load 273 + Store 237(pos) 274 + 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 278 278 12 12 + 290: 281 Load 287(samplerHeight) + 301: 299(ptr) AccessChain 296(inUV) 141 + 302: 97(fvec2) Load 301 + 303: 19(fvec4) ImageSampleExplicitLod 290 302 Lod 148 + 304: 16(float) CompositeExtract 303 0 + 306: 217(ptr) AccessChain 122(ubo) 305 + 307: 16(float) Load 306 + 308: 16(float) FMul 304 307 + 309: 73(ptr) AccessChain 237(pos) 37 + 310: 16(float) Load 309 + 311: 16(float) FSub 310 308 + 312: 73(ptr) AccessChain 237(pos) 37 + Store 312 311 + 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 316 315(i) 42 + Store 315(i) 141 + Branch 321 321: Label + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + LoopMerge 323 324 None + Branch 327 + 327: Label + 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + 328: 125(int) Load 315(i) + 331: 48(bool) SLessThan 328 186 + BranchConditional 331 322 323 + 322: Label + 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 335 335 12 12 + 332: 19(fvec4) Load 237(pos) + 337: 125(int) Load 315(i) + 340: 338(ptr) AccessChain 122(ubo) 336 337 + 341: 19(fvec4) Load 340 + 342: 16(float) Dot 332 341 + 344: 16(float) FAdd 342 343 + 345: 48(bool) FOrdLessThan 344 148 + SelectionMerge 347 None + BranchConditional 345 346 347 + 346: Label + 349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 351 351 12 12 + ReturnValue 348 + 347: Label + Branch 324 + 324: Label + 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + 353: 125(int) Load 315(i) + 356: 125(int) IAdd 353 128 + Store 315(i) 356 + Branch 321 + 323: Label 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 359 359 12 12 ReturnValue 94 diff --git a/Test/baseResults/spv.debuginfo.glsl.tese.out b/Test/baseResults/spv.debuginfo.glsl.tese.out index 6098b73e..bce85b48 100644 --- a/Test/baseResults/spv.debuginfo.glsl.tese.out +++ b/Test/baseResults/spv.debuginfo.glsl.tese.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.tese // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 357 +// Id's are bound by 359 Capability Tessellation Extension "SPV_KHR_non_semantic_info" @@ -390,6 +390,7 @@ void main() 344(outEyePos): 141(ptr) Variable Output 347: 7(int) Constant 77 345: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 346 63 18 347 12 21 346 344(outEyePos) 50 + 358: 7(int) Constant 78 14(main): 4 Function None 5 15: Label 36(uv1): 33(ptr) Variable Function @@ -543,5 +544,6 @@ void main() 355: 28(float) CompositeExtract 352 2 356: 62(fvec3) CompositeConstruct 353 354 355 Store 344(outEyePos) 356 + 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 358 358 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.vert.out b/Test/baseResults/spv.debuginfo.glsl.vert.out index f9838611..9eef2dd2 100644 --- a/Test/baseResults/spv.debuginfo.glsl.vert.out +++ b/Test/baseResults/spv.debuginfo.glsl.vert.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.vert // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 445 +// Id's are bound by 447 Capability Shader Extension "SPV_KHR_non_semantic_info" @@ -399,6 +399,7 @@ void main() 437(outViewVec): 33(ptr) Variable Output 440: 7(int) Constant 104 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 439 32 18 440 12 21 439 437(outViewVec) 39 + 446: 7(int) Constant 105 14(main): 4 Function None 5 15: Label 76(s): 73(ptr) Variable Function @@ -662,5 +663,6 @@ void main() 443: 31(fvec3) VectorShuffle 441 441 0 1 2 444: 31(fvec3) FNegate 443 Store 437(outViewVec) 444 + 445: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 446 446 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.comp.out b/Test/baseResults/spv.debuginfo.hlsl.comp.out index b4579daf..e6fbf123 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.comp.out +++ b/Test/baseResults/spv.debuginfo.hlsl.comp.out @@ -1,14 +1,14 @@ spv.debuginfo.hlsl.comp // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 970 +// Id's are bound by 968 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 6 "main" 965 + EntryPoint GLCompute 6 "main" 963 ExecutionMode 6 LocalSize 10 10 1 2: String "" 9: String "float" @@ -36,26 +36,26 @@ spv.debuginfo.hlsl.comp 113: String "UBO" 116: String "params" 120: String "ubo" - 146: String "index" - 172: String "bool" + 147: String "index" + 173: String "bool" 184: String "normal" 191: String "pinned" 195: String "Particle" 201: String "@data" 205: String "particleIn" 226: String "particleOut" - 254: String "force" - 268: String "pos" - 278: String "vel" - 562: String "f" - 611: String "sphereDist" - 662: String "calculateNormals" - 666: String "PushConstants" - 670: String "pushConstants" - 673: String "$Global" - 711: String "a" - 725: String "b" - 742: String "c" + 253: String "force" + 267: String "pos" + 277: String "vel" + 561: String "f" + 610: String "sphereDist" + 661: String "calculateNormals" + 665: String "PushConstants" + 669: String "pushConstants" + 672: String "$Global" + 710: String "a" + 724: String "b" + 741: String "c" Name 6 "main" Name 30 "springForce(vf3;vf3;f1;" Name 27 "p0" @@ -79,7 +79,7 @@ spv.debuginfo.hlsl.comp Name 114 "ubo" MemberName 114(ubo) 0 "params" Name 123 "" - Name 144 "index" + Name 145 "index" Name 182 "Particle" MemberName 182(Particle) 0 "pos" MemberName 182(Particle) 1 "vel" @@ -92,47 +92,47 @@ spv.debuginfo.hlsl.comp Name 222 "particleOut" MemberName 222(particleOut) 0 "@data" Name 230 "particleOut" - Name 252 "force" - Name 266 "pos" - Name 276 "vel" - Name 298 "param" - Name 302 "param" - Name 304 "param" - Name 327 "param" - Name 331 "param" - Name 333 "param" - Name 360 "param" - Name 364 "param" - Name 366 "param" - Name 388 "param" - Name 392 "param" - Name 394 "param" - Name 426 "param" - Name 430 "param" - Name 432 "param" - Name 459 "param" - Name 463 "param" - Name 465 "param" - Name 500 "param" - Name 504 "param" - Name 506 "param" - Name 537 "param" - Name 541 "param" - Name 543 "param" - Name 560 "f" - Name 609 "sphereDist" - Name 660 "PushConstants" - MemberName 660(PushConstants) 0 "calculateNormals" - Name 668 "$Global" - MemberName 668($Global) 0 "pushConstants" - Name 676 "" - Name 687 "normal" - Name 709 "a" - Name 723 "b" - Name 740 "c" + Name 251 "force" + Name 265 "pos" + Name 275 "vel" + Name 297 "param" + Name 301 "param" + Name 303 "param" + Name 326 "param" + Name 330 "param" + Name 332 "param" + Name 359 "param" + Name 363 "param" + Name 365 "param" + Name 387 "param" + Name 391 "param" + Name 393 "param" + Name 425 "param" + Name 429 "param" + Name 431 "param" + Name 458 "param" + Name 462 "param" + Name 464 "param" + Name 499 "param" + Name 503 "param" + Name 505 "param" + Name 536 "param" + Name 540 "param" + Name 542 "param" + Name 559 "f" + Name 608 "sphereDist" + Name 659 "PushConstants" + MemberName 659(PushConstants) 0 "calculateNormals" + Name 667 "$Global" + MemberName 667($Global) 0 "pushConstants" + Name 675 "" + Name 686 "normal" + Name 708 "a" + Name 722 "b" + Name 739 "c" + Name 961 "id" Name 963 "id" - Name 965 "id" - Name 967 "param" + Name 965 "param" MemberDecorate 92(UBO) 0 Offset 0 MemberDecorate 92(UBO) 1 Offset 4 MemberDecorate 92(UBO) 2 Offset 8 @@ -165,12 +165,12 @@ spv.debuginfo.hlsl.comp MemberDecorate 222(particleOut) 0 Offset 0 Decorate 230(particleOut) Binding 1 Decorate 230(particleOut) DescriptorSet 0 - MemberDecorate 660(PushConstants) 0 Offset 0 - Decorate 668($Global) Block - MemberDecorate 668($Global) 0 Offset 0 - Decorate 676 Binding 3 - Decorate 676 DescriptorSet 0 - Decorate 965(id) BuiltIn GlobalInvocationId + MemberDecorate 659(PushConstants) 0 Offset 0 + Decorate 667($Global) Block + MemberDecorate 667($Global) 0 Offset 0 + Decorate 675 Binding 3 + Decorate 675 DescriptorSet 0 + Decorate 963(id) BuiltIn GlobalInvocationId 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -252,17 +252,17 @@ spv.debuginfo.hlsl.comp 127: 87(int) Constant 2 128: TypePointer Uniform 8(float) 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 49 16 - 142: TypePointer Function 11(int) - 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 21 16 - 147: 11(int) Constant 83 - 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 146 13 34 147 16 64 39 - 152: 87(int) Constant 10 - 153: TypePointer Uniform 87(int) - 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 89 49 16 - 164: 11(int) Constant 84 - 171: TypeBool - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 172 14 49 16 - 179: 11(int) Constant 85 + 143: TypePointer Function 11(int) + 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 21 16 + 148: 11(int) Constant 83 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 147 13 34 148 16 64 39 + 153: 87(int) Constant 10 + 154: TypePointer Uniform 87(int) + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 89 49 16 + 165: 11(int) Constant 84 + 172: TypeBool + 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 173 14 49 16 + 180: 11(int) Constant 85 182(Particle): TypeStruct 85(fvec4) 85(fvec4) 85(fvec4) 85(fvec4) 8(float) 185: 11(int) Constant 30 186: 11(int) Constant 15 @@ -306,102 +306,102 @@ spv.debuginfo.hlsl.comp 245: 8(float) Constant 0 246: 85(fvec4) ConstantComposite 245 245 245 245 249: 11(int) Constant 91 - 255: 11(int) Constant 95 - 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 254 19 34 255 16 64 39 - 259: 87(int) Constant 9 - 269: 11(int) Constant 97 - 267: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 268 19 34 269 16 64 39 - 279: 11(int) Constant 98 - 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 278 19 34 279 16 64 39 - 288: 11(int) Constant 102 - 296: 11(int) Constant 103 - 313: 11(int) Constant 106 - 325: 11(int) Constant 107 - 342: 11(int) Constant 110 - 354: 11(int) Constant 111 - 359: 87(int) Constant 5 - 375: 11(int) Constant 114 - 383: 11(int) Constant 115 - 403: 11(int) Constant 118 - 419: 11(int) Constant 119 - 425: 87(int) Constant 6 - 441: 11(int) Constant 122 - 453: 11(int) Constant 123 - 474: 11(int) Constant 126 - 494: 11(int) Constant 127 - 515: 11(int) Constant 130 - 531: 11(int) Constant 131 - 549: 87(int) Constant 3 - 553: 11(int) Constant 134 - 563: 11(int) Constant 137 - 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 562 19 34 563 16 64 39 - 573: 11(int) Constant 138 - 580: 8(float) Constant 1056964608 - 597: 11(int) Constant 139 - 612: 11(int) Constant 142 - 610: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 611 19 34 612 16 64 39 - 619: 87(int) Constant 8 - 626: 11(int) Constant 143 - 628: 87(int) Constant 7 - 631: 8(float) Constant 1008981770 - 639: 11(int) Constant 145 - 658: 11(int) Constant 147 -660(PushConstants): TypeStruct 11(int) - 663: 11(int) Constant 67 - 664: 11(int) Constant 23 - 661: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 662 13 34 663 664 16 16 17 - 667: 11(int) Constant 151 - 665: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 666 38 34 667 16 37 666 16 17 661 - 668($Global): TypeStruct 660(PushConstants) - 671: 11(int) Constant 71 - 669: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 670 665 34 671 186 16 16 17 - 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 673 38 34 667 16 37 673 16 17 669 - 674: TypePointer Uniform 668($Global) - 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 672 49 16 - 676: 674(ptr) Variable Uniform - 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 672 34 667 16 37 2 676 125 - 678: TypePointer Uniform 11(int) - 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 49 16 - 689: 11(int) Constant 152 - 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 184 19 34 689 16 64 39 - 693: 18(fvec3) ConstantComposite 245 245 245 - 696: 11(int) Constant 154 - 704: 11(int) Constant 155 - 712: 11(int) Constant 156 - 710: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 711 19 34 712 16 64 39 - 726: 11(int) Constant 157 - 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 725 19 34 726 16 64 39 - 743: 11(int) Constant 158 - 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 742 19 34 743 16 64 39 - 758: 11(int) Constant 159 - 770: 11(int) Constant 161 - 782: 11(int) Constant 162 - 794: 11(int) Constant 163 - 807: 11(int) Constant 164 - 816: 11(int) Constant 165 - 829: 11(int) Constant 168 - 841: 11(int) Constant 169 - 849: 11(int) Constant 170 - 861: 11(int) Constant 171 - 874: 11(int) Constant 172 - 883: 11(int) Constant 173 - 895: 11(int) Constant 175 - 907: 11(int) Constant 176 - 916: 11(int) Constant 177 - 929: 11(int) Constant 178 - 941: 11(int) Constant 179 - 954: 11(int) Constant 182 - 964: TypePointer Input 54(ivec3) - 965(id): 964(ptr) Variable Input + 254: 11(int) Constant 95 + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 253 19 34 254 16 64 39 + 258: 87(int) Constant 9 + 268: 11(int) Constant 97 + 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 267 19 34 268 16 64 39 + 278: 11(int) Constant 98 + 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 277 19 34 278 16 64 39 + 287: 11(int) Constant 102 + 295: 11(int) Constant 103 + 312: 11(int) Constant 106 + 324: 11(int) Constant 107 + 341: 11(int) Constant 110 + 353: 11(int) Constant 111 + 358: 87(int) Constant 5 + 374: 11(int) Constant 114 + 382: 11(int) Constant 115 + 402: 11(int) Constant 118 + 418: 11(int) Constant 119 + 424: 87(int) Constant 6 + 440: 11(int) Constant 122 + 452: 11(int) Constant 123 + 473: 11(int) Constant 126 + 493: 11(int) Constant 127 + 514: 11(int) Constant 130 + 530: 11(int) Constant 131 + 548: 87(int) Constant 3 + 552: 11(int) Constant 134 + 562: 11(int) Constant 137 + 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 561 19 34 562 16 64 39 + 572: 11(int) Constant 138 + 579: 8(float) Constant 1056964608 + 596: 11(int) Constant 139 + 611: 11(int) Constant 142 + 609: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 610 19 34 611 16 64 39 + 618: 87(int) Constant 8 + 625: 11(int) Constant 143 + 627: 87(int) Constant 7 + 630: 8(float) Constant 1008981770 + 638: 11(int) Constant 145 + 657: 11(int) Constant 147 +659(PushConstants): TypeStruct 11(int) + 662: 11(int) Constant 67 + 663: 11(int) Constant 23 + 660: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 661 13 34 662 663 16 16 17 + 666: 11(int) Constant 151 + 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 665 38 34 666 16 37 665 16 17 660 + 667($Global): TypeStruct 659(PushConstants) + 670: 11(int) Constant 71 + 668: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 669 664 34 670 186 16 16 17 + 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 672 38 34 666 16 37 672 16 17 668 + 673: TypePointer Uniform 667($Global) + 674: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 671 49 16 + 675: 673(ptr) Variable Uniform + 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 671 34 666 16 37 2 675 125 + 677: TypePointer Uniform 11(int) + 678: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 49 16 + 688: 11(int) Constant 152 + 687: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 184 19 34 688 16 64 39 + 692: 18(fvec3) ConstantComposite 245 245 245 + 695: 11(int) Constant 154 + 703: 11(int) Constant 155 + 711: 11(int) Constant 156 + 709: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 710 19 34 711 16 64 39 + 725: 11(int) Constant 157 + 723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 724 19 34 725 16 64 39 + 742: 11(int) Constant 158 + 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 741 19 34 742 16 64 39 + 757: 11(int) Constant 159 + 769: 11(int) Constant 161 + 781: 11(int) Constant 162 + 793: 11(int) Constant 163 + 806: 11(int) Constant 164 + 815: 11(int) Constant 165 + 827: 11(int) Constant 168 + 839: 11(int) Constant 169 + 847: 11(int) Constant 170 + 859: 11(int) Constant 171 + 872: 11(int) Constant 172 + 881: 11(int) Constant 173 + 893: 11(int) Constant 175 + 905: 11(int) Constant 176 + 914: 11(int) Constant 177 + 927: 11(int) Constant 178 + 939: 11(int) Constant 179 + 951: 11(int) Constant 182 + 962: TypePointer Input 54(ivec3) + 963(id): 962(ptr) Variable Input 6(main): 4 Function None 5 7: Label - 963(id): 56(ptr) Variable Function - 967(param): 56(ptr) Variable Function - 966: 54(ivec3) Load 965(id) - Store 963(id) 966 - 968: 54(ivec3) Load 963(id) - Store 967(param) 968 - 969: 4 FunctionCall 61(@main(vu3;) 967(param) + 961(id): 56(ptr) Variable Function + 965(param): 56(ptr) Variable Function + 964: 54(ivec3) Load 963(id) + Store 961(id) 964 + 966: 54(ivec3) Load 961(id) + Store 965(param) 966 + 967: 4 FunctionCall 61(@main(vu3;) 965(param) Return FunctionEnd 30(springForce(vf3;vf3;f1;): 18(fvec3) Function None 25 @@ -438,786 +438,785 @@ spv.debuginfo.hlsl.comp 61(@main(vu3;): 4 Function None 58 60(id): 56(ptr) FunctionParameter 62: Label - 144(index): 142(ptr) Variable Function - 252(force): 20(ptr) Variable Function - 266(pos): 20(ptr) Variable Function - 276(vel): 20(ptr) Variable Function - 298(param): 20(ptr) Variable Function - 302(param): 20(ptr) Variable Function - 304(param): 23(ptr) Variable Function - 327(param): 20(ptr) Variable Function - 331(param): 20(ptr) Variable Function - 333(param): 23(ptr) Variable Function - 360(param): 20(ptr) Variable Function - 364(param): 20(ptr) Variable Function - 366(param): 23(ptr) Variable Function - 388(param): 20(ptr) Variable Function - 392(param): 20(ptr) Variable Function - 394(param): 23(ptr) Variable Function - 426(param): 20(ptr) Variable Function - 430(param): 20(ptr) Variable Function - 432(param): 23(ptr) Variable Function - 459(param): 20(ptr) Variable Function - 463(param): 20(ptr) Variable Function - 465(param): 23(ptr) Variable Function - 500(param): 20(ptr) Variable Function - 504(param): 20(ptr) Variable Function - 506(param): 23(ptr) Variable Function - 537(param): 20(ptr) Variable Function - 541(param): 20(ptr) Variable Function - 543(param): 23(ptr) Variable Function - 560(f): 20(ptr) Variable Function - 609(sphereDist): 20(ptr) Variable Function - 687(normal): 20(ptr) Variable Function - 709(a): 20(ptr) Variable Function - 723(b): 20(ptr) Variable Function - 740(c): 20(ptr) Variable Function + 145(index): 143(ptr) Variable Function + 251(force): 20(ptr) Variable Function + 265(pos): 20(ptr) Variable Function + 275(vel): 20(ptr) Variable Function + 297(param): 20(ptr) Variable Function + 301(param): 20(ptr) Variable Function + 303(param): 23(ptr) Variable Function + 326(param): 20(ptr) Variable Function + 330(param): 20(ptr) Variable Function + 332(param): 23(ptr) Variable Function + 359(param): 20(ptr) Variable Function + 363(param): 20(ptr) Variable Function + 365(param): 23(ptr) Variable Function + 387(param): 20(ptr) Variable Function + 391(param): 20(ptr) Variable Function + 393(param): 23(ptr) Variable Function + 425(param): 20(ptr) Variable Function + 429(param): 20(ptr) Variable Function + 431(param): 23(ptr) Variable Function + 458(param): 20(ptr) Variable Function + 462(param): 20(ptr) Variable Function + 464(param): 23(ptr) Variable Function + 499(param): 20(ptr) Variable Function + 503(param): 20(ptr) Variable Function + 505(param): 23(ptr) Variable Function + 536(param): 20(ptr) Variable Function + 540(param): 20(ptr) Variable Function + 542(param): 23(ptr) Variable Function + 559(f): 20(ptr) Variable Function + 608(sphereDist): 20(ptr) Variable Function + 686(normal): 20(ptr) Variable Function + 708(a): 20(ptr) Variable Function + 722(b): 20(ptr) Variable Function + 739(c): 20(ptr) Variable Function 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 65 65 16 16 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 66 60(id) 44 - 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 64 61(@main(vu3;) - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 147 147 16 16 - 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 145 144(index) 44 - 150: 142(ptr) AccessChain 60(id) 38 - 151: 11(int) Load 150 - 155: 153(ptr) AccessChain 123 126 152 16 - 156: 87(int) Load 155 - 157: 11(int) Bitcast 156 - 158: 11(int) IMul 151 157 - 159: 142(ptr) AccessChain 60(id) 16 - 160: 11(int) Load 159 - 161: 11(int) IAdd 158 160 - Store 144(index) 161 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 164 164 16 16 - 162: 11(int) Load 144(index) - 165: 153(ptr) AccessChain 123 126 152 16 - 166: 87(int) Load 165 - 167: 153(ptr) AccessChain 123 126 152 38 - 168: 87(int) Load 167 - 169: 87(int) IMul 166 168 - 170: 11(int) Bitcast 169 - 174: 171(bool) UGreaterThan 162 170 - SelectionMerge 176 None - BranchConditional 174 175 176 - 175: Label - 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 179 179 16 16 + 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 64 61(@main(vu3;) + 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 148 148 16 16 + 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 146 145(index) 44 + 151: 143(ptr) AccessChain 60(id) 38 + 152: 11(int) Load 151 + 156: 154(ptr) AccessChain 123 126 153 16 + 157: 87(int) Load 156 + 158: 11(int) Bitcast 157 + 159: 11(int) IMul 152 158 + 160: 143(ptr) AccessChain 60(id) 16 + 161: 11(int) Load 160 + 162: 11(int) IAdd 159 161 + Store 145(index) 162 + 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 165 165 16 16 + 163: 11(int) Load 145(index) + 166: 154(ptr) AccessChain 123 126 153 16 + 167: 87(int) Load 166 + 168: 154(ptr) AccessChain 123 126 153 38 + 169: 87(int) Load 168 + 170: 87(int) IMul 167 169 + 171: 11(int) Bitcast 170 + 175: 172(bool) UGreaterThan 163 171 + SelectionMerge 177 None + BranchConditional 175 176 177 + 176: Label + 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 180 180 16 16 Return - 176: Label + 177: Label 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 196 196 16 16 - 210: 11(int) Load 144(index) + 210: 11(int) Load 145(index) 214: 128(ptr) AccessChain 208(particleIn) 126 210 213 215: 8(float) Load 214 - 217: 171(bool) FOrdEqual 215 216 + 217: 172(bool) FOrdEqual 215 216 SelectionMerge 219 None BranchConditional 217 218 219 218: Label 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 227 227 16 16 - 232: 11(int) Load 144(index) - 235: 11(int) Load 144(index) + 232: 11(int) Load 145(index) + 235: 11(int) Load 145(index) 238: 236(ptr) AccessChain 230(particleOut) 126 235 126 239: 85(fvec4) Load 238 240: 236(ptr) AccessChain 230(particleOut) 126 232 126 Store 240 239 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 243 243 16 16 - 241: 11(int) Load 144(index) + 241: 11(int) Load 145(index) 247: 236(ptr) AccessChain 230(particleOut) 126 241 244 Store 247 246 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 249 249 16 16 Return 219: Label - 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 255 255 16 16 - 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 253 252(force) 44 - 260: 236(ptr) AccessChain 123 126 259 - 261: 85(fvec4) Load 260 - 262: 18(fvec3) VectorShuffle 261 261 0 1 2 - 263: 128(ptr) AccessChain 123 126 244 - 264: 8(float) Load 263 - 265: 18(fvec3) VectorTimesScalar 262 264 - Store 252(force) 265 - 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 269 269 16 16 - 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 267 266(pos) 44 - 272: 11(int) Load 144(index) - 273: 236(ptr) AccessChain 208(particleIn) 126 272 126 - 274: 85(fvec4) Load 273 - 275: 18(fvec3) VectorShuffle 274 274 0 1 2 - Store 266(pos) 275 - 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 279 279 16 16 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 277 276(vel) 44 - 282: 11(int) Load 144(index) - 283: 236(ptr) AccessChain 208(particleIn) 126 282 244 - 284: 85(fvec4) Load 283 - 285: 18(fvec3) VectorShuffle 284 284 0 1 2 - Store 276(vel) 285 - 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 288 288 16 16 - 286: 142(ptr) AccessChain 60(id) 16 - 289: 11(int) Load 286 - 290: 171(bool) UGreaterThan 289 16 - SelectionMerge 292 None - BranchConditional 290 291 292 - 291: Label - 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 296 296 16 16 - 293: 11(int) Load 144(index) - 297: 11(int) ISub 293 38 - 299: 236(ptr) AccessChain 208(particleIn) 126 297 126 - 300: 85(fvec4) Load 299 - 301: 18(fvec3) VectorShuffle 300 300 0 1 2 - Store 298(param) 301 - 303: 18(fvec3) Load 266(pos) - Store 302(param) 303 - 305: 128(ptr) AccessChain 123 126 213 - 306: 8(float) Load 305 - Store 304(param) 306 - 307: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 298(param) 302(param) 304(param) - 308: 18(fvec3) Load 252(force) - 309: 18(fvec3) FAdd 308 307 - Store 252(force) 309 - Branch 292 - 292: Label - 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 313 313 16 16 - 310: 142(ptr) AccessChain 60(id) 16 - 314: 11(int) Load 310 - 315: 153(ptr) AccessChain 123 126 152 16 - 316: 87(int) Load 315 - 317: 87(int) ISub 316 244 - 318: 11(int) Bitcast 317 - 319: 171(bool) ULessThan 314 318 - SelectionMerge 321 None - BranchConditional 319 320 321 - 320: Label - 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 325 325 16 16 - 322: 11(int) Load 144(index) - 326: 11(int) IAdd 322 38 - 328: 236(ptr) AccessChain 208(particleIn) 126 326 126 - 329: 85(fvec4) Load 328 - 330: 18(fvec3) VectorShuffle 329 329 0 1 2 - Store 327(param) 330 - 332: 18(fvec3) Load 266(pos) - Store 331(param) 332 - 334: 128(ptr) AccessChain 123 126 213 - 335: 8(float) Load 334 - Store 333(param) 335 - 336: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 327(param) 331(param) 333(param) - 337: 18(fvec3) Load 252(force) - 338: 18(fvec3) FAdd 337 336 - Store 252(force) 338 - Branch 321 - 321: Label - 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 342 342 16 16 - 339: 142(ptr) AccessChain 60(id) 38 - 343: 11(int) Load 339 - 344: 153(ptr) AccessChain 123 126 152 38 - 345: 87(int) Load 344 - 346: 87(int) ISub 345 244 - 347: 11(int) Bitcast 346 - 348: 171(bool) ULessThan 343 347 - SelectionMerge 350 None - BranchConditional 348 349 350 - 349: Label - 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 354 354 16 16 - 351: 11(int) Load 144(index) - 355: 153(ptr) AccessChain 123 126 152 16 - 356: 87(int) Load 355 - 357: 11(int) Bitcast 356 - 358: 11(int) IAdd 351 357 - 361: 236(ptr) AccessChain 208(particleIn) 126 358 126 - 362: 85(fvec4) Load 361 - 363: 18(fvec3) VectorShuffle 362 362 0 1 2 - Store 360(param) 363 - 365: 18(fvec3) Load 266(pos) - Store 364(param) 365 - 367: 128(ptr) AccessChain 123 126 359 - 368: 8(float) Load 367 - Store 366(param) 368 - 369: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 360(param) 364(param) 366(param) - 370: 18(fvec3) Load 252(force) - 371: 18(fvec3) FAdd 370 369 - Store 252(force) 371 - Branch 350 - 350: Label - 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 375 375 16 16 - 372: 142(ptr) AccessChain 60(id) 38 - 376: 11(int) Load 372 - 377: 171(bool) UGreaterThan 376 16 - SelectionMerge 379 None - BranchConditional 377 378 379 - 378: Label - 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 383 383 16 16 - 380: 11(int) Load 144(index) - 384: 153(ptr) AccessChain 123 126 152 16 - 385: 87(int) Load 384 - 386: 11(int) Bitcast 385 - 387: 11(int) ISub 380 386 - 389: 236(ptr) AccessChain 208(particleIn) 126 387 126 - 390: 85(fvec4) Load 389 - 391: 18(fvec3) VectorShuffle 390 390 0 1 2 - Store 388(param) 391 - 393: 18(fvec3) Load 266(pos) - Store 392(param) 393 - 395: 128(ptr) AccessChain 123 126 359 - 396: 8(float) Load 395 - Store 394(param) 396 - 397: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 388(param) 392(param) 394(param) - 398: 18(fvec3) Load 252(force) - 399: 18(fvec3) FAdd 398 397 - Store 252(force) 399 - Branch 379 - 379: Label - 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 403 403 16 16 - 400: 142(ptr) AccessChain 60(id) 16 - 404: 11(int) Load 400 - 405: 171(bool) UGreaterThan 404 16 - 406: 142(ptr) AccessChain 60(id) 38 - 407: 11(int) Load 406 - 408: 153(ptr) AccessChain 123 126 152 38 - 409: 87(int) Load 408 - 410: 87(int) ISub 409 244 - 411: 11(int) Bitcast 410 - 412: 171(bool) ULessThan 407 411 - 413: 171(bool) LogicalAnd 405 412 - SelectionMerge 415 None - BranchConditional 413 414 415 - 414: Label - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 419 419 16 16 - 416: 11(int) Load 144(index) - 420: 153(ptr) AccessChain 123 126 152 16 - 421: 87(int) Load 420 - 422: 11(int) Bitcast 421 - 423: 11(int) IAdd 416 422 - 424: 11(int) ISub 423 38 - 427: 236(ptr) AccessChain 208(particleIn) 126 424 126 - 428: 85(fvec4) Load 427 - 429: 18(fvec3) VectorShuffle 428 428 0 1 2 - Store 426(param) 429 - 431: 18(fvec3) Load 266(pos) - Store 430(param) 431 - 433: 128(ptr) AccessChain 123 126 425 - 434: 8(float) Load 433 - Store 432(param) 434 - 435: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 426(param) 430(param) 432(param) - 436: 18(fvec3) Load 252(force) - 437: 18(fvec3) FAdd 436 435 - Store 252(force) 437 - Branch 415 - 415: Label - 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 441 441 16 16 - 438: 142(ptr) AccessChain 60(id) 16 - 442: 11(int) Load 438 - 443: 171(bool) UGreaterThan 442 16 - 444: 142(ptr) AccessChain 60(id) 38 - 445: 11(int) Load 444 - 446: 171(bool) UGreaterThan 445 16 - 447: 171(bool) LogicalAnd 443 446 - SelectionMerge 449 None - BranchConditional 447 448 449 - 448: Label - 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 453 453 16 16 - 450: 11(int) Load 144(index) - 454: 153(ptr) AccessChain 123 126 152 16 - 455: 87(int) Load 454 - 456: 11(int) Bitcast 455 - 457: 11(int) ISub 450 456 - 458: 11(int) ISub 457 38 - 460: 236(ptr) AccessChain 208(particleIn) 126 458 126 - 461: 85(fvec4) Load 460 - 462: 18(fvec3) VectorShuffle 461 461 0 1 2 - Store 459(param) 462 - 464: 18(fvec3) Load 266(pos) - Store 463(param) 464 - 466: 128(ptr) AccessChain 123 126 425 - 467: 8(float) Load 466 - Store 465(param) 467 - 468: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 459(param) 463(param) 465(param) - 469: 18(fvec3) Load 252(force) - 470: 18(fvec3) FAdd 469 468 - Store 252(force) 470 - Branch 449 - 449: Label - 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 474 474 16 16 - 471: 142(ptr) AccessChain 60(id) 16 - 475: 11(int) Load 471 - 476: 153(ptr) AccessChain 123 126 152 16 - 477: 87(int) Load 476 - 478: 87(int) ISub 477 244 - 479: 11(int) Bitcast 478 - 480: 171(bool) ULessThan 475 479 - 481: 142(ptr) AccessChain 60(id) 38 - 482: 11(int) Load 481 - 483: 153(ptr) AccessChain 123 126 152 38 - 484: 87(int) Load 483 - 485: 87(int) ISub 484 244 - 486: 11(int) Bitcast 485 - 487: 171(bool) ULessThan 482 486 - 488: 171(bool) LogicalAnd 480 487 - SelectionMerge 490 None - BranchConditional 488 489 490 - 489: Label - 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 493: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 494 494 16 16 - 491: 11(int) Load 144(index) - 495: 153(ptr) AccessChain 123 126 152 16 - 496: 87(int) Load 495 - 497: 11(int) Bitcast 496 - 498: 11(int) IAdd 491 497 - 499: 11(int) IAdd 498 38 - 501: 236(ptr) AccessChain 208(particleIn) 126 499 126 - 502: 85(fvec4) Load 501 - 503: 18(fvec3) VectorShuffle 502 502 0 1 2 - Store 500(param) 503 - 505: 18(fvec3) Load 266(pos) - Store 504(param) 505 - 507: 128(ptr) AccessChain 123 126 425 - 508: 8(float) Load 507 - Store 506(param) 508 - 509: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 500(param) 504(param) 506(param) - 510: 18(fvec3) Load 252(force) - 511: 18(fvec3) FAdd 510 509 - Store 252(force) 511 - Branch 490 - 490: Label - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 515 515 16 16 - 512: 142(ptr) AccessChain 60(id) 16 - 516: 11(int) Load 512 - 517: 153(ptr) AccessChain 123 126 152 16 - 518: 87(int) Load 517 - 519: 87(int) ISub 518 244 - 520: 11(int) Bitcast 519 - 521: 171(bool) ULessThan 516 520 - 522: 142(ptr) AccessChain 60(id) 38 - 523: 11(int) Load 522 - 524: 171(bool) UGreaterThan 523 16 - 525: 171(bool) LogicalAnd 521 524 - SelectionMerge 527 None - BranchConditional 525 526 527 - 526: Label - 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 530: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 531 531 16 16 - 528: 11(int) Load 144(index) - 532: 153(ptr) AccessChain 123 126 152 16 - 533: 87(int) Load 532 - 534: 11(int) Bitcast 533 - 535: 11(int) ISub 528 534 - 536: 11(int) IAdd 535 38 - 538: 236(ptr) AccessChain 208(particleIn) 126 536 126 - 539: 85(fvec4) Load 538 - 540: 18(fvec3) VectorShuffle 539 539 0 1 2 - Store 537(param) 540 - 542: 18(fvec3) Load 266(pos) - Store 541(param) 542 - 544: 128(ptr) AccessChain 123 126 425 - 545: 8(float) Load 544 - Store 543(param) 545 - 546: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 537(param) 541(param) 543(param) - 547: 18(fvec3) Load 252(force) - 548: 18(fvec3) FAdd 547 546 - Store 252(force) 548 - Branch 527 - 527: Label - 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 553 553 16 16 - 550: 128(ptr) AccessChain 123 126 549 - 554: 8(float) Load 550 - 555: 8(float) FNegate 554 - 556: 18(fvec3) Load 276(vel) - 557: 18(fvec3) VectorTimesScalar 556 555 - 558: 18(fvec3) Load 252(force) - 559: 18(fvec3) FAdd 558 557 - Store 252(force) 559 - 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 563 563 16 16 - 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 561 560(f) 44 - 566: 18(fvec3) Load 252(force) - 567: 128(ptr) AccessChain 123 126 244 - 568: 8(float) Load 567 - 569: 8(float) FDiv 216 568 - 570: 18(fvec3) VectorTimesScalar 566 569 - Store 560(f) 570 - 572: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 573 573 16 16 - 571: 11(int) Load 144(index) - 574: 18(fvec3) Load 266(pos) - 575: 18(fvec3) Load 276(vel) - 576: 128(ptr) AccessChain 123 126 126 - 577: 8(float) Load 576 - 578: 18(fvec3) VectorTimesScalar 575 577 - 579: 18(fvec3) FAdd 574 578 - 581: 18(fvec3) Load 560(f) - 582: 18(fvec3) VectorTimesScalar 581 580 - 583: 128(ptr) AccessChain 123 126 126 - 584: 8(float) Load 583 - 585: 18(fvec3) VectorTimesScalar 582 584 - 586: 128(ptr) AccessChain 123 126 126 - 587: 8(float) Load 586 - 588: 18(fvec3) VectorTimesScalar 585 587 - 589: 18(fvec3) FAdd 579 588 - 590: 8(float) CompositeExtract 589 0 - 591: 8(float) CompositeExtract 589 1 - 592: 8(float) CompositeExtract 589 2 - 593: 85(fvec4) CompositeConstruct 590 591 592 216 - 594: 236(ptr) AccessChain 230(particleOut) 126 571 126 - Store 594 593 - 596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 597 597 16 16 - 595: 11(int) Load 144(index) - 598: 18(fvec3) Load 276(vel) - 599: 18(fvec3) Load 560(f) - 600: 128(ptr) AccessChain 123 126 126 - 601: 8(float) Load 600 - 602: 18(fvec3) VectorTimesScalar 599 601 - 603: 18(fvec3) FAdd 598 602 - 604: 8(float) CompositeExtract 603 0 - 605: 8(float) CompositeExtract 603 1 - 606: 8(float) CompositeExtract 603 2 - 607: 85(fvec4) CompositeConstruct 604 605 606 245 - 608: 236(ptr) AccessChain 230(particleOut) 126 595 244 - Store 608 607 - 614: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 612 612 16 16 - 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 610 609(sphereDist) 44 - 615: 11(int) Load 144(index) - 616: 236(ptr) AccessChain 230(particleOut) 126 615 126 - 617: 85(fvec4) Load 616 - 618: 18(fvec3) VectorShuffle 617 617 0 1 2 - 620: 236(ptr) AccessChain 123 126 619 - 621: 85(fvec4) Load 620 - 622: 18(fvec3) VectorShuffle 621 621 0 1 2 - 623: 18(fvec3) FSub 618 622 - Store 609(sphereDist) 623 - 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 626 626 16 16 - 624: 18(fvec3) Load 609(sphereDist) - 627: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 624 - 629: 128(ptr) AccessChain 123 126 628 - 630: 8(float) Load 629 - 632: 8(float) FAdd 630 631 - 633: 171(bool) FOrdLessThan 627 632 - SelectionMerge 635 None - BranchConditional 633 634 635 - 634: Label - 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 639 639 16 16 - 636: 11(int) Load 144(index) - 640: 236(ptr) AccessChain 123 126 619 - 641: 85(fvec4) Load 640 - 642: 18(fvec3) VectorShuffle 641 641 0 1 2 - 643: 18(fvec3) Load 609(sphereDist) - 644: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 643 - 645: 128(ptr) AccessChain 123 126 628 - 646: 8(float) Load 645 - 647: 8(float) FAdd 646 631 - 648: 18(fvec3) VectorTimesScalar 644 647 - 649: 18(fvec3) FAdd 642 648 - 650: 128(ptr) AccessChain 230(particleOut) 126 636 126 16 - 651: 8(float) CompositeExtract 649 0 - Store 650 651 - 652: 128(ptr) AccessChain 230(particleOut) 126 636 126 38 - 653: 8(float) CompositeExtract 649 1 - Store 652 653 - 654: 128(ptr) AccessChain 230(particleOut) 126 636 126 49 - 655: 8(float) CompositeExtract 649 2 - Store 654 655 - 657: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 658 658 16 16 - 656: 11(int) Load 144(index) - 659: 236(ptr) AccessChain 230(particleOut) 126 656 244 - Store 659 246 - Branch 635 - 635: Label - 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 682: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 667 667 16 16 - 680: 678(ptr) AccessChain 676 126 126 - 683: 11(int) Load 680 - 684: 171(bool) IEqual 683 38 - SelectionMerge 686 None - BranchConditional 684 685 686 - 685: Label - 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 692: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 689 689 16 16 - 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 688 687(normal) 44 - Store 687(normal) 693 - 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 696 696 16 16 - 694: 142(ptr) AccessChain 60(id) 38 - 697: 11(int) Load 694 - 698: 171(bool) UGreaterThan 697 16 - SelectionMerge 700 None - BranchConditional 698 699 700 - 699: Label - 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 703: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 704 704 16 16 - 701: 142(ptr) AccessChain 60(id) 16 - 705: 11(int) Load 701 - 706: 171(bool) UGreaterThan 705 16 - SelectionMerge 708 None - BranchConditional 706 707 708 - 707: Label - 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 712 712 16 16 - 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 710 709(a) 44 - 716: 11(int) Load 144(index) - 717: 11(int) ISub 716 38 - 718: 236(ptr) AccessChain 208(particleIn) 126 717 126 - 719: 85(fvec4) Load 718 - 720: 18(fvec3) VectorShuffle 719 719 0 1 2 - 721: 18(fvec3) Load 266(pos) - 722: 18(fvec3) FSub 720 721 - Store 709(a) 722 - 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 726 726 16 16 - 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 724 723(b) 44 - 729: 11(int) Load 144(index) - 730: 153(ptr) AccessChain 123 126 152 16 - 731: 87(int) Load 730 - 732: 11(int) Bitcast 731 - 733: 11(int) ISub 729 732 - 734: 11(int) ISub 733 38 - 735: 236(ptr) AccessChain 208(particleIn) 126 734 126 - 736: 85(fvec4) Load 735 - 737: 18(fvec3) VectorShuffle 736 736 0 1 2 - 738: 18(fvec3) Load 266(pos) - 739: 18(fvec3) FSub 737 738 - Store 723(b) 739 - 745: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 743 743 16 16 - 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 741 740(c) 44 - 746: 11(int) Load 144(index) - 747: 153(ptr) AccessChain 123 126 152 16 - 748: 87(int) Load 747 - 749: 11(int) Bitcast 748 - 750: 11(int) ISub 746 749 - 751: 236(ptr) AccessChain 208(particleIn) 126 750 126 - 752: 85(fvec4) Load 751 - 753: 18(fvec3) VectorShuffle 752 752 0 1 2 - 754: 18(fvec3) Load 266(pos) - 755: 18(fvec3) FSub 753 754 - Store 740(c) 755 - 757: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 758 758 16 16 - 756: 18(fvec3) Load 709(a) - 759: 18(fvec3) Load 723(b) - 760: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 756 759 - 761: 18(fvec3) Load 723(b) - 762: 18(fvec3) Load 740(c) - 763: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 761 762 - 764: 18(fvec3) FAdd 760 763 - 765: 18(fvec3) Load 687(normal) - 766: 18(fvec3) FAdd 765 764 - Store 687(normal) 766 - Branch 708 - 708: Label - 768: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 769: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 770 770 16 16 - 767: 142(ptr) AccessChain 60(id) 16 - 771: 11(int) Load 767 - 772: 153(ptr) AccessChain 123 126 152 16 - 773: 87(int) Load 772 - 774: 87(int) ISub 773 244 - 775: 11(int) Bitcast 774 - 776: 171(bool) ULessThan 771 775 - SelectionMerge 778 None - BranchConditional 776 777 778 - 777: Label - 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 782 782 16 16 - 779: 11(int) Load 144(index) - 783: 153(ptr) AccessChain 123 126 152 16 - 784: 87(int) Load 783 - 785: 11(int) Bitcast 784 - 786: 11(int) ISub 779 785 - 787: 236(ptr) AccessChain 208(particleIn) 126 786 126 - 788: 85(fvec4) Load 787 - 789: 18(fvec3) VectorShuffle 788 788 0 1 2 - 790: 18(fvec3) Load 266(pos) - 791: 18(fvec3) FSub 789 790 - Store 709(a) 791 - 793: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 794 794 16 16 - 792: 11(int) Load 144(index) - 795: 153(ptr) AccessChain 123 126 152 16 - 796: 87(int) Load 795 - 797: 11(int) Bitcast 796 - 798: 11(int) ISub 792 797 - 799: 11(int) IAdd 798 38 - 800: 236(ptr) AccessChain 208(particleIn) 126 799 126 - 801: 85(fvec4) Load 800 - 802: 18(fvec3) VectorShuffle 801 801 0 1 2 - 803: 18(fvec3) Load 266(pos) - 804: 18(fvec3) FSub 802 803 - Store 723(b) 804 - 806: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 807 807 16 16 - 805: 11(int) Load 144(index) - 808: 11(int) IAdd 805 38 - 809: 236(ptr) AccessChain 208(particleIn) 126 808 126 - 810: 85(fvec4) Load 809 - 811: 18(fvec3) VectorShuffle 810 810 0 1 2 - 812: 18(fvec3) Load 266(pos) - 813: 18(fvec3) FSub 811 812 - Store 740(c) 813 - 815: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 816 816 16 16 - 814: 18(fvec3) Load 709(a) - 817: 18(fvec3) Load 723(b) - 818: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 814 817 - 819: 18(fvec3) Load 723(b) - 820: 18(fvec3) Load 740(c) - 821: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 819 820 - 822: 18(fvec3) FAdd 818 821 - 823: 18(fvec3) Load 687(normal) - 824: 18(fvec3) FAdd 823 822 - Store 687(normal) 824 - Branch 778 - 778: Label - 825: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - Branch 700 - 700: Label - 827: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 828: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 829 829 16 16 - 826: 142(ptr) AccessChain 60(id) 38 - 830: 11(int) Load 826 - 831: 153(ptr) AccessChain 123 126 152 38 - 832: 87(int) Load 831 - 833: 87(int) ISub 832 244 - 834: 11(int) Bitcast 833 - 835: 171(bool) ULessThan 830 834 - SelectionMerge 837 None - BranchConditional 835 836 837 - 836: Label - 839: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 840: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 841 841 16 16 - 838: 142(ptr) AccessChain 60(id) 16 - 842: 11(int) Load 838 - 843: 171(bool) UGreaterThan 842 16 - SelectionMerge 845 None - BranchConditional 843 844 845 - 844: Label - 847: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 848: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 849 849 16 16 - 846: 11(int) Load 144(index) - 850: 153(ptr) AccessChain 123 126 152 16 - 851: 87(int) Load 850 - 852: 11(int) Bitcast 851 - 853: 11(int) IAdd 846 852 - 854: 236(ptr) AccessChain 208(particleIn) 126 853 126 - 855: 85(fvec4) Load 854 - 856: 18(fvec3) VectorShuffle 855 855 0 1 2 - 857: 18(fvec3) Load 266(pos) - 858: 18(fvec3) FSub 856 857 - Store 709(a) 858 - 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 861 861 16 16 - 859: 11(int) Load 144(index) - 862: 153(ptr) AccessChain 123 126 152 16 - 863: 87(int) Load 862 - 864: 11(int) Bitcast 863 - 865: 11(int) IAdd 859 864 - 866: 11(int) ISub 865 38 - 867: 236(ptr) AccessChain 208(particleIn) 126 866 126 - 868: 85(fvec4) Load 867 - 869: 18(fvec3) VectorShuffle 868 868 0 1 2 - 870: 18(fvec3) Load 266(pos) - 871: 18(fvec3) FSub 869 870 - Store 723(b) 871 - 873: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 874 874 16 16 - 872: 11(int) Load 144(index) - 875: 11(int) ISub 872 38 - 876: 236(ptr) AccessChain 208(particleIn) 126 875 126 - 877: 85(fvec4) Load 876 - 878: 18(fvec3) VectorShuffle 877 877 0 1 2 - 879: 18(fvec3) Load 266(pos) - 880: 18(fvec3) FSub 878 879 - Store 740(c) 880 - 882: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 883 883 16 16 - 881: 18(fvec3) Load 709(a) - 884: 18(fvec3) Load 723(b) - 885: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 881 884 - 886: 18(fvec3) Load 723(b) - 887: 18(fvec3) Load 740(c) - 888: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 886 887 - 889: 18(fvec3) FAdd 885 888 - 890: 18(fvec3) Load 687(normal) - 891: 18(fvec3) FAdd 890 889 - Store 687(normal) 891 - Branch 845 - 845: Label - 893: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 894: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 895 895 16 16 - 892: 142(ptr) AccessChain 60(id) 16 - 896: 11(int) Load 892 - 897: 153(ptr) AccessChain 123 126 152 16 - 898: 87(int) Load 897 - 899: 87(int) ISub 898 244 - 900: 11(int) Bitcast 899 - 901: 171(bool) ULessThan 896 900 - SelectionMerge 903 None - BranchConditional 901 902 903 - 902: Label - 905: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 906: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 907 907 16 16 - 904: 11(int) Load 144(index) - 908: 11(int) IAdd 904 38 - 909: 236(ptr) AccessChain 208(particleIn) 126 908 126 - 910: 85(fvec4) Load 909 - 911: 18(fvec3) VectorShuffle 910 910 0 1 2 - 912: 18(fvec3) Load 266(pos) - 913: 18(fvec3) FSub 911 912 - Store 709(a) 913 - 915: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 916 916 16 16 - 914: 11(int) Load 144(index) - 917: 153(ptr) AccessChain 123 126 152 16 - 918: 87(int) Load 917 - 919: 11(int) Bitcast 918 - 920: 11(int) IAdd 914 919 - 921: 11(int) IAdd 920 38 - 922: 236(ptr) AccessChain 208(particleIn) 126 921 126 - 923: 85(fvec4) Load 922 - 924: 18(fvec3) VectorShuffle 923 923 0 1 2 - 925: 18(fvec3) Load 266(pos) - 926: 18(fvec3) FSub 924 925 - Store 723(b) 926 - 928: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 929 929 16 16 - 927: 11(int) Load 144(index) - 930: 153(ptr) AccessChain 123 126 152 16 - 931: 87(int) Load 930 - 932: 11(int) Bitcast 931 - 933: 11(int) IAdd 927 932 - 934: 236(ptr) AccessChain 208(particleIn) 126 933 126 - 935: 85(fvec4) Load 934 - 936: 18(fvec3) VectorShuffle 935 935 0 1 2 - 937: 18(fvec3) Load 266(pos) - 938: 18(fvec3) FSub 936 937 - Store 740(c) 938 - 940: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 941 941 16 16 - 939: 18(fvec3) Load 709(a) - 942: 18(fvec3) Load 723(b) - 943: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 939 942 - 944: 18(fvec3) Load 723(b) - 945: 18(fvec3) Load 740(c) - 946: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 944 945 - 947: 18(fvec3) FAdd 943 946 - 948: 18(fvec3) Load 687(normal) - 949: 18(fvec3) FAdd 948 947 - Store 687(normal) 949 - Branch 903 - 903: Label - 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - Branch 837 - 837: Label - 952: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 953: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 954 954 16 16 - 951: 11(int) Load 144(index) - 955: 18(fvec3) Load 687(normal) - 956: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 955 - 957: 8(float) CompositeExtract 956 0 - 958: 8(float) CompositeExtract 956 1 - 959: 8(float) CompositeExtract 956 2 - 960: 85(fvec4) CompositeConstruct 957 958 959 245 - 961: 236(ptr) AccessChain 230(particleOut) 126 951 549 - Store 961 960 - Branch 686 - 686: Label - 962: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 254 254 16 16 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 252 251(force) 44 + 259: 236(ptr) AccessChain 123 126 258 + 260: 85(fvec4) Load 259 + 261: 18(fvec3) VectorShuffle 260 260 0 1 2 + 262: 128(ptr) AccessChain 123 126 244 + 263: 8(float) Load 262 + 264: 18(fvec3) VectorTimesScalar 261 263 + Store 251(force) 264 + 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 268 268 16 16 + 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 266 265(pos) 44 + 271: 11(int) Load 145(index) + 272: 236(ptr) AccessChain 208(particleIn) 126 271 126 + 273: 85(fvec4) Load 272 + 274: 18(fvec3) VectorShuffle 273 273 0 1 2 + Store 265(pos) 274 + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 278 278 16 16 + 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 276 275(vel) 44 + 281: 11(int) Load 145(index) + 282: 236(ptr) AccessChain 208(particleIn) 126 281 244 + 283: 85(fvec4) Load 282 + 284: 18(fvec3) VectorShuffle 283 283 0 1 2 + Store 275(vel) 284 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 287 287 16 16 + 285: 143(ptr) AccessChain 60(id) 16 + 288: 11(int) Load 285 + 289: 172(bool) UGreaterThan 288 16 + SelectionMerge 291 None + BranchConditional 289 290 291 + 290: Label + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 295 295 16 16 + 292: 11(int) Load 145(index) + 296: 11(int) ISub 292 38 + 298: 236(ptr) AccessChain 208(particleIn) 126 296 126 + 299: 85(fvec4) Load 298 + 300: 18(fvec3) VectorShuffle 299 299 0 1 2 + Store 297(param) 300 + 302: 18(fvec3) Load 265(pos) + Store 301(param) 302 + 304: 128(ptr) AccessChain 123 126 213 + 305: 8(float) Load 304 + Store 303(param) 305 + 306: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 297(param) 301(param) 303(param) + 307: 18(fvec3) Load 251(force) + 308: 18(fvec3) FAdd 307 306 + Store 251(force) 308 + Branch 291 + 291: Label + 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 312 312 16 16 + 309: 143(ptr) AccessChain 60(id) 16 + 313: 11(int) Load 309 + 314: 154(ptr) AccessChain 123 126 153 16 + 315: 87(int) Load 314 + 316: 87(int) ISub 315 244 + 317: 11(int) Bitcast 316 + 318: 172(bool) ULessThan 313 317 + SelectionMerge 320 None + BranchConditional 318 319 320 + 319: Label + 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 324 324 16 16 + 321: 11(int) Load 145(index) + 325: 11(int) IAdd 321 38 + 327: 236(ptr) AccessChain 208(particleIn) 126 325 126 + 328: 85(fvec4) Load 327 + 329: 18(fvec3) VectorShuffle 328 328 0 1 2 + Store 326(param) 329 + 331: 18(fvec3) Load 265(pos) + Store 330(param) 331 + 333: 128(ptr) AccessChain 123 126 213 + 334: 8(float) Load 333 + Store 332(param) 334 + 335: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 326(param) 330(param) 332(param) + 336: 18(fvec3) Load 251(force) + 337: 18(fvec3) FAdd 336 335 + Store 251(force) 337 + Branch 320 + 320: Label + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 341 341 16 16 + 338: 143(ptr) AccessChain 60(id) 38 + 342: 11(int) Load 338 + 343: 154(ptr) AccessChain 123 126 153 38 + 344: 87(int) Load 343 + 345: 87(int) ISub 344 244 + 346: 11(int) Bitcast 345 + 347: 172(bool) ULessThan 342 346 + SelectionMerge 349 None + BranchConditional 347 348 349 + 348: Label + 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 353 353 16 16 + 350: 11(int) Load 145(index) + 354: 154(ptr) AccessChain 123 126 153 16 + 355: 87(int) Load 354 + 356: 11(int) Bitcast 355 + 357: 11(int) IAdd 350 356 + 360: 236(ptr) AccessChain 208(particleIn) 126 357 126 + 361: 85(fvec4) Load 360 + 362: 18(fvec3) VectorShuffle 361 361 0 1 2 + Store 359(param) 362 + 364: 18(fvec3) Load 265(pos) + Store 363(param) 364 + 366: 128(ptr) AccessChain 123 126 358 + 367: 8(float) Load 366 + Store 365(param) 367 + 368: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 359(param) 363(param) 365(param) + 369: 18(fvec3) Load 251(force) + 370: 18(fvec3) FAdd 369 368 + Store 251(force) 370 + Branch 349 + 349: Label + 372: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 374 374 16 16 + 371: 143(ptr) AccessChain 60(id) 38 + 375: 11(int) Load 371 + 376: 172(bool) UGreaterThan 375 16 + SelectionMerge 378 None + BranchConditional 376 377 378 + 377: Label + 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 382 382 16 16 + 379: 11(int) Load 145(index) + 383: 154(ptr) AccessChain 123 126 153 16 + 384: 87(int) Load 383 + 385: 11(int) Bitcast 384 + 386: 11(int) ISub 379 385 + 388: 236(ptr) AccessChain 208(particleIn) 126 386 126 + 389: 85(fvec4) Load 388 + 390: 18(fvec3) VectorShuffle 389 389 0 1 2 + Store 387(param) 390 + 392: 18(fvec3) Load 265(pos) + Store 391(param) 392 + 394: 128(ptr) AccessChain 123 126 358 + 395: 8(float) Load 394 + Store 393(param) 395 + 396: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 387(param) 391(param) 393(param) + 397: 18(fvec3) Load 251(force) + 398: 18(fvec3) FAdd 397 396 + Store 251(force) 398 + Branch 378 + 378: Label + 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 402 402 16 16 + 399: 143(ptr) AccessChain 60(id) 16 + 403: 11(int) Load 399 + 404: 172(bool) UGreaterThan 403 16 + 405: 143(ptr) AccessChain 60(id) 38 + 406: 11(int) Load 405 + 407: 154(ptr) AccessChain 123 126 153 38 + 408: 87(int) Load 407 + 409: 87(int) ISub 408 244 + 410: 11(int) Bitcast 409 + 411: 172(bool) ULessThan 406 410 + 412: 172(bool) LogicalAnd 404 411 + SelectionMerge 414 None + BranchConditional 412 413 414 + 413: Label + 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 418 418 16 16 + 415: 11(int) Load 145(index) + 419: 154(ptr) AccessChain 123 126 153 16 + 420: 87(int) Load 419 + 421: 11(int) Bitcast 420 + 422: 11(int) IAdd 415 421 + 423: 11(int) ISub 422 38 + 426: 236(ptr) AccessChain 208(particleIn) 126 423 126 + 427: 85(fvec4) Load 426 + 428: 18(fvec3) VectorShuffle 427 427 0 1 2 + Store 425(param) 428 + 430: 18(fvec3) Load 265(pos) + Store 429(param) 430 + 432: 128(ptr) AccessChain 123 126 424 + 433: 8(float) Load 432 + Store 431(param) 433 + 434: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 425(param) 429(param) 431(param) + 435: 18(fvec3) Load 251(force) + 436: 18(fvec3) FAdd 435 434 + Store 251(force) 436 + Branch 414 + 414: Label + 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 440 440 16 16 + 437: 143(ptr) AccessChain 60(id) 16 + 441: 11(int) Load 437 + 442: 172(bool) UGreaterThan 441 16 + 443: 143(ptr) AccessChain 60(id) 38 + 444: 11(int) Load 443 + 445: 172(bool) UGreaterThan 444 16 + 446: 172(bool) LogicalAnd 442 445 + SelectionMerge 448 None + BranchConditional 446 447 448 + 447: Label + 450: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 452 452 16 16 + 449: 11(int) Load 145(index) + 453: 154(ptr) AccessChain 123 126 153 16 + 454: 87(int) Load 453 + 455: 11(int) Bitcast 454 + 456: 11(int) ISub 449 455 + 457: 11(int) ISub 456 38 + 459: 236(ptr) AccessChain 208(particleIn) 126 457 126 + 460: 85(fvec4) Load 459 + 461: 18(fvec3) VectorShuffle 460 460 0 1 2 + Store 458(param) 461 + 463: 18(fvec3) Load 265(pos) + Store 462(param) 463 + 465: 128(ptr) AccessChain 123 126 424 + 466: 8(float) Load 465 + Store 464(param) 466 + 467: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 458(param) 462(param) 464(param) + 468: 18(fvec3) Load 251(force) + 469: 18(fvec3) FAdd 468 467 + Store 251(force) 469 + Branch 448 + 448: Label + 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 473 473 16 16 + 470: 143(ptr) AccessChain 60(id) 16 + 474: 11(int) Load 470 + 475: 154(ptr) AccessChain 123 126 153 16 + 476: 87(int) Load 475 + 477: 87(int) ISub 476 244 + 478: 11(int) Bitcast 477 + 479: 172(bool) ULessThan 474 478 + 480: 143(ptr) AccessChain 60(id) 38 + 481: 11(int) Load 480 + 482: 154(ptr) AccessChain 123 126 153 38 + 483: 87(int) Load 482 + 484: 87(int) ISub 483 244 + 485: 11(int) Bitcast 484 + 486: 172(bool) ULessThan 481 485 + 487: 172(bool) LogicalAnd 479 486 + SelectionMerge 489 None + BranchConditional 487 488 489 + 488: Label + 491: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 493 493 16 16 + 490: 11(int) Load 145(index) + 494: 154(ptr) AccessChain 123 126 153 16 + 495: 87(int) Load 494 + 496: 11(int) Bitcast 495 + 497: 11(int) IAdd 490 496 + 498: 11(int) IAdd 497 38 + 500: 236(ptr) AccessChain 208(particleIn) 126 498 126 + 501: 85(fvec4) Load 500 + 502: 18(fvec3) VectorShuffle 501 501 0 1 2 + Store 499(param) 502 + 504: 18(fvec3) Load 265(pos) + Store 503(param) 504 + 506: 128(ptr) AccessChain 123 126 424 + 507: 8(float) Load 506 + Store 505(param) 507 + 508: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 499(param) 503(param) 505(param) + 509: 18(fvec3) Load 251(force) + 510: 18(fvec3) FAdd 509 508 + Store 251(force) 510 + Branch 489 + 489: Label + 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 514 514 16 16 + 511: 143(ptr) AccessChain 60(id) 16 + 515: 11(int) Load 511 + 516: 154(ptr) AccessChain 123 126 153 16 + 517: 87(int) Load 516 + 518: 87(int) ISub 517 244 + 519: 11(int) Bitcast 518 + 520: 172(bool) ULessThan 515 519 + 521: 143(ptr) AccessChain 60(id) 38 + 522: 11(int) Load 521 + 523: 172(bool) UGreaterThan 522 16 + 524: 172(bool) LogicalAnd 520 523 + SelectionMerge 526 None + BranchConditional 524 525 526 + 525: Label + 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 530 530 16 16 + 527: 11(int) Load 145(index) + 531: 154(ptr) AccessChain 123 126 153 16 + 532: 87(int) Load 531 + 533: 11(int) Bitcast 532 + 534: 11(int) ISub 527 533 + 535: 11(int) IAdd 534 38 + 537: 236(ptr) AccessChain 208(particleIn) 126 535 126 + 538: 85(fvec4) Load 537 + 539: 18(fvec3) VectorShuffle 538 538 0 1 2 + Store 536(param) 539 + 541: 18(fvec3) Load 265(pos) + Store 540(param) 541 + 543: 128(ptr) AccessChain 123 126 424 + 544: 8(float) Load 543 + Store 542(param) 544 + 545: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 536(param) 540(param) 542(param) + 546: 18(fvec3) Load 251(force) + 547: 18(fvec3) FAdd 546 545 + Store 251(force) 547 + Branch 526 + 526: Label + 550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 552 552 16 16 + 549: 128(ptr) AccessChain 123 126 548 + 553: 8(float) Load 549 + 554: 8(float) FNegate 553 + 555: 18(fvec3) Load 275(vel) + 556: 18(fvec3) VectorTimesScalar 555 554 + 557: 18(fvec3) Load 251(force) + 558: 18(fvec3) FAdd 557 556 + Store 251(force) 558 + 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 562 562 16 16 + 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 560 559(f) 44 + 565: 18(fvec3) Load 251(force) + 566: 128(ptr) AccessChain 123 126 244 + 567: 8(float) Load 566 + 568: 8(float) FDiv 216 567 + 569: 18(fvec3) VectorTimesScalar 565 568 + Store 559(f) 569 + 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 572 572 16 16 + 570: 11(int) Load 145(index) + 573: 18(fvec3) Load 265(pos) + 574: 18(fvec3) Load 275(vel) + 575: 128(ptr) AccessChain 123 126 126 + 576: 8(float) Load 575 + 577: 18(fvec3) VectorTimesScalar 574 576 + 578: 18(fvec3) FAdd 573 577 + 580: 18(fvec3) Load 559(f) + 581: 18(fvec3) VectorTimesScalar 580 579 + 582: 128(ptr) AccessChain 123 126 126 + 583: 8(float) Load 582 + 584: 18(fvec3) VectorTimesScalar 581 583 + 585: 128(ptr) AccessChain 123 126 126 + 586: 8(float) Load 585 + 587: 18(fvec3) VectorTimesScalar 584 586 + 588: 18(fvec3) FAdd 578 587 + 589: 8(float) CompositeExtract 588 0 + 590: 8(float) CompositeExtract 588 1 + 591: 8(float) CompositeExtract 588 2 + 592: 85(fvec4) CompositeConstruct 589 590 591 216 + 593: 236(ptr) AccessChain 230(particleOut) 126 570 126 + Store 593 592 + 595: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 596 596 16 16 + 594: 11(int) Load 145(index) + 597: 18(fvec3) Load 275(vel) + 598: 18(fvec3) Load 559(f) + 599: 128(ptr) AccessChain 123 126 126 + 600: 8(float) Load 599 + 601: 18(fvec3) VectorTimesScalar 598 600 + 602: 18(fvec3) FAdd 597 601 + 603: 8(float) CompositeExtract 602 0 + 604: 8(float) CompositeExtract 602 1 + 605: 8(float) CompositeExtract 602 2 + 606: 85(fvec4) CompositeConstruct 603 604 605 245 + 607: 236(ptr) AccessChain 230(particleOut) 126 594 244 + Store 607 606 + 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 611 611 16 16 + 612: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 609 608(sphereDist) 44 + 614: 11(int) Load 145(index) + 615: 236(ptr) AccessChain 230(particleOut) 126 614 126 + 616: 85(fvec4) Load 615 + 617: 18(fvec3) VectorShuffle 616 616 0 1 2 + 619: 236(ptr) AccessChain 123 126 618 + 620: 85(fvec4) Load 619 + 621: 18(fvec3) VectorShuffle 620 620 0 1 2 + 622: 18(fvec3) FSub 617 621 + Store 608(sphereDist) 622 + 624: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 625 625 16 16 + 623: 18(fvec3) Load 608(sphereDist) + 626: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 623 + 628: 128(ptr) AccessChain 123 126 627 + 629: 8(float) Load 628 + 631: 8(float) FAdd 629 630 + 632: 172(bool) FOrdLessThan 626 631 + SelectionMerge 634 None + BranchConditional 632 633 634 + 633: Label + 636: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 638 638 16 16 + 635: 11(int) Load 145(index) + 639: 236(ptr) AccessChain 123 126 618 + 640: 85(fvec4) Load 639 + 641: 18(fvec3) VectorShuffle 640 640 0 1 2 + 642: 18(fvec3) Load 608(sphereDist) + 643: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 642 + 644: 128(ptr) AccessChain 123 126 627 + 645: 8(float) Load 644 + 646: 8(float) FAdd 645 630 + 647: 18(fvec3) VectorTimesScalar 643 646 + 648: 18(fvec3) FAdd 641 647 + 649: 128(ptr) AccessChain 230(particleOut) 126 635 126 16 + 650: 8(float) CompositeExtract 648 0 + Store 649 650 + 651: 128(ptr) AccessChain 230(particleOut) 126 635 126 38 + 652: 8(float) CompositeExtract 648 1 + Store 651 652 + 653: 128(ptr) AccessChain 230(particleOut) 126 635 126 49 + 654: 8(float) CompositeExtract 648 2 + Store 653 654 + 656: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 657 657 16 16 + 655: 11(int) Load 145(index) + 658: 236(ptr) AccessChain 230(particleOut) 126 655 244 + Store 658 246 + Branch 634 + 634: Label + 680: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 666 666 16 16 + 679: 677(ptr) AccessChain 675 126 126 + 682: 11(int) Load 679 + 683: 172(bool) IEqual 682 38 + SelectionMerge 685 None + BranchConditional 683 684 685 + 684: Label + 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 688 688 16 16 + 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 687 686(normal) 44 + Store 686(normal) 692 + 694: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 695 695 16 16 + 693: 143(ptr) AccessChain 60(id) 38 + 696: 11(int) Load 693 + 697: 172(bool) UGreaterThan 696 16 + SelectionMerge 699 None + BranchConditional 697 698 699 + 698: Label + 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 703 703 16 16 + 700: 143(ptr) AccessChain 60(id) 16 + 704: 11(int) Load 700 + 705: 172(bool) UGreaterThan 704 16 + SelectionMerge 707 None + BranchConditional 705 706 707 + 706: Label + 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 711 711 16 16 + 712: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 709 708(a) 44 + 715: 11(int) Load 145(index) + 716: 11(int) ISub 715 38 + 717: 236(ptr) AccessChain 208(particleIn) 126 716 126 + 718: 85(fvec4) Load 717 + 719: 18(fvec3) VectorShuffle 718 718 0 1 2 + 720: 18(fvec3) Load 265(pos) + 721: 18(fvec3) FSub 719 720 + Store 708(a) 721 + 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 725 725 16 16 + 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 723 722(b) 44 + 728: 11(int) Load 145(index) + 729: 154(ptr) AccessChain 123 126 153 16 + 730: 87(int) Load 729 + 731: 11(int) Bitcast 730 + 732: 11(int) ISub 728 731 + 733: 11(int) ISub 732 38 + 734: 236(ptr) AccessChain 208(particleIn) 126 733 126 + 735: 85(fvec4) Load 734 + 736: 18(fvec3) VectorShuffle 735 735 0 1 2 + 737: 18(fvec3) Load 265(pos) + 738: 18(fvec3) FSub 736 737 + Store 722(b) 738 + 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 742 742 16 16 + 743: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 740 739(c) 44 + 745: 11(int) Load 145(index) + 746: 154(ptr) AccessChain 123 126 153 16 + 747: 87(int) Load 746 + 748: 11(int) Bitcast 747 + 749: 11(int) ISub 745 748 + 750: 236(ptr) AccessChain 208(particleIn) 126 749 126 + 751: 85(fvec4) Load 750 + 752: 18(fvec3) VectorShuffle 751 751 0 1 2 + 753: 18(fvec3) Load 265(pos) + 754: 18(fvec3) FSub 752 753 + Store 739(c) 754 + 756: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 757 757 16 16 + 755: 18(fvec3) Load 708(a) + 758: 18(fvec3) Load 722(b) + 759: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 755 758 + 760: 18(fvec3) Load 722(b) + 761: 18(fvec3) Load 739(c) + 762: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 760 761 + 763: 18(fvec3) FAdd 759 762 + 764: 18(fvec3) Load 686(normal) + 765: 18(fvec3) FAdd 764 763 + Store 686(normal) 765 + Branch 707 + 707: Label + 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 768: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 769 769 16 16 + 766: 143(ptr) AccessChain 60(id) 16 + 770: 11(int) Load 766 + 771: 154(ptr) AccessChain 123 126 153 16 + 772: 87(int) Load 771 + 773: 87(int) ISub 772 244 + 774: 11(int) Bitcast 773 + 775: 172(bool) ULessThan 770 774 + SelectionMerge 777 None + BranchConditional 775 776 777 + 776: Label + 779: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 781 781 16 16 + 778: 11(int) Load 145(index) + 782: 154(ptr) AccessChain 123 126 153 16 + 783: 87(int) Load 782 + 784: 11(int) Bitcast 783 + 785: 11(int) ISub 778 784 + 786: 236(ptr) AccessChain 208(particleIn) 126 785 126 + 787: 85(fvec4) Load 786 + 788: 18(fvec3) VectorShuffle 787 787 0 1 2 + 789: 18(fvec3) Load 265(pos) + 790: 18(fvec3) FSub 788 789 + Store 708(a) 790 + 792: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 793 793 16 16 + 791: 11(int) Load 145(index) + 794: 154(ptr) AccessChain 123 126 153 16 + 795: 87(int) Load 794 + 796: 11(int) Bitcast 795 + 797: 11(int) ISub 791 796 + 798: 11(int) IAdd 797 38 + 799: 236(ptr) AccessChain 208(particleIn) 126 798 126 + 800: 85(fvec4) Load 799 + 801: 18(fvec3) VectorShuffle 800 800 0 1 2 + 802: 18(fvec3) Load 265(pos) + 803: 18(fvec3) FSub 801 802 + Store 722(b) 803 + 805: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 806 806 16 16 + 804: 11(int) Load 145(index) + 807: 11(int) IAdd 804 38 + 808: 236(ptr) AccessChain 208(particleIn) 126 807 126 + 809: 85(fvec4) Load 808 + 810: 18(fvec3) VectorShuffle 809 809 0 1 2 + 811: 18(fvec3) Load 265(pos) + 812: 18(fvec3) FSub 810 811 + Store 739(c) 812 + 814: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 815 815 16 16 + 813: 18(fvec3) Load 708(a) + 816: 18(fvec3) Load 722(b) + 817: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 813 816 + 818: 18(fvec3) Load 722(b) + 819: 18(fvec3) Load 739(c) + 820: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 818 819 + 821: 18(fvec3) FAdd 817 820 + 822: 18(fvec3) Load 686(normal) + 823: 18(fvec3) FAdd 822 821 + Store 686(normal) 823 + Branch 777 + 777: Label + Branch 699 + 699: Label + 825: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 826: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 827 827 16 16 + 824: 143(ptr) AccessChain 60(id) 38 + 828: 11(int) Load 824 + 829: 154(ptr) AccessChain 123 126 153 38 + 830: 87(int) Load 829 + 831: 87(int) ISub 830 244 + 832: 11(int) Bitcast 831 + 833: 172(bool) ULessThan 828 832 + SelectionMerge 835 None + BranchConditional 833 834 835 + 834: Label + 837: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 838: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 839 839 16 16 + 836: 143(ptr) AccessChain 60(id) 16 + 840: 11(int) Load 836 + 841: 172(bool) UGreaterThan 840 16 + SelectionMerge 843 None + BranchConditional 841 842 843 + 842: Label + 845: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 846: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 847 847 16 16 + 844: 11(int) Load 145(index) + 848: 154(ptr) AccessChain 123 126 153 16 + 849: 87(int) Load 848 + 850: 11(int) Bitcast 849 + 851: 11(int) IAdd 844 850 + 852: 236(ptr) AccessChain 208(particleIn) 126 851 126 + 853: 85(fvec4) Load 852 + 854: 18(fvec3) VectorShuffle 853 853 0 1 2 + 855: 18(fvec3) Load 265(pos) + 856: 18(fvec3) FSub 854 855 + Store 708(a) 856 + 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 859 859 16 16 + 857: 11(int) Load 145(index) + 860: 154(ptr) AccessChain 123 126 153 16 + 861: 87(int) Load 860 + 862: 11(int) Bitcast 861 + 863: 11(int) IAdd 857 862 + 864: 11(int) ISub 863 38 + 865: 236(ptr) AccessChain 208(particleIn) 126 864 126 + 866: 85(fvec4) Load 865 + 867: 18(fvec3) VectorShuffle 866 866 0 1 2 + 868: 18(fvec3) Load 265(pos) + 869: 18(fvec3) FSub 867 868 + Store 722(b) 869 + 871: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 872 872 16 16 + 870: 11(int) Load 145(index) + 873: 11(int) ISub 870 38 + 874: 236(ptr) AccessChain 208(particleIn) 126 873 126 + 875: 85(fvec4) Load 874 + 876: 18(fvec3) VectorShuffle 875 875 0 1 2 + 877: 18(fvec3) Load 265(pos) + 878: 18(fvec3) FSub 876 877 + Store 739(c) 878 + 880: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 881 881 16 16 + 879: 18(fvec3) Load 708(a) + 882: 18(fvec3) Load 722(b) + 883: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 879 882 + 884: 18(fvec3) Load 722(b) + 885: 18(fvec3) Load 739(c) + 886: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 884 885 + 887: 18(fvec3) FAdd 883 886 + 888: 18(fvec3) Load 686(normal) + 889: 18(fvec3) FAdd 888 887 + Store 686(normal) 889 + Branch 843 + 843: Label + 891: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 892: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 893 893 16 16 + 890: 143(ptr) AccessChain 60(id) 16 + 894: 11(int) Load 890 + 895: 154(ptr) AccessChain 123 126 153 16 + 896: 87(int) Load 895 + 897: 87(int) ISub 896 244 + 898: 11(int) Bitcast 897 + 899: 172(bool) ULessThan 894 898 + SelectionMerge 901 None + BranchConditional 899 900 901 + 900: Label + 903: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 904: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 905 905 16 16 + 902: 11(int) Load 145(index) + 906: 11(int) IAdd 902 38 + 907: 236(ptr) AccessChain 208(particleIn) 126 906 126 + 908: 85(fvec4) Load 907 + 909: 18(fvec3) VectorShuffle 908 908 0 1 2 + 910: 18(fvec3) Load 265(pos) + 911: 18(fvec3) FSub 909 910 + Store 708(a) 911 + 913: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 914 914 16 16 + 912: 11(int) Load 145(index) + 915: 154(ptr) AccessChain 123 126 153 16 + 916: 87(int) Load 915 + 917: 11(int) Bitcast 916 + 918: 11(int) IAdd 912 917 + 919: 11(int) IAdd 918 38 + 920: 236(ptr) AccessChain 208(particleIn) 126 919 126 + 921: 85(fvec4) Load 920 + 922: 18(fvec3) VectorShuffle 921 921 0 1 2 + 923: 18(fvec3) Load 265(pos) + 924: 18(fvec3) FSub 922 923 + Store 722(b) 924 + 926: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 927 927 16 16 + 925: 11(int) Load 145(index) + 928: 154(ptr) AccessChain 123 126 153 16 + 929: 87(int) Load 928 + 930: 11(int) Bitcast 929 + 931: 11(int) IAdd 925 930 + 932: 236(ptr) AccessChain 208(particleIn) 126 931 126 + 933: 85(fvec4) Load 932 + 934: 18(fvec3) VectorShuffle 933 933 0 1 2 + 935: 18(fvec3) Load 265(pos) + 936: 18(fvec3) FSub 934 935 + Store 739(c) 936 + 938: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 939 939 16 16 + 937: 18(fvec3) Load 708(a) + 940: 18(fvec3) Load 722(b) + 941: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 937 940 + 942: 18(fvec3) Load 722(b) + 943: 18(fvec3) Load 739(c) + 944: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 942 943 + 945: 18(fvec3) FAdd 941 944 + 946: 18(fvec3) Load 686(normal) + 947: 18(fvec3) FAdd 946 945 + Store 686(normal) 947 + Branch 901 + 901: Label + Branch 835 + 835: Label + 949: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 951 951 16 16 + 948: 11(int) Load 145(index) + 952: 18(fvec3) Load 686(normal) + 953: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 952 + 954: 8(float) CompositeExtract 953 0 + 955: 8(float) CompositeExtract 953 1 + 956: 8(float) CompositeExtract 953 2 + 957: 85(fvec4) CompositeConstruct 954 955 956 245 + 958: 236(ptr) AccessChain 230(particleOut) 126 948 548 + Store 958 957 + Branch 685 + 685: Label + 959: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 960: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 951 951 16 16 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.frag.out b/Test/baseResults/spv.debuginfo.hlsl.frag.out index 5e5846e8..5d0d7f7c 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.frag.out +++ b/Test/baseResults/spv.debuginfo.hlsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.hlsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 903 +// Id's are bound by 899 Capability Shader Capability ImageQuery @@ -9,7 +9,7 @@ spv.debuginfo.hlsl.frag 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 6 "main" 896 899 + EntryPoint Fragment 6 "main" 892 895 ExecutionMode 6 OriginUpperLeft 2: String "" 9: String "float" @@ -67,29 +67,29 @@ spv.debuginfo.hlsl.frag 462: String "displayDebugTarget" 467: String "UBO" 470: String "ubo" - 523: String "textureposition" - 528: String "samplerposition" - 538: String "normal" - 544: String "textureNormal" - 549: String "samplerNormal" - 557: String "albedo" - 563: String "textureAlbedo" - 568: String "samplerAlbedo" - 662: String "N" - 686: String "L" - 712: String "V" - 727: String "lightCosInnerAngle" - 734: String "lightCosOuterAngle" - 741: String "lightRange" - 748: String "dir" - 764: String "cosDir" - 773: String "spotEffect" - 783: String "heightAttenuation" - 792: String "NdotL" - 802: String "diff" - 810: String "R" - 820: String "NdotR" - 830: String "spec" + 524: String "textureposition" + 529: String "samplerposition" + 539: String "normal" + 545: String "textureNormal" + 550: String "samplerNormal" + 558: String "albedo" + 564: String "textureAlbedo" + 569: String "samplerAlbedo" + 657: String "N" + 681: String "L" + 707: String "V" + 722: String "lightCosInnerAngle" + 729: String "lightCosOuterAngle" + 736: String "lightRange" + 743: String "dir" + 759: String "cosDir" + 768: String "spotEffect" + 778: String "heightAttenuation" + 787: String "NdotL" + 797: String "diff" + 805: String "R" + 815: String "NdotR" + 825: String "spec" Name 6 "main" Name 36 "textureProj(vf4;f1;vf2;" Name 33 "P" @@ -141,41 +141,41 @@ spv.debuginfo.hlsl.frag Name 484 "shadowFactor" Name 491 "param" Name 493 "param" - Name 512 "fragPos" - Name 521 "textureposition" - Name 526 "samplerposition" - Name 536 "normal" - Name 542 "textureNormal" - Name 547 "samplerNormal" - Name 555 "albedo" - Name 561 "textureAlbedo" - Name 566 "samplerAlbedo" - Name 593 "fragcolor" - Name 600 "param" + Name 513 "fragPos" + Name 522 "textureposition" + Name 527 "samplerposition" + Name 537 "normal" + Name 543 "textureNormal" + Name 548 "samplerNormal" + Name 556 "albedo" + Name 562 "textureAlbedo" + Name 567 "samplerAlbedo" + Name 594 "fragcolor" Name 601 "param" - Name 660 "N" - Name 668 "i" - Name 684 "L" - Name 699 "dist" - Name 710 "V" - Name 725 "lightCosInnerAngle" - Name 732 "lightCosOuterAngle" - Name 739 "lightRange" - Name 746 "dir" - Name 762 "cosDir" - Name 771 "spotEffect" - Name 781 "heightAttenuation" - Name 790 "NdotL" - Name 800 "diff" - Name 808 "R" - Name 818 "NdotR" - Name 828 "spec" + Name 602 "param" + Name 655 "N" + Name 663 "i" + Name 679 "L" + Name 694 "dist" + Name 705 "V" + Name 720 "lightCosInnerAngle" + Name 727 "lightCosOuterAngle" + Name 734 "lightRange" + Name 741 "dir" + Name 757 "cosDir" + Name 766 "spotEffect" + Name 776 "heightAttenuation" + Name 785 "NdotL" + Name 795 "diff" + Name 803 "R" + Name 813 "NdotR" + Name 823 "spec" + Name 870 "param" Name 875 "param" - Name 880 "param" - Name 894 "inUV" - Name 896 "inUV" - Name 899 "@entryPointOutput" - Name 900 "param" + Name 890 "inUV" + Name 892 "inUV" + Name 895 "@entryPointOutput" + Name 896 "param" Decorate 167(textureShadowMap) Binding 5 Decorate 167(textureShadowMap) DescriptorSet 0 Decorate 178(samplerShadowMap) Binding 5 @@ -195,20 +195,20 @@ spv.debuginfo.hlsl.frag MemberDecorate 468(ubo) 0 Offset 0 Decorate 476 Binding 4 Decorate 476 DescriptorSet 0 - Decorate 521(textureposition) Binding 1 - Decorate 521(textureposition) DescriptorSet 0 - Decorate 526(samplerposition) Binding 1 - Decorate 526(samplerposition) DescriptorSet 0 - Decorate 542(textureNormal) Binding 2 - Decorate 542(textureNormal) DescriptorSet 0 - Decorate 547(samplerNormal) Binding 2 - Decorate 547(samplerNormal) DescriptorSet 0 - Decorate 561(textureAlbedo) Binding 3 - Decorate 561(textureAlbedo) DescriptorSet 0 - Decorate 566(samplerAlbedo) Binding 3 - Decorate 566(samplerAlbedo) DescriptorSet 0 - Decorate 896(inUV) Location 0 - Decorate 899(@entryPointOutput) Location 0 + Decorate 522(textureposition) Binding 1 + Decorate 522(textureposition) DescriptorSet 0 + Decorate 527(samplerposition) Binding 1 + Decorate 527(samplerposition) DescriptorSet 0 + Decorate 543(textureNormal) Binding 2 + Decorate 543(textureNormal) DescriptorSet 0 + Decorate 548(samplerNormal) Binding 2 + Decorate 548(samplerNormal) DescriptorSet 0 + Decorate 562(textureAlbedo) Binding 3 + Decorate 562(textureAlbedo) DescriptorSet 0 + Decorate 567(samplerAlbedo) Binding 3 + Decorate 567(samplerAlbedo) DescriptorSet 0 + Decorate 892(inUV) Location 0 + Decorate 895(@entryPointOutput) Location 0 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -298,7 +298,7 @@ spv.debuginfo.hlsl.frag 201: 8(float) Constant 0 210: 8(float) Constant 1048576000 213: 11(int) Constant 71 - 218: 11(int) Constant 74 + 217: 11(int) Constant 74 223: TypeVector 11(int) 3 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 13 17 225: TypePointer Function 223(ivec3) @@ -339,7 +339,7 @@ spv.debuginfo.hlsl.frag 344: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 345 237 40 346 16 65 19 367: 11(int) Constant 93 386: 11(int) Constant 94 - 400: 11(int) Constant 98 + 399: 11(int) Constant 98 411: 11(int) Constant 102 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 410 237 40 411 16 85 19 424: 235(int) Constant 3 @@ -384,114 +384,114 @@ spv.debuginfo.hlsl.frag 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 305 10 40 486 16 85 19 497: 11(int) Constant 113 507: 11(int) Constant 115 - 514: 11(int) Constant 121 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 40 514 16 101 19 - 517: TypeImage 8(float) 2D sampled format:Unknown - 518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 16 40 514 16 43 163 164 17 - 519: TypePointer UniformConstant 517 - 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 518 16 16 -521(textureposition): 519(ptr) Variable UniformConstant - 522: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 523 518 40 514 16 43 523 521(textureposition) 170 - 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 514 16 43 175 164 17 -526(samplerposition): 176(ptr) Variable UniformConstant - 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 528 525 40 514 16 43 528 526(samplerposition) 170 - 530: TypeSampledImage 517 - 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 184 16 40 514 16 43 185 164 17 - 539: 11(int) Constant 122 - 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 538 75 40 539 16 101 19 -542(textureNormal): 519(ptr) Variable UniformConstant - 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 544 518 40 539 16 43 544 542(textureNormal) 170 - 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 539 16 43 175 164 17 -547(samplerNormal): 176(ptr) Variable UniformConstant - 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 549 546 40 539 16 43 549 547(samplerNormal) 170 - 558: 11(int) Constant 123 - 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 557 20 40 558 16 101 19 -561(textureAlbedo): 519(ptr) Variable UniformConstant - 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 563 518 40 558 16 43 563 561(textureAlbedo) 170 - 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 558 16 43 175 164 17 -566(samplerAlbedo): 176(ptr) Variable UniformConstant - 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 568 565 40 558 16 43 568 566(samplerAlbedo) 170 - 573: TypePointer Uniform 235(int) - 574: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 237 27 16 - 577: 11(int) Constant 128 - 585: 11(int) Constant 129 - 595: 11(int) Constant 131 - 594: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 40 595 16 101 19 - 599: 74(fvec3) ConstantComposite 114 114 114 - 605: 11(int) Constant 132 + 515: 11(int) Constant 121 + 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 40 515 16 101 19 + 518: TypeImage 8(float) 2D sampled format:Unknown + 519: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 16 40 515 16 43 163 164 17 + 520: TypePointer UniformConstant 518 + 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 519 16 16 +522(textureposition): 520(ptr) Variable UniformConstant + 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 524 519 40 515 16 43 524 522(textureposition) 170 + 526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 515 16 43 175 164 17 +527(samplerposition): 176(ptr) Variable UniformConstant + 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 529 526 40 515 16 43 529 527(samplerposition) 170 + 531: TypeSampledImage 518 + 532: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 184 16 40 515 16 43 185 164 17 + 540: 11(int) Constant 122 + 538: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 539 75 40 540 16 101 19 +543(textureNormal): 520(ptr) Variable UniformConstant + 544: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 545 519 40 540 16 43 545 543(textureNormal) 170 + 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 540 16 43 175 164 17 +548(samplerNormal): 176(ptr) Variable UniformConstant + 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 550 547 40 540 16 43 550 548(samplerNormal) 170 + 559: 11(int) Constant 123 + 557: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 558 20 40 559 16 101 19 +562(textureAlbedo): 520(ptr) Variable UniformConstant + 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 564 519 40 559 16 43 564 562(textureAlbedo) 170 + 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 559 16 43 175 164 17 +567(samplerAlbedo): 176(ptr) Variable UniformConstant + 568: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 569 566 40 559 16 43 569 567(samplerAlbedo) 170 + 574: TypePointer Uniform 235(int) + 575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 237 27 16 + 578: 11(int) Constant 128 + 586: 11(int) Constant 129 + 596: 11(int) Constant 131 + 595: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 40 596 16 101 19 + 600: 74(fvec3) ConstantComposite 114 114 114 + 606: 11(int) Constant 132 611: 11(int) Constant 134 613: 11(int) Constant 135 - 619: 11(int) Constant 137 - 621: 11(int) Constant 138 - 627: 11(int) Constant 140 - 630: 11(int) Constant 141 - 636: 11(int) Constant 143 - 639: 11(int) Constant 144 - 646: 11(int) Constant 146 - 656: 11(int) Constant 150 - 658: 8(float) Constant 1036831949 - 663: 11(int) Constant 152 - 661: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 662 75 40 663 16 101 19 - 670: 11(int) Constant 154 - 669: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 410 237 40 670 16 101 19 - 687: 11(int) Constant 157 - 685: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 686 75 40 687 16 101 19 - 692: TypePointer Uniform 18(fvec4) - 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 27 16 - 701: 11(int) Constant 159 - 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 155 10 40 701 16 101 19 - 708: 11(int) Constant 160 - 713: 11(int) Constant 163 - 711: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 712 75 40 713 16 101 19 - 723: 11(int) Constant 164 - 728: 11(int) Constant 166 - 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 727 10 40 728 16 101 19 - 731: 8(float) Constant 1064781546 - 735: 11(int) Constant 167 - 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 734 10 40 735 16 101 19 - 738: 8(float) Constant 1063781322 - 742: 11(int) Constant 168 - 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 741 10 40 742 16 101 19 - 745: 8(float) Constant 1120403456 - 749: 11(int) Constant 171 - 747: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 748 75 40 749 16 101 19 - 765: 11(int) Constant 174 - 763: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 764 10 40 765 16 101 19 - 774: 11(int) Constant 175 - 772: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 773 10 40 774 16 101 19 - 784: 11(int) Constant 176 - 782: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 783 10 40 784 16 101 19 - 793: 11(int) Constant 179 - 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 792 10 40 793 16 101 19 - 803: 11(int) Constant 180 - 801: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 802 75 40 803 16 101 19 - 811: 11(int) Constant 183 - 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 810 75 40 811 16 101 19 - 821: 11(int) Constant 184 - 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 820 10 40 821 16 101 19 - 831: 11(int) Constant 185 - 829: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 830 75 40 831 16 101 19 - 835: 8(float) Constant 1098907648 - 840: 8(float) Constant 1075838976 - 845: 11(int) Constant 187 - 853: 235(int) Constant 2 - 870: 11(int) Constant 191 - 879: 11(int) Constant 193 - 886: 11(int) Constant 196 - 895: TypePointer Input 26(fvec2) - 896(inUV): 895(ptr) Variable Input - 898: TypePointer Output 18(fvec4) -899(@entryPointOutput): 898(ptr) Variable Output + 618: 11(int) Constant 137 + 620: 11(int) Constant 138 + 625: 11(int) Constant 140 + 628: 11(int) Constant 141 + 633: 11(int) Constant 143 + 636: 11(int) Constant 144 + 642: 11(int) Constant 146 + 651: 11(int) Constant 150 + 653: 8(float) Constant 1036831949 + 658: 11(int) Constant 152 + 656: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 657 75 40 658 16 101 19 + 665: 11(int) Constant 154 + 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 410 237 40 665 16 101 19 + 682: 11(int) Constant 157 + 680: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 681 75 40 682 16 101 19 + 687: TypePointer Uniform 18(fvec4) + 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 27 16 + 696: 11(int) Constant 159 + 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 155 10 40 696 16 101 19 + 703: 11(int) Constant 160 + 708: 11(int) Constant 163 + 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 707 75 40 708 16 101 19 + 718: 11(int) Constant 164 + 723: 11(int) Constant 166 + 721: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 722 10 40 723 16 101 19 + 726: 8(float) Constant 1064781546 + 730: 11(int) Constant 167 + 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 729 10 40 730 16 101 19 + 733: 8(float) Constant 1063781322 + 737: 11(int) Constant 168 + 735: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 736 10 40 737 16 101 19 + 740: 8(float) Constant 1120403456 + 744: 11(int) Constant 171 + 742: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 743 75 40 744 16 101 19 + 760: 11(int) Constant 174 + 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 759 10 40 760 16 101 19 + 769: 11(int) Constant 175 + 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 768 10 40 769 16 101 19 + 779: 11(int) Constant 176 + 777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 778 10 40 779 16 101 19 + 788: 11(int) Constant 179 + 786: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 787 10 40 788 16 101 19 + 798: 11(int) Constant 180 + 796: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 797 75 40 798 16 101 19 + 806: 11(int) Constant 183 + 804: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 805 75 40 806 16 101 19 + 816: 11(int) Constant 184 + 814: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 815 10 40 816 16 101 19 + 826: 11(int) Constant 185 + 824: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 825 75 40 826 16 101 19 + 830: 8(float) Constant 1098907648 + 835: 8(float) Constant 1075838976 + 840: 11(int) Constant 187 + 848: 235(int) Constant 2 + 865: 11(int) Constant 191 + 874: 11(int) Constant 193 + 881: 11(int) Constant 196 + 891: TypePointer Input 26(fvec2) + 892(inUV): 891(ptr) Variable Input + 894: TypePointer Output 18(fvec4) +895(@entryPointOutput): 894(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 894(inUV): 29(ptr) Variable Function - 900(param): 29(ptr) Variable Function - 897: 26(fvec2) Load 896(inUV) - Store 894(inUV) 897 - 901: 26(fvec2) Load 894(inUV) - Store 900(param) 901 - 902: 18(fvec4) FunctionCall 98(@main(vf2;) 900(param) - Store 899(@entryPointOutput) 902 + 890(inUV): 29(ptr) Variable Function + 896(param): 29(ptr) Variable Function + 893: 26(fvec2) Load 892(inUV) + Store 890(inUV) 893 + 897: 26(fvec2) Load 890(inUV) + Store 896(param) 897 + 898: 18(fvec4) FunctionCall 98(@main(vf2;) 896(param) + Store 895(@entryPointOutput) 898 Return FunctionEnd 36(textureProj(vf4;f1;vf2;): 8(float) Function None 31 @@ -576,13 +576,12 @@ spv.debuginfo.hlsl.frag Store 109(shadow) 210 Branch 209 209: Label - 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 Branch 152 152: Label - 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 218 218 16 16 - 215: 8(float) Load 109(shadow) - ReturnValue 215 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 217 217 16 16 + 214: 8(float) Load 109(shadow) + ReturnValue 214 FunctionEnd 62(filterPCF(vf4;f1;): 8(float) Function None 58 60(sc): 21(ptr) FunctionParameter @@ -736,23 +735,22 @@ spv.debuginfo.hlsl.frag Store 343(y) 391 Branch 352 354: Label - 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 Branch 334 334: Label - 394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 326 326 16 16 - 393: 235(int) Load 323(x) - 396: 235(int) IAdd 393 322 - Store 323(x) 396 + 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 326 326 16 16 + 392: 235(int) Load 323(x) + 395: 235(int) IAdd 392 322 + Store 323(x) 395 Branch 331 333: Label - 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 400 400 16 16 - 397: 8(float) Load 303(shadowFactor) - 401: 235(int) Load 309(count) - 402: 8(float) ConvertSToF 401 - 403: 8(float) FDiv 397 402 - ReturnValue 403 + 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 399 399 16 16 + 396: 8(float) Load 303(shadowFactor) + 400: 235(int) Load 309(count) + 401: 8(float) ConvertSToF 400 + 402: 8(float) FDiv 396 401 + ReturnValue 402 FunctionEnd 82(shadow(vf3;vf3;): 74(fvec3) Function None 78 80(fragcolor): 76(ptr) FunctionParameter @@ -828,317 +826,317 @@ spv.debuginfo.hlsl.frag 98(@main(vf2;): 18(fvec4) Function None 95 97(inUV): 29(ptr) FunctionParameter 99: Label - 512(fragPos): 76(ptr) Variable Function - 536(normal): 76(ptr) Variable Function - 555(albedo): 21(ptr) Variable Function - 593(fragcolor): 76(ptr) Variable Function - 600(param): 76(ptr) Variable Function + 513(fragPos): 76(ptr) Variable Function + 537(normal): 76(ptr) Variable Function + 556(albedo): 21(ptr) Variable Function + 594(fragcolor): 76(ptr) Variable Function 601(param): 76(ptr) Variable Function - 660(N): 76(ptr) Variable Function - 668(i): 251(ptr) Variable Function - 684(L): 76(ptr) Variable Function - 699(dist): 24(ptr) Variable Function - 710(V): 76(ptr) Variable Function -725(lightCosInnerAngle): 24(ptr) Variable Function -732(lightCosOuterAngle): 24(ptr) Variable Function - 739(lightRange): 24(ptr) Variable Function - 746(dir): 76(ptr) Variable Function - 762(cosDir): 24(ptr) Variable Function - 771(spotEffect): 24(ptr) Variable Function -781(heightAttenuation): 24(ptr) Variable Function - 790(NdotL): 24(ptr) Variable Function - 800(diff): 76(ptr) Variable Function - 808(R): 76(ptr) Variable Function - 818(NdotR): 24(ptr) Variable Function - 828(spec): 76(ptr) Variable Function + 602(param): 76(ptr) Variable Function + 655(N): 76(ptr) Variable Function + 663(i): 251(ptr) Variable Function + 679(L): 76(ptr) Variable Function + 694(dist): 24(ptr) Variable Function + 705(V): 76(ptr) Variable Function +720(lightCosInnerAngle): 24(ptr) Variable Function +727(lightCosOuterAngle): 24(ptr) Variable Function + 734(lightRange): 24(ptr) Variable Function + 741(dir): 76(ptr) Variable Function + 757(cosDir): 24(ptr) Variable Function + 766(spotEffect): 24(ptr) Variable Function +776(heightAttenuation): 24(ptr) Variable Function + 785(NdotL): 24(ptr) Variable Function + 795(diff): 76(ptr) Variable Function + 803(R): 76(ptr) Variable Function + 813(NdotR): 24(ptr) Variable Function + 823(spec): 76(ptr) Variable Function + 870(param): 76(ptr) Variable Function 875(param): 76(ptr) Variable Function - 880(param): 76(ptr) Variable Function 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 102 102 16 16 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 103 97(inUV) 49 - 511: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 101 98(@main(vf2;) - 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 514 514 16 16 - 515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 513 512(fragPos) 49 - 524: 517 Load 521(textureposition) - 529: 172 Load 526(samplerposition) - 532: 530 SampledImage 524 529 - 533: 26(fvec2) Load 97(inUV) - 534: 18(fvec4) ImageSampleImplicitLod 532 533 - 535: 74(fvec3) VectorShuffle 534 534 0 1 2 - Store 512(fragPos) 535 - 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 539 539 16 16 - 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 537 536(normal) 49 - 545: 517 Load 542(textureNormal) - 550: 172 Load 547(samplerNormal) - 551: 530 SampledImage 545 550 - 552: 26(fvec2) Load 97(inUV) - 553: 18(fvec4) ImageSampleImplicitLod 551 552 - 554: 74(fvec3) VectorShuffle 553 553 0 1 2 - Store 536(normal) 554 - 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 558 558 16 16 - 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 556 555(albedo) 49 - 564: 517 Load 561(textureAlbedo) - 569: 172 Load 566(samplerAlbedo) - 570: 530 SampledImage 564 569 - 571: 26(fvec2) Load 97(inUV) - 572: 18(fvec4) ImageSampleImplicitLod 570 571 - Store 555(albedo) 572 - 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 577 577 16 16 - 575: 573(ptr) AccessChain 476 315 424 - 578: 235(int) Load 575 - 579: 143(bool) SGreaterThan 578 315 - SelectionMerge 581 None - BranchConditional 579 580 581 - 580: Label - 583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 585 585 16 16 - 582: 573(ptr) AccessChain 476 315 424 - 586: 235(int) Load 582 - SelectionMerge 592 None - Switch 586 592 - case 1: 587 - case 2: 588 - case 3: 589 - case 4: 590 - case 5: 591 - 587: Label - 597: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 595 595 16 16 - 596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 594 593(fragcolor) 49 - Store 600(param) 599 - 602: 74(fvec3) Load 512(fragPos) - Store 601(param) 602 - 603: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 600(param) 601(param) - Store 593(fragcolor) 603 - 604: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 605 605 16 16 - Branch 592 + 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 101 98(@main(vf2;) + 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 515 515 16 16 + 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 514 513(fragPos) 49 + 525: 518 Load 522(textureposition) + 530: 172 Load 527(samplerposition) + 533: 531 SampledImage 525 530 + 534: 26(fvec2) Load 97(inUV) + 535: 18(fvec4) ImageSampleImplicitLod 533 534 + 536: 74(fvec3) VectorShuffle 535 535 0 1 2 + Store 513(fragPos) 536 + 542: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 540 540 16 16 + 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 538 537(normal) 49 + 546: 518 Load 543(textureNormal) + 551: 172 Load 548(samplerNormal) + 552: 531 SampledImage 546 551 + 553: 26(fvec2) Load 97(inUV) + 554: 18(fvec4) ImageSampleImplicitLod 552 553 + 555: 74(fvec3) VectorShuffle 554 554 0 1 2 + Store 537(normal) 555 + 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 559 559 16 16 + 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 557 556(albedo) 49 + 565: 518 Load 562(textureAlbedo) + 570: 172 Load 567(samplerAlbedo) + 571: 531 SampledImage 565 570 + 572: 26(fvec2) Load 97(inUV) + 573: 18(fvec4) ImageSampleImplicitLod 571 572 + Store 556(albedo) 573 + 577: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 578 578 16 16 + 576: 574(ptr) AccessChain 476 315 424 + 579: 235(int) Load 576 + 580: 143(bool) SGreaterThan 579 315 + SelectionMerge 582 None + BranchConditional 580 581 582 + 581: Label + 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 585: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 586 586 16 16 + 583: 574(ptr) AccessChain 476 315 424 + 587: 235(int) Load 583 + SelectionMerge 593 None + Switch 587 593 + case 1: 588 + case 2: 589 + case 3: 590 + case 4: 591 + case 5: 592 588: Label + 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 599: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 596 596 16 16 + 597: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 595 594(fragcolor) 49 + Store 601(param) 600 + 603: 74(fvec3) Load 513(fragPos) + Store 602(param) 603 + 604: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 601(param) 602(param) + Store 594(fragcolor) 604 + 605: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 606 606 16 16 + Branch 593 + 589: Label 609: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 610: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 611 611 16 16 - 608: 74(fvec3) Load 512(fragPos) - Store 593(fragcolor) 608 + 608: 74(fvec3) Load 513(fragPos) + Store 594(fragcolor) 608 612: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 613 613 16 16 - Branch 592 - 589: Label - 617: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 618: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 619 619 16 16 - 616: 74(fvec3) Load 536(normal) - Store 593(fragcolor) 616 - 620: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 621 621 16 16 - Branch 592 + Branch 593 590: Label - 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 626: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 627 627 16 16 - 624: 18(fvec4) Load 555(albedo) - 628: 74(fvec3) VectorShuffle 624 624 0 1 2 - Store 593(fragcolor) 628 - 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 630 630 16 16 - Branch 592 + 616: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 617: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 618 618 16 16 + 615: 74(fvec3) Load 537(normal) + Store 594(fragcolor) 615 + 619: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 620 620 16 16 + Branch 593 591: Label - 634: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 623: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 624: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 625 625 16 16 + 622: 18(fvec4) Load 556(albedo) + 626: 74(fvec3) VectorShuffle 622 622 0 1 2 + Store 594(fragcolor) 626 + 627: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 628 628 16 16 + Branch 593 + 592: Label + 631: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 633 633 16 16 + 630: 18(fvec4) Load 556(albedo) + 634: 74(fvec3) VectorShuffle 630 630 3 3 3 + Store 594(fragcolor) 634 635: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 636 636 16 16 - 633: 18(fvec4) Load 555(albedo) - 637: 74(fvec3) VectorShuffle 633 633 3 3 3 - Store 593(fragcolor) 637 - 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 639 639 16 16 - Branch 592 - 592: Label - 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 645: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 646 646 16 16 - 643: 74(fvec3) Load 593(fragcolor) - 647: 8(float) CompositeExtract 643 0 - 648: 8(float) CompositeExtract 643 1 - 649: 8(float) CompositeExtract 643 2 - 650: 18(fvec4) CompositeConstruct 647 648 649 114 - ReturnValue 650 - 581: Label - 654: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 656 656 16 16 - 653: 18(fvec4) Load 555(albedo) - 657: 74(fvec3) VectorShuffle 653 653 0 1 2 - 659: 74(fvec3) VectorTimesScalar 657 658 - Store 593(fragcolor) 659 - 665: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 663 663 16 16 - 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 661 660(N) 49 - 666: 74(fvec3) Load 536(normal) - 667: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 666 - Store 660(N) 667 - 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 669 668(i) 49 - Store 668(i) 315 - Branch 673 - 673: Label - 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 678: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - LoopMerge 675 676 None - Branch 679 - 679: Label - 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 682: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - 680: 235(int) Load 668(i) - 683: 143(bool) SLessThan 680 424 - BranchConditional 683 674 675 - 674: Label - 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 687 687 16 16 - 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 685 684(L) 49 - 691: 235(int) Load 668(i) - 694: 692(ptr) AccessChain 476 315 322 691 315 - 695: 18(fvec4) Load 694 - 696: 74(fvec3) VectorShuffle 695 695 0 1 2 - 697: 74(fvec3) Load 512(fragPos) - 698: 74(fvec3) FSub 696 697 - Store 684(L) 698 - 703: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 701 701 16 16 - 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 700 699(dist) 49 - 704: 74(fvec3) Load 684(L) - 705: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 704 - Store 699(dist) 705 - 707: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 708 708 16 16 - 706: 74(fvec3) Load 684(L) - 709: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 706 - Store 684(L) 709 - 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 713 713 16 16 - 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 711 710(V) 49 - 716: 692(ptr) AccessChain 476 315 315 - 717: 18(fvec4) Load 716 - 718: 74(fvec3) VectorShuffle 717 717 0 1 2 - 719: 74(fvec3) Load 512(fragPos) - 720: 74(fvec3) FSub 718 719 - Store 710(V) 720 - 722: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 723 723 16 16 - 721: 74(fvec3) Load 710(V) - 724: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 721 - Store 710(V) 724 - 730: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 728 728 16 16 - 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 726 725(lightCosInnerAngle) 49 - Store 725(lightCosInnerAngle) 731 - 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 735 735 16 16 - 736: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 733 732(lightCosOuterAngle) 49 - Store 732(lightCosOuterAngle) 738 - 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 742 742 16 16 - 743: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 740 739(lightRange) 49 - Store 739(lightRange) 745 - 751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 749 749 16 16 - 750: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 747 746(dir) 49 - 752: 235(int) Load 668(i) - 753: 692(ptr) AccessChain 476 315 322 752 315 - 754: 18(fvec4) Load 753 - 755: 74(fvec3) VectorShuffle 754 754 0 1 2 - 756: 235(int) Load 668(i) - 757: 692(ptr) AccessChain 476 315 322 756 322 - 758: 18(fvec4) Load 757 - 759: 74(fvec3) VectorShuffle 758 758 0 1 2 - 760: 74(fvec3) FSub 755 759 - 761: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 760 - Store 746(dir) 761 - 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 765 765 16 16 - 766: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 763 762(cosDir) 49 - 768: 74(fvec3) Load 684(L) - 769: 74(fvec3) Load 746(dir) - 770: 8(float) Dot 768 769 - Store 762(cosDir) 770 - 776: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 774 774 16 16 - 775: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 772 771(spotEffect) 49 - 777: 8(float) Load 732(lightCosOuterAngle) - 778: 8(float) Load 725(lightCosInnerAngle) - 779: 8(float) Load 762(cosDir) - 780: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 777 778 779 - Store 771(spotEffect) 780 - 786: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 784 784 16 16 - 785: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 782 781(heightAttenuation) 49 - 787: 8(float) Load 739(lightRange) - 788: 8(float) Load 699(dist) - 789: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 787 201 788 - Store 781(heightAttenuation) 789 - 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 793 793 16 16 - 794: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 791 790(NdotL) 49 - 796: 74(fvec3) Load 660(N) - 797: 74(fvec3) Load 684(L) - 798: 8(float) Dot 796 797 - 799: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 201 798 - Store 790(NdotL) 799 - 805: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 803 803 16 16 - 804: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 801 800(diff) 49 - 806: 8(float) Load 790(NdotL) - 807: 74(fvec3) CompositeConstruct 806 806 806 - Store 800(diff) 807 - 813: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 811 811 16 16 - 812: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 809 808(R) 49 - 814: 74(fvec3) Load 684(L) - 815: 74(fvec3) FNegate 814 - 816: 74(fvec3) Load 660(N) - 817: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 815 816 - Store 808(R) 817 - 823: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 821 821 16 16 - 822: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 819 818(NdotR) 49 - 824: 74(fvec3) Load 808(R) - 825: 74(fvec3) Load 710(V) - 826: 8(float) Dot 824 825 - 827: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 201 826 - Store 818(NdotR) 827 - 833: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 831 831 16 16 - 832: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 829 828(spec) 49 - 834: 8(float) Load 818(NdotR) - 836: 8(float) ExtInst 3(GLSL.std.450) 26(Pow) 834 835 - 837: 24(ptr) AccessChain 555(albedo) 17 - 838: 8(float) Load 837 - 839: 8(float) FMul 836 838 - 841: 8(float) FMul 839 840 - 842: 74(fvec3) CompositeConstruct 841 841 841 - Store 828(spec) 842 - 844: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 845 845 16 16 - 843: 74(fvec3) Load 800(diff) - 846: 74(fvec3) Load 828(spec) - 847: 74(fvec3) FAdd 843 846 - 848: 8(float) Load 771(spotEffect) - 849: 74(fvec3) VectorTimesScalar 847 848 - 850: 8(float) Load 781(heightAttenuation) - 851: 74(fvec3) VectorTimesScalar 849 850 - 852: 235(int) Load 668(i) - 854: 692(ptr) AccessChain 476 315 322 852 853 - 855: 18(fvec4) Load 854 - 856: 74(fvec3) VectorShuffle 855 855 0 1 2 - 857: 74(fvec3) FMul 851 856 - 858: 18(fvec4) Load 555(albedo) - 859: 74(fvec3) VectorShuffle 858 858 0 1 2 - 860: 74(fvec3) FMul 857 859 - 861: 74(fvec3) Load 593(fragcolor) - 862: 74(fvec3) FAdd 861 860 - Store 593(fragcolor) 862 - Branch 676 - 676: Label - 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 865: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - 863: 235(int) Load 668(i) - 866: 235(int) IAdd 863 322 - Store 668(i) 866 - Branch 673 - 675: Label - 868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 869: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 870 870 16 16 - 867: 573(ptr) AccessChain 476 315 853 - 871: 235(int) Load 867 - 872: 143(bool) SGreaterThan 871 315 - SelectionMerge 874 None - BranchConditional 872 873 874 - 873: Label - 877: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 878: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 879 879 16 16 - 876: 74(fvec3) Load 593(fragcolor) + Branch 593 + 593: Label + 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 641: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 642 642 16 16 + 639: 74(fvec3) Load 594(fragcolor) + 643: 8(float) CompositeExtract 639 0 + 644: 8(float) CompositeExtract 639 1 + 645: 8(float) CompositeExtract 639 2 + 646: 18(fvec4) CompositeConstruct 643 644 645 114 + ReturnValue 646 + 582: Label + 649: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 650: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 651 651 16 16 + 648: 18(fvec4) Load 556(albedo) + 652: 74(fvec3) VectorShuffle 648 648 0 1 2 + 654: 74(fvec3) VectorTimesScalar 652 653 + Store 594(fragcolor) 654 + 660: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 658 658 16 16 + 659: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 656 655(N) 49 + 661: 74(fvec3) Load 537(normal) + 662: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 661 + Store 655(N) 662 + 667: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 665 665 16 16 + 666: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 664 663(i) 49 + Store 663(i) 315 + Branch 668 + 668: Label + 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 673: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 665 665 16 16 + LoopMerge 670 671 None + Branch 674 + 674: Label + 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 665 665 16 16 + 675: 235(int) Load 663(i) + 678: 143(bool) SLessThan 675 424 + BranchConditional 678 669 670 + 669: Label + 684: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 685: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 682 682 16 16 + 683: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 680 679(L) 49 + 686: 235(int) Load 663(i) + 689: 687(ptr) AccessChain 476 315 322 686 315 + 690: 18(fvec4) Load 689 + 691: 74(fvec3) VectorShuffle 690 690 0 1 2 + 692: 74(fvec3) Load 513(fragPos) + 693: 74(fvec3) FSub 691 692 + Store 679(L) 693 + 698: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 696 696 16 16 + 697: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 695 694(dist) 49 + 699: 74(fvec3) Load 679(L) + 700: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 699 + Store 694(dist) 700 + 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 703 703 16 16 + 701: 74(fvec3) Load 679(L) + 704: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 701 + Store 679(L) 704 + 710: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 708 708 16 16 + 709: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 706 705(V) 49 + 711: 687(ptr) AccessChain 476 315 315 + 712: 18(fvec4) Load 711 + 713: 74(fvec3) VectorShuffle 712 712 0 1 2 + 714: 74(fvec3) Load 513(fragPos) + 715: 74(fvec3) FSub 713 714 + Store 705(V) 715 + 717: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 718 718 16 16 + 716: 74(fvec3) Load 705(V) + 719: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 716 + Store 705(V) 719 + 725: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 723 723 16 16 + 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 721 720(lightCosInnerAngle) 49 + Store 720(lightCosInnerAngle) 726 + 732: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 730 730 16 16 + 731: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 728 727(lightCosOuterAngle) 49 + Store 727(lightCosOuterAngle) 733 + 739: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 737 737 16 16 + 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 735 734(lightRange) 49 + Store 734(lightRange) 740 + 746: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 744 744 16 16 + 745: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 742 741(dir) 49 + 747: 235(int) Load 663(i) + 748: 687(ptr) AccessChain 476 315 322 747 315 + 749: 18(fvec4) Load 748 + 750: 74(fvec3) VectorShuffle 749 749 0 1 2 + 751: 235(int) Load 663(i) + 752: 687(ptr) AccessChain 476 315 322 751 322 + 753: 18(fvec4) Load 752 + 754: 74(fvec3) VectorShuffle 753 753 0 1 2 + 755: 74(fvec3) FSub 750 754 + 756: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 755 + Store 741(dir) 756 + 762: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 760 760 16 16 + 761: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 758 757(cosDir) 49 + 763: 74(fvec3) Load 679(L) + 764: 74(fvec3) Load 741(dir) + 765: 8(float) Dot 763 764 + Store 757(cosDir) 765 + 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 769 769 16 16 + 770: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 767 766(spotEffect) 49 + 772: 8(float) Load 727(lightCosOuterAngle) + 773: 8(float) Load 720(lightCosInnerAngle) + 774: 8(float) Load 757(cosDir) + 775: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 772 773 774 + Store 766(spotEffect) 775 + 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 779 779 16 16 + 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 777 776(heightAttenuation) 49 + 782: 8(float) Load 734(lightRange) + 783: 8(float) Load 694(dist) + 784: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 782 201 783 + Store 776(heightAttenuation) 784 + 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 788 788 16 16 + 789: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 786 785(NdotL) 49 + 791: 74(fvec3) Load 655(N) + 792: 74(fvec3) Load 679(L) + 793: 8(float) Dot 791 792 + 794: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 201 793 + Store 785(NdotL) 794 + 800: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 798 798 16 16 + 799: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 796 795(diff) 49 + 801: 8(float) Load 785(NdotL) + 802: 74(fvec3) CompositeConstruct 801 801 801 + Store 795(diff) 802 + 808: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 806 806 16 16 + 807: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 804 803(R) 49 + 809: 74(fvec3) Load 679(L) + 810: 74(fvec3) FNegate 809 + 811: 74(fvec3) Load 655(N) + 812: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 810 811 + Store 803(R) 812 + 818: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 816 816 16 16 + 817: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 814 813(NdotR) 49 + 819: 74(fvec3) Load 803(R) + 820: 74(fvec3) Load 705(V) + 821: 8(float) Dot 819 820 + 822: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 201 821 + Store 813(NdotR) 822 + 828: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 826 826 16 16 + 827: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 824 823(spec) 49 + 829: 8(float) Load 813(NdotR) + 831: 8(float) ExtInst 3(GLSL.std.450) 26(Pow) 829 830 + 832: 24(ptr) AccessChain 556(albedo) 17 + 833: 8(float) Load 832 + 834: 8(float) FMul 831 833 + 836: 8(float) FMul 834 835 + 837: 74(fvec3) CompositeConstruct 836 836 836 + Store 823(spec) 837 + 839: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 840 840 16 16 + 838: 74(fvec3) Load 795(diff) + 841: 74(fvec3) Load 823(spec) + 842: 74(fvec3) FAdd 838 841 + 843: 8(float) Load 766(spotEffect) + 844: 74(fvec3) VectorTimesScalar 842 843 + 845: 8(float) Load 776(heightAttenuation) + 846: 74(fvec3) VectorTimesScalar 844 845 + 847: 235(int) Load 663(i) + 849: 687(ptr) AccessChain 476 315 322 847 848 + 850: 18(fvec4) Load 849 + 851: 74(fvec3) VectorShuffle 850 850 0 1 2 + 852: 74(fvec3) FMul 846 851 + 853: 18(fvec4) Load 556(albedo) + 854: 74(fvec3) VectorShuffle 853 853 0 1 2 + 855: 74(fvec3) FMul 852 854 + 856: 74(fvec3) Load 594(fragcolor) + 857: 74(fvec3) FAdd 856 855 + Store 594(fragcolor) 857 + Branch 671 + 671: Label + 859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 665 665 16 16 + 858: 235(int) Load 663(i) + 861: 235(int) IAdd 858 322 + Store 663(i) 861 + Branch 668 + 670: Label + 863: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 865 865 16 16 + 862: 574(ptr) AccessChain 476 315 848 + 866: 235(int) Load 862 + 867: 143(bool) SGreaterThan 866 315 + SelectionMerge 869 None + BranchConditional 867 868 869 + 868: Label + 872: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 873: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 874 874 16 16 + 871: 74(fvec3) Load 594(fragcolor) + Store 870(param) 871 + 876: 74(fvec3) Load 513(fragPos) Store 875(param) 876 - 881: 74(fvec3) Load 512(fragPos) - Store 880(param) 881 - 882: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 875(param) 880(param) - Store 593(fragcolor) 882 - Branch 874 - 874: Label - 884: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 885: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 886 886 16 16 - 883: 74(fvec3) Load 593(fragcolor) - 887: 8(float) CompositeExtract 883 0 - 888: 8(float) CompositeExtract 883 1 - 889: 8(float) CompositeExtract 883 2 - 890: 18(fvec4) CompositeConstruct 887 888 889 114 - ReturnValue 890 + 877: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 870(param) 875(param) + Store 594(fragcolor) 877 + Branch 869 + 869: Label + 879: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 880: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 881 881 16 16 + 878: 74(fvec3) Load 594(fragcolor) + 882: 8(float) CompositeExtract 878 0 + 883: 8(float) CompositeExtract 878 1 + 884: 8(float) CompositeExtract 878 2 + 885: 18(fvec4) CompositeConstruct 882 883 884 114 + ReturnValue 885 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.tesc.out b/Test/baseResults/spv.debuginfo.hlsl.tesc.out index 04e24c4c..a3cbcc5e 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.tesc.out +++ b/Test/baseResults/spv.debuginfo.hlsl.tesc.out @@ -3,14 +3,14 @@ WARNING: 0:158: '' : attribute does not apply to entry point // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 705 +// Id's are bound by 706 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationControl 6 "main" 597 604 611 645 654 661 668 683 698 + EntryPoint TessellationControl 6 "main" 598 605 612 646 655 662 669 684 699 ExecutionMode 6 OutputVertices 4 ExecutionMode 6 Quads ExecutionMode 6 SpacingEqual @@ -58,16 +58,16 @@ WARNING: 0:158: '' : attribute does not apply to entry point 217: String "int" 228: String "clip0" 246: String "clip1" - 323: String "pos" - 330: String "type.2d.image" - 332: String "@type.2d.image" - 338: String "textureHeight" - 343: String "type.sampler" - 344: String "@type.sampler" - 349: String "samplerHeight" - 353: String "type.sampled.image" - 354: String "@type.sampled.image" - 371: String "i" + 324: String "pos" + 331: String "type.2d.image" + 333: String "@type.2d.image" + 339: String "textureHeight" + 344: String "type.sampler" + 345: String "@type.sampler" + 350: String "samplerHeight" + 354: String "type.sampled.image" + 355: String "@type.sampled.image" + 372: String "i" 424: String "output" Name 6 "main" Name 28 "screenSpaceTessFactor(vf4;vf4;" @@ -109,10 +109,10 @@ WARNING: 0:158: '' : attribute does not apply to entry point Name 213 "" Name 226 "clip0" Name 244 "clip1" - Name 321 "pos" - Name 336 "textureHeight" - Name 347 "samplerHeight" - Name 369 "i" + Name 322 "pos" + Name 337 "textureHeight" + Name 348 "samplerHeight" + Name 370 "i" Name 422 "output" Name 432 "param" Name 437 "param" @@ -125,22 +125,22 @@ WARNING: 0:158: '' : attribute does not apply to entry point Name 503 "param" Name 508 "param" Name 560 "output" - Name 594 "patch" - Name 597 "patch.Pos" - Name 604 "patch.Normal" - Name 611 "patch.UV" - Name 643 "InvocationID" - Name 645 "InvocationID" - Name 647 "flattenTemp" - Name 648 "param" - Name 650 "param" - Name 654 "@entryPointOutput.Pos" - Name 661 "@entryPointOutput.Normal" - Name 668 "@entryPointOutput.UV" - Name 678 "@patchConstantResult" - Name 679 "param" - Name 683 "@patchConstantOutput.TessLevelOuter" - Name 698 "@patchConstantOutput.TessLevelInner" + Name 595 "patch" + Name 598 "patch.Pos" + Name 605 "patch.Normal" + Name 612 "patch.UV" + Name 644 "InvocationID" + Name 646 "InvocationID" + Name 648 "flattenTemp" + Name 649 "param" + Name 651 "param" + Name 655 "@entryPointOutput.Pos" + Name 662 "@entryPointOutput.Normal" + Name 669 "@entryPointOutput.UV" + Name 679 "@patchConstantResult" + Name 680 "param" + Name 684 "@patchConstantOutput.TessLevelOuter" + Name 699 "@patchConstantOutput.TessLevelInner" Decorate 181 ArrayStride 16 MemberDecorate 183(UBO) 0 RowMajor MemberDecorate 183(UBO) 0 MatrixStride 16 @@ -158,21 +158,21 @@ WARNING: 0:158: '' : attribute does not apply to entry point MemberDecorate 206(ubo) 0 Offset 0 Decorate 213 Binding 0 Decorate 213 DescriptorSet 0 - Decorate 336(textureHeight) Binding 1 - Decorate 336(textureHeight) DescriptorSet 0 - Decorate 347(samplerHeight) Binding 1 - Decorate 347(samplerHeight) DescriptorSet 0 - Decorate 597(patch.Pos) BuiltIn Position - Decorate 604(patch.Normal) Location 0 - Decorate 611(patch.UV) Location 1 - Decorate 645(InvocationID) BuiltIn InvocationId - Decorate 654(@entryPointOutput.Pos) BuiltIn Position - Decorate 661(@entryPointOutput.Normal) Location 0 - Decorate 668(@entryPointOutput.UV) Location 1 - Decorate 683(@patchConstantOutput.TessLevelOuter) BuiltIn TessLevelOuter - Decorate 683(@patchConstantOutput.TessLevelOuter) Patch - Decorate 698(@patchConstantOutput.TessLevelInner) BuiltIn TessLevelInner - Decorate 698(@patchConstantOutput.TessLevelInner) Patch + Decorate 337(textureHeight) Binding 1 + Decorate 337(textureHeight) DescriptorSet 0 + Decorate 348(samplerHeight) Binding 1 + Decorate 348(samplerHeight) DescriptorSet 0 + Decorate 598(patch.Pos) BuiltIn Position + Decorate 605(patch.Normal) Location 0 + Decorate 612(patch.UV) Location 1 + Decorate 646(InvocationID) BuiltIn InvocationId + Decorate 655(@entryPointOutput.Pos) BuiltIn Position + Decorate 662(@entryPointOutput.Normal) Location 0 + Decorate 669(@entryPointOutput.UV) Location 1 + Decorate 684(@patchConstantOutput.TessLevelOuter) BuiltIn TessLevelOuter + Decorate 684(@patchConstantOutput.TessLevelOuter) Patch + Decorate 699(@patchConstantOutput.TessLevelInner) BuiltIn TessLevelInner + Decorate 699(@patchConstantOutput.TessLevelInner) Patch 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -329,37 +329,37 @@ WARNING: 0:158: '' : attribute does not apply to entry point 310: 216(int) Constant 5 314: 8(float) Constant 1065353216 315: 8(float) Constant 1115684864 - 324: 11(int) Constant 98 - 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 323 20 32 324 16 62 19 - 328: TypeImage 8(float) 2D sampled format:Unknown - 331: 11(int) Constant 99 - 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 330 16 32 331 16 35 332 333 17 - 334: TypePointer UniformConstant 328 - 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 329 16 16 -336(textureHeight): 334(ptr) Variable UniformConstant - 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 338 329 32 331 16 35 338 336(textureHeight) 215 - 341: TypeSampler - 342: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 343 36 32 331 16 35 344 333 17 - 345: TypePointer UniformConstant 341 - 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 342 16 16 -347(samplerHeight): 345(ptr) Variable UniformConstant - 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 349 342 32 331 16 35 349 347(samplerHeight) 215 - 351: TypeSampledImage 328 - 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 353 16 32 331 16 35 354 333 17 - 359: 216(int) Constant 4 - 367: TypePointer Function 216(int) - 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 218 22 16 - 372: 11(int) Constant 102 - 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 371 218 32 372 16 62 19 - 389: 11(int) Constant 103 - 390: 216(int) Constant 3 - 392: TypePointer Uniform 18(fvec4) - 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 46 16 - 397: 8(float) Constant 1090519040 - 402: 52(bool) ConstantFalse - 405: 11(int) Constant 105 - 415: 11(int) Constant 108 + 325: 11(int) Constant 98 + 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 324 20 32 325 16 62 19 + 329: TypeImage 8(float) 2D sampled format:Unknown + 332: 11(int) Constant 99 + 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 331 16 32 332 16 35 333 334 17 + 335: TypePointer UniformConstant 329 + 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 330 16 16 +337(textureHeight): 335(ptr) Variable UniformConstant + 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 339 330 32 332 16 35 339 337(textureHeight) 215 + 342: TypeSampler + 343: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 344 36 32 332 16 35 345 334 17 + 346: TypePointer UniformConstant 342 + 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 343 16 16 +348(samplerHeight): 346(ptr) Variable UniformConstant + 349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 350 343 32 332 16 35 350 348(samplerHeight) 215 + 352: TypeSampledImage 329 + 353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 354 16 32 332 16 35 355 334 17 + 360: 216(int) Constant 4 + 368: TypePointer Function 216(int) + 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 218 22 16 + 373: 11(int) Constant 102 + 371: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 372 218 32 373 16 62 19 + 390: 11(int) Constant 103 + 391: 216(int) Constant 3 + 393: TypePointer Uniform 18(fvec4) + 394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 46 16 + 398: 8(float) Constant 1090519040 + 403: 52(bool) ConstantFalse + 406: 11(int) Constant 105 + 414: 11(int) Constant 108 420: TypePointer Function 97(ConstantsHSOutput) 421: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 105 22 16 425: 11(int) Constant 113 @@ -388,7 +388,7 @@ WARNING: 0:158: '' : attribute does not apply to entry point 542: 11(int) Constant 142 545: 11(int) Constant 143 548: 11(int) Constant 144 - 553: 11(int) Constant 148 + 552: 11(int) Constant 148 558: TypePointer Function 121(HSOutput) 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 128 22 16 562: 11(int) Constant 159 @@ -402,150 +402,150 @@ WARNING: 0:158: '' : attribute does not apply to entry point 578: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 73 22 16 584: 11(int) Constant 162 590: 11(int) Constant 163 - 595: TypeArray 18(fvec4) 19 - 596: TypePointer Input 595 - 597(patch.Pos): 596(ptr) Variable Input - 598: TypePointer Input 18(fvec4) - 602: TypeArray 72(fvec3) 19 - 603: TypePointer Input 602 -604(patch.Normal): 603(ptr) Variable Input - 605: TypePointer Input 72(fvec3) - 609: TypeArray 48(fvec2) 19 - 610: TypePointer Input 609 - 611(patch.UV): 610(ptr) Variable Input - 612: TypePointer Input 48(fvec2) - 644: TypePointer Input 11(int) -645(InvocationID): 644(ptr) Variable Input - 653: TypePointer Output 595 -654(@entryPointOutput.Pos): 653(ptr) Variable Output - 658: TypePointer Output 18(fvec4) - 660: TypePointer Output 602 -661(@entryPointOutput.Normal): 660(ptr) Variable Output - 665: TypePointer Output 72(fvec3) - 667: TypePointer Output 609 -668(@entryPointOutput.UV): 667(ptr) Variable Output - 672: TypePointer Output 48(fvec2) - 682: TypePointer Output 93 -683(@patchConstantOutput.TessLevelOuter): 682(ptr) Variable Output - 686: TypePointer Output 8(float) - 697: TypePointer Output 95 -698(@patchConstantOutput.TessLevelInner): 697(ptr) Variable Output + 596: TypeArray 18(fvec4) 19 + 597: TypePointer Input 596 + 598(patch.Pos): 597(ptr) Variable Input + 599: TypePointer Input 18(fvec4) + 603: TypeArray 72(fvec3) 19 + 604: TypePointer Input 603 +605(patch.Normal): 604(ptr) Variable Input + 606: TypePointer Input 72(fvec3) + 610: TypeArray 48(fvec2) 19 + 611: TypePointer Input 610 + 612(patch.UV): 611(ptr) Variable Input + 613: TypePointer Input 48(fvec2) + 645: TypePointer Input 11(int) +646(InvocationID): 645(ptr) Variable Input + 654: TypePointer Output 596 +655(@entryPointOutput.Pos): 654(ptr) Variable Output + 659: TypePointer Output 18(fvec4) + 661: TypePointer Output 603 +662(@entryPointOutput.Normal): 661(ptr) Variable Output + 666: TypePointer Output 72(fvec3) + 668: TypePointer Output 610 +669(@entryPointOutput.UV): 668(ptr) Variable Output + 673: TypePointer Output 48(fvec2) + 683: TypePointer Output 93 +684(@patchConstantOutput.TessLevelOuter): 683(ptr) Variable Output + 687: TypePointer Output 8(float) + 698: TypePointer Output 95 +699(@patchConstantOutput.TessLevelInner): 698(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 594(patch): 91(ptr) Variable Function -643(InvocationID): 119(ptr) Variable Function -647(flattenTemp): 558(ptr) Variable Function - 648(param): 91(ptr) Variable Function - 650(param): 119(ptr) Variable Function -678(@patchConstantResult): 420(ptr) Variable Function - 679(param): 91(ptr) Variable Function - 599: 598(ptr) AccessChain 597(patch.Pos) 219 - 600: 18(fvec4) Load 599 - 601: 21(ptr) AccessChain 594(patch) 219 219 - Store 601 600 - 606: 605(ptr) AccessChain 604(patch.Normal) 219 - 607: 72(fvec3) Load 606 - 608: 577(ptr) AccessChain 594(patch) 219 220 - Store 608 607 - 613: 612(ptr) AccessChain 611(patch.UV) 219 - 614: 48(fvec2) Load 613 - 615: 50(ptr) AccessChain 594(patch) 219 431 - Store 615 614 - 616: 598(ptr) AccessChain 597(patch.Pos) 220 - 617: 18(fvec4) Load 616 - 618: 21(ptr) AccessChain 594(patch) 220 219 - Store 618 617 - 619: 605(ptr) AccessChain 604(patch.Normal) 220 - 620: 72(fvec3) Load 619 - 621: 577(ptr) AccessChain 594(patch) 220 220 - Store 621 620 - 622: 612(ptr) AccessChain 611(patch.UV) 220 - 623: 48(fvec2) Load 622 - 624: 50(ptr) AccessChain 594(patch) 220 431 - Store 624 623 - 625: 598(ptr) AccessChain 597(patch.Pos) 431 - 626: 18(fvec4) Load 625 - 627: 21(ptr) AccessChain 594(patch) 431 219 - Store 627 626 - 628: 605(ptr) AccessChain 604(patch.Normal) 431 - 629: 72(fvec3) Load 628 - 630: 577(ptr) AccessChain 594(patch) 431 220 - Store 630 629 - 631: 612(ptr) AccessChain 611(patch.UV) 431 - 632: 48(fvec2) Load 631 - 633: 50(ptr) AccessChain 594(patch) 431 431 - Store 633 632 - 634: 598(ptr) AccessChain 597(patch.Pos) 390 - 635: 18(fvec4) Load 634 - 636: 21(ptr) AccessChain 594(patch) 390 219 - Store 636 635 - 637: 605(ptr) AccessChain 604(patch.Normal) 390 - 638: 72(fvec3) Load 637 - 639: 577(ptr) AccessChain 594(patch) 390 220 - Store 639 638 - 640: 612(ptr) AccessChain 611(patch.UV) 390 - 641: 48(fvec2) Load 640 - 642: 50(ptr) AccessChain 594(patch) 390 431 - Store 642 641 - 646: 11(int) Load 645(InvocationID) - Store 643(InvocationID) 646 - 649: 89 Load 594(patch) - Store 648(param) 649 - 651: 11(int) Load 643(InvocationID) - Store 650(param) 651 - 652:121(HSOutput) FunctionCall 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 648(param) 650(param) - Store 647(flattenTemp) 652 - 655: 11(int) Load 645(InvocationID) - 656: 21(ptr) AccessChain 647(flattenTemp) 219 - 657: 18(fvec4) Load 656 - 659: 658(ptr) AccessChain 654(@entryPointOutput.Pos) 655 - Store 659 657 - 662: 11(int) Load 645(InvocationID) - 663: 577(ptr) AccessChain 647(flattenTemp) 220 - 664: 72(fvec3) Load 663 - 666: 665(ptr) AccessChain 661(@entryPointOutput.Normal) 662 - Store 666 664 - 669: 11(int) Load 645(InvocationID) - 670: 50(ptr) AccessChain 647(flattenTemp) 431 - 671: 48(fvec2) Load 670 - 673: 672(ptr) AccessChain 668(@entryPointOutput.UV) 669 - Store 673 671 + 595(patch): 91(ptr) Variable Function +644(InvocationID): 119(ptr) Variable Function +648(flattenTemp): 558(ptr) Variable Function + 649(param): 91(ptr) Variable Function + 651(param): 119(ptr) Variable Function +679(@patchConstantResult): 420(ptr) Variable Function + 680(param): 91(ptr) Variable Function + 600: 599(ptr) AccessChain 598(patch.Pos) 219 + 601: 18(fvec4) Load 600 + 602: 21(ptr) AccessChain 595(patch) 219 219 + Store 602 601 + 607: 606(ptr) AccessChain 605(patch.Normal) 219 + 608: 72(fvec3) Load 607 + 609: 577(ptr) AccessChain 595(patch) 219 220 + Store 609 608 + 614: 613(ptr) AccessChain 612(patch.UV) 219 + 615: 48(fvec2) Load 614 + 616: 50(ptr) AccessChain 595(patch) 219 431 + Store 616 615 + 617: 599(ptr) AccessChain 598(patch.Pos) 220 + 618: 18(fvec4) Load 617 + 619: 21(ptr) AccessChain 595(patch) 220 219 + Store 619 618 + 620: 606(ptr) AccessChain 605(patch.Normal) 220 + 621: 72(fvec3) Load 620 + 622: 577(ptr) AccessChain 595(patch) 220 220 + Store 622 621 + 623: 613(ptr) AccessChain 612(patch.UV) 220 + 624: 48(fvec2) Load 623 + 625: 50(ptr) AccessChain 595(patch) 220 431 + Store 625 624 + 626: 599(ptr) AccessChain 598(patch.Pos) 431 + 627: 18(fvec4) Load 626 + 628: 21(ptr) AccessChain 595(patch) 431 219 + Store 628 627 + 629: 606(ptr) AccessChain 605(patch.Normal) 431 + 630: 72(fvec3) Load 629 + 631: 577(ptr) AccessChain 595(patch) 431 220 + Store 631 630 + 632: 613(ptr) AccessChain 612(patch.UV) 431 + 633: 48(fvec2) Load 632 + 634: 50(ptr) AccessChain 595(patch) 431 431 + Store 634 633 + 635: 599(ptr) AccessChain 598(patch.Pos) 391 + 636: 18(fvec4) Load 635 + 637: 21(ptr) AccessChain 595(patch) 391 219 + Store 637 636 + 638: 606(ptr) AccessChain 605(patch.Normal) 391 + 639: 72(fvec3) Load 638 + 640: 577(ptr) AccessChain 595(patch) 391 220 + Store 640 639 + 641: 613(ptr) AccessChain 612(patch.UV) 391 + 642: 48(fvec2) Load 641 + 643: 50(ptr) AccessChain 595(patch) 391 431 + Store 643 642 + 647: 11(int) Load 646(InvocationID) + Store 644(InvocationID) 647 + 650: 89 Load 595(patch) + Store 649(param) 650 + 652: 11(int) Load 644(InvocationID) + Store 651(param) 652 + 653:121(HSOutput) FunctionCall 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 649(param) 651(param) + Store 648(flattenTemp) 653 + 656: 11(int) Load 646(InvocationID) + 657: 21(ptr) AccessChain 648(flattenTemp) 219 + 658: 18(fvec4) Load 657 + 660: 659(ptr) AccessChain 655(@entryPointOutput.Pos) 656 + Store 660 658 + 663: 11(int) Load 646(InvocationID) + 664: 577(ptr) AccessChain 648(flattenTemp) 220 + 665: 72(fvec3) Load 664 + 667: 666(ptr) AccessChain 662(@entryPointOutput.Normal) 663 + Store 667 665 + 670: 11(int) Load 646(InvocationID) + 671: 50(ptr) AccessChain 648(flattenTemp) 431 + 672: 48(fvec2) Load 671 + 674: 673(ptr) AccessChain 669(@entryPointOutput.UV) 670 + Store 674 672 ControlBarrier 46 19 16 - 674: 11(int) Load 645(InvocationID) - 675: 52(bool) IEqual 674 219 - SelectionMerge 677 None - BranchConditional 675 676 677 - 676: Label - 680: 89 Load 594(patch) - Store 679(param) 680 - 681:97(ConstantsHSOutput) FunctionCall 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 679(param) - Store 678(@patchConstantResult) 681 - 684: 158(ptr) AccessChain 678(@patchConstantResult) 219 219 - 685: 8(float) Load 684 - 687: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 219 - Store 687 685 - 688: 158(ptr) AccessChain 678(@patchConstantResult) 219 220 - 689: 8(float) Load 688 - 690: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 220 - Store 690 689 - 691: 158(ptr) AccessChain 678(@patchConstantResult) 219 431 - 692: 8(float) Load 691 - 693: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 431 - Store 693 692 - 694: 158(ptr) AccessChain 678(@patchConstantResult) 219 390 - 695: 8(float) Load 694 - 696: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 390 - Store 696 695 - 699: 158(ptr) AccessChain 678(@patchConstantResult) 220 219 - 700: 8(float) Load 699 - 701: 686(ptr) AccessChain 698(@patchConstantOutput.TessLevelInner) 219 - Store 701 700 - 702: 158(ptr) AccessChain 678(@patchConstantResult) 220 220 - 703: 8(float) Load 702 - 704: 686(ptr) AccessChain 698(@patchConstantOutput.TessLevelInner) 220 - Store 704 703 - Branch 677 - 677: Label + 675: 11(int) Load 646(InvocationID) + 676: 52(bool) IEqual 675 219 + SelectionMerge 678 None + BranchConditional 676 677 678 + 677: Label + 681: 89 Load 595(patch) + Store 680(param) 681 + 682:97(ConstantsHSOutput) FunctionCall 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 680(param) + Store 679(@patchConstantResult) 682 + 685: 158(ptr) AccessChain 679(@patchConstantResult) 219 219 + 686: 8(float) Load 685 + 688: 687(ptr) AccessChain 684(@patchConstantOutput.TessLevelOuter) 219 + Store 688 686 + 689: 158(ptr) AccessChain 679(@patchConstantResult) 219 220 + 690: 8(float) Load 689 + 691: 687(ptr) AccessChain 684(@patchConstantOutput.TessLevelOuter) 220 + Store 691 690 + 692: 158(ptr) AccessChain 679(@patchConstantResult) 219 431 + 693: 8(float) Load 692 + 694: 687(ptr) AccessChain 684(@patchConstantOutput.TessLevelOuter) 431 + Store 694 693 + 695: 158(ptr) AccessChain 679(@patchConstantResult) 219 391 + 696: 8(float) Load 695 + 697: 687(ptr) AccessChain 684(@patchConstantOutput.TessLevelOuter) 391 + Store 697 696 + 700: 158(ptr) AccessChain 679(@patchConstantResult) 220 219 + 701: 8(float) Load 700 + 702: 687(ptr) AccessChain 699(@patchConstantOutput.TessLevelInner) 219 + Store 702 701 + 703: 158(ptr) AccessChain 679(@patchConstantResult) 220 220 + 704: 8(float) Load 703 + 705: 687(ptr) AccessChain 699(@patchConstantOutput.TessLevelInner) 220 + Store 705 704 + Branch 678 + 678: Label Return FunctionEnd 28(screenSpaceTessFactor(vf4;vf4;): 8(float) Function None 24 @@ -664,76 +664,75 @@ WARNING: 0:158: '' : attribute does not apply to entry point 57(Pos): 21(ptr) FunctionParameter 58(inUV): 50(ptr) FunctionParameter 60: Label - 321(pos): 21(ptr) Variable Function - 369(i): 367(ptr) Variable Function + 322(pos): 21(ptr) Variable Function + 370(i): 368(ptr) Variable Function 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 63 63 16 16 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 64 57(Pos) 41 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 69 58(inUV) 41 - 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 62 59(frustumCheck(vf4;vf2;) - 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 324 324 16 16 - 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 322 321(pos) 41 - 327: 18(fvec4) Load 57(Pos) - Store 321(pos) 327 - 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 331 331 16 16 - 339: 328 Load 336(textureHeight) - 350: 341 Load 347(samplerHeight) - 355: 351 SampledImage 339 350 - 356: 48(fvec2) Load 58(inUV) - 357: 18(fvec4) ImageSampleExplicitLod 355 356 Lod 234 - 358: 8(float) CompositeExtract 357 0 - 360: 305(ptr) AccessChain 213 219 359 - 361: 8(float) Load 360 - 362: 8(float) FMul 358 361 - 363: 158(ptr) AccessChain 321(pos) 36 - 364: 8(float) Load 363 - 365: 8(float) FSub 364 362 - 366: 158(ptr) AccessChain 321(pos) 36 - Store 366 365 - 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 372 372 16 16 - 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 370 369(i) 41 - Store 369(i) 219 - Branch 375 - 375: Label - 379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 372 372 16 16 - LoopMerge 377 378 None - Branch 381 - 381: Label - 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 372 372 16 16 - 382: 216(int) Load 369(i) - 385: 52(bool) SLessThan 382 274 - BranchConditional 385 376 377 - 376: Label - 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 389 389 16 16 - 386: 18(fvec4) Load 321(pos) - 391: 216(int) Load 369(i) - 394: 392(ptr) AccessChain 213 219 390 391 - 395: 18(fvec4) Load 394 - 396: 8(float) Dot 386 395 - 398: 8(float) FAdd 396 397 - 399: 52(bool) FOrdLessThan 398 234 - SelectionMerge 401 None - BranchConditional 399 400 401 - 400: Label - 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 405 405 16 16 - ReturnValue 402 - 401: Label - 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - Branch 378 - 378: Label - 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 372 372 16 16 - 409: 216(int) Load 369(i) - 412: 216(int) IAdd 409 220 - Store 369(i) 412 - Branch 375 - 377: Label - 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 415 415 16 16 + 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 62 59(frustumCheck(vf4;vf2;) + 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 325 325 16 16 + 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 323 322(pos) 41 + 328: 18(fvec4) Load 57(Pos) + Store 322(pos) 328 + 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 332 332 16 16 + 340: 329 Load 337(textureHeight) + 351: 342 Load 348(samplerHeight) + 356: 352 SampledImage 340 351 + 357: 48(fvec2) Load 58(inUV) + 358: 18(fvec4) ImageSampleExplicitLod 356 357 Lod 234 + 359: 8(float) CompositeExtract 358 0 + 361: 305(ptr) AccessChain 213 219 360 + 362: 8(float) Load 361 + 363: 8(float) FMul 359 362 + 364: 158(ptr) AccessChain 322(pos) 36 + 365: 8(float) Load 364 + 366: 8(float) FSub 365 363 + 367: 158(ptr) AccessChain 322(pos) 36 + Store 367 366 + 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 373 373 16 16 + 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 371 370(i) 41 + Store 370(i) 219 + Branch 376 + 376: Label + 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 373 373 16 16 + LoopMerge 378 379 None + Branch 382 + 382: Label + 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 373 373 16 16 + 383: 216(int) Load 370(i) + 386: 52(bool) SLessThan 383 274 + BranchConditional 386 377 378 + 377: Label + 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 390 390 16 16 + 387: 18(fvec4) Load 322(pos) + 392: 216(int) Load 370(i) + 395: 393(ptr) AccessChain 213 219 391 392 + 396: 18(fvec4) Load 395 + 397: 8(float) Dot 387 396 + 399: 8(float) FAdd 397 398 + 400: 52(bool) FOrdLessThan 399 234 + SelectionMerge 402 None + BranchConditional 400 401 402 + 401: Label + 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 406 406 16 16 + ReturnValue 403 + 402: Label + Branch 379 + 379: Label + 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 373 373 16 16 + 408: 216(int) Load 370(i) + 411: 216(int) IAdd 408 220 + Store 370(i) 411 + Branch 376 + 378: Label + 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 414 414 16 16 ReturnValue 180 FunctionEnd 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];):97(ConstantsHSOutput) Function None 107 @@ -786,7 +785,7 @@ WARNING: 0:158: '' : attribute does not apply to entry point 457: 158(ptr) AccessChain 422(output) 219 431 Store 457 234 461: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 462 462 16 16 - 460: 158(ptr) AccessChain 422(output) 219 390 + 460: 158(ptr) AccessChain 422(output) 219 391 Store 460 234 Branch 443 463: Label @@ -800,7 +799,7 @@ WARNING: 0:158: '' : attribute does not apply to entry point 470: Label 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 476 476 16 16 - 473: 21(ptr) AccessChain 109(patch) 390 219 + 473: 21(ptr) AccessChain 109(patch) 391 219 477: 18(fvec4) Load 473 Store 472(param) 477 479: 21(ptr) AccessChain 109(patch) 219 219 @@ -833,16 +832,16 @@ WARNING: 0:158: '' : attribute does not apply to entry point 504: 21(ptr) AccessChain 109(patch) 431 219 507: 18(fvec4) Load 504 Store 503(param) 507 - 509: 21(ptr) AccessChain 109(patch) 390 219 + 509: 21(ptr) AccessChain 109(patch) 391 219 510: 18(fvec4) Load 509 Store 508(param) 510 511: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 503(param) 508(param) - 512: 158(ptr) AccessChain 422(output) 219 390 + 512: 158(ptr) AccessChain 422(output) 219 391 Store 512 511 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 515 515 16 16 513: 158(ptr) AccessChain 422(output) 219 219 516: 8(float) Load 513 - 517: 158(ptr) AccessChain 422(output) 219 390 + 517: 158(ptr) AccessChain 422(output) 219 391 518: 8(float) Load 517 519: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 516 518 153 520: 158(ptr) AccessChain 422(output) 220 219 @@ -874,17 +873,16 @@ WARNING: 0:158: '' : attribute does not apply to entry point 543: 158(ptr) AccessChain 422(output) 219 431 Store 543 314 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 548 548 16 16 - 546: 158(ptr) AccessChain 422(output) 219 390 + 546: 158(ptr) AccessChain 422(output) 219 391 Store 546 314 Branch 471 471: Label - 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 Branch 443 443: Label - 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 - 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 553 553 16 16 - 550:97(ConstantsHSOutput) Load 422(output) - ReturnValue 550 + 550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 + 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 552 552 16 16 + 549:97(ConstantsHSOutput) Load 422(output) + ReturnValue 549 FunctionEnd 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;):121(HSOutput) Function None 131 133(patch): 91(ptr) FunctionParameter diff --git a/Test/baseResults/spv.debuginfo.hlsl.tese.out b/Test/baseResults/spv.debuginfo.hlsl.tese.out index e2b8ffd3..230e96a8 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.tese.out +++ b/Test/baseResults/spv.debuginfo.hlsl.tese.out @@ -1,14 +1,14 @@ spv.debuginfo.hlsl.tese // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 477 +// Id's are bound by 478 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationEvaluation 6 "main" 368 383 392 401 408 414 454 458 462 465 468 471 474 + EntryPoint TessellationEvaluation 6 "main" 369 384 393 402 409 415 455 459 463 466 469 472 475 ExecutionMode 6 Quads 2: String "" 9: String "float" @@ -102,25 +102,25 @@ spv.debuginfo.hlsl.tese Name 297 "ubo" MemberName 297(ubo) 0 "ubo" Name 303 "" - Name 366 "input" - Name 368 "input.TessLevelOuter" - Name 383 "input.TessLevelInner" - Name 390 "TessCoord" - Name 392 "TessCoord" - Name 398 "patch" - Name 401 "patch.Pos" - Name 408 "patch.Normal" - Name 414 "patch.UV" - Name 446 "flattenTemp" - Name 448 "param" - Name 450 "param" - Name 454 "@entryPointOutput.Pos" - Name 458 "@entryPointOutput.Normal" - Name 462 "@entryPointOutput.UV" - Name 465 "@entryPointOutput.ViewVec" - Name 468 "@entryPointOutput.LightVec" - Name 471 "@entryPointOutput.EyePos" - Name 474 "@entryPointOutput.WorldPos" + Name 367 "input" + Name 369 "input.TessLevelOuter" + Name 384 "input.TessLevelInner" + Name 391 "TessCoord" + Name 393 "TessCoord" + Name 399 "patch" + Name 402 "patch.Pos" + Name 409 "patch.Normal" + Name 415 "patch.UV" + Name 447 "flattenTemp" + Name 449 "param" + Name 451 "param" + Name 455 "@entryPointOutput.Pos" + Name 459 "@entryPointOutput.Normal" + Name 463 "@entryPointOutput.UV" + Name 466 "@entryPointOutput.ViewVec" + Name 469 "@entryPointOutput.LightVec" + Name 472 "@entryPointOutput.EyePos" + Name 475 "@entryPointOutput.WorldPos" Decorate 241(displacementMapTexture) Binding 1 Decorate 241(displacementMapTexture) DescriptorSet 0 Decorate 253(displacementMapSampler) Binding 1 @@ -142,22 +142,22 @@ spv.debuginfo.hlsl.tese MemberDecorate 297(ubo) 0 Offset 0 Decorate 303 Binding 0 Decorate 303 DescriptorSet 0 - Decorate 368(input.TessLevelOuter) BuiltIn TessLevelOuter - Decorate 368(input.TessLevelOuter) Patch - Decorate 383(input.TessLevelInner) BuiltIn TessLevelInner - Decorate 383(input.TessLevelInner) Patch - Decorate 392(TessCoord) BuiltIn TessCoord - Decorate 392(TessCoord) Patch - Decorate 401(patch.Pos) BuiltIn Position - Decorate 408(patch.Normal) Location 0 - Decorate 414(patch.UV) Location 1 - Decorate 454(@entryPointOutput.Pos) BuiltIn Position - Decorate 458(@entryPointOutput.Normal) Location 0 - Decorate 462(@entryPointOutput.UV) Location 1 - Decorate 465(@entryPointOutput.ViewVec) Location 2 - Decorate 468(@entryPointOutput.LightVec) Location 3 - Decorate 471(@entryPointOutput.EyePos) Location 4 - Decorate 474(@entryPointOutput.WorldPos) Location 5 + Decorate 369(input.TessLevelOuter) BuiltIn TessLevelOuter + Decorate 369(input.TessLevelOuter) Patch + Decorate 384(input.TessLevelInner) BuiltIn TessLevelInner + Decorate 384(input.TessLevelInner) Patch + Decorate 393(TessCoord) BuiltIn TessCoord + Decorate 393(TessCoord) Patch + Decorate 402(patch.Pos) BuiltIn Position + Decorate 409(patch.Normal) Location 0 + Decorate 415(patch.UV) Location 1 + Decorate 455(@entryPointOutput.Pos) BuiltIn Position + Decorate 459(@entryPointOutput.Normal) Location 0 + Decorate 463(@entryPointOutput.UV) Location 1 + Decorate 466(@entryPointOutput.ViewVec) Location 2 + Decorate 469(@entryPointOutput.LightVec) Location 3 + Decorate 472(@entryPointOutput.EyePos) Location 4 + Decorate 475(@entryPointOutput.WorldPos) Location 5 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -330,148 +330,148 @@ spv.debuginfo.hlsl.tese 351: 124(int) Constant 5 354: 11(int) Constant 92 362: 11(int) Constant 93 - 367: TypePointer Input 19 -368(input.TessLevelOuter): 367(ptr) Variable Input - 369: TypePointer Input 8(float) - 382: TypePointer Input 22 -383(input.TessLevelInner): 382(ptr) Variable Input - 391: TypePointer Input 49(fvec3) - 392(TessCoord): 391(ptr) Variable Input - 397: TypePointer Function 65 - 399: TypeArray 47(fvec4) 18 - 400: TypePointer Input 399 - 401(patch.Pos): 400(ptr) Variable Input - 402: TypePointer Input 47(fvec4) - 406: TypeArray 49(fvec3) 18 - 407: TypePointer Input 406 -408(patch.Normal): 407(ptr) Variable Input - 412: TypeArray 43(fvec2) 18 - 413: TypePointer Input 412 - 414(patch.UV): 413(ptr) Variable Input - 415: TypePointer Input 43(fvec2) - 453: TypePointer Output 47(fvec4) -454(@entryPointOutput.Pos): 453(ptr) Variable Output - 457: TypePointer Output 49(fvec3) -458(@entryPointOutput.Normal): 457(ptr) Variable Output - 461: TypePointer Output 43(fvec2) -462(@entryPointOutput.UV): 461(ptr) Variable Output -465(@entryPointOutput.ViewVec): 457(ptr) Variable Output -468(@entryPointOutput.LightVec): 457(ptr) Variable Output -471(@entryPointOutput.EyePos): 457(ptr) Variable Output -474(@entryPointOutput.WorldPos): 457(ptr) Variable Output + 368: TypePointer Input 19 +369(input.TessLevelOuter): 368(ptr) Variable Input + 370: TypePointer Input 8(float) + 383: TypePointer Input 22 +384(input.TessLevelInner): 383(ptr) Variable Input + 392: TypePointer Input 49(fvec3) + 393(TessCoord): 392(ptr) Variable Input + 398: TypePointer Function 65 + 400: TypeArray 47(fvec4) 18 + 401: TypePointer Input 400 + 402(patch.Pos): 401(ptr) Variable Input + 403: TypePointer Input 47(fvec4) + 407: TypeArray 49(fvec3) 18 + 408: TypePointer Input 407 +409(patch.Normal): 408(ptr) Variable Input + 413: TypeArray 43(fvec2) 18 + 414: TypePointer Input 413 + 415(patch.UV): 414(ptr) Variable Input + 416: TypePointer Input 43(fvec2) + 454: TypePointer Output 47(fvec4) +455(@entryPointOutput.Pos): 454(ptr) Variable Output + 458: TypePointer Output 49(fvec3) +459(@entryPointOutput.Normal): 458(ptr) Variable Output + 462: TypePointer Output 43(fvec2) +463(@entryPointOutput.UV): 462(ptr) Variable Output +466(@entryPointOutput.ViewVec): 458(ptr) Variable Output +469(@entryPointOutput.LightVec): 458(ptr) Variable Output +472(@entryPointOutput.EyePos): 458(ptr) Variable Output +475(@entryPointOutput.WorldPos): 458(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 366(input): 40(ptr) Variable Function - 390(TessCoord): 45(ptr) Variable Function - 398(patch): 397(ptr) Variable Function -446(flattenTemp): 105(ptr) Variable Function - 448(param): 40(ptr) Variable Function - 450(param): 45(ptr) Variable Function - 370: 369(ptr) AccessChain 368(input.TessLevelOuter) 127 - 371: 8(float) Load 370 - 372: 132(ptr) AccessChain 366(input) 127 127 - Store 372 371 - 373: 369(ptr) AccessChain 368(input.TessLevelOuter) 130 - 374: 8(float) Load 373 - 375: 132(ptr) AccessChain 366(input) 127 130 - Store 375 374 - 376: 369(ptr) AccessChain 368(input.TessLevelOuter) 128 - 377: 8(float) Load 376 - 378: 132(ptr) AccessChain 366(input) 127 128 - Store 378 377 - 379: 369(ptr) AccessChain 368(input.TessLevelOuter) 144 - 380: 8(float) Load 379 - 381: 132(ptr) AccessChain 366(input) 127 144 - Store 381 380 - 384: 369(ptr) AccessChain 383(input.TessLevelInner) 127 - 385: 8(float) Load 384 - 386: 132(ptr) AccessChain 366(input) 130 127 - Store 386 385 - 387: 369(ptr) AccessChain 383(input.TessLevelInner) 130 - 388: 8(float) Load 387 - 389: 132(ptr) AccessChain 366(input) 130 130 - Store 389 388 - 393: 49(fvec3) Load 392(TessCoord) - 394: 8(float) CompositeExtract 393 0 - 395: 8(float) CompositeExtract 393 1 - 396: 43(fvec2) CompositeConstruct 394 395 - Store 390(TessCoord) 396 - 403: 402(ptr) AccessChain 401(patch.Pos) 127 - 404: 47(fvec4) Load 403 - 405: 195(ptr) AccessChain 398(patch) 127 127 - Store 405 404 - 409: 391(ptr) AccessChain 408(patch.Normal) 127 - 410: 49(fvec3) Load 409 - 411: 160(ptr) AccessChain 398(patch) 127 130 - Store 411 410 - 416: 415(ptr) AccessChain 414(patch.UV) 127 - 417: 43(fvec2) Load 416 - 418: 45(ptr) AccessChain 398(patch) 127 128 - Store 418 417 - 419: 402(ptr) AccessChain 401(patch.Pos) 130 - 420: 47(fvec4) Load 419 - 421: 195(ptr) AccessChain 398(patch) 130 127 - Store 421 420 - 422: 391(ptr) AccessChain 408(patch.Normal) 130 - 423: 49(fvec3) Load 422 - 424: 160(ptr) AccessChain 398(patch) 130 130 - Store 424 423 - 425: 415(ptr) AccessChain 414(patch.UV) 130 - 426: 43(fvec2) Load 425 - 427: 45(ptr) AccessChain 398(patch) 130 128 - Store 427 426 - 428: 402(ptr) AccessChain 401(patch.Pos) 128 - 429: 47(fvec4) Load 428 - 430: 195(ptr) AccessChain 398(patch) 128 127 - Store 430 429 - 431: 391(ptr) AccessChain 408(patch.Normal) 128 - 432: 49(fvec3) Load 431 - 433: 160(ptr) AccessChain 398(patch) 128 130 - Store 433 432 - 434: 415(ptr) AccessChain 414(patch.UV) 128 - 435: 43(fvec2) Load 434 - 436: 45(ptr) AccessChain 398(patch) 128 128 - Store 436 435 - 437: 402(ptr) AccessChain 401(patch.Pos) 144 - 438: 47(fvec4) Load 437 - 439: 195(ptr) AccessChain 398(patch) 144 127 - Store 439 438 - 440: 391(ptr) AccessChain 408(patch.Normal) 144 - 441: 49(fvec3) Load 440 - 442: 160(ptr) AccessChain 398(patch) 144 130 - Store 442 441 - 443: 415(ptr) AccessChain 414(patch.UV) 144 - 444: 43(fvec2) Load 443 - 445: 45(ptr) AccessChain 398(patch) 144 128 - Store 445 444 - 447: 65 Load 398(patch) - 449:24(ConstantsHSOutput) Load 366(input) - Store 448(param) 449 - 451: 43(fvec2) Load 390(TessCoord) - Store 450(param) 451 - 452:67(DSOutput) FunctionCall 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 448(param) 450(param) 447 - Store 446(flattenTemp) 452 - 455: 195(ptr) AccessChain 446(flattenTemp) 127 - 456: 47(fvec4) Load 455 - Store 454(@entryPointOutput.Pos) 456 - 459: 160(ptr) AccessChain 446(flattenTemp) 130 - 460: 49(fvec3) Load 459 - Store 458(@entryPointOutput.Normal) 460 - 463: 45(ptr) AccessChain 446(flattenTemp) 128 - 464: 43(fvec2) Load 463 - Store 462(@entryPointOutput.UV) 464 - 466: 160(ptr) AccessChain 446(flattenTemp) 144 - 467: 49(fvec3) Load 466 - Store 465(@entryPointOutput.ViewVec) 467 - 469: 160(ptr) AccessChain 446(flattenTemp) 305 - 470: 49(fvec3) Load 469 - Store 468(@entryPointOutput.LightVec) 470 - 472: 160(ptr) AccessChain 446(flattenTemp) 351 - 473: 49(fvec3) Load 472 - Store 471(@entryPointOutput.EyePos) 473 - 475: 160(ptr) AccessChain 446(flattenTemp) 345 - 476: 49(fvec3) Load 475 - Store 474(@entryPointOutput.WorldPos) 476 + 367(input): 40(ptr) Variable Function + 391(TessCoord): 45(ptr) Variable Function + 399(patch): 398(ptr) Variable Function +447(flattenTemp): 105(ptr) Variable Function + 449(param): 40(ptr) Variable Function + 451(param): 45(ptr) Variable Function + 371: 370(ptr) AccessChain 369(input.TessLevelOuter) 127 + 372: 8(float) Load 371 + 373: 132(ptr) AccessChain 367(input) 127 127 + Store 373 372 + 374: 370(ptr) AccessChain 369(input.TessLevelOuter) 130 + 375: 8(float) Load 374 + 376: 132(ptr) AccessChain 367(input) 127 130 + Store 376 375 + 377: 370(ptr) AccessChain 369(input.TessLevelOuter) 128 + 378: 8(float) Load 377 + 379: 132(ptr) AccessChain 367(input) 127 128 + Store 379 378 + 380: 370(ptr) AccessChain 369(input.TessLevelOuter) 144 + 381: 8(float) Load 380 + 382: 132(ptr) AccessChain 367(input) 127 144 + Store 382 381 + 385: 370(ptr) AccessChain 384(input.TessLevelInner) 127 + 386: 8(float) Load 385 + 387: 132(ptr) AccessChain 367(input) 130 127 + Store 387 386 + 388: 370(ptr) AccessChain 384(input.TessLevelInner) 130 + 389: 8(float) Load 388 + 390: 132(ptr) AccessChain 367(input) 130 130 + Store 390 389 + 394: 49(fvec3) Load 393(TessCoord) + 395: 8(float) CompositeExtract 394 0 + 396: 8(float) CompositeExtract 394 1 + 397: 43(fvec2) CompositeConstruct 395 396 + Store 391(TessCoord) 397 + 404: 403(ptr) AccessChain 402(patch.Pos) 127 + 405: 47(fvec4) Load 404 + 406: 195(ptr) AccessChain 399(patch) 127 127 + Store 406 405 + 410: 392(ptr) AccessChain 409(patch.Normal) 127 + 411: 49(fvec3) Load 410 + 412: 160(ptr) AccessChain 399(patch) 127 130 + Store 412 411 + 417: 416(ptr) AccessChain 415(patch.UV) 127 + 418: 43(fvec2) Load 417 + 419: 45(ptr) AccessChain 399(patch) 127 128 + Store 419 418 + 420: 403(ptr) AccessChain 402(patch.Pos) 130 + 421: 47(fvec4) Load 420 + 422: 195(ptr) AccessChain 399(patch) 130 127 + Store 422 421 + 423: 392(ptr) AccessChain 409(patch.Normal) 130 + 424: 49(fvec3) Load 423 + 425: 160(ptr) AccessChain 399(patch) 130 130 + Store 425 424 + 426: 416(ptr) AccessChain 415(patch.UV) 130 + 427: 43(fvec2) Load 426 + 428: 45(ptr) AccessChain 399(patch) 130 128 + Store 428 427 + 429: 403(ptr) AccessChain 402(patch.Pos) 128 + 430: 47(fvec4) Load 429 + 431: 195(ptr) AccessChain 399(patch) 128 127 + Store 431 430 + 432: 392(ptr) AccessChain 409(patch.Normal) 128 + 433: 49(fvec3) Load 432 + 434: 160(ptr) AccessChain 399(patch) 128 130 + Store 434 433 + 435: 416(ptr) AccessChain 415(patch.UV) 128 + 436: 43(fvec2) Load 435 + 437: 45(ptr) AccessChain 399(patch) 128 128 + Store 437 436 + 438: 403(ptr) AccessChain 402(patch.Pos) 144 + 439: 47(fvec4) Load 438 + 440: 195(ptr) AccessChain 399(patch) 144 127 + Store 440 439 + 441: 392(ptr) AccessChain 409(patch.Normal) 144 + 442: 49(fvec3) Load 441 + 443: 160(ptr) AccessChain 399(patch) 144 130 + Store 443 442 + 444: 416(ptr) AccessChain 415(patch.UV) 144 + 445: 43(fvec2) Load 444 + 446: 45(ptr) AccessChain 399(patch) 144 128 + Store 446 445 + 448: 65 Load 399(patch) + 450:24(ConstantsHSOutput) Load 367(input) + Store 449(param) 450 + 452: 43(fvec2) Load 391(TessCoord) + Store 451(param) 452 + 453:67(DSOutput) FunctionCall 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 449(param) 451(param) 448 + Store 447(flattenTemp) 453 + 456: 195(ptr) AccessChain 447(flattenTemp) 127 + 457: 47(fvec4) Load 456 + Store 455(@entryPointOutput.Pos) 457 + 460: 160(ptr) AccessChain 447(flattenTemp) 130 + 461: 49(fvec3) Load 460 + Store 459(@entryPointOutput.Normal) 461 + 464: 45(ptr) AccessChain 447(flattenTemp) 128 + 465: 43(fvec2) Load 464 + Store 463(@entryPointOutput.UV) 465 + 467: 160(ptr) AccessChain 447(flattenTemp) 144 + 468: 49(fvec3) Load 467 + Store 466(@entryPointOutput.ViewVec) 468 + 470: 160(ptr) AccessChain 447(flattenTemp) 305 + 471: 49(fvec3) Load 470 + Store 469(@entryPointOutput.LightVec) 471 + 473: 160(ptr) AccessChain 447(flattenTemp) 351 + 474: 49(fvec3) Load 473 + Store 472(@entryPointOutput.EyePos) 474 + 476: 160(ptr) AccessChain 447(flattenTemp) 345 + 477: 49(fvec3) Load 476 + Store 475(@entryPointOutput.WorldPos) 477 Return FunctionEnd 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];):67(DSOutput) Function None 83 diff --git a/Test/baseResults/spv.debuginfo.hlsl.vert.out b/Test/baseResults/spv.debuginfo.hlsl.vert.out index 4e9f17fa..d26021cf 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.vert.out +++ b/Test/baseResults/spv.debuginfo.hlsl.vert.out @@ -1,14 +1,14 @@ spv.debuginfo.hlsl.vert // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 512 +// Id's are bound by 513 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 6 "main" 461 464 468 471 474 477 481 485 493 497 500 503 506 509 + EntryPoint Vertex 6 "main" 462 465 469 472 475 478 482 486 494 498 501 504 507 510 2: String "" 9: String "float" 12: String "uint" @@ -88,23 +88,23 @@ spv.debuginfo.hlsl.vert Name 339 "locPos" Name 353 "pos" Name 419 "lPos" - Name 459 "input" - Name 461 "input.Pos" - Name 464 "input.Normal" - Name 468 "input.UV" - Name 471 "input.Color" - Name 474 "input.instancePos" - Name 477 "input.instanceRot" - Name 481 "input.instanceScale" - Name 485 "input.instanceTexIndex" - Name 488 "flattenTemp" - Name 489 "param" - Name 493 "@entryPointOutput.Pos" - Name 497 "@entryPointOutput.Normal" - Name 500 "@entryPointOutput.Color" - Name 503 "@entryPointOutput.UV" - Name 506 "@entryPointOutput.ViewVec" - Name 509 "@entryPointOutput.LightVec" + Name 460 "input" + Name 462 "input.Pos" + Name 465 "input.Normal" + Name 469 "input.UV" + Name 472 "input.Color" + Name 475 "input.instancePos" + Name 478 "input.instanceRot" + Name 482 "input.instanceScale" + Name 486 "input.instanceTexIndex" + Name 489 "flattenTemp" + Name 490 "param" + Name 494 "@entryPointOutput.Pos" + Name 498 "@entryPointOutput.Normal" + Name 501 "@entryPointOutput.Color" + Name 504 "@entryPointOutput.UV" + Name 507 "@entryPointOutput.ViewVec" + Name 510 "@entryPointOutput.LightVec" MemberDecorate 143(UBO) 0 RowMajor MemberDecorate 143(UBO) 0 MatrixStride 16 MemberDecorate 143(UBO) 0 Offset 0 @@ -118,20 +118,20 @@ spv.debuginfo.hlsl.vert MemberDecorate 159(ubo) 0 Offset 0 Decorate 166 Binding 0 Decorate 166 DescriptorSet 0 - Decorate 461(input.Pos) Location 0 - Decorate 464(input.Normal) Location 1 - Decorate 468(input.UV) Location 2 - Decorate 471(input.Color) Location 3 - Decorate 474(input.instancePos) Location 4 - Decorate 477(input.instanceRot) Location 5 - Decorate 481(input.instanceScale) Location 6 - Decorate 485(input.instanceTexIndex) Location 7 - Decorate 493(@entryPointOutput.Pos) BuiltIn Position - Decorate 497(@entryPointOutput.Normal) Location 0 - Decorate 500(@entryPointOutput.Color) Location 1 - Decorate 503(@entryPointOutput.UV) Location 2 - Decorate 506(@entryPointOutput.ViewVec) Location 3 - Decorate 509(@entryPointOutput.LightVec) Location 4 + Decorate 462(input.Pos) Location 0 + Decorate 465(input.Normal) Location 1 + Decorate 469(input.UV) Location 2 + Decorate 472(input.Color) Location 3 + Decorate 475(input.instancePos) Location 4 + Decorate 478(input.instanceRot) Location 5 + Decorate 482(input.instanceScale) Location 6 + Decorate 486(input.instanceTexIndex) Location 7 + Decorate 494(@entryPointOutput.Pos) BuiltIn Position + Decorate 498(@entryPointOutput.Normal) Location 0 + Decorate 501(@entryPointOutput.Color) Location 1 + Decorate 504(@entryPointOutput.UV) Location 2 + Decorate 507(@entryPointOutput.ViewVec) Location 3 + Decorate 510(@entryPointOutput.LightVec) Location 4 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -302,77 +302,77 @@ spv.debuginfo.hlsl.vert 442: 11(int) Constant 109 449: 11(int) Constant 110 455: 11(int) Constant 111 - 460: TypePointer Input 18(fvec3) - 461(input.Pos): 460(ptr) Variable Input -464(input.Normal): 460(ptr) Variable Input - 467: TypePointer Input 20(fvec2) - 468(input.UV): 467(ptr) Variable Input -471(input.Color): 460(ptr) Variable Input -474(input.instancePos): 460(ptr) Variable Input -477(input.instanceRot): 460(ptr) Variable Input - 480: TypePointer Input 8(float) -481(input.instanceScale): 480(ptr) Variable Input - 484: TypePointer Input 23(int) -485(input.instanceTexIndex): 484(ptr) Variable Input - 492: TypePointer Output 59(fvec4) -493(@entryPointOutput.Pos): 492(ptr) Variable Output - 496: TypePointer Output 18(fvec3) -497(@entryPointOutput.Normal): 496(ptr) Variable Output -500(@entryPointOutput.Color): 496(ptr) Variable Output -503(@entryPointOutput.UV): 496(ptr) Variable Output -506(@entryPointOutput.ViewVec): 496(ptr) Variable Output -509(@entryPointOutput.LightVec): 496(ptr) Variable Output + 461: TypePointer Input 18(fvec3) + 462(input.Pos): 461(ptr) Variable Input +465(input.Normal): 461(ptr) Variable Input + 468: TypePointer Input 20(fvec2) + 469(input.UV): 468(ptr) Variable Input +472(input.Color): 461(ptr) Variable Input +475(input.instancePos): 461(ptr) Variable Input +478(input.instanceRot): 461(ptr) Variable Input + 481: TypePointer Input 8(float) +482(input.instanceScale): 481(ptr) Variable Input + 485: TypePointer Input 23(int) +486(input.instanceTexIndex): 485(ptr) Variable Input + 493: TypePointer Output 59(fvec4) +494(@entryPointOutput.Pos): 493(ptr) Variable Output + 497: TypePointer Output 18(fvec3) +498(@entryPointOutput.Normal): 497(ptr) Variable Output +501(@entryPointOutput.Color): 497(ptr) Variable Output +504(@entryPointOutput.UV): 497(ptr) Variable Output +507(@entryPointOutput.ViewVec): 497(ptr) Variable Output +510(@entryPointOutput.LightVec): 497(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 459(input): 56(ptr) Variable Function -488(flattenTemp): 89(ptr) Variable Function - 489(param): 56(ptr) Variable Function - 462: 18(fvec3) Load 461(input.Pos) - 463: 103(ptr) AccessChain 459(input) 169 - Store 463 462 - 465: 18(fvec3) Load 464(input.Normal) - 466: 103(ptr) AccessChain 459(input) 324 - Store 466 465 - 469: 20(fvec2) Load 468(input.UV) - 470: 110(ptr) AccessChain 459(input) 101 - Store 470 469 - 472: 18(fvec3) Load 471(input.Color) - 473: 103(ptr) AccessChain 459(input) 102 - Store 473 472 - 475: 18(fvec3) Load 474(input.instancePos) - 476: 103(ptr) AccessChain 459(input) 296 - Store 476 475 - 478: 18(fvec3) Load 477(input.instanceRot) - 479: 103(ptr) AccessChain 459(input) 134 - Store 479 478 - 482: 8(float) Load 481(input.instanceScale) - 483: 126(ptr) AccessChain 459(input) 361 - Store 483 482 - 486: 23(int) Load 485(input.instanceTexIndex) - 487: 117(ptr) AccessChain 459(input) 116 - Store 487 486 - 490: 27(VSInput) Load 459(input) - Store 489(param) 490 - 491:61(VSOutput) FunctionCall 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) 489(param) - Store 488(flattenTemp) 491 - 494: 321(ptr) AccessChain 488(flattenTemp) 169 - 495: 59(fvec4) Load 494 - Store 493(@entryPointOutput.Pos) 495 - 498: 103(ptr) AccessChain 488(flattenTemp) 324 - 499: 18(fvec3) Load 498 - Store 497(@entryPointOutput.Normal) 499 - 501: 103(ptr) AccessChain 488(flattenTemp) 101 - 502: 18(fvec3) Load 501 - Store 500(@entryPointOutput.Color) 502 - 504: 103(ptr) AccessChain 488(flattenTemp) 102 - 505: 18(fvec3) Load 504 - Store 503(@entryPointOutput.UV) 505 - 507: 103(ptr) AccessChain 488(flattenTemp) 296 - 508: 18(fvec3) Load 507 - Store 506(@entryPointOutput.ViewVec) 508 - 510: 103(ptr) AccessChain 488(flattenTemp) 134 - 511: 18(fvec3) Load 510 - Store 509(@entryPointOutput.LightVec) 511 + 460(input): 56(ptr) Variable Function +489(flattenTemp): 89(ptr) Variable Function + 490(param): 56(ptr) Variable Function + 463: 18(fvec3) Load 462(input.Pos) + 464: 103(ptr) AccessChain 460(input) 169 + Store 464 463 + 466: 18(fvec3) Load 465(input.Normal) + 467: 103(ptr) AccessChain 460(input) 324 + Store 467 466 + 470: 20(fvec2) Load 469(input.UV) + 471: 110(ptr) AccessChain 460(input) 101 + Store 471 470 + 473: 18(fvec3) Load 472(input.Color) + 474: 103(ptr) AccessChain 460(input) 102 + Store 474 473 + 476: 18(fvec3) Load 475(input.instancePos) + 477: 103(ptr) AccessChain 460(input) 296 + Store 477 476 + 479: 18(fvec3) Load 478(input.instanceRot) + 480: 103(ptr) AccessChain 460(input) 134 + Store 480 479 + 483: 8(float) Load 482(input.instanceScale) + 484: 126(ptr) AccessChain 460(input) 361 + Store 484 483 + 487: 23(int) Load 486(input.instanceTexIndex) + 488: 117(ptr) AccessChain 460(input) 116 + Store 488 487 + 491: 27(VSInput) Load 460(input) + Store 490(param) 491 + 492:61(VSOutput) FunctionCall 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) 490(param) + Store 489(flattenTemp) 492 + 495: 321(ptr) AccessChain 489(flattenTemp) 169 + 496: 59(fvec4) Load 495 + Store 494(@entryPointOutput.Pos) 496 + 499: 103(ptr) AccessChain 489(flattenTemp) 324 + 500: 18(fvec3) Load 499 + Store 498(@entryPointOutput.Normal) 500 + 502: 103(ptr) AccessChain 489(flattenTemp) 101 + 503: 18(fvec3) Load 502 + Store 501(@entryPointOutput.Color) 503 + 505: 103(ptr) AccessChain 489(flattenTemp) 102 + 506: 18(fvec3) Load 505 + Store 504(@entryPointOutput.UV) 506 + 508: 103(ptr) AccessChain 489(flattenTemp) 296 + 509: 18(fvec3) Load 508 + Store 507(@entryPointOutput.ViewVec) 509 + 511: 103(ptr) AccessChain 489(flattenTemp) 134 + 512: 18(fvec3) Load 511 + Store 510(@entryPointOutput.LightVec) 512 Return FunctionEnd 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;):61(VSOutput) Function None 75 diff --git a/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out b/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out new file mode 100644 index 00000000..8b2af8e8 --- /dev/null +++ b/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out @@ -0,0 +1,325 @@ +spv.debuginfo.implicit_br.glsl.frag +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 194 + + Capability Shader + Extension "SPV_KHR_non_semantic_info" + 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" + 3: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 14 "main" 186 + ExecutionMode 14 OriginUpperLeft + 2: String "spv.debuginfo.implicit_br.glsl.frag" + 8: String "uint" + 18: String "test_if" + 21: String "// OpModuleProcessed auto-map-locations +// OpModuleProcessed auto-map-bindings +// OpModuleProcessed client vulkan100 +// OpModuleProcessed target-env vulkan1.0 +// OpModuleProcessed keep-uncalled +// OpModuleProcessed entry-point main +#line 1 +#version 460 + +out int outx; +int counter = 0; + +void test_if() { + if (false) { + counter += 1; + } +} + +void test_ifelse() { + if (false) { + counter += 1; + } + else { + counter += 2; + } +} + +void test_if_compound() { + if (false) { + if (false) { + counter += 1; + } + } +} + +void test_if_compound2() { + if (false) { + if (false) { + counter += 1; + } + + counter += 2; + } +} + +void test_switch() { + switch (0) { + case 0: + counter += 1; + // implict fallthrough + case 1: + counter += 2; + break; + default: + counter += 3; + // implicit break + } +} + +void main() { + test_if(); + test_ifelse(); + test_if_compound(); + test_if_compound2(); + test_switch(); + outx = counter; +}" + 28: String "test_ifelse" + 33: String "test_if_compound" + 38: String "test_if_compound2" + 43: String "test_switch" + 46: String "main" + 50: String "int" + 56: String "counter" + 65: String "bool" + 188: String "outx" + Name 14 "main" + Name 16 "test_if(" + Name 26 "test_ifelse(" + Name 31 "test_if_compound(" + Name 36 "test_if_compound2(" + Name 41 "test_switch(" + Name 54 "counter" + Name 186 "outx" + Decorate 186(outx) Location 0 + 4: TypeVoid + 5: TypeFunction 4 + 7: TypeInt 32 0 + 10: 7(int) Constant 32 + 11: 7(int) Constant 6 + 12: 7(int) Constant 0 + 9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12 + 13: 7(int) Constant 3 + 6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 + 20: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 21 + 23: 7(int) Constant 1 + 24: 7(int) Constant 4 + 25: 7(int) Constant 2 + 22: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 23 24 20 25 + 19: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 18 6 20 11 12 22 18 13 11 + 30: 7(int) Constant 12 + 29: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 28 6 20 30 12 22 28 13 30 + 35: 7(int) Constant 21 + 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 33 6 20 35 12 22 33 13 35 + 40: 7(int) Constant 29 + 39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 38 6 20 40 12 22 38 13 40 + 45: 7(int) Constant 39 + 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 43 6 20 45 12 22 43 13 45 + 48: 7(int) Constant 53 + 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 46 6 20 48 12 22 46 13 48 + 49: TypeInt 32 1 + 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 50 10 24 12 + 52: TypePointer Private 49(int) + 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 51 11 12 + 54(counter): 52(ptr) Variable Private + 57: 7(int) Constant 8 + 55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 56 51 20 24 12 22 56 54(counter) 57 + 58: 49(int) Constant 0 + 64: TypeBool + 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 65 10 25 12 + 67: 64(bool) ConstantFalse + 70: 49(int) Constant 1 + 77: 7(int) Constant 10 + 86: 7(int) Constant 14 + 89: 49(int) Constant 2 + 93: 7(int) Constant 17 + 97: 7(int) Constant 19 + 110: 7(int) Constant 24 + 114: 7(int) Constant 27 + 131: 7(int) Constant 35 + 135: 7(int) Constant 37 + 146: 7(int) Constant 42 + 151: 7(int) Constant 45 + 154: 7(int) Constant 46 + 156: 49(int) Constant 3 + 160: 7(int) Constant 48 + 165: 7(int) Constant 51 + 171: 7(int) Constant 54 + 174: 7(int) Constant 55 + 177: 7(int) Constant 56 + 180: 7(int) Constant 57 + 183: 7(int) Constant 58 + 184: TypePointer Output 49(int) + 185: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 51 13 12 + 186(outx): 184(ptr) Variable Output + 189: 7(int) Constant 59 + 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 188 51 20 189 12 22 188 186(outx) 57 + 193: 7(int) Constant 60 + 14(main): 4 Function None 5 + 15: Label + 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 22 + 60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 24 24 12 12 + Store 54(counter) 58 + 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 47 + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 48 48 12 12 + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 47 14(main) + 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 171 171 12 12 + 169: 4 FunctionCall 16(test_if() + 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 174 174 12 12 + 172: 4 FunctionCall 26(test_ifelse() + 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 177 177 12 12 + 175: 4 FunctionCall 31(test_if_compound() + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 180 180 12 12 + 178: 4 FunctionCall 36(test_if_compound2() + 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 183 183 12 12 + 181: 4 FunctionCall 41(test_switch() + 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 189 189 12 12 + 190: 49(int) Load 54(counter) + Store 186(outx) 190 + 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 193 193 12 12 + Return + FunctionEnd + 16(test_if(): 4 Function None 5 + 17: Label + 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 + 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 11 11 12 12 + 61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 19 16(test_if() + SelectionMerge 69 None + BranchConditional 67 68 69 + 68: Label + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 + 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 57 57 12 12 + 71: 49(int) Load 54(counter) + 74: 49(int) IAdd 71 70 + Store 54(counter) 74 + Branch 69 + 69: Label + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 + 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 77 77 12 12 + Return + FunctionEnd +26(test_ifelse(): 4 Function None 5 + 27: Label + 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 + 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 30 30 12 12 + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 29 26(test_ifelse() + SelectionMerge 82 None + BranchConditional 67 81 88 + 81: Label + 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 + 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 86 86 12 12 + 83: 49(int) Load 54(counter) + 87: 49(int) IAdd 83 70 + Store 54(counter) 87 + Branch 82 + 88: Label + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 93 93 12 12 + 90: 49(int) Load 54(counter) + 94: 49(int) IAdd 90 89 + Store 54(counter) 94 + Branch 82 + 82: Label + 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 97 97 12 12 + Return + FunctionEnd +31(test_if_compound(): 4 Function None 5 + 32: Label + 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12 + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 34 31(test_if_compound() + SelectionMerge 102 None + BranchConditional 67 101 102 + 101: Label + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12 + SelectionMerge 104 None + BranchConditional 67 103 104 + 103: Label + 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 + 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 110 110 12 12 + 107: 49(int) Load 54(counter) + 111: 49(int) IAdd 107 70 + Store 54(counter) 111 + Branch 104 + 104: Label + Branch 102 + 102: Label + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 114 114 12 12 + Return + FunctionEnd +36(test_if_compound2(): 4 Function None 5 + 37: Label + 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12 + 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(test_if_compound2() + SelectionMerge 119 None + BranchConditional 67 118 119 + 118: Label + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12 + SelectionMerge 121 None + BranchConditional 67 120 121 + 120: Label + 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 10 10 12 12 + 124: 49(int) Load 54(counter) + 127: 49(int) IAdd 124 70 + Store 54(counter) 127 + Branch 121 + 121: Label + 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 131 131 12 12 + 128: 49(int) Load 54(counter) + 132: 49(int) IAdd 128 89 + Store 54(counter) 132 + Branch 119 + 119: Label + 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 135 135 12 12 + Return + FunctionEnd +41(test_switch(): 4 Function None 5 + 42: Label + 137: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 45 45 12 12 + 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 44 41(test_switch() + SelectionMerge 142 None + Switch 58 141 + case 0: 139 + case 1: 140 + 141: Label + 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 160 160 12 12 + 157: 49(int) Load 54(counter) + 161: 49(int) IAdd 157 156 + Store 54(counter) 161 + Branch 142 + 139: Label + 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 146 146 12 12 + 143: 49(int) Load 54(counter) + 147: 49(int) IAdd 143 70 + Store 54(counter) 147 + Branch 140 + 140: Label + 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 151 151 12 12 + 148: 49(int) Load 54(counter) + 152: 49(int) IAdd 148 89 + Store 54(counter) 152 + 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 154 154 12 12 + Branch 142 + 142: Label + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 165 165 12 12 + Return + FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.include.glsl.frag.out b/Test/baseResults/spv.debuginfo.include.glsl.frag.out index a6ca6e15..1d8348ae 100644 --- a/Test/baseResults/spv.debuginfo.include.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.include.glsl.frag.out @@ -1,14 +1,14 @@ spv.debuginfo.include.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 108 +// Id's are bound by 112 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 4: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 15 "main" 80 + EntryPoint Fragment 15 "main" 82 ExecutionMode 15 OriginUpperLeft 2: String "spv.debuginfo.include.glsl.frag" 3: String "spv.debuginfo.include.glsl.h" @@ -48,11 +48,11 @@ void main() { 50: String "mainFileFunction" 53: String "v" 57: String "main" - 82: String "headerOut" - 86: String "headerUboItem" - 89: String "UBO" - 94: String "" - 96: String "int" + 84: String "headerOut" + 88: String "headerUboItem" + 91: String "UBO" + 96: String "" + 98: String "int" SourceExtension "GL_GOOGLE_cpp_style_line_directive" SourceExtension "GL_GOOGLE_include_directive" Name 15 "main" @@ -60,17 +60,17 @@ void main() { Name 28 "a" Name 48 "mainFileFunction(vf4;" Name 47 "v" - Name 80 "headerOut" - Name 84 "UBO" - MemberName 84(UBO) 0 "headerUboItem" - Name 92 "" - Name 99 "param" - Name 106 "param" - Decorate 80(headerOut) Location 0 - Decorate 84(UBO) Block - MemberDecorate 84(UBO) 0 Offset 0 - Decorate 92 Binding 0 - Decorate 92 DescriptorSet 0 + Name 82 "headerOut" + Name 86 "UBO" + MemberName 86(UBO) 0 "headerUboItem" + Name 94 "" + Name 101 "param" + Name 108 "param" + Decorate 82(headerOut) Location 0 + Decorate 86(UBO) Block + MemberDecorate 86(UBO) 0 Offset 0 + Decorate 94 Binding 0 + Decorate 94 DescriptorSet 0 5: TypeVoid 6: TypeFunction 5 8: TypeInt 32 0 @@ -104,39 +104,41 @@ void main() { 59: 8(int) Constant 10 58: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 57 7 38 59 13 36 57 14 59 63: 8(int) Constant 9 - 78: TypePointer Output 20(fvec4) - 79: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 14 13 - 80(headerOut): 78(ptr) Variable Output - 83: 8(int) Constant 11 - 81: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 82 22 38 83 13 36 82 80(headerOut) 35 - 84(UBO): TypeStruct 20(fvec4) - 87: 8(int) Constant 5 - 85: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 86 22 38 87 24 13 13 14 - 88: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 89 37 38 83 13 36 89 13 14 85 - 90: TypePointer Uniform 84(UBO) - 91: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 40 13 - 92: 90(ptr) Variable Uniform - 93: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 94 88 38 83 13 36 94 92 35 - 95: TypeInt 32 1 - 97: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 96 11 21 13 - 98: 95(int) Constant 0 - 100: TypePointer Uniform 20(fvec4) - 101: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 40 13 + 80: TypePointer Output 20(fvec4) + 81: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 14 13 + 82(headerOut): 80(ptr) Variable Output + 85: 8(int) Constant 11 + 83: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 84 22 38 85 13 36 84 82(headerOut) 35 + 86(UBO): TypeStruct 20(fvec4) + 89: 8(int) Constant 5 + 87: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 88 22 38 89 24 13 13 14 + 90: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 91 37 38 85 13 36 91 13 14 87 + 92: TypePointer Uniform 86(UBO) + 93: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 90 40 13 + 94: 92(ptr) Variable Uniform + 95: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 96 90 38 85 13 36 96 94 35 + 97: TypeInt 32 1 + 99: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 98 11 21 13 + 100: 97(int) Constant 0 + 102: TypePointer Uniform 20(fvec4) + 103: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 40 13 + 111: 8(int) Constant 12 15(main): 5 Function None 6 16: Label - 99(param): 23(ptr) Variable Function - 106(param): 23(ptr) Variable Function - 76: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 58 - 77: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 59 59 13 13 - 75: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 58 15(main) - 103: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 83 83 13 13 - 102: 100(ptr) AccessChain 92 98 - 104: 20(fvec4) Load 102 - Store 99(param) 104 - 105: 20(fvec4) FunctionCall 48(mainFileFunction(vf4;) 99(param) - Store 106(param) 105 - 107: 20(fvec4) FunctionCall 29(headerFunction(vf4;) 106(param) - Store 80(headerOut) 107 + 101(param): 23(ptr) Variable Function + 108(param): 23(ptr) Variable Function + 78: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 58 + 79: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 59 59 13 13 + 77: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 58 15(main) + 105: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 85 85 13 13 + 104: 102(ptr) AccessChain 94 100 + 106: 20(fvec4) Load 104 + Store 101(param) 106 + 107: 20(fvec4) FunctionCall 48(mainFileFunction(vf4;) 101(param) + Store 108(param) 107 + 109: 20(fvec4) FunctionCall 29(headerFunction(vf4;) 108(param) + Store 82(headerOut) 109 + 110: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 111 111 13 13 Return FunctionEnd 29(headerFunction(vf4;): 20(fvec4) Function None 26 @@ -157,9 +159,9 @@ void main() { 55: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 51 56: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 12 12 13 13 54: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 47(v) 44 - 68: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 51 48(mainFileFunction(vf4;) - 70: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 24 24 13 13 - 69: 20(fvec4) Load 47(v) - 71: 20(fvec4) FNegate 69 - ReturnValue 71 + 69: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 51 48(mainFileFunction(vf4;) + 71: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 24 24 13 13 + 70: 20(fvec4) Load 47(v) + 72: 20(fvec4) FNegate 70 + ReturnValue 72 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out b/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out index 00dda0b4..b16727df 100644 --- a/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out @@ -1,14 +1,14 @@ spv.debuginfo.multiline.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 105 +// Id's are bound by 109 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 14 "main" 73 79 + EntryPoint Fragment 14 "main" 75 81 ExecutionMode 14 OriginUpperLeft 2: String "spv.debuginfo.multiline.glsl.frag" 8: String "uint" @@ -50,20 +50,20 @@ void main() { 44: String "y" 47: String "z" 49: String "main" - 75: String "outx" - 81: String "inx" + 77: String "outx" + 83: String "inx" Name 14 "main" Name 27 "add(f1;f1;f1;" Name 24 "x" Name 25 "y" Name 26 "z" - Name 73 "outx" - Name 79 "inx" - Name 97 "param" - Name 100 "param" - Name 101 "param" - Decorate 73(outx) Location 0 - Decorate 79(inx) Location 0 + Name 75 "outx" + Name 81 "inx" + Name 99 "param" + Name 102 "param" + Name 103 "param" + Decorate 75(outx) Location 0 + Decorate 81(inx) Location 0 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -95,47 +95,50 @@ void main() { 55: 7(int) Constant 8 58: 7(int) Constant 10 62: 7(int) Constant 12 - 71: TypePointer Output 16(float) - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 - 73(outx): 71(ptr) Variable Output - 76: 7(int) Constant 17 - 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 75 18 31 76 12 33 75 73(outx) 55 - 77: TypePointer Input 16(float) - 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 34 12 - 79(inx): 77(ptr) Variable Input - 82: 7(int) Constant 20 - 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 81 18 31 82 12 33 81 79(inx) 55 - 85: 16(float) Constant 1065353216 - 89: 7(int) Constant 21 - 90: 16(float) Constant 1073741824 - 94: 7(int) Constant 22 - 95: 16(float) Constant 1077936128 - 99: 7(int) Constant 23 - 104: 7(int) Constant 18 + 69: 7(int) Constant 14 + 73: TypePointer Output 16(float) + 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 + 75(outx): 73(ptr) Variable Output + 78: 7(int) Constant 17 + 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 77 18 31 78 12 33 77 75(outx) 55 + 79: TypePointer Input 16(float) + 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 34 12 + 81(inx): 79(ptr) Variable Input + 84: 7(int) Constant 20 + 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 83 18 31 84 12 33 83 81(inx) 55 + 87: 16(float) Constant 1065353216 + 91: 7(int) Constant 21 + 92: 16(float) Constant 1073741824 + 96: 7(int) Constant 22 + 97: 16(float) Constant 1077936128 + 101: 7(int) Constant 23 + 106: 7(int) Constant 18 + 108: 7(int) Constant 25 14(main): 4 Function None 5 15: Label - 97(param): 19(ptr) Variable Function - 100(param): 19(ptr) Variable Function - 101(param): 19(ptr) Variable Function - 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 50 - 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 51 51 12 12 - 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 50 14(main) - 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 82 82 12 12 - 83: 16(float) Load 79(inx) - 86: 16(float) FAdd 83 85 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 89 89 12 12 - 87: 16(float) Load 79(inx) - 91: 16(float) FAdd 87 90 - 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 94 94 12 12 - 92: 16(float) Load 79(inx) - 96: 16(float) FAdd 92 95 - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 99 99 12 12 - Store 97(param) 86 - Store 100(param) 91 - Store 101(param) 96 - 102: 16(float) FunctionCall 27(add(f1;f1;f1;) 97(param) 100(param) 101(param) - 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 104 104 12 12 - Store 73(outx) 102 + 99(param): 19(ptr) Variable Function + 102(param): 19(ptr) Variable Function + 103(param): 19(ptr) Variable Function + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 50 + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 51 51 12 12 + 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 50 14(main) + 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 84 84 12 12 + 85: 16(float) Load 81(inx) + 88: 16(float) FAdd 85 87 + 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 91 91 12 12 + 89: 16(float) Load 81(inx) + 93: 16(float) FAdd 89 92 + 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 96 96 12 12 + 94: 16(float) Load 81(inx) + 98: 16(float) FAdd 94 97 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 101 101 12 12 + Store 99(param) 88 + Store 102(param) 93 + Store 103(param) 98 + 104: 16(float) FunctionCall 27(add(f1;f1;f1;) 99(param) 102(param) 103(param) + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 106 106 12 12 + Store 75(outx) 104 + 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 108 108 12 12 Return FunctionEnd 27(add(f1;f1;f1;): 16(float) Function None 22 diff --git a/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out b/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out index 39814e85..02e5280b 100644 --- a/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out +++ b/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out @@ -1,7 +1,7 @@ spv.debuginfo.rt_types.glsl.rgen // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 123 +// Id's are bound by 125 Capability RayQueryKHR Capability RayTracingNV @@ -148,6 +148,7 @@ void main() 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 111 10 24 12 115: 7(int) Constant 19 121: 7(int) Constant 21 + 124: 7(int) Constant 23 14(main): 4 Function None 5 15: Label 31(rayFlags): 28(ptr) Variable Function @@ -187,5 +188,6 @@ void main() Branch 118 118: Label 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 124 124 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.scalar_types.glsl.frag.out b/Test/baseResults/spv.debuginfo.scalar_types.glsl.frag.out index e914cb66..019c0a03 100644 --- a/Test/baseResults/spv.debuginfo.scalar_types.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.scalar_types.glsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.scalar_types.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 159 +// Id's are bound by 161 Capability Shader Capability Float16 @@ -229,6 +229,7 @@ void main() { 156: 7(int) Constant 54 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 155 150 18 156 12 21 155 153(VAR_float16_t) 37 157:148(float16_t) Constant 0 + 160: 7(int) Constant 55 14(main): 4 Function None 5 15: Label 26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 @@ -258,5 +259,6 @@ void main() { Store 142(VAR_uint64_t) 146 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 156 156 12 12 Store 153(VAR_float16_t) 157 + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 160 160 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.pp.line.frag.out b/Test/baseResults/spv.pp.line.frag.out index a5fbf16c..807ecaef 100644 --- a/Test/baseResults/spv.pp.line.frag.out +++ b/Test/baseResults/spv.pp.line.frag.out @@ -168,6 +168,7 @@ void main() 82: 34(fvec4) CompositeConstruct 81 81 81 81 83: 34(fvec4) ExtInst 2(GLSL.std.450) 46(FMix) 73 76 82 Store 72(gl_FragColor) 83 + Line 1 107 0 Return FunctionEnd Line 7 1 20 diff --git a/Test/spv.debuginfo.implicit_br.glsl.frag b/Test/spv.debuginfo.implicit_br.glsl.frag new file mode 100644 index 00000000..2451b771 --- /dev/null +++ b/Test/spv.debuginfo.implicit_br.glsl.frag @@ -0,0 +1,60 @@ +#version 460 + +out int outx; +int counter = 0; + +void test_if() { + if (false) { + counter += 1; + } +} + +void test_ifelse() { + if (false) { + counter += 1; + } + else { + counter += 2; + } +} + +void test_if_compound() { + if (false) { + if (false) { + counter += 1; + } + } +} + +void test_if_compound2() { + if (false) { + if (false) { + counter += 1; + } + + counter += 2; + } +} + +void test_switch() { + switch (0) { + case 0: + counter += 1; + // implict fallthrough + case 1: + counter += 2; + break; + default: + counter += 3; + // implicit break + } +} + +void main() { + test_if(); + test_ifelse(); + test_if_compound(); + test_if_compound2(); + test_switch(); + outx = counter; +} \ No newline at end of file diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h index bcce91d3..82de2b4d 100644 --- a/glslang/Include/intermediate.h +++ b/glslang/Include/intermediate.h @@ -1694,8 +1694,12 @@ typedef TVector TQualifierList; // class TIntermAggregate : public TIntermOperator { public: - TIntermAggregate() : TIntermOperator(EOpNull), userDefined(false), pragmaTable(nullptr) { } - TIntermAggregate(TOperator o) : TIntermOperator(o), pragmaTable(nullptr) { } + TIntermAggregate() : TIntermOperator(EOpNull), userDefined(false), pragmaTable(nullptr) { + endLoc.init(); + } + TIntermAggregate(TOperator o) : TIntermOperator(o), pragmaTable(nullptr) { + endLoc.init(); + } ~TIntermAggregate() { delete pragmaTable; } virtual TIntermAggregate* getAsAggregate() { return this; } virtual const TIntermAggregate* getAsAggregate() const { return this; } @@ -1719,6 +1723,9 @@ public: void setSpirvInstruction(const TSpirvInstruction& inst) { spirvInst = inst; } const TSpirvInstruction& getSpirvInstruction() const { return spirvInst; } + void setEndLoc(TSourceLoc loc) { endLoc = loc; } + TSourceLoc getEndLoc() const { return endLoc; } + void setLinkType(TLinkType l) { linkType = l; } TLinkType getLinkType() const { return linkType; } protected: @@ -1733,6 +1740,10 @@ protected: TPragmaTable* pragmaTable; TSpirvInstruction spirvInst; TLinkType linkType = ELinkNone; + + // Marking the end source location of the aggregate. + // This is currently only set for a compound statement or a function body, pointing to '}'. + TSourceLoc endLoc; }; // diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y index 53c57677..35686fbc 100644 --- a/glslang/MachineIndependent/glslang.y +++ b/glslang/MachineIndependent/glslang.y @@ -3773,8 +3773,10 @@ compound_statement --parseContext.statementNestingLevel; } RIGHT_BRACE { - if ($3 && $3->getAsAggregate()) + if ($3 && $3->getAsAggregate()) { $3->getAsAggregate()->setOperator(parseContext.intermediate.getDebugInfo() ? EOpScope : EOpSequence); + $3->getAsAggregate()->setEndLoc($5.loc); + } $$ = $3; } ; @@ -3810,8 +3812,10 @@ compound_statement_no_new_scope $$ = 0; } | LEFT_BRACE statement_list RIGHT_BRACE { - if ($2 && $2->getAsAggregate()) + if ($2 && $2->getAsAggregate()) { $2->getAsAggregate()->setOperator(EOpSequence); + $2->getAsAggregate()->setEndLoc($3.loc); + } $$ = $2; } ; diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp index 5764d392..77571b94 100644 --- a/glslang/MachineIndependent/glslang_tab.cpp +++ b/glslang/MachineIndependent/glslang_tab.cpp @@ -1217,20 +1217,20 @@ static const yytype_int16 yyrline[] = 3551, 3567, 3572, 3577, 3585, 3585, 3602, 3602, 3612, 3615, 3628, 3650, 3677, 3681, 3687, 3692, 3703, 3706, 3712, 3718, 3727, 3730, 3736, 3740, 3741, 3747, 3748, 3749, 3750, 3751, - 3752, 3753, 3754, 3758, 3766, 3767, 3771, 3767, 3783, 3784, - 3788, 3788, 3795, 3795, 3809, 3812, 3820, 3828, 3839, 3840, - 3844, 3847, 3854, 3861, 3865, 3873, 3877, 3890, 3893, 3900, - 3900, 3920, 3923, 3929, 3941, 3953, 3956, 3964, 3964, 3979, - 3979, 3997, 3997, 4018, 4021, 4027, 4030, 4036, 4040, 4047, - 4052, 4057, 4064, 4067, 4071, 4075, 4079, 4088, 4092, 4101, - 4104, 4107, 4115, 4115, 4157, 4162, 4165, 4170, 4173, 4178, - 4181, 4186, 4189, 4194, 4197, 4202, 4205, 4210, 4214, 4219, - 4223, 4228, 4232, 4239, 4242, 4247, 4250, 4253, 4256, 4259, - 4264, 4273, 4284, 4289, 4297, 4301, 4306, 4310, 4315, 4319, - 4324, 4328, 4335, 4338, 4343, 4346, 4349, 4352, 4357, 4360, - 4365, 4371, 4374, 4377, 4380, 4385, 4389, 4394, 4398, 4403, - 4407, 4414, 4417, 4422, 4425, 4430, 4433, 4439, 4442, 4447, - 4450 + 3752, 3753, 3754, 3758, 3766, 3767, 3771, 3767, 3785, 3786, + 3790, 3790, 3797, 3797, 3811, 3814, 3824, 3832, 3843, 3844, + 3848, 3851, 3858, 3865, 3869, 3877, 3881, 3894, 3897, 3904, + 3904, 3924, 3927, 3933, 3945, 3957, 3960, 3968, 3968, 3983, + 3983, 4001, 4001, 4022, 4025, 4031, 4034, 4040, 4044, 4051, + 4056, 4061, 4068, 4071, 4075, 4079, 4083, 4092, 4096, 4105, + 4108, 4111, 4119, 4119, 4161, 4166, 4169, 4174, 4177, 4182, + 4185, 4190, 4193, 4198, 4201, 4206, 4209, 4214, 4218, 4223, + 4227, 4232, 4236, 4243, 4246, 4251, 4254, 4257, 4260, 4263, + 4268, 4277, 4288, 4293, 4301, 4305, 4310, 4314, 4319, 4323, + 4328, 4332, 4339, 4342, 4347, 4350, 4353, 4356, 4361, 4364, + 4369, 4375, 4378, 4381, 4384, 4389, 4393, 4398, 4402, 4407, + 4411, 4418, 4421, 4426, 4429, 4434, 4437, 4443, 4446, 4451, + 4454 }; #endif @@ -11277,83 +11277,87 @@ yyreduce: case 577: /* compound_statement: LEFT_BRACE $@5 statement_list $@6 RIGHT_BRACE */ #line 3775 "MachineIndependent/glslang.y" { - if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate()) + if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate()) { (yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(parseContext.intermediate.getDebugInfo() ? EOpScope : EOpSequence); + (yyvsp[-2].interm.intermNode)->getAsAggregate()->setEndLoc((yyvsp[0].lex).loc); + } (yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode); } -#line 11285 "MachineIndependent/glslang_tab.cpp" +#line 11287 "MachineIndependent/glslang_tab.cpp" break; case 578: /* statement_no_new_scope: compound_statement_no_new_scope */ -#line 3783 "MachineIndependent/glslang.y" +#line 3785 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11291 "MachineIndependent/glslang_tab.cpp" +#line 11293 "MachineIndependent/glslang_tab.cpp" break; case 579: /* statement_no_new_scope: simple_statement */ -#line 3784 "MachineIndependent/glslang.y" +#line 3786 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11297 "MachineIndependent/glslang_tab.cpp" +#line 11299 "MachineIndependent/glslang_tab.cpp" break; case 580: /* $@7: %empty */ -#line 3788 "MachineIndependent/glslang.y" +#line 3790 "MachineIndependent/glslang.y" { ++parseContext.controlFlowNestingLevel; } -#line 11305 "MachineIndependent/glslang_tab.cpp" +#line 11307 "MachineIndependent/glslang_tab.cpp" break; case 581: /* statement_scoped: $@7 compound_statement */ -#line 3791 "MachineIndependent/glslang.y" +#line 3793 "MachineIndependent/glslang.y" { --parseContext.controlFlowNestingLevel; (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11314 "MachineIndependent/glslang_tab.cpp" +#line 11316 "MachineIndependent/glslang_tab.cpp" break; case 582: /* $@8: %empty */ -#line 3795 "MachineIndependent/glslang.y" +#line 3797 "MachineIndependent/glslang.y" { parseContext.symbolTable.push(); ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11324 "MachineIndependent/glslang_tab.cpp" +#line 11326 "MachineIndependent/glslang_tab.cpp" break; case 583: /* statement_scoped: $@8 simple_statement */ -#line 3800 "MachineIndependent/glslang.y" +#line 3802 "MachineIndependent/glslang.y" { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11335 "MachineIndependent/glslang_tab.cpp" +#line 11337 "MachineIndependent/glslang_tab.cpp" break; case 584: /* compound_statement_no_new_scope: LEFT_BRACE RIGHT_BRACE */ -#line 3809 "MachineIndependent/glslang.y" +#line 3811 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; } -#line 11343 "MachineIndependent/glslang_tab.cpp" +#line 11345 "MachineIndependent/glslang_tab.cpp" break; case 585: /* compound_statement_no_new_scope: LEFT_BRACE statement_list RIGHT_BRACE */ -#line 3812 "MachineIndependent/glslang.y" +#line 3814 "MachineIndependent/glslang.y" { - if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate()) + if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate()) { (yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence); + (yyvsp[-1].interm.intermNode)->getAsAggregate()->setEndLoc((yyvsp[0].lex).loc); + } (yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode); } -#line 11353 "MachineIndependent/glslang_tab.cpp" +#line 11357 "MachineIndependent/glslang_tab.cpp" break; case 586: /* statement_list: statement */ -#line 3820 "MachineIndependent/glslang.y" +#line 3824 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase || @@ -11362,11 +11366,11 @@ yyreduce: (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case } } -#line 11366 "MachineIndependent/glslang_tab.cpp" +#line 11370 "MachineIndependent/glslang_tab.cpp" break; case 587: /* statement_list: statement_list statement */ -#line 3828 "MachineIndependent/glslang.y" +#line 3832 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase || (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) { @@ -11375,77 +11379,77 @@ yyreduce: } else (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 11379 "MachineIndependent/glslang_tab.cpp" +#line 11383 "MachineIndependent/glslang_tab.cpp" break; case 588: /* expression_statement: SEMICOLON */ -#line 3839 "MachineIndependent/glslang.y" +#line 3843 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; } -#line 11385 "MachineIndependent/glslang_tab.cpp" +#line 11389 "MachineIndependent/glslang_tab.cpp" break; case 589: /* expression_statement: expression SEMICOLON */ -#line 3840 "MachineIndependent/glslang.y" +#line 3844 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = static_cast((yyvsp[-1].interm.intermTypedNode)); } -#line 11391 "MachineIndependent/glslang_tab.cpp" +#line 11395 "MachineIndependent/glslang_tab.cpp" break; case 590: /* selection_statement: selection_statement_nonattributed */ -#line 3844 "MachineIndependent/glslang.y" +#line 3848 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11399 "MachineIndependent/glslang_tab.cpp" +#line 11403 "MachineIndependent/glslang_tab.cpp" break; case 591: /* selection_statement: attribute selection_statement_nonattributed */ -#line 3847 "MachineIndependent/glslang.y" +#line 3851 "MachineIndependent/glslang.y" { parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute"); parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11409 "MachineIndependent/glslang_tab.cpp" +#line 11413 "MachineIndependent/glslang_tab.cpp" break; case 592: /* selection_statement_nonattributed: IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement */ -#line 3854 "MachineIndependent/glslang.y" +#line 3858 "MachineIndependent/glslang.y" { parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode)); (yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc); } -#line 11418 "MachineIndependent/glslang_tab.cpp" +#line 11422 "MachineIndependent/glslang_tab.cpp" break; case 593: /* selection_rest_statement: statement_scoped ELSE statement_scoped */ -#line 3861 "MachineIndependent/glslang.y" +#line 3865 "MachineIndependent/glslang.y" { (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode); (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode); } -#line 11427 "MachineIndependent/glslang_tab.cpp" +#line 11431 "MachineIndependent/glslang_tab.cpp" break; case 594: /* selection_rest_statement: statement_scoped */ -#line 3865 "MachineIndependent/glslang.y" +#line 3869 "MachineIndependent/glslang.y" { (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode); (yyval.interm.nodePair).node2 = 0; } -#line 11436 "MachineIndependent/glslang_tab.cpp" +#line 11440 "MachineIndependent/glslang_tab.cpp" break; case 595: /* condition: expression */ -#line 3873 "MachineIndependent/glslang.y" +#line 3877 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)); } -#line 11445 "MachineIndependent/glslang_tab.cpp" +#line 11449 "MachineIndependent/glslang_tab.cpp" break; case 596: /* condition: fully_specified_type IDENTIFIER EQUAL initializer */ -#line 3877 "MachineIndependent/glslang.y" +#line 3881 "MachineIndependent/glslang.y" { parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type)); @@ -11456,29 +11460,29 @@ yyreduce: else (yyval.interm.intermTypedNode) = 0; } -#line 11460 "MachineIndependent/glslang_tab.cpp" +#line 11464 "MachineIndependent/glslang_tab.cpp" break; case 597: /* switch_statement: switch_statement_nonattributed */ -#line 3890 "MachineIndependent/glslang.y" +#line 3894 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11468 "MachineIndependent/glslang_tab.cpp" +#line 11472 "MachineIndependent/glslang_tab.cpp" break; case 598: /* switch_statement: attribute switch_statement_nonattributed */ -#line 3893 "MachineIndependent/glslang.y" +#line 3897 "MachineIndependent/glslang.y" { parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute"); parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11478 "MachineIndependent/glslang_tab.cpp" +#line 11482 "MachineIndependent/glslang_tab.cpp" break; case 599: /* $@9: %empty */ -#line 3900 "MachineIndependent/glslang.y" +#line 3904 "MachineIndependent/glslang.y" { // start new switch sequence on the switch stack ++parseContext.controlFlowNestingLevel; @@ -11487,11 +11491,11 @@ yyreduce: parseContext.switchLevel.push_back(parseContext.statementNestingLevel); parseContext.symbolTable.push(); } -#line 11491 "MachineIndependent/glslang_tab.cpp" +#line 11495 "MachineIndependent/glslang_tab.cpp" break; case 600: /* switch_statement_nonattributed: SWITCH LEFT_PAREN expression RIGHT_PAREN $@9 LEFT_BRACE switch_statement_list RIGHT_BRACE */ -#line 3908 "MachineIndependent/glslang.y" +#line 3912 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0); delete parseContext.switchSequenceStack.back(); @@ -11501,27 +11505,27 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11505 "MachineIndependent/glslang_tab.cpp" +#line 11509 "MachineIndependent/glslang_tab.cpp" break; case 601: /* switch_statement_list: %empty */ -#line 3920 "MachineIndependent/glslang.y" +#line 3924 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; } -#line 11513 "MachineIndependent/glslang_tab.cpp" +#line 11517 "MachineIndependent/glslang_tab.cpp" break; case 602: /* switch_statement_list: statement_list */ -#line 3923 "MachineIndependent/glslang.y" +#line 3927 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11521 "MachineIndependent/glslang_tab.cpp" +#line 11525 "MachineIndependent/glslang_tab.cpp" break; case 603: /* case_label: CASE expression COLON */ -#line 3929 "MachineIndependent/glslang.y" +#line 3933 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; if (parseContext.switchLevel.size() == 0) @@ -11534,11 +11538,11 @@ yyreduce: (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc); } } -#line 11538 "MachineIndependent/glslang_tab.cpp" +#line 11542 "MachineIndependent/glslang_tab.cpp" break; case 604: /* case_label: DEFAULT COLON */ -#line 3941 "MachineIndependent/glslang.y" +#line 3945 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; if (parseContext.switchLevel.size() == 0) @@ -11548,30 +11552,30 @@ yyreduce: else (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc); } -#line 11552 "MachineIndependent/glslang_tab.cpp" +#line 11556 "MachineIndependent/glslang_tab.cpp" break; case 605: /* iteration_statement: iteration_statement_nonattributed */ -#line 3953 "MachineIndependent/glslang.y" +#line 3957 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11560 "MachineIndependent/glslang_tab.cpp" +#line 11564 "MachineIndependent/glslang_tab.cpp" break; case 606: /* iteration_statement: attribute iteration_statement_nonattributed */ -#line 3956 "MachineIndependent/glslang.y" +#line 3960 "MachineIndependent/glslang.y" { const char * extensions[2] = { E_GL_EXT_control_flow_attributes, E_GL_EXT_control_flow_attributes2 }; parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 2, extensions, "attribute"); parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11571 "MachineIndependent/glslang_tab.cpp" +#line 11575 "MachineIndependent/glslang_tab.cpp" break; case 607: /* $@10: %empty */ -#line 3964 "MachineIndependent/glslang.y" +#line 3968 "MachineIndependent/glslang.y" { if (! parseContext.limits.whileLoops) parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", ""); @@ -11580,11 +11584,11 @@ yyreduce: ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11584 "MachineIndependent/glslang_tab.cpp" +#line 11588 "MachineIndependent/glslang_tab.cpp" break; case 608: /* iteration_statement_nonattributed: WHILE LEFT_PAREN $@10 condition RIGHT_PAREN statement_no_new_scope */ -#line 3972 "MachineIndependent/glslang.y" +#line 3976 "MachineIndependent/glslang.y" { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc); @@ -11592,22 +11596,22 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11596 "MachineIndependent/glslang_tab.cpp" +#line 11600 "MachineIndependent/glslang_tab.cpp" break; case 609: /* $@11: %empty */ -#line 3979 "MachineIndependent/glslang.y" +#line 3983 "MachineIndependent/glslang.y" { parseContext.symbolTable.push(); ++parseContext.loopNestingLevel; ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11607 "MachineIndependent/glslang_tab.cpp" +#line 11611 "MachineIndependent/glslang_tab.cpp" break; case 610: /* iteration_statement_nonattributed: DO $@11 statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON */ -#line 3985 "MachineIndependent/glslang.y" +#line 3989 "MachineIndependent/glslang.y" { if (! parseContext.limits.whileLoops) parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", ""); @@ -11620,22 +11624,22 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11624 "MachineIndependent/glslang_tab.cpp" +#line 11628 "MachineIndependent/glslang_tab.cpp" break; case 611: /* $@12: %empty */ -#line 3997 "MachineIndependent/glslang.y" +#line 4001 "MachineIndependent/glslang.y" { parseContext.symbolTable.push(); ++parseContext.loopNestingLevel; ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11635 "MachineIndependent/glslang_tab.cpp" +#line 11639 "MachineIndependent/glslang_tab.cpp" break; case 612: /* iteration_statement_nonattributed: FOR LEFT_PAREN $@12 for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope */ -#line 4003 "MachineIndependent/glslang.y" +#line 4007 "MachineIndependent/glslang.y" { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc); @@ -11648,81 +11652,81 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11652 "MachineIndependent/glslang_tab.cpp" +#line 11656 "MachineIndependent/glslang_tab.cpp" break; case 613: /* for_init_statement: expression_statement */ -#line 4018 "MachineIndependent/glslang.y" +#line 4022 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11660 "MachineIndependent/glslang_tab.cpp" +#line 11664 "MachineIndependent/glslang_tab.cpp" break; case 614: /* for_init_statement: declaration_statement */ -#line 4021 "MachineIndependent/glslang.y" +#line 4025 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11668 "MachineIndependent/glslang_tab.cpp" +#line 11672 "MachineIndependent/glslang_tab.cpp" break; case 615: /* conditionopt: condition */ -#line 4027 "MachineIndependent/glslang.y" +#line 4031 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 11676 "MachineIndependent/glslang_tab.cpp" +#line 11680 "MachineIndependent/glslang_tab.cpp" break; case 616: /* conditionopt: %empty */ -#line 4030 "MachineIndependent/glslang.y" +#line 4034 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = 0; } -#line 11684 "MachineIndependent/glslang_tab.cpp" +#line 11688 "MachineIndependent/glslang_tab.cpp" break; case 617: /* for_rest_statement: conditionopt SEMICOLON */ -#line 4036 "MachineIndependent/glslang.y" +#line 4040 "MachineIndependent/glslang.y" { (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode); (yyval.interm.nodePair).node2 = 0; } -#line 11693 "MachineIndependent/glslang_tab.cpp" +#line 11697 "MachineIndependent/glslang_tab.cpp" break; case 618: /* for_rest_statement: conditionopt SEMICOLON expression */ -#line 4040 "MachineIndependent/glslang.y" +#line 4044 "MachineIndependent/glslang.y" { (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode); (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode); } -#line 11702 "MachineIndependent/glslang_tab.cpp" +#line 11706 "MachineIndependent/glslang_tab.cpp" break; case 619: /* jump_statement: CONTINUE SEMICOLON */ -#line 4047 "MachineIndependent/glslang.y" +#line 4051 "MachineIndependent/glslang.y" { if (parseContext.loopNestingLevel <= 0) parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", ""); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc); } -#line 11712 "MachineIndependent/glslang_tab.cpp" +#line 11716 "MachineIndependent/glslang_tab.cpp" break; case 620: /* jump_statement: BREAK SEMICOLON */ -#line 4052 "MachineIndependent/glslang.y" +#line 4056 "MachineIndependent/glslang.y" { if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0) parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", ""); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc); } -#line 11722 "MachineIndependent/glslang_tab.cpp" +#line 11726 "MachineIndependent/glslang_tab.cpp" break; case 621: /* jump_statement: RETURN SEMICOLON */ -#line 4057 "MachineIndependent/glslang.y" +#line 4061 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc); if (parseContext.currentFunctionType->getBasicType() != EbtVoid) @@ -11730,101 +11734,101 @@ yyreduce: if (parseContext.inMain) parseContext.postEntryPointReturn = true; } -#line 11734 "MachineIndependent/glslang_tab.cpp" +#line 11738 "MachineIndependent/glslang_tab.cpp" break; case 622: /* jump_statement: RETURN expression SEMICOLON */ -#line 4064 "MachineIndependent/glslang.y" +#line 4068 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode)); } -#line 11742 "MachineIndependent/glslang_tab.cpp" +#line 11746 "MachineIndependent/glslang_tab.cpp" break; case 623: /* jump_statement: DISCARD SEMICOLON */ -#line 4067 "MachineIndependent/glslang.y" +#line 4071 "MachineIndependent/glslang.y" { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc); } -#line 11751 "MachineIndependent/glslang_tab.cpp" +#line 11755 "MachineIndependent/glslang_tab.cpp" break; case 624: /* jump_statement: TERMINATE_INVOCATION SEMICOLON */ -#line 4071 "MachineIndependent/glslang.y" +#line 4075 "MachineIndependent/glslang.y" { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "terminateInvocation"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateInvocation, (yyvsp[-1].lex).loc); } -#line 11760 "MachineIndependent/glslang_tab.cpp" +#line 11764 "MachineIndependent/glslang_tab.cpp" break; case 625: /* jump_statement: TERMINATE_RAY SEMICOLON */ -#line 4075 "MachineIndependent/glslang.y" +#line 4079 "MachineIndependent/glslang.y" { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "terminateRayEXT"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateRayKHR, (yyvsp[-1].lex).loc); } -#line 11769 "MachineIndependent/glslang_tab.cpp" +#line 11773 "MachineIndependent/glslang_tab.cpp" break; case 626: /* jump_statement: IGNORE_INTERSECTION SEMICOLON */ -#line 4079 "MachineIndependent/glslang.y" +#line 4083 "MachineIndependent/glslang.y" { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "ignoreIntersectionEXT"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, (yyvsp[-1].lex).loc); } -#line 11778 "MachineIndependent/glslang_tab.cpp" +#line 11782 "MachineIndependent/glslang_tab.cpp" break; case 627: /* translation_unit: external_declaration */ -#line 4088 "MachineIndependent/glslang.y" +#line 4092 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); } -#line 11787 "MachineIndependent/glslang_tab.cpp" +#line 11791 "MachineIndependent/glslang_tab.cpp" break; case 628: /* translation_unit: translation_unit external_declaration */ -#line 4092 "MachineIndependent/glslang.y" +#line 4096 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermNode) != nullptr) { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode)); parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); } } -#line 11798 "MachineIndependent/glslang_tab.cpp" +#line 11802 "MachineIndependent/glslang_tab.cpp" break; case 629: /* external_declaration: function_definition */ -#line 4101 "MachineIndependent/glslang.y" +#line 4105 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11806 "MachineIndependent/glslang_tab.cpp" +#line 11810 "MachineIndependent/glslang_tab.cpp" break; case 630: /* external_declaration: declaration */ -#line 4104 "MachineIndependent/glslang.y" +#line 4108 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11814 "MachineIndependent/glslang_tab.cpp" +#line 11818 "MachineIndependent/glslang_tab.cpp" break; case 631: /* external_declaration: SEMICOLON */ -#line 4107 "MachineIndependent/glslang.y" +#line 4111 "MachineIndependent/glslang.y" { parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon"); parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon"); (yyval.interm.intermNode) = nullptr; } -#line 11824 "MachineIndependent/glslang_tab.cpp" +#line 11828 "MachineIndependent/glslang_tab.cpp" break; case 632: /* $@13: %empty */ -#line 4115 "MachineIndependent/glslang.y" +#line 4119 "MachineIndependent/glslang.y" { (yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */); (yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function); @@ -11837,11 +11841,11 @@ yyreduce: ++parseContext.statementNestingLevel; } } -#line 11841 "MachineIndependent/glslang_tab.cpp" +#line 11845 "MachineIndependent/glslang_tab.cpp" break; case 633: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */ -#line 4127 "MachineIndependent/glslang.y" +#line 4131 "MachineIndependent/glslang.y" { // May be best done as post process phase on intermediate code if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue) @@ -11869,228 +11873,228 @@ yyreduce: --parseContext.statementNestingLevel; } } -#line 11873 "MachineIndependent/glslang_tab.cpp" +#line 11877 "MachineIndependent/glslang_tab.cpp" break; case 634: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */ -#line 4157 "MachineIndependent/glslang.y" +#line 4161 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = (yyvsp[-2].interm.attributes); } -#line 11881 "MachineIndependent/glslang_tab.cpp" +#line 11885 "MachineIndependent/glslang_tab.cpp" break; case 635: /* attribute_list: single_attribute */ -#line 4162 "MachineIndependent/glslang.y" +#line 4166 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = (yyvsp[0].interm.attributes); } -#line 11889 "MachineIndependent/glslang_tab.cpp" +#line 11893 "MachineIndependent/glslang_tab.cpp" break; case 636: /* attribute_list: attribute_list COMMA single_attribute */ -#line 4165 "MachineIndependent/glslang.y" +#line 4169 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes)); } -#line 11897 "MachineIndependent/glslang_tab.cpp" +#line 11901 "MachineIndependent/glslang_tab.cpp" break; case 637: /* single_attribute: IDENTIFIER */ -#line 4170 "MachineIndependent/glslang.y" +#line 4174 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string); } -#line 11905 "MachineIndependent/glslang_tab.cpp" +#line 11909 "MachineIndependent/glslang_tab.cpp" break; case 638: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */ -#line 4173 "MachineIndependent/glslang.y" +#line 4177 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode)); } -#line 11913 "MachineIndependent/glslang_tab.cpp" +#line 11917 "MachineIndependent/glslang_tab.cpp" break; case 639: /* spirv_requirements_list: spirv_requirements_parameter */ -#line 4178 "MachineIndependent/glslang.y" +#line 4182 "MachineIndependent/glslang.y" { (yyval.interm.spirvReq) = (yyvsp[0].interm.spirvReq); } -#line 11921 "MachineIndependent/glslang_tab.cpp" +#line 11925 "MachineIndependent/glslang_tab.cpp" break; case 640: /* spirv_requirements_list: spirv_requirements_list COMMA spirv_requirements_parameter */ -#line 4181 "MachineIndependent/glslang.y" +#line 4185 "MachineIndependent/glslang.y" { (yyval.interm.spirvReq) = parseContext.mergeSpirvRequirements((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvReq), (yyvsp[0].interm.spirvReq)); } -#line 11929 "MachineIndependent/glslang_tab.cpp" +#line 11933 "MachineIndependent/glslang_tab.cpp" break; case 641: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_extension_list RIGHT_BRACKET */ -#line 4186 "MachineIndependent/glslang.y" +#line 4190 "MachineIndependent/glslang.y" { (yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, (yyvsp[-1].interm.intermNode)->getAsAggregate(), nullptr); } -#line 11937 "MachineIndependent/glslang_tab.cpp" +#line 11941 "MachineIndependent/glslang_tab.cpp" break; case 642: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_capability_list RIGHT_BRACKET */ -#line 4189 "MachineIndependent/glslang.y" +#line 4193 "MachineIndependent/glslang.y" { (yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, nullptr, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 11945 "MachineIndependent/glslang_tab.cpp" +#line 11949 "MachineIndependent/glslang_tab.cpp" break; case 643: /* spirv_extension_list: STRING_LITERAL */ -#line 4194 "MachineIndependent/glslang.y" +#line 4198 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 11953 "MachineIndependent/glslang_tab.cpp" +#line 11957 "MachineIndependent/glslang_tab.cpp" break; case 644: /* spirv_extension_list: spirv_extension_list COMMA STRING_LITERAL */ -#line 4197 "MachineIndependent/glslang.y" +#line 4201 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 11961 "MachineIndependent/glslang_tab.cpp" +#line 11965 "MachineIndependent/glslang_tab.cpp" break; case 645: /* spirv_capability_list: INTCONSTANT */ -#line 4202 "MachineIndependent/glslang.y" +#line 4206 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true)); } -#line 11969 "MachineIndependent/glslang_tab.cpp" +#line 11973 "MachineIndependent/glslang_tab.cpp" break; case 646: /* spirv_capability_list: spirv_capability_list COMMA INTCONSTANT */ -#line 4205 "MachineIndependent/glslang.y" +#line 4209 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true)); } -#line 11977 "MachineIndependent/glslang_tab.cpp" +#line 11981 "MachineIndependent/glslang_tab.cpp" break; case 647: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT RIGHT_PAREN */ -#line 4210 "MachineIndependent/glslang.y" +#line 4214 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i); (yyval.interm.intermNode) = 0; } -#line 11986 "MachineIndependent/glslang_tab.cpp" +#line 11990 "MachineIndependent/glslang_tab.cpp" break; case 648: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */ -#line 4214 "MachineIndependent/glslang.y" +#line 4218 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i); (yyval.interm.intermNode) = 0; } -#line 11996 "MachineIndependent/glslang_tab.cpp" +#line 12000 "MachineIndependent/glslang_tab.cpp" break; case 649: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */ -#line 4219 "MachineIndependent/glslang.y" +#line 4223 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 12005 "MachineIndependent/glslang_tab.cpp" +#line 12009 "MachineIndependent/glslang_tab.cpp" break; case 650: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */ -#line 4223 "MachineIndependent/glslang.y" +#line 4227 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 12015 "MachineIndependent/glslang_tab.cpp" +#line 12019 "MachineIndependent/glslang_tab.cpp" break; case 651: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */ -#line 4228 "MachineIndependent/glslang.y" +#line 4232 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 12024 "MachineIndependent/glslang_tab.cpp" +#line 12028 "MachineIndependent/glslang_tab.cpp" break; case 652: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */ -#line 4232 "MachineIndependent/glslang.y" +#line 4236 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 12034 "MachineIndependent/glslang_tab.cpp" +#line 12038 "MachineIndependent/glslang_tab.cpp" break; case 653: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter */ -#line 4239 "MachineIndependent/glslang.y" +#line 4243 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); } -#line 12042 "MachineIndependent/glslang_tab.cpp" +#line 12046 "MachineIndependent/glslang_tab.cpp" break; case 654: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter_list COMMA spirv_execution_mode_parameter */ -#line 4242 "MachineIndependent/glslang.y" +#line 4246 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 12050 "MachineIndependent/glslang_tab.cpp" +#line 12054 "MachineIndependent/glslang_tab.cpp" break; case 655: /* spirv_execution_mode_parameter: FLOATCONSTANT */ -#line 4247 "MachineIndependent/glslang.y" +#line 4251 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 12058 "MachineIndependent/glslang_tab.cpp" +#line 12062 "MachineIndependent/glslang_tab.cpp" break; case 656: /* spirv_execution_mode_parameter: INTCONSTANT */ -#line 4250 "MachineIndependent/glslang.y" +#line 4254 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 12066 "MachineIndependent/glslang_tab.cpp" +#line 12070 "MachineIndependent/glslang_tab.cpp" break; case 657: /* spirv_execution_mode_parameter: UINTCONSTANT */ -#line 4253 "MachineIndependent/glslang.y" +#line 4257 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 12074 "MachineIndependent/glslang_tab.cpp" +#line 12078 "MachineIndependent/glslang_tab.cpp" break; case 658: /* spirv_execution_mode_parameter: BOOLCONSTANT */ -#line 4256 "MachineIndependent/glslang.y" +#line 4260 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 12082 "MachineIndependent/glslang_tab.cpp" +#line 12086 "MachineIndependent/glslang_tab.cpp" break; case 659: /* spirv_execution_mode_parameter: STRING_LITERAL */ -#line 4259 "MachineIndependent/glslang.y" +#line 4263 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true); } -#line 12090 "MachineIndependent/glslang_tab.cpp" +#line 12094 "MachineIndependent/glslang_tab.cpp" break; case 660: /* spirv_execution_mode_id_parameter_list: constant_expression */ -#line 4264 "MachineIndependent/glslang.y" +#line 4268 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat && (yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt && @@ -12100,11 +12104,11 @@ yyreduce: parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), ""); (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermTypedNode)); } -#line 12104 "MachineIndependent/glslang_tab.cpp" +#line 12108 "MachineIndependent/glslang_tab.cpp" break; case 661: /* spirv_execution_mode_id_parameter_list: spirv_execution_mode_id_parameter_list COMMA constant_expression */ -#line 4273 "MachineIndependent/glslang.y" +#line 4277 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat && (yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt && @@ -12114,351 +12118,351 @@ yyreduce: parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), ""); (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermTypedNode)); } -#line 12118 "MachineIndependent/glslang_tab.cpp" +#line 12122 "MachineIndependent/glslang_tab.cpp" break; case 662: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN INTCONSTANT RIGHT_PAREN */ -#line 4284 "MachineIndependent/glslang.y" +#line 4288 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-3].lex).loc); (yyval.interm.type).qualifier.storage = EvqSpirvStorageClass; (yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i; } -#line 12128 "MachineIndependent/glslang_tab.cpp" +#line 12132 "MachineIndependent/glslang_tab.cpp" break; case 663: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */ -#line 4289 "MachineIndependent/glslang.y" +#line 4293 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc); parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); (yyval.interm.type).qualifier.storage = EvqSpirvStorageClass; (yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i; } -#line 12139 "MachineIndependent/glslang_tab.cpp" +#line 12143 "MachineIndependent/glslang_tab.cpp" break; case 664: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT RIGHT_PAREN */ -#line 4297 "MachineIndependent/glslang.y" +#line 4301 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-3].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i); } -#line 12148 "MachineIndependent/glslang_tab.cpp" +#line 12152 "MachineIndependent/glslang_tab.cpp" break; case 665: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */ -#line 4301 "MachineIndependent/glslang.y" +#line 4305 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc); parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i); } -#line 12158 "MachineIndependent/glslang_tab.cpp" +#line 12162 "MachineIndependent/glslang_tab.cpp" break; case 666: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */ -#line 4306 "MachineIndependent/glslang.y" +#line 4310 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12167 "MachineIndependent/glslang_tab.cpp" +#line 12171 "MachineIndependent/glslang_tab.cpp" break; case 667: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */ -#line 4310 "MachineIndependent/glslang.y" +#line 4314 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-7].lex).loc); parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12177 "MachineIndependent/glslang_tab.cpp" +#line 12181 "MachineIndependent/glslang_tab.cpp" break; case 668: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */ -#line 4315 "MachineIndependent/glslang.y" +#line 4319 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12186 "MachineIndependent/glslang_tab.cpp" +#line 12190 "MachineIndependent/glslang_tab.cpp" break; case 669: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */ -#line 4319 "MachineIndependent/glslang.y" +#line 4323 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-7].lex).loc); parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); (yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12196 "MachineIndependent/glslang_tab.cpp" +#line 12200 "MachineIndependent/glslang_tab.cpp" break; case 670: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */ -#line 4324 "MachineIndependent/glslang.y" +#line 4328 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12205 "MachineIndependent/glslang_tab.cpp" +#line 12209 "MachineIndependent/glslang_tab.cpp" break; case 671: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */ -#line 4328 "MachineIndependent/glslang.y" +#line 4332 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-7].lex).loc); parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); (yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12215 "MachineIndependent/glslang_tab.cpp" +#line 12219 "MachineIndependent/glslang_tab.cpp" break; case 672: /* spirv_decorate_parameter_list: spirv_decorate_parameter */ -#line 4335 "MachineIndependent/glslang.y" +#line 4339 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); } -#line 12223 "MachineIndependent/glslang_tab.cpp" +#line 12227 "MachineIndependent/glslang_tab.cpp" break; case 673: /* spirv_decorate_parameter_list: spirv_decorate_parameter_list COMMA spirv_decorate_parameter */ -#line 4338 "MachineIndependent/glslang.y" +#line 4342 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 12231 "MachineIndependent/glslang_tab.cpp" +#line 12235 "MachineIndependent/glslang_tab.cpp" break; case 674: /* spirv_decorate_parameter: FLOATCONSTANT */ -#line 4343 "MachineIndependent/glslang.y" +#line 4347 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 12239 "MachineIndependent/glslang_tab.cpp" +#line 12243 "MachineIndependent/glslang_tab.cpp" break; case 675: /* spirv_decorate_parameter: INTCONSTANT */ -#line 4346 "MachineIndependent/glslang.y" +#line 4350 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 12247 "MachineIndependent/glslang_tab.cpp" +#line 12251 "MachineIndependent/glslang_tab.cpp" break; case 676: /* spirv_decorate_parameter: UINTCONSTANT */ -#line 4349 "MachineIndependent/glslang.y" +#line 4353 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 12255 "MachineIndependent/glslang_tab.cpp" +#line 12259 "MachineIndependent/glslang_tab.cpp" break; case 677: /* spirv_decorate_parameter: BOOLCONSTANT */ -#line 4352 "MachineIndependent/glslang.y" +#line 4356 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 12263 "MachineIndependent/glslang_tab.cpp" +#line 12267 "MachineIndependent/glslang_tab.cpp" break; case 678: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter */ -#line 4357 "MachineIndependent/glslang.y" +#line 4361 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); } -#line 12271 "MachineIndependent/glslang_tab.cpp" +#line 12275 "MachineIndependent/glslang_tab.cpp" break; case 679: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter_list COMMA spirv_decorate_id_parameter */ -#line 4360 "MachineIndependent/glslang.y" +#line 4364 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 12279 "MachineIndependent/glslang_tab.cpp" +#line 12283 "MachineIndependent/glslang_tab.cpp" break; case 680: /* spirv_decorate_id_parameter: variable_identifier */ -#line 4365 "MachineIndependent/glslang.y" +#line 4369 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermTypedNode)->getAsConstantUnion() || (yyvsp[0].interm.intermTypedNode)->getAsSymbolNode()) (yyval.interm.intermNode) = (yyvsp[0].interm.intermTypedNode); else parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "only allow constants or variables which are not elements of a composite", "", ""); } -#line 12290 "MachineIndependent/glslang_tab.cpp" +#line 12294 "MachineIndependent/glslang_tab.cpp" break; case 681: /* spirv_decorate_id_parameter: FLOATCONSTANT */ -#line 4371 "MachineIndependent/glslang.y" +#line 4375 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 12298 "MachineIndependent/glslang_tab.cpp" +#line 12302 "MachineIndependent/glslang_tab.cpp" break; case 682: /* spirv_decorate_id_parameter: INTCONSTANT */ -#line 4374 "MachineIndependent/glslang.y" +#line 4378 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 12306 "MachineIndependent/glslang_tab.cpp" +#line 12310 "MachineIndependent/glslang_tab.cpp" break; case 683: /* spirv_decorate_id_parameter: UINTCONSTANT */ -#line 4377 "MachineIndependent/glslang.y" +#line 4381 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 12314 "MachineIndependent/glslang_tab.cpp" +#line 12318 "MachineIndependent/glslang_tab.cpp" break; case 684: /* spirv_decorate_id_parameter: BOOLCONSTANT */ -#line 4380 "MachineIndependent/glslang.y" +#line 4384 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 12322 "MachineIndependent/glslang_tab.cpp" +#line 12326 "MachineIndependent/glslang_tab.cpp" break; case 685: /* spirv_decorate_string_parameter_list: STRING_LITERAL */ -#line 4385 "MachineIndependent/glslang.y" +#line 4389 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate( parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 12331 "MachineIndependent/glslang_tab.cpp" +#line 12335 "MachineIndependent/glslang_tab.cpp" break; case 686: /* spirv_decorate_string_parameter_list: spirv_decorate_string_parameter_list COMMA STRING_LITERAL */ -#line 4389 "MachineIndependent/glslang.y" +#line 4393 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 12339 "MachineIndependent/glslang_tab.cpp" +#line 12343 "MachineIndependent/glslang_tab.cpp" break; case 687: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */ -#line 4394 "MachineIndependent/glslang.y" +#line 4398 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams)); } -#line 12348 "MachineIndependent/glslang_tab.cpp" +#line 12352 "MachineIndependent/glslang_tab.cpp" break; case 688: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */ -#line 4398 "MachineIndependent/glslang.y" +#line 4402 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-7].lex).loc, parseContext.symbolTable.atGlobalLevel()); parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); (yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams)); } -#line 12358 "MachineIndependent/glslang_tab.cpp" +#line 12362 "MachineIndependent/glslang_tab.cpp" break; case 689: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4403 "MachineIndependent/glslang.y" +#line 4407 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-3].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst)); } -#line 12367 "MachineIndependent/glslang_tab.cpp" +#line 12371 "MachineIndependent/glslang_tab.cpp" break; case 690: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4407 "MachineIndependent/glslang.y" +#line 4411 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel()); parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); (yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst)); } -#line 12377 "MachineIndependent/glslang_tab.cpp" +#line 12381 "MachineIndependent/glslang_tab.cpp" break; case 691: /* spirv_type_parameter_list: spirv_type_parameter */ -#line 4414 "MachineIndependent/glslang.y" +#line 4418 "MachineIndependent/glslang.y" { (yyval.interm.spirvTypeParams) = (yyvsp[0].interm.spirvTypeParams); } -#line 12385 "MachineIndependent/glslang_tab.cpp" +#line 12389 "MachineIndependent/glslang_tab.cpp" break; case 692: /* spirv_type_parameter_list: spirv_type_parameter_list COMMA spirv_type_parameter */ -#line 4417 "MachineIndependent/glslang.y" +#line 4421 "MachineIndependent/glslang.y" { (yyval.interm.spirvTypeParams) = parseContext.mergeSpirvTypeParameters((yyvsp[-2].interm.spirvTypeParams), (yyvsp[0].interm.spirvTypeParams)); } -#line 12393 "MachineIndependent/glslang_tab.cpp" +#line 12397 "MachineIndependent/glslang_tab.cpp" break; case 693: /* spirv_type_parameter: constant_expression */ -#line 4422 "MachineIndependent/glslang.y" +#line 4426 "MachineIndependent/glslang.y" { (yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)->getAsConstantUnion()); } -#line 12401 "MachineIndependent/glslang_tab.cpp" +#line 12405 "MachineIndependent/glslang_tab.cpp" break; case 694: /* spirv_type_parameter: type_specifier_nonarray */ -#line 4425 "MachineIndependent/glslang.y" +#line 4429 "MachineIndependent/glslang.y" { (yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type)); } -#line 12409 "MachineIndependent/glslang_tab.cpp" +#line 12413 "MachineIndependent/glslang_tab.cpp" break; case 695: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4430 "MachineIndependent/glslang.y" +#line 4434 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst); } -#line 12417 "MachineIndependent/glslang_tab.cpp" +#line 12421 "MachineIndependent/glslang_tab.cpp" break; case 696: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4433 "MachineIndependent/glslang.y" +#line 4437 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); (yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst); } -#line 12426 "MachineIndependent/glslang_tab.cpp" +#line 12430 "MachineIndependent/glslang_tab.cpp" break; case 697: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */ -#line 4439 "MachineIndependent/glslang.y" +#line 4443 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = (yyvsp[0].interm.spirvInst); } -#line 12434 "MachineIndependent/glslang_tab.cpp" +#line 12438 "MachineIndependent/glslang_tab.cpp" break; case 698: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */ -#line 4442 "MachineIndependent/glslang.y" +#line 4446 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = parseContext.mergeSpirvInstruction((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvInst), (yyvsp[0].interm.spirvInst)); } -#line 12442 "MachineIndependent/glslang_tab.cpp" +#line 12446 "MachineIndependent/glslang_tab.cpp" break; case 699: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */ -#line 4447 "MachineIndependent/glslang.y" +#line 4451 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, *(yyvsp[0].lex).string); } -#line 12450 "MachineIndependent/glslang_tab.cpp" +#line 12454 "MachineIndependent/glslang_tab.cpp" break; case 700: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */ -#line 4450 "MachineIndependent/glslang.y" +#line 4454 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[0].lex).i); } -#line 12458 "MachineIndependent/glslang_tab.cpp" +#line 12462 "MachineIndependent/glslang_tab.cpp" break; -#line 12462 "MachineIndependent/glslang_tab.cpp" +#line 12466 "MachineIndependent/glslang_tab.cpp" default: break; } @@ -12682,5 +12686,5 @@ yyreturnlab: return yyresult; } -#line 4454 "MachineIndependent/glslang.y" +#line 4458 "MachineIndependent/glslang.y" diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index 4f820c16..c8a24eca 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -956,6 +956,7 @@ INSTANTIATE_TEST_SUITE_P( "spv.debuginfo.rt_types.glsl.rgen", "spv.debuginfo.include.glsl.frag", "spv.debuginfo.multiline.glsl.frag", + "spv.debuginfo.implicit_br.glsl.frag", })), FileNameAsCustomTestSuffix ); From 79c4235085c5eb86ed78b034d94e03f7b3b5daef Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Mon, 2 Sep 2024 15:22:52 -0400 Subject: [PATCH 071/108] ci: Remove redundant testing from continuous deployment workflow The runtests script is already run as part of the cmake-controlled testing, so can be removed from the CD workflow like it was from the CI ones. --- .github/workflows/continuous_deployment.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index 40a240b3..53d84084 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -62,8 +62,7 @@ jobs: - name: Test run: | cd build - ctest --output-on-failure && - cd ../Test && ./runtests + ctest --output-on-failure - name: Zip if: ${{ matrix.compiler.cc == 'clang' }} env: @@ -122,8 +121,7 @@ jobs: - name: Test run: | cd build - ctest --output-on-failure && - cd ../Test && ./runtests + ctest --output-on-failure - name: Zip env: ARCHIVE: glslang-main-${{matrix.os.family}}-${{matrix.cmake_build_type}}.zip @@ -176,7 +174,6 @@ jobs: run: | cd build ctest -C ${{matrix.cmake_build_type}} --output-on-failure - cd ../Test && bash runtests - name: Zip if: ${{ matrix.cmake_build_type == 'Debug' }} env: From 12a17b7ce41436427e358608183100b1103274da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 06:39:21 +0000 Subject: [PATCH 072/108] Bump actions/upload-artifact from 4.3.6 to 4.4.0 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/834a144ee995460fba8ed112a2fc961b36a5ec5a...50769540e7f4bd5e21e526ee35c689e35e0d6874) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index bd8742b5..5861285c 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -40,7 +40,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6 + uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 with: name: SARIF file path: results.sarif From 6495f77b04af5bef7a12767316a2c4a7ed94d2ce Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Wed, 11 Sep 2024 09:46:38 -0700 Subject: [PATCH 073/108] Remove redundant calls to spv::Parameterize() from tests This means the tests won't need to have this entrypoint exposed when building as a shared library with hidden symbols. --- gtests/GlslMapIO.FromFile.cpp | 1 - gtests/Link.FromFile.Vk.cpp | 1 - gtests/TestFixture.h | 4 ---- gtests/VkRelaxed.FromFile.cpp | 1 - 4 files changed, 7 deletions(-) diff --git a/gtests/GlslMapIO.FromFile.cpp b/gtests/GlslMapIO.FromFile.cpp index 927dde04..1ad9e029 100644 --- a/gtests/GlslMapIO.FromFile.cpp +++ b/gtests/GlslMapIO.FromFile.cpp @@ -312,7 +312,6 @@ TEST_P(GlslMapIOTest, FromFile) spirv_binary, &logger, &options()); std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); result.spirvWarningsErrors += logger.getAllMessages(); result.spirv += disassembly_stream.str(); diff --git a/gtests/Link.FromFile.Vk.cpp b/gtests/Link.FromFile.Vk.cpp index fed5d260..9ec67576 100644 --- a/gtests/Link.FromFile.Vk.cpp +++ b/gtests/Link.FromFile.Vk.cpp @@ -86,7 +86,6 @@ TEST_P(LinkTestVulkan, FromFile) spirv_binary, &logger, &options()); std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); result.spirvWarningsErrors = logger.getAllMessages(); result.spirv = disassembly_stream.str(); diff --git a/gtests/TestFixture.h b/gtests/TestFixture.h index 9777c275..ab548f56 100644 --- a/gtests/TestFixture.h +++ b/gtests/TestFixture.h @@ -324,7 +324,6 @@ public: } std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); bool validation_result = !options().validate || logger.getAllMessages().empty(); return {{ @@ -384,7 +383,6 @@ public: spirv_binary, &logger, &options()); std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); bool validation_result = !options().validate || logger.getAllMessages().empty(); return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},}, @@ -429,7 +427,6 @@ public: spv::spirvbin_t(0 /*verbosity*/).remap(spirv_binary, whiteListStrings, remapOptions); std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); bool validation_result = !options().validate || logger.getAllMessages().empty(); return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},}, @@ -453,7 +450,6 @@ public: spv::spirvbin_t(0 /*verbosity*/).remap(spirv_binary, whiteListStrings, remapOptions); std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); return {{{shaderName, "", ""},}, diff --git a/gtests/VkRelaxed.FromFile.cpp b/gtests/VkRelaxed.FromFile.cpp index 483d7c7f..6e31974a 100644 --- a/gtests/VkRelaxed.FromFile.cpp +++ b/gtests/VkRelaxed.FromFile.cpp @@ -264,7 +264,6 @@ TEST_P(VulkanRelaxedTest, FromFile) spirv_binary, &logger, &options()); std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); result.spirvWarningsErrors += logger.getAllMessages(); result.spirv += disassembly_stream.str(); From dc1012140e015d43711514d1294ac6f626890a40 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Mon, 9 Sep 2024 17:20:19 -0700 Subject: [PATCH 074/108] Convert keyword maps to static initializers Rather than having a function that needs to be called from ShInitialize to initialize some global costants, convert them to use static initializers. --- glslang/HLSL/hlslScanContext.cpp | 874 ++++++++++--------- glslang/MachineIndependent/Scan.cpp | 968 +++++++++++----------- glslang/MachineIndependent/ShaderLang.cpp | 10 - 3 files changed, 897 insertions(+), 955 deletions(-) diff --git a/glslang/HLSL/hlslScanContext.cpp b/glslang/HLSL/hlslScanContext.cpp index e9edb619..e45643e9 100644 --- a/glslang/HLSL/hlslScanContext.cpp +++ b/glslang/HLSL/hlslScanContext.cpp @@ -78,414 +78,396 @@ struct str_hash }; // A single global usable by all threads, by all versions, by all languages. -// After a single process-level initialization, this is read only and thread safe -std::unordered_map* KeywordMap = nullptr; -std::unordered_set* ReservedSet = nullptr; -std::unordered_map* SemanticMap = nullptr; +const std::unordered_map KeywordMap { + {"static",glslang::EHTokStatic}, + {"const",glslang::EHTokConst}, + {"unorm",glslang::EHTokUnorm}, + {"snorm",glslang::EHTokSNorm}, + {"extern",glslang::EHTokExtern}, + {"uniform",glslang::EHTokUniform}, + {"volatile",glslang::EHTokVolatile}, + {"precise",glslang::EHTokPrecise}, + {"shared",glslang::EHTokShared}, + {"groupshared",glslang::EHTokGroupShared}, + {"linear",glslang::EHTokLinear}, + {"centroid",glslang::EHTokCentroid}, + {"nointerpolation",glslang::EHTokNointerpolation}, + {"noperspective",glslang::EHTokNoperspective}, + {"sample",glslang::EHTokSample}, + {"row_major",glslang::EHTokRowMajor}, + {"column_major",glslang::EHTokColumnMajor}, + {"packoffset",glslang::EHTokPackOffset}, + {"in",glslang::EHTokIn}, + {"out",glslang::EHTokOut}, + {"inout",glslang::EHTokInOut}, + {"layout",glslang::EHTokLayout}, + {"globallycoherent",glslang::EHTokGloballyCoherent}, + {"inline",glslang::EHTokInline}, + {"point",glslang::EHTokPoint}, + {"line",glslang::EHTokLine}, + {"triangle",glslang::EHTokTriangle}, + {"lineadj",glslang::EHTokLineAdj}, + {"triangleadj",glslang::EHTokTriangleAdj}, + + {"PointStream",glslang::EHTokPointStream}, + {"LineStream",glslang::EHTokLineStream}, + {"TriangleStream",glslang::EHTokTriangleStream}, + + {"InputPatch",glslang::EHTokInputPatch}, + {"OutputPatch",glslang::EHTokOutputPatch}, + + {"Buffer",glslang::EHTokBuffer}, + {"vector",glslang::EHTokVector}, + {"matrix",glslang::EHTokMatrix}, + + {"void",glslang::EHTokVoid}, + {"string",glslang::EHTokString}, + {"bool",glslang::EHTokBool}, + {"int",glslang::EHTokInt}, + {"uint",glslang::EHTokUint}, + {"uint64_t",glslang::EHTokUint64}, + {"dword",glslang::EHTokDword}, + {"half",glslang::EHTokHalf}, + {"float",glslang::EHTokFloat}, + {"double",glslang::EHTokDouble}, + {"min16float",glslang::EHTokMin16float}, + {"min10float",glslang::EHTokMin10float}, + {"min16int",glslang::EHTokMin16int}, + {"min12int",glslang::EHTokMin12int}, + {"min16uint",glslang::EHTokMin16uint}, + + {"bool1",glslang::EHTokBool1}, + {"bool2",glslang::EHTokBool2}, + {"bool3",glslang::EHTokBool3}, + {"bool4",glslang::EHTokBool4}, + {"float1",glslang::EHTokFloat1}, + {"float2",glslang::EHTokFloat2}, + {"float3",glslang::EHTokFloat3}, + {"float4",glslang::EHTokFloat4}, + {"int1",glslang::EHTokInt1}, + {"int2",glslang::EHTokInt2}, + {"int3",glslang::EHTokInt3}, + {"int4",glslang::EHTokInt4}, + {"double1",glslang::EHTokDouble1}, + {"double2",glslang::EHTokDouble2}, + {"double3",glslang::EHTokDouble3}, + {"double4",glslang::EHTokDouble4}, + {"uint1",glslang::EHTokUint1}, + {"uint2",glslang::EHTokUint2}, + {"uint3",glslang::EHTokUint3}, + {"uint4",glslang::EHTokUint4}, + + {"half1",glslang::EHTokHalf1}, + {"half2",glslang::EHTokHalf2}, + {"half3",glslang::EHTokHalf3}, + {"half4",glslang::EHTokHalf4}, + {"min16float1",glslang::EHTokMin16float1}, + {"min16float2",glslang::EHTokMin16float2}, + {"min16float3",glslang::EHTokMin16float3}, + {"min16float4",glslang::EHTokMin16float4}, + {"min10float1",glslang::EHTokMin10float1}, + {"min10float2",glslang::EHTokMin10float2}, + {"min10float3",glslang::EHTokMin10float3}, + {"min10float4",glslang::EHTokMin10float4}, + {"min16int1",glslang::EHTokMin16int1}, + {"min16int2",glslang::EHTokMin16int2}, + {"min16int3",glslang::EHTokMin16int3}, + {"min16int4",glslang::EHTokMin16int4}, + {"min12int1",glslang::EHTokMin12int1}, + {"min12int2",glslang::EHTokMin12int2}, + {"min12int3",glslang::EHTokMin12int3}, + {"min12int4",glslang::EHTokMin12int4}, + {"min16uint1",glslang::EHTokMin16uint1}, + {"min16uint2",glslang::EHTokMin16uint2}, + {"min16uint3",glslang::EHTokMin16uint3}, + {"min16uint4",glslang::EHTokMin16uint4}, + + {"bool1x1",glslang::EHTokBool1x1}, + {"bool1x2",glslang::EHTokBool1x2}, + {"bool1x3",glslang::EHTokBool1x3}, + {"bool1x4",glslang::EHTokBool1x4}, + {"bool2x1",glslang::EHTokBool2x1}, + {"bool2x2",glslang::EHTokBool2x2}, + {"bool2x3",glslang::EHTokBool2x3}, + {"bool2x4",glslang::EHTokBool2x4}, + {"bool3x1",glslang::EHTokBool3x1}, + {"bool3x2",glslang::EHTokBool3x2}, + {"bool3x3",glslang::EHTokBool3x3}, + {"bool3x4",glslang::EHTokBool3x4}, + {"bool4x1",glslang::EHTokBool4x1}, + {"bool4x2",glslang::EHTokBool4x2}, + {"bool4x3",glslang::EHTokBool4x3}, + {"bool4x4",glslang::EHTokBool4x4}, + {"int1x1",glslang::EHTokInt1x1}, + {"int1x2",glslang::EHTokInt1x2}, + {"int1x3",glslang::EHTokInt1x3}, + {"int1x4",glslang::EHTokInt1x4}, + {"int2x1",glslang::EHTokInt2x1}, + {"int2x2",glslang::EHTokInt2x2}, + {"int2x3",glslang::EHTokInt2x3}, + {"int2x4",glslang::EHTokInt2x4}, + {"int3x1",glslang::EHTokInt3x1}, + {"int3x2",glslang::EHTokInt3x2}, + {"int3x3",glslang::EHTokInt3x3}, + {"int3x4",glslang::EHTokInt3x4}, + {"int4x1",glslang::EHTokInt4x1}, + {"int4x2",glslang::EHTokInt4x2}, + {"int4x3",glslang::EHTokInt4x3}, + {"int4x4",glslang::EHTokInt4x4}, + {"uint1x1",glslang::EHTokUint1x1}, + {"uint1x2",glslang::EHTokUint1x2}, + {"uint1x3",glslang::EHTokUint1x3}, + {"uint1x4",glslang::EHTokUint1x4}, + {"uint2x1",glslang::EHTokUint2x1}, + {"uint2x2",glslang::EHTokUint2x2}, + {"uint2x3",glslang::EHTokUint2x3}, + {"uint2x4",glslang::EHTokUint2x4}, + {"uint3x1",glslang::EHTokUint3x1}, + {"uint3x2",glslang::EHTokUint3x2}, + {"uint3x3",glslang::EHTokUint3x3}, + {"uint3x4",glslang::EHTokUint3x4}, + {"uint4x1",glslang::EHTokUint4x1}, + {"uint4x2",glslang::EHTokUint4x2}, + {"uint4x3",glslang::EHTokUint4x3}, + {"uint4x4",glslang::EHTokUint4x4}, + {"bool1x1",glslang::EHTokBool1x1}, + {"bool1x2",glslang::EHTokBool1x2}, + {"bool1x3",glslang::EHTokBool1x3}, + {"bool1x4",glslang::EHTokBool1x4}, + {"bool2x1",glslang::EHTokBool2x1}, + {"bool2x2",glslang::EHTokBool2x2}, + {"bool2x3",glslang::EHTokBool2x3}, + {"bool2x4",glslang::EHTokBool2x4}, + {"bool3x1",glslang::EHTokBool3x1}, + {"bool3x2",glslang::EHTokBool3x2}, + {"bool3x3",glslang::EHTokBool3x3}, + {"bool3x4",glslang::EHTokBool3x4}, + {"bool4x1",glslang::EHTokBool4x1}, + {"bool4x2",glslang::EHTokBool4x2}, + {"bool4x3",glslang::EHTokBool4x3}, + {"bool4x4",glslang::EHTokBool4x4}, + {"float1x1",glslang::EHTokFloat1x1}, + {"float1x2",glslang::EHTokFloat1x2}, + {"float1x3",glslang::EHTokFloat1x3}, + {"float1x4",glslang::EHTokFloat1x4}, + {"float2x1",glslang::EHTokFloat2x1}, + {"float2x2",glslang::EHTokFloat2x2}, + {"float2x3",glslang::EHTokFloat2x3}, + {"float2x4",glslang::EHTokFloat2x4}, + {"float3x1",glslang::EHTokFloat3x1}, + {"float3x2",glslang::EHTokFloat3x2}, + {"float3x3",glslang::EHTokFloat3x3}, + {"float3x4",glslang::EHTokFloat3x4}, + {"float4x1",glslang::EHTokFloat4x1}, + {"float4x2",glslang::EHTokFloat4x2}, + {"float4x3",glslang::EHTokFloat4x3}, + {"float4x4",glslang::EHTokFloat4x4}, + {"half1x1",glslang::EHTokHalf1x1}, + {"half1x2",glslang::EHTokHalf1x2}, + {"half1x3",glslang::EHTokHalf1x3}, + {"half1x4",glslang::EHTokHalf1x4}, + {"half2x1",glslang::EHTokHalf2x1}, + {"half2x2",glslang::EHTokHalf2x2}, + {"half2x3",glslang::EHTokHalf2x3}, + {"half2x4",glslang::EHTokHalf2x4}, + {"half3x1",glslang::EHTokHalf3x1}, + {"half3x2",glslang::EHTokHalf3x2}, + {"half3x3",glslang::EHTokHalf3x3}, + {"half3x4",glslang::EHTokHalf3x4}, + {"half4x1",glslang::EHTokHalf4x1}, + {"half4x2",glslang::EHTokHalf4x2}, + {"half4x3",glslang::EHTokHalf4x3}, + {"half4x4",glslang::EHTokHalf4x4}, + {"double1x1",glslang::EHTokDouble1x1}, + {"double1x2",glslang::EHTokDouble1x2}, + {"double1x3",glslang::EHTokDouble1x3}, + {"double1x4",glslang::EHTokDouble1x4}, + {"double2x1",glslang::EHTokDouble2x1}, + {"double2x2",glslang::EHTokDouble2x2}, + {"double2x3",glslang::EHTokDouble2x3}, + {"double2x4",glslang::EHTokDouble2x4}, + {"double3x1",glslang::EHTokDouble3x1}, + {"double3x2",glslang::EHTokDouble3x2}, + {"double3x3",glslang::EHTokDouble3x3}, + {"double3x4",glslang::EHTokDouble3x4}, + {"double4x1",glslang::EHTokDouble4x1}, + {"double4x2",glslang::EHTokDouble4x2}, + {"double4x3",glslang::EHTokDouble4x3}, + {"double4x4",glslang::EHTokDouble4x4}, + {"min16float1x1",glslang::EHTokMin16float1x1}, + {"min16float1x2",glslang::EHTokMin16float1x2}, + {"min16float1x3",glslang::EHTokMin16float1x3}, + {"min16float1x4",glslang::EHTokMin16float1x4}, + {"min16float2x1",glslang::EHTokMin16float2x1}, + {"min16float2x2",glslang::EHTokMin16float2x2}, + {"min16float2x3",glslang::EHTokMin16float2x3}, + {"min16float2x4",glslang::EHTokMin16float2x4}, + {"min16float3x1",glslang::EHTokMin16float3x1}, + {"min16float3x2",glslang::EHTokMin16float3x2}, + {"min16float3x3",glslang::EHTokMin16float3x3}, + {"min16float3x4",glslang::EHTokMin16float3x4}, + {"min16float4x1",glslang::EHTokMin16float4x1}, + {"min16float4x2",glslang::EHTokMin16float4x2}, + {"min16float4x3",glslang::EHTokMin16float4x3}, + {"min16float4x4",glslang::EHTokMin16float4x4}, + {"min10float1x1",glslang::EHTokMin10float1x1}, + {"min10float1x2",glslang::EHTokMin10float1x2}, + {"min10float1x3",glslang::EHTokMin10float1x3}, + {"min10float1x4",glslang::EHTokMin10float1x4}, + {"min10float2x1",glslang::EHTokMin10float2x1}, + {"min10float2x2",glslang::EHTokMin10float2x2}, + {"min10float2x3",glslang::EHTokMin10float2x3}, + {"min10float2x4",glslang::EHTokMin10float2x4}, + {"min10float3x1",glslang::EHTokMin10float3x1}, + {"min10float3x2",glslang::EHTokMin10float3x2}, + {"min10float3x3",glslang::EHTokMin10float3x3}, + {"min10float3x4",glslang::EHTokMin10float3x4}, + {"min10float4x1",glslang::EHTokMin10float4x1}, + {"min10float4x2",glslang::EHTokMin10float4x2}, + {"min10float4x3",glslang::EHTokMin10float4x3}, + {"min10float4x4",glslang::EHTokMin10float4x4}, + {"min16int1x1",glslang::EHTokMin16int1x1}, + {"min16int1x2",glslang::EHTokMin16int1x2}, + {"min16int1x3",glslang::EHTokMin16int1x3}, + {"min16int1x4",glslang::EHTokMin16int1x4}, + {"min16int2x1",glslang::EHTokMin16int2x1}, + {"min16int2x2",glslang::EHTokMin16int2x2}, + {"min16int2x3",glslang::EHTokMin16int2x3}, + {"min16int2x4",glslang::EHTokMin16int2x4}, + {"min16int3x1",glslang::EHTokMin16int3x1}, + {"min16int3x2",glslang::EHTokMin16int3x2}, + {"min16int3x3",glslang::EHTokMin16int3x3}, + {"min16int3x4",glslang::EHTokMin16int3x4}, + {"min16int4x1",glslang::EHTokMin16int4x1}, + {"min16int4x2",glslang::EHTokMin16int4x2}, + {"min16int4x3",glslang::EHTokMin16int4x3}, + {"min16int4x4",glslang::EHTokMin16int4x4}, + {"min12int1x1",glslang::EHTokMin12int1x1}, + {"min12int1x2",glslang::EHTokMin12int1x2}, + {"min12int1x3",glslang::EHTokMin12int1x3}, + {"min12int1x4",glslang::EHTokMin12int1x4}, + {"min12int2x1",glslang::EHTokMin12int2x1}, + {"min12int2x2",glslang::EHTokMin12int2x2}, + {"min12int2x3",glslang::EHTokMin12int2x3}, + {"min12int2x4",glslang::EHTokMin12int2x4}, + {"min12int3x1",glslang::EHTokMin12int3x1}, + {"min12int3x2",glslang::EHTokMin12int3x2}, + {"min12int3x3",glslang::EHTokMin12int3x3}, + {"min12int3x4",glslang::EHTokMin12int3x4}, + {"min12int4x1",glslang::EHTokMin12int4x1}, + {"min12int4x2",glslang::EHTokMin12int4x2}, + {"min12int4x3",glslang::EHTokMin12int4x3}, + {"min12int4x4",glslang::EHTokMin12int4x4}, + {"min16uint1x1",glslang::EHTokMin16uint1x1}, + {"min16uint1x2",glslang::EHTokMin16uint1x2}, + {"min16uint1x3",glslang::EHTokMin16uint1x3}, + {"min16uint1x4",glslang::EHTokMin16uint1x4}, + {"min16uint2x1",glslang::EHTokMin16uint2x1}, + {"min16uint2x2",glslang::EHTokMin16uint2x2}, + {"min16uint2x3",glslang::EHTokMin16uint2x3}, + {"min16uint2x4",glslang::EHTokMin16uint2x4}, + {"min16uint3x1",glslang::EHTokMin16uint3x1}, + {"min16uint3x2",glslang::EHTokMin16uint3x2}, + {"min16uint3x3",glslang::EHTokMin16uint3x3}, + {"min16uint3x4",glslang::EHTokMin16uint3x4}, + {"min16uint4x1",glslang::EHTokMin16uint4x1}, + {"min16uint4x2",glslang::EHTokMin16uint4x2}, + {"min16uint4x3",glslang::EHTokMin16uint4x3}, + {"min16uint4x4",glslang::EHTokMin16uint4x4}, + + {"sampler",glslang::EHTokSampler}, + {"sampler1D",glslang::EHTokSampler1d}, + {"sampler2D",glslang::EHTokSampler2d}, + {"sampler3D",glslang::EHTokSampler3d}, + {"samplerCUBE",glslang::EHTokSamplerCube}, + {"sampler_state",glslang::EHTokSamplerState}, + {"SamplerState",glslang::EHTokSamplerState}, + {"SamplerComparisonState",glslang::EHTokSamplerComparisonState}, + {"texture",glslang::EHTokTexture}, + {"Texture1D",glslang::EHTokTexture1d}, + {"Texture1DArray",glslang::EHTokTexture1darray}, + {"Texture2D",glslang::EHTokTexture2d}, + {"Texture2DArray",glslang::EHTokTexture2darray}, + {"Texture3D",glslang::EHTokTexture3d}, + {"TextureCube",glslang::EHTokTextureCube}, + {"TextureCubeArray",glslang::EHTokTextureCubearray}, + {"Texture2DMS",glslang::EHTokTexture2DMS}, + {"Texture2DMSArray",glslang::EHTokTexture2DMSarray}, + {"RWTexture1D",glslang::EHTokRWTexture1d}, + {"RWTexture1DArray",glslang::EHTokRWTexture1darray}, + {"RWTexture2D",glslang::EHTokRWTexture2d}, + {"RWTexture2DArray",glslang::EHTokRWTexture2darray}, + {"RWTexture3D",glslang::EHTokRWTexture3d}, + {"RWBuffer",glslang::EHTokRWBuffer}, + {"SubpassInput",glslang::EHTokSubpassInput}, + {"SubpassInputMS",glslang::EHTokSubpassInputMS}, + + {"AppendStructuredBuffer",glslang::EHTokAppendStructuredBuffer}, + {"ByteAddressBuffer",glslang::EHTokByteAddressBuffer}, + {"ConsumeStructuredBuffer",glslang::EHTokConsumeStructuredBuffer}, + {"RWByteAddressBuffer",glslang::EHTokRWByteAddressBuffer}, + {"RWStructuredBuffer",glslang::EHTokRWStructuredBuffer}, + {"StructuredBuffer",glslang::EHTokStructuredBuffer}, + {"TextureBuffer",glslang::EHTokTextureBuffer}, + + {"class",glslang::EHTokClass}, + {"struct",glslang::EHTokStruct}, + {"cbuffer",glslang::EHTokCBuffer}, + {"ConstantBuffer",glslang::EHTokConstantBuffer}, + {"tbuffer",glslang::EHTokTBuffer}, + {"typedef",glslang::EHTokTypedef}, + {"this",glslang::EHTokThis}, + {"namespace",glslang::EHTokNamespace}, + + {"true",glslang::EHTokBoolConstant}, + {"false",glslang::EHTokBoolConstant}, + + {"for",glslang::EHTokFor}, + {"do",glslang::EHTokDo}, + {"while",glslang::EHTokWhile}, + {"break",glslang::EHTokBreak}, + {"continue",glslang::EHTokContinue}, + {"if",glslang::EHTokIf}, + {"else",glslang::EHTokElse}, + {"discard",glslang::EHTokDiscard}, + {"return",glslang::EHTokReturn}, + {"switch",glslang::EHTokSwitch}, + {"case",glslang::EHTokCase}, + {"default",glslang::EHTokDefault}, }; -namespace glslang { - -void HlslScanContext::fillInKeywordMap() -{ - if (KeywordMap != nullptr) { - // this is really an error, as this should called only once per process - // but, the only risk is if two threads called simultaneously - return; - } - KeywordMap = new std::unordered_map; - - (*KeywordMap)["static"] = EHTokStatic; - (*KeywordMap)["const"] = EHTokConst; - (*KeywordMap)["unorm"] = EHTokUnorm; - (*KeywordMap)["snorm"] = EHTokSNorm; - (*KeywordMap)["extern"] = EHTokExtern; - (*KeywordMap)["uniform"] = EHTokUniform; - (*KeywordMap)["volatile"] = EHTokVolatile; - (*KeywordMap)["precise"] = EHTokPrecise; - (*KeywordMap)["shared"] = EHTokShared; - (*KeywordMap)["groupshared"] = EHTokGroupShared; - (*KeywordMap)["linear"] = EHTokLinear; - (*KeywordMap)["centroid"] = EHTokCentroid; - (*KeywordMap)["nointerpolation"] = EHTokNointerpolation; - (*KeywordMap)["noperspective"] = EHTokNoperspective; - (*KeywordMap)["sample"] = EHTokSample; - (*KeywordMap)["row_major"] = EHTokRowMajor; - (*KeywordMap)["column_major"] = EHTokColumnMajor; - (*KeywordMap)["packoffset"] = EHTokPackOffset; - (*KeywordMap)["in"] = EHTokIn; - (*KeywordMap)["out"] = EHTokOut; - (*KeywordMap)["inout"] = EHTokInOut; - (*KeywordMap)["layout"] = EHTokLayout; - (*KeywordMap)["globallycoherent"] = EHTokGloballyCoherent; - (*KeywordMap)["inline"] = EHTokInline; - - (*KeywordMap)["point"] = EHTokPoint; - (*KeywordMap)["line"] = EHTokLine; - (*KeywordMap)["triangle"] = EHTokTriangle; - (*KeywordMap)["lineadj"] = EHTokLineAdj; - (*KeywordMap)["triangleadj"] = EHTokTriangleAdj; - - (*KeywordMap)["PointStream"] = EHTokPointStream; - (*KeywordMap)["LineStream"] = EHTokLineStream; - (*KeywordMap)["TriangleStream"] = EHTokTriangleStream; - - (*KeywordMap)["InputPatch"] = EHTokInputPatch; - (*KeywordMap)["OutputPatch"] = EHTokOutputPatch; - - (*KeywordMap)["Buffer"] = EHTokBuffer; - (*KeywordMap)["vector"] = EHTokVector; - (*KeywordMap)["matrix"] = EHTokMatrix; - - (*KeywordMap)["void"] = EHTokVoid; - (*KeywordMap)["string"] = EHTokString; - (*KeywordMap)["bool"] = EHTokBool; - (*KeywordMap)["int"] = EHTokInt; - (*KeywordMap)["uint"] = EHTokUint; - (*KeywordMap)["uint64_t"] = EHTokUint64; - (*KeywordMap)["dword"] = EHTokDword; - (*KeywordMap)["half"] = EHTokHalf; - (*KeywordMap)["float"] = EHTokFloat; - (*KeywordMap)["double"] = EHTokDouble; - (*KeywordMap)["min16float"] = EHTokMin16float; - (*KeywordMap)["min10float"] = EHTokMin10float; - (*KeywordMap)["min16int"] = EHTokMin16int; - (*KeywordMap)["min12int"] = EHTokMin12int; - (*KeywordMap)["min16uint"] = EHTokMin16uint; - - (*KeywordMap)["bool1"] = EHTokBool1; - (*KeywordMap)["bool2"] = EHTokBool2; - (*KeywordMap)["bool3"] = EHTokBool3; - (*KeywordMap)["bool4"] = EHTokBool4; - (*KeywordMap)["float1"] = EHTokFloat1; - (*KeywordMap)["float2"] = EHTokFloat2; - (*KeywordMap)["float3"] = EHTokFloat3; - (*KeywordMap)["float4"] = EHTokFloat4; - (*KeywordMap)["int1"] = EHTokInt1; - (*KeywordMap)["int2"] = EHTokInt2; - (*KeywordMap)["int3"] = EHTokInt3; - (*KeywordMap)["int4"] = EHTokInt4; - (*KeywordMap)["double1"] = EHTokDouble1; - (*KeywordMap)["double2"] = EHTokDouble2; - (*KeywordMap)["double3"] = EHTokDouble3; - (*KeywordMap)["double4"] = EHTokDouble4; - (*KeywordMap)["uint1"] = EHTokUint1; - (*KeywordMap)["uint2"] = EHTokUint2; - (*KeywordMap)["uint3"] = EHTokUint3; - (*KeywordMap)["uint4"] = EHTokUint4; - - (*KeywordMap)["half1"] = EHTokHalf1; - (*KeywordMap)["half2"] = EHTokHalf2; - (*KeywordMap)["half3"] = EHTokHalf3; - (*KeywordMap)["half4"] = EHTokHalf4; - (*KeywordMap)["min16float1"] = EHTokMin16float1; - (*KeywordMap)["min16float2"] = EHTokMin16float2; - (*KeywordMap)["min16float3"] = EHTokMin16float3; - (*KeywordMap)["min16float4"] = EHTokMin16float4; - (*KeywordMap)["min10float1"] = EHTokMin10float1; - (*KeywordMap)["min10float2"] = EHTokMin10float2; - (*KeywordMap)["min10float3"] = EHTokMin10float3; - (*KeywordMap)["min10float4"] = EHTokMin10float4; - (*KeywordMap)["min16int1"] = EHTokMin16int1; - (*KeywordMap)["min16int2"] = EHTokMin16int2; - (*KeywordMap)["min16int3"] = EHTokMin16int3; - (*KeywordMap)["min16int4"] = EHTokMin16int4; - (*KeywordMap)["min12int1"] = EHTokMin12int1; - (*KeywordMap)["min12int2"] = EHTokMin12int2; - (*KeywordMap)["min12int3"] = EHTokMin12int3; - (*KeywordMap)["min12int4"] = EHTokMin12int4; - (*KeywordMap)["min16uint1"] = EHTokMin16uint1; - (*KeywordMap)["min16uint2"] = EHTokMin16uint2; - (*KeywordMap)["min16uint3"] = EHTokMin16uint3; - (*KeywordMap)["min16uint4"] = EHTokMin16uint4; - - (*KeywordMap)["bool1x1"] = EHTokBool1x1; - (*KeywordMap)["bool1x2"] = EHTokBool1x2; - (*KeywordMap)["bool1x3"] = EHTokBool1x3; - (*KeywordMap)["bool1x4"] = EHTokBool1x4; - (*KeywordMap)["bool2x1"] = EHTokBool2x1; - (*KeywordMap)["bool2x2"] = EHTokBool2x2; - (*KeywordMap)["bool2x3"] = EHTokBool2x3; - (*KeywordMap)["bool2x4"] = EHTokBool2x4; - (*KeywordMap)["bool3x1"] = EHTokBool3x1; - (*KeywordMap)["bool3x2"] = EHTokBool3x2; - (*KeywordMap)["bool3x3"] = EHTokBool3x3; - (*KeywordMap)["bool3x4"] = EHTokBool3x4; - (*KeywordMap)["bool4x1"] = EHTokBool4x1; - (*KeywordMap)["bool4x2"] = EHTokBool4x2; - (*KeywordMap)["bool4x3"] = EHTokBool4x3; - (*KeywordMap)["bool4x4"] = EHTokBool4x4; - (*KeywordMap)["int1x1"] = EHTokInt1x1; - (*KeywordMap)["int1x2"] = EHTokInt1x2; - (*KeywordMap)["int1x3"] = EHTokInt1x3; - (*KeywordMap)["int1x4"] = EHTokInt1x4; - (*KeywordMap)["int2x1"] = EHTokInt2x1; - (*KeywordMap)["int2x2"] = EHTokInt2x2; - (*KeywordMap)["int2x3"] = EHTokInt2x3; - (*KeywordMap)["int2x4"] = EHTokInt2x4; - (*KeywordMap)["int3x1"] = EHTokInt3x1; - (*KeywordMap)["int3x2"] = EHTokInt3x2; - (*KeywordMap)["int3x3"] = EHTokInt3x3; - (*KeywordMap)["int3x4"] = EHTokInt3x4; - (*KeywordMap)["int4x1"] = EHTokInt4x1; - (*KeywordMap)["int4x2"] = EHTokInt4x2; - (*KeywordMap)["int4x3"] = EHTokInt4x3; - (*KeywordMap)["int4x4"] = EHTokInt4x4; - (*KeywordMap)["uint1x1"] = EHTokUint1x1; - (*KeywordMap)["uint1x2"] = EHTokUint1x2; - (*KeywordMap)["uint1x3"] = EHTokUint1x3; - (*KeywordMap)["uint1x4"] = EHTokUint1x4; - (*KeywordMap)["uint2x1"] = EHTokUint2x1; - (*KeywordMap)["uint2x2"] = EHTokUint2x2; - (*KeywordMap)["uint2x3"] = EHTokUint2x3; - (*KeywordMap)["uint2x4"] = EHTokUint2x4; - (*KeywordMap)["uint3x1"] = EHTokUint3x1; - (*KeywordMap)["uint3x2"] = EHTokUint3x2; - (*KeywordMap)["uint3x3"] = EHTokUint3x3; - (*KeywordMap)["uint3x4"] = EHTokUint3x4; - (*KeywordMap)["uint4x1"] = EHTokUint4x1; - (*KeywordMap)["uint4x2"] = EHTokUint4x2; - (*KeywordMap)["uint4x3"] = EHTokUint4x3; - (*KeywordMap)["uint4x4"] = EHTokUint4x4; - (*KeywordMap)["bool1x1"] = EHTokBool1x1; - (*KeywordMap)["bool1x2"] = EHTokBool1x2; - (*KeywordMap)["bool1x3"] = EHTokBool1x3; - (*KeywordMap)["bool1x4"] = EHTokBool1x4; - (*KeywordMap)["bool2x1"] = EHTokBool2x1; - (*KeywordMap)["bool2x2"] = EHTokBool2x2; - (*KeywordMap)["bool2x3"] = EHTokBool2x3; - (*KeywordMap)["bool2x4"] = EHTokBool2x4; - (*KeywordMap)["bool3x1"] = EHTokBool3x1; - (*KeywordMap)["bool3x2"] = EHTokBool3x2; - (*KeywordMap)["bool3x3"] = EHTokBool3x3; - (*KeywordMap)["bool3x4"] = EHTokBool3x4; - (*KeywordMap)["bool4x1"] = EHTokBool4x1; - (*KeywordMap)["bool4x2"] = EHTokBool4x2; - (*KeywordMap)["bool4x3"] = EHTokBool4x3; - (*KeywordMap)["bool4x4"] = EHTokBool4x4; - (*KeywordMap)["float1x1"] = EHTokFloat1x1; - (*KeywordMap)["float1x2"] = EHTokFloat1x2; - (*KeywordMap)["float1x3"] = EHTokFloat1x3; - (*KeywordMap)["float1x4"] = EHTokFloat1x4; - (*KeywordMap)["float2x1"] = EHTokFloat2x1; - (*KeywordMap)["float2x2"] = EHTokFloat2x2; - (*KeywordMap)["float2x3"] = EHTokFloat2x3; - (*KeywordMap)["float2x4"] = EHTokFloat2x4; - (*KeywordMap)["float3x1"] = EHTokFloat3x1; - (*KeywordMap)["float3x2"] = EHTokFloat3x2; - (*KeywordMap)["float3x3"] = EHTokFloat3x3; - (*KeywordMap)["float3x4"] = EHTokFloat3x4; - (*KeywordMap)["float4x1"] = EHTokFloat4x1; - (*KeywordMap)["float4x2"] = EHTokFloat4x2; - (*KeywordMap)["float4x3"] = EHTokFloat4x3; - (*KeywordMap)["float4x4"] = EHTokFloat4x4; - (*KeywordMap)["half1x1"] = EHTokHalf1x1; - (*KeywordMap)["half1x2"] = EHTokHalf1x2; - (*KeywordMap)["half1x3"] = EHTokHalf1x3; - (*KeywordMap)["half1x4"] = EHTokHalf1x4; - (*KeywordMap)["half2x1"] = EHTokHalf2x1; - (*KeywordMap)["half2x2"] = EHTokHalf2x2; - (*KeywordMap)["half2x3"] = EHTokHalf2x3; - (*KeywordMap)["half2x4"] = EHTokHalf2x4; - (*KeywordMap)["half3x1"] = EHTokHalf3x1; - (*KeywordMap)["half3x2"] = EHTokHalf3x2; - (*KeywordMap)["half3x3"] = EHTokHalf3x3; - (*KeywordMap)["half3x4"] = EHTokHalf3x4; - (*KeywordMap)["half4x1"] = EHTokHalf4x1; - (*KeywordMap)["half4x2"] = EHTokHalf4x2; - (*KeywordMap)["half4x3"] = EHTokHalf4x3; - (*KeywordMap)["half4x4"] = EHTokHalf4x4; - (*KeywordMap)["double1x1"] = EHTokDouble1x1; - (*KeywordMap)["double1x2"] = EHTokDouble1x2; - (*KeywordMap)["double1x3"] = EHTokDouble1x3; - (*KeywordMap)["double1x4"] = EHTokDouble1x4; - (*KeywordMap)["double2x1"] = EHTokDouble2x1; - (*KeywordMap)["double2x2"] = EHTokDouble2x2; - (*KeywordMap)["double2x3"] = EHTokDouble2x3; - (*KeywordMap)["double2x4"] = EHTokDouble2x4; - (*KeywordMap)["double3x1"] = EHTokDouble3x1; - (*KeywordMap)["double3x2"] = EHTokDouble3x2; - (*KeywordMap)["double3x3"] = EHTokDouble3x3; - (*KeywordMap)["double3x4"] = EHTokDouble3x4; - (*KeywordMap)["double4x1"] = EHTokDouble4x1; - (*KeywordMap)["double4x2"] = EHTokDouble4x2; - (*KeywordMap)["double4x3"] = EHTokDouble4x3; - (*KeywordMap)["double4x4"] = EHTokDouble4x4; - (*KeywordMap)["min16float1x1"] = EHTokMin16float1x1; - (*KeywordMap)["min16float1x2"] = EHTokMin16float1x2; - (*KeywordMap)["min16float1x3"] = EHTokMin16float1x3; - (*KeywordMap)["min16float1x4"] = EHTokMin16float1x4; - (*KeywordMap)["min16float2x1"] = EHTokMin16float2x1; - (*KeywordMap)["min16float2x2"] = EHTokMin16float2x2; - (*KeywordMap)["min16float2x3"] = EHTokMin16float2x3; - (*KeywordMap)["min16float2x4"] = EHTokMin16float2x4; - (*KeywordMap)["min16float3x1"] = EHTokMin16float3x1; - (*KeywordMap)["min16float3x2"] = EHTokMin16float3x2; - (*KeywordMap)["min16float3x3"] = EHTokMin16float3x3; - (*KeywordMap)["min16float3x4"] = EHTokMin16float3x4; - (*KeywordMap)["min16float4x1"] = EHTokMin16float4x1; - (*KeywordMap)["min16float4x2"] = EHTokMin16float4x2; - (*KeywordMap)["min16float4x3"] = EHTokMin16float4x3; - (*KeywordMap)["min16float4x4"] = EHTokMin16float4x4; - (*KeywordMap)["min10float1x1"] = EHTokMin10float1x1; - (*KeywordMap)["min10float1x2"] = EHTokMin10float1x2; - (*KeywordMap)["min10float1x3"] = EHTokMin10float1x3; - (*KeywordMap)["min10float1x4"] = EHTokMin10float1x4; - (*KeywordMap)["min10float2x1"] = EHTokMin10float2x1; - (*KeywordMap)["min10float2x2"] = EHTokMin10float2x2; - (*KeywordMap)["min10float2x3"] = EHTokMin10float2x3; - (*KeywordMap)["min10float2x4"] = EHTokMin10float2x4; - (*KeywordMap)["min10float3x1"] = EHTokMin10float3x1; - (*KeywordMap)["min10float3x2"] = EHTokMin10float3x2; - (*KeywordMap)["min10float3x3"] = EHTokMin10float3x3; - (*KeywordMap)["min10float3x4"] = EHTokMin10float3x4; - (*KeywordMap)["min10float4x1"] = EHTokMin10float4x1; - (*KeywordMap)["min10float4x2"] = EHTokMin10float4x2; - (*KeywordMap)["min10float4x3"] = EHTokMin10float4x3; - (*KeywordMap)["min10float4x4"] = EHTokMin10float4x4; - (*KeywordMap)["min16int1x1"] = EHTokMin16int1x1; - (*KeywordMap)["min16int1x2"] = EHTokMin16int1x2; - (*KeywordMap)["min16int1x3"] = EHTokMin16int1x3; - (*KeywordMap)["min16int1x4"] = EHTokMin16int1x4; - (*KeywordMap)["min16int2x1"] = EHTokMin16int2x1; - (*KeywordMap)["min16int2x2"] = EHTokMin16int2x2; - (*KeywordMap)["min16int2x3"] = EHTokMin16int2x3; - (*KeywordMap)["min16int2x4"] = EHTokMin16int2x4; - (*KeywordMap)["min16int3x1"] = EHTokMin16int3x1; - (*KeywordMap)["min16int3x2"] = EHTokMin16int3x2; - (*KeywordMap)["min16int3x3"] = EHTokMin16int3x3; - (*KeywordMap)["min16int3x4"] = EHTokMin16int3x4; - (*KeywordMap)["min16int4x1"] = EHTokMin16int4x1; - (*KeywordMap)["min16int4x2"] = EHTokMin16int4x2; - (*KeywordMap)["min16int4x3"] = EHTokMin16int4x3; - (*KeywordMap)["min16int4x4"] = EHTokMin16int4x4; - (*KeywordMap)["min12int1x1"] = EHTokMin12int1x1; - (*KeywordMap)["min12int1x2"] = EHTokMin12int1x2; - (*KeywordMap)["min12int1x3"] = EHTokMin12int1x3; - (*KeywordMap)["min12int1x4"] = EHTokMin12int1x4; - (*KeywordMap)["min12int2x1"] = EHTokMin12int2x1; - (*KeywordMap)["min12int2x2"] = EHTokMin12int2x2; - (*KeywordMap)["min12int2x3"] = EHTokMin12int2x3; - (*KeywordMap)["min12int2x4"] = EHTokMin12int2x4; - (*KeywordMap)["min12int3x1"] = EHTokMin12int3x1; - (*KeywordMap)["min12int3x2"] = EHTokMin12int3x2; - (*KeywordMap)["min12int3x3"] = EHTokMin12int3x3; - (*KeywordMap)["min12int3x4"] = EHTokMin12int3x4; - (*KeywordMap)["min12int4x1"] = EHTokMin12int4x1; - (*KeywordMap)["min12int4x2"] = EHTokMin12int4x2; - (*KeywordMap)["min12int4x3"] = EHTokMin12int4x3; - (*KeywordMap)["min12int4x4"] = EHTokMin12int4x4; - (*KeywordMap)["min16uint1x1"] = EHTokMin16uint1x1; - (*KeywordMap)["min16uint1x2"] = EHTokMin16uint1x2; - (*KeywordMap)["min16uint1x3"] = EHTokMin16uint1x3; - (*KeywordMap)["min16uint1x4"] = EHTokMin16uint1x4; - (*KeywordMap)["min16uint2x1"] = EHTokMin16uint2x1; - (*KeywordMap)["min16uint2x2"] = EHTokMin16uint2x2; - (*KeywordMap)["min16uint2x3"] = EHTokMin16uint2x3; - (*KeywordMap)["min16uint2x4"] = EHTokMin16uint2x4; - (*KeywordMap)["min16uint3x1"] = EHTokMin16uint3x1; - (*KeywordMap)["min16uint3x2"] = EHTokMin16uint3x2; - (*KeywordMap)["min16uint3x3"] = EHTokMin16uint3x3; - (*KeywordMap)["min16uint3x4"] = EHTokMin16uint3x4; - (*KeywordMap)["min16uint4x1"] = EHTokMin16uint4x1; - (*KeywordMap)["min16uint4x2"] = EHTokMin16uint4x2; - (*KeywordMap)["min16uint4x3"] = EHTokMin16uint4x3; - (*KeywordMap)["min16uint4x4"] = EHTokMin16uint4x4; - - (*KeywordMap)["sampler"] = EHTokSampler; - (*KeywordMap)["sampler1D"] = EHTokSampler1d; - (*KeywordMap)["sampler2D"] = EHTokSampler2d; - (*KeywordMap)["sampler3D"] = EHTokSampler3d; - (*KeywordMap)["samplerCUBE"] = EHTokSamplerCube; - (*KeywordMap)["sampler_state"] = EHTokSamplerState; - (*KeywordMap)["SamplerState"] = EHTokSamplerState; - (*KeywordMap)["SamplerComparisonState"] = EHTokSamplerComparisonState; - (*KeywordMap)["texture"] = EHTokTexture; - (*KeywordMap)["Texture1D"] = EHTokTexture1d; - (*KeywordMap)["Texture1DArray"] = EHTokTexture1darray; - (*KeywordMap)["Texture2D"] = EHTokTexture2d; - (*KeywordMap)["Texture2DArray"] = EHTokTexture2darray; - (*KeywordMap)["Texture3D"] = EHTokTexture3d; - (*KeywordMap)["TextureCube"] = EHTokTextureCube; - (*KeywordMap)["TextureCubeArray"] = EHTokTextureCubearray; - (*KeywordMap)["Texture2DMS"] = EHTokTexture2DMS; - (*KeywordMap)["Texture2DMSArray"] = EHTokTexture2DMSarray; - (*KeywordMap)["RWTexture1D"] = EHTokRWTexture1d; - (*KeywordMap)["RWTexture1DArray"] = EHTokRWTexture1darray; - (*KeywordMap)["RWTexture2D"] = EHTokRWTexture2d; - (*KeywordMap)["RWTexture2DArray"] = EHTokRWTexture2darray; - (*KeywordMap)["RWTexture3D"] = EHTokRWTexture3d; - (*KeywordMap)["RWBuffer"] = EHTokRWBuffer; - (*KeywordMap)["SubpassInput"] = EHTokSubpassInput; - (*KeywordMap)["SubpassInputMS"] = EHTokSubpassInputMS; - - (*KeywordMap)["AppendStructuredBuffer"] = EHTokAppendStructuredBuffer; - (*KeywordMap)["ByteAddressBuffer"] = EHTokByteAddressBuffer; - (*KeywordMap)["ConsumeStructuredBuffer"] = EHTokConsumeStructuredBuffer; - (*KeywordMap)["RWByteAddressBuffer"] = EHTokRWByteAddressBuffer; - (*KeywordMap)["RWStructuredBuffer"] = EHTokRWStructuredBuffer; - (*KeywordMap)["StructuredBuffer"] = EHTokStructuredBuffer; - (*KeywordMap)["TextureBuffer"] = EHTokTextureBuffer; - - (*KeywordMap)["class"] = EHTokClass; - (*KeywordMap)["struct"] = EHTokStruct; - (*KeywordMap)["cbuffer"] = EHTokCBuffer; - (*KeywordMap)["ConstantBuffer"] = EHTokConstantBuffer; - (*KeywordMap)["tbuffer"] = EHTokTBuffer; - (*KeywordMap)["typedef"] = EHTokTypedef; - (*KeywordMap)["this"] = EHTokThis; - (*KeywordMap)["namespace"] = EHTokNamespace; - - (*KeywordMap)["true"] = EHTokBoolConstant; - (*KeywordMap)["false"] = EHTokBoolConstant; - - (*KeywordMap)["for"] = EHTokFor; - (*KeywordMap)["do"] = EHTokDo; - (*KeywordMap)["while"] = EHTokWhile; - (*KeywordMap)["break"] = EHTokBreak; - (*KeywordMap)["continue"] = EHTokContinue; - (*KeywordMap)["if"] = EHTokIf; - (*KeywordMap)["else"] = EHTokElse; - (*KeywordMap)["discard"] = EHTokDiscard; - (*KeywordMap)["return"] = EHTokReturn; - (*KeywordMap)["switch"] = EHTokSwitch; - (*KeywordMap)["case"] = EHTokCase; - (*KeywordMap)["default"] = EHTokDefault; - - // TODO: get correct set here - ReservedSet = new std::unordered_set; - - ReservedSet->insert("auto"); - ReservedSet->insert("catch"); - ReservedSet->insert("char"); - ReservedSet->insert("const_cast"); - ReservedSet->insert("enum"); - ReservedSet->insert("explicit"); - ReservedSet->insert("friend"); - ReservedSet->insert("goto"); - ReservedSet->insert("long"); - ReservedSet->insert("mutable"); - ReservedSet->insert("new"); - ReservedSet->insert("operator"); - ReservedSet->insert("private"); - ReservedSet->insert("protected"); - ReservedSet->insert("public"); - ReservedSet->insert("reinterpret_cast"); - ReservedSet->insert("short"); - ReservedSet->insert("signed"); - ReservedSet->insert("sizeof"); - ReservedSet->insert("static_cast"); - ReservedSet->insert("template"); - ReservedSet->insert("throw"); - ReservedSet->insert("try"); - ReservedSet->insert("typename"); - ReservedSet->insert("union"); - ReservedSet->insert("unsigned"); - ReservedSet->insert("using"); - ReservedSet->insert("virtual"); - - SemanticMap = new std::unordered_map; +const std::unordered_set ReservedSet { + "auto", + "catch", + "char", + "const_cast", + "enum", + "explicit", + "friend", + "goto", + "long", + "mutable", + "new", + "operator", + "private", + "protected", + "public", + "reinterpret_cast", + "short", + "signed", + "sizeof", + "static_cast", + "template", + "throw", + "try", + "typename", + "union", + "unsigned", + "using", + "virtual", +}; +std::unordered_map SemanticMap { // in DX9, all outputs had to have a semantic associated with them, that was either consumed // by the system or was a specific register assignment @@ -494,49 +476,41 @@ void HlslScanContext::fillInKeywordMap() // Also, in DX10 if a SV value is present as the input of a stage, but isn't appropriate for that // stage, it would just be ignored as it is likely there as part of an output struct from one stage // to the next - bool bParseDX9 = false; - if (bParseDX9) { - (*SemanticMap)["PSIZE"] = EbvPointSize; - (*SemanticMap)["FOG"] = EbvFogFragCoord; - (*SemanticMap)["DEPTH"] = EbvFragDepth; - (*SemanticMap)["VFACE"] = EbvFace; - (*SemanticMap)["VPOS"] = EbvFragCoord; - } +#if 0 + (*SemanticMap)["PSIZE"] = EbvPointSize; + (*SemanticMap)["FOG"] = EbvFogFragCoord; + (*SemanticMap)["DEPTH"] = EbvFragDepth; + (*SemanticMap)["VFACE"] = EbvFace; + (*SemanticMap)["VPOS"] = EbvFragCoord; +#endif - (*SemanticMap)["SV_POSITION"] = EbvPosition; - (*SemanticMap)["SV_VERTEXID"] = EbvVertexIndex; - (*SemanticMap)["SV_VIEWPORTARRAYINDEX"] = EbvViewportIndex; - (*SemanticMap)["SV_TESSFACTOR"] = EbvTessLevelOuter; - (*SemanticMap)["SV_SAMPLEINDEX"] = EbvSampleId; - (*SemanticMap)["SV_RENDERTARGETARRAYINDEX"] = EbvLayer; - (*SemanticMap)["SV_PRIMITIVEID"] = EbvPrimitiveId; - (*SemanticMap)["SV_OUTPUTCONTROLPOINTID"] = EbvInvocationId; - (*SemanticMap)["SV_ISFRONTFACE"] = EbvFace; - (*SemanticMap)["SV_VIEWID"] = EbvViewIndex; - (*SemanticMap)["SV_INSTANCEID"] = EbvInstanceIndex; - (*SemanticMap)["SV_INSIDETESSFACTOR"] = EbvTessLevelInner; - (*SemanticMap)["SV_GSINSTANCEID"] = EbvInvocationId; - (*SemanticMap)["SV_DISPATCHTHREADID"] = EbvGlobalInvocationId; - (*SemanticMap)["SV_GROUPTHREADID"] = EbvLocalInvocationId; - (*SemanticMap)["SV_GROUPINDEX"] = EbvLocalInvocationIndex; - (*SemanticMap)["SV_GROUPID"] = EbvWorkGroupId; - (*SemanticMap)["SV_DOMAINLOCATION"] = EbvTessCoord; - (*SemanticMap)["SV_DEPTH"] = EbvFragDepth; - (*SemanticMap)["SV_COVERAGE"] = EbvSampleMask; - (*SemanticMap)["SV_DEPTHGREATEREQUAL"] = EbvFragDepthGreater; - (*SemanticMap)["SV_DEPTHLESSEQUAL"] = EbvFragDepthLesser; - (*SemanticMap)["SV_STENCILREF"] = EbvFragStencilRef; + {"SV_POSITION",glslang::EbvPosition}, + {"SV_VERTEXID",glslang::EbvVertexIndex}, + {"SV_VIEWPORTARRAYINDEX",glslang::EbvViewportIndex}, + {"SV_TESSFACTOR",glslang::EbvTessLevelOuter}, + {"SV_SAMPLEINDEX",glslang::EbvSampleId}, + {"SV_RENDERTARGETARRAYINDEX",glslang::EbvLayer}, + {"SV_PRIMITIVEID",glslang::EbvPrimitiveId}, + {"SV_OUTPUTCONTROLPOINTID",glslang::EbvInvocationId}, + {"SV_ISFRONTFACE",glslang::EbvFace}, + {"SV_VIEWID",glslang::EbvViewIndex}, + {"SV_INSTANCEID",glslang::EbvInstanceIndex}, + {"SV_INSIDETESSFACTOR",glslang::EbvTessLevelInner}, + {"SV_GSINSTANCEID",glslang::EbvInvocationId}, + {"SV_DISPATCHTHREADID",glslang::EbvGlobalInvocationId}, + {"SV_GROUPTHREADID",glslang::EbvLocalInvocationId}, + {"SV_GROUPINDEX",glslang::EbvLocalInvocationIndex}, + {"SV_GROUPID",glslang::EbvWorkGroupId}, + {"SV_DOMAINLOCATION",glslang::EbvTessCoord}, + {"SV_DEPTH",glslang::EbvFragDepth}, + {"SV_COVERAGE",glslang::EbvSampleMask}, + {"SV_DEPTHGREATEREQUAL",glslang::EbvFragDepthGreater}, + {"SV_DEPTHLESSEQUAL",glslang::EbvFragDepthLesser}, + {"SV_STENCILREF", glslang::EbvFragStencilRef}, +}; } -void HlslScanContext::deleteKeywordMap() -{ - delete KeywordMap; - KeywordMap = nullptr; - delete ReservedSet; - ReservedSet = nullptr; - delete SemanticMap; - SemanticMap = nullptr; -} +namespace glslang { // Wrapper for tokenizeClass() to get everything inside the token. void HlslScanContext::tokenize(HlslToken& token) @@ -547,8 +521,8 @@ void HlslScanContext::tokenize(HlslToken& token) glslang::TBuiltInVariable HlslScanContext::mapSemantic(const char* upperCase) { - auto it = SemanticMap->find(upperCase); - if (it != SemanticMap->end()) + auto it = SemanticMap.find(upperCase); + if (it != SemanticMap.end()) return it->second; else return glslang::EbvNone; @@ -664,11 +638,11 @@ EHlslTokenClass HlslScanContext::tokenizeClass(HlslToken& token) EHlslTokenClass HlslScanContext::tokenizeIdentifier() { - if (ReservedSet->find(tokenText) != ReservedSet->end()) + if (ReservedSet.find(tokenText) != ReservedSet.end()) return reservedWord(); - auto it = KeywordMap->find(tokenText); - if (it == KeywordMap->end()) { + auto it = KeywordMap.find(tokenText); + if (it == KeywordMap.end()) { // Should have an identifier of some sort return identifierOrType(); } diff --git a/glslang/MachineIndependent/Scan.cpp b/glslang/MachineIndependent/Scan.cpp index 44546596..a90edb32 100644 --- a/glslang/MachineIndependent/Scan.cpp +++ b/glslang/MachineIndependent/Scan.cpp @@ -322,503 +322,481 @@ struct str_hash }; // A single global usable by all threads, by all versions, by all languages. -// After a single process-level initialization, this is read only and thread safe -std::unordered_map* KeywordMap = nullptr; -std::unordered_set* ReservedSet = nullptr; +const std::unordered_map KeywordMap { + {"const",CONST}, + {"uniform",UNIFORM}, + {"tileImageEXT",TILEIMAGEEXT}, + {"buffer",BUFFER}, + {"in",IN}, + {"out",OUT}, + {"smooth",SMOOTH}, + {"flat",FLAT}, + {"centroid",CENTROID}, + {"invariant",INVARIANT}, + {"packed",PACKED}, + {"resource",RESOURCE}, + {"inout",INOUT}, + {"struct",STRUCT}, + {"break",BREAK}, + {"continue",CONTINUE}, + {"do",DO}, + {"for",FOR}, + {"while",WHILE}, + {"switch",SWITCH}, + {"case",CASE}, + {"default",DEFAULT}, + {"if",IF}, + {"else",ELSE}, + {"discard",DISCARD}, + {"terminateInvocation",TERMINATE_INVOCATION}, + {"terminateRayEXT",TERMINATE_RAY}, + {"ignoreIntersectionEXT",IGNORE_INTERSECTION}, + {"return",RETURN}, + {"void",VOID}, + {"bool",BOOL}, + {"float",FLOAT}, + {"int",INT}, + {"bvec2",BVEC2}, + {"bvec3",BVEC3}, + {"bvec4",BVEC4}, + {"vec2",VEC2}, + {"vec3",VEC3}, + {"vec4",VEC4}, + {"ivec2",IVEC2}, + {"ivec3",IVEC3}, + {"ivec4",IVEC4}, + {"mat2",MAT2}, + {"mat3",MAT3}, + {"mat4",MAT4}, + {"true",BOOLCONSTANT}, + {"false",BOOLCONSTANT}, + {"layout",LAYOUT}, + {"shared",SHARED}, + {"highp",HIGH_PRECISION}, + {"mediump",MEDIUM_PRECISION}, + {"lowp",LOW_PRECISION}, + {"superp",SUPERP}, + {"precision",PRECISION}, + {"mat2x2",MAT2X2}, + {"mat2x3",MAT2X3}, + {"mat2x4",MAT2X4}, + {"mat3x2",MAT3X2}, + {"mat3x3",MAT3X3}, + {"mat3x4",MAT3X4}, + {"mat4x2",MAT4X2}, + {"mat4x3",MAT4X3}, + {"mat4x4",MAT4X4}, + {"uint",UINT}, + {"uvec2",UVEC2}, + {"uvec3",UVEC3}, + {"uvec4",UVEC4}, + + {"nonuniformEXT",NONUNIFORM}, + {"demote",DEMOTE}, + {"attribute",ATTRIBUTE}, + {"varying",VARYING}, + {"noperspective",NOPERSPECTIVE}, + {"coherent",COHERENT}, + {"devicecoherent",DEVICECOHERENT}, + {"queuefamilycoherent",QUEUEFAMILYCOHERENT}, + {"workgroupcoherent",WORKGROUPCOHERENT}, + {"subgroupcoherent",SUBGROUPCOHERENT}, + {"shadercallcoherent",SHADERCALLCOHERENT}, + {"nonprivate",NONPRIVATE}, + {"restrict",RESTRICT}, + {"readonly",READONLY}, + {"writeonly",WRITEONLY}, + {"atomic_uint",ATOMIC_UINT}, + {"volatile",VOLATILE}, + {"patch",PATCH}, + {"sample",SAMPLE}, + {"subroutine",SUBROUTINE}, + {"dmat2",DMAT2}, + {"dmat3",DMAT3}, + {"dmat4",DMAT4}, + {"dmat2x2",DMAT2X2}, + {"dmat2x3",DMAT2X3}, + {"dmat2x4",DMAT2X4}, + {"dmat3x2",DMAT3X2}, + {"dmat3x3",DMAT3X3}, + {"dmat3x4",DMAT3X4}, + {"dmat4x2",DMAT4X2}, + {"dmat4x3",DMAT4X3}, + {"dmat4x4",DMAT4X4}, + {"image1D",IMAGE1D}, + {"iimage1D",IIMAGE1D}, + {"uimage1D",UIMAGE1D}, + {"image2D",IMAGE2D}, + {"iimage2D",IIMAGE2D}, + {"uimage2D",UIMAGE2D}, + {"image3D",IMAGE3D}, + {"iimage3D",IIMAGE3D}, + {"uimage3D",UIMAGE3D}, + {"image2DRect",IMAGE2DRECT}, + {"iimage2DRect",IIMAGE2DRECT}, + {"uimage2DRect",UIMAGE2DRECT}, + {"imageCube",IMAGECUBE}, + {"iimageCube",IIMAGECUBE}, + {"uimageCube",UIMAGECUBE}, + {"imageBuffer",IMAGEBUFFER}, + {"iimageBuffer",IIMAGEBUFFER}, + {"uimageBuffer",UIMAGEBUFFER}, + {"image1DArray",IMAGE1DARRAY}, + {"iimage1DArray",IIMAGE1DARRAY}, + {"uimage1DArray",UIMAGE1DARRAY}, + {"image2DArray",IMAGE2DARRAY}, + {"iimage2DArray",IIMAGE2DARRAY}, + {"uimage2DArray",UIMAGE2DARRAY}, + {"imageCubeArray",IMAGECUBEARRAY}, + {"iimageCubeArray",IIMAGECUBEARRAY}, + {"uimageCubeArray",UIMAGECUBEARRAY}, + {"image2DMS",IMAGE2DMS}, + {"iimage2DMS",IIMAGE2DMS}, + {"uimage2DMS",UIMAGE2DMS}, + {"image2DMSArray",IMAGE2DMSARRAY}, + {"iimage2DMSArray",IIMAGE2DMSARRAY}, + {"uimage2DMSArray",UIMAGE2DMSARRAY}, + {"i64image1D",I64IMAGE1D}, + {"u64image1D",U64IMAGE1D}, + {"i64image2D",I64IMAGE2D}, + {"u64image2D",U64IMAGE2D}, + {"i64image3D",I64IMAGE3D}, + {"u64image3D",U64IMAGE3D}, + {"i64image2DRect",I64IMAGE2DRECT}, + {"u64image2DRect",U64IMAGE2DRECT}, + {"i64imageCube",I64IMAGECUBE}, + {"u64imageCube",U64IMAGECUBE}, + {"i64imageBuffer",I64IMAGEBUFFER}, + {"u64imageBuffer",U64IMAGEBUFFER}, + {"i64image1DArray",I64IMAGE1DARRAY}, + {"u64image1DArray",U64IMAGE1DARRAY}, + {"i64image2DArray",I64IMAGE2DARRAY}, + {"u64image2DArray",U64IMAGE2DARRAY}, + {"i64imageCubeArray",I64IMAGECUBEARRAY}, + {"u64imageCubeArray",U64IMAGECUBEARRAY}, + {"i64image2DMS",I64IMAGE2DMS}, + {"u64image2DMS",U64IMAGE2DMS}, + {"i64image2DMSArray",I64IMAGE2DMSARRAY}, + {"u64image2DMSArray",U64IMAGE2DMSARRAY}, + {"double",DOUBLE}, + {"dvec2",DVEC2}, + {"dvec3",DVEC3}, + {"dvec4",DVEC4}, + {"int64_t",INT64_T}, + {"uint64_t",UINT64_T}, + {"i64vec2",I64VEC2}, + {"i64vec3",I64VEC3}, + {"i64vec4",I64VEC4}, + {"u64vec2",U64VEC2}, + {"u64vec3",U64VEC3}, + {"u64vec4",U64VEC4}, + + // GL_EXT_shader_explicit_arithmetic_types + {"int8_t",INT8_T}, + {"i8vec2",I8VEC2}, + {"i8vec3",I8VEC3}, + {"i8vec4",I8VEC4}, + {"uint8_t",UINT8_T}, + {"u8vec2",U8VEC2}, + {"u8vec3",U8VEC3}, + {"u8vec4",U8VEC4}, + + {"int16_t",INT16_T}, + {"i16vec2",I16VEC2}, + {"i16vec3",I16VEC3}, + {"i16vec4",I16VEC4}, + {"uint16_t",UINT16_T}, + {"u16vec2",U16VEC2}, + {"u16vec3",U16VEC3}, + {"u16vec4",U16VEC4}, + + {"int32_t",INT32_T}, + {"i32vec2",I32VEC2}, + {"i32vec3",I32VEC3}, + {"i32vec4",I32VEC4}, + {"uint32_t",UINT32_T}, + {"u32vec2",U32VEC2}, + {"u32vec3",U32VEC3}, + {"u32vec4",U32VEC4}, + + {"float16_t",FLOAT16_T}, + {"f16vec2",F16VEC2}, + {"f16vec3",F16VEC3}, + {"f16vec4",F16VEC4}, + {"f16mat2",F16MAT2}, + {"f16mat3",F16MAT3}, + {"f16mat4",F16MAT4}, + {"f16mat2x2",F16MAT2X2}, + {"f16mat2x3",F16MAT2X3}, + {"f16mat2x4",F16MAT2X4}, + {"f16mat3x2",F16MAT3X2}, + {"f16mat3x3",F16MAT3X3}, + {"f16mat3x4",F16MAT3X4}, + {"f16mat4x2",F16MAT4X2}, + {"f16mat4x3",F16MAT4X3}, + {"f16mat4x4",F16MAT4X4}, + + {"float32_t",FLOAT32_T}, + {"f32vec2",F32VEC2}, + {"f32vec3",F32VEC3}, + {"f32vec4",F32VEC4}, + {"f32mat2",F32MAT2}, + {"f32mat3",F32MAT3}, + {"f32mat4",F32MAT4}, + {"f32mat2x2",F32MAT2X2}, + {"f32mat2x3",F32MAT2X3}, + {"f32mat2x4",F32MAT2X4}, + {"f32mat3x2",F32MAT3X2}, + {"f32mat3x3",F32MAT3X3}, + {"f32mat3x4",F32MAT3X4}, + {"f32mat4x2",F32MAT4X2}, + {"f32mat4x3",F32MAT4X3}, + {"f32mat4x4",F32MAT4X4}, + {"float64_t",FLOAT64_T}, + {"f64vec2",F64VEC2}, + {"f64vec3",F64VEC3}, + {"f64vec4",F64VEC4}, + {"f64mat2",F64MAT2}, + {"f64mat3",F64MAT3}, + {"f64mat4",F64MAT4}, + {"f64mat2x2",F64MAT2X2}, + {"f64mat2x3",F64MAT2X3}, + {"f64mat2x4",F64MAT2X4}, + {"f64mat3x2",F64MAT3X2}, + {"f64mat3x3",F64MAT3X3}, + {"f64mat3x4",F64MAT3X4}, + {"f64mat4x2",F64MAT4X2}, + {"f64mat4x3",F64MAT4X3}, + {"f64mat4x4",F64MAT4X4}, + + // GL_EXT_spirv_intrinsics + {"spirv_instruction",SPIRV_INSTRUCTION}, + {"spirv_execution_mode",SPIRV_EXECUTION_MODE}, + {"spirv_execution_mode_id",SPIRV_EXECUTION_MODE_ID}, + {"spirv_decorate",SPIRV_DECORATE}, + {"spirv_decorate_id",SPIRV_DECORATE_ID}, + {"spirv_decorate_string",SPIRV_DECORATE_STRING}, + {"spirv_type",SPIRV_TYPE}, + {"spirv_storage_class",SPIRV_STORAGE_CLASS}, + {"spirv_by_reference",SPIRV_BY_REFERENCE}, + {"spirv_literal",SPIRV_LITERAL}, + + {"sampler2D",SAMPLER2D}, + {"samplerCube",SAMPLERCUBE}, + {"samplerCubeShadow",SAMPLERCUBESHADOW}, + {"sampler2DArray",SAMPLER2DARRAY}, + {"sampler2DArrayShadow",SAMPLER2DARRAYSHADOW}, + {"isampler2D",ISAMPLER2D}, + {"isampler3D",ISAMPLER3D}, + {"isamplerCube",ISAMPLERCUBE}, + {"isampler2DArray",ISAMPLER2DARRAY}, + {"usampler2D",USAMPLER2D}, + {"usampler3D",USAMPLER3D}, + {"usamplerCube",USAMPLERCUBE}, + {"usampler2DArray",USAMPLER2DARRAY}, + {"sampler3D",SAMPLER3D}, + {"sampler2DShadow",SAMPLER2DSHADOW}, + + {"texture2D",TEXTURE2D}, + {"textureCube",TEXTURECUBE}, + {"texture2DArray",TEXTURE2DARRAY}, + {"itexture2D",ITEXTURE2D}, + {"itexture3D",ITEXTURE3D}, + {"itextureCube",ITEXTURECUBE}, + {"itexture2DArray",ITEXTURE2DARRAY}, + {"utexture2D",UTEXTURE2D}, + {"utexture3D",UTEXTURE3D}, + {"utextureCube",UTEXTURECUBE}, + {"utexture2DArray",UTEXTURE2DARRAY}, + {"texture3D",TEXTURE3D}, + + {"sampler",SAMPLER}, + {"samplerShadow",SAMPLERSHADOW}, + + {"textureCubeArray",TEXTURECUBEARRAY}, + {"itextureCubeArray",ITEXTURECUBEARRAY}, + {"utextureCubeArray",UTEXTURECUBEARRAY}, + {"samplerCubeArray",SAMPLERCUBEARRAY}, + {"samplerCubeArrayShadow",SAMPLERCUBEARRAYSHADOW}, + {"isamplerCubeArray",ISAMPLERCUBEARRAY}, + {"usamplerCubeArray",USAMPLERCUBEARRAY}, + {"sampler1DArrayShadow",SAMPLER1DARRAYSHADOW}, + {"isampler1DArray",ISAMPLER1DARRAY}, + {"usampler1D",USAMPLER1D}, + {"isampler1D",ISAMPLER1D}, + {"usampler1DArray",USAMPLER1DARRAY}, + {"samplerBuffer",SAMPLERBUFFER}, + {"isampler2DRect",ISAMPLER2DRECT}, + {"usampler2DRect",USAMPLER2DRECT}, + {"isamplerBuffer",ISAMPLERBUFFER}, + {"usamplerBuffer",USAMPLERBUFFER}, + {"sampler2DMS",SAMPLER2DMS}, + {"isampler2DMS",ISAMPLER2DMS}, + {"usampler2DMS",USAMPLER2DMS}, + {"sampler2DMSArray",SAMPLER2DMSARRAY}, + {"isampler2DMSArray",ISAMPLER2DMSARRAY}, + {"usampler2DMSArray",USAMPLER2DMSARRAY}, + {"sampler1D",SAMPLER1D}, + {"sampler1DShadow",SAMPLER1DSHADOW}, + {"sampler2DRect",SAMPLER2DRECT}, + {"sampler2DRectShadow",SAMPLER2DRECTSHADOW}, + {"sampler1DArray",SAMPLER1DARRAY}, + + {"samplerExternalOES", SAMPLEREXTERNALOES}, // GL_OES_EGL_image_external + {"__samplerExternal2DY2YEXT", SAMPLEREXTERNAL2DY2YEXT}, // GL_EXT_YUV_target + + {"itexture1DArray",ITEXTURE1DARRAY}, + {"utexture1D",UTEXTURE1D}, + {"itexture1D",ITEXTURE1D}, + {"utexture1DArray",UTEXTURE1DARRAY}, + {"textureBuffer",TEXTUREBUFFER}, + {"itexture2DRect",ITEXTURE2DRECT}, + {"utexture2DRect",UTEXTURE2DRECT}, + {"itextureBuffer",ITEXTUREBUFFER}, + {"utextureBuffer",UTEXTUREBUFFER}, + {"texture2DMS",TEXTURE2DMS}, + {"itexture2DMS",ITEXTURE2DMS}, + {"utexture2DMS",UTEXTURE2DMS}, + {"texture2DMSArray",TEXTURE2DMSARRAY}, + {"itexture2DMSArray",ITEXTURE2DMSARRAY}, + {"utexture2DMSArray",UTEXTURE2DMSARRAY}, + {"texture1D",TEXTURE1D}, + {"texture2DRect",TEXTURE2DRECT}, + {"texture1DArray",TEXTURE1DARRAY}, + + {"attachmentEXT",ATTACHMENTEXT}, + {"iattachmentEXT",IATTACHMENTEXT}, + {"uattachmentEXT",UATTACHMENTEXT}, + + {"subpassInput",SUBPASSINPUT}, + {"subpassInputMS",SUBPASSINPUTMS}, + {"isubpassInput",ISUBPASSINPUT}, + {"isubpassInputMS",ISUBPASSINPUTMS}, + {"usubpassInput",USUBPASSINPUT}, + {"usubpassInputMS",USUBPASSINPUTMS}, + + {"f16sampler1D",F16SAMPLER1D}, + {"f16sampler2D",F16SAMPLER2D}, + {"f16sampler3D",F16SAMPLER3D}, + {"f16sampler2DRect",F16SAMPLER2DRECT}, + {"f16samplerCube",F16SAMPLERCUBE}, + {"f16sampler1DArray",F16SAMPLER1DARRAY}, + {"f16sampler2DArray",F16SAMPLER2DARRAY}, + {"f16samplerCubeArray",F16SAMPLERCUBEARRAY}, + {"f16samplerBuffer",F16SAMPLERBUFFER}, + {"f16sampler2DMS",F16SAMPLER2DMS}, + {"f16sampler2DMSArray",F16SAMPLER2DMSARRAY}, + {"f16sampler1DShadow",F16SAMPLER1DSHADOW}, + {"f16sampler2DShadow",F16SAMPLER2DSHADOW}, + {"f16sampler2DRectShadow",F16SAMPLER2DRECTSHADOW}, + {"f16samplerCubeShadow",F16SAMPLERCUBESHADOW}, + {"f16sampler1DArrayShadow",F16SAMPLER1DARRAYSHADOW}, + {"f16sampler2DArrayShadow",F16SAMPLER2DARRAYSHADOW}, + {"f16samplerCubeArrayShadow",F16SAMPLERCUBEARRAYSHADOW}, + + {"f16image1D",F16IMAGE1D}, + {"f16image2D",F16IMAGE2D}, + {"f16image3D",F16IMAGE3D}, + {"f16image2DRect",F16IMAGE2DRECT}, + {"f16imageCube",F16IMAGECUBE}, + {"f16image1DArray",F16IMAGE1DARRAY}, + {"f16image2DArray",F16IMAGE2DARRAY}, + {"f16imageCubeArray",F16IMAGECUBEARRAY}, + {"f16imageBuffer",F16IMAGEBUFFER}, + {"f16image2DMS",F16IMAGE2DMS}, + {"f16image2DMSArray",F16IMAGE2DMSARRAY}, + + {"f16texture1D",F16TEXTURE1D}, + {"f16texture2D",F16TEXTURE2D}, + {"f16texture3D",F16TEXTURE3D}, + {"f16texture2DRect",F16TEXTURE2DRECT}, + {"f16textureCube",F16TEXTURECUBE}, + {"f16texture1DArray",F16TEXTURE1DARRAY}, + {"f16texture2DArray",F16TEXTURE2DARRAY}, + {"f16textureCubeArray",F16TEXTURECUBEARRAY}, + {"f16textureBuffer",F16TEXTUREBUFFER}, + {"f16texture2DMS",F16TEXTURE2DMS}, + {"f16texture2DMSArray",F16TEXTURE2DMSARRAY}, + + {"f16subpassInput",F16SUBPASSINPUT}, + {"f16subpassInputMS",F16SUBPASSINPUTMS}, + {"__explicitInterpAMD",EXPLICITINTERPAMD}, + {"pervertexNV",PERVERTEXNV}, + {"pervertexEXT",PERVERTEXEXT}, + {"precise",PRECISE}, + + {"rayPayloadNV",PAYLOADNV}, + {"rayPayloadEXT",PAYLOADEXT}, + {"rayPayloadInNV",PAYLOADINNV}, + {"rayPayloadInEXT",PAYLOADINEXT}, + {"hitAttributeNV",HITATTRNV}, + {"hitAttributeEXT",HITATTREXT}, + {"callableDataNV",CALLDATANV}, + {"callableDataEXT",CALLDATAEXT}, + {"callableDataInNV",CALLDATAINNV}, + {"callableDataInEXT",CALLDATAINEXT}, + {"accelerationStructureNV",ACCSTRUCTNV}, + {"accelerationStructureEXT",ACCSTRUCTEXT}, + {"rayQueryEXT",RAYQUERYEXT}, + {"perprimitiveNV",PERPRIMITIVENV}, + {"perviewNV",PERVIEWNV}, + {"taskNV",PERTASKNV}, + {"perprimitiveEXT",PERPRIMITIVEEXT}, + {"taskPayloadSharedEXT",TASKPAYLOADWORKGROUPEXT}, + + {"fcoopmatNV",FCOOPMATNV}, + {"icoopmatNV",ICOOPMATNV}, + {"ucoopmatNV",UCOOPMATNV}, + + {"coopmat",COOPMAT}, + + {"hitObjectNV",HITOBJECTNV}, + {"hitObjectAttributeNV",HITOBJECTATTRNV}, +}; +const std::unordered_set ReservedSet { + "common", + "partition", + "active", + "asm", + "class", + "union", + "enum", + "typedef", + "template", + "this", + "goto", + "inline", + "noinline", + "public", + "static", + "extern", + "external", + "interface", + "long", + "short", + "half", + "fixed", + "unsigned", + "input", + "output", + "hvec2", + "hvec3", + "hvec4", + "fvec2", + "fvec3", + "fvec4", + "sampler3DRect", + "filter", + "sizeof", + "cast", + "namespace", + "using", +}; } namespace glslang { -void TScanContext::fillInKeywordMap() -{ - if (KeywordMap != nullptr) { - // this is really an error, as this should called only once per process - // but, the only risk is if two threads called simultaneously - return; - } - KeywordMap = new std::unordered_map; - - (*KeywordMap)["const"] = CONST; - (*KeywordMap)["uniform"] = UNIFORM; - (*KeywordMap)["tileImageEXT"] = TILEIMAGEEXT; - (*KeywordMap)["buffer"] = BUFFER; - (*KeywordMap)["in"] = IN; - (*KeywordMap)["out"] = OUT; - (*KeywordMap)["smooth"] = SMOOTH; - (*KeywordMap)["flat"] = FLAT; - (*KeywordMap)["centroid"] = CENTROID; - (*KeywordMap)["invariant"] = INVARIANT; - (*KeywordMap)["packed"] = PACKED; - (*KeywordMap)["resource"] = RESOURCE; - (*KeywordMap)["inout"] = INOUT; - (*KeywordMap)["struct"] = STRUCT; - (*KeywordMap)["break"] = BREAK; - (*KeywordMap)["continue"] = CONTINUE; - (*KeywordMap)["do"] = DO; - (*KeywordMap)["for"] = FOR; - (*KeywordMap)["while"] = WHILE; - (*KeywordMap)["switch"] = SWITCH; - (*KeywordMap)["case"] = CASE; - (*KeywordMap)["default"] = DEFAULT; - (*KeywordMap)["if"] = IF; - (*KeywordMap)["else"] = ELSE; - (*KeywordMap)["discard"] = DISCARD; - (*KeywordMap)["terminateInvocation"] = TERMINATE_INVOCATION; - (*KeywordMap)["terminateRayEXT"] = TERMINATE_RAY; - (*KeywordMap)["ignoreIntersectionEXT"] = IGNORE_INTERSECTION; - (*KeywordMap)["return"] = RETURN; - (*KeywordMap)["void"] = VOID; - (*KeywordMap)["bool"] = BOOL; - (*KeywordMap)["float"] = FLOAT; - (*KeywordMap)["int"] = INT; - (*KeywordMap)["bvec2"] = BVEC2; - (*KeywordMap)["bvec3"] = BVEC3; - (*KeywordMap)["bvec4"] = BVEC4; - (*KeywordMap)["vec2"] = VEC2; - (*KeywordMap)["vec3"] = VEC3; - (*KeywordMap)["vec4"] = VEC4; - (*KeywordMap)["ivec2"] = IVEC2; - (*KeywordMap)["ivec3"] = IVEC3; - (*KeywordMap)["ivec4"] = IVEC4; - (*KeywordMap)["mat2"] = MAT2; - (*KeywordMap)["mat3"] = MAT3; - (*KeywordMap)["mat4"] = MAT4; - (*KeywordMap)["true"] = BOOLCONSTANT; - (*KeywordMap)["false"] = BOOLCONSTANT; - (*KeywordMap)["layout"] = LAYOUT; - (*KeywordMap)["shared"] = SHARED; - (*KeywordMap)["highp"] = HIGH_PRECISION; - (*KeywordMap)["mediump"] = MEDIUM_PRECISION; - (*KeywordMap)["lowp"] = LOW_PRECISION; - (*KeywordMap)["superp"] = SUPERP; - (*KeywordMap)["precision"] = PRECISION; - (*KeywordMap)["mat2x2"] = MAT2X2; - (*KeywordMap)["mat2x3"] = MAT2X3; - (*KeywordMap)["mat2x4"] = MAT2X4; - (*KeywordMap)["mat3x2"] = MAT3X2; - (*KeywordMap)["mat3x3"] = MAT3X3; - (*KeywordMap)["mat3x4"] = MAT3X4; - (*KeywordMap)["mat4x2"] = MAT4X2; - (*KeywordMap)["mat4x3"] = MAT4X3; - (*KeywordMap)["mat4x4"] = MAT4X4; - (*KeywordMap)["uint"] = UINT; - (*KeywordMap)["uvec2"] = UVEC2; - (*KeywordMap)["uvec3"] = UVEC3; - (*KeywordMap)["uvec4"] = UVEC4; - - (*KeywordMap)["nonuniformEXT"] = NONUNIFORM; - (*KeywordMap)["demote"] = DEMOTE; - (*KeywordMap)["attribute"] = ATTRIBUTE; - (*KeywordMap)["varying"] = VARYING; - (*KeywordMap)["noperspective"] = NOPERSPECTIVE; - (*KeywordMap)["coherent"] = COHERENT; - (*KeywordMap)["devicecoherent"] = DEVICECOHERENT; - (*KeywordMap)["queuefamilycoherent"] = QUEUEFAMILYCOHERENT; - (*KeywordMap)["workgroupcoherent"] = WORKGROUPCOHERENT; - (*KeywordMap)["subgroupcoherent"] = SUBGROUPCOHERENT; - (*KeywordMap)["shadercallcoherent"] = SHADERCALLCOHERENT; - (*KeywordMap)["nonprivate"] = NONPRIVATE; - (*KeywordMap)["restrict"] = RESTRICT; - (*KeywordMap)["readonly"] = READONLY; - (*KeywordMap)["writeonly"] = WRITEONLY; - (*KeywordMap)["atomic_uint"] = ATOMIC_UINT; - (*KeywordMap)["volatile"] = VOLATILE; - (*KeywordMap)["patch"] = PATCH; - (*KeywordMap)["sample"] = SAMPLE; - (*KeywordMap)["subroutine"] = SUBROUTINE; - (*KeywordMap)["dmat2"] = DMAT2; - (*KeywordMap)["dmat3"] = DMAT3; - (*KeywordMap)["dmat4"] = DMAT4; - (*KeywordMap)["dmat2x2"] = DMAT2X2; - (*KeywordMap)["dmat2x3"] = DMAT2X3; - (*KeywordMap)["dmat2x4"] = DMAT2X4; - (*KeywordMap)["dmat3x2"] = DMAT3X2; - (*KeywordMap)["dmat3x3"] = DMAT3X3; - (*KeywordMap)["dmat3x4"] = DMAT3X4; - (*KeywordMap)["dmat4x2"] = DMAT4X2; - (*KeywordMap)["dmat4x3"] = DMAT4X3; - (*KeywordMap)["dmat4x4"] = DMAT4X4; - (*KeywordMap)["image1D"] = IMAGE1D; - (*KeywordMap)["iimage1D"] = IIMAGE1D; - (*KeywordMap)["uimage1D"] = UIMAGE1D; - (*KeywordMap)["image2D"] = IMAGE2D; - (*KeywordMap)["iimage2D"] = IIMAGE2D; - (*KeywordMap)["uimage2D"] = UIMAGE2D; - (*KeywordMap)["image3D"] = IMAGE3D; - (*KeywordMap)["iimage3D"] = IIMAGE3D; - (*KeywordMap)["uimage3D"] = UIMAGE3D; - (*KeywordMap)["image2DRect"] = IMAGE2DRECT; - (*KeywordMap)["iimage2DRect"] = IIMAGE2DRECT; - (*KeywordMap)["uimage2DRect"] = UIMAGE2DRECT; - (*KeywordMap)["imageCube"] = IMAGECUBE; - (*KeywordMap)["iimageCube"] = IIMAGECUBE; - (*KeywordMap)["uimageCube"] = UIMAGECUBE; - (*KeywordMap)["imageBuffer"] = IMAGEBUFFER; - (*KeywordMap)["iimageBuffer"] = IIMAGEBUFFER; - (*KeywordMap)["uimageBuffer"] = UIMAGEBUFFER; - (*KeywordMap)["image1DArray"] = IMAGE1DARRAY; - (*KeywordMap)["iimage1DArray"] = IIMAGE1DARRAY; - (*KeywordMap)["uimage1DArray"] = UIMAGE1DARRAY; - (*KeywordMap)["image2DArray"] = IMAGE2DARRAY; - (*KeywordMap)["iimage2DArray"] = IIMAGE2DARRAY; - (*KeywordMap)["uimage2DArray"] = UIMAGE2DARRAY; - (*KeywordMap)["imageCubeArray"] = IMAGECUBEARRAY; - (*KeywordMap)["iimageCubeArray"] = IIMAGECUBEARRAY; - (*KeywordMap)["uimageCubeArray"] = UIMAGECUBEARRAY; - (*KeywordMap)["image2DMS"] = IMAGE2DMS; - (*KeywordMap)["iimage2DMS"] = IIMAGE2DMS; - (*KeywordMap)["uimage2DMS"] = UIMAGE2DMS; - (*KeywordMap)["image2DMSArray"] = IMAGE2DMSARRAY; - (*KeywordMap)["iimage2DMSArray"] = IIMAGE2DMSARRAY; - (*KeywordMap)["uimage2DMSArray"] = UIMAGE2DMSARRAY; - (*KeywordMap)["i64image1D"] = I64IMAGE1D; - (*KeywordMap)["u64image1D"] = U64IMAGE1D; - (*KeywordMap)["i64image2D"] = I64IMAGE2D; - (*KeywordMap)["u64image2D"] = U64IMAGE2D; - (*KeywordMap)["i64image3D"] = I64IMAGE3D; - (*KeywordMap)["u64image3D"] = U64IMAGE3D; - (*KeywordMap)["i64image2DRect"] = I64IMAGE2DRECT; - (*KeywordMap)["u64image2DRect"] = U64IMAGE2DRECT; - (*KeywordMap)["i64imageCube"] = I64IMAGECUBE; - (*KeywordMap)["u64imageCube"] = U64IMAGECUBE; - (*KeywordMap)["i64imageBuffer"] = I64IMAGEBUFFER; - (*KeywordMap)["u64imageBuffer"] = U64IMAGEBUFFER; - (*KeywordMap)["i64image1DArray"] = I64IMAGE1DARRAY; - (*KeywordMap)["u64image1DArray"] = U64IMAGE1DARRAY; - (*KeywordMap)["i64image2DArray"] = I64IMAGE2DARRAY; - (*KeywordMap)["u64image2DArray"] = U64IMAGE2DARRAY; - (*KeywordMap)["i64imageCubeArray"] = I64IMAGECUBEARRAY; - (*KeywordMap)["u64imageCubeArray"] = U64IMAGECUBEARRAY; - (*KeywordMap)["i64image2DMS"] = I64IMAGE2DMS; - (*KeywordMap)["u64image2DMS"] = U64IMAGE2DMS; - (*KeywordMap)["i64image2DMSArray"] = I64IMAGE2DMSARRAY; - (*KeywordMap)["u64image2DMSArray"] = U64IMAGE2DMSARRAY; - (*KeywordMap)["double"] = DOUBLE; - (*KeywordMap)["dvec2"] = DVEC2; - (*KeywordMap)["dvec3"] = DVEC3; - (*KeywordMap)["dvec4"] = DVEC4; - (*KeywordMap)["int64_t"] = INT64_T; - (*KeywordMap)["uint64_t"] = UINT64_T; - (*KeywordMap)["i64vec2"] = I64VEC2; - (*KeywordMap)["i64vec3"] = I64VEC3; - (*KeywordMap)["i64vec4"] = I64VEC4; - (*KeywordMap)["u64vec2"] = U64VEC2; - (*KeywordMap)["u64vec3"] = U64VEC3; - (*KeywordMap)["u64vec4"] = U64VEC4; - - // GL_EXT_shader_explicit_arithmetic_types - (*KeywordMap)["int8_t"] = INT8_T; - (*KeywordMap)["i8vec2"] = I8VEC2; - (*KeywordMap)["i8vec3"] = I8VEC3; - (*KeywordMap)["i8vec4"] = I8VEC4; - (*KeywordMap)["uint8_t"] = UINT8_T; - (*KeywordMap)["u8vec2"] = U8VEC2; - (*KeywordMap)["u8vec3"] = U8VEC3; - (*KeywordMap)["u8vec4"] = U8VEC4; - - (*KeywordMap)["int16_t"] = INT16_T; - (*KeywordMap)["i16vec2"] = I16VEC2; - (*KeywordMap)["i16vec3"] = I16VEC3; - (*KeywordMap)["i16vec4"] = I16VEC4; - (*KeywordMap)["uint16_t"] = UINT16_T; - (*KeywordMap)["u16vec2"] = U16VEC2; - (*KeywordMap)["u16vec3"] = U16VEC3; - (*KeywordMap)["u16vec4"] = U16VEC4; - - (*KeywordMap)["int32_t"] = INT32_T; - (*KeywordMap)["i32vec2"] = I32VEC2; - (*KeywordMap)["i32vec3"] = I32VEC3; - (*KeywordMap)["i32vec4"] = I32VEC4; - (*KeywordMap)["uint32_t"] = UINT32_T; - (*KeywordMap)["u32vec2"] = U32VEC2; - (*KeywordMap)["u32vec3"] = U32VEC3; - (*KeywordMap)["u32vec4"] = U32VEC4; - - (*KeywordMap)["float16_t"] = FLOAT16_T; - (*KeywordMap)["f16vec2"] = F16VEC2; - (*KeywordMap)["f16vec3"] = F16VEC3; - (*KeywordMap)["f16vec4"] = F16VEC4; - (*KeywordMap)["f16mat2"] = F16MAT2; - (*KeywordMap)["f16mat3"] = F16MAT3; - (*KeywordMap)["f16mat4"] = F16MAT4; - (*KeywordMap)["f16mat2x2"] = F16MAT2X2; - (*KeywordMap)["f16mat2x3"] = F16MAT2X3; - (*KeywordMap)["f16mat2x4"] = F16MAT2X4; - (*KeywordMap)["f16mat3x2"] = F16MAT3X2; - (*KeywordMap)["f16mat3x3"] = F16MAT3X3; - (*KeywordMap)["f16mat3x4"] = F16MAT3X4; - (*KeywordMap)["f16mat4x2"] = F16MAT4X2; - (*KeywordMap)["f16mat4x3"] = F16MAT4X3; - (*KeywordMap)["f16mat4x4"] = F16MAT4X4; - - (*KeywordMap)["float32_t"] = FLOAT32_T; - (*KeywordMap)["f32vec2"] = F32VEC2; - (*KeywordMap)["f32vec3"] = F32VEC3; - (*KeywordMap)["f32vec4"] = F32VEC4; - (*KeywordMap)["f32mat2"] = F32MAT2; - (*KeywordMap)["f32mat3"] = F32MAT3; - (*KeywordMap)["f32mat4"] = F32MAT4; - (*KeywordMap)["f32mat2x2"] = F32MAT2X2; - (*KeywordMap)["f32mat2x3"] = F32MAT2X3; - (*KeywordMap)["f32mat2x4"] = F32MAT2X4; - (*KeywordMap)["f32mat3x2"] = F32MAT3X2; - (*KeywordMap)["f32mat3x3"] = F32MAT3X3; - (*KeywordMap)["f32mat3x4"] = F32MAT3X4; - (*KeywordMap)["f32mat4x2"] = F32MAT4X2; - (*KeywordMap)["f32mat4x3"] = F32MAT4X3; - (*KeywordMap)["f32mat4x4"] = F32MAT4X4; - (*KeywordMap)["float64_t"] = FLOAT64_T; - (*KeywordMap)["f64vec2"] = F64VEC2; - (*KeywordMap)["f64vec3"] = F64VEC3; - (*KeywordMap)["f64vec4"] = F64VEC4; - (*KeywordMap)["f64mat2"] = F64MAT2; - (*KeywordMap)["f64mat3"] = F64MAT3; - (*KeywordMap)["f64mat4"] = F64MAT4; - (*KeywordMap)["f64mat2x2"] = F64MAT2X2; - (*KeywordMap)["f64mat2x3"] = F64MAT2X3; - (*KeywordMap)["f64mat2x4"] = F64MAT2X4; - (*KeywordMap)["f64mat3x2"] = F64MAT3X2; - (*KeywordMap)["f64mat3x3"] = F64MAT3X3; - (*KeywordMap)["f64mat3x4"] = F64MAT3X4; - (*KeywordMap)["f64mat4x2"] = F64MAT4X2; - (*KeywordMap)["f64mat4x3"] = F64MAT4X3; - (*KeywordMap)["f64mat4x4"] = F64MAT4X4; - - // GL_EXT_spirv_intrinsics - (*KeywordMap)["spirv_instruction"] = SPIRV_INSTRUCTION; - (*KeywordMap)["spirv_execution_mode"] = SPIRV_EXECUTION_MODE; - (*KeywordMap)["spirv_execution_mode_id"] = SPIRV_EXECUTION_MODE_ID; - (*KeywordMap)["spirv_decorate"] = SPIRV_DECORATE; - (*KeywordMap)["spirv_decorate_id"] = SPIRV_DECORATE_ID; - (*KeywordMap)["spirv_decorate_string"] = SPIRV_DECORATE_STRING; - (*KeywordMap)["spirv_type"] = SPIRV_TYPE; - (*KeywordMap)["spirv_storage_class"] = SPIRV_STORAGE_CLASS; - (*KeywordMap)["spirv_by_reference"] = SPIRV_BY_REFERENCE; - (*KeywordMap)["spirv_literal"] = SPIRV_LITERAL; - - (*KeywordMap)["sampler2D"] = SAMPLER2D; - (*KeywordMap)["samplerCube"] = SAMPLERCUBE; - (*KeywordMap)["samplerCubeShadow"] = SAMPLERCUBESHADOW; - (*KeywordMap)["sampler2DArray"] = SAMPLER2DARRAY; - (*KeywordMap)["sampler2DArrayShadow"] = SAMPLER2DARRAYSHADOW; - (*KeywordMap)["isampler2D"] = ISAMPLER2D; - (*KeywordMap)["isampler3D"] = ISAMPLER3D; - (*KeywordMap)["isamplerCube"] = ISAMPLERCUBE; - (*KeywordMap)["isampler2DArray"] = ISAMPLER2DARRAY; - (*KeywordMap)["usampler2D"] = USAMPLER2D; - (*KeywordMap)["usampler3D"] = USAMPLER3D; - (*KeywordMap)["usamplerCube"] = USAMPLERCUBE; - (*KeywordMap)["usampler2DArray"] = USAMPLER2DARRAY; - (*KeywordMap)["sampler3D"] = SAMPLER3D; - (*KeywordMap)["sampler2DShadow"] = SAMPLER2DSHADOW; - - (*KeywordMap)["texture2D"] = TEXTURE2D; - (*KeywordMap)["textureCube"] = TEXTURECUBE; - (*KeywordMap)["texture2DArray"] = TEXTURE2DARRAY; - (*KeywordMap)["itexture2D"] = ITEXTURE2D; - (*KeywordMap)["itexture3D"] = ITEXTURE3D; - (*KeywordMap)["itextureCube"] = ITEXTURECUBE; - (*KeywordMap)["itexture2DArray"] = ITEXTURE2DARRAY; - (*KeywordMap)["utexture2D"] = UTEXTURE2D; - (*KeywordMap)["utexture3D"] = UTEXTURE3D; - (*KeywordMap)["utextureCube"] = UTEXTURECUBE; - (*KeywordMap)["utexture2DArray"] = UTEXTURE2DARRAY; - (*KeywordMap)["texture3D"] = TEXTURE3D; - - (*KeywordMap)["sampler"] = SAMPLER; - (*KeywordMap)["samplerShadow"] = SAMPLERSHADOW; - - (*KeywordMap)["textureCubeArray"] = TEXTURECUBEARRAY; - (*KeywordMap)["itextureCubeArray"] = ITEXTURECUBEARRAY; - (*KeywordMap)["utextureCubeArray"] = UTEXTURECUBEARRAY; - (*KeywordMap)["samplerCubeArray"] = SAMPLERCUBEARRAY; - (*KeywordMap)["samplerCubeArrayShadow"] = SAMPLERCUBEARRAYSHADOW; - (*KeywordMap)["isamplerCubeArray"] = ISAMPLERCUBEARRAY; - (*KeywordMap)["usamplerCubeArray"] = USAMPLERCUBEARRAY; - (*KeywordMap)["sampler1DArrayShadow"] = SAMPLER1DARRAYSHADOW; - (*KeywordMap)["isampler1DArray"] = ISAMPLER1DARRAY; - (*KeywordMap)["usampler1D"] = USAMPLER1D; - (*KeywordMap)["isampler1D"] = ISAMPLER1D; - (*KeywordMap)["usampler1DArray"] = USAMPLER1DARRAY; - (*KeywordMap)["samplerBuffer"] = SAMPLERBUFFER; - (*KeywordMap)["isampler2DRect"] = ISAMPLER2DRECT; - (*KeywordMap)["usampler2DRect"] = USAMPLER2DRECT; - (*KeywordMap)["isamplerBuffer"] = ISAMPLERBUFFER; - (*KeywordMap)["usamplerBuffer"] = USAMPLERBUFFER; - (*KeywordMap)["sampler2DMS"] = SAMPLER2DMS; - (*KeywordMap)["isampler2DMS"] = ISAMPLER2DMS; - (*KeywordMap)["usampler2DMS"] = USAMPLER2DMS; - (*KeywordMap)["sampler2DMSArray"] = SAMPLER2DMSARRAY; - (*KeywordMap)["isampler2DMSArray"] = ISAMPLER2DMSARRAY; - (*KeywordMap)["usampler2DMSArray"] = USAMPLER2DMSARRAY; - (*KeywordMap)["sampler1D"] = SAMPLER1D; - (*KeywordMap)["sampler1DShadow"] = SAMPLER1DSHADOW; - (*KeywordMap)["sampler2DRect"] = SAMPLER2DRECT; - (*KeywordMap)["sampler2DRectShadow"] = SAMPLER2DRECTSHADOW; - (*KeywordMap)["sampler1DArray"] = SAMPLER1DARRAY; - - (*KeywordMap)["samplerExternalOES"] = SAMPLEREXTERNALOES; // GL_OES_EGL_image_external - - (*KeywordMap)["__samplerExternal2DY2YEXT"] = SAMPLEREXTERNAL2DY2YEXT; // GL_EXT_YUV_target - - (*KeywordMap)["itexture1DArray"] = ITEXTURE1DARRAY; - (*KeywordMap)["utexture1D"] = UTEXTURE1D; - (*KeywordMap)["itexture1D"] = ITEXTURE1D; - (*KeywordMap)["utexture1DArray"] = UTEXTURE1DARRAY; - (*KeywordMap)["textureBuffer"] = TEXTUREBUFFER; - (*KeywordMap)["itexture2DRect"] = ITEXTURE2DRECT; - (*KeywordMap)["utexture2DRect"] = UTEXTURE2DRECT; - (*KeywordMap)["itextureBuffer"] = ITEXTUREBUFFER; - (*KeywordMap)["utextureBuffer"] = UTEXTUREBUFFER; - (*KeywordMap)["texture2DMS"] = TEXTURE2DMS; - (*KeywordMap)["itexture2DMS"] = ITEXTURE2DMS; - (*KeywordMap)["utexture2DMS"] = UTEXTURE2DMS; - (*KeywordMap)["texture2DMSArray"] = TEXTURE2DMSARRAY; - (*KeywordMap)["itexture2DMSArray"] = ITEXTURE2DMSARRAY; - (*KeywordMap)["utexture2DMSArray"] = UTEXTURE2DMSARRAY; - (*KeywordMap)["texture1D"] = TEXTURE1D; - (*KeywordMap)["texture2DRect"] = TEXTURE2DRECT; - (*KeywordMap)["texture1DArray"] = TEXTURE1DARRAY; - - (*KeywordMap)["attachmentEXT"] = ATTACHMENTEXT; - (*KeywordMap)["iattachmentEXT"] = IATTACHMENTEXT; - (*KeywordMap)["uattachmentEXT"] = UATTACHMENTEXT; - - (*KeywordMap)["subpassInput"] = SUBPASSINPUT; - (*KeywordMap)["subpassInputMS"] = SUBPASSINPUTMS; - (*KeywordMap)["isubpassInput"] = ISUBPASSINPUT; - (*KeywordMap)["isubpassInputMS"] = ISUBPASSINPUTMS; - (*KeywordMap)["usubpassInput"] = USUBPASSINPUT; - (*KeywordMap)["usubpassInputMS"] = USUBPASSINPUTMS; - - (*KeywordMap)["f16sampler1D"] = F16SAMPLER1D; - (*KeywordMap)["f16sampler2D"] = F16SAMPLER2D; - (*KeywordMap)["f16sampler3D"] = F16SAMPLER3D; - (*KeywordMap)["f16sampler2DRect"] = F16SAMPLER2DRECT; - (*KeywordMap)["f16samplerCube"] = F16SAMPLERCUBE; - (*KeywordMap)["f16sampler1DArray"] = F16SAMPLER1DARRAY; - (*KeywordMap)["f16sampler2DArray"] = F16SAMPLER2DARRAY; - (*KeywordMap)["f16samplerCubeArray"] = F16SAMPLERCUBEARRAY; - (*KeywordMap)["f16samplerBuffer"] = F16SAMPLERBUFFER; - (*KeywordMap)["f16sampler2DMS"] = F16SAMPLER2DMS; - (*KeywordMap)["f16sampler2DMSArray"] = F16SAMPLER2DMSARRAY; - (*KeywordMap)["f16sampler1DShadow"] = F16SAMPLER1DSHADOW; - (*KeywordMap)["f16sampler2DShadow"] = F16SAMPLER2DSHADOW; - (*KeywordMap)["f16sampler2DRectShadow"] = F16SAMPLER2DRECTSHADOW; - (*KeywordMap)["f16samplerCubeShadow"] = F16SAMPLERCUBESHADOW; - (*KeywordMap)["f16sampler1DArrayShadow"] = F16SAMPLER1DARRAYSHADOW; - (*KeywordMap)["f16sampler2DArrayShadow"] = F16SAMPLER2DARRAYSHADOW; - (*KeywordMap)["f16samplerCubeArrayShadow"] = F16SAMPLERCUBEARRAYSHADOW; - - (*KeywordMap)["f16image1D"] = F16IMAGE1D; - (*KeywordMap)["f16image2D"] = F16IMAGE2D; - (*KeywordMap)["f16image3D"] = F16IMAGE3D; - (*KeywordMap)["f16image2DRect"] = F16IMAGE2DRECT; - (*KeywordMap)["f16imageCube"] = F16IMAGECUBE; - (*KeywordMap)["f16image1DArray"] = F16IMAGE1DARRAY; - (*KeywordMap)["f16image2DArray"] = F16IMAGE2DARRAY; - (*KeywordMap)["f16imageCubeArray"] = F16IMAGECUBEARRAY; - (*KeywordMap)["f16imageBuffer"] = F16IMAGEBUFFER; - (*KeywordMap)["f16image2DMS"] = F16IMAGE2DMS; - (*KeywordMap)["f16image2DMSArray"] = F16IMAGE2DMSARRAY; - - (*KeywordMap)["f16texture1D"] = F16TEXTURE1D; - (*KeywordMap)["f16texture2D"] = F16TEXTURE2D; - (*KeywordMap)["f16texture3D"] = F16TEXTURE3D; - (*KeywordMap)["f16texture2DRect"] = F16TEXTURE2DRECT; - (*KeywordMap)["f16textureCube"] = F16TEXTURECUBE; - (*KeywordMap)["f16texture1DArray"] = F16TEXTURE1DARRAY; - (*KeywordMap)["f16texture2DArray"] = F16TEXTURE2DARRAY; - (*KeywordMap)["f16textureCubeArray"] = F16TEXTURECUBEARRAY; - (*KeywordMap)["f16textureBuffer"] = F16TEXTUREBUFFER; - (*KeywordMap)["f16texture2DMS"] = F16TEXTURE2DMS; - (*KeywordMap)["f16texture2DMSArray"] = F16TEXTURE2DMSARRAY; - - (*KeywordMap)["f16subpassInput"] = F16SUBPASSINPUT; - (*KeywordMap)["f16subpassInputMS"] = F16SUBPASSINPUTMS; - (*KeywordMap)["__explicitInterpAMD"] = EXPLICITINTERPAMD; - (*KeywordMap)["pervertexNV"] = PERVERTEXNV; - (*KeywordMap)["pervertexEXT"] = PERVERTEXEXT; - (*KeywordMap)["precise"] = PRECISE; - - (*KeywordMap)["rayPayloadNV"] = PAYLOADNV; - (*KeywordMap)["rayPayloadEXT"] = PAYLOADEXT; - (*KeywordMap)["rayPayloadInNV"] = PAYLOADINNV; - (*KeywordMap)["rayPayloadInEXT"] = PAYLOADINEXT; - (*KeywordMap)["hitAttributeNV"] = HITATTRNV; - (*KeywordMap)["hitAttributeEXT"] = HITATTREXT; - (*KeywordMap)["callableDataNV"] = CALLDATANV; - (*KeywordMap)["callableDataEXT"] = CALLDATAEXT; - (*KeywordMap)["callableDataInNV"] = CALLDATAINNV; - (*KeywordMap)["callableDataInEXT"] = CALLDATAINEXT; - (*KeywordMap)["accelerationStructureNV"] = ACCSTRUCTNV; - (*KeywordMap)["accelerationStructureEXT"] = ACCSTRUCTEXT; - (*KeywordMap)["rayQueryEXT"] = RAYQUERYEXT; - (*KeywordMap)["perprimitiveNV"] = PERPRIMITIVENV; - (*KeywordMap)["perviewNV"] = PERVIEWNV; - (*KeywordMap)["taskNV"] = PERTASKNV; - (*KeywordMap)["perprimitiveEXT"] = PERPRIMITIVEEXT; - (*KeywordMap)["taskPayloadSharedEXT"] = TASKPAYLOADWORKGROUPEXT; - - (*KeywordMap)["fcoopmatNV"] = FCOOPMATNV; - (*KeywordMap)["icoopmatNV"] = ICOOPMATNV; - (*KeywordMap)["ucoopmatNV"] = UCOOPMATNV; - - (*KeywordMap)["coopmat"] = COOPMAT; - - (*KeywordMap)["hitObjectNV"] = HITOBJECTNV; - (*KeywordMap)["hitObjectAttributeNV"] = HITOBJECTATTRNV; - - ReservedSet = new std::unordered_set; - - ReservedSet->insert("common"); - ReservedSet->insert("partition"); - ReservedSet->insert("active"); - ReservedSet->insert("asm"); - ReservedSet->insert("class"); - ReservedSet->insert("union"); - ReservedSet->insert("enum"); - ReservedSet->insert("typedef"); - ReservedSet->insert("template"); - ReservedSet->insert("this"); - ReservedSet->insert("goto"); - ReservedSet->insert("inline"); - ReservedSet->insert("noinline"); - ReservedSet->insert("public"); - ReservedSet->insert("static"); - ReservedSet->insert("extern"); - ReservedSet->insert("external"); - ReservedSet->insert("interface"); - ReservedSet->insert("long"); - ReservedSet->insert("short"); - ReservedSet->insert("half"); - ReservedSet->insert("fixed"); - ReservedSet->insert("unsigned"); - ReservedSet->insert("input"); - ReservedSet->insert("output"); - ReservedSet->insert("hvec2"); - ReservedSet->insert("hvec3"); - ReservedSet->insert("hvec4"); - ReservedSet->insert("fvec2"); - ReservedSet->insert("fvec3"); - ReservedSet->insert("fvec4"); - ReservedSet->insert("sampler3DRect"); - ReservedSet->insert("filter"); - ReservedSet->insert("sizeof"); - ReservedSet->insert("cast"); - ReservedSet->insert("namespace"); - ReservedSet->insert("using"); -} - -void TScanContext::deleteKeywordMap() -{ - delete KeywordMap; - KeywordMap = nullptr; - delete ReservedSet; - ReservedSet = nullptr; -} - // Called by yylex to get the next token. // Returning 0 implies end of input. int TScanContext::tokenize(TPpContext* pp, TParserToken& token) @@ -924,11 +902,11 @@ int TScanContext::tokenize(TPpContext* pp, TParserToken& token) int TScanContext::tokenizeIdentifier() { - if (ReservedSet->find(tokenText) != ReservedSet->end()) + if (ReservedSet.find(tokenText) != ReservedSet.end()) return reservedWord(); - auto it = KeywordMap->find(tokenText); - if (it == KeywordMap->end()) { + auto it = KeywordMap.find(tokenText); + if (it == KeywordMap.end()) { // Should have an identifier of some sort return identifierOrType(); } diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index 66e21663..28519e98 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -1324,11 +1324,6 @@ int ShInitialize() if (PerProcessGPA == nullptr) PerProcessGPA = new TPoolAllocator(); - glslang::TScanContext::fillInKeywordMap(); -#ifdef ENABLE_HLSL - glslang::HlslScanContext::fillInKeywordMap(); -#endif - return 1; } @@ -1417,11 +1412,6 @@ int ShFinalize() PerProcessGPA = nullptr; } - glslang::TScanContext::deleteKeywordMap(); -#ifdef ENABLE_HLSL - glslang::HlslScanContext::deleteKeywordMap(); -#endif - return 1; } From f7f0f3067c4c9662add8e9ac6ddb89dbd8657c78 Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Thu, 12 Sep 2024 12:10:19 -0500 Subject: [PATCH 075/108] Add tests for compute shader derivatives with spec constant workgroup size --- .../baseResults/spv.computeShaderDerivativesSpec.comp.out | 6 ++++++ .../spv.computeShaderDerivativesSpec2.comp.out | 6 ++++++ Test/spv.computeShaderDerivativesSpec.comp | 8 ++++++++ Test/spv.computeShaderDerivativesSpec2.comp | 8 ++++++++ gtests/Spv.FromFile.cpp | 2 ++ 5 files changed, 30 insertions(+) create mode 100644 Test/baseResults/spv.computeShaderDerivativesSpec.comp.out create mode 100644 Test/baseResults/spv.computeShaderDerivativesSpec2.comp.out create mode 100644 Test/spv.computeShaderDerivativesSpec.comp create mode 100644 Test/spv.computeShaderDerivativesSpec2.comp diff --git a/Test/baseResults/spv.computeShaderDerivativesSpec.comp.out b/Test/baseResults/spv.computeShaderDerivativesSpec.comp.out new file mode 100644 index 00000000..be4cc3ec --- /dev/null +++ b/Test/baseResults/spv.computeShaderDerivativesSpec.comp.out @@ -0,0 +1,6 @@ +spv.computeShaderDerivativesSpec.comp +ERROR: 0:5: 'derivative_group_quadsNV' : requires local_size_x and local_size_y to be multiple of two +ERROR: 1 compilation errors. No code generated. + + +SPIR-V is not generated for failed compile or link diff --git a/Test/baseResults/spv.computeShaderDerivativesSpec2.comp.out b/Test/baseResults/spv.computeShaderDerivativesSpec2.comp.out new file mode 100644 index 00000000..3417ff77 --- /dev/null +++ b/Test/baseResults/spv.computeShaderDerivativesSpec2.comp.out @@ -0,0 +1,6 @@ +spv.computeShaderDerivativesSpec2.comp +ERROR: 0:5: 'derivative_group_linearNV' : requires total group size to be multiple of four +ERROR: 1 compilation errors. No code generated. + + +SPIR-V is not generated for failed compile or link diff --git a/Test/spv.computeShaderDerivativesSpec.comp b/Test/spv.computeShaderDerivativesSpec.comp new file mode 100644 index 00000000..dd452d37 --- /dev/null +++ b/Test/spv.computeShaderDerivativesSpec.comp @@ -0,0 +1,8 @@ +#version 450 +#extension GL_NV_compute_shader_derivatives : require + +layout (local_size_x_id = 0, local_size_y_id = 1) in; +layout(derivative_group_quadsNV) in; + +void main(){ +} diff --git a/Test/spv.computeShaderDerivativesSpec2.comp b/Test/spv.computeShaderDerivativesSpec2.comp new file mode 100644 index 00000000..48310ef5 --- /dev/null +++ b/Test/spv.computeShaderDerivativesSpec2.comp @@ -0,0 +1,8 @@ +#version 320 es +#extension GL_NV_compute_shader_derivatives : require + +layout (local_size_x_id = 0, local_size_y_id = 1) in; +layout(derivative_group_linearNV) in; + +void main(){ +} diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index c8a24eca..22671816 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -896,6 +896,8 @@ INSTANTIATE_TEST_SUITE_P( "spv.fragmentShaderBarycentric2.frag", "spv.computeShaderDerivatives.comp", "spv.computeShaderDerivatives2.comp", + "spv.computeShaderDerivativesSpec.comp", + "spv.computeShaderDerivativesSpec2.comp", "spv.shaderImageFootprint.frag", "spv.meshShaderBuiltins.mesh", "spv.meshShaderUserDefined.mesh", From 708d560c23d99e028722b7e98710371cca56fe5b Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Thu, 12 Sep 2024 12:25:07 -0500 Subject: [PATCH 076/108] Allow compute derivative modes when the workgroup dimensions are spec constants --- .../spv.computeShaderDerivativesSpec.comp.out | 33 ++++++++++++++++--- ...spv.computeShaderDerivativesSpec2.comp.out | 33 ++++++++++++++++--- glslang/MachineIndependent/ParseHelper.cpp | 9 +++-- 3 files changed, 64 insertions(+), 11 deletions(-) diff --git a/Test/baseResults/spv.computeShaderDerivativesSpec.comp.out b/Test/baseResults/spv.computeShaderDerivativesSpec.comp.out index be4cc3ec..e4afc6f5 100644 --- a/Test/baseResults/spv.computeShaderDerivativesSpec.comp.out +++ b/Test/baseResults/spv.computeShaderDerivativesSpec.comp.out @@ -1,6 +1,31 @@ spv.computeShaderDerivativesSpec.comp -ERROR: 0:5: 'derivative_group_quadsNV' : requires local_size_x and local_size_y to be multiple of two -ERROR: 1 compilation errors. No code generated. +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 12 - -SPIR-V is not generated for failed compile or link + Capability Shader + Capability ComputeDerivativeGroupQuadsNV + Extension "SPV_NV_compute_shader_derivatives" + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint GLCompute 4 "main" + ExecutionMode 4 LocalSize 1 1 1 + ExecutionMode 4 DerivativeGroupQuadsNV + Source GLSL 450 + SourceExtension "GL_NV_compute_shader_derivatives" + Name 4 "main" + Decorate 7 SpecId 0 + Decorate 8 SpecId 1 + Decorate 11 BuiltIn WorkgroupSize + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: 6(int) SpecConstant 1 + 8: 6(int) SpecConstant 1 + 9: 6(int) Constant 1 + 10: TypeVector 6(int) 3 + 11: 10(ivec3) SpecConstantComposite 7 8 9 + 4(main): 2 Function None 3 + 5: Label + Return + FunctionEnd diff --git a/Test/baseResults/spv.computeShaderDerivativesSpec2.comp.out b/Test/baseResults/spv.computeShaderDerivativesSpec2.comp.out index 3417ff77..a3b38caf 100644 --- a/Test/baseResults/spv.computeShaderDerivativesSpec2.comp.out +++ b/Test/baseResults/spv.computeShaderDerivativesSpec2.comp.out @@ -1,6 +1,31 @@ spv.computeShaderDerivativesSpec2.comp -ERROR: 0:5: 'derivative_group_linearNV' : requires total group size to be multiple of four -ERROR: 1 compilation errors. No code generated. +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 12 - -SPIR-V is not generated for failed compile or link + Capability Shader + Capability ComputeDerivativeGroupLinearNV + Extension "SPV_NV_compute_shader_derivatives" + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint GLCompute 4 "main" + ExecutionMode 4 LocalSize 1 1 1 + ExecutionMode 4 DerivativeGroupLinearNV + Source ESSL 320 + SourceExtension "GL_NV_compute_shader_derivatives" + Name 4 "main" + Decorate 7 SpecId 0 + Decorate 8 SpecId 1 + Decorate 11 BuiltIn WorkgroupSize + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: 6(int) SpecConstant 1 + 8: 6(int) SpecConstant 1 + 9: 6(int) Constant 1 + 10: TypeVector 6(int) 3 + 11: 10(ivec3) SpecConstantComposite 7 8 9 + 4(main): 2 Function None 3 + 5: Label + Return + FunctionEnd diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index f314b278..215ccd99 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -9924,8 +9924,8 @@ void TParseContext::updateStandaloneQualifierDefaults(const TSourceLoc& loc, con if (publicType.shaderQualifiers.layoutDerivativeGroupQuads) { if (publicType.qualifier.storage == EvqVaryingIn) { - if ((intermediate.getLocalSize(0) & 1) || - (intermediate.getLocalSize(1) & 1)) + if ((intermediate.getLocalSizeSpecId(0) == TQualifier::layoutNotSet && (intermediate.getLocalSize(0) & 1)) || + (intermediate.getLocalSizeSpecId(1) == TQualifier::layoutNotSet && (intermediate.getLocalSize(1) & 1))) error(loc, "requires local_size_x and local_size_y to be multiple of two", "derivative_group_quadsNV", ""); else intermediate.setLayoutDerivativeMode(LayoutDerivativeGroupQuads); @@ -9935,7 +9935,10 @@ void TParseContext::updateStandaloneQualifierDefaults(const TSourceLoc& loc, con } if (publicType.shaderQualifiers.layoutDerivativeGroupLinear) { if (publicType.qualifier.storage == EvqVaryingIn) { - if((intermediate.getLocalSize(0) * + if (intermediate.getLocalSizeSpecId(0) == TQualifier::layoutNotSet && + intermediate.getLocalSizeSpecId(1) == TQualifier::layoutNotSet && + intermediate.getLocalSizeSpecId(2) == TQualifier::layoutNotSet && + (intermediate.getLocalSize(0) * intermediate.getLocalSize(1) * intermediate.getLocalSize(2)) % 4 != 0) error(loc, "requires total group size to be multiple of four", "derivative_group_linearNV", ""); From d7d5ab8f8a0cec6ee8318f3216377059b4824e2a Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Mon, 9 Sep 2024 13:31:47 -0700 Subject: [PATCH 077/108] Add symbol visibility annotations to glslang-resource-limits library Among other things, this allows using it as a DLL on Windows. --- glslang/CMakeLists.txt | 1 + glslang/Public/ResourceLimits.h | 9 +++++---- glslang/Public/resource_limits_c.h | 9 +++++---- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt index 385d4697..6985706d 100644 --- a/glslang/CMakeLists.txt +++ b/glslang/CMakeLists.txt @@ -227,6 +227,7 @@ set_target_properties(glslang-default-resource-limits PROPERTIES target_include_directories(glslang-default-resource-limits PUBLIC $ $) +glslang_only_export_explicit_symbols(glslang-default-resource-limits) ################################################################################ # source_groups diff --git a/glslang/Public/ResourceLimits.h b/glslang/Public/ResourceLimits.h index f70be817..8245e12d 100644 --- a/glslang/Public/ResourceLimits.h +++ b/glslang/Public/ResourceLimits.h @@ -38,20 +38,21 @@ #include #include "../Include/ResourceLimits.h" +#include "../Include/visibility.h" // Return pointer to user-writable Resource to pass through API in // future-proof way. -extern TBuiltInResource* GetResources(); +GLSLANG_EXPORT extern TBuiltInResource* GetResources(); // These are the default resources for TBuiltInResources, used for both // - parsing this string for the case where the user didn't supply one, // - dumping out a template for user construction of a config file. -extern const TBuiltInResource* GetDefaultResources(); +GLSLANG_EXPORT extern const TBuiltInResource* GetDefaultResources(); // Returns the DefaultTBuiltInResource as a human-readable string. -std::string GetDefaultTBuiltInResourceString(); +GLSLANG_EXPORT std::string GetDefaultTBuiltInResourceString(); // Decodes the resource limits from |config| to |resources|. -void DecodeResourceLimits(TBuiltInResource* resources, char* config); +GLSLANG_EXPORT void DecodeResourceLimits(TBuiltInResource* resources, char* config); #endif // _STAND_ALONE_RESOURCE_LIMITS_INCLUDED_ diff --git a/glslang/Public/resource_limits_c.h b/glslang/Public/resource_limits_c.h index 05aa8eb0..3cf7442f 100644 --- a/glslang/Public/resource_limits_c.h +++ b/glslang/Public/resource_limits_c.h @@ -30,25 +30,26 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define _STAND_ALONE_RESOURCE_LIMITS_C_INCLUDED_ #include "../Include/glslang_c_interface.h" +#include "../Include/visibility.h" #ifdef __cplusplus extern "C" { #endif // Returns a struct that can be use to create custom resource values. -glslang_resource_t* glslang_resource(void); +GLSLANG_EXPORT glslang_resource_t* glslang_resource(void); // These are the default resources for TBuiltInResources, used for both // - parsing this string for the case where the user didn't supply one, // - dumping out a template for user construction of a config file. -const glslang_resource_t* glslang_default_resource(void); +GLSLANG_EXPORT const glslang_resource_t* glslang_default_resource(void); // Returns the DefaultTBuiltInResource as a human-readable string. // NOTE: User is responsible for freeing this string. -const char* glslang_default_resource_string(); +GLSLANG_EXPORT const char* glslang_default_resource_string(); // Decodes the resource limits from |config| to |resources|. -void glslang_decode_resource_limits(glslang_resource_t* resources, char* config); +GLSLANG_EXPORT void glslang_decode_resource_limits(glslang_resource_t* resources, char* config); #ifdef __cplusplus } From 36ccaa31bd464a3bea0ea0ba1d374158011619a4 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Thu, 12 Sep 2024 15:40:52 -0700 Subject: [PATCH 078/108] Explicitly export symbols from libSPVRemapper Windows requires symbols to be explicitly exported from DLLs, this change simply marks the entire spirvbin_t class as exported. The macros from visibility.h are included inline to get around include path issues. --- SPIRV/CMakeLists.txt | 1 + SPIRV/SPVRemapper.h | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt index 3663753e..b5fd5b6c 100644 --- a/SPIRV/CMakeLists.txt +++ b/SPIRV/CMakeLists.txt @@ -100,6 +100,7 @@ if (ENABLE_SPVREMAPPER) POSITION_INDEPENDENT_CODE ON VERSION "${GLSLANG_VERSION}" SOVERSION "${GLSLANG_VERSION_MAJOR}") + glslang_only_export_explicit_symbols(SPVRemapper) endif() if(WIN32 AND BUILD_SHARED_LIBS) diff --git a/SPIRV/SPVRemapper.h b/SPIRV/SPVRemapper.h index bd9f9139..e60da792 100644 --- a/SPIRV/SPVRemapper.h +++ b/SPIRV/SPVRemapper.h @@ -41,6 +41,21 @@ #include #include +#ifdef GLSLANG_IS_SHARED_LIBRARY + #ifdef _WIN32 + #ifdef GLSLANG_EXPORTING + #define GLSLANG_EXPORT __declspec(dllexport) + #else + #define GLSLANG_EXPORT __declspec(dllimport) + #endif + #elif __GNUC__ >= 4 + #define GLSLANG_EXPORT __attribute__((visibility("default"))) + #endif +#endif // GLSLANG_IS_SHARED_LIBRARY +#ifndef GLSLANG_EXPORT +#define GLSLANG_EXPORT +#endif + namespace spv { class spirvbin_base_t @@ -83,7 +98,7 @@ namespace spv { static inline constexpr Id NoResult = 0; // class to hold SPIR-V binary data for remapping, DCE, and debug stripping -class spirvbin_t : public spirvbin_base_t +class GLSLANG_EXPORT spirvbin_t : public spirvbin_base_t { public: spirvbin_t(int verbose = 0) : entryPoint(spv::NoResult), largestNewId(0), verbose(verbose), errorLatch(false) From 8bd9083bec5db1730c184d80fdb817a6175930bc Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Thu, 12 Sep 2024 08:50:43 -0700 Subject: [PATCH 079/108] Revert "Add MachineIndependent/iomapper.h to the list of installed headers." This reverts commit b618604e776f0c9b4ecc71753f8522dbd0485a1b. --- glslang/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt index 6985706d..47925d8d 100644 --- a/glslang/CMakeLists.txt +++ b/glslang/CMakeLists.txt @@ -263,7 +263,6 @@ if(GLSLANG_ENABLE_INSTALL) Include/glslang_c_interface.h Include/glslang_c_shader_types.h Include/ResourceLimits.h - MachineIndependent/iomapper.h Include/visibility.h MachineIndependent/Versions.h) From d081b4d8c6df2febac924f33cd44c8755006148b Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 13 Sep 2024 08:44:40 -0700 Subject: [PATCH 080/108] Add an interface to get the GLSL IO mapper and resolver The TProgram::mapIO method takes a TIoMapResolver and a TIoMapper, however the only way to obtain instances of these was from methods in iomapper.h. Rather than try to expose that header as part of the API, new methods are added to the public ShaderLang.h header to create a TDefaultGlslIoResolver and a TGlslIoMapper and return them as pointers to their respective base classes, which are defined in the public header. --- glslang/MachineIndependent/ShaderLang.cpp | 10 ++++++++++ glslang/MachineIndependent/iomapper.h | 10 ---------- glslang/Public/ShaderLang.h | 18 ++++++++++++++++++ 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index 28519e98..40aeaa7c 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -1716,6 +1716,10 @@ public: virtual bool compile(TIntermNode*, int = 0, EProfile = ENoProfile) { return true; } }; +TIoMapper* GetGlslIoMapper() { + return static_cast(new TGlslIoMapper()); +} + TShader::TShader(EShLanguage s) : stage(s), lengths(nullptr), stringNames(nullptr), preamble(""), overrideVersion(0) { @@ -2164,6 +2168,12 @@ int TProgram::getNumAtomicCounters() const { return r const TObjectReflection& TProgram::getAtomicCounter(int index) const { return reflection->getAtomicCounter(index); } void TProgram::dumpReflection() { if (reflection != nullptr) reflection->dump(); } +TIoMapResolver* TProgram::getGlslIoResolver(EShLanguage stage) { + auto *intermediate = getIntermediate(stage); + if (!intermediate) + return NULL; + return static_cast(new TDefaultGlslIoResolver(*intermediate)); +} // // I/O mapping implementation. // diff --git a/glslang/MachineIndependent/iomapper.h b/glslang/MachineIndependent/iomapper.h index ef73c273..86c9e87b 100644 --- a/glslang/MachineIndependent/iomapper.h +++ b/glslang/MachineIndependent/iomapper.h @@ -189,16 +189,6 @@ protected: typedef std::map TVarLiveMap; -// I/O mapper -class TIoMapper { -public: - TIoMapper() {} - virtual ~TIoMapper() {} - // grow the reflection stage by stage - bool virtual addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*); - bool virtual doMap(TIoMapResolver*, TInfoSink&) { return true; } -}; - // I/O mapper for GLSL class TGlslIoMapper : public TIoMapper { public: diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h index d7880307..5e3ab581 100644 --- a/glslang/Public/ShaderLang.h +++ b/glslang/Public/ShaderLang.h @@ -400,6 +400,7 @@ GLSLANG_EXPORT int GetKhronosToolId(); class TIntermediate; class TProgram; class TPoolAllocator; +class TIoMapResolver; // Call this exactly once per process before using anything else GLSLANG_EXPORT bool InitializeProcess(); @@ -838,6 +839,19 @@ public: virtual void addStage(EShLanguage stage, TIntermediate& stageIntermediate) = 0; }; +// I/O mapper +class TIoMapper { +public: + TIoMapper() {} + virtual ~TIoMapper() {} + // grow the reflection stage by stage + bool virtual addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*); + bool virtual doMap(TIoMapResolver*, TInfoSink&) { return true; } +}; + +// Get the default GLSL IO mapper +GLSLANG_EXPORT TIoMapper* GetGlslIoMapper(); + // Make one TProgram per set of shaders that will get linked together. Add all // the shaders that are to be linked together. After calling shader.parse() // for all shaders, call link(). @@ -945,6 +959,10 @@ public: const TType *getAttributeTType(int index) const { return getPipeInput(index).getType(); } GLSLANG_EXPORT void dumpReflection(); + + // Get the IO resolver to use for mapIO + GLSLANG_EXPORT TIoMapResolver* getGlslIoResolver(EShLanguage stage); + // I/O mapping: apply base offsets and map live unbound variables // If resolver is not provided it uses the previous approach // and respects auto assignment and offsets. From 02bc074ac4ad5f6927f75712476b0cd7d9bbd3f7 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 13 Sep 2024 13:31:45 -0700 Subject: [PATCH 081/108] Update tests to use the new iomapper interface This updates the test to use the new public GetGlslIoMapper() and TProgram::getGlslIoResolver() entry points, instead of depending on internal points that are not available in shared library builds. --- gtests/GlslMapIO.FromFile.cpp | 18 ++++++++++-------- gtests/VkRelaxed.FromFile.cpp | 18 ++++++++++-------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/gtests/GlslMapIO.FromFile.cpp b/gtests/GlslMapIO.FromFile.cpp index 1ad9e029..855a2af2 100644 --- a/gtests/GlslMapIO.FromFile.cpp +++ b/gtests/GlslMapIO.FromFile.cpp @@ -285,19 +285,21 @@ TEST_P(GlslMapIOTest, FromFile) result.linkingOutput = program.getInfoLog(); result.linkingError = program.getInfoDebugLog(); - unsigned int stage = 0; - glslang::TIntermediate* firstIntermediate = nullptr; - while (!program.getIntermediate((EShLanguage)stage) && stage < EShLangCount) { stage++; } - firstIntermediate = program.getIntermediate((EShLanguage)stage); - - glslang::TDefaultGlslIoResolver resolver(*firstIntermediate); - glslang::TGlslIoMapper ioMapper; + glslang::TIoMapResolver *resolver; + for (unsigned stage = 0; stage < EShLangCount; stage++) { + resolver = program.getGlslIoResolver((EShLanguage)stage); + if (resolver) + break; + } + glslang::TIoMapper *ioMapper = glslang::GetGlslIoMapper(); if (success) { - success &= program.mapIO(&resolver, &ioMapper); + success &= program.mapIO(resolver, ioMapper); result.linkingOutput = program.getInfoLog(); result.linkingError = program.getInfoDebugLog(); } + delete ioMapper; + delete resolver; success &= verifyIOMapping(result.linkingError, program); result.validationResult = success; diff --git a/gtests/VkRelaxed.FromFile.cpp b/gtests/VkRelaxed.FromFile.cpp index 6e31974a..8b8a628a 100644 --- a/gtests/VkRelaxed.FromFile.cpp +++ b/gtests/VkRelaxed.FromFile.cpp @@ -237,19 +237,21 @@ TEST_P(VulkanRelaxedTest, FromFile) shaders[i]->setResourceSetBinding(resourceSetBindings[i]); } - unsigned int stage = 0; - glslang::TIntermediate* firstIntermediate = nullptr; - while (!program.getIntermediate((EShLanguage)stage) && stage < EShLangCount) { stage++; } - firstIntermediate = program.getIntermediate((EShLanguage)stage); - - glslang::TDefaultGlslIoResolver resolver(*firstIntermediate); - glslang::TGlslIoMapper ioMapper; + glslang::TIoMapResolver *resolver; + for (unsigned stage = 0; stage < EShLangCount; stage++) { + resolver = program.getGlslIoResolver((EShLanguage)stage); + if (resolver) + break; + } + glslang::TIoMapper *ioMapper = glslang::GetGlslIoMapper(); if (success) { - success &= program.mapIO(&resolver, &ioMapper); + success &= program.mapIO(resolver, ioMapper); result.linkingOutput = program.getInfoLog(); result.linkingError = program.getInfoDebugLog(); } + delete ioMapper; + delete resolver; success &= verifyIOMapping(result.linkingError, program); result.validationResult = success; From 9213cbd310bcfd2067248b1587b0e8820e7cb9bb Mon Sep 17 00:00:00 2001 From: Andrei Alexeyev Date: Sun, 15 Sep 2024 18:21:38 +0200 Subject: [PATCH 082/108] Expose setResourceSetBinding() method to the C API --- glslang/CInterface/glslang_c_interface.cpp | 11 +++++++++++ glslang/Include/glslang_c_interface.h | 1 + 2 files changed, 12 insertions(+) diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp index a7d08744..465b3ee1 100644 --- a/glslang/CInterface/glslang_c_interface.cpp +++ b/glslang/CInterface/glslang_c_interface.cpp @@ -63,6 +63,7 @@ static_assert(sizeof(glslang_version_t) == sizeof(glslang::Version), ""); typedef struct glslang_shader_s { glslang::TShader* shader; std::string preprocessedGLSL; + std::vector baseResourceSetBinding; } glslang_shader_t; typedef struct glslang_program_s { @@ -389,6 +390,16 @@ GLSLANG_EXPORT void glslang_shader_set_default_uniform_block_name(glslang_shader shader->shader->setGlobalUniformBlockName(name); } +GLSLANG_EXPORT void glslang_shader_set_resource_set_binding(glslang_shader_t* shader, const char *const *bindings, unsigned int num_bindings) { + shader->baseResourceSetBinding.clear(); + + for (unsigned int i = 0; i < num_bindings; ++i) { + shader->baseResourceSetBinding.push_back(std::string(bindings[i])); + } + + shader->shader->setResourceSetBinding(shader->baseResourceSetBinding); +} + GLSLANG_EXPORT const char* glslang_shader_get_preprocessed_code(glslang_shader_t* shader) { return shader->preprocessedGLSL.c_str(); diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h index cbf10b45..bfe06522 100644 --- a/glslang/Include/glslang_c_interface.h +++ b/glslang/Include/glslang_c_interface.h @@ -259,6 +259,7 @@ GLSLANG_EXPORT void glslang_shader_set_options(glslang_shader_t* shader, int opt GLSLANG_EXPORT void glslang_shader_set_glsl_version(glslang_shader_t* shader, int version); GLSLANG_EXPORT void glslang_shader_set_default_uniform_block_set_and_binding(glslang_shader_t* shader, unsigned int set, unsigned int binding); GLSLANG_EXPORT void glslang_shader_set_default_uniform_block_name(glslang_shader_t* shader, const char *name); +GLSLANG_EXPORT void glslang_shader_set_resource_set_binding(glslang_shader_t* shader, const char *const *bindings, unsigned int num_bindings); GLSLANG_EXPORT int glslang_shader_preprocess(glslang_shader_t* shader, const glslang_input_t* input); GLSLANG_EXPORT int glslang_shader_parse(glslang_shader_t* shader, const glslang_input_t* input); GLSLANG_EXPORT const char* glslang_shader_get_preprocessed_code(glslang_shader_t* shader); From e611e990372368f51ebbbcd1c85eb9e9f0a40528 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 06:40:54 +0000 Subject: [PATCH 083/108] Bump github/codeql-action from 3.26.6 to 3.26.7 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.6 to 3.26.7. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/4dd16135b69a43b6c8efb853346f8437d92d3c93...8214744c546c1e5c8f03dde8fab3a7353211988d) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 5861285c..7424d864 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6 + uses: github/codeql-action/upload-sarif@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7 with: sarif_file: results.sarif From d7a3dc619e28e1957e6f938b3d154dcf851e86e8 Mon Sep 17 00:00:00 2001 From: Yuxin Hu Date: Sun, 15 Sep 2024 21:09:33 -0700 Subject: [PATCH 084/108] Fix gn build error After commit d7d5ab8, projects based on gn builds failed when running command: gn gen out/ --check ``` ERROR at //third_party/glslang/src/glslang/Public/ResourceLimits.h:41:11: Include not allowed. ^---------------------- It is not in any dependency of //third_party/glslang/src:glslang_default_resource_limits_sources ``` Add the visibility.h to the build target glslang_default_resource_limits_sources to fix the error. --- BUILD.gn | 1 + 1 file changed, 1 insertion(+) diff --git a/BUILD.gn b/BUILD.gn index 383864c0..b055c1a2 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -302,6 +302,7 @@ source_set("glslang_default_resource_limits_sources") { "glslang/ResourceLimits/ResourceLimits.cpp", "glslang/Public/ResourceLimits.h", "glslang/Include/ResourceLimits.h", + "glslang/Include/visibility.h", ] public_configs = [ ":glslang_public" ] From ec7e23f4580e151d0449b6cdeee52a47bf47bb82 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Wed, 18 Sep 2024 12:36:54 -0400 Subject: [PATCH 085/108] Final round of symbol visibility fixes This change adds GLSLANG_EXPORT in a couple more places, as well as adding a new symbol visibility annotation GLSLANG_EXPORT_FOR_TESTS which is defined the same as GLSLANG_EXPORT but documents the intention that the symbols marked with it are only meant to be used by glslang's test suite and do not form part of the public API and are thus not subject to ABI stability guarantees. --- SPIRV/Logger.h | 4 ++-- glslang/Include/visibility.h | 5 ++++- glslang/MachineIndependent/localintermediate.h | 1 + glslang/MachineIndependent/reflection.h | 5 +++-- glslang/OSDependent/osinclude.h | 3 ++- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/SPIRV/Logger.h b/SPIRV/Logger.h index dece1c4b..c64a3b8a 100644 --- a/SPIRV/Logger.h +++ b/SPIRV/Logger.h @@ -43,7 +43,7 @@ namespace spv { // A class for holding all SPIR-V build status messages, including // missing/TBD functionalities, warnings, and errors. -class SpvBuildLogger { +class GLSLANG_EXPORT SpvBuildLogger { public: SpvBuildLogger() {} @@ -59,7 +59,7 @@ public: // Returns all messages accumulated in the order of: // TBD functionalities, missing functionalities, warnings, errors. - GLSLANG_EXPORT std::string getAllMessages() const; + std::string getAllMessages() const; private: SpvBuildLogger(const SpvBuildLogger&); diff --git a/glslang/Include/visibility.h b/glslang/Include/visibility.h index d6b6bb34..9bb8f3fa 100644 --- a/glslang/Include/visibility.h +++ b/glslang/Include/visibility.h @@ -48,4 +48,7 @@ #define GLSLANG_EXPORT #endif - +// Symbols marked with this macro are only meant for public use by the test suite +// and do not appear in publicly installed headers. They are not considered to be +// part of the glslang library ABI. +#define GLSLANG_EXPORT_FOR_TESTS GLSLANG_EXPORT diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h index 390a405f..80638a6b 100644 --- a/glslang/MachineIndependent/localintermediate.h +++ b/glslang/MachineIndependent/localintermediate.h @@ -1063,6 +1063,7 @@ public: int checkLocationRT(int set, int location); int addUsedOffsets(int binding, int offset, int numOffsets); bool addUsedConstantId(int id); + GLSLANG_EXPORT_FOR_TESTS static int computeTypeLocationSize(const TType&, EShLanguage); static int computeTypeUniformLocationSize(const TType&); diff --git a/glslang/MachineIndependent/reflection.h b/glslang/MachineIndependent/reflection.h index 221d93f8..8315b112 100644 --- a/glslang/MachineIndependent/reflection.h +++ b/glslang/MachineIndependent/reflection.h @@ -37,8 +37,8 @@ #define _REFLECTION_INCLUDED #include "../Public/ShaderLang.h" -#include "../Include/Types.h" - +#include "../Include/BaseTypes.h" +#include "../Include/visibility.h" #include #include @@ -65,6 +65,7 @@ public: virtual ~TReflection() {} // grow the reflection stage by stage + GLSLANG_EXPORT_FOR_TESTS bool addStage(EShLanguage, const TIntermediate&); // for mapping a uniform index to a uniform object's description diff --git a/glslang/OSDependent/osinclude.h b/glslang/OSDependent/osinclude.h index 0d677e4a..da1c4f69 100644 --- a/glslang/OSDependent/osinclude.h +++ b/glslang/OSDependent/osinclude.h @@ -35,9 +35,10 @@ #ifndef __OSINCLUDE_H #define __OSINCLUDE_H +#include "../Include/visibility.h" namespace glslang { -void OS_DumpMemoryCounters(); +GLSLANG_EXPORT void OS_DumpMemoryCounters(); } // end namespace glslang From 3dde7d5fa8b4a3059a529d6a33273468d729440c Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Wed, 18 Sep 2024 12:39:16 -0400 Subject: [PATCH 086/108] cmake: Fix symbol visibility on Linux. Use the correct cmake property to set hidden visibility for shared libraries. --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e8216205..dc3fb4b9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -267,7 +267,8 @@ endfunction() function(glslang_only_export_explicit_symbols target) if(BUILD_SHARED_LIBS) target_compile_definitions(${target} PUBLIC "GLSLANG_IS_SHARED_LIBRARY=1") - set_target_properties(${target} PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden) + set_target_properties(${target} PROPERTIES CXX_VISIBILITY_PRESET hidden) + set_target_properties(${target} PROPERTIES C_VISIBILITY_PRESET hidden) if(WIN32) target_compile_definitions(${target} PRIVATE "GLSLANG_EXPORTING=1") endif() From c5b76b78c9dec95251e9c1840a671e19bf61abe3 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Wed, 18 Sep 2024 18:38:07 -0400 Subject: [PATCH 087/108] Add CI testing for shared library builds Testing is disabled on Windows for now due to DLL search path issues. --- .github/workflows/continuous_integration.yml | 77 ++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index b8b6b288..9cfd998b 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -44,6 +44,39 @@ jobs: - name: Check known validation failure list run: grep -l 'Validation failed' Test/baseResults/* | sort -fd | diff -u Test/baseResults/validation_fails.txt - + linux-shared: + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + compiler: [{cc: clang, cxx: clang++}, {cc: gcc, cxx: g++}] + cmake_build_type: [Release] + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 + with: + python-version: '3.7' + - name: Setup ccache + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 + with: + key: ubuntu-22-${{ matrix.cmake_build_type }}-${{ matrix.compiler.cc }}-${{matrix.compiler.cxx}} + - run: ./update_glslang_sources.py + - name: Configure + run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }} -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON -DBUILD_SHARED_LIBS=ON + env: + CC: ${{matrix.compiler.cc}} + CXX: ${{matrix.compiler.cxx}} + CMAKE_GENERATOR: Ninja + CMAKE_C_COMPILER_LAUNCHER: ccache + CMAKE_CXX_COMPILER_LAUNCHER: ccache + - name: Build + run: cmake --build build + - name: Install + run: cmake --install build --prefix build/install + - name: Test + run: ctest --output-on-failure --test-dir build + linux-asan: runs-on: ubuntu-22.04 strategy: @@ -135,6 +168,26 @@ jobs: - run: cmake --install build --prefix build/install - run: ctest --output-on-failure --test-dir build + macos-shared: + runs-on: ${{matrix.os}} + strategy: + fail-fast: false + matrix: + os: [macos-14] + compiler: [{cc: clang, cxx: clang++}] + cmake_build_type: [Release] + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - run: ./update_glslang_sources.py + - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON -DBUILD_SHARED_LIBS=ON + env: + CC: ${{matrix.compiler.cc}} + CXX: ${{matrix.compiler.cxx}} + - run: cmake --build build + - run: cmake --install build --prefix build/install + - run: ctest --output-on-failure --test-dir build + windows: runs-on: ${{matrix.os.genus}} permissions: @@ -158,6 +211,30 @@ jobs: - name: Test run: ctest -C ${{matrix.cmake_build_type}} --output-on-failure --test-dir build + windows-shared: + runs-on: ${{matrix.os.genus}} + permissions: + contents: write + strategy: + fail-fast: false + matrix: + os: [{genus: windows-2019, family: windows}] + cmake_build_type: [Debug, Release] + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 + with: + python-version: '3.7' + - run: python update_glslang_sources.py + - name: Build + run: | + cmake -S. -Bbuild -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX="$PWD/build/install" -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON -DBUILD_SHARED_LIBS=ON + cmake --build build --config ${{matrix.cmake_build_type}} --target install + # disabled until we figure out DLL issues. + # - name: Test + # run: ctest -C ${{matrix.cmake_build_type}} --output-on-failure --test-dir build + iOS: runs-on: macos-13 steps: From 3e7831ba12e2c030be2b9b279312858cb6520d52 Mon Sep 17 00:00:00 2001 From: Shahbaz Youssefi Date: Fri, 20 Sep 2024 16:35:33 -0400 Subject: [PATCH 088/108] Fix SPIR-V support in GN build The cmake build recently got ENABLE_SPIRV which is enabled by default. This was missing from the GN build, accidentally removing SPIR-V support in this build. --- BUILD.gn | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index b055c1a2..894cd95b 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -235,7 +235,7 @@ template("glslang_sources_common") { ] } - defines = [] + defines = [ "ENABLE_SPIRV=1" ] if (invoker.enable_opt) { sources += [ "SPIRV/SpvTools.cpp" ] defines += [ "ENABLE_OPT=1" ] @@ -318,7 +318,10 @@ executable("glslang_validator") { if (!is_win) { cflags = [ "-Woverflow" ] } - defines = [ "ENABLE_OPT=1" ] + defines = [ + "ENABLE_OPT=1", + "ENABLE_SPIRV=1", + ] deps = [ ":glslang_build_info", ":glslang_default_resource_limits_sources", @@ -338,7 +341,10 @@ executable("glslang_validator") { executable("spirv-remap") { sources = [ "StandAlone/spirv-remap.cpp" ] - defines = [ "ENABLE_OPT=1" ] + defines = [ + "ENABLE_OPT=1", + "ENABLE_SPIRV=1", + ] deps = [ ":glslang_sources" ] include_dirs = [ "${spirv_tools_dir}/include" ] From 467ce01c71e38cf01814c48987a5c0dadd914df4 Mon Sep 17 00:00:00 2001 From: Jeremy Hayes Date: Fri, 20 Sep 2024 15:10:23 -0600 Subject: [PATCH 089/108] Update known_good.json --- known_good.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/known_good.json b/known_good.json index b062866a..1108a920 100644 --- a/known_good.json +++ b/known_good.json @@ -5,14 +5,14 @@ "site" : "github", "subrepo" : "KhronosGroup/SPIRV-Tools", "subdir" : "External/spirv-tools", - "commit": "0cfe9e7219148716dfd30b37f4d21753f098707a" + "commit": "6dcc7e350a0b9871a825414d42329e44b0eb8109" }, { "name" : "spirv-tools/external/spirv-headers", "site" : "github", "subrepo" : "KhronosGroup/SPIRV-Headers", "subdir" : "External/spirv-tools/external/spirv-headers", - "commit" : "2acb319af38d43be3ea76bfabf3998e5281d8d12" + "commit" : "2a9b6f951c7d6b04b6c21fe1bf3f475b68b84801" }, { "name": "googletest", From 15ebcea6765610c1faced0a9c71842446325149b Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 20 Sep 2024 17:53:58 -0400 Subject: [PATCH 090/108] Print an error when SPIR-V is requested and ENABLE_SPIRV=0 is set This case fails slightly less silently now. Also make ENABLE_OPT depend on ENABLE_SPIRV, since when there's no SPIR-V optimization doesn't really make sense. --- CMakeLists.txt | 2 +- StandAlone/StandAlone.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dc3fb4b9..1b97ecd5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -115,7 +115,7 @@ CMAKE_DEPENDENT_OPTION(ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE option(ENABLE_HLSL "Enables HLSL input support" ON) option(ENABLE_RTTI "Enables RTTI") option(ENABLE_EXCEPTIONS "Enables Exceptions") -option(ENABLE_OPT "Enables spirv-opt capability if present" ON) +CMAKE_DEPENDENT_OPTION(ENABLE_OPT "Enables spirv-opt capability if present" ON "ENABLE_SPIRV" OFF) if(MINGW OR (APPLE AND ${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")) # Workaround for CMake behavior on Mac OS with gcc, cmake generates -Xarch_* arguments diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp index 9c3beac9..3288b887 100644 --- a/StandAlone/StandAlone.cpp +++ b/StandAlone/StandAlone.cpp @@ -1507,9 +1507,9 @@ void CompileAndLinkShaderUnits(std::vector compUnits) std::vector outputFiles; -#ifdef ENABLE_SPIRV // Dump SPIR-V if (Options & EOptionSpv) { +#ifdef ENABLE_SPIRV CompileOrLinkFailed.fetch_or(CompileFailed); CompileOrLinkFailed.fetch_or(LinkFailed); if (static_cast(CompileOrLinkFailed.load())) @@ -1569,8 +1569,10 @@ void CompileAndLinkShaderUnits(std::vector compUnits) } } } - } +#else + Error("This configuration of glslang does not have SPIR-V support"); #endif + } CompileOrLinkFailed.fetch_or(CompileFailed); CompileOrLinkFailed.fetch_or(LinkFailed); From 96899e0f47045846b3b77cd9a9710c6366d9f859 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Sep 2024 06:36:03 +0000 Subject: [PATCH 091/108] Bump github/codeql-action from 3.26.7 to 3.26.8 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.7 to 3.26.8. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/8214744c546c1e5c8f03dde8fab3a7353211988d...294a9d92911152fe08befb9ec03e240add280cb3) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 7424d864..2419a345 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7 + uses: github/codeql-action/upload-sarif@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8 with: sarif_file: results.sarif From 4a9f08891540263e19c2468dd602ffdd8c446390 Mon Sep 17 00:00:00 2001 From: Malcolm Bechard Date: Tue, 24 Sep 2024 22:23:11 -0400 Subject: [PATCH 092/108] a few more tweaks for #3681 expose TIoMapper::setAutoPushConstantBlock() add overload for MapToSpirvToolsEnv() that takes TIntermediate instead of SpvVersion. --- SPIRV/SpvTools.cpp | 5 +++++ SPIRV/SpvTools.h | 1 + glslang/Include/Types.h | 15 --------------- glslang/MachineIndependent/iomapper.h | 3 ++- glslang/Public/ShaderLang.h | 16 ++++++++++++++++ 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp index 6360ab49..12f94b83 100644 --- a/SPIRV/SpvTools.cpp +++ b/SPIRV/SpvTools.cpp @@ -82,6 +82,11 @@ spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLog return spv_target_env::SPV_ENV_UNIVERSAL_1_0; } +spv_target_env MapToSpirvToolsEnv(const glslang::TIntermediate& intermediate, spv::SpvBuildLogger* logger) +{ + return MapToSpirvToolsEnv(intermediate.getSpv(), logger); +} + // Callback passed to spvtools::Optimizer::SetMessageConsumer void OptimizerMesssageConsumer(spv_message_level_t level, const char *source, const spv_position_t &position, const char *message) diff --git a/SPIRV/SpvTools.h b/SPIRV/SpvTools.h index a2384270..45585723 100644 --- a/SPIRV/SpvTools.h +++ b/SPIRV/SpvTools.h @@ -61,6 +61,7 @@ class TIntermediate; // Translate glslang's view of target versioning to what SPIRV-Tools uses. GLSLANG_EXPORT spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLogger* logger); +GLSLANG_EXPORT spv_target_env MapToSpirvToolsEnv(const glslang::TIntermediate& intermediate, spv::SpvBuildLogger* logger); // Use the SPIRV-Tools disassembler to print SPIR-V using a SPV_ENV_UNIVERSAL_1_3 environment. GLSLANG_EXPORT void SpirvToolsDisassemble(std::ostream& out, const std::vector& spirv); diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h index 23262285..ec6b1db8 100644 --- a/glslang/Include/Types.h +++ b/glslang/Include/Types.h @@ -307,21 +307,6 @@ typedef TVector TTypeList; typedef TVector TIdentifierList; -// -// Following are a series of helper enums for managing layouts and qualifiers, -// used for TPublicType, TType, others. -// - -enum TLayoutPacking { - ElpNone, - ElpShared, // default, but different than saying nothing - ElpStd140, - ElpStd430, - ElpPacked, - ElpScalar, - ElpCount // If expanding, see bitfield width below -}; - enum TLayoutMatrix { ElmNone, ElmRowMajor, diff --git a/glslang/MachineIndependent/iomapper.h b/glslang/MachineIndependent/iomapper.h index 86c9e87b..ef513d9a 100644 --- a/glslang/MachineIndependent/iomapper.h +++ b/glslang/MachineIndependent/iomapper.h @@ -196,10 +196,11 @@ public: virtual ~TGlslIoMapper(); // If set, the uniform block with the given name will be changed to be backed by // push_constant if it's size is <= maxSize - void setAutoPushConstantBlock(const char* name, unsigned int maxSize, TLayoutPacking packing) { + bool setAutoPushConstantBlock(const char* name, unsigned int maxSize, TLayoutPacking packing) override { autoPushConstantBlockName = name; autoPushConstantMaxSize = maxSize; autoPushConstantBlockPacking = packing; + return true; } // grow the reflection stage by stage bool addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*) override; diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h index 5e3ab581..b105b5c9 100644 --- a/glslang/Public/ShaderLang.h +++ b/glslang/Public/ShaderLang.h @@ -173,6 +173,21 @@ typedef enum { LAST_ELEMENT_MARKER(EShTargetLanguageVersionCount = 7), } EShTargetLanguageVersion; +// +// Following are a series of helper enums for managing layouts and qualifiers, +// used for TPublicType, TType, others. +// + +enum TLayoutPacking { + ElpNone, + ElpShared, // default, but different than saying nothing + ElpStd140, + ElpStd430, + ElpPacked, + ElpScalar, + ElpCount // If expanding, see bitfield width below +}; + struct TInputLanguage { EShSource languageFamily; // redundant information with other input, this one overrides when not EShSourceNone EShLanguage stage; // redundant information with other input, this one overrides when not EShSourceNone @@ -847,6 +862,7 @@ public: // grow the reflection stage by stage bool virtual addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*); bool virtual doMap(TIoMapResolver*, TInfoSink&) { return true; } + bool virtual setAutoPushConstantBlock(const char*, unsigned int, TLayoutPacking) { return false; } }; // Get the default GLSL IO mapper From 46ef757e048e760b46601e6e77ae0cb72c97bd2f Mon Sep 17 00:00:00 2001 From: Jeremy Hayes Date: Mon, 23 Sep 2024 15:46:01 -0600 Subject: [PATCH 093/108] Update CHANGES for 15.0.0 --- CHANGES.md | 35 +++++++++++++++++++++++++++++++++++ README.md | 8 ++++---- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 5dd05bb0..60a7667a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,41 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/). +## 15.0.0 2024-09-23 +### Breaking changes +* Explicitly export all symbols that are part of the public API and hide other symbols by default + +### Other changes +* Allow building glslang without the SPIR-V backend using the new ENABLE_SPIRV build option +* Add setResourceSetBinding method to the API +* Add interface to get the GLSL IO mapper and resolver +* Allow compute derivative modes when the workgroup dimensions are spec constants +* Improve debug location of branch/return instructions +* Silence preprocessor '#' error reporting in inactive #if/#ifdef/#elif/#else blocks +* Apply GLSL memory decorations to top-level OpVariable +* Move definition of GLSLANG_EXPORT to visibility.h +* Merge ancillary libraries into main glslang library and stub originals +* Add public setSourceFile and addSourceText methods to TShader class +* Add type checks for hitObjectNV +* Add optimizerAllowExpandedIDBound to SpvOptions +* Add SpvTools.h back to public headers +* Add cross-stage check for missing outputs +* Fix HLSL offsets for non-buffers +* Add types and functions for IO mapping to API +* Add function to set preprocessed code to API +* Add set/get version functions to API +* Expose setGlobalUniform functions to API +* Don't emit debug instructions before an OpPhi +* Add command-line and API option to enable reporting column location for compiler errors +* Improve location aliasing checks +* Support constant expression calculated by matrixCompMult +* Fix crash caused by atomicCounter() use without arguments +* Fix multi-line function call line numbers +* Add line info to OpDebugDeclare for function parameters +* Fix HLSL OpDebugFunction file name +* Fix duplicate decorations +* Enable compilation of glslang without thread support for WASI + ## 14.3.0 2024-06-25 * Generate vector constructions more efficiently when sizes match * Skip identity conversions for 8-bit and 16-bit types diff --git a/README.md b/README.md index e7a84fe1..8c740ef4 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,13 @@ # News -1. The `GenericCodeGen`, `MachineIndependent`, `OSDependent`, and `SPIRV` libraries have been integrated into the main `glslang` library. The old separate libraries have replaced with empty stubs for a temporary compatibility period, and they will be removed entirely in the future. +1. Building glslang as a DLL or shared library is now possible and supported. -2. A new CMake `ENABLE_SPIRV` option has been added to control whether glslang is built with SPIR-V support. Its default value is `ON`. +2. The `GenericCodeGen`, `MachineIndependent`, `OSDependent`, and `SPIRV` libraries have been integrated into the main `glslang` library. The old separate libraries have replaced with empty stubs for a temporary compatibility period, and they will be removed entirely in the future. -3. `OGLCompiler` and `HLSL` stub libraries have been fully removed from the build. +3. A new CMake `ENABLE_SPIRV` option has been added to control whether glslang is built with SPIR-V support. Its default value is `ON`. -4. `OVERRIDE_MSVCCRT` has been removed in favor of `CMAKE_MSVC_RUNTIME_LIBRARY` +4. `OGLCompiler` and `HLSL` stub libraries have been fully removed from the build. Users are encouraged to utilize the standard approach via [CMAKE_MSVC_RUNTIME_LIBRARY](https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html). From ca04c2a16ac19ab7034193ecb7a5adc809418a8e Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Mon, 30 Sep 2024 12:53:27 -0500 Subject: [PATCH 094/108] Fix nonsemantic debuginfo line attribution for cooperative matrix * Generate debuginfo for coopmat types, treating them as an opaque composite. Restore the debug source location after calling convertGlslangToSpvType, fixes the line info in this unit test * Add a cooperative matrix test case, based on the shader from https://github.com/jeffbolznv/vk_cooperative_matrix_perf/blob/master/shaders/shmem.comp --- SPIRV/GlslangToSpv.cpp | 13 +- SPIRV/SpvBuilder.cpp | 37 ++ SPIRV/SpvBuilder.h | 1 + SPIRV/spirv.hpp | 14 + SPIRV/spvIR.h | 9 + .../spv.debuginfo.coopmatKHR.comp.out | 623 ++++++++++++++++++ Test/baseResults/spv.debuginfo.hlsl.vert.out | 30 +- Test/spv.debuginfo.coopmatKHR.comp | 87 +++ gtests/Spv.FromFile.cpp | 1 + 9 files changed, 797 insertions(+), 18 deletions(-) create mode 100644 Test/baseResults/spv.debuginfo.coopmatKHR.comp.out create mode 100644 Test/spv.debuginfo.coopmatKHR.comp diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index 50851889..00dbabba 100644 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -2858,9 +2858,16 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt // SPIR-V, for an out parameter std::vector temporaryLvalues; // temporaries to pass, as proxies for complexLValues - auto resultType = [&invertedType, &node, this](){ return invertedType != spv::NoType ? - invertedType : - convertGlslangToSpvType(node->getType()); }; + auto resultType = [&invertedType, &node, this](){ + if (invertedType != spv::NoType) { + return invertedType; + } else { + auto ret = convertGlslangToSpvType(node->getType()); + // convertGlslangToSpvType may clobber the debug location, reset it + builder.setDebugSourceLocation(node->getLoc().line, node->getLoc().getFilename()); + return ret; + } + }; // try texturing result = createImageTextureFunctionCall(node); diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index 41a6b3db..e4d81f95 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -439,6 +439,43 @@ Id Builder::makeCooperativeMatrixTypeKHR(Id component, Id scope, Id rows, Id col constantsTypesGlobals.push_back(std::unique_ptr(type)); module.mapInstruction(type); + if (emitNonSemanticShaderDebugInfo) + { + // Find a name for one of the parameters. It can either come from debuginfo for another + // type, or an OpName from a constant. + auto const findName = [&](Id id) { + Id id2 = debugId[id]; + for (auto &t : groupedDebugTypes[NonSemanticShaderDebugInfo100DebugTypeBasic]) { + if (t->getResultId() == id2) { + for (auto &s : strings) { + if (s->getResultId() == t->getIdOperand(2)) { + return s->getNameString(); + } + } + } + } + for (auto &t : names) { + if (t->getIdOperand(0) == id) { + return t->getNameString(); + } + } + return "unknown"; + }; + std::string debugName = "coopmat<"; + debugName += std::string(findName(component)) + ", "; + if (isConstantScalar(scope)) { + debugName += std::string("gl_Scope") + std::string(spv::ScopeToString((spv::Scope)getConstantScalar(scope))) + ", "; + } else { + debugName += std::string(findName(scope)) + ", "; + } + debugName += std::string(findName(rows)) + ", "; + debugName += std::string(findName(cols)) + ">"; + // There's no nonsemantic debug info instruction for cooperative matrix types, + // use opaque composite instead. + auto const debugResultId = makeCompositeDebugType({}, debugName.c_str(), NonSemanticShaderDebugInfo100Structure, true); + debugId[type->getResultId()] = debugResultId; + } + return type->getResultId(); } diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h index 61b6aa57..2fd9dd80 100644 --- a/SPIRV/SpvBuilder.h +++ b/SPIRV/SpvBuilder.h @@ -48,6 +48,7 @@ #define SpvBuilder_H #include "Logger.h" +#define SPV_ENABLE_UTILITY_CODE #include "spirv.hpp" #include "spvIR.h" namespace spv { diff --git a/SPIRV/spirv.hpp b/SPIRV/spirv.hpp index b09d99be..157fee19 100644 --- a/SPIRV/spirv.hpp +++ b/SPIRV/spirv.hpp @@ -2772,6 +2772,20 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { case OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break; } } + +inline const char* ScopeToString(Scope value) { + switch (value) { + case ScopeCrossDevice: return "CrossDevice"; + case ScopeDevice: return "Device"; + case ScopeWorkgroup: return "Workgroup"; + case ScopeSubgroup: return "Subgroup"; + case ScopeInvocation: return "Invocation"; + case ScopeQueueFamily: return "QueueFamily"; + case ScopeShaderCallKHR: return "ShaderCallKHR"; + default: return "Unknown"; + } +} + #endif /* SPV_ENABLE_UTILITY_CODE */ // Overload bitwise operators for mask bit combining diff --git a/SPIRV/spvIR.h b/SPIRV/spvIR.h index bd639d8f..e723f0e1 100644 --- a/SPIRV/spvIR.h +++ b/SPIRV/spvIR.h @@ -189,6 +189,15 @@ public: out.push_back(operands[op]); } + const char *getNameString() const { + if (opCode == OpString) { + return (const char *)&operands[0]; + } else { + assert(opCode == OpName); + return (const char *)&operands[1]; + } + } + protected: Instruction(const Instruction&); Id resultId; diff --git a/Test/baseResults/spv.debuginfo.coopmatKHR.comp.out b/Test/baseResults/spv.debuginfo.coopmatKHR.comp.out new file mode 100644 index 00000000..bc527594 --- /dev/null +++ b/Test/baseResults/spv.debuginfo.coopmatKHR.comp.out @@ -0,0 +1,623 @@ +spv.debuginfo.coopmatKHR.comp +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 380 + + Capability Shader + Capability Float16 + Capability StorageUniformBufferBlock16 + Capability VulkanMemoryModelKHR + Capability CooperativeMatrixKHR + Extension "SPV_KHR_16bit_storage" + Extension "SPV_KHR_cooperative_matrix" + Extension "SPV_KHR_non_semantic_info" + Extension "SPV_KHR_storage_buffer_storage_class" + Extension "SPV_KHR_vulkan_memory_model" + 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" + 3: ExtInstImport "GLSL.std.450" + MemoryModel Logical VulkanKHR + EntryPoint GLCompute 14 "main" + ExecutionMode 14 LocalSize 1 1 1 + 2: String "spv.debuginfo.coopmatKHR.comp" + 8: String "uint" + 16: String "main" + 19: String "// OpModuleProcessed auto-map-locations +// OpModuleProcessed auto-map-bindings +// OpModuleProcessed client vulkan100 +// OpModuleProcessed target-env vulkan1.0 +// OpModuleProcessed keep-uncalled +// OpModuleProcessed entry-point main +// OpModuleProcessed use-vulkan-memory-model +// OpModuleProcessed use-vulkan-memory-model +// OpModuleProcessed use-vulkan-memory-model +// OpModuleProcessed use-vulkan-memory-model +#line 1 +/* + * Copyright (c) 2019-2024, NVIDIA CORPORATION. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +#version 450 core +#pragma use_vulkan_memory_model +#extension GL_EXT_scalar_block_layout : enable +#extension GL_KHR_memory_scope_semantics : enable +#extension GL_KHR_cooperative_matrix : enable +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#extension GL_EXT_shader_explicit_arithmetic_types_int8 : enable +#extension GL_EXT_shader_explicit_arithmetic_types_int32 : enable +#extension GL_EXT_buffer_reference : enable +#extension GL_EXT_control_flow_attributes : enable + +layout(constant_id = 0) const uint lM = 1; +layout(constant_id = 1) const uint lN = 1; +layout(constant_id = 2) const uint lK = 1; +layout(constant_id = 3) const uint TILE_M = 1; +layout(constant_id = 4) const uint TILE_N = 1; +layout(constant_id = 5) const uint TILE_K = 1; +layout(constant_id = 6) const uint K = 1; + +#define A_BITS 16 +#define A_TYPE float16_t +#define C_BITS 16 +#define C_TYPE float16_t + +buffer Output { C_TYPE x[]; } outputO; + +shared uvec4 Ash[128]; +shared uvec4 Bsh[128]; + +const uint C_ROWS = 2; +const uint C_COLS = 2; +coopmat result[C_ROWS][C_COLS]; + +void main() +{ + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + [[unroll]] for (uint j = 0; j < C_COLS; ++j) { + result[i][j] = coopmat(0.0); + } + } + + for (uint chunkK = 0; chunkK < K; chunkK += TILE_K) { + [[unroll]] for (uint k = 0; k < TILE_K / lK; ++k) + { + coopmat matA[C_ROWS]; + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + coopMatLoad(matA[i], Ash, 0, 0, gl_CooperativeMatrixLayoutRowMajor); + } + + coopmat matB; + [[unroll]] for (uint j = 0; j < C_COLS; ++j) { + coopMatLoad(matB, Bsh, 0, 0, gl_CooperativeMatrixLayoutRowMajor); + + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + result[i][j] = coopMatMulAdd(matA[i], matB, result[i][j]); + } + } + } + } + + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + [[unroll]] for (uint j = 0; j < C_COLS; ++j) { + coopMatStore(result[i][j], outputO.x, 0, 0, gl_CooperativeMatrixLayoutRowMajor); + } + } +} +" + 33: String "i" + 49: String "bool" + 54: String "j" + 71: String "float16_t" + 78: String "coopmat" + 80: String "@coopmat" + 90: String "result" + 106: String "int" + 116: String "chunkK" + 135: String "k" + 173: String "coopmat" + 175: String "@coopmat" + 180: String "tempArg" + 193: String "Ash" + 207: String "matA" + 237: String "coopmat" + 239: String "@coopmat" + 249: String "Bsh" + 256: String "matB" + 353: String "x" + 357: String "Output" + 363: String "outputO" + SourceExtension "GL_EXT_buffer_reference" + SourceExtension "GL_EXT_control_flow_attributes" + SourceExtension "GL_EXT_scalar_block_layout" + SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16" + SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int32" + SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8" + SourceExtension "GL_KHR_cooperative_matrix" + SourceExtension "GL_KHR_memory_scope_semantics" + Name 14 "main" + Name 31 "i" + Name 52 "j" + Name 74 "lM" + Name 75 "lN" + Name 88 "result" + Name 114 "chunkK" + Name 131 "K" + Name 133 "k" + Name 150 "TILE_K" + Name 151 "lK" + Name 154 "i" + Name 178 "tempArg" + Name 191 "Ash" + Name 205 "matA" + Name 218 "j" + Name 242 "tempArg" + Name 247 "Bsh" + Name 254 "matB" + Name 261 "i" + Name 308 "i" + Name 325 "j" + Name 351 "Output" + MemberName 351(Output) 0 "x" + Name 361 "outputO" + Name 378 "TILE_M" + Name 379 "TILE_N" + Decorate 74(lM) SpecId 0 + Decorate 75(lN) SpecId 1 + Decorate 131(K) SpecId 6 + Decorate 150(TILE_K) SpecId 5 + Decorate 151(lK) SpecId 2 + Decorate 349 ArrayStride 2 + Decorate 351(Output) Block + MemberDecorate 351(Output) 0 Offset 0 + Decorate 361(outputO) Binding 0 + Decorate 361(outputO) DescriptorSet 0 + Decorate 378(TILE_M) SpecId 3 + Decorate 379(TILE_N) SpecId 4 + 4: TypeVoid + 5: TypeFunction 4 + 7: TypeInt 32 0 + 10: 7(int) Constant 32 + 11: 7(int) Constant 6 + 12: 7(int) Constant 0 + 9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12 + 13: 7(int) Constant 3 + 6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 + 18: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 19 + 20: 7(int) Constant 55 + 22: 7(int) Constant 1 + 23: 7(int) Constant 4 + 24: 7(int) Constant 2 + 21: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 22 23 18 24 + 17: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 16 6 18 20 12 21 16 13 20 + 28: TypePointer Function 7(int) + 29: 7(int) Constant 7 + 30: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 29 12 + 34: 7(int) Constant 57 + 32: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 33 9 18 34 12 17 23 + 36: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) + 48: TypeBool + 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 49 10 24 12 + 55: 7(int) Constant 58 + 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 54 9 18 55 12 17 23 + 70: TypeFloat 16 + 73: 7(int) Constant 16 + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 71 73 13 12 + 74(lM): 7(int) SpecConstant 1 + 75(lN): 7(int) SpecConstant 1 + 76: TypeCooperativeMatrixKHR 70(float16_t) 13 74(lM) 75(lN) 24 + 79: 7(int) Constant 53 + 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 78 22 18 79 12 21 80 81 13 + 82: TypeArray 76 24 + 83: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 77 24 + 84: TypeArray 82 24 + 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 83 24 + 86: TypePointer Private 84 + 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 85 11 12 + 88(result): 86(ptr) Variable Private + 91: 7(int) Constant 8 + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 90 85 18 79 12 21 90 88(result) 91 + 95: 7(int) Constant 59 + 97:70(float16_t) Constant 0 + 98: 76 ConstantComposite 97 + 99: TypePointer Private 76 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 77 11 12 + 105: TypeInt 32 1 + 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 106 10 23 12 + 108: 105(int) Constant 1 + 117: 7(int) Constant 63 + 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 116 9 18 117 12 17 23 + 131(K): 7(int) SpecConstant 1 + 136: 7(int) Constant 64 + 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 135 9 18 136 12 17 23 + 150(TILE_K): 7(int) SpecConstant 1 + 151(lK): 7(int) SpecConstant 1 + 152: 7(int) SpecConstantOp 134 150(TILE_K) 151(lK) + 156: 7(int) Constant 67 + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 33 9 18 156 12 17 23 + 171: TypeCooperativeMatrixKHR 70(float16_t) 13 74(lM) 151(lK) 12 + 174: 7(int) Constant 66 + 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 173 22 18 174 12 21 175 81 13 + 176: TypePointer Function 171 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 172 29 12 + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 180 172 18 174 12 17 23 + 184: TypeVector 7(int) 4 + 185: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 9 23 + 186: 7(int) Constant 128 + 187: TypeArray 184(ivec4) 186 + 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 185 186 + 189: TypePointer Workgroup 187 + 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 188 23 12 + 191(Ash): 189(ptr) Variable Workgroup + 194: 7(int) Constant 68 + 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 193 188 18 194 12 21 193 191(Ash) 91 + 195: TypePointer Workgroup 184(ivec4) + 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 185 23 12 + 199: 105(int) Constant 0 + 201: TypeArray 171 24 + 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 172 24 + 203: TypePointer Function 201 + 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 202 29 12 + 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 207 202 18 174 12 17 23 + 220: 7(int) Constant 72 + 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 54 9 18 220 12 17 23 + 235: TypeCooperativeMatrixKHR 70(float16_t) 13 151(lK) 75(lN) 22 + 238: 7(int) Constant 71 + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 237 22 18 238 12 21 239 81 13 + 240: TypePointer Function 235 + 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 236 29 12 + 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 180 236 18 238 12 17 23 + 247(Bsh): 189(ptr) Variable Workgroup + 250: 7(int) Constant 73 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 249 188 18 250 12 21 249 247(Bsh) 91 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 256 236 18 238 12 17 23 + 263: 7(int) Constant 75 + 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 33 9 18 263 12 17 23 + 280: 7(int) Constant 76 + 310: 7(int) Constant 82 + 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 33 9 18 310 12 17 23 + 327: 7(int) Constant 83 + 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 54 9 18 327 12 17 23 + 345: 7(int) Constant 84 + 349: TypeRuntimeArray 70(float16_t) + 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 72 12 + 351(Output): TypeStruct 349 + 354: 7(int) Constant 46 + 355: 7(int) Constant 24 + 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 353 350 18 354 355 12 12 13 + 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 357 22 18 345 12 21 357 12 13 352 + 358: TypePointer StorageBuffer 351(Output) + 359: 7(int) Constant 12 + 360: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 356 359 12 + 361(outputO): 358(ptr) Variable StorageBuffer + 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 363 356 18 345 12 21 363 361(outputO) 91 + 364: TypePointer StorageBuffer 70(float16_t) + 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 359 12 + 377: 7(int) Constant 87 + 378(TILE_M): 7(int) SpecConstant 1 + 379(TILE_N): 7(int) SpecConstant 1 + 14(main): 4 Function None 5 + 15: Label + 31(i): 28(ptr) Variable Function + 52(j): 28(ptr) Variable Function + 114(chunkK): 28(ptr) Variable Function + 133(k): 28(ptr) Variable Function + 154(i): 28(ptr) Variable Function + 178(tempArg): 176(ptr) Variable Function + 205(matA): 203(ptr) Variable Function + 218(j): 28(ptr) Variable Function + 242(tempArg): 240(ptr) Variable Function + 254(matB): 240(ptr) Variable Function + 261(i): 28(ptr) Variable Function + 308(i): 28(ptr) Variable Function + 325(j): 28(ptr) Variable Function + 26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 27: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 20 20 12 12 + 25: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 17 14(main) + 37: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 34 34 12 12 + 35: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 32 31(i) 36 + Store 31(i) 12 + Branch 38 + 38: Label + 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 34 34 12 12 + LoopMerge 40 41 Unroll + Branch 44 + 44: Label + 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 34 34 12 12 + 45: 7(int) Load 31(i) + 51: 48(bool) ULessThan 45 24 + BranchConditional 51 39 40 + 39: Label + 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 55 55 12 12 + 56: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 53 52(j) 36 + Store 52(j) 12 + Branch 59 + 59: Label + 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 55 55 12 12 + LoopMerge 61 62 Unroll + Branch 65 + 65: Label + 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 55 55 12 12 + 66: 7(int) Load 52(j) + 69: 48(bool) ULessThan 66 24 + BranchConditional 69 60 61 + 60: Label + 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 95 95 12 12 + 92: 7(int) Load 31(i) + 96: 7(int) Load 52(j) + 101: 99(ptr) AccessChain 88(result) 92 96 + Store 101 98 + Branch 62 + 62: Label + 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 55 55 12 12 + 102: 7(int) Load 52(j) + 109: 7(int) IAdd 102 108 + Store 52(j) 109 + Branch 59 + 61: Label + Branch 41 + 41: Label + 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 34 34 12 12 + 110: 7(int) Load 31(i) + 113: 7(int) IAdd 110 108 + Store 31(i) 113 + Branch 38 + 40: Label + 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 117 117 12 12 + 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 115 114(chunkK) 36 + Store 114(chunkK) 12 + Branch 121 + 121: Label + 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 117 117 12 12 + LoopMerge 123 124 None + Branch 127 + 127: Label + 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 117 117 12 12 + 128: 7(int) Load 114(chunkK) + 132: 48(bool) ULessThan 128 131(K) + BranchConditional 132 122 123 + 122: Label + 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 136 136 12 12 + 137: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 134 133(k) 36 + Store 133(k) 12 + Branch 140 + 140: Label + 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 136 136 12 12 + LoopMerge 142 143 Unroll + Branch 146 + 146: Label + 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 136 136 12 12 + 147: 7(int) Load 133(k) + 153: 48(bool) ULessThan 147 152 + BranchConditional 153 141 142 + 141: Label + 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 156 156 12 12 + 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 155 154(i) 36 + Store 154(i) 12 + Branch 160 + 160: Label + 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 156 156 12 12 + LoopMerge 162 163 Unroll + Branch 166 + 166: Label + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 156 156 12 12 + 167: 7(int) Load 154(i) + 170: 48(bool) ULessThan 167 24 + BranchConditional 170 161 162 + 161: Label + 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 174 174 12 12 + 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 179 178(tempArg) 36 + 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 194 194 12 12 + 197: 195(ptr) AccessChain 191(Ash) 12 + 200: 171 CooperativeMatrixLoadKHR 197 199 12 MakePointerVisibleKHR NonPrivatePointerKHR 24 + Store 178(tempArg) 200 + 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 174 174 12 12 + 208: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 206 205(matA) 36 + 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 194 194 12 12 + 210: 7(int) Load 154(i) + 212: 171 Load 178(tempArg) + 213: 176(ptr) AccessChain 205(matA) 210 + Store 213 212 + Branch 163 + 163: Label + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 156 156 12 12 + 214: 7(int) Load 154(i) + 217: 7(int) IAdd 214 108 + Store 154(i) 217 + Branch 160 + 162: Label + 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 220 220 12 12 + 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 219 218(j) 36 + Store 218(j) 12 + Branch 224 + 224: Label + 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 220 220 12 12 + LoopMerge 226 227 Unroll + Branch 230 + 230: Label + 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 220 220 12 12 + 231: 7(int) Load 218(j) + 234: 48(bool) ULessThan 231 24 + BranchConditional 234 225 226 + 225: Label + 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 238 238 12 12 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 243 242(tempArg) 36 + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 250 250 12 12 + 251: 195(ptr) AccessChain 247(Bsh) 12 + 253: 235 CooperativeMatrixLoadKHR 251 199 12 MakePointerVisibleKHR NonPrivatePointerKHR 24 + Store 242(tempArg) 253 + 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 238 238 12 12 + 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 255 254(matB) 36 + 260: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 250 250 12 12 + 259: 235 Load 242(tempArg) + Store 254(matB) 259 + 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 263 263 12 12 + 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(i) 36 + Store 261(i) 12 + Branch 266 + 266: Label + 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 263 263 12 12 + LoopMerge 268 269 Unroll + Branch 272 + 272: Label + 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 263 263 12 12 + 273: 7(int) Load 261(i) + 276: 48(bool) ULessThan 273 24 + BranchConditional 276 267 268 + 267: Label + 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 280 280 12 12 + 277: 7(int) Load 261(i) + 281: 7(int) Load 218(j) + 282: 7(int) Load 261(i) + 283: 176(ptr) AccessChain 205(matA) 282 + 284: 171 Load 283 + 285: 235 Load 254(matB) + 286: 7(int) Load 261(i) + 287: 7(int) Load 218(j) + 288: 99(ptr) AccessChain 88(result) 286 287 + 289: 76 Load 288 + 290: 76 CooperativeMatrixMulAddKHR 284 285 289 + 291: 99(ptr) AccessChain 88(result) 277 281 + Store 291 290 + Branch 269 + 269: Label + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 263 263 12 12 + 292: 7(int) Load 261(i) + 295: 7(int) IAdd 292 108 + Store 261(i) 295 + Branch 266 + 268: Label + Branch 227 + 227: Label + 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 220 220 12 12 + 296: 7(int) Load 218(j) + 299: 7(int) IAdd 296 108 + Store 218(j) 299 + Branch 224 + 226: Label + Branch 143 + 143: Label + 301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 136 136 12 12 + 300: 7(int) Load 133(k) + 303: 7(int) IAdd 300 108 + Store 133(k) 303 + Branch 140 + 142: Label + Branch 124 + 124: Label + 305: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 117 117 12 12 + 304: 7(int) Load 114(chunkK) + 307: 7(int) IAdd 304 150(TILE_K) + Store 114(chunkK) 307 + Branch 121 + 123: Label + 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 310 310 12 12 + 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 309 308(i) 36 + Store 308(i) 12 + Branch 314 + 314: Label + 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 310 310 12 12 + LoopMerge 316 317 Unroll + Branch 320 + 320: Label + 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 310 310 12 12 + 321: 7(int) Load 308(i) + 324: 48(bool) ULessThan 321 24 + BranchConditional 324 315 316 + 315: Label + 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 327 327 12 12 + 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 326 325(j) 36 + Store 325(j) 12 + Branch 331 + 331: Label + 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 327 327 12 12 + LoopMerge 333 334 Unroll + Branch 337 + 337: Label + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 327 327 12 12 + 338: 7(int) Load 325(j) + 341: 48(bool) ULessThan 338 24 + BranchConditional 341 332 333 + 332: Label + 343: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 344: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 345 345 12 12 + 342: 7(int) Load 308(i) + 346: 7(int) Load 325(j) + 347: 99(ptr) AccessChain 88(result) 342 346 + 348: 76 Load 347 + 366: 364(ptr) AccessChain 361(outputO) 199 12 + CooperativeMatrixStoreKHR 366 348 199 12 None + Branch 334 + 334: Label + 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 327 327 12 12 + 367: 7(int) Load 325(j) + 370: 7(int) IAdd 367 108 + Store 325(j) 370 + Branch 331 + 333: Label + Branch 317 + 317: Label + 372: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 310 310 12 12 + 371: 7(int) Load 308(i) + 374: 7(int) IAdd 371 108 + Store 308(i) 374 + Branch 314 + 316: Label + 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 377 377 12 12 + Return + FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.vert.out b/Test/baseResults/spv.debuginfo.hlsl.vert.out index d26021cf..094173a5 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.vert.out +++ b/Test/baseResults/spv.debuginfo.hlsl.vert.out @@ -438,12 +438,12 @@ spv.debuginfo.hlsl.vert 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 203 203 16 16 201: 8(float) Load 128(s) 204: 8(float) Load 176(c) + 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 195 195 16 16 206: 18(fvec3) CompositeConstruct 198 200 97 - 207: 18(fvec3) CompositeConstruct 201 204 97 - 208: 18(fvec3) CompositeConstruct 97 97 205 - 209: 188 CompositeConstruct 206 207 208 - 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 195 195 16 16 - Store 192(mx) 209 + 208: 18(fvec3) CompositeConstruct 201 204 97 + 209: 18(fvec3) CompositeConstruct 97 97 205 + 210: 188 CompositeConstruct 206 208 209 + Store 192(mx) 210 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 213 213 16 16 211: 126(ptr) AccessChain 77(input) 134 52 214: 8(float) Load 211 @@ -468,12 +468,12 @@ spv.debuginfo.hlsl.vert 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 238 238 16 16 236: 8(float) Load 128(s) 239: 8(float) Load 176(c) + 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 230 230 16 16 240: 18(fvec3) CompositeConstruct 233 97 235 - 241: 18(fvec3) CompositeConstruct 97 205 97 - 242: 18(fvec3) CompositeConstruct 236 97 239 - 243: 188 CompositeConstruct 240 241 242 - 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 230 230 16 16 - Store 227(my) 243 + 242: 18(fvec3) CompositeConstruct 97 205 97 + 243: 18(fvec3) CompositeConstruct 236 97 239 + 244: 188 CompositeConstruct 240 242 243 + Store 227(my) 244 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 247 247 16 16 245: 126(ptr) AccessChain 77(input) 134 21 248: 8(float) Load 245 @@ -499,12 +499,12 @@ spv.debuginfo.hlsl.vert 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 274 274 16 16 272: 8(float) Load 128(s) 275: 8(float) Load 176(c) + 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 264 264 16 16 276: 18(fvec3) CompositeConstruct 205 97 97 - 277: 18(fvec3) CompositeConstruct 97 267 271 - 278: 18(fvec3) CompositeConstruct 97 272 275 - 279: 188 CompositeConstruct 276 277 278 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 264 264 16 16 - Store 261(mz) 279 + 278: 18(fvec3) CompositeConstruct 97 267 271 + 279: 18(fvec3) CompositeConstruct 97 272 275 + 280: 188 CompositeConstruct 276 278 279 + Store 261(mz) 280 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 284 284 16 16 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 282 281(rotMat) 85 287: 188 Load 192(mx) diff --git a/Test/spv.debuginfo.coopmatKHR.comp b/Test/spv.debuginfo.coopmatKHR.comp new file mode 100644 index 00000000..dceffcea --- /dev/null +++ b/Test/spv.debuginfo.coopmatKHR.comp @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2019-2024, NVIDIA CORPORATION. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +#version 450 core +#pragma use_vulkan_memory_model +#extension GL_EXT_scalar_block_layout : enable +#extension GL_KHR_memory_scope_semantics : enable +#extension GL_KHR_cooperative_matrix : enable +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#extension GL_EXT_shader_explicit_arithmetic_types_int8 : enable +#extension GL_EXT_shader_explicit_arithmetic_types_int32 : enable +#extension GL_EXT_buffer_reference : enable +#extension GL_EXT_control_flow_attributes : enable + +layout(constant_id = 0) const uint lM = 1; +layout(constant_id = 1) const uint lN = 1; +layout(constant_id = 2) const uint lK = 1; +layout(constant_id = 3) const uint TILE_M = 1; +layout(constant_id = 4) const uint TILE_N = 1; +layout(constant_id = 5) const uint TILE_K = 1; +layout(constant_id = 6) const uint K = 1; + +#define A_BITS 16 +#define A_TYPE float16_t +#define C_BITS 16 +#define C_TYPE float16_t + +buffer Output { C_TYPE x[]; } outputO; + +shared uvec4 Ash[128]; +shared uvec4 Bsh[128]; + +const uint C_ROWS = 2; +const uint C_COLS = 2; +coopmat result[C_ROWS][C_COLS]; + +void main() +{ + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + [[unroll]] for (uint j = 0; j < C_COLS; ++j) { + result[i][j] = coopmat(0.0); + } + } + + for (uint chunkK = 0; chunkK < K; chunkK += TILE_K) { + [[unroll]] for (uint k = 0; k < TILE_K / lK; ++k) + { + coopmat matA[C_ROWS]; + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + coopMatLoad(matA[i], Ash, 0, 0, gl_CooperativeMatrixLayoutRowMajor); + } + + coopmat matB; + [[unroll]] for (uint j = 0; j < C_COLS; ++j) { + coopMatLoad(matB, Bsh, 0, 0, gl_CooperativeMatrixLayoutRowMajor); + + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + result[i][j] = coopMatMulAdd(matA[i], matB, result[i][j]); + } + } + } + } + + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + [[unroll]] for (uint j = 0; j < C_COLS; ++j) { + coopMatStore(result[i][j], outputO.x, 0, 0, gl_CooperativeMatrixLayoutRowMajor); + } + } +} diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index 22671816..bd2ee4dd 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -959,6 +959,7 @@ INSTANTIATE_TEST_SUITE_P( "spv.debuginfo.include.glsl.frag", "spv.debuginfo.multiline.glsl.frag", "spv.debuginfo.implicit_br.glsl.frag", + "spv.debuginfo.coopmatKHR.comp", })), FileNameAsCustomTestSuffix ); From c694f28df27ff1059952b2e6b5f449576ca2bf0d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2024 06:40:25 +0000 Subject: [PATCH 095/108] Bump github/codeql-action from 3.26.8 to 3.26.9 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.8 to 3.26.9. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/294a9d92911152fe08befb9ec03e240add280cb3...461ef6c76dfe95d5c364de2f431ddbd31a417628) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 2419a345..b0ca9ae8 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8 + uses: github/codeql-action/upload-sarif@461ef6c76dfe95d5c364de2f431ddbd31a417628 # v3.26.9 with: sarif_file: results.sarif From a729c86d78552ec7e05e3748448e7a99f6f2a696 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2024 06:40:30 +0000 Subject: [PATCH 096/108] Bump actions/checkout from 4.1.7 to 4.2.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/692973e3d937129bcbf40652eb9f2f61becf3332...d632683dd7b4114ad314bca15554477dd762a938) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/continuous_deployment.yml | 6 +++--- .github/workflows/continuous_integration.yml | 22 ++++++++++---------- .github/workflows/scorecard.yml | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index 53d84084..535e5634 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -41,7 +41,7 @@ jobs: compiler: [{cc: clang, cxx: clang++}, {cc: gcc, cxx: g++}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: @@ -104,7 +104,7 @@ jobs: compiler: [{cc: clang, cxx: clang++}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: @@ -160,7 +160,7 @@ jobs: os: [{genus: windows-2019, family: windows}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 9cfd998b..0a699ba4 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -17,7 +17,7 @@ jobs: compiler: [{cc: clang, cxx: clang++}, {cc: gcc, cxx: g++}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: @@ -52,7 +52,7 @@ jobs: compiler: [{cc: clang, cxx: clang++}, {cc: gcc, cxx: g++}] cmake_build_type: [Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: @@ -86,7 +86,7 @@ jobs: cmake_build_type: [Debug] flags: ['-fsanitize=address', '-fsanitize=thread', '-fsanitize=undefined'] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: @@ -124,7 +124,7 @@ jobs: name: Linux Backcompat runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -157,7 +157,7 @@ jobs: compiler: [{cc: clang, cxx: clang++}, {cc: gcc, cxx: g++}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - run: ./update_glslang_sources.py - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON @@ -177,7 +177,7 @@ jobs: compiler: [{cc: clang, cxx: clang++}] cmake_build_type: [Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - run: ./update_glslang_sources.py - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON -DBUILD_SHARED_LIBS=ON @@ -198,7 +198,7 @@ jobs: os: [{genus: windows-2019, family: windows}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: @@ -221,7 +221,7 @@ jobs: os: [{genus: windows-2019, family: windows}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: @@ -238,7 +238,7 @@ jobs: iOS: runs-on: macos-13 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 @@ -267,7 +267,7 @@ jobs: # Test both to ensure we are compatible with either approach. LEGACY: [ON, OFF] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 @@ -290,7 +290,7 @@ jobs: emscripten: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index b0ca9ae8..b4ec8f2a 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -23,7 +23,7 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 with: persist-credentials: false From 4e91335863d66493d46cd4723548e0de9ca6f354 Mon Sep 17 00:00:00 2001 From: Sven van Haastregt Date: Fri, 4 Oct 2024 11:44:01 +0100 Subject: [PATCH 097/108] Remove extra semicolons Fix various "extra ';'" compiler warnings. No functional changes. Signed-off-by: Sven van Haastregt --- SPIRV/GlslangToSpv.cpp | 6 +++--- SPIRV/SpvBuilder.h | 2 +- SPIRV/SpvPostProcess.cpp | 2 +- SPIRV/SpvTools.cpp | 2 +- SPIRV/disassemble.cpp | 2 +- SPIRV/doc.cpp | 2 +- glslang/HLSL/hlslParseHelper.cpp | 2 +- glslang/MachineIndependent/propagateNoContraction.h | 3 ++- 8 files changed, 11 insertions(+), 10 deletions(-) diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index 00dbabba..0861013c 100644 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -4881,7 +4881,7 @@ bool TGlslangToSpvTraverser::filterMember(const glslang::TType& member) } return false; -}; +} // Do full recursive conversion of a glslang structure (or block) type to a SPIR-V Id. // explicitLayout can be kept the same throughout the hierarchical recursive walk. @@ -10309,7 +10309,7 @@ spv::Id TGlslangToSpvTraverser::getExtBuiltins(const char* name) } } -}; // end anonymous namespace +} // end anonymous namespace namespace glslang { @@ -10446,4 +10446,4 @@ void GlslangToSpv(const TIntermediate& intermediate, std::vector& GetThreadPoolAllocator().pop(); } -}; // end namespace glslang +} // end namespace glslang diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h index 2fd9dd80..887eaf1d 100644 --- a/SPIRV/SpvBuilder.h +++ b/SPIRV/SpvBuilder.h @@ -1004,6 +1004,6 @@ public: SpvBuildLogger* logger; }; // end Builder class -}; // end spv namespace +} // end spv namespace #endif // SpvBuilder_H diff --git a/SPIRV/SpvPostProcess.cpp b/SPIRV/SpvPostProcess.cpp index e35ab71f..4cd01102 100644 --- a/SPIRV/SpvPostProcess.cpp +++ b/SPIRV/SpvPostProcess.cpp @@ -548,4 +548,4 @@ void Builder::postProcess(bool compileOnly) postProcessSamplers(); } -}; // end spv namespace +} // end spv namespace diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp index 12f94b83..8cd03ef5 100644 --- a/SPIRV/SpvTools.cpp +++ b/SPIRV/SpvTools.cpp @@ -309,6 +309,6 @@ void SpirvToolsStripDebugInfo(const glslang::TIntermediate& intermediate, optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); } -}; // end namespace glslang +} // end namespace glslang #endif diff --git a/SPIRV/disassemble.cpp b/SPIRV/disassemble.cpp index ab77610c..be364b33 100644 --- a/SPIRV/disassemble.cpp +++ b/SPIRV/disassemble.cpp @@ -825,4 +825,4 @@ void Disassemble(std::ostream& out, const std::vector& stream) SpirvStream.processInstructions(); } -}; // end namespace spv +} // end namespace spv diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp index 0105caa2..2051486b 100644 --- a/SPIRV/doc.cpp +++ b/SPIRV/doc.cpp @@ -3491,4 +3491,4 @@ void Parameterize() }); } -}; // end spv namespace +} // end spv namespace diff --git a/glslang/HLSL/hlslParseHelper.cpp b/glslang/HLSL/hlslParseHelper.cpp index 35eb222c..63a4deb0 100644 --- a/glslang/HLSL/hlslParseHelper.cpp +++ b/glslang/HLSL/hlslParseHelper.cpp @@ -1439,7 +1439,7 @@ int HlslParseContext::findSubtreeOffset(const TType& type, int subset, const TVe return offsets[subset]; TType derefType(type, 0); return findSubtreeOffset(derefType, offsets[subset], offsets); -}; +} // Find and return the split IO TVariable for id, or nullptr if none. TVariable* HlslParseContext::getSplitNonIoVar(long long id) const diff --git a/glslang/MachineIndependent/propagateNoContraction.h b/glslang/MachineIndependent/propagateNoContraction.h index 8521ad7d..d849be83 100644 --- a/glslang/MachineIndependent/propagateNoContraction.h +++ b/glslang/MachineIndependent/propagateNoContraction.h @@ -52,4 +52,5 @@ namespace glslang { // 'noContraction' means the object is 'precise'; and for arithmetic operation // nodes, it means the operation should not be contracted. void PropagateNoContraction(const glslang::TIntermediate& intermediate); -}; + +} // end namespace glslang From 48f63fe4b3b8e12dec1a6f761ffb41eda3dee16c Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Wed, 19 Jul 2023 12:00:29 -0600 Subject: [PATCH 098/108] Propagate errors from symbol table init Fixes #580 --- glslang/MachineIndependent/ShaderLang.cpp | 68 ++++++++++++++--------- 1 file changed, 42 insertions(+), 26 deletions(-) diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index 40aeaa7c..367388f9 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -297,18 +297,21 @@ int CommonIndex(EProfile profile, EShLanguage language) // // To initialize per-stage shared tables, with the common table already complete. // -void InitializeStageSymbolTable(TBuiltInParseables& builtInParseables, int version, EProfile profile, const SpvVersion& spvVersion, +bool InitializeStageSymbolTable(TBuiltInParseables& builtInParseables, int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, EShSource source, TInfoSink& infoSink, TSymbolTable** commonTable, TSymbolTable** symbolTables) { (*symbolTables[language]).adoptLevels(*commonTable[CommonIndex(profile, language)]); - InitializeSymbolTable(builtInParseables.getStageString(language), version, profile, spvVersion, language, source, - infoSink, *symbolTables[language]); + if (!InitializeSymbolTable(builtInParseables.getStageString(language), version, profile, spvVersion, language, source, + infoSink, *symbolTables[language])) + return false; builtInParseables.identifyBuiltIns(version, profile, spvVersion, language, *symbolTables[language]); if (profile == EEsProfile && version >= 300) (*symbolTables[language]).setNoBuiltInRedeclarations(); if (version == 110) (*symbolTables[language]).setSeparateNameSpaces(); + + return true; } // @@ -317,6 +320,7 @@ void InitializeStageSymbolTable(TBuiltInParseables& builtInParseables, int versi // bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TSymbolTable** symbolTables, int version, EProfile profile, const SpvVersion& spvVersion, EShSource source) { + bool success = true; std::unique_ptr builtInParseables(CreateBuiltInParseables(infoSink, source)); if (builtInParseables == nullptr) @@ -325,70 +329,70 @@ bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TS builtInParseables->initialize(version, profile, spvVersion); // do the common tables - InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangVertex, source, + success &= InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangVertex, source, infoSink, *commonTable[EPcGeneral]); if (profile == EEsProfile) - InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangFragment, source, + success &= InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangFragment, source, infoSink, *commonTable[EPcFragment]); // do the per-stage tables // always have vertex and fragment - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangVertex, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangVertex, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangFragment, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangFragment, source, infoSink, commonTable, symbolTables); // check for tessellation if ((profile != EEsProfile && version >= 150) || (profile == EEsProfile && version >= 310)) { - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessControl, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessControl, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessEvaluation, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessEvaluation, source, infoSink, commonTable, symbolTables); } // check for geometry if ((profile != EEsProfile && version >= 150) || (profile == EEsProfile && version >= 310)) - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangGeometry, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangGeometry, source, infoSink, commonTable, symbolTables); // check for compute if ((profile != EEsProfile && version >= 420) || (profile == EEsProfile && version >= 310)) - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCompute, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCompute, source, infoSink, commonTable, symbolTables); // check for ray tracing stages if (profile != EEsProfile && version >= 450) { - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangRayGen, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangRayGen, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangIntersect, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangIntersect, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangAnyHit, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangAnyHit, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangClosestHit, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangClosestHit, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMiss, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMiss, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCallable, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCallable, source, infoSink, commonTable, symbolTables); } // check for mesh if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMesh, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMesh, source, infoSink, commonTable, symbolTables); // check for task if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTask, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTask, source, infoSink, commonTable, symbolTables); - return true; + return success; } bool AddContextSpecificSymbols(const TBuiltInResource* resources, TInfoSink& infoSink, TSymbolTable& symbolTable, int version, @@ -400,7 +404,8 @@ bool AddContextSpecificSymbols(const TBuiltInResource* resources, TInfoSink& inf return false; builtInParseables->initialize(*resources, version, profile, spvVersion, language); - InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, language, source, infoSink, symbolTable); + if (!InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, language, source, infoSink, symbolTable)) + return false; builtInParseables->identifyBuiltIns(version, profile, spvVersion, language, symbolTable, *resources); return true; @@ -418,9 +423,10 @@ bool AddContextSpecificSymbols(const TBuiltInResource* resources, TInfoSink& inf // This only gets done the first time any thread needs a particular symbol table // (lazy evaluation). // -void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& spvVersion, EShSource source) +bool SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& spvVersion, EShSource source) { TInfoSink infoSink; + bool success; // Make sure only one thread tries to do this at a time #ifndef DISABLE_THREAD_SUPPORT @@ -432,8 +438,9 @@ void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& sp int spvVersionIndex = MapSpvVersionToIndex(spvVersion); int profileIndex = MapProfileToIndex(profile); int sourceIndex = MapSourceToIndex(source); - if (CommonSymbolTable[versionIndex][spvVersionIndex][profileIndex][sourceIndex][EPcGeneral]) - return; + if (CommonSymbolTable[versionIndex][spvVersionIndex][profileIndex][sourceIndex][EPcGeneral]) { + return true; + } // Switch to a new pool TPoolAllocator& previousAllocator = GetThreadPoolAllocator(); @@ -449,7 +456,10 @@ void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& sp stageTables[stage] = new TSymbolTable; // Generate the local symbol tables using the new pool - InitializeSymbolTables(infoSink, commonTable, stageTables, version, profile, spvVersion, source); + if (!InitializeSymbolTables(infoSink, commonTable, stageTables, version, profile, spvVersion, source)) { + success = false; + goto cleanup; + } // Switch to the process-global pool SetThreadPoolAllocator(PerProcessGPA); @@ -471,7 +481,9 @@ void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& sp SharedSymbolTables[versionIndex][spvVersionIndex][profileIndex][sourceIndex][stage]->readOnly(); } } + success = true; +cleanup: // Clean up the local tables before deleting the pool they used. for (int precClass = 0; precClass < EPcCount; ++precClass) delete commonTable[precClass]; @@ -480,6 +492,8 @@ void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& sp delete builtInPoolAllocator; SetThreadPoolAllocator(&previousAllocator); + + return success; } // Function to Print all builtins @@ -915,7 +929,9 @@ bool ProcessDeferred( intermediate.addSourceText(strings[numPre + s], lengths[numPre + s]); } } - SetupBuiltinSymbolTable(version, profile, spvVersion, source); + if (!SetupBuiltinSymbolTable(version, profile, spvVersion, source)) { + return false; + } TSymbolTable* cachedTable = SharedSymbolTables[MapVersionToIndex(version)] [MapSpvVersionToIndex(spvVersion)] From f69d2768e534132e8626c4817c80e95464dcda8e Mon Sep 17 00:00:00 2001 From: Sajjad Mirza <90873047+sajjadmirzanv@users.noreply.github.com> Date: Fri, 4 Oct 2024 11:11:27 -0700 Subject: [PATCH 099/108] Use line and column from node on DebugLexicalBlock. * Fix bug in TestFixture.h, debug info gets enabled when nonsemantic debug info is requested. --- SPIRV/GlslangToSpv.cpp | 6 +- SPIRV/SpvBuilder.cpp | 16 +- SPIRV/SpvBuilder.h | 4 +- Test/baseResults/hlsl.pp.line2.frag.out | 108 +- Test/baseResults/hlsl.pp.line4.frag.out | 62 +- Test/baseResults/hlsl.round.dx9.frag.out | 4 +- Test/baseResults/hlsl.sample.dx9.frag.out | 274 +- Test/baseResults/hlsl.sample.dx9.vert.out | 112 +- Test/baseResults/spv.debuginfo.glsl.comp.out | 1864 ++++++------- Test/baseResults/spv.debuginfo.glsl.frag.out | 1799 ++++++------ Test/baseResults/spv.debuginfo.glsl.tesc.out | 590 ++-- Test/baseResults/spv.debuginfo.hlsl.comp.out | 2436 +++++++++-------- Test/baseResults/spv.debuginfo.hlsl.frag.out | 2221 ++++++++------- Test/baseResults/spv.debuginfo.hlsl.geom.out | 826 +++--- Test/baseResults/spv.debuginfo.hlsl.tesc.out | 1600 ++++++----- Test/baseResults/spv.debuginfo.hlsl.tese.out | 1047 +++---- Test/baseResults/spv.debuginfo.hlsl.vert.out | 1179 ++++---- .../spv.debuginfo.implicit_br.glsl.frag.out | 322 +-- .../spv.debuginfo.rt_types.glsl.rgen.out | 16 +- gtests/Hlsl.FromFile.cpp | 2 +- gtests/TestFixture.h | 8 + 21 files changed, 7746 insertions(+), 6750 deletions(-) diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index 0861013c..4348fdf8 100644 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -2924,8 +2924,10 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt return false; } else { - if (node->getOp() == glslang::EOpScope) - builder.enterLexicalBlock(0); + if (node->getOp() == glslang::EOpScope) { + auto loc = node->getLoc(); + builder.enterLexicalBlock(loc.line, loc.column); + } } } else { if (sequenceDepth > 1 && node->getOp() == glslang::EOpScope) diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index e4d81f95..500c78f9 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -2361,7 +2361,7 @@ Id Builder::makeDebugFunction([[maybe_unused]] Function* function, Id nameId, Id return funcId; } -Id Builder::makeDebugLexicalBlock(uint32_t line) { +Id Builder::makeDebugLexicalBlock(uint32_t line, uint32_t column) { assert(!currentDebugScopeId.empty()); Id lexId = getUniqueId(); @@ -2371,7 +2371,7 @@ Id Builder::makeDebugLexicalBlock(uint32_t line) { lex->addImmediateOperand(NonSemanticShaderDebugInfo100DebugLexicalBlock); lex->addIdOperand(makeDebugSource(currentFileId)); lex->addIdOperand(makeUintConstant(line)); - lex->addIdOperand(makeUintConstant(0)); // column + lex->addIdOperand(makeUintConstant(column)); // column lex->addIdOperand(currentDebugScopeId.top()); // scope constantsTypesGlobals.push_back(std::unique_ptr(lex)); module.mapInstruction(lex); @@ -2404,10 +2404,14 @@ void Builder::makeReturn(bool implicit, Id retVal) } // Comments in header -void Builder::enterLexicalBlock(uint32_t line) +void Builder::enterLexicalBlock(uint32_t line, uint32_t column) { + if (!emitNonSemanticShaderDebugInfo) { + return; + } + // Generate new lexical scope debug instruction - Id lexId = makeDebugLexicalBlock(line); + Id lexId = makeDebugLexicalBlock(line, column); currentDebugScopeId.push(lexId); dirtyScopeTracker = true; } @@ -2415,6 +2419,10 @@ void Builder::enterLexicalBlock(uint32_t line) // Comments in header void Builder::leaveLexicalBlock() { + if (!emitNonSemanticShaderDebugInfo) { + return; + } + // Pop current scope from stack and clear current scope currentDebugScopeId.pop(); dirtyScopeTracker = true; diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h index 887eaf1d..4bae1d5c 100644 --- a/SPIRV/SpvBuilder.h +++ b/SPIRV/SpvBuilder.h @@ -247,7 +247,7 @@ public: Id makeDebugValue(Id const debugLocalVariable, Id const value); Id makeDebugFunctionType(Id returnType, const std::vector& paramTypes); Id makeDebugFunction(Function* function, Id nameId, Id funcTypeId); - Id makeDebugLexicalBlock(uint32_t line); + Id makeDebugLexicalBlock(uint32_t line, uint32_t column); std::string unmangleFunctionName(std::string const& name) const; // Initialize non-semantic debug information for a function, including those of: @@ -451,7 +451,7 @@ public: void makeReturn(bool implicit, Id retVal = 0); // Initialize state and generate instructions for new lexical scope - void enterLexicalBlock(uint32_t line); + void enterLexicalBlock(uint32_t line, uint32_t column); // Set state and generate instructions to exit current lexical scope void leaveLexicalBlock(); diff --git a/Test/baseResults/hlsl.pp.line2.frag.out b/Test/baseResults/hlsl.pp.line2.frag.out index 0d8131ca..81b8d470 100644 --- a/Test/baseResults/hlsl.pp.line2.frag.out +++ b/Test/baseResults/hlsl.pp.line2.frag.out @@ -10,8 +10,8 @@ hlsl.pp.line2.frag ExecutionMode 5 OriginUpperLeft 1: String "hlsl.pp.line2.frag" 7: String "foo.frag" - 32: String "foo.h" - 42: String "foo2.h" + 36: String "foo.h" + 44: String "foo2.h" Source HLSL 500 1 "// OpModuleProcessed auto-map-locations // OpModuleProcessed auto-map-bindings // OpModuleProcessed entry-point MainPs @@ -68,23 +68,23 @@ PS_OUTPUT MainPs ( PS_INPUT i ) MemberName 13(PS_OUTPUT) 0 "vColor" Name 16 "@MainPs(struct-PS_INPUT-vf21;" Name 15 "i" - Name 19 "PerViewConstantBuffer_t" - MemberName 19(PerViewConstantBuffer_t) 0 "g_nDataIdx" - MemberName 19(PerViewConstantBuffer_t) 1 "g_nDataIdx2" - MemberName 19(PerViewConstantBuffer_t) 2 "g_B" - Name 21 "" - Name 34 "u" - Name 44 "ps_output" + Name 19 "ps_output" + Name 22 "u" + Name 23 "PerViewConstantBuffer_t" + MemberName 23(PerViewConstantBuffer_t) 0 "g_nDataIdx" + MemberName 23(PerViewConstantBuffer_t) 1 "g_nDataIdx2" + MemberName 23(PerViewConstantBuffer_t) 2 "g_B" + Name 25 "" Name 49 "g_tColor" Name 56 "g_sAniso" Name 69 "i" Name 71 "i.vTextureCoords" Name 75 "@entryPointOutput.vColor" Name 76 "param" - Decorate 19(PerViewConstantBuffer_t) Block - MemberDecorate 19(PerViewConstantBuffer_t) 0 Offset 0 - MemberDecorate 19(PerViewConstantBuffer_t) 1 Offset 4 - MemberDecorate 19(PerViewConstantBuffer_t) 2 Offset 8 + Decorate 23(PerViewConstantBuffer_t) Block + MemberDecorate 23(PerViewConstantBuffer_t) 0 Offset 0 + MemberDecorate 23(PerViewConstantBuffer_t) 1 Offset 4 + MemberDecorate 23(PerViewConstantBuffer_t) 2 Offset 8 Decorate 49(g_tColor) Binding 0 Decorate 49(g_tColor) DescriptorSet 0 Decorate 56(g_sAniso) Binding 1 @@ -100,21 +100,21 @@ PS_OUTPUT MainPs ( PS_INPUT i ) 12: TypeVector 8(float) 4 13(PS_OUTPUT): TypeStruct 12(fvec4) 14: TypeFunction 13(PS_OUTPUT) 11(ptr) - 18: TypeInt 32 0 -19(PerViewConstantBuffer_t): TypeStruct 18(int) 18(int) 18(int) - 20: TypePointer PushConstant 19(PerViewConstantBuffer_t) - 21: 20(ptr) Variable PushConstant - 22: TypeInt 32 1 - 23: 22(int) Constant 2 - 24: TypePointer PushConstant 18(int) - 27: TypeBool - 28: 18(int) Constant 0 - 33: TypePointer Function 18(int) - 35: 22(int) Constant 0 - 39: 22(int) Constant 1 - 43: TypePointer Function 13(PS_OUTPUT) + 18: TypePointer Function 13(PS_OUTPUT) + 20: TypeInt 32 0 + 21: TypePointer Function 20(int) +23(PerViewConstantBuffer_t): TypeStruct 20(int) 20(int) 20(int) + 24: TypePointer PushConstant 23(PerViewConstantBuffer_t) + 25: 24(ptr) Variable PushConstant + 26: TypeInt 32 1 + 27: 26(int) Constant 2 + 28: TypePointer PushConstant 20(int) + 31: TypeBool + 32: 20(int) Constant 0 + 37: 26(int) Constant 0 + 41: 26(int) Constant 1 45: TypeImage 8(float) 2D sampled format:Unknown - 46: 18(int) Constant 128 + 46: 20(int) Constant 128 47: TypeArray 45 46 48: TypePointer UniformConstant 47 49(g_tColor): 48(ptr) Variable UniformConstant @@ -136,7 +136,7 @@ PS_OUTPUT MainPs ( PS_INPUT i ) 76(param): 11(ptr) Variable Function Line 7 23 0 72: 9(fvec2) Load 71(i.vTextureCoords) - 73: 60(ptr) AccessChain 69(i) 35 + 73: 60(ptr) AccessChain 69(i) 37 Store 73 72 77:10(PS_INPUT) Load 69(i) Store 76(param) 77 @@ -149,39 +149,39 @@ PS_OUTPUT MainPs ( PS_INPUT i ) 16(@MainPs(struct-PS_INPUT-vf21;):13(PS_OUTPUT) Function None 14 15(i): 11(ptr) FunctionParameter 17: Label - 34(u): 33(ptr) Variable Function - 44(ps_output): 43(ptr) Variable Function + 19(ps_output): 18(ptr) Variable Function + 22(u): 21(ptr) Variable Function Line 7 47 0 - 25: 24(ptr) AccessChain 21 23 - 26: 18(int) Load 25 - 29: 27(bool) INotEqual 26 28 - SelectionMerge 31 None - BranchConditional 29 30 38 - 30: Label - Line 32 3 0 - 36: 24(ptr) AccessChain 21 35 - 37: 18(int) Load 36 - Store 34(u) 37 - Branch 31 - 38: Label - Line 32 67 0 - 40: 24(ptr) AccessChain 21 39 - 41: 18(int) Load 40 - Store 34(u) 41 - Branch 31 - 31: Label - Line 42 7 0 - 50: 18(int) Load 34(u) + 29: 28(ptr) AccessChain 25 27 + 30: 20(int) Load 29 + 33: 31(bool) INotEqual 30 32 + SelectionMerge 35 None + BranchConditional 33 34 40 + 34: Label + Line 36 3 0 + 38: 28(ptr) AccessChain 25 37 + 39: 20(int) Load 38 + Store 22(u) 39 + Branch 35 + 40: Label + Line 36 67 0 + 42: 28(ptr) AccessChain 25 41 + 43: 20(int) Load 42 + Store 22(u) 43 + Branch 35 + 35: Label + Line 44 7 0 + 50: 20(int) Load 22(u) 52: 51(ptr) AccessChain 49(g_tColor) 50 53: 45 Load 52 57: 54 Load 56(g_sAniso) 59: 58 SampledImage 53 57 - 61: 60(ptr) AccessChain 15(i) 35 + 61: 60(ptr) AccessChain 15(i) 37 62: 9(fvec2) Load 61 63: 12(fvec4) ImageSampleImplicitLod 59 62 - 65: 64(ptr) AccessChain 44(ps_output) 35 + 65: 64(ptr) AccessChain 19(ps_output) 37 Store 65 63 - Line 42 105 0 - 66:13(PS_OUTPUT) Load 44(ps_output) + Line 44 105 0 + 66:13(PS_OUTPUT) Load 19(ps_output) ReturnValue 66 FunctionEnd diff --git a/Test/baseResults/hlsl.pp.line4.frag.out b/Test/baseResults/hlsl.pp.line4.frag.out index aeca142a..a7dfd504 100644 --- a/Test/baseResults/hlsl.pp.line4.frag.out +++ b/Test/baseResults/hlsl.pp.line4.frag.out @@ -10,7 +10,7 @@ hlsl.pp.line4.frag ExecutionMode 5 OriginUpperLeft 1: String "hlsl.pp.line4.frag" 7: String "C:\\Users\\Greg\\shaders\\line\\foo4.frag" - 32: String "C:\\Users\\Greg\\shaders\\line\\u1.h" + 36: String "C:\\Users\\Greg\\shaders\\line\\u1.h" Source HLSL 500 1 "// OpModuleProcessed auto-map-locations // OpModuleProcessed auto-map-bindings // OpModuleProcessed entry-point MainPs @@ -63,19 +63,19 @@ PS_OUTPUT MainPs ( PS_INPUT i ) " Name 5 "MainPs" - Name 19 "PerViewConstantBuffer_t" - MemberName 19(PerViewConstantBuffer_t) 0 "g_nDataIdx" - MemberName 19(PerViewConstantBuffer_t) 1 "g_nDataIdx2" - MemberName 19(PerViewConstantBuffer_t) 2 "g_B" - Name 21 "" + Name 23 "PerViewConstantBuffer_t" + MemberName 23(PerViewConstantBuffer_t) 0 "g_nDataIdx" + MemberName 23(PerViewConstantBuffer_t) 1 "g_nDataIdx2" + MemberName 23(PerViewConstantBuffer_t) 2 "g_B" + Name 25 "" Name 48 "g_tColor" Name 55 "g_sAniso" Name 70 "i.vTextureCoords" Name 74 "@entryPointOutput.vColor" - Decorate 19(PerViewConstantBuffer_t) Block - MemberDecorate 19(PerViewConstantBuffer_t) 0 Offset 0 - MemberDecorate 19(PerViewConstantBuffer_t) 1 Offset 4 - MemberDecorate 19(PerViewConstantBuffer_t) 2 Offset 8 + Decorate 23(PerViewConstantBuffer_t) Block + MemberDecorate 23(PerViewConstantBuffer_t) 0 Offset 0 + MemberDecorate 23(PerViewConstantBuffer_t) 1 Offset 4 + MemberDecorate 23(PerViewConstantBuffer_t) 2 Offset 8 Decorate 48(g_tColor) Binding 0 Decorate 48(g_tColor) DescriptorSet 0 Decorate 55(g_sAniso) Binding 1 @@ -87,19 +87,19 @@ PS_OUTPUT MainPs ( PS_INPUT i ) 8: TypeFloat 32 9: TypeVector 8(float) 2 12: TypeVector 8(float) 4 - 18: TypeInt 32 0 -19(PerViewConstantBuffer_t): TypeStruct 18(int) 18(int) 18(int) - 20: TypePointer PushConstant 19(PerViewConstantBuffer_t) - 21: 20(ptr) Variable PushConstant - 22: TypeInt 32 1 - 23: 22(int) Constant 2 - 24: TypePointer PushConstant 18(int) - 27: TypeBool - 28: 18(int) Constant 0 - 35: 22(int) Constant 0 - 39: 22(int) Constant 1 + 20: TypeInt 32 0 +23(PerViewConstantBuffer_t): TypeStruct 20(int) 20(int) 20(int) + 24: TypePointer PushConstant 23(PerViewConstantBuffer_t) + 25: 24(ptr) Variable PushConstant + 26: TypeInt 32 1 + 27: 26(int) Constant 2 + 28: TypePointer PushConstant 20(int) + 31: TypeBool + 32: 20(int) Constant 0 + 37: 26(int) Constant 0 + 41: 26(int) Constant 1 44: TypeImage 8(float) 2D sampled format:Unknown - 45: 18(int) Constant 128 + 45: 20(int) Constant 128 46: TypeArray 44 45 47: TypePointer UniformConstant 46 48(g_tColor): 47(ptr) Variable UniformConstant @@ -119,23 +119,23 @@ PS_OUTPUT MainPs ( PS_INPUT i ) Line 7 25 0 71: 9(fvec2) Load 70(i.vTextureCoords) Line 7 29 0 - 83: 24(ptr) AccessChain 21 23 - 84: 18(int) Load 83 - 85: 27(bool) INotEqual 84 28 + 83: 28(ptr) AccessChain 25 27 + 84: 20(int) Load 83 + 85: 31(bool) INotEqual 84 32 SelectionMerge 92 None BranchConditional 85 86 89 86: Label - Line 32 1 0 - 87: 24(ptr) AccessChain 21 35 - 88: 18(int) Load 87 + Line 36 1 0 + 87: 28(ptr) AccessChain 25 37 + 88: 20(int) Load 87 Branch 92 89: Label Line 7 32 0 - 90: 24(ptr) AccessChain 21 39 - 91: 18(int) Load 90 + 90: 28(ptr) AccessChain 25 41 + 91: 20(int) Load 90 Branch 92 92: Label - 115: 18(int) Phi 88 86 91 89 + 115: 20(int) Phi 88 86 91 89 Line 7 33 0 94: 50(ptr) AccessChain 48(g_tColor) 115 95: 44 Load 94 diff --git a/Test/baseResults/hlsl.round.dx9.frag.out b/Test/baseResults/hlsl.round.dx9.frag.out index 5f539bb8..4e0a7918 100644 --- a/Test/baseResults/hlsl.round.dx9.frag.out +++ b/Test/baseResults/hlsl.round.dx9.frag.out @@ -5,7 +5,7 @@ gl_FragCoord origin is upper left 0:2 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: 0:2 'input' ( in 4-component vector of float) -0:? Sequence +0:? Scope 0:3 Branch: Return with expression 0:3 round ( temp 4-component vector of float) 0:3 'input' ( in 4-component vector of float) @@ -22,7 +22,7 @@ gl_FragCoord origin is upper left 0:2 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: 0:2 'input' ( in 4-component vector of float) -0:? Sequence +0:? Scope 0:3 Branch: Return with expression 0:3 round ( temp 4-component vector of float) 0:3 'input' ( in 4-component vector of float) diff --git a/Test/baseResults/hlsl.sample.dx9.frag.out b/Test/baseResults/hlsl.sample.dx9.frag.out index f1a6e0ae..1d1924cc 100644 --- a/Test/baseResults/hlsl.sample.dx9.frag.out +++ b/Test/baseResults/hlsl.sample.dx9.frag.out @@ -5,7 +5,10 @@ using depth_any 0:? Sequence 0:15 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:15 Function Parameters: -0:? Sequence +0:? Scope +0:16 Sequence +0:16 Declare ( temp void) +0:16 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:18 Sequence 0:18 move second child to first child ( temp 4-component vector of float) 0:18 'ColorOut' ( temp 4-component vector of float) @@ -196,7 +199,10 @@ using depth_any 0:? Sequence 0:15 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:15 Function Parameters: -0:? Sequence +0:? Scope +0:16 Sequence +0:16 Declare ( temp void) +0:16 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:18 Sequence 0:18 move second child to first child ( temp 4-component vector of float) 0:18 'ColorOut' ( temp 4-component vector of float) @@ -403,26 +409,26 @@ using depth_any MemberName 9(PS_OUTPUT) 0 "Color" MemberName 9(PS_OUTPUT) 1 "Depth" Name 11 "@main(" - Name 14 "ColorOut" - Name 20 "g_sam" - Name 32 "g_sam1D" - Name 38 "g_sam2D" - Name 48 "g_sam3D" - Name 58 "g_samCube" - Name 110 "psout" + Name 14 "psout" + Name 16 "ColorOut" + Name 22 "g_sam" + Name 34 "g_sam1D" + Name 40 "g_sam2D" + Name 50 "g_sam3D" + Name 60 "g_samCube" Name 125 "flattenTemp" Name 128 "@entryPointOutput.Color" Name 132 "@entryPointOutput.Depth" - Decorate 20(g_sam) Binding 0 - Decorate 20(g_sam) DescriptorSet 0 - Decorate 32(g_sam1D) Binding 1 - Decorate 32(g_sam1D) DescriptorSet 0 - Decorate 38(g_sam2D) Binding 2 - Decorate 38(g_sam2D) DescriptorSet 0 - Decorate 48(g_sam3D) Binding 3 - Decorate 48(g_sam3D) DescriptorSet 0 - Decorate 58(g_samCube) Binding 4 - Decorate 58(g_samCube) DescriptorSet 0 + Decorate 22(g_sam) Binding 0 + Decorate 22(g_sam) DescriptorSet 0 + Decorate 34(g_sam1D) Binding 1 + Decorate 34(g_sam1D) DescriptorSet 0 + Decorate 40(g_sam2D) Binding 2 + Decorate 40(g_sam2D) DescriptorSet 0 + Decorate 50(g_sam3D) Binding 3 + Decorate 50(g_sam3D) DescriptorSet 0 + Decorate 60(g_samCube) Binding 4 + Decorate 60(g_samCube) DescriptorSet 0 Decorate 128(@entryPointOutput.Color) Location 0 Decorate 132(@entryPointOutput.Depth) BuiltIn FragDepth 3: TypeVoid @@ -431,42 +437,42 @@ using depth_any 8: TypeVector 7(float) 4 9(PS_OUTPUT): TypeStruct 8(fvec4) 7(float) 10: TypeFunction 9(PS_OUTPUT) - 13: TypePointer Function 8(fvec4) - 15: 7(float) Constant 0 - 16: 8(fvec4) ConstantComposite 15 15 15 15 - 17: TypeImage 7(float) 2D sampled format:Unknown - 18: TypeSampledImage 17 - 19: TypePointer UniformConstant 18 - 20(g_sam): 19(ptr) Variable UniformConstant - 22: TypeVector 7(float) 2 - 23: 7(float) Constant 1053609165 - 24: 7(float) Constant 1050253722 - 25: 22(fvec2) ConstantComposite 23 24 - 29: TypeImage 7(float) 1D sampled format:Unknown - 30: TypeSampledImage 29 - 31: TypePointer UniformConstant 30 - 32(g_sam1D): 31(ptr) Variable UniformConstant - 34: 7(float) Constant 1056964608 - 38(g_sam2D): 19(ptr) Variable UniformConstant - 40: 7(float) Constant 1058642330 - 41: 22(fvec2) ConstantComposite 34 40 - 45: TypeImage 7(float) 3D sampled format:Unknown - 46: TypeSampledImage 45 - 47: TypePointer UniformConstant 46 - 48(g_sam3D): 47(ptr) Variable UniformConstant - 50: TypeVector 7(float) 3 - 51: 50(fvec3) ConstantComposite 34 40 23 - 55: TypeImage 7(float) Cube sampled format:Unknown - 56: TypeSampledImage 55 - 57: TypePointer UniformConstant 56 - 58(g_samCube): 57(ptr) Variable UniformConstant - 64: 8(fvec4) ConstantComposite 23 24 15 15 - 68: TypeInt 32 0 - 69: 68(int) Constant 3 - 75: 8(fvec4) ConstantComposite 34 15 15 15 - 82: 8(fvec4) ConstantComposite 34 40 15 15 - 91: 8(fvec4) ConstantComposite 34 40 23 15 - 109: TypePointer Function 9(PS_OUTPUT) + 13: TypePointer Function 9(PS_OUTPUT) + 15: TypePointer Function 8(fvec4) + 17: 7(float) Constant 0 + 18: 8(fvec4) ConstantComposite 17 17 17 17 + 19: TypeImage 7(float) 2D sampled format:Unknown + 20: TypeSampledImage 19 + 21: TypePointer UniformConstant 20 + 22(g_sam): 21(ptr) Variable UniformConstant + 24: TypeVector 7(float) 2 + 25: 7(float) Constant 1053609165 + 26: 7(float) Constant 1050253722 + 27: 24(fvec2) ConstantComposite 25 26 + 31: TypeImage 7(float) 1D sampled format:Unknown + 32: TypeSampledImage 31 + 33: TypePointer UniformConstant 32 + 34(g_sam1D): 33(ptr) Variable UniformConstant + 36: 7(float) Constant 1056964608 + 40(g_sam2D): 21(ptr) Variable UniformConstant + 42: 7(float) Constant 1058642330 + 43: 24(fvec2) ConstantComposite 36 42 + 47: TypeImage 7(float) 3D sampled format:Unknown + 48: TypeSampledImage 47 + 49: TypePointer UniformConstant 48 + 50(g_sam3D): 49(ptr) Variable UniformConstant + 52: TypeVector 7(float) 3 + 53: 52(fvec3) ConstantComposite 36 42 25 + 57: TypeImage 7(float) Cube sampled format:Unknown + 58: TypeSampledImage 57 + 59: TypePointer UniformConstant 58 + 60(g_samCube): 59(ptr) Variable UniformConstant + 66: 8(fvec4) ConstantComposite 25 26 17 17 + 70: TypeInt 32 0 + 71: 70(int) Constant 3 + 77: 8(fvec4) ConstantComposite 36 17 17 17 + 84: 8(fvec4) ConstantComposite 36 42 17 17 + 93: 8(fvec4) ConstantComposite 36 42 25 17 111: TypeInt 32 1 112: 111(int) Constant 0 114: 7(float) Constant 1092616192 @@ -480,11 +486,11 @@ using depth_any Line 1 15 1 5(main): 3 Function None 4 6: Label -125(flattenTemp): 109(ptr) Variable Function +125(flattenTemp): 13(ptr) Variable Function Line 1 15 0 126:9(PS_OUTPUT) FunctionCall 11(@main() Store 125(flattenTemp) 126 - 129: 13(ptr) AccessChain 125(flattenTemp) 112 + 129: 15(ptr) AccessChain 125(flattenTemp) 112 130: 8(fvec4) Load 129 Store 128(@entryPointOutput.Color) 130 133: 120(ptr) AccessChain 125(flattenTemp) 118 @@ -495,100 +501,100 @@ using depth_any Line 1 15 1 11(@main():9(PS_OUTPUT) Function None 10 12: Label - 14(ColorOut): 13(ptr) Variable Function - 110(psout): 109(ptr) Variable Function + 14(psout): 13(ptr) Variable Function + 16(ColorOut): 15(ptr) Variable Function Line 1 18 0 - Store 14(ColorOut) 16 + Store 16(ColorOut) 18 Line 1 20 0 - 21: 18 Load 20(g_sam) - 26: 8(fvec4) ImageSampleImplicitLod 21 25 - 27: 8(fvec4) Load 14(ColorOut) - 28: 8(fvec4) FAdd 27 26 - Store 14(ColorOut) 28 + 23: 20 Load 22(g_sam) + 28: 8(fvec4) ImageSampleImplicitLod 23 27 + 29: 8(fvec4) Load 16(ColorOut) + 30: 8(fvec4) FAdd 29 28 + Store 16(ColorOut) 30 Line 1 21 0 - 33: 30 Load 32(g_sam1D) - 35: 8(fvec4) ImageSampleImplicitLod 33 34 - 36: 8(fvec4) Load 14(ColorOut) - 37: 8(fvec4) FAdd 36 35 - Store 14(ColorOut) 37 + 35: 32 Load 34(g_sam1D) + 37: 8(fvec4) ImageSampleImplicitLod 35 36 + 38: 8(fvec4) Load 16(ColorOut) + 39: 8(fvec4) FAdd 38 37 + Store 16(ColorOut) 39 Line 1 22 0 - 39: 18 Load 38(g_sam2D) - 42: 8(fvec4) ImageSampleImplicitLod 39 41 - 43: 8(fvec4) Load 14(ColorOut) - 44: 8(fvec4) FAdd 43 42 - Store 14(ColorOut) 44 + 41: 20 Load 40(g_sam2D) + 44: 8(fvec4) ImageSampleImplicitLod 41 43 + 45: 8(fvec4) Load 16(ColorOut) + 46: 8(fvec4) FAdd 45 44 + Store 16(ColorOut) 46 Line 1 23 0 - 49: 46 Load 48(g_sam3D) - 52: 8(fvec4) ImageSampleImplicitLod 49 51 - 53: 8(fvec4) Load 14(ColorOut) - 54: 8(fvec4) FAdd 53 52 - Store 14(ColorOut) 54 + 51: 48 Load 50(g_sam3D) + 54: 8(fvec4) ImageSampleImplicitLod 51 53 + 55: 8(fvec4) Load 16(ColorOut) + 56: 8(fvec4) FAdd 55 54 + Store 16(ColorOut) 56 Line 1 24 0 - 59: 56 Load 58(g_samCube) - 60: 8(fvec4) ImageSampleImplicitLod 59 51 - 61: 8(fvec4) Load 14(ColorOut) - 62: 8(fvec4) FAdd 61 60 - Store 14(ColorOut) 62 + 61: 58 Load 60(g_samCube) + 62: 8(fvec4) ImageSampleImplicitLod 61 53 + 63: 8(fvec4) Load 16(ColorOut) + 64: 8(fvec4) FAdd 63 62 + Store 16(ColorOut) 64 Line 1 26 0 - 63: 18 Load 20(g_sam) - 65: 7(float) CompositeExtract 64 0 - 66: 7(float) CompositeExtract 64 1 - 67: 22(fvec2) CompositeConstruct 65 66 - 70: 7(float) CompositeExtract 64 3 - 71: 8(fvec4) ImageSampleExplicitLod 63 67 Lod 70 - 72: 8(fvec4) Load 14(ColorOut) - 73: 8(fvec4) FAdd 72 71 - Store 14(ColorOut) 73 + 65: 20 Load 22(g_sam) + 67: 7(float) CompositeExtract 66 0 + 68: 7(float) CompositeExtract 66 1 + 69: 24(fvec2) CompositeConstruct 67 68 + 72: 7(float) CompositeExtract 66 3 + 73: 8(fvec4) ImageSampleExplicitLod 65 69 Lod 72 + 74: 8(fvec4) Load 16(ColorOut) + 75: 8(fvec4) FAdd 74 73 + Store 16(ColorOut) 75 Line 1 27 0 - 74: 30 Load 32(g_sam1D) - 76: 7(float) CompositeExtract 75 0 - 77: 7(float) CompositeExtract 75 3 - 78: 8(fvec4) ImageSampleExplicitLod 74 76 Lod 77 - 79: 8(fvec4) Load 14(ColorOut) - 80: 8(fvec4) FAdd 79 78 - Store 14(ColorOut) 80 + 76: 32 Load 34(g_sam1D) + 78: 7(float) CompositeExtract 77 0 + 79: 7(float) CompositeExtract 77 3 + 80: 8(fvec4) ImageSampleExplicitLod 76 78 Lod 79 + 81: 8(fvec4) Load 16(ColorOut) + 82: 8(fvec4) FAdd 81 80 + Store 16(ColorOut) 82 Line 1 28 0 - 81: 18 Load 38(g_sam2D) - 83: 7(float) CompositeExtract 82 0 - 84: 7(float) CompositeExtract 82 1 - 85: 22(fvec2) CompositeConstruct 83 84 - 86: 7(float) CompositeExtract 82 3 - 87: 8(fvec4) ImageSampleExplicitLod 81 85 Lod 86 - 88: 8(fvec4) Load 14(ColorOut) - 89: 8(fvec4) FAdd 88 87 - Store 14(ColorOut) 89 + 83: 20 Load 40(g_sam2D) + 85: 7(float) CompositeExtract 84 0 + 86: 7(float) CompositeExtract 84 1 + 87: 24(fvec2) CompositeConstruct 85 86 + 88: 7(float) CompositeExtract 84 3 + 89: 8(fvec4) ImageSampleExplicitLod 83 87 Lod 88 + 90: 8(fvec4) Load 16(ColorOut) + 91: 8(fvec4) FAdd 90 89 + Store 16(ColorOut) 91 Line 1 29 0 - 90: 46 Load 48(g_sam3D) - 92: 7(float) CompositeExtract 91 0 - 93: 7(float) CompositeExtract 91 1 - 94: 7(float) CompositeExtract 91 2 - 95: 50(fvec3) CompositeConstruct 92 93 94 - 96: 7(float) CompositeExtract 91 3 - 97: 8(fvec4) ImageSampleExplicitLod 90 95 Lod 96 - 98: 8(fvec4) Load 14(ColorOut) - 99: 8(fvec4) FAdd 98 97 - Store 14(ColorOut) 99 + 92: 48 Load 50(g_sam3D) + 94: 7(float) CompositeExtract 93 0 + 95: 7(float) CompositeExtract 93 1 + 96: 7(float) CompositeExtract 93 2 + 97: 52(fvec3) CompositeConstruct 94 95 96 + 98: 7(float) CompositeExtract 93 3 + 99: 8(fvec4) ImageSampleExplicitLod 92 97 Lod 98 + 100: 8(fvec4) Load 16(ColorOut) + 101: 8(fvec4) FAdd 100 99 + Store 16(ColorOut) 101 Line 1 30 0 - 100: 56 Load 58(g_samCube) - 101: 7(float) CompositeExtract 91 0 - 102: 7(float) CompositeExtract 91 1 - 103: 7(float) CompositeExtract 91 2 - 104: 50(fvec3) CompositeConstruct 101 102 103 - 105: 7(float) CompositeExtract 91 3 - 106: 8(fvec4) ImageSampleExplicitLod 100 104 Lod 105 - 107: 8(fvec4) Load 14(ColorOut) - 108: 8(fvec4) FAdd 107 106 - Store 14(ColorOut) 108 + 102: 58 Load 60(g_samCube) + 103: 7(float) CompositeExtract 93 0 + 104: 7(float) CompositeExtract 93 1 + 105: 7(float) CompositeExtract 93 2 + 106: 52(fvec3) CompositeConstruct 103 104 105 + 107: 7(float) CompositeExtract 93 3 + 108: 8(fvec4) ImageSampleExplicitLod 102 106 Lod 107 + 109: 8(fvec4) Load 16(ColorOut) + 110: 8(fvec4) FAdd 109 108 + Store 16(ColorOut) 110 Line 1 32 0 - 113: 8(fvec4) Load 14(ColorOut) + 113: 8(fvec4) Load 16(ColorOut) 115: 8(fvec4) CompositeConstruct 114 114 114 114 116: 8(fvec4) FDiv 113 115 - 117: 13(ptr) AccessChain 110(psout) 112 + 117: 15(ptr) AccessChain 14(psout) 112 Store 117 116 Line 1 33 0 - 121: 120(ptr) AccessChain 110(psout) 118 + 121: 120(ptr) AccessChain 14(psout) 118 Store 121 119 Line 1 35 0 - 122:9(PS_OUTPUT) Load 110(psout) + 122:9(PS_OUTPUT) Load 14(psout) ReturnValue 122 FunctionEnd diff --git a/Test/baseResults/hlsl.sample.dx9.vert.out b/Test/baseResults/hlsl.sample.dx9.vert.out index 2b6520a0..96e7143f 100644 --- a/Test/baseResults/hlsl.sample.dx9.vert.out +++ b/Test/baseResults/hlsl.sample.dx9.vert.out @@ -3,7 +3,10 @@ Shader version: 500 0:? Sequence 0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:11 Function Parameters: -0:? Sequence +0:? Scope +0:12 Sequence +0:12 Declare ( temp void) +0:12 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:14 Sequence 0:14 move second child to first child ( temp 4-component vector of float) 0:14 'PosOut' ( temp 4-component vector of float) @@ -82,7 +85,10 @@ Shader version: 500 0:? Sequence 0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:11 Function Parameters: -0:? Sequence +0:? Scope +0:12 Sequence +0:12 Declare ( temp void) +0:12 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:14 Sequence 0:14 move second child to first child ( temp 4-component vector of float) 0:14 'PosOut' ( temp 4-component vector of float) @@ -175,15 +181,15 @@ Shader version: 500 Name 9 "VS_OUTPUT" MemberName 9(VS_OUTPUT) 0 "Pos" Name 11 "@main(" - Name 14 "PosOut" - Name 20 "g_sam" - Name 36 "g_sam2D" - Name 49 "vsout" + Name 14 "vsout" + Name 16 "PosOut" + Name 22 "g_sam" + Name 38 "g_sam2D" Name 61 "@entryPointOutput.Pos" - Decorate 20(g_sam) Binding 0 - Decorate 20(g_sam) DescriptorSet 0 - Decorate 36(g_sam2D) Binding 1 - Decorate 36(g_sam2D) DescriptorSet 0 + Decorate 22(g_sam) Binding 0 + Decorate 22(g_sam) DescriptorSet 0 + Decorate 38(g_sam2D) Binding 1 + Decorate 38(g_sam2D) DescriptorSet 0 Decorate 61(@entryPointOutput.Pos) BuiltIn Position 3: TypeVoid 4: TypeFunction 3 @@ -191,25 +197,25 @@ Shader version: 500 8: TypeVector 7(float) 4 9(VS_OUTPUT): TypeStruct 8(fvec4) 10: TypeFunction 9(VS_OUTPUT) - 13: TypePointer Function 8(fvec4) - 15: 7(float) Constant 0 - 16: 8(fvec4) ConstantComposite 15 15 15 15 - 17: TypeImage 7(float) 2D sampled format:Unknown - 18: TypeSampledImage 17 - 19: TypePointer UniformConstant 18 - 20(g_sam): 19(ptr) Variable UniformConstant - 22: 7(float) Constant 1050253722 - 23: 7(float) Constant 1053609165 - 24: 7(float) Constant 1065353216 - 25: 8(fvec4) ConstantComposite 22 23 15 24 - 26: TypeVector 7(float) 2 - 30: TypeInt 32 0 - 31: 30(int) Constant 3 - 36(g_sam2D): 19(ptr) Variable UniformConstant - 38: 7(float) Constant 1056964608 - 39: 7(float) Constant 1058642330 - 40: 8(fvec4) ConstantComposite 38 39 15 24 - 48: TypePointer Function 9(VS_OUTPUT) + 13: TypePointer Function 9(VS_OUTPUT) + 15: TypePointer Function 8(fvec4) + 17: 7(float) Constant 0 + 18: 8(fvec4) ConstantComposite 17 17 17 17 + 19: TypeImage 7(float) 2D sampled format:Unknown + 20: TypeSampledImage 19 + 21: TypePointer UniformConstant 20 + 22(g_sam): 21(ptr) Variable UniformConstant + 24: 7(float) Constant 1050253722 + 25: 7(float) Constant 1053609165 + 26: 7(float) Constant 1065353216 + 27: 8(fvec4) ConstantComposite 24 25 17 26 + 28: TypeVector 7(float) 2 + 32: TypeInt 32 0 + 33: 32(int) Constant 3 + 38(g_sam2D): 21(ptr) Variable UniformConstant + 40: 7(float) Constant 1056964608 + 41: 7(float) Constant 1058642330 + 42: 8(fvec4) ConstantComposite 40 41 17 26 50: TypeInt 32 1 51: 50(int) Constant 0 53: 7(float) Constant 1073741824 @@ -227,37 +233,37 @@ Shader version: 500 Line 1 11 1 11(@main():9(VS_OUTPUT) Function None 10 12: Label - 14(PosOut): 13(ptr) Variable Function - 49(vsout): 48(ptr) Variable Function + 14(vsout): 13(ptr) Variable Function + 16(PosOut): 15(ptr) Variable Function Line 1 14 0 - Store 14(PosOut) 16 + Store 16(PosOut) 18 Line 1 16 0 - 21: 18 Load 20(g_sam) - 27: 7(float) CompositeExtract 25 0 - 28: 7(float) CompositeExtract 25 1 - 29: 26(fvec2) CompositeConstruct 27 28 - 32: 7(float) CompositeExtract 25 3 - 33: 8(fvec4) ImageSampleExplicitLod 21 29 Lod 32 - 34: 8(fvec4) Load 14(PosOut) - 35: 8(fvec4) FAdd 34 33 - Store 14(PosOut) 35 + 23: 20 Load 22(g_sam) + 29: 7(float) CompositeExtract 27 0 + 30: 7(float) CompositeExtract 27 1 + 31: 28(fvec2) CompositeConstruct 29 30 + 34: 7(float) CompositeExtract 27 3 + 35: 8(fvec4) ImageSampleExplicitLod 23 31 Lod 34 + 36: 8(fvec4) Load 16(PosOut) + 37: 8(fvec4) FAdd 36 35 + Store 16(PosOut) 37 Line 1 17 0 - 37: 18 Load 36(g_sam2D) - 41: 7(float) CompositeExtract 40 0 - 42: 7(float) CompositeExtract 40 1 - 43: 26(fvec2) CompositeConstruct 41 42 - 44: 7(float) CompositeExtract 40 3 - 45: 8(fvec4) ImageSampleExplicitLod 37 43 Lod 44 - 46: 8(fvec4) Load 14(PosOut) - 47: 8(fvec4) FAdd 46 45 - Store 14(PosOut) 47 + 39: 20 Load 38(g_sam2D) + 43: 7(float) CompositeExtract 42 0 + 44: 7(float) CompositeExtract 42 1 + 45: 28(fvec2) CompositeConstruct 43 44 + 46: 7(float) CompositeExtract 42 3 + 47: 8(fvec4) ImageSampleExplicitLod 39 45 Lod 46 + 48: 8(fvec4) Load 16(PosOut) + 49: 8(fvec4) FAdd 48 47 + Store 16(PosOut) 49 Line 1 19 0 - 52: 8(fvec4) Load 14(PosOut) + 52: 8(fvec4) Load 16(PosOut) 54: 8(fvec4) CompositeConstruct 53 53 53 53 55: 8(fvec4) FDiv 52 54 - 56: 13(ptr) AccessChain 49(vsout) 51 + 56: 15(ptr) AccessChain 14(vsout) 51 Store 56 55 Line 1 21 0 - 57:9(VS_OUTPUT) Load 49(vsout) + 57:9(VS_OUTPUT) Load 14(vsout) ReturnValue 57 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.comp.out b/Test/baseResults/spv.debuginfo.glsl.comp.out index af043304..bcd29ecb 100644 --- a/Test/baseResults/spv.debuginfo.glsl.comp.out +++ b/Test/baseResults/spv.debuginfo.glsl.comp.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.comp // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 979 +// Id's are bound by 999 Capability Shader Extension "SPV_KHR_non_semantic_info" @@ -220,19 +220,19 @@ void main() 194: String "particleIn" 198: String "ParticleIn" 203: String "" - 219: String "particleOut" - 222: String "ParticleOut" - 249: String "force" - 263: String "pos" - 273: String "vel" - 581: String "f" - 630: String "sphereDist" - 681: String "calculateNormals" - 684: String "PushConsts" - 691: String "pushConsts" - 725: String "a" - 739: String "b" - 756: String "c" + 222: String "particleOut" + 225: String "ParticleOut" + 251: String "force" + 265: String "pos" + 275: String "vel" + 592: String "f" + 641: String "sphereDist" + 694: String "calculateNormals" + 697: String "PushConsts" + 703: String "pushConsts" + 742: String "a" + 755: String "b" + 772: String "c" Name 14 "main" Name 31 "springForce(vf3;vf3;f1;" Name 28 "p0" @@ -264,45 +264,45 @@ void main() Name 192 "ParticleIn" MemberName 192(ParticleIn) 0 "particleIn" Name 201 "" - Name 217 "ParticleOut" - MemberName 217(ParticleOut) 0 "particleOut" - Name 226 "" - Name 247 "force" - Name 261 "pos" - Name 271 "vel" - Name 293 "param" + Name 220 "ParticleOut" + MemberName 220(ParticleOut) 0 "particleOut" + Name 228 "" + Name 249 "force" + Name 263 "pos" + Name 273 "vel" Name 297 "param" - Name 299 "param" - Name 322 "param" - Name 326 "param" - Name 328 "param" - Name 355 "param" - Name 359 "param" + Name 301 "param" + Name 303 "param" + Name 327 "param" + Name 331 "param" + Name 333 "param" Name 361 "param" - Name 383 "param" - Name 387 "param" - Name 389 "param" - Name 427 "param" - Name 431 "param" - Name 433 "param" - Name 466 "param" - Name 470 "param" - Name 472 "param" - Name 513 "param" - Name 517 "param" - Name 519 "param" - Name 556 "param" - Name 560 "param" - Name 562 "param" - Name 579 "f" - Name 628 "sphereDist" - Name 679 "PushConsts" - MemberName 679(PushConsts) 0 "calculateNormals" - Name 689 "pushConsts" - Name 701 "normal" - Name 723 "a" - Name 737 "b" - Name 754 "c" + Name 365 "param" + Name 367 "param" + Name 390 "param" + Name 394 "param" + Name 396 "param" + Name 435 "param" + Name 439 "param" + Name 441 "param" + Name 475 "param" + Name 479 "param" + Name 481 "param" + Name 523 "param" + Name 527 "param" + Name 529 "param" + Name 567 "param" + Name 571 "param" + Name 573 "param" + Name 590 "f" + Name 639 "sphereDist" + Name 692 "PushConsts" + MemberName 692(PushConsts) 0 "calculateNormals" + Name 701 "pushConsts" + Name 716 "normal" + Name 740 "a" + Name 753 "b" + Name 770 "c" Decorate 78(UBO) Block MemberDecorate 78(UBO) 0 Offset 0 MemberDecorate 78(UBO) 1 Offset 4 @@ -328,14 +328,14 @@ void main() MemberDecorate 192(ParticleIn) 0 Offset 0 Decorate 201 Binding 0 Decorate 201 DescriptorSet 0 - Decorate 215 ArrayStride 80 - Decorate 217(ParticleOut) BufferBlock - MemberDecorate 217(ParticleOut) 0 Offset 0 - Decorate 226 Binding 1 - Decorate 226 DescriptorSet 0 - Decorate 679(PushConsts) Block - MemberDecorate 679(PushConsts) 0 Offset 0 - Decorate 978 BuiltIn WorkgroupSize + Decorate 218 ArrayStride 80 + Decorate 220(ParticleOut) BufferBlock + MemberDecorate 220(ParticleOut) 0 Offset 0 + Decorate 228 Binding 1 + Decorate 228 DescriptorSet 0 + Decorate 692(PushConsts) Block + MemberDecorate 692(PushConsts) 0 Offset 0 + Decorate 998 BuiltIn WorkgroupSize 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -447,145 +447,165 @@ void main() 204: 73(int) Constant 0 208: 73(int) Constant 4 211: 16(float) Constant 1065353216 - 215: TypeRuntimeArray 178(Particle) - 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 187 12 -217(ParticleOut): TypeStruct 215 - 220: 7(int) Constant 40 - 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 219 216 35 220 196 12 12 13 - 223: 7(int) Constant 82 - 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 222 39 35 223 12 38 222 12 13 218 - 224: TypePointer Uniform 217(ParticleOut) - 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 221 41 12 - 226: 224(ptr) Variable Uniform - 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 203 221 35 223 12 38 203 226 82 - 232: TypePointer Uniform 71(fvec4) - 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 41 12 - 239: 7(int) Constant 83 - 240: 73(int) Constant 1 - 241: 16(float) Constant 0 - 242: 71(fvec4) ConstantComposite 241 241 241 241 - 245: 7(int) Constant 84 - 250: 7(int) Constant 88 - 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 20 35 250 12 55 40 - 254: 73(int) Constant 9 - 264: 7(int) Constant 90 - 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 263 20 35 264 12 55 40 - 274: 7(int) Constant 91 - 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 273 20 35 274 12 55 40 - 283: 7(int) Constant 95 + 216: 7(int) Constant 82 + 217: 7(int) Constant 26 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 216 217 55 + 218: TypeRuntimeArray 178(Particle) + 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 187 12 +220(ParticleOut): TypeStruct 218 + 223: 7(int) Constant 40 + 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 222 219 35 223 196 12 12 13 + 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 225 39 35 216 12 38 225 12 13 221 + 226: TypePointer Uniform 220(ParticleOut) + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 224 41 12 + 228: 226(ptr) Variable Uniform + 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 203 224 35 216 12 38 203 228 82 + 234: TypePointer Uniform 71(fvec4) + 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 41 12 + 241: 7(int) Constant 83 + 242: 73(int) Constant 1 + 243: 16(float) Constant 0 + 244: 71(fvec4) ConstantComposite 243 243 243 243 + 247: 7(int) Constant 84 + 252: 7(int) Constant 88 + 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 251 20 35 252 12 55 40 + 256: 73(int) Constant 9 + 266: 7(int) Constant 90 + 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 265 20 35 266 12 55 40 + 276: 7(int) Constant 91 + 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 275 20 35 276 12 55 40 + 285: 7(int) Constant 95 291: 7(int) Constant 96 - 308: 7(int) Constant 99 - 320: 7(int) Constant 100 - 337: 7(int) Constant 103 - 349: 7(int) Constant 104 - 354: 73(int) Constant 5 - 370: 7(int) Constant 107 - 378: 7(int) Constant 108 - 398: 7(int) Constant 111 - 420: 7(int) Constant 112 - 426: 73(int) Constant 6 - 442: 7(int) Constant 115 - 460: 7(int) Constant 116 - 481: 7(int) Constant 119 - 507: 7(int) Constant 120 - 528: 7(int) Constant 123 - 550: 7(int) Constant 124 - 568: 73(int) Constant 3 - 572: 7(int) Constant 127 - 582: 7(int) Constant 130 - 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 581 20 35 582 12 55 40 - 592: 7(int) Constant 131 - 599: 16(float) Constant 1056964608 - 616: 7(int) Constant 132 - 631: 7(int) Constant 135 - 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 630 20 35 631 12 55 40 - 638: 73(int) Constant 8 - 645: 7(int) Constant 136 - 647: 73(int) Constant 7 - 650: 16(float) Constant 1008981770 - 658: 7(int) Constant 138 - 677: 7(int) Constant 140 - 679(PushConsts): TypeStruct 7(int) - 682: 7(int) Constant 63 - 680: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 681 9 35 682 22 12 12 13 - 685: 7(int) Constant 144 - 683: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 684 39 35 685 12 38 684 12 13 680 - 686: TypePointer PushConstant 679(PushConsts) - 687: 7(int) Constant 9 - 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 683 687 12 - 689(pushConsts): 686(ptr) Variable PushConstant - 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 691 683 35 685 12 38 691 689(pushConsts) 82 - 692: TypePointer PushConstant 7(int) - 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 687 12 - 703: 7(int) Constant 145 - 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 180 20 35 703 12 55 40 - 707: 19(fvec3) ConstantComposite 241 241 241 - 710: 7(int) Constant 147 - 718: 7(int) Constant 148 - 726: 7(int) Constant 149 - 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 725 20 35 726 12 55 40 - 740: 7(int) Constant 150 - 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 739 20 35 740 12 55 40 - 757: 7(int) Constant 151 - 755: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 756 20 35 757 12 55 40 - 772: 7(int) Constant 152 - 784: 7(int) Constant 154 - 796: 7(int) Constant 155 - 808: 7(int) Constant 156 - 821: 7(int) Constant 157 - 830: 7(int) Constant 158 - 842: 7(int) Constant 161 - 854: 7(int) Constant 162 - 862: 7(int) Constant 163 - 874: 7(int) Constant 164 - 887: 7(int) Constant 165 - 896: 7(int) Constant 166 - 908: 7(int) Constant 168 - 920: 7(int) Constant 169 - 929: 7(int) Constant 170 - 942: 7(int) Constant 171 - 954: 7(int) Constant 172 - 966: 7(int) Constant 175 - 976: 7(int) Constant 177 - 977: 7(int) Constant 10 - 978: 123(ivec3) ConstantComposite 977 977 39 + 292: 7(int) Constant 9 + 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 291 292 55 + 312: 7(int) Constant 99 + 322: 7(int) Constant 100 + 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 322 292 55 + 342: 7(int) Constant 103 + 352: 7(int) Constant 104 + 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 352 292 55 + 360: 73(int) Constant 5 + 376: 7(int) Constant 107 + 382: 7(int) Constant 108 + 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 382 292 55 + 405: 7(int) Constant 111 + 425: 7(int) Constant 112 + 424: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 425 292 55 + 434: 73(int) Constant 6 + 450: 7(int) Constant 115 + 466: 7(int) Constant 116 + 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 466 292 55 + 490: 7(int) Constant 119 + 514: 7(int) Constant 120 + 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 514 292 55 + 538: 7(int) Constant 123 + 558: 7(int) Constant 124 + 557: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 558 292 55 + 579: 73(int) Constant 3 + 583: 7(int) Constant 127 + 593: 7(int) Constant 130 + 591: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 592 20 35 593 12 55 40 + 603: 7(int) Constant 131 + 610: 16(float) Constant 1056964608 + 627: 7(int) Constant 132 + 642: 7(int) Constant 135 + 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 641 20 35 642 12 55 40 + 649: 73(int) Constant 8 + 656: 7(int) Constant 136 + 658: 73(int) Constant 7 + 661: 16(float) Constant 1008981770 + 667: 7(int) Constant 138 + 668: 7(int) Constant 30 + 666: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 667 668 55 + 690: 7(int) Constant 140 + 692(PushConsts): TypeStruct 7(int) + 695: 7(int) Constant 63 + 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 694 9 35 695 22 12 12 13 + 698: 7(int) Constant 144 + 696: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 697 39 35 698 12 38 697 12 13 693 + 699: TypePointer PushConstant 692(PushConsts) + 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 696 292 12 + 701(pushConsts): 699(ptr) Variable PushConstant + 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 703 696 35 698 12 38 703 701(pushConsts) 82 + 704: TypePointer PushConstant 7(int) + 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 292 12 + 714: 7(int) Constant 145 + 715: 7(int) Constant 15 + 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 714 715 55 + 717: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 180 20 35 714 12 713 40 + 721: 19(fvec3) ConstantComposite 243 243 243 + 724: 7(int) Constant 147 + 730: 7(int) Constant 148 + 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 730 40 713 + 739: 7(int) Constant 149 + 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 739 22 729 + 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 742 20 35 739 12 738 40 + 756: 7(int) Constant 150 + 754: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 755 20 35 756 12 738 40 + 773: 7(int) Constant 151 + 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 772 20 35 773 12 738 40 + 788: 7(int) Constant 152 + 800: 7(int) Constant 154 + 810: 7(int) Constant 155 + 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 810 22 729 + 825: 7(int) Constant 156 + 838: 7(int) Constant 157 + 847: 7(int) Constant 158 + 859: 7(int) Constant 161 + 869: 7(int) Constant 162 + 868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 869 40 713 + 878: 7(int) Constant 163 + 877: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 878 22 868 + 893: 7(int) Constant 164 + 906: 7(int) Constant 165 + 915: 7(int) Constant 166 + 927: 7(int) Constant 168 + 937: 7(int) Constant 169 + 936: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 937 22 868 + 949: 7(int) Constant 170 + 962: 7(int) Constant 171 + 974: 7(int) Constant 172 + 986: 7(int) Constant 175 + 996: 7(int) Constant 177 + 997: 7(int) Constant 10 + 998: 123(ivec3) ConstantComposite 997 997 39 14(main): 4 Function None 5 15: Label 127(id): 125(ptr) Variable Function 141(index): 139(ptr) Variable Function - 247(force): 21(ptr) Variable Function - 261(pos): 21(ptr) Variable Function - 271(vel): 21(ptr) Variable Function - 293(param): 21(ptr) Variable Function + 249(force): 21(ptr) Variable Function + 263(pos): 21(ptr) Variable Function + 273(vel): 21(ptr) Variable Function 297(param): 21(ptr) Variable Function - 299(param): 24(ptr) Variable Function - 322(param): 21(ptr) Variable Function - 326(param): 21(ptr) Variable Function - 328(param): 24(ptr) Variable Function - 355(param): 21(ptr) Variable Function - 359(param): 21(ptr) Variable Function - 361(param): 24(ptr) Variable Function - 383(param): 21(ptr) Variable Function - 387(param): 21(ptr) Variable Function - 389(param): 24(ptr) Variable Function - 427(param): 21(ptr) Variable Function - 431(param): 21(ptr) Variable Function - 433(param): 24(ptr) Variable Function - 466(param): 21(ptr) Variable Function - 470(param): 21(ptr) Variable Function - 472(param): 24(ptr) Variable Function - 513(param): 21(ptr) Variable Function - 517(param): 21(ptr) Variable Function - 519(param): 24(ptr) Variable Function - 556(param): 21(ptr) Variable Function - 560(param): 21(ptr) Variable Function - 562(param): 24(ptr) Variable Function - 579(f): 21(ptr) Variable Function - 628(sphereDist): 21(ptr) Variable Function - 701(normal): 21(ptr) Variable Function - 723(a): 21(ptr) Variable Function - 737(b): 21(ptr) Variable Function - 754(c): 21(ptr) Variable Function + 301(param): 21(ptr) Variable Function + 303(param): 24(ptr) Variable Function + 327(param): 21(ptr) Variable Function + 331(param): 21(ptr) Variable Function + 333(param): 24(ptr) Variable Function + 361(param): 21(ptr) Variable Function + 365(param): 21(ptr) Variable Function + 367(param): 24(ptr) Variable Function + 390(param): 21(ptr) Variable Function + 394(param): 21(ptr) Variable Function + 396(param): 24(ptr) Variable Function + 435(param): 21(ptr) Variable Function + 439(param): 21(ptr) Variable Function + 441(param): 24(ptr) Variable Function + 475(param): 21(ptr) Variable Function + 479(param): 21(ptr) Variable Function + 481(param): 24(ptr) Variable Function + 523(param): 21(ptr) Variable Function + 527(param): 21(ptr) Variable Function + 529(param): 24(ptr) Variable Function + 567(param): 21(ptr) Variable Function + 571(param): 21(ptr) Variable Function + 573(param): 24(ptr) Variable Function + 590(f): 21(ptr) Variable Function + 639(sphereDist): 21(ptr) Variable Function + 716(normal): 21(ptr) Variable Function + 740(a): 21(ptr) Variable Function + 753(b): 21(ptr) Variable Function + 770(c): 21(ptr) Variable Function 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 56 56 12 12 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 55 14(main) @@ -630,747 +650,747 @@ void main() SelectionMerge 214 None BranchConditional 212 213 214 213: Label - 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 223 223 12 12 - 228: 7(int) Load 141(index) - 231: 7(int) Load 141(index) - 234: 232(ptr) AccessChain 226 204 231 204 - 235: 71(fvec4) Load 234 - 236: 232(ptr) AccessChain 226 204 228 204 - Store 236 235 - 238: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 239 239 12 12 - 237: 7(int) Load 141(index) - 243: 232(ptr) AccessChain 226 204 237 240 - Store 243 242 - 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 245 245 12 12 + 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 215 + 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 216 216 12 12 + 230: 7(int) Load 141(index) + 233: 7(int) Load 141(index) + 236: 234(ptr) AccessChain 228 204 233 204 + 237: 71(fvec4) Load 236 + 238: 234(ptr) AccessChain 228 204 230 204 + Store 238 237 + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 241 241 12 12 + 239: 7(int) Load 141(index) + 245: 234(ptr) AccessChain 228 204 239 242 + Store 245 244 + 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 247 247 12 12 Return 214: Label - 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 250 250 12 12 - 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(force) 45 - 255: 232(ptr) AccessChain 101(params) 254 - 256: 71(fvec4) Load 255 - 257: 19(fvec3) VectorShuffle 256 256 0 1 2 - 258: 105(ptr) AccessChain 101(params) 240 - 259: 16(float) Load 258 - 260: 19(fvec3) VectorTimesScalar 257 259 - Store 247(force) 260 - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 264 264 12 12 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(pos) 45 - 267: 7(int) Load 141(index) - 268: 232(ptr) AccessChain 201 204 267 204 - 269: 71(fvec4) Load 268 - 270: 19(fvec3) VectorShuffle 269 269 0 1 2 - Store 261(pos) 270 - 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 274 274 12 12 - 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 272 271(vel) 45 - 277: 7(int) Load 141(index) - 278: 232(ptr) AccessChain 201 204 277 240 - 279: 71(fvec4) Load 278 - 280: 19(fvec3) VectorShuffle 279 279 0 1 2 - Store 271(vel) 280 - 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 283 283 12 12 - 281: 139(ptr) AccessChain 127(id) 12 - 284: 7(int) Load 281 - 285: 168(bool) UGreaterThan 284 12 - SelectionMerge 287 None - BranchConditional 285 286 287 - 286: Label - 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 291 291 12 12 - 288: 7(int) Load 141(index) - 292: 7(int) ISub 288 39 - 294: 232(ptr) AccessChain 201 204 292 204 - 295: 71(fvec4) Load 294 - 296: 19(fvec3) VectorShuffle 295 295 0 1 2 - Store 293(param) 296 - 298: 19(fvec3) Load 261(pos) - Store 297(param) 298 - 300: 105(ptr) AccessChain 101(params) 208 - 301: 16(float) Load 300 - Store 299(param) 301 - 302: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 293(param) 297(param) 299(param) - 303: 19(fvec3) Load 247(force) - 304: 19(fvec3) FAdd 303 302 - Store 247(force) 304 - Branch 287 - 287: Label - 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 308 308 12 12 - 305: 139(ptr) AccessChain 127(id) 12 - 309: 7(int) Load 305 - 310: 150(ptr) AccessChain 101(params) 149 12 - 311: 73(int) Load 310 - 312: 73(int) ISub 311 240 - 313: 7(int) Bitcast 312 - 314: 168(bool) ULessThan 309 313 - SelectionMerge 316 None - BranchConditional 314 315 316 - 315: Label - 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 320 320 12 12 - 317: 7(int) Load 141(index) - 321: 7(int) IAdd 317 39 - 323: 232(ptr) AccessChain 201 204 321 204 - 324: 71(fvec4) Load 323 - 325: 19(fvec3) VectorShuffle 324 324 0 1 2 - Store 322(param) 325 - 327: 19(fvec3) Load 261(pos) - Store 326(param) 327 - 329: 105(ptr) AccessChain 101(params) 208 - 330: 16(float) Load 329 - Store 328(param) 330 - 331: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 322(param) 326(param) 328(param) - 332: 19(fvec3) Load 247(force) - 333: 19(fvec3) FAdd 332 331 - Store 247(force) 333 - Branch 316 - 316: Label - 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 337 337 12 12 - 334: 139(ptr) AccessChain 127(id) 39 - 338: 7(int) Load 334 - 339: 150(ptr) AccessChain 101(params) 149 39 - 340: 73(int) Load 339 - 341: 73(int) ISub 340 240 - 342: 7(int) Bitcast 341 - 343: 168(bool) ULessThan 338 342 - SelectionMerge 345 None - BranchConditional 343 344 345 - 344: Label - 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 349 349 12 12 - 346: 7(int) Load 141(index) - 350: 150(ptr) AccessChain 101(params) 149 12 - 351: 73(int) Load 350 - 352: 7(int) Bitcast 351 - 353: 7(int) IAdd 346 352 - 356: 232(ptr) AccessChain 201 204 353 204 - 357: 71(fvec4) Load 356 - 358: 19(fvec3) VectorShuffle 357 357 0 1 2 - Store 355(param) 358 - 360: 19(fvec3) Load 261(pos) - Store 359(param) 360 - 362: 105(ptr) AccessChain 101(params) 354 - 363: 16(float) Load 362 - Store 361(param) 363 - 364: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 355(param) 359(param) 361(param) - 365: 19(fvec3) Load 247(force) - 366: 19(fvec3) FAdd 365 364 - Store 247(force) 366 - Branch 345 - 345: Label - 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 370 370 12 12 - 367: 139(ptr) AccessChain 127(id) 39 - 371: 7(int) Load 367 - 372: 168(bool) UGreaterThan 371 12 - SelectionMerge 374 None - BranchConditional 372 373 374 - 373: Label - 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 377: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 378 378 12 12 - 375: 7(int) Load 141(index) - 379: 150(ptr) AccessChain 101(params) 149 12 - 380: 73(int) Load 379 - 381: 7(int) Bitcast 380 - 382: 7(int) ISub 375 381 - 384: 232(ptr) AccessChain 201 204 382 204 - 385: 71(fvec4) Load 384 - 386: 19(fvec3) VectorShuffle 385 385 0 1 2 - Store 383(param) 386 - 388: 19(fvec3) Load 261(pos) - Store 387(param) 388 - 390: 105(ptr) AccessChain 101(params) 354 - 391: 16(float) Load 390 - Store 389(param) 391 - 392: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 383(param) 387(param) 389(param) - 393: 19(fvec3) Load 247(force) - 394: 19(fvec3) FAdd 393 392 - Store 247(force) 394 - Branch 374 - 374: Label - 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 - 395: 139(ptr) AccessChain 127(id) 12 - 399: 7(int) Load 395 - 400: 168(bool) UGreaterThan 399 12 - SelectionMerge 402 None - BranchConditional 400 401 402 - 401: Label - 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 - 403: 139(ptr) AccessChain 127(id) 39 - 406: 7(int) Load 403 - 407: 150(ptr) AccessChain 101(params) 149 39 - 408: 73(int) Load 407 - 409: 73(int) ISub 408 240 - 410: 7(int) Bitcast 409 - 411: 168(bool) ULessThan 406 410 - Branch 402 - 402: Label - 412: 168(bool) Phi 400 374 411 401 - 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 - SelectionMerge 414 None - BranchConditional 412 413 414 - 413: Label - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 420 420 12 12 - 417: 7(int) Load 141(index) - 421: 150(ptr) AccessChain 101(params) 149 12 - 422: 73(int) Load 421 - 423: 7(int) Bitcast 422 - 424: 7(int) IAdd 417 423 - 425: 7(int) ISub 424 39 - 428: 232(ptr) AccessChain 201 204 425 204 - 429: 71(fvec4) Load 428 - 430: 19(fvec3) VectorShuffle 429 429 0 1 2 - Store 427(param) 430 - 432: 19(fvec3) Load 261(pos) - Store 431(param) 432 - 434: 105(ptr) AccessChain 101(params) 426 - 435: 16(float) Load 434 - Store 433(param) 435 - 436: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 427(param) 431(param) 433(param) - 437: 19(fvec3) Load 247(force) - 438: 19(fvec3) FAdd 437 436 - Store 247(force) 438 - Branch 414 - 414: Label - 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 441: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 442 442 12 12 - 439: 139(ptr) AccessChain 127(id) 12 - 443: 7(int) Load 439 - 444: 168(bool) UGreaterThan 443 12 - SelectionMerge 446 None - BranchConditional 444 445 446 - 445: Label - 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 442 442 12 12 - 447: 139(ptr) AccessChain 127(id) 39 - 450: 7(int) Load 447 - 451: 168(bool) UGreaterThan 450 12 - Branch 446 - 446: Label - 452: 168(bool) Phi 444 414 451 445 - 455: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 442 442 12 12 + 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 252 252 12 12 + 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 250 249(force) 45 + 257: 234(ptr) AccessChain 101(params) 256 + 258: 71(fvec4) Load 257 + 259: 19(fvec3) VectorShuffle 258 258 0 1 2 + 260: 105(ptr) AccessChain 101(params) 242 + 261: 16(float) Load 260 + 262: 19(fvec3) VectorTimesScalar 259 261 + Store 249(force) 262 + 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 266 266 12 12 + 267: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 264 263(pos) 45 + 269: 7(int) Load 141(index) + 270: 234(ptr) AccessChain 201 204 269 204 + 271: 71(fvec4) Load 270 + 272: 19(fvec3) VectorShuffle 271 271 0 1 2 + Store 263(pos) 272 + 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 276 276 12 12 + 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 274 273(vel) 45 + 279: 7(int) Load 141(index) + 280: 234(ptr) AccessChain 201 204 279 242 + 281: 71(fvec4) Load 280 + 282: 19(fvec3) VectorShuffle 281 281 0 1 2 + Store 273(vel) 282 + 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 285 285 12 12 + 283: 139(ptr) AccessChain 127(id) 12 + 286: 7(int) Load 283 + 287: 168(bool) UGreaterThan 286 12 + SelectionMerge 289 None + BranchConditional 287 288 289 + 288: Label + 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 290 + 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 291 291 12 12 + 293: 7(int) Load 141(index) + 296: 7(int) ISub 293 39 + 298: 234(ptr) AccessChain 201 204 296 204 + 299: 71(fvec4) Load 298 + 300: 19(fvec3) VectorShuffle 299 299 0 1 2 + Store 297(param) 300 + 302: 19(fvec3) Load 263(pos) + Store 301(param) 302 + 304: 105(ptr) AccessChain 101(params) 208 + 305: 16(float) Load 304 + Store 303(param) 305 + 306: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 297(param) 301(param) 303(param) + 307: 19(fvec3) Load 249(force) + 308: 19(fvec3) FAdd 307 306 + Store 249(force) 308 + Branch 289 + 289: Label + 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 312 312 12 12 + 309: 139(ptr) AccessChain 127(id) 12 + 313: 7(int) Load 309 + 314: 150(ptr) AccessChain 101(params) 149 12 + 315: 73(int) Load 314 + 316: 73(int) ISub 315 242 + 317: 7(int) Bitcast 316 + 318: 168(bool) ULessThan 313 317 + SelectionMerge 320 None + BranchConditional 318 319 320 + 319: Label + 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 321 + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 322 322 12 12 + 323: 7(int) Load 141(index) + 326: 7(int) IAdd 323 39 + 328: 234(ptr) AccessChain 201 204 326 204 + 329: 71(fvec4) Load 328 + 330: 19(fvec3) VectorShuffle 329 329 0 1 2 + Store 327(param) 330 + 332: 19(fvec3) Load 263(pos) + Store 331(param) 332 + 334: 105(ptr) AccessChain 101(params) 208 + 335: 16(float) Load 334 + Store 333(param) 335 + 336: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 327(param) 331(param) 333(param) + 337: 19(fvec3) Load 249(force) + 338: 19(fvec3) FAdd 337 336 + Store 249(force) 338 + Branch 320 + 320: Label + 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 342 342 12 12 + 339: 139(ptr) AccessChain 127(id) 39 + 343: 7(int) Load 339 + 344: 150(ptr) AccessChain 101(params) 149 39 + 345: 73(int) Load 344 + 346: 73(int) ISub 345 242 + 347: 7(int) Bitcast 346 + 348: 168(bool) ULessThan 343 347 + SelectionMerge 350 None + BranchConditional 348 349 350 + 349: Label + 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 351 + 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 352 352 12 12 + 353: 7(int) Load 141(index) + 356: 150(ptr) AccessChain 101(params) 149 12 + 357: 73(int) Load 356 + 358: 7(int) Bitcast 357 + 359: 7(int) IAdd 353 358 + 362: 234(ptr) AccessChain 201 204 359 204 + 363: 71(fvec4) Load 362 + 364: 19(fvec3) VectorShuffle 363 363 0 1 2 + Store 361(param) 364 + 366: 19(fvec3) Load 263(pos) + Store 365(param) 366 + 368: 105(ptr) AccessChain 101(params) 360 + 369: 16(float) Load 368 + Store 367(param) 369 + 370: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 361(param) 365(param) 367(param) + 371: 19(fvec3) Load 249(force) + 372: 19(fvec3) FAdd 371 370 + Store 249(force) 372 + Branch 350 + 350: Label + 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 376 376 12 12 + 373: 139(ptr) AccessChain 127(id) 39 + 377: 7(int) Load 373 + 378: 168(bool) UGreaterThan 377 12 + SelectionMerge 380 None + BranchConditional 378 379 380 + 379: Label + 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 381 + 385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 382 382 12 12 + 383: 7(int) Load 141(index) + 386: 150(ptr) AccessChain 101(params) 149 12 + 387: 73(int) Load 386 + 388: 7(int) Bitcast 387 + 389: 7(int) ISub 383 388 + 391: 234(ptr) AccessChain 201 204 389 204 + 392: 71(fvec4) Load 391 + 393: 19(fvec3) VectorShuffle 392 392 0 1 2 + Store 390(param) 393 + 395: 19(fvec3) Load 263(pos) + Store 394(param) 395 + 397: 105(ptr) AccessChain 101(params) 360 + 398: 16(float) Load 397 + Store 396(param) 398 + 399: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 390(param) 394(param) 396(param) + 400: 19(fvec3) Load 249(force) + 401: 19(fvec3) FAdd 400 399 + Store 249(force) 401 + Branch 380 + 380: Label + 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 405 405 12 12 + 402: 139(ptr) AccessChain 127(id) 12 + 406: 7(int) Load 402 + 407: 168(bool) UGreaterThan 406 12 + SelectionMerge 409 None + BranchConditional 407 408 409 + 408: Label + 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 405 405 12 12 + 410: 139(ptr) AccessChain 127(id) 39 + 413: 7(int) Load 410 + 414: 150(ptr) AccessChain 101(params) 149 39 + 415: 73(int) Load 414 + 416: 73(int) ISub 415 242 + 417: 7(int) Bitcast 416 + 418: 168(bool) ULessThan 413 417 + Branch 409 + 409: Label + 419: 168(bool) Phi 407 380 418 408 + 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 405 405 12 12 + SelectionMerge 421 None + BranchConditional 419 420 421 + 420: Label + 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 + 428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 425 425 12 12 + 426: 7(int) Load 141(index) + 429: 150(ptr) AccessChain 101(params) 149 12 + 430: 73(int) Load 429 + 431: 7(int) Bitcast 430 + 432: 7(int) IAdd 426 431 + 433: 7(int) ISub 432 39 + 436: 234(ptr) AccessChain 201 204 433 204 + 437: 71(fvec4) Load 436 + 438: 19(fvec3) VectorShuffle 437 437 0 1 2 + Store 435(param) 438 + 440: 19(fvec3) Load 263(pos) + Store 439(param) 440 + 442: 105(ptr) AccessChain 101(params) 434 + 443: 16(float) Load 442 + Store 441(param) 443 + 444: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 435(param) 439(param) 441(param) + 445: 19(fvec3) Load 249(force) + 446: 19(fvec3) FAdd 445 444 + Store 249(force) 446 + Branch 421 + 421: Label + 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 450 450 12 12 + 447: 139(ptr) AccessChain 127(id) 12 + 451: 7(int) Load 447 + 452: 168(bool) UGreaterThan 451 12 SelectionMerge 454 None BranchConditional 452 453 454 453: Label - 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 460 460 12 12 - 457: 7(int) Load 141(index) - 461: 150(ptr) AccessChain 101(params) 149 12 - 462: 73(int) Load 461 - 463: 7(int) Bitcast 462 - 464: 7(int) ISub 457 463 - 465: 7(int) ISub 464 39 - 467: 232(ptr) AccessChain 201 204 465 204 - 468: 71(fvec4) Load 467 - 469: 19(fvec3) VectorShuffle 468 468 0 1 2 - Store 466(param) 469 - 471: 19(fvec3) Load 261(pos) - Store 470(param) 471 - 473: 105(ptr) AccessChain 101(params) 426 - 474: 16(float) Load 473 - Store 472(param) 474 - 475: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 466(param) 470(param) 472(param) - 476: 19(fvec3) Load 247(force) - 477: 19(fvec3) FAdd 476 475 - Store 247(force) 477 + 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 450 450 12 12 + 455: 139(ptr) AccessChain 127(id) 39 + 458: 7(int) Load 455 + 459: 168(bool) UGreaterThan 458 12 Branch 454 454: Label - 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 481 481 12 12 - 478: 139(ptr) AccessChain 127(id) 12 - 482: 7(int) Load 478 - 483: 150(ptr) AccessChain 101(params) 149 12 - 484: 73(int) Load 483 - 485: 73(int) ISub 484 240 - 486: 7(int) Bitcast 485 - 487: 168(bool) ULessThan 482 486 - SelectionMerge 489 None - BranchConditional 487 488 489 - 488: Label - 491: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 481 481 12 12 - 490: 139(ptr) AccessChain 127(id) 39 - 493: 7(int) Load 490 - 494: 150(ptr) AccessChain 101(params) 149 39 - 495: 73(int) Load 494 - 496: 73(int) ISub 495 240 - 497: 7(int) Bitcast 496 - 498: 168(bool) ULessThan 493 497 - Branch 489 - 489: Label - 499: 168(bool) Phi 487 454 498 488 - 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 481 481 12 12 - SelectionMerge 501 None - BranchConditional 499 500 501 - 500: Label - 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 507 507 12 12 - 504: 7(int) Load 141(index) - 508: 150(ptr) AccessChain 101(params) 149 12 - 509: 73(int) Load 508 - 510: 7(int) Bitcast 509 - 511: 7(int) IAdd 504 510 - 512: 7(int) IAdd 511 39 - 514: 232(ptr) AccessChain 201 204 512 204 - 515: 71(fvec4) Load 514 - 516: 19(fvec3) VectorShuffle 515 515 0 1 2 - Store 513(param) 516 - 518: 19(fvec3) Load 261(pos) - Store 517(param) 518 - 520: 105(ptr) AccessChain 101(params) 426 - 521: 16(float) Load 520 - Store 519(param) 521 - 522: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 513(param) 517(param) 519(param) - 523: 19(fvec3) Load 247(force) - 524: 19(fvec3) FAdd 523 522 - Store 247(force) 524 - Branch 501 - 501: Label - 526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 528 528 12 12 - 525: 139(ptr) AccessChain 127(id) 12 - 529: 7(int) Load 525 - 530: 150(ptr) AccessChain 101(params) 149 12 - 531: 73(int) Load 530 - 532: 73(int) ISub 531 240 - 533: 7(int) Bitcast 532 - 534: 168(bool) ULessThan 529 533 - SelectionMerge 536 None - BranchConditional 534 535 536 - 535: Label - 538: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 528 528 12 12 - 537: 139(ptr) AccessChain 127(id) 39 - 540: 7(int) Load 537 - 541: 168(bool) UGreaterThan 540 12 - Branch 536 - 536: Label - 542: 168(bool) Phi 534 501 541 535 - 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 528 528 12 12 - SelectionMerge 544 None - BranchConditional 542 543 544 - 543: Label + 460: 168(bool) Phi 452 421 459 453 + 463: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 464: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 450 450 12 12 + SelectionMerge 462 None + BranchConditional 460 461 462 + 461: Label + 468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 465 + 469: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 466 466 12 12 + 467: 7(int) Load 141(index) + 470: 150(ptr) AccessChain 101(params) 149 12 + 471: 73(int) Load 470 + 472: 7(int) Bitcast 471 + 473: 7(int) ISub 467 472 + 474: 7(int) ISub 473 39 + 476: 234(ptr) AccessChain 201 204 474 204 + 477: 71(fvec4) Load 476 + 478: 19(fvec3) VectorShuffle 477 477 0 1 2 + Store 475(param) 478 + 480: 19(fvec3) Load 263(pos) + Store 479(param) 480 + 482: 105(ptr) AccessChain 101(params) 434 + 483: 16(float) Load 482 + Store 481(param) 483 + 484: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 475(param) 479(param) 481(param) + 485: 19(fvec3) Load 249(force) + 486: 19(fvec3) FAdd 485 484 + Store 249(force) 486 + Branch 462 + 462: Label + 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 490 490 12 12 + 487: 139(ptr) AccessChain 127(id) 12 + 491: 7(int) Load 487 + 492: 150(ptr) AccessChain 101(params) 149 12 + 493: 73(int) Load 492 + 494: 73(int) ISub 493 242 + 495: 7(int) Bitcast 494 + 496: 168(bool) ULessThan 491 495 + SelectionMerge 498 None + BranchConditional 496 497 498 + 497: Label + 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 490 490 12 12 + 499: 139(ptr) AccessChain 127(id) 39 + 502: 7(int) Load 499 + 503: 150(ptr) AccessChain 101(params) 149 39 + 504: 73(int) Load 503 + 505: 73(int) ISub 504 242 + 506: 7(int) Bitcast 505 + 507: 168(bool) ULessThan 502 506 + Branch 498 + 498: Label + 508: 168(bool) Phi 496 462 507 497 + 511: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 490 490 12 12 + SelectionMerge 510 None + BranchConditional 508 509 510 + 509: Label + 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 513 + 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 514 514 12 12 + 515: 7(int) Load 141(index) + 518: 150(ptr) AccessChain 101(params) 149 12 + 519: 73(int) Load 518 + 520: 7(int) Bitcast 519 + 521: 7(int) IAdd 515 520 + 522: 7(int) IAdd 521 39 + 524: 234(ptr) AccessChain 201 204 522 204 + 525: 71(fvec4) Load 524 + 526: 19(fvec3) VectorShuffle 525 525 0 1 2 + Store 523(param) 526 + 528: 19(fvec3) Load 263(pos) + Store 527(param) 528 + 530: 105(ptr) AccessChain 101(params) 434 + 531: 16(float) Load 530 + Store 529(param) 531 + 532: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 523(param) 527(param) 529(param) + 533: 19(fvec3) Load 249(force) + 534: 19(fvec3) FAdd 533 532 + Store 249(force) 534 + Branch 510 + 510: Label + 536: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 538 538 12 12 + 535: 139(ptr) AccessChain 127(id) 12 + 539: 7(int) Load 535 + 540: 150(ptr) AccessChain 101(params) 149 12 + 541: 73(int) Load 540 + 542: 73(int) ISub 541 242 + 543: 7(int) Bitcast 542 + 544: 168(bool) ULessThan 539 543 + SelectionMerge 546 None + BranchConditional 544 545 546 + 545: Label 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 550 550 12 12 - 547: 7(int) Load 141(index) - 551: 150(ptr) AccessChain 101(params) 149 12 - 552: 73(int) Load 551 - 553: 7(int) Bitcast 552 - 554: 7(int) ISub 547 553 - 555: 7(int) IAdd 554 39 - 557: 232(ptr) AccessChain 201 204 555 204 - 558: 71(fvec4) Load 557 - 559: 19(fvec3) VectorShuffle 558 558 0 1 2 - Store 556(param) 559 - 561: 19(fvec3) Load 261(pos) - Store 560(param) 561 - 563: 105(ptr) AccessChain 101(params) 426 - 564: 16(float) Load 563 - Store 562(param) 564 - 565: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 556(param) 560(param) 562(param) - 566: 19(fvec3) Load 247(force) - 567: 19(fvec3) FAdd 566 565 - Store 247(force) 567 - Branch 544 - 544: Label - 570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 572 572 12 12 - 569: 105(ptr) AccessChain 101(params) 568 - 573: 16(float) Load 569 - 574: 16(float) FNegate 573 - 575: 19(fvec3) Load 271(vel) - 576: 19(fvec3) VectorTimesScalar 575 574 - 577: 19(fvec3) Load 247(force) - 578: 19(fvec3) FAdd 577 576 - Store 247(force) 578 - 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 582 582 12 12 - 583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 580 579(f) 45 - 585: 19(fvec3) Load 247(force) - 586: 105(ptr) AccessChain 101(params) 240 - 587: 16(float) Load 586 - 588: 16(float) FDiv 211 587 - 589: 19(fvec3) VectorTimesScalar 585 588 - Store 579(f) 589 - 591: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 592 592 12 12 - 590: 7(int) Load 141(index) - 593: 19(fvec3) Load 261(pos) - 594: 19(fvec3) Load 271(vel) - 595: 105(ptr) AccessChain 101(params) 204 - 596: 16(float) Load 595 - 597: 19(fvec3) VectorTimesScalar 594 596 - 598: 19(fvec3) FAdd 593 597 - 600: 19(fvec3) Load 579(f) - 601: 19(fvec3) VectorTimesScalar 600 599 - 602: 105(ptr) AccessChain 101(params) 204 - 603: 16(float) Load 602 - 604: 19(fvec3) VectorTimesScalar 601 603 - 605: 105(ptr) AccessChain 101(params) 204 - 606: 16(float) Load 605 - 607: 19(fvec3) VectorTimesScalar 604 606 - 608: 19(fvec3) FAdd 598 607 - 609: 16(float) CompositeExtract 608 0 - 610: 16(float) CompositeExtract 608 1 - 611: 16(float) CompositeExtract 608 2 - 612: 71(fvec4) CompositeConstruct 609 610 611 211 - 613: 232(ptr) AccessChain 226 204 590 204 - Store 613 612 - 615: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 616 616 12 12 - 614: 7(int) Load 141(index) - 617: 19(fvec3) Load 271(vel) - 618: 19(fvec3) Load 579(f) - 619: 105(ptr) AccessChain 101(params) 204 - 620: 16(float) Load 619 - 621: 19(fvec3) VectorTimesScalar 618 620 - 622: 19(fvec3) FAdd 617 621 - 623: 16(float) CompositeExtract 622 0 - 624: 16(float) CompositeExtract 622 1 - 625: 16(float) CompositeExtract 622 2 - 626: 71(fvec4) CompositeConstruct 623 624 625 241 - 627: 232(ptr) AccessChain 226 204 614 240 - Store 627 626 - 633: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 631 631 12 12 - 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 629 628(sphereDist) 45 - 634: 7(int) Load 141(index) - 635: 232(ptr) AccessChain 226 204 634 204 - 636: 71(fvec4) Load 635 - 637: 19(fvec3) VectorShuffle 636 636 0 1 2 - 639: 232(ptr) AccessChain 101(params) 638 - 640: 71(fvec4) Load 639 - 641: 19(fvec3) VectorShuffle 640 640 0 1 2 - 642: 19(fvec3) FSub 637 641 - Store 628(sphereDist) 642 - 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 645 645 12 12 - 643: 19(fvec3) Load 628(sphereDist) - 646: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 643 - 648: 105(ptr) AccessChain 101(params) 647 - 649: 16(float) Load 648 - 651: 16(float) FAdd 649 650 - 652: 168(bool) FOrdLessThan 646 651 - SelectionMerge 654 None - BranchConditional 652 653 654 - 653: Label - 656: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 657: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 658 658 12 12 - 655: 7(int) Load 141(index) - 659: 232(ptr) AccessChain 101(params) 638 - 660: 71(fvec4) Load 659 - 661: 19(fvec3) VectorShuffle 660 660 0 1 2 - 662: 19(fvec3) Load 628(sphereDist) - 663: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 662 - 664: 105(ptr) AccessChain 101(params) 647 - 665: 16(float) Load 664 - 666: 16(float) FAdd 665 650 - 667: 19(fvec3) VectorTimesScalar 663 666 - 668: 19(fvec3) FAdd 661 667 - 669: 105(ptr) AccessChain 226 204 655 204 12 - 670: 16(float) CompositeExtract 668 0 - Store 669 670 - 671: 105(ptr) AccessChain 226 204 655 204 39 - 672: 16(float) CompositeExtract 668 1 - Store 671 672 - 673: 105(ptr) AccessChain 226 204 655 204 41 - 674: 16(float) CompositeExtract 668 2 - Store 673 674 - 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 677 677 12 12 - 675: 7(int) Load 141(index) - 678: 232(ptr) AccessChain 226 204 675 240 - Store 678 242 - Branch 654 - 654: Label - 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 696: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 685 685 12 12 - 694: 692(ptr) AccessChain 689(pushConsts) 204 - 697: 7(int) Load 694 - 698: 168(bool) IEqual 697 39 - SelectionMerge 700 None - BranchConditional 698 699 700 - 699: Label - 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 703 703 12 12 - 704: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 702 701(normal) 45 - Store 701(normal) 707 - 709: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 710 710 12 12 - 708: 139(ptr) AccessChain 127(id) 39 - 711: 7(int) Load 708 - 712: 168(bool) UGreaterThan 711 12 - SelectionMerge 714 None - BranchConditional 712 713 714 - 713: Label - 716: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 717: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 718 718 12 12 - 715: 139(ptr) AccessChain 127(id) 12 - 719: 7(int) Load 715 - 720: 168(bool) UGreaterThan 719 12 - SelectionMerge 722 None - BranchConditional 720 721 722 - 721: Label - 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 726 726 12 12 - 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 724 723(a) 45 - 730: 7(int) Load 141(index) - 731: 7(int) ISub 730 39 - 732: 232(ptr) AccessChain 201 204 731 204 - 733: 71(fvec4) Load 732 - 734: 19(fvec3) VectorShuffle 733 733 0 1 2 - 735: 19(fvec3) Load 261(pos) - 736: 19(fvec3) FSub 734 735 - Store 723(a) 736 - 742: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 740 740 12 12 - 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 738 737(b) 45 - 743: 7(int) Load 141(index) - 744: 150(ptr) AccessChain 101(params) 149 12 - 745: 73(int) Load 744 - 746: 7(int) Bitcast 745 - 747: 7(int) ISub 743 746 - 748: 7(int) ISub 747 39 - 749: 232(ptr) AccessChain 201 204 748 204 - 750: 71(fvec4) Load 749 - 751: 19(fvec3) VectorShuffle 750 750 0 1 2 - 752: 19(fvec3) Load 261(pos) - 753: 19(fvec3) FSub 751 752 - Store 737(b) 753 - 759: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 757 757 12 12 - 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 755 754(c) 45 - 760: 7(int) Load 141(index) - 761: 150(ptr) AccessChain 101(params) 149 12 - 762: 73(int) Load 761 - 763: 7(int) Bitcast 762 - 764: 7(int) ISub 760 763 - 765: 232(ptr) AccessChain 201 204 764 204 + 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 538 538 12 12 + 547: 139(ptr) AccessChain 127(id) 39 + 550: 7(int) Load 547 + 551: 168(bool) UGreaterThan 550 12 + Branch 546 + 546: Label + 552: 168(bool) Phi 544 510 551 545 + 555: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 538 538 12 12 + SelectionMerge 554 None + BranchConditional 552 553 554 + 553: Label + 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 557 + 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 558 558 12 12 + 559: 7(int) Load 141(index) + 562: 150(ptr) AccessChain 101(params) 149 12 + 563: 73(int) Load 562 + 564: 7(int) Bitcast 563 + 565: 7(int) ISub 559 564 + 566: 7(int) IAdd 565 39 + 568: 234(ptr) AccessChain 201 204 566 204 + 569: 71(fvec4) Load 568 + 570: 19(fvec3) VectorShuffle 569 569 0 1 2 + Store 567(param) 570 + 572: 19(fvec3) Load 263(pos) + Store 571(param) 572 + 574: 105(ptr) AccessChain 101(params) 434 + 575: 16(float) Load 574 + Store 573(param) 575 + 576: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 567(param) 571(param) 573(param) + 577: 19(fvec3) Load 249(force) + 578: 19(fvec3) FAdd 577 576 + Store 249(force) 578 + Branch 554 + 554: Label + 581: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 582: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 583 583 12 12 + 580: 105(ptr) AccessChain 101(params) 579 + 584: 16(float) Load 580 + 585: 16(float) FNegate 584 + 586: 19(fvec3) Load 273(vel) + 587: 19(fvec3) VectorTimesScalar 586 585 + 588: 19(fvec3) Load 249(force) + 589: 19(fvec3) FAdd 588 587 + Store 249(force) 589 + 595: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 593 593 12 12 + 594: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 591 590(f) 45 + 596: 19(fvec3) Load 249(force) + 597: 105(ptr) AccessChain 101(params) 242 + 598: 16(float) Load 597 + 599: 16(float) FDiv 211 598 + 600: 19(fvec3) VectorTimesScalar 596 599 + Store 590(f) 600 + 602: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 603 603 12 12 + 601: 7(int) Load 141(index) + 604: 19(fvec3) Load 263(pos) + 605: 19(fvec3) Load 273(vel) + 606: 105(ptr) AccessChain 101(params) 204 + 607: 16(float) Load 606 + 608: 19(fvec3) VectorTimesScalar 605 607 + 609: 19(fvec3) FAdd 604 608 + 611: 19(fvec3) Load 590(f) + 612: 19(fvec3) VectorTimesScalar 611 610 + 613: 105(ptr) AccessChain 101(params) 204 + 614: 16(float) Load 613 + 615: 19(fvec3) VectorTimesScalar 612 614 + 616: 105(ptr) AccessChain 101(params) 204 + 617: 16(float) Load 616 + 618: 19(fvec3) VectorTimesScalar 615 617 + 619: 19(fvec3) FAdd 609 618 + 620: 16(float) CompositeExtract 619 0 + 621: 16(float) CompositeExtract 619 1 + 622: 16(float) CompositeExtract 619 2 + 623: 71(fvec4) CompositeConstruct 620 621 622 211 + 624: 234(ptr) AccessChain 228 204 601 204 + Store 624 623 + 626: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 627 627 12 12 + 625: 7(int) Load 141(index) + 628: 19(fvec3) Load 273(vel) + 629: 19(fvec3) Load 590(f) + 630: 105(ptr) AccessChain 101(params) 204 + 631: 16(float) Load 630 + 632: 19(fvec3) VectorTimesScalar 629 631 + 633: 19(fvec3) FAdd 628 632 + 634: 16(float) CompositeExtract 633 0 + 635: 16(float) CompositeExtract 633 1 + 636: 16(float) CompositeExtract 633 2 + 637: 71(fvec4) CompositeConstruct 634 635 636 243 + 638: 234(ptr) AccessChain 228 204 625 242 + Store 638 637 + 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 642 642 12 12 + 643: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 640 639(sphereDist) 45 + 645: 7(int) Load 141(index) + 646: 234(ptr) AccessChain 228 204 645 204 + 647: 71(fvec4) Load 646 + 648: 19(fvec3) VectorShuffle 647 647 0 1 2 + 650: 234(ptr) AccessChain 101(params) 649 + 651: 71(fvec4) Load 650 + 652: 19(fvec3) VectorShuffle 651 651 0 1 2 + 653: 19(fvec3) FSub 648 652 + Store 639(sphereDist) 653 + 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 656 656 12 12 + 654: 19(fvec3) Load 639(sphereDist) + 657: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 654 + 659: 105(ptr) AccessChain 101(params) 658 + 660: 16(float) Load 659 + 662: 16(float) FAdd 660 661 + 663: 168(bool) FOrdLessThan 657 662 + SelectionMerge 665 None + BranchConditional 663 664 665 + 664: Label + 670: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 666 + 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 667 667 12 12 + 669: 7(int) Load 141(index) + 672: 234(ptr) AccessChain 101(params) 649 + 673: 71(fvec4) Load 672 + 674: 19(fvec3) VectorShuffle 673 673 0 1 2 + 675: 19(fvec3) Load 639(sphereDist) + 676: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 675 + 677: 105(ptr) AccessChain 101(params) 658 + 678: 16(float) Load 677 + 679: 16(float) FAdd 678 661 + 680: 19(fvec3) VectorTimesScalar 676 679 + 681: 19(fvec3) FAdd 674 680 + 682: 105(ptr) AccessChain 228 204 669 204 12 + 683: 16(float) CompositeExtract 681 0 + Store 682 683 + 684: 105(ptr) AccessChain 228 204 669 204 39 + 685: 16(float) CompositeExtract 681 1 + Store 684 685 + 686: 105(ptr) AccessChain 228 204 669 204 41 + 687: 16(float) CompositeExtract 681 2 + Store 686 687 + 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 690 690 12 12 + 688: 7(int) Load 141(index) + 691: 234(ptr) AccessChain 228 204 688 242 + Store 691 244 + Branch 665 + 665: Label + 707: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 708: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 698 698 12 12 + 706: 704(ptr) AccessChain 701(pushConsts) 204 + 709: 7(int) Load 706 + 710: 168(bool) IEqual 709 39 + SelectionMerge 712 None + BranchConditional 710 711 712 + 711: Label + 719: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 713 + 720: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 714 714 12 12 + 718: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 717 716(normal) 45 + Store 716(normal) 721 + 723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 724 724 12 12 + 722: 139(ptr) AccessChain 127(id) 39 + 725: 7(int) Load 722 + 726: 168(bool) UGreaterThan 725 12 + SelectionMerge 728 None + BranchConditional 726 727 728 + 727: Label + 732: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 729 + 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 730 730 12 12 + 731: 139(ptr) AccessChain 127(id) 12 + 734: 7(int) Load 731 + 735: 168(bool) UGreaterThan 734 12 + SelectionMerge 737 None + BranchConditional 735 736 737 + 736: Label + 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 738 + 745: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 739 739 12 12 + 743: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 741 740(a) 45 + 746: 7(int) Load 141(index) + 747: 7(int) ISub 746 39 + 748: 234(ptr) AccessChain 201 204 747 204 + 749: 71(fvec4) Load 748 + 750: 19(fvec3) VectorShuffle 749 749 0 1 2 + 751: 19(fvec3) Load 263(pos) + 752: 19(fvec3) FSub 750 751 + Store 740(a) 752 + 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 756 756 12 12 + 757: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 754 753(b) 45 + 759: 7(int) Load 141(index) + 760: 150(ptr) AccessChain 101(params) 149 12 + 761: 73(int) Load 760 + 762: 7(int) Bitcast 761 + 763: 7(int) ISub 759 762 + 764: 7(int) ISub 763 39 + 765: 234(ptr) AccessChain 201 204 764 204 766: 71(fvec4) Load 765 767: 19(fvec3) VectorShuffle 766 766 0 1 2 - 768: 19(fvec3) Load 261(pos) + 768: 19(fvec3) Load 263(pos) 769: 19(fvec3) FSub 767 768 - Store 754(c) 769 - 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 772 772 12 12 - 770: 19(fvec3) Load 723(a) - 773: 19(fvec3) Load 737(b) - 774: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 770 773 - 775: 19(fvec3) Load 737(b) - 776: 19(fvec3) Load 754(c) - 777: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 775 776 - 778: 19(fvec3) FAdd 774 777 - 779: 19(fvec3) Load 701(normal) - 780: 19(fvec3) FAdd 779 778 - Store 701(normal) 780 - Branch 722 - 722: Label - 782: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 783: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 784 784 12 12 - 781: 139(ptr) AccessChain 127(id) 12 - 785: 7(int) Load 781 - 786: 150(ptr) AccessChain 101(params) 149 12 - 787: 73(int) Load 786 - 788: 73(int) ISub 787 240 - 789: 7(int) Bitcast 788 - 790: 168(bool) ULessThan 785 789 - SelectionMerge 792 None - BranchConditional 790 791 792 - 791: Label - 794: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 796 796 12 12 - 793: 7(int) Load 141(index) - 797: 150(ptr) AccessChain 101(params) 149 12 - 798: 73(int) Load 797 - 799: 7(int) Bitcast 798 - 800: 7(int) ISub 793 799 - 801: 232(ptr) AccessChain 201 204 800 204 - 802: 71(fvec4) Load 801 - 803: 19(fvec3) VectorShuffle 802 802 0 1 2 - 804: 19(fvec3) Load 261(pos) - 805: 19(fvec3) FSub 803 804 - Store 723(a) 805 - 807: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 808 808 12 12 - 806: 7(int) Load 141(index) - 809: 150(ptr) AccessChain 101(params) 149 12 - 810: 73(int) Load 809 - 811: 7(int) Bitcast 810 - 812: 7(int) ISub 806 811 - 813: 7(int) IAdd 812 39 - 814: 232(ptr) AccessChain 201 204 813 204 - 815: 71(fvec4) Load 814 - 816: 19(fvec3) VectorShuffle 815 815 0 1 2 - 817: 19(fvec3) Load 261(pos) - 818: 19(fvec3) FSub 816 817 - Store 737(b) 818 - 820: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 821 821 12 12 - 819: 7(int) Load 141(index) - 822: 7(int) IAdd 819 39 - 823: 232(ptr) AccessChain 201 204 822 204 - 824: 71(fvec4) Load 823 - 825: 19(fvec3) VectorShuffle 824 824 0 1 2 - 826: 19(fvec3) Load 261(pos) - 827: 19(fvec3) FSub 825 826 - Store 754(c) 827 - 829: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 830 830 12 12 - 828: 19(fvec3) Load 723(a) - 831: 19(fvec3) Load 737(b) - 832: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 828 831 - 833: 19(fvec3) Load 737(b) - 834: 19(fvec3) Load 754(c) - 835: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 833 834 - 836: 19(fvec3) FAdd 832 835 - 837: 19(fvec3) Load 701(normal) - 838: 19(fvec3) FAdd 837 836 - Store 701(normal) 838 - Branch 792 - 792: Label - Branch 714 - 714: Label - 840: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 841: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 842 842 12 12 - 839: 139(ptr) AccessChain 127(id) 39 - 843: 7(int) Load 839 - 844: 150(ptr) AccessChain 101(params) 149 39 - 845: 73(int) Load 844 - 846: 73(int) ISub 845 240 - 847: 7(int) Bitcast 846 - 848: 168(bool) ULessThan 843 847 - SelectionMerge 850 None - BranchConditional 848 849 850 - 849: Label - 852: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 853: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 854 854 12 12 - 851: 139(ptr) AccessChain 127(id) 12 - 855: 7(int) Load 851 - 856: 168(bool) UGreaterThan 855 12 - SelectionMerge 858 None - BranchConditional 856 857 858 - 857: Label - 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 861: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 862 862 12 12 - 859: 7(int) Load 141(index) - 863: 150(ptr) AccessChain 101(params) 149 12 - 864: 73(int) Load 863 - 865: 7(int) Bitcast 864 - 866: 7(int) IAdd 859 865 - 867: 232(ptr) AccessChain 201 204 866 204 - 868: 71(fvec4) Load 867 - 869: 19(fvec3) VectorShuffle 868 868 0 1 2 - 870: 19(fvec3) Load 261(pos) - 871: 19(fvec3) FSub 869 870 - Store 723(a) 871 - 873: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 874 874 12 12 - 872: 7(int) Load 141(index) - 875: 150(ptr) AccessChain 101(params) 149 12 - 876: 73(int) Load 875 - 877: 7(int) Bitcast 876 - 878: 7(int) IAdd 872 877 - 879: 7(int) ISub 878 39 - 880: 232(ptr) AccessChain 201 204 879 204 - 881: 71(fvec4) Load 880 - 882: 19(fvec3) VectorShuffle 881 881 0 1 2 - 883: 19(fvec3) Load 261(pos) - 884: 19(fvec3) FSub 882 883 - Store 737(b) 884 - 886: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 887 887 12 12 - 885: 7(int) Load 141(index) - 888: 7(int) ISub 885 39 - 889: 232(ptr) AccessChain 201 204 888 204 - 890: 71(fvec4) Load 889 - 891: 19(fvec3) VectorShuffle 890 890 0 1 2 - 892: 19(fvec3) Load 261(pos) - 893: 19(fvec3) FSub 891 892 - Store 754(c) 893 - 895: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 896 896 12 12 - 894: 19(fvec3) Load 723(a) - 897: 19(fvec3) Load 737(b) - 898: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 894 897 - 899: 19(fvec3) Load 737(b) - 900: 19(fvec3) Load 754(c) - 901: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 899 900 - 902: 19(fvec3) FAdd 898 901 - 903: 19(fvec3) Load 701(normal) - 904: 19(fvec3) FAdd 903 902 - Store 701(normal) 904 - Branch 858 - 858: Label - 906: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 907: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 908 908 12 12 - 905: 139(ptr) AccessChain 127(id) 12 - 909: 7(int) Load 905 - 910: 150(ptr) AccessChain 101(params) 149 12 - 911: 73(int) Load 910 - 912: 73(int) ISub 911 240 - 913: 7(int) Bitcast 912 - 914: 168(bool) ULessThan 909 913 - SelectionMerge 916 None - BranchConditional 914 915 916 - 915: Label - 918: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 919: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 920 920 12 12 - 917: 7(int) Load 141(index) - 921: 7(int) IAdd 917 39 - 922: 232(ptr) AccessChain 201 204 921 204 - 923: 71(fvec4) Load 922 - 924: 19(fvec3) VectorShuffle 923 923 0 1 2 - 925: 19(fvec3) Load 261(pos) - 926: 19(fvec3) FSub 924 925 - Store 723(a) 926 - 928: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 929 929 12 12 - 927: 7(int) Load 141(index) - 930: 150(ptr) AccessChain 101(params) 149 12 - 931: 73(int) Load 930 - 932: 7(int) Bitcast 931 - 933: 7(int) IAdd 927 932 - 934: 7(int) IAdd 933 39 - 935: 232(ptr) AccessChain 201 204 934 204 - 936: 71(fvec4) Load 935 - 937: 19(fvec3) VectorShuffle 936 936 0 1 2 - 938: 19(fvec3) Load 261(pos) - 939: 19(fvec3) FSub 937 938 - Store 737(b) 939 - 941: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 942 942 12 12 - 940: 7(int) Load 141(index) - 943: 150(ptr) AccessChain 101(params) 149 12 - 944: 73(int) Load 943 - 945: 7(int) Bitcast 944 - 946: 7(int) IAdd 940 945 - 947: 232(ptr) AccessChain 201 204 946 204 - 948: 71(fvec4) Load 947 - 949: 19(fvec3) VectorShuffle 948 948 0 1 2 - 950: 19(fvec3) Load 261(pos) - 951: 19(fvec3) FSub 949 950 - Store 754(c) 951 - 953: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 954 954 12 12 - 952: 19(fvec3) Load 723(a) - 955: 19(fvec3) Load 737(b) - 956: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 952 955 - 957: 19(fvec3) Load 737(b) - 958: 19(fvec3) Load 754(c) - 959: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 957 958 - 960: 19(fvec3) FAdd 956 959 - 961: 19(fvec3) Load 701(normal) - 962: 19(fvec3) FAdd 961 960 - Store 701(normal) 962 - Branch 916 - 916: Label - Branch 850 - 850: Label - 964: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 965: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 966 966 12 12 - 963: 7(int) Load 141(index) - 967: 19(fvec3) Load 701(normal) - 968: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 967 - 969: 16(float) CompositeExtract 968 0 - 970: 16(float) CompositeExtract 968 1 - 971: 16(float) CompositeExtract 968 2 - 972: 71(fvec4) CompositeConstruct 969 970 971 241 - 973: 232(ptr) AccessChain 226 204 963 568 - Store 973 972 - Branch 700 - 700: Label - 974: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 975: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 976 976 12 12 + Store 753(b) 769 + 775: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 773 773 12 12 + 774: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 771 770(c) 45 + 776: 7(int) Load 141(index) + 777: 150(ptr) AccessChain 101(params) 149 12 + 778: 73(int) Load 777 + 779: 7(int) Bitcast 778 + 780: 7(int) ISub 776 779 + 781: 234(ptr) AccessChain 201 204 780 204 + 782: 71(fvec4) Load 781 + 783: 19(fvec3) VectorShuffle 782 782 0 1 2 + 784: 19(fvec3) Load 263(pos) + 785: 19(fvec3) FSub 783 784 + Store 770(c) 785 + 787: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 788 788 12 12 + 786: 19(fvec3) Load 740(a) + 789: 19(fvec3) Load 753(b) + 790: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 786 789 + 791: 19(fvec3) Load 753(b) + 792: 19(fvec3) Load 770(c) + 793: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 791 792 + 794: 19(fvec3) FAdd 790 793 + 795: 19(fvec3) Load 716(normal) + 796: 19(fvec3) FAdd 795 794 + Store 716(normal) 796 + Branch 737 + 737: Label + 798: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 729 + 799: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 800 800 12 12 + 797: 139(ptr) AccessChain 127(id) 12 + 801: 7(int) Load 797 + 802: 150(ptr) AccessChain 101(params) 149 12 + 803: 73(int) Load 802 + 804: 73(int) ISub 803 242 + 805: 7(int) Bitcast 804 + 806: 168(bool) ULessThan 801 805 + SelectionMerge 808 None + BranchConditional 806 807 808 + 807: Label + 812: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 809 + 813: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 810 810 12 12 + 811: 7(int) Load 141(index) + 814: 150(ptr) AccessChain 101(params) 149 12 + 815: 73(int) Load 814 + 816: 7(int) Bitcast 815 + 817: 7(int) ISub 811 816 + 818: 234(ptr) AccessChain 201 204 817 204 + 819: 71(fvec4) Load 818 + 820: 19(fvec3) VectorShuffle 819 819 0 1 2 + 821: 19(fvec3) Load 263(pos) + 822: 19(fvec3) FSub 820 821 + Store 740(a) 822 + 824: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 825 825 12 12 + 823: 7(int) Load 141(index) + 826: 150(ptr) AccessChain 101(params) 149 12 + 827: 73(int) Load 826 + 828: 7(int) Bitcast 827 + 829: 7(int) ISub 823 828 + 830: 7(int) IAdd 829 39 + 831: 234(ptr) AccessChain 201 204 830 204 + 832: 71(fvec4) Load 831 + 833: 19(fvec3) VectorShuffle 832 832 0 1 2 + 834: 19(fvec3) Load 263(pos) + 835: 19(fvec3) FSub 833 834 + Store 753(b) 835 + 837: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 838 838 12 12 + 836: 7(int) Load 141(index) + 839: 7(int) IAdd 836 39 + 840: 234(ptr) AccessChain 201 204 839 204 + 841: 71(fvec4) Load 840 + 842: 19(fvec3) VectorShuffle 841 841 0 1 2 + 843: 19(fvec3) Load 263(pos) + 844: 19(fvec3) FSub 842 843 + Store 770(c) 844 + 846: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 847 847 12 12 + 845: 19(fvec3) Load 740(a) + 848: 19(fvec3) Load 753(b) + 849: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 845 848 + 850: 19(fvec3) Load 753(b) + 851: 19(fvec3) Load 770(c) + 852: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 850 851 + 853: 19(fvec3) FAdd 849 852 + 854: 19(fvec3) Load 716(normal) + 855: 19(fvec3) FAdd 854 853 + Store 716(normal) 855 + Branch 808 + 808: Label + Branch 728 + 728: Label + 857: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 713 + 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 859 859 12 12 + 856: 139(ptr) AccessChain 127(id) 39 + 860: 7(int) Load 856 + 861: 150(ptr) AccessChain 101(params) 149 39 + 862: 73(int) Load 861 + 863: 73(int) ISub 862 242 + 864: 7(int) Bitcast 863 + 865: 168(bool) ULessThan 860 864 + SelectionMerge 867 None + BranchConditional 865 866 867 + 866: Label + 871: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 868 + 872: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 869 869 12 12 + 870: 139(ptr) AccessChain 127(id) 12 + 873: 7(int) Load 870 + 874: 168(bool) UGreaterThan 873 12 + SelectionMerge 876 None + BranchConditional 874 875 876 + 875: Label + 880: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 877 + 881: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 878 878 12 12 + 879: 7(int) Load 141(index) + 882: 150(ptr) AccessChain 101(params) 149 12 + 883: 73(int) Load 882 + 884: 7(int) Bitcast 883 + 885: 7(int) IAdd 879 884 + 886: 234(ptr) AccessChain 201 204 885 204 + 887: 71(fvec4) Load 886 + 888: 19(fvec3) VectorShuffle 887 887 0 1 2 + 889: 19(fvec3) Load 263(pos) + 890: 19(fvec3) FSub 888 889 + Store 740(a) 890 + 892: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 893 893 12 12 + 891: 7(int) Load 141(index) + 894: 150(ptr) AccessChain 101(params) 149 12 + 895: 73(int) Load 894 + 896: 7(int) Bitcast 895 + 897: 7(int) IAdd 891 896 + 898: 7(int) ISub 897 39 + 899: 234(ptr) AccessChain 201 204 898 204 + 900: 71(fvec4) Load 899 + 901: 19(fvec3) VectorShuffle 900 900 0 1 2 + 902: 19(fvec3) Load 263(pos) + 903: 19(fvec3) FSub 901 902 + Store 753(b) 903 + 905: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 906 906 12 12 + 904: 7(int) Load 141(index) + 907: 7(int) ISub 904 39 + 908: 234(ptr) AccessChain 201 204 907 204 + 909: 71(fvec4) Load 908 + 910: 19(fvec3) VectorShuffle 909 909 0 1 2 + 911: 19(fvec3) Load 263(pos) + 912: 19(fvec3) FSub 910 911 + Store 770(c) 912 + 914: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 915 915 12 12 + 913: 19(fvec3) Load 740(a) + 916: 19(fvec3) Load 753(b) + 917: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 913 916 + 918: 19(fvec3) Load 753(b) + 919: 19(fvec3) Load 770(c) + 920: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 918 919 + 921: 19(fvec3) FAdd 917 920 + 922: 19(fvec3) Load 716(normal) + 923: 19(fvec3) FAdd 922 921 + Store 716(normal) 923 + Branch 876 + 876: Label + 925: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 868 + 926: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 927 927 12 12 + 924: 139(ptr) AccessChain 127(id) 12 + 928: 7(int) Load 924 + 929: 150(ptr) AccessChain 101(params) 149 12 + 930: 73(int) Load 929 + 931: 73(int) ISub 930 242 + 932: 7(int) Bitcast 931 + 933: 168(bool) ULessThan 928 932 + SelectionMerge 935 None + BranchConditional 933 934 935 + 934: Label + 939: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 936 + 940: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 937 937 12 12 + 938: 7(int) Load 141(index) + 941: 7(int) IAdd 938 39 + 942: 234(ptr) AccessChain 201 204 941 204 + 943: 71(fvec4) Load 942 + 944: 19(fvec3) VectorShuffle 943 943 0 1 2 + 945: 19(fvec3) Load 263(pos) + 946: 19(fvec3) FSub 944 945 + Store 740(a) 946 + 948: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 949 949 12 12 + 947: 7(int) Load 141(index) + 950: 150(ptr) AccessChain 101(params) 149 12 + 951: 73(int) Load 950 + 952: 7(int) Bitcast 951 + 953: 7(int) IAdd 947 952 + 954: 7(int) IAdd 953 39 + 955: 234(ptr) AccessChain 201 204 954 204 + 956: 71(fvec4) Load 955 + 957: 19(fvec3) VectorShuffle 956 956 0 1 2 + 958: 19(fvec3) Load 263(pos) + 959: 19(fvec3) FSub 957 958 + Store 753(b) 959 + 961: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 962 962 12 12 + 960: 7(int) Load 141(index) + 963: 150(ptr) AccessChain 101(params) 149 12 + 964: 73(int) Load 963 + 965: 7(int) Bitcast 964 + 966: 7(int) IAdd 960 965 + 967: 234(ptr) AccessChain 201 204 966 204 + 968: 71(fvec4) Load 967 + 969: 19(fvec3) VectorShuffle 968 968 0 1 2 + 970: 19(fvec3) Load 263(pos) + 971: 19(fvec3) FSub 969 970 + Store 770(c) 971 + 973: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 974 974 12 12 + 972: 19(fvec3) Load 740(a) + 975: 19(fvec3) Load 753(b) + 976: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 972 975 + 977: 19(fvec3) Load 753(b) + 978: 19(fvec3) Load 770(c) + 979: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 977 978 + 980: 19(fvec3) FAdd 976 979 + 981: 19(fvec3) Load 716(normal) + 982: 19(fvec3) FAdd 981 980 + Store 716(normal) 982 + Branch 935 + 935: Label + Branch 867 + 867: Label + 984: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 713 + 985: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 986 986 12 12 + 983: 7(int) Load 141(index) + 987: 19(fvec3) Load 716(normal) + 988: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 987 + 989: 16(float) CompositeExtract 988 0 + 990: 16(float) CompositeExtract 988 1 + 991: 16(float) CompositeExtract 988 2 + 992: 71(fvec4) CompositeConstruct 989 990 991 243 + 993: 234(ptr) AccessChain 228 204 983 579 + Store 993 992 + Branch 712 + 712: Label + 994: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 995: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 996 996 12 12 Return FunctionEnd 31(springForce(vf3;vf3;f1;): 19(fvec3) Function None 26 diff --git a/Test/baseResults/spv.debuginfo.glsl.frag.out b/Test/baseResults/spv.debuginfo.glsl.frag.out index 3214f97a..387041da 100644 --- a/Test/baseResults/spv.debuginfo.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.glsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 879 +// Id's are bound by 886 Capability Shader Capability ImageQuery @@ -9,7 +9,7 @@ spv.debuginfo.glsl.frag 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 14 "main" 499 552 + EntryPoint Fragment 14 "main" 503 557 ExecutionMode 14 OriginUpperLeft 2: String "spv.debuginfo.glsl.frag" 8: String "uint" @@ -230,53 +230,53 @@ void main() 105: String "global_var" 120: String "shadowCoord" 142: String "bool" - 164: String "dist" - 171: String "type.2d.image" - 172: String "@type.2d.image" - 176: String "type.sampled.image" - 177: String "@type.sampled.image" - 182: String "samplerShadowMap" - 233: String "texDim" - 245: String "scale" - 252: String "dx" - 266: String "dy" - 278: String "shadowFactor" - 284: String "count" - 290: String "range" - 297: String "x" - 317: String "y" - 383: String "i" - 401: String "shadowClip" - 411: String "color" - 416: String "viewMatrix" - 419: String "Light" - 425: String "lights" - 428: String "debugDisplayTarget" - 432: String "UBO" - 437: String "ubo" - 483: String "fragPos" - 495: String "samplerposition" - 501: String "inUV" - 507: String "normal" - 513: String "samplerNormal" - 520: String "albedo" - 526: String "samplerAlbedo" - 554: String "outFragColor" - 648: String "N" - 672: String "L" - 698: String "V" - 713: String "lightCosInnerAngle" - 720: String "lightCosOuterAngle" - 727: String "lightRange" - 734: String "dir" - 750: String "cosDir" - 759: String "spotEffect" - 769: String "heightAttenuation" - 778: String "NdotL" - 788: String "diff" - 796: String "R" - 806: String "NdotR" - 816: String "spec" + 167: String "dist" + 173: String "type.2d.image" + 174: String "@type.2d.image" + 178: String "type.sampled.image" + 179: String "@type.sampled.image" + 184: String "samplerShadowMap" + 237: String "texDim" + 249: String "scale" + 256: String "dx" + 270: String "dy" + 282: String "shadowFactor" + 288: String "count" + 294: String "range" + 301: String "x" + 321: String "y" + 387: String "i" + 405: String "shadowClip" + 415: String "color" + 420: String "viewMatrix" + 423: String "Light" + 429: String "lights" + 432: String "debugDisplayTarget" + 436: String "UBO" + 441: String "ubo" + 487: String "fragPos" + 499: String "samplerposition" + 505: String "inUV" + 511: String "normal" + 517: String "samplerNormal" + 524: String "albedo" + 530: String "samplerAlbedo" + 559: String "outFragColor" + 653: String "N" + 677: String "L" + 703: String "V" + 718: String "lightCosInnerAngle" + 725: String "lightCosOuterAngle" + 732: String "lightRange" + 739: String "dir" + 755: String "cosDir" + 764: String "spotEffect" + 774: String "heightAttenuation" + 783: String "NdotL" + 793: String "diff" + 801: String "R" + 811: String "NdotR" + 821: String "spec" Name 14 "main" Name 37 "textureProj(vf4;f1;vf2;" Name 34 "P" @@ -291,90 +291,90 @@ void main() Name 103 "global_var" Name 112 "shadow" Name 118 "shadowCoord" - Name 162 "dist" - Name 180 "samplerShadowMap" - Name 231 "texDim" - Name 243 "scale" - Name 250 "dx" - Name 264 "dy" - Name 276 "shadowFactor" - Name 282 "count" - Name 288 "range" - Name 295 "x" - Name 315 "y" - Name 348 "param" - Name 350 "param" + Name 165 "dist" + Name 182 "samplerShadowMap" + Name 235 "texDim" + Name 247 "scale" + Name 254 "dx" + Name 268 "dy" + Name 280 "shadowFactor" + Name 286 "count" + Name 292 "range" + Name 299 "x" + Name 319 "y" Name 352 "param" - Name 381 "i" - Name 399 "shadowClip" - Name 409 "Light" - MemberName 409(Light) 0 "position" - MemberName 409(Light) 1 "target" - MemberName 409(Light) 2 "color" - MemberName 409(Light) 3 "viewMatrix" - Name 422 "UBO" - MemberName 422(UBO) 0 "viewPos" - MemberName 422(UBO) 1 "lights" - MemberName 422(UBO) 2 "useShadows" - MemberName 422(UBO) 3 "debugDisplayTarget" - Name 435 "ubo" - Name 449 "shadowFactor" - Name 456 "param" - Name 458 "param" - Name 481 "fragPos" - Name 493 "samplerposition" - Name 499 "inUV" - Name 505 "normal" - Name 511 "samplerNormal" - Name 518 "albedo" - Name 524 "samplerAlbedo" - Name 552 "outFragColor" - Name 557 "param" - Name 560 "param" - Name 636 "fragcolor" - Name 646 "N" - Name 654 "i" - Name 670 "L" - Name 685 "dist" - Name 696 "V" - Name 711 "lightCosInnerAngle" - Name 718 "lightCosOuterAngle" - Name 725 "lightRange" - Name 732 "dir" - Name 748 "cosDir" - Name 757 "spotEffect" - Name 767 "heightAttenuation" - Name 776 "NdotL" - Name 786 "diff" - Name 794 "R" - Name 804 "NdotR" - Name 814 "spec" - Name 861 "param" - Name 866 "param" - Decorate 180(samplerShadowMap) Binding 5 - Decorate 180(samplerShadowMap) DescriptorSet 0 - MemberDecorate 409(Light) 0 Offset 0 - MemberDecorate 409(Light) 1 Offset 16 - MemberDecorate 409(Light) 2 Offset 32 - MemberDecorate 409(Light) 3 ColMajor - MemberDecorate 409(Light) 3 MatrixStride 16 - MemberDecorate 409(Light) 3 Offset 48 - Decorate 420 ArrayStride 112 - Decorate 422(UBO) Block - MemberDecorate 422(UBO) 0 Offset 0 - MemberDecorate 422(UBO) 1 Offset 16 - MemberDecorate 422(UBO) 2 Offset 352 - MemberDecorate 422(UBO) 3 Offset 356 - Decorate 435(ubo) Binding 4 - Decorate 435(ubo) DescriptorSet 0 - Decorate 493(samplerposition) Binding 1 - Decorate 493(samplerposition) DescriptorSet 0 - Decorate 499(inUV) Location 0 - Decorate 511(samplerNormal) Binding 2 - Decorate 511(samplerNormal) DescriptorSet 0 - Decorate 524(samplerAlbedo) Binding 3 - Decorate 524(samplerAlbedo) DescriptorSet 0 - Decorate 552(outFragColor) Location 0 + Name 354 "param" + Name 356 "param" + Name 385 "i" + Name 403 "shadowClip" + Name 413 "Light" + MemberName 413(Light) 0 "position" + MemberName 413(Light) 1 "target" + MemberName 413(Light) 2 "color" + MemberName 413(Light) 3 "viewMatrix" + Name 426 "UBO" + MemberName 426(UBO) 0 "viewPos" + MemberName 426(UBO) 1 "lights" + MemberName 426(UBO) 2 "useShadows" + MemberName 426(UBO) 3 "debugDisplayTarget" + Name 439 "ubo" + Name 453 "shadowFactor" + Name 460 "param" + Name 462 "param" + Name 485 "fragPos" + Name 497 "samplerposition" + Name 503 "inUV" + Name 509 "normal" + Name 515 "samplerNormal" + Name 522 "albedo" + Name 528 "samplerAlbedo" + Name 557 "outFragColor" + Name 562 "param" + Name 565 "param" + Name 641 "fragcolor" + Name 651 "N" + Name 659 "i" + Name 675 "L" + Name 690 "dist" + Name 701 "V" + Name 716 "lightCosInnerAngle" + Name 723 "lightCosOuterAngle" + Name 730 "lightRange" + Name 737 "dir" + Name 753 "cosDir" + Name 762 "spotEffect" + Name 772 "heightAttenuation" + Name 781 "NdotL" + Name 791 "diff" + Name 799 "R" + Name 809 "NdotR" + Name 819 "spec" + Name 869 "param" + Name 873 "param" + Decorate 182(samplerShadowMap) Binding 5 + Decorate 182(samplerShadowMap) DescriptorSet 0 + MemberDecorate 413(Light) 0 Offset 0 + MemberDecorate 413(Light) 1 Offset 16 + MemberDecorate 413(Light) 2 Offset 32 + MemberDecorate 413(Light) 3 ColMajor + MemberDecorate 413(Light) 3 MatrixStride 16 + MemberDecorate 413(Light) 3 Offset 48 + Decorate 424 ArrayStride 112 + Decorate 426(UBO) Block + MemberDecorate 426(UBO) 0 Offset 0 + MemberDecorate 426(UBO) 1 Offset 16 + MemberDecorate 426(UBO) 2 Offset 352 + MemberDecorate 426(UBO) 3 Offset 356 + Decorate 439(ubo) Binding 4 + Decorate 439(ubo) DescriptorSet 0 + Decorate 497(samplerposition) Binding 1 + Decorate 497(samplerposition) DescriptorSet 0 + Decorate 503(inUV) Location 0 + Decorate 515(samplerNormal) Binding 2 + Decorate 515(samplerNormal) DescriptorSet 0 + Decorate 528(samplerAlbedo) Binding 3 + Decorate 528(samplerAlbedo) DescriptorSet 0 + Decorate 557(outFragColor) Location 0 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -448,539 +448,546 @@ void main() 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 142 10 28 12 146: 7(int) Constant 65 148: 16(float) Constant 3212836864 - 165: 7(int) Constant 67 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 18 41 165 12 40 20 - 169: TypeImage 16(float) 2D array sampled format:Unknown - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 12 41 165 12 44 172 173 13 - 174: TypeSampledImage 169 - 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 176 12 41 165 12 44 177 173 13 - 178: TypePointer UniformConstant 174 - 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 175 12 12 -180(samplerShadowMap): 178(ptr) Variable UniformConstant - 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 182 175 41 165 12 44 182 180(samplerShadowMap) 107 - 196: 7(int) Constant 68 - 198: 16(float) Constant 0 - 213: 16(float) Constant 1048576000 + 163: 7(int) Constant 67 + 164: 7(int) Constant 14 + 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 163 164 40 + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 167 18 41 163 12 162 20 + 171: TypeImage 16(float) 2D array sampled format:Unknown + 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 173 12 41 163 12 44 174 175 13 + 176: TypeSampledImage 171 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 178 12 41 163 12 44 179 175 13 + 180: TypePointer UniformConstant 176 + 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 177 12 12 +182(samplerShadowMap): 180(ptr) Variable UniformConstant + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 184 177 41 163 12 44 184 182(samplerShadowMap) 107 + 198: 7(int) Constant 68 + 200: 16(float) Constant 0 216: 7(int) Constant 70 - 220: 7(int) Constant 73 - 225: 7(int) Constant 74 - 227: TypeVector 98(int) 2 - 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 28 - 229: TypePointer Function 227(ivec2) - 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 228 23 12 - 234: 7(int) Constant 78 - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 233 228 41 234 12 65 20 - 239: TypeVector 98(int) 3 - 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 13 - 246: 7(int) Constant 79 - 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 245 18 41 246 12 65 20 - 249: 16(float) Constant 1069547520 - 253: 7(int) Constant 80 - 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 252 18 41 253 12 65 20 - 258: TypePointer Function 98(int) - 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 23 12 - 267: 7(int) Constant 81 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 266 18 41 267 12 65 20 - 279: 7(int) Constant 83 - 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 278 18 41 279 12 65 20 - 285: 7(int) Constant 84 - 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 284 100 41 285 12 65 20 - 291: 7(int) Constant 85 - 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 290 100 41 291 12 65 20 - 294: 98(int) Constant 1 - 298: 7(int) Constant 87 - 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 297 100 41 298 12 65 20 - 318: 7(int) Constant 89 - 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 317 100 41 318 12 65 20 - 339: 7(int) Constant 91 - 358: 7(int) Constant 92 - 371: 7(int) Constant 96 - 379: 7(int) Constant 97 - 384: 7(int) Constant 100 - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 383 100 41 384 12 85 20 - 397: 98(int) Constant 3 - 402: 7(int) Constant 102 - 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 401 21 41 402 12 85 20 - 406: TypeMatrix 19(fvec4) 4 - 408: 141(bool) ConstantTrue - 407: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 408 - 409(Light): TypeStruct 19(fvec4) 19(fvec4) 19(fvec4) 406 - 412: 7(int) Constant 47 - 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 411 21 41 412 23 12 12 13 - 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 411 21 41 412 23 12 12 13 - 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 411 21 41 412 23 12 12 13 - 417: 7(int) Constant 48 - 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 416 407 41 417 23 12 12 13 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 419 45 41 402 12 44 419 12 13 410 413 414 415 - 420: TypeArray 409(Light) 13 - 421: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 418 13 - 422(UBO): TypeStruct 19(fvec4) 420 98(int) 98(int) - 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 411 21 41 412 23 12 12 13 - 426: 7(int) Constant 54 - 424: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 425 421 41 426 107 12 12 13 - 429: 7(int) Constant 56 - 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 428 100 41 429 11 12 12 13 - 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 428 100 41 429 11 12 12 13 - 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 432 45 41 402 12 44 432 12 13 423 424 427 430 - 433: TypePointer Uniform 422(UBO) - 434: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 431 28 12 - 435(ubo): 433(ptr) Variable Uniform - 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 437 431 41 402 12 44 437 435(ubo) 107 - 439: TypePointer Uniform 406 - 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 407 28 12 - 451: 7(int) Constant 106 - 450: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 278 18 41 451 12 85 20 - 462: 7(int) Constant 111 - 472: 7(int) Constant 113 - 477: 7(int) Constant 114 - 484: 7(int) Constant 119 - 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 483 75 41 484 12 96 20 - 487: TypeImage 16(float) 2D sampled format:Unknown - 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 12 41 484 12 44 172 173 13 - 489: TypeSampledImage 487 - 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 176 12 41 484 12 44 177 173 13 - 491: TypePointer UniformConstant 489 - 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 490 12 12 -493(samplerposition): 491(ptr) Variable UniformConstant - 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 495 490 41 484 12 44 495 493(samplerposition) 107 - 497: TypePointer Input 27(fvec2) - 498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 29 45 12 - 499(inUV): 497(ptr) Variable Input - 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 501 29 41 484 12 44 501 499(inUV) 107 - 508: 7(int) Constant 120 - 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 507 75 41 508 12 96 20 -511(samplerNormal): 491(ptr) Variable UniformConstant - 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 513 490 41 508 12 44 513 511(samplerNormal) 107 - 521: 7(int) Constant 121 - 519: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 520 21 41 521 12 96 20 -524(samplerAlbedo): 491(ptr) Variable UniformConstant - 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 526 490 41 521 12 44 526 524(samplerAlbedo) 107 - 530: TypePointer Uniform 98(int) - 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 28 12 - 534: 7(int) Constant 124 - 542: 7(int) Constant 125 - 550: TypePointer Output 19(fvec4) - 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 -552(outFragColor): 550(ptr) Variable Output - 555: 7(int) Constant 127 - 553: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 554 21 41 555 12 44 554 552(outFragColor) 107 - 556: 74(fvec3) ConstantComposite 117 117 117 - 563: TypePointer Output 16(float) - 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 - 572: 7(int) Constant 128 - 577: 7(int) Constant 130 - 585: 7(int) Constant 131 - 590: 7(int) Constant 133 - 598: 7(int) Constant 134 - 603: 7(int) Constant 136 - 612: 7(int) Constant 137 - 617: 7(int) Constant 139 - 626: 7(int) Constant 140 - 632: 7(int) Constant 142 - 634: 7(int) Constant 143 - 638: 7(int) Constant 147 - 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 41 638 12 96 20 - 644: 16(float) Constant 1036831949 - 649: 7(int) Constant 149 - 647: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 648 75 41 649 12 96 20 - 656: 7(int) Constant 151 - 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 383 100 41 656 12 96 20 - 673: 7(int) Constant 154 - 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 672 75 41 673 12 96 20 - 678: TypePointer Uniform 19(fvec4) - 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 28 12 - 687: 7(int) Constant 156 - 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 18 41 687 12 96 20 - 694: 7(int) Constant 157 - 699: 7(int) Constant 160 - 697: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 698 75 41 699 12 96 20 - 709: 7(int) Constant 161 - 714: 7(int) Constant 163 - 712: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 713 18 41 714 12 96 20 - 717: 16(float) Constant 1064781546 - 721: 7(int) Constant 164 - 719: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 720 18 41 721 12 96 20 - 724: 16(float) Constant 1063781322 - 728: 7(int) Constant 165 - 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 727 18 41 728 12 96 20 - 731: 16(float) Constant 1120403456 - 735: 7(int) Constant 168 - 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 734 75 41 735 12 96 20 - 751: 7(int) Constant 171 - 749: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 750 18 41 751 12 96 20 - 760: 7(int) Constant 172 - 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 759 18 41 760 12 96 20 - 770: 7(int) Constant 173 - 768: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 769 18 41 770 12 96 20 - 779: 7(int) Constant 176 - 777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 778 18 41 779 12 96 20 - 789: 7(int) Constant 177 - 787: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 788 75 41 789 12 96 20 - 797: 7(int) Constant 180 - 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 796 75 41 797 12 96 20 - 807: 7(int) Constant 181 - 805: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 806 18 41 807 12 96 20 - 817: 7(int) Constant 182 - 815: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 816 75 41 817 12 96 20 - 821: 16(float) Constant 1098907648 - 826: 16(float) Constant 1075838976 - 831: 7(int) Constant 184 - 839: 98(int) Constant 2 - 856: 7(int) Constant 188 - 865: 7(int) Constant 190 - 872: 7(int) Constant 193 - 878: 7(int) Constant 194 + 217: 7(int) Constant 11 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 216 217 162 + 218: 16(float) Constant 1048576000 + 224: 7(int) Constant 73 + 229: 7(int) Constant 74 + 231: TypeVector 98(int) 2 + 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 28 + 233: TypePointer Function 231(ivec2) + 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 232 23 12 + 238: 7(int) Constant 78 + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 237 232 41 238 12 65 20 + 243: TypeVector 98(int) 3 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 13 + 250: 7(int) Constant 79 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 18 41 250 12 65 20 + 253: 16(float) Constant 1069547520 + 257: 7(int) Constant 80 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 256 18 41 257 12 65 20 + 262: TypePointer Function 98(int) + 263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 23 12 + 271: 7(int) Constant 81 + 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 270 18 41 271 12 65 20 + 283: 7(int) Constant 83 + 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 282 18 41 283 12 65 20 + 289: 7(int) Constant 84 + 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 288 100 41 289 12 65 20 + 295: 7(int) Constant 85 + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 294 100 41 295 12 65 20 + 298: 98(int) Constant 1 + 302: 7(int) Constant 87 + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 301 100 41 302 12 65 20 + 322: 7(int) Constant 89 + 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 321 100 41 322 12 65 20 + 343: 7(int) Constant 91 + 362: 7(int) Constant 92 + 375: 7(int) Constant 96 + 383: 7(int) Constant 97 + 388: 7(int) Constant 100 + 386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 387 100 41 388 12 85 20 + 401: 98(int) Constant 3 + 406: 7(int) Constant 102 + 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 405 21 41 406 12 85 20 + 410: TypeMatrix 19(fvec4) 4 + 412: 141(bool) ConstantTrue + 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 412 + 413(Light): TypeStruct 19(fvec4) 19(fvec4) 19(fvec4) 410 + 416: 7(int) Constant 47 + 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 415 21 41 416 23 12 12 13 + 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 415 21 41 416 23 12 12 13 + 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 415 21 41 416 23 12 12 13 + 421: 7(int) Constant 48 + 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 420 411 41 421 23 12 12 13 + 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 423 45 41 406 12 44 423 12 13 414 417 418 419 + 424: TypeArray 413(Light) 13 + 425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 422 13 + 426(UBO): TypeStruct 19(fvec4) 424 98(int) 98(int) + 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 415 21 41 416 23 12 12 13 + 430: 7(int) Constant 54 + 428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 429 425 41 430 107 12 12 13 + 433: 7(int) Constant 56 + 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 432 100 41 433 11 12 12 13 + 434: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 432 100 41 433 11 12 12 13 + 435: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 436 45 41 406 12 44 436 12 13 427 428 431 434 + 437: TypePointer Uniform 426(UBO) + 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 435 28 12 + 439(ubo): 437(ptr) Variable Uniform + 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 441 435 41 406 12 44 441 439(ubo) 107 + 443: TypePointer Uniform 410 + 444: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 411 28 12 + 455: 7(int) Constant 106 + 454: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 282 18 41 455 12 85 20 + 466: 7(int) Constant 111 + 476: 7(int) Constant 113 + 481: 7(int) Constant 114 + 488: 7(int) Constant 119 + 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 487 75 41 488 12 96 20 + 491: TypeImage 16(float) 2D sampled format:Unknown + 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 173 12 41 488 12 44 174 175 13 + 493: TypeSampledImage 491 + 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 178 12 41 488 12 44 179 175 13 + 495: TypePointer UniformConstant 493 + 496: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 494 12 12 +497(samplerposition): 495(ptr) Variable UniformConstant + 498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 499 494 41 488 12 44 499 497(samplerposition) 107 + 501: TypePointer Input 27(fvec2) + 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 29 45 12 + 503(inUV): 501(ptr) Variable Input + 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 505 29 41 488 12 44 505 503(inUV) 107 + 512: 7(int) Constant 120 + 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 511 75 41 512 12 96 20 +515(samplerNormal): 495(ptr) Variable UniformConstant + 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 517 494 41 512 12 44 517 515(samplerNormal) 107 + 525: 7(int) Constant 121 + 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 524 21 41 525 12 96 20 +528(samplerAlbedo): 495(ptr) Variable UniformConstant + 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 530 494 41 525 12 44 530 528(samplerAlbedo) 107 + 534: TypePointer Uniform 98(int) + 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 28 12 + 538: 7(int) Constant 124 + 544: 7(int) Constant 125 + 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 544 13 96 + 555: TypePointer Output 19(fvec4) + 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 +557(outFragColor): 555(ptr) Variable Output + 560: 7(int) Constant 127 + 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 559 21 41 560 12 44 559 557(outFragColor) 107 + 561: 74(fvec3) ConstantComposite 117 117 117 + 568: TypePointer Output 16(float) + 569: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 + 577: 7(int) Constant 128 + 582: 7(int) Constant 130 + 590: 7(int) Constant 131 + 595: 7(int) Constant 133 + 603: 7(int) Constant 134 + 608: 7(int) Constant 136 + 617: 7(int) Constant 137 + 622: 7(int) Constant 139 + 631: 7(int) Constant 140 + 637: 7(int) Constant 142 + 639: 7(int) Constant 143 + 643: 7(int) Constant 147 + 642: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 41 643 12 96 20 + 649: 16(float) Constant 1036831949 + 654: 7(int) Constant 149 + 652: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 653 75 41 654 12 96 20 + 661: 7(int) Constant 151 + 660: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 387 100 41 661 12 96 20 + 678: 7(int) Constant 154 + 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 677 75 41 678 12 96 20 + 683: TypePointer Uniform 19(fvec4) + 684: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 28 12 + 692: 7(int) Constant 156 + 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 167 18 41 692 12 96 20 + 699: 7(int) Constant 157 + 704: 7(int) Constant 160 + 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 703 75 41 704 12 96 20 + 714: 7(int) Constant 161 + 719: 7(int) Constant 163 + 717: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 718 18 41 719 12 96 20 + 722: 16(float) Constant 1064781546 + 726: 7(int) Constant 164 + 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 725 18 41 726 12 96 20 + 729: 16(float) Constant 1063781322 + 733: 7(int) Constant 165 + 731: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 732 18 41 733 12 96 20 + 736: 16(float) Constant 1120403456 + 740: 7(int) Constant 168 + 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 739 75 41 740 12 96 20 + 756: 7(int) Constant 171 + 754: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 755 18 41 756 12 96 20 + 765: 7(int) Constant 172 + 763: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 764 18 41 765 12 96 20 + 775: 7(int) Constant 173 + 773: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 774 18 41 775 12 96 20 + 784: 7(int) Constant 176 + 782: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 783 18 41 784 12 96 20 + 794: 7(int) Constant 177 + 792: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 793 75 41 794 12 96 20 + 802: 7(int) Constant 180 + 800: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 801 75 41 802 12 96 20 + 812: 7(int) Constant 181 + 810: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 811 18 41 812 12 96 20 + 822: 7(int) Constant 182 + 820: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 821 75 41 822 12 96 20 + 826: 16(float) Constant 1098907648 + 831: 16(float) Constant 1075838976 + 836: 7(int) Constant 184 + 844: 98(int) Constant 2 + 861: 7(int) Constant 188 + 867: 7(int) Constant 190 + 868: 7(int) Constant 13 + 866: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 867 868 96 + 879: 7(int) Constant 193 + 885: 7(int) Constant 194 14(main): 4 Function None 5 15: Label - 481(fragPos): 76(ptr) Variable Function - 505(normal): 76(ptr) Variable Function - 518(albedo): 22(ptr) Variable Function - 557(param): 76(ptr) Variable Function - 560(param): 76(ptr) Variable Function - 636(fragcolor): 76(ptr) Variable Function - 646(N): 76(ptr) Variable Function - 654(i): 258(ptr) Variable Function - 670(L): 76(ptr) Variable Function - 685(dist): 25(ptr) Variable Function - 696(V): 76(ptr) Variable Function -711(lightCosInnerAngle): 25(ptr) Variable Function -718(lightCosOuterAngle): 25(ptr) Variable Function - 725(lightRange): 25(ptr) Variable Function - 732(dir): 76(ptr) Variable Function - 748(cosDir): 25(ptr) Variable Function - 757(spotEffect): 25(ptr) Variable Function -767(heightAttenuation): 25(ptr) Variable Function - 776(NdotL): 25(ptr) Variable Function - 786(diff): 76(ptr) Variable Function - 794(R): 76(ptr) Variable Function - 804(NdotR): 25(ptr) Variable Function - 814(spec): 76(ptr) Variable Function - 861(param): 76(ptr) Variable Function - 866(param): 76(ptr) Variable Function + 485(fragPos): 76(ptr) Variable Function + 509(normal): 76(ptr) Variable Function + 522(albedo): 22(ptr) Variable Function + 562(param): 76(ptr) Variable Function + 565(param): 76(ptr) Variable Function + 641(fragcolor): 76(ptr) Variable Function + 651(N): 76(ptr) Variable Function + 659(i): 262(ptr) Variable Function + 675(L): 76(ptr) Variable Function + 690(dist): 25(ptr) Variable Function + 701(V): 76(ptr) Variable Function +716(lightCosInnerAngle): 25(ptr) Variable Function +723(lightCosOuterAngle): 25(ptr) Variable Function + 730(lightRange): 25(ptr) Variable Function + 737(dir): 76(ptr) Variable Function + 753(cosDir): 25(ptr) Variable Function + 762(spotEffect): 25(ptr) Variable Function +772(heightAttenuation): 25(ptr) Variable Function + 781(NdotL): 25(ptr) Variable Function + 791(diff): 76(ptr) Variable Function + 799(R): 76(ptr) Variable Function + 809(NdotR): 25(ptr) Variable Function + 819(spec): 76(ptr) Variable Function + 869(param): 76(ptr) Variable Function + 873(param): 76(ptr) Variable Function 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 110: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 106 106 12 12 Store 103(global_var) 108 - 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 97 97 12 12 - 478: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 96 14(main) - 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 484 484 12 12 - 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 482 481(fragPos) 49 - 496: 489 Load 493(samplerposition) - 502: 27(fvec2) Load 499(inUV) - 503: 19(fvec4) ImageSampleImplicitLod 496 502 - 504: 74(fvec3) VectorShuffle 503 503 0 1 2 - Store 481(fragPos) 504 - 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 508 508 12 12 - 509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 506 505(normal) 49 - 514: 489 Load 511(samplerNormal) - 515: 27(fvec2) Load 499(inUV) - 516: 19(fvec4) ImageSampleImplicitLod 514 515 - 517: 74(fvec3) VectorShuffle 516 516 0 1 2 - Store 505(normal) 517 - 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 521 521 12 12 - 522: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 519 518(albedo) 49 - 527: 489 Load 524(samplerAlbedo) - 528: 27(fvec2) Load 499(inUV) - 529: 19(fvec4) ImageSampleImplicitLod 527 528 - Store 518(albedo) 529 - 533: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 534 534 12 12 - 532: 530(ptr) AccessChain 435(ubo) 397 - 535: 98(int) Load 532 - 536: 141(bool) SGreaterThan 535 108 - SelectionMerge 538 None - BranchConditional 536 537 538 - 537: Label - 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 542 542 12 12 - 539: 530(ptr) AccessChain 435(ubo) 397 - 543: 98(int) Load 539 - SelectionMerge 549 None - Switch 543 549 - case 1: 544 - case 2: 545 - case 3: 546 - case 4: 547 - case 5: 548 - 544: Label - 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 555 555 12 12 - Store 557(param) 556 - 561: 74(fvec3) Load 481(fragPos) - Store 560(param) 561 - 562: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 557(param) 560(param) - 565: 563(ptr) AccessChain 552(outFragColor) 12 - 566: 16(float) CompositeExtract 562 0 - Store 565 566 - 567: 563(ptr) AccessChain 552(outFragColor) 45 - 568: 16(float) CompositeExtract 562 1 - Store 567 568 - 569: 563(ptr) AccessChain 552(outFragColor) 28 - 570: 16(float) CompositeExtract 562 2 - Store 569 570 - 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 572 572 12 12 - Branch 549 - 545: Label - 575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 97 97 12 12 + 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 96 14(main) + 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 488 488 12 12 + 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 486 485(fragPos) 49 + 500: 493 Load 497(samplerposition) + 506: 27(fvec2) Load 503(inUV) + 507: 19(fvec4) ImageSampleImplicitLod 500 506 + 508: 74(fvec3) VectorShuffle 507 507 0 1 2 + Store 485(fragPos) 508 + 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 512 512 12 12 + 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 510 509(normal) 49 + 518: 493 Load 515(samplerNormal) + 519: 27(fvec2) Load 503(inUV) + 520: 19(fvec4) ImageSampleImplicitLod 518 519 + 521: 74(fvec3) VectorShuffle 520 520 0 1 2 + Store 509(normal) 521 + 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 525 525 12 12 + 526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 523 522(albedo) 49 + 531: 493 Load 528(samplerAlbedo) + 532: 27(fvec2) Load 503(inUV) + 533: 19(fvec4) ImageSampleImplicitLod 531 532 + Store 522(albedo) 533 + 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 538 538 12 12 + 536: 534(ptr) AccessChain 439(ubo) 401 + 539: 98(int) Load 536 + 540: 141(bool) SGreaterThan 539 108 + SelectionMerge 542 None + BranchConditional 540 541 542 + 541: Label + 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 544 544 12 12 + 545: 534(ptr) AccessChain 439(ubo) 401 + 548: 98(int) Load 545 + SelectionMerge 554 None + Switch 548 554 + case 1: 549 + case 2: 550 + case 3: 551 + case 4: 552 + case 5: 553 + 549: Label + 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 560 560 12 12 + Store 562(param) 561 + 566: 74(fvec3) Load 485(fragPos) + Store 565(param) 566 + 567: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 562(param) 565(param) + 570: 568(ptr) AccessChain 557(outFragColor) 12 + 571: 16(float) CompositeExtract 567 0 + Store 570 571 + 572: 568(ptr) AccessChain 557(outFragColor) 45 + 573: 16(float) CompositeExtract 567 1 + Store 572 573 + 574: 568(ptr) AccessChain 557(outFragColor) 28 + 575: 16(float) CompositeExtract 567 2 + Store 574 575 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 577 577 12 12 - 574: 74(fvec3) Load 481(fragPos) - 578: 563(ptr) AccessChain 552(outFragColor) 12 - 579: 16(float) CompositeExtract 574 0 - Store 578 579 - 580: 563(ptr) AccessChain 552(outFragColor) 45 - 581: 16(float) CompositeExtract 574 1 - Store 580 581 - 582: 563(ptr) AccessChain 552(outFragColor) 28 - 583: 16(float) CompositeExtract 574 2 - Store 582 583 - 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 585 585 12 12 - Branch 549 - 546: Label - 588: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + Branch 554 + 550: Label + 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 581: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 582 582 12 12 + 579: 74(fvec3) Load 485(fragPos) + 583: 568(ptr) AccessChain 557(outFragColor) 12 + 584: 16(float) CompositeExtract 579 0 + Store 583 584 + 585: 568(ptr) AccessChain 557(outFragColor) 45 + 586: 16(float) CompositeExtract 579 1 + Store 585 586 + 587: 568(ptr) AccessChain 557(outFragColor) 28 + 588: 16(float) CompositeExtract 579 2 + Store 587 588 589: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 590 590 12 12 - 587: 74(fvec3) Load 505(normal) - 591: 563(ptr) AccessChain 552(outFragColor) 12 - 592: 16(float) CompositeExtract 587 0 - Store 591 592 - 593: 563(ptr) AccessChain 552(outFragColor) 45 - 594: 16(float) CompositeExtract 587 1 - Store 593 594 - 595: 563(ptr) AccessChain 552(outFragColor) 28 - 596: 16(float) CompositeExtract 587 2 - Store 595 596 - 597: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 598 598 12 12 - Branch 549 - 547: Label - 601: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + Branch 554 + 551: Label + 593: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 594: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 595 595 12 12 + 592: 74(fvec3) Load 509(normal) + 596: 568(ptr) AccessChain 557(outFragColor) 12 + 597: 16(float) CompositeExtract 592 0 + Store 596 597 + 598: 568(ptr) AccessChain 557(outFragColor) 45 + 599: 16(float) CompositeExtract 592 1 + Store 598 599 + 600: 568(ptr) AccessChain 557(outFragColor) 28 + 601: 16(float) CompositeExtract 592 2 + Store 600 601 602: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 603 603 12 12 - 600: 19(fvec4) Load 518(albedo) - 604: 74(fvec3) VectorShuffle 600 600 0 1 2 - 605: 563(ptr) AccessChain 552(outFragColor) 12 - 606: 16(float) CompositeExtract 604 0 - Store 605 606 - 607: 563(ptr) AccessChain 552(outFragColor) 45 - 608: 16(float) CompositeExtract 604 1 - Store 607 608 - 609: 563(ptr) AccessChain 552(outFragColor) 28 - 610: 16(float) CompositeExtract 604 2 - Store 609 610 - 611: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 612 612 12 12 - Branch 549 - 548: Label - 615: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + Branch 554 + 552: Label + 606: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 607: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 608 608 12 12 + 605: 19(fvec4) Load 522(albedo) + 609: 74(fvec3) VectorShuffle 605 605 0 1 2 + 610: 568(ptr) AccessChain 557(outFragColor) 12 + 611: 16(float) CompositeExtract 609 0 + Store 610 611 + 612: 568(ptr) AccessChain 557(outFragColor) 45 + 613: 16(float) CompositeExtract 609 1 + Store 612 613 + 614: 568(ptr) AccessChain 557(outFragColor) 28 + 615: 16(float) CompositeExtract 609 2 + Store 614 615 616: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 617 617 12 12 - 614: 19(fvec4) Load 518(albedo) - 618: 74(fvec3) VectorShuffle 614 614 3 3 3 - 619: 563(ptr) AccessChain 552(outFragColor) 12 - 620: 16(float) CompositeExtract 618 0 - Store 619 620 - 621: 563(ptr) AccessChain 552(outFragColor) 45 - 622: 16(float) CompositeExtract 618 1 - Store 621 622 - 623: 563(ptr) AccessChain 552(outFragColor) 28 - 624: 16(float) CompositeExtract 618 2 - Store 623 624 - 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 626 626 12 12 - Branch 549 - 549: Label - 630: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 631: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 632 632 12 12 - 629: 563(ptr) AccessChain 552(outFragColor) 13 - Store 629 117 - 633: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 634 634 12 12 + Branch 554 + 553: Label + 620: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 621: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 622 622 12 12 + 619: 19(fvec4) Load 522(albedo) + 623: 74(fvec3) VectorShuffle 619 619 3 3 3 + 624: 568(ptr) AccessChain 557(outFragColor) 12 + 625: 16(float) CompositeExtract 623 0 + Store 624 625 + 626: 568(ptr) AccessChain 557(outFragColor) 45 + 627: 16(float) CompositeExtract 623 1 + Store 626 627 + 628: 568(ptr) AccessChain 557(outFragColor) 28 + 629: 16(float) CompositeExtract 623 2 + Store 628 629 + 630: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 631 631 12 12 + Branch 554 + 554: Label + 635: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 636: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 637 637 12 12 + 634: 568(ptr) AccessChain 557(outFragColor) 13 + Store 634 117 + 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 639 639 12 12 Return - 538: Label - 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 641: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 638 638 12 12 - 639: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 637 636(fragcolor) 49 - 642: 19(fvec4) Load 518(albedo) - 643: 74(fvec3) VectorShuffle 642 642 0 1 2 - 645: 74(fvec3) VectorTimesScalar 643 644 - Store 636(fragcolor) 645 - 651: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 649 649 12 12 - 650: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 647 646(N) 49 - 652: 74(fvec3) Load 505(normal) - 653: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 652 - Store 646(N) 653 - 658: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 - 657: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 655 654(i) 49 - Store 654(i) 108 - Branch 659 - 659: Label - 663: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 - LoopMerge 661 662 None - Branch 665 - 665: Label - 667: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 668: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 - 666: 98(int) Load 654(i) - 669: 141(bool) SLessThan 666 397 - BranchConditional 669 660 661 - 660: Label - 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 673 673 12 12 - 674: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 671 670(L) 49 - 677: 98(int) Load 654(i) - 680: 678(ptr) AccessChain 435(ubo) 294 677 108 - 681: 19(fvec4) Load 680 - 682: 74(fvec3) VectorShuffle 681 681 0 1 2 - 683: 74(fvec3) Load 481(fragPos) - 684: 74(fvec3) FSub 682 683 - Store 670(L) 684 - 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 687 687 12 12 - 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 686 685(dist) 49 - 690: 74(fvec3) Load 670(L) - 691: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 690 - Store 685(dist) 691 - 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 694 694 12 12 - 692: 74(fvec3) Load 670(L) - 695: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 692 - Store 670(L) 695 - 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 699 699 12 12 - 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 697 696(V) 49 - 702: 678(ptr) AccessChain 435(ubo) 108 - 703: 19(fvec4) Load 702 - 704: 74(fvec3) VectorShuffle 703 703 0 1 2 - 705: 74(fvec3) Load 481(fragPos) - 706: 74(fvec3) FSub 704 705 - Store 696(V) 706 - 708: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 709 709 12 12 - 707: 74(fvec3) Load 696(V) - 710: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 707 - Store 696(V) 710 - 716: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 714 714 12 12 - 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 712 711(lightCosInnerAngle) 49 - Store 711(lightCosInnerAngle) 717 - 723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 721 721 12 12 - 722: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 719 718(lightCosOuterAngle) 49 - Store 718(lightCosOuterAngle) 724 - 730: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 728 728 12 12 - 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 726 725(lightRange) 49 - Store 725(lightRange) 731 - 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 735 735 12 12 - 736: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 733 732(dir) 49 - 738: 98(int) Load 654(i) - 739: 678(ptr) AccessChain 435(ubo) 294 738 108 - 740: 19(fvec4) Load 739 - 741: 74(fvec3) VectorShuffle 740 740 0 1 2 - 742: 98(int) Load 654(i) - 743: 678(ptr) AccessChain 435(ubo) 294 742 294 - 744: 19(fvec4) Load 743 - 745: 74(fvec3) VectorShuffle 744 744 0 1 2 - 746: 74(fvec3) FSub 741 745 - 747: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 746 - Store 732(dir) 747 - 753: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 751 751 12 12 - 752: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 749 748(cosDir) 49 - 754: 74(fvec3) Load 670(L) - 755: 74(fvec3) Load 732(dir) - 756: 16(float) Dot 754 755 - Store 748(cosDir) 756 - 762: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 760 760 12 12 - 761: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 758 757(spotEffect) 49 - 763: 16(float) Load 718(lightCosOuterAngle) - 764: 16(float) Load 711(lightCosInnerAngle) - 765: 16(float) Load 748(cosDir) - 766: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 763 764 765 - Store 757(spotEffect) 766 - 772: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 770 770 12 12 - 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 768 767(heightAttenuation) 49 - 773: 16(float) Load 725(lightRange) - 774: 16(float) Load 685(dist) - 775: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 773 198 774 - Store 767(heightAttenuation) 775 - 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 779 779 12 12 - 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 777 776(NdotL) 49 - 782: 74(fvec3) Load 646(N) - 783: 74(fvec3) Load 670(L) - 784: 16(float) Dot 782 783 - 785: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 198 784 - Store 776(NdotL) 785 - 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 789 789 12 12 - 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 787 786(diff) 49 - 792: 16(float) Load 776(NdotL) - 793: 74(fvec3) CompositeConstruct 792 792 792 - Store 786(diff) 793 - 799: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 797 797 12 12 - 798: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 795 794(R) 49 - 800: 74(fvec3) Load 670(L) - 801: 74(fvec3) FNegate 800 - 802: 74(fvec3) Load 646(N) - 803: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 801 802 - Store 794(R) 803 - 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 807 807 12 12 - 808: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 805 804(NdotR) 49 - 810: 74(fvec3) Load 794(R) - 811: 74(fvec3) Load 696(V) - 812: 16(float) Dot 810 811 - 813: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 198 812 - Store 804(NdotR) 813 - 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 817 817 12 12 - 818: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 815 814(spec) 49 - 820: 16(float) Load 804(NdotR) - 822: 16(float) ExtInst 3(GLSL.std.450) 26(Pow) 820 821 - 823: 25(ptr) AccessChain 518(albedo) 13 - 824: 16(float) Load 823 - 825: 16(float) FMul 822 824 - 827: 16(float) FMul 825 826 - 828: 74(fvec3) CompositeConstruct 827 827 827 - Store 814(spec) 828 - 830: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 831 831 12 12 - 829: 74(fvec3) Load 786(diff) - 832: 74(fvec3) Load 814(spec) - 833: 74(fvec3) FAdd 829 832 - 834: 16(float) Load 757(spotEffect) - 835: 74(fvec3) VectorTimesScalar 833 834 - 836: 16(float) Load 767(heightAttenuation) - 837: 74(fvec3) VectorTimesScalar 835 836 - 838: 98(int) Load 654(i) - 840: 678(ptr) AccessChain 435(ubo) 294 838 839 - 841: 19(fvec4) Load 840 - 842: 74(fvec3) VectorShuffle 841 841 0 1 2 - 843: 74(fvec3) FMul 837 842 - 844: 19(fvec4) Load 518(albedo) - 845: 74(fvec3) VectorShuffle 844 844 0 1 2 - 846: 74(fvec3) FMul 843 845 - 847: 74(fvec3) Load 636(fragcolor) - 848: 74(fvec3) FAdd 847 846 - Store 636(fragcolor) 848 - Branch 662 - 662: Label - 850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 851: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 - 849: 98(int) Load 654(i) - 852: 98(int) IAdd 849 294 - Store 654(i) 852 - Branch 659 - 661: Label - 854: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 856 856 12 12 - 853: 530(ptr) AccessChain 435(ubo) 839 - 857: 98(int) Load 853 - 858: 141(bool) SGreaterThan 857 108 - SelectionMerge 860 None - BranchConditional 858 859 860 - 859: Label - 863: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 865 865 12 12 - 862: 74(fvec3) Load 636(fragcolor) - Store 861(param) 862 - 867: 74(fvec3) Load 481(fragPos) - Store 866(param) 867 - 868: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 861(param) 866(param) - Store 636(fragcolor) 868 - Branch 860 - 860: Label - 870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 - 871: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 872 872 12 12 - 869: 74(fvec3) Load 636(fragcolor) - 873: 16(float) CompositeExtract 869 0 - 874: 16(float) CompositeExtract 869 1 - 875: 16(float) CompositeExtract 869 2 - 876: 19(fvec4) CompositeConstruct 873 874 875 117 - Store 552(outFragColor) 876 - 877: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 878 878 12 12 + 542: Label + 645: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 646: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 643 643 12 12 + 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 642 641(fragcolor) 49 + 647: 19(fvec4) Load 522(albedo) + 648: 74(fvec3) VectorShuffle 647 647 0 1 2 + 650: 74(fvec3) VectorTimesScalar 648 649 + Store 641(fragcolor) 650 + 656: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 654 654 12 12 + 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 652 651(N) 49 + 657: 74(fvec3) Load 509(normal) + 658: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 657 + Store 651(N) 658 + 663: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 661 661 12 12 + 662: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 660 659(i) 49 + Store 659(i) 108 + Branch 664 + 664: Label + 668: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 669: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 661 661 12 12 + LoopMerge 666 667 None + Branch 670 + 670: Label + 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 673: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 661 661 12 12 + 671: 98(int) Load 659(i) + 674: 141(bool) SLessThan 671 401 + BranchConditional 674 665 666 + 665: Label + 680: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 678 678 12 12 + 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 676 675(L) 49 + 682: 98(int) Load 659(i) + 685: 683(ptr) AccessChain 439(ubo) 298 682 108 + 686: 19(fvec4) Load 685 + 687: 74(fvec3) VectorShuffle 686 686 0 1 2 + 688: 74(fvec3) Load 485(fragPos) + 689: 74(fvec3) FSub 687 688 + Store 675(L) 689 + 694: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 692 692 12 12 + 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 691 690(dist) 49 + 695: 74(fvec3) Load 675(L) + 696: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 695 + Store 690(dist) 696 + 698: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 699 699 12 12 + 697: 74(fvec3) Load 675(L) + 700: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 697 + Store 675(L) 700 + 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 704 704 12 12 + 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 702 701(V) 49 + 707: 683(ptr) AccessChain 439(ubo) 108 + 708: 19(fvec4) Load 707 + 709: 74(fvec3) VectorShuffle 708 708 0 1 2 + 710: 74(fvec3) Load 485(fragPos) + 711: 74(fvec3) FSub 709 710 + Store 701(V) 711 + 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 714 714 12 12 + 712: 74(fvec3) Load 701(V) + 715: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 712 + Store 701(V) 715 + 721: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 719 719 12 12 + 720: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 717 716(lightCosInnerAngle) 49 + Store 716(lightCosInnerAngle) 722 + 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 726 726 12 12 + 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 724 723(lightCosOuterAngle) 49 + Store 723(lightCosOuterAngle) 729 + 735: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 733 733 12 12 + 734: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 731 730(lightRange) 49 + Store 730(lightRange) 736 + 742: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 740 740 12 12 + 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 738 737(dir) 49 + 743: 98(int) Load 659(i) + 744: 683(ptr) AccessChain 439(ubo) 298 743 108 + 745: 19(fvec4) Load 744 + 746: 74(fvec3) VectorShuffle 745 745 0 1 2 + 747: 98(int) Load 659(i) + 748: 683(ptr) AccessChain 439(ubo) 298 747 298 + 749: 19(fvec4) Load 748 + 750: 74(fvec3) VectorShuffle 749 749 0 1 2 + 751: 74(fvec3) FSub 746 750 + 752: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 751 + Store 737(dir) 752 + 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 756 756 12 12 + 757: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 754 753(cosDir) 49 + 759: 74(fvec3) Load 675(L) + 760: 74(fvec3) Load 737(dir) + 761: 16(float) Dot 759 760 + Store 753(cosDir) 761 + 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 765 765 12 12 + 766: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 763 762(spotEffect) 49 + 768: 16(float) Load 723(lightCosOuterAngle) + 769: 16(float) Load 716(lightCosInnerAngle) + 770: 16(float) Load 753(cosDir) + 771: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 768 769 770 + Store 762(spotEffect) 771 + 777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 775 775 12 12 + 776: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 773 772(heightAttenuation) 49 + 778: 16(float) Load 730(lightRange) + 779: 16(float) Load 690(dist) + 780: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 778 200 779 + Store 772(heightAttenuation) 780 + 786: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 784 784 12 12 + 785: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 782 781(NdotL) 49 + 787: 74(fvec3) Load 651(N) + 788: 74(fvec3) Load 675(L) + 789: 16(float) Dot 787 788 + 790: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 200 789 + Store 781(NdotL) 790 + 796: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 794 794 12 12 + 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 792 791(diff) 49 + 797: 16(float) Load 781(NdotL) + 798: 74(fvec3) CompositeConstruct 797 797 797 + Store 791(diff) 798 + 804: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 802 802 12 12 + 803: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 800 799(R) 49 + 805: 74(fvec3) Load 675(L) + 806: 74(fvec3) FNegate 805 + 807: 74(fvec3) Load 651(N) + 808: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 806 807 + Store 799(R) 808 + 814: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 812 812 12 12 + 813: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 810 809(NdotR) 49 + 815: 74(fvec3) Load 799(R) + 816: 74(fvec3) Load 701(V) + 817: 16(float) Dot 815 816 + 818: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 200 817 + Store 809(NdotR) 818 + 824: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 822 822 12 12 + 823: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 820 819(spec) 49 + 825: 16(float) Load 809(NdotR) + 827: 16(float) ExtInst 3(GLSL.std.450) 26(Pow) 825 826 + 828: 25(ptr) AccessChain 522(albedo) 13 + 829: 16(float) Load 828 + 830: 16(float) FMul 827 829 + 832: 16(float) FMul 830 831 + 833: 74(fvec3) CompositeConstruct 832 832 832 + Store 819(spec) 833 + 835: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 836 836 12 12 + 834: 74(fvec3) Load 791(diff) + 837: 74(fvec3) Load 819(spec) + 838: 74(fvec3) FAdd 834 837 + 839: 16(float) Load 762(spotEffect) + 840: 74(fvec3) VectorTimesScalar 838 839 + 841: 16(float) Load 772(heightAttenuation) + 842: 74(fvec3) VectorTimesScalar 840 841 + 843: 98(int) Load 659(i) + 845: 683(ptr) AccessChain 439(ubo) 298 843 844 + 846: 19(fvec4) Load 845 + 847: 74(fvec3) VectorShuffle 846 846 0 1 2 + 848: 74(fvec3) FMul 842 847 + 849: 19(fvec4) Load 522(albedo) + 850: 74(fvec3) VectorShuffle 849 849 0 1 2 + 851: 74(fvec3) FMul 848 850 + 852: 74(fvec3) Load 641(fragcolor) + 853: 74(fvec3) FAdd 852 851 + Store 641(fragcolor) 853 + Branch 667 + 667: Label + 855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 856: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 661 661 12 12 + 854: 98(int) Load 659(i) + 857: 98(int) IAdd 854 298 + Store 659(i) 857 + Branch 664 + 666: Label + 859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 861 861 12 12 + 858: 534(ptr) AccessChain 439(ubo) 844 + 862: 98(int) Load 858 + 863: 141(bool) SGreaterThan 862 108 + SelectionMerge 865 None + BranchConditional 863 864 865 + 864: Label + 871: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 866 + 872: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 867 867 12 12 + 870: 74(fvec3) Load 641(fragcolor) + Store 869(param) 870 + 874: 74(fvec3) Load 485(fragPos) + Store 873(param) 874 + 875: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 869(param) 873(param) + Store 641(fragcolor) 875 + Branch 865 + 865: Label + 877: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 878: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 879 879 12 12 + 876: 74(fvec3) Load 641(fragcolor) + 880: 16(float) CompositeExtract 876 0 + 881: 16(float) CompositeExtract 876 1 + 882: 16(float) CompositeExtract 876 2 + 883: 19(fvec4) CompositeConstruct 880 881 882 117 + Store 557(outFragColor) 883 + 884: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 885 885 12 12 Return FunctionEnd 37(textureProj(vf4;f1;vf2;): 16(float) Function None 32 @@ -990,7 +997,7 @@ void main() 38: Label 112(shadow): 25(ptr) Variable Function 118(shadowCoord): 22(ptr) Variable Function - 162(dist): 25(ptr) Variable Function + 165(dist): 25(ptr) Variable Function 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 43 43 12 12 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 34(P) 49 @@ -1040,269 +1047,269 @@ void main() SelectionMerge 159 None BranchConditional 157 158 159 158: Label - 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 165 165 12 12 - 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 163 162(dist) 49 - 183: 174 Load 180(samplerShadowMap) - 184: 19(fvec4) Load 118(shadowCoord) - 185: 27(fvec2) VectorShuffle 184 184 0 1 - 186: 27(fvec2) Load 36(offset) - 187: 27(fvec2) FAdd 185 186 - 188: 16(float) Load 35(layer) - 189: 16(float) CompositeExtract 187 0 - 190: 16(float) CompositeExtract 187 1 - 191: 74(fvec3) CompositeConstruct 189 190 188 - 192: 19(fvec4) ImageSampleImplicitLod 183 191 - 193: 16(float) CompositeExtract 192 0 - Store 162(dist) 193 - 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 196 196 12 12 - 194: 25(ptr) AccessChain 118(shadowCoord) 13 - 197: 16(float) Load 194 - 199: 141(bool) FOrdGreaterThan 197 198 - SelectionMerge 201 None - BranchConditional 199 200 201 - 200: Label - 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 196 196 12 12 - 202: 16(float) Load 162(dist) - 205: 25(ptr) AccessChain 118(shadowCoord) 28 - 206: 16(float) Load 205 - 207: 141(bool) FOrdLessThan 202 206 - Branch 201 - 201: Label - 208: 141(bool) Phi 199 158 207 200 - 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 196 196 12 12 - SelectionMerge 210 None - BranchConditional 208 209 210 - 209: Label - 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 216 216 12 12 - Store 112(shadow) 213 - Branch 210 - 210: Label + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 162 + 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 163 163 12 12 + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 166 165(dist) 49 + 185: 176 Load 182(samplerShadowMap) + 186: 19(fvec4) Load 118(shadowCoord) + 187: 27(fvec2) VectorShuffle 186 186 0 1 + 188: 27(fvec2) Load 36(offset) + 189: 27(fvec2) FAdd 187 188 + 190: 16(float) Load 35(layer) + 191: 16(float) CompositeExtract 189 0 + 192: 16(float) CompositeExtract 189 1 + 193: 74(fvec3) CompositeConstruct 191 192 190 + 194: 19(fvec4) ImageSampleImplicitLod 185 193 + 195: 16(float) CompositeExtract 194 0 + Store 165(dist) 195 + 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 198 198 12 12 + 196: 25(ptr) AccessChain 118(shadowCoord) 13 + 199: 16(float) Load 196 + 201: 141(bool) FOrdGreaterThan 199 200 + SelectionMerge 203 None + BranchConditional 201 202 203 + 202: Label + 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 162 + 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 198 198 12 12 + 204: 16(float) Load 165(dist) + 207: 25(ptr) AccessChain 118(shadowCoord) 28 + 208: 16(float) Load 207 + 209: 141(bool) FOrdLessThan 204 208 + Branch 203 + 203: Label + 210: 141(bool) Phi 201 158 209 202 + 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 162 + 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 198 198 12 12 + SelectionMerge 212 None + BranchConditional 210 211 212 + 211: Label + 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 215 + 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 216 216 12 12 + Store 112(shadow) 218 + Branch 212 + 212: Label Branch 159 159: Label - 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 220 220 12 12 - 217: 16(float) Load 112(shadow) - ReturnValue 217 + 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 224 224 12 12 + 221: 16(float) Load 112(shadow) + ReturnValue 221 FunctionEnd 62(filterPCF(vf4;f1;): 16(float) Function None 58 60(sc): 22(ptr) FunctionParameter 61(layer): 25(ptr) FunctionParameter 63: Label - 231(texDim): 229(ptr) Variable Function - 243(scale): 25(ptr) Variable Function - 250(dx): 25(ptr) Variable Function - 264(dy): 25(ptr) Variable Function -276(shadowFactor): 25(ptr) Variable Function - 282(count): 258(ptr) Variable Function - 288(range): 258(ptr) Variable Function - 295(x): 258(ptr) Variable Function - 315(y): 258(ptr) Variable Function - 348(param): 22(ptr) Variable Function - 350(param): 25(ptr) Variable Function - 352(param): 30(ptr) Variable Function + 235(texDim): 233(ptr) Variable Function + 247(scale): 25(ptr) Variable Function + 254(dx): 25(ptr) Variable Function + 268(dy): 25(ptr) Variable Function +280(shadowFactor): 25(ptr) Variable Function + 286(count): 262(ptr) Variable Function + 292(range): 262(ptr) Variable Function + 299(x): 262(ptr) Variable Function + 319(y): 262(ptr) Variable Function + 352(param): 22(ptr) Variable Function + 354(param): 25(ptr) Variable Function + 356(param): 30(ptr) Variable Function 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 66 66 12 12 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 67 60(sc) 49 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 72 61(layer) 49 - 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) - 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 234 234 12 12 - 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 232 231(texDim) 49 - 237: 174 Load 180(samplerShadowMap) - 238: 169 Image 237 - 241: 239(ivec3) ImageQuerySizeLod 238 108 - 242: 227(ivec2) VectorShuffle 241 241 0 1 - Store 231(texDim) 242 - 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 246 246 12 12 - 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 244 243(scale) 49 - Store 243(scale) 249 - 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 253 253 12 12 - 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 251 250(dx) 49 - 256: 16(float) Load 243(scale) - 257: 16(float) FMul 256 117 - 260: 258(ptr) AccessChain 231(texDim) 12 - 261: 98(int) Load 260 - 262: 16(float) ConvertSToF 261 - 263: 16(float) FDiv 257 262 - Store 250(dx) 263 - 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 267 267 12 12 - 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 265 264(dy) 49 - 270: 16(float) Load 243(scale) - 271: 16(float) FMul 270 117 - 272: 258(ptr) AccessChain 231(texDim) 45 - 273: 98(int) Load 272 - 274: 16(float) ConvertSToF 273 - 275: 16(float) FDiv 271 274 - Store 264(dy) 275 - 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 279 279 12 12 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 277 276(shadowFactor) 49 - Store 276(shadowFactor) 198 - 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 285 285 12 12 - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 283 282(count) 49 - Store 282(count) 108 - 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 291 291 12 12 - 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 289 288(range) 49 - Store 288(range) 294 - 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 298 298 12 12 - 299: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 296 295(x) 49 - 301: 98(int) Load 288(range) - 302: 98(int) SNegate 301 - Store 295(x) 302 - Branch 303 - 303: Label - 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 298 298 12 12 - LoopMerge 305 306 None - Branch 309 - 309: Label + 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 238 238 12 12 + 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 236 235(texDim) 49 + 241: 176 Load 182(samplerShadowMap) + 242: 171 Image 241 + 245: 243(ivec3) ImageQuerySizeLod 242 108 + 246: 231(ivec2) VectorShuffle 245 245 0 1 + Store 235(texDim) 246 + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 250 250 12 12 + 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(scale) 49 + Store 247(scale) 253 + 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 257 257 12 12 + 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 255 254(dx) 49 + 260: 16(float) Load 247(scale) + 261: 16(float) FMul 260 117 + 264: 262(ptr) AccessChain 235(texDim) 12 + 265: 98(int) Load 264 + 266: 16(float) ConvertSToF 265 + 267: 16(float) FDiv 261 266 + Store 254(dx) 267 + 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 271 271 12 12 + 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 269 268(dy) 49 + 274: 16(float) Load 247(scale) + 275: 16(float) FMul 274 117 + 276: 262(ptr) AccessChain 235(texDim) 45 + 277: 98(int) Load 276 + 278: 16(float) ConvertSToF 277 + 279: 16(float) FDiv 275 278 + Store 268(dy) 279 + 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 283 283 12 12 + 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 281 280(shadowFactor) 49 + Store 280(shadowFactor) 200 + 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 289 289 12 12 + 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 287 286(count) 49 + Store 286(count) 108 + 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 + 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 293 292(range) 49 + Store 292(range) 298 + 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 302 302 12 12 + 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 300 299(x) 49 + 305: 98(int) Load 292(range) + 306: 98(int) SNegate 305 + Store 299(x) 306 + Branch 307 + 307: Label 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 298 298 12 12 - 310: 98(int) Load 295(x) - 313: 98(int) Load 288(range) - 314: 141(bool) SLessThanEqual 310 313 - BranchConditional 314 304 305 - 304: Label - 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 318 318 12 12 - 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 316 315(y) 49 - 322: 98(int) Load 288(range) - 323: 98(int) SNegate 322 - Store 315(y) 323 - Branch 324 - 324: Label - 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 318 318 12 12 - LoopMerge 326 327 None - Branch 330 - 330: Label + 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 302 302 12 12 + LoopMerge 309 310 None + Branch 313 + 313: Label + 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 302 302 12 12 + 314: 98(int) Load 299(x) + 317: 98(int) Load 292(range) + 318: 141(bool) SLessThanEqual 314 317 + BranchConditional 318 308 309 + 308: Label + 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 322 322 12 12 + 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 320 319(y) 49 + 326: 98(int) Load 292(range) + 327: 98(int) SNegate 326 + Store 319(y) 327 + Branch 328 + 328: Label 332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 318 318 12 12 - 331: 98(int) Load 315(y) - 334: 98(int) Load 288(range) - 335: 141(bool) SLessThanEqual 331 334 - BranchConditional 335 325 326 - 325: Label - 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 339 339 12 12 - 336: 16(float) Load 250(dx) - 340: 98(int) Load 295(x) - 341: 16(float) ConvertSToF 340 - 342: 16(float) FMul 336 341 - 343: 16(float) Load 264(dy) - 344: 98(int) Load 315(y) + 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 322 322 12 12 + LoopMerge 330 331 None + Branch 334 + 334: Label + 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 322 322 12 12 + 335: 98(int) Load 319(y) + 338: 98(int) Load 292(range) + 339: 141(bool) SLessThanEqual 335 338 + BranchConditional 339 329 330 + 329: Label + 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 342: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 343 343 12 12 + 340: 16(float) Load 254(dx) + 344: 98(int) Load 299(x) 345: 16(float) ConvertSToF 344 - 346: 16(float) FMul 343 345 - 347: 27(fvec2) CompositeConstruct 342 346 - 349: 19(fvec4) Load 60(sc) - Store 348(param) 349 - 351: 16(float) Load 61(layer) - Store 350(param) 351 - Store 352(param) 347 - 353: 16(float) FunctionCall 37(textureProj(vf4;f1;vf2;) 348(param) 350(param) 352(param) - 354: 16(float) Load 276(shadowFactor) - 355: 16(float) FAdd 354 353 - Store 276(shadowFactor) 355 - 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 358 358 12 12 - 356: 98(int) Load 282(count) - 359: 98(int) IAdd 356 294 - Store 282(count) 359 - Branch 327 - 327: Label - 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 318 318 12 12 - 360: 98(int) Load 315(y) - 363: 98(int) IAdd 360 294 - Store 315(y) 363 - Branch 324 - 326: Label - Branch 306 - 306: Label - 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 298 298 12 12 - 364: 98(int) Load 295(x) - 367: 98(int) IAdd 364 294 - Store 295(x) 367 - Branch 303 - 305: Label - 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 371 371 12 12 - 368: 16(float) Load 276(shadowFactor) - 372: 98(int) Load 282(count) - 373: 16(float) ConvertSToF 372 - 374: 16(float) FDiv 368 373 - ReturnValue 374 + 346: 16(float) FMul 340 345 + 347: 16(float) Load 268(dy) + 348: 98(int) Load 319(y) + 349: 16(float) ConvertSToF 348 + 350: 16(float) FMul 347 349 + 351: 27(fvec2) CompositeConstruct 346 350 + 353: 19(fvec4) Load 60(sc) + Store 352(param) 353 + 355: 16(float) Load 61(layer) + Store 354(param) 355 + Store 356(param) 351 + 357: 16(float) FunctionCall 37(textureProj(vf4;f1;vf2;) 352(param) 354(param) 356(param) + 358: 16(float) Load 280(shadowFactor) + 359: 16(float) FAdd 358 357 + Store 280(shadowFactor) 359 + 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 362 362 12 12 + 360: 98(int) Load 286(count) + 363: 98(int) IAdd 360 298 + Store 286(count) 363 + Branch 331 + 331: Label + 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 322 322 12 12 + 364: 98(int) Load 319(y) + 367: 98(int) IAdd 364 298 + Store 319(y) 367 + Branch 328 + 330: Label + Branch 310 + 310: Label + 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 302 302 12 12 + 368: 98(int) Load 299(x) + 371: 98(int) IAdd 368 298 + Store 299(x) 371 + Branch 307 + 309: Label + 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 375 375 12 12 + 372: 16(float) Load 280(shadowFactor) + 376: 98(int) Load 286(count) + 377: 16(float) ConvertSToF 376 + 378: 16(float) FDiv 372 377 + ReturnValue 378 FunctionEnd 82(shadow(vf3;vf3;): 74(fvec3) Function None 78 80(fragcolor): 76(ptr) FunctionParameter 81(fragpos): 76(ptr) FunctionParameter 83: Label - 381(i): 258(ptr) Variable Function - 399(shadowClip): 22(ptr) Variable Function -449(shadowFactor): 25(ptr) Variable Function - 456(param): 22(ptr) Variable Function - 458(param): 25(ptr) Variable Function + 385(i): 262(ptr) Variable Function + 403(shadowClip): 22(ptr) Variable Function +453(shadowFactor): 25(ptr) Variable Function + 460(param): 22(ptr) Variable Function + 462(param): 25(ptr) Variable Function 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 86 86 12 12 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 80(fragcolor) 49 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 81(fragpos) 49 - 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) - 386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 384 384 12 12 - 385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 382 381(i) 49 - Store 381(i) 108 - Branch 387 - 387: Label - 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 384 384 12 12 - LoopMerge 389 390 None - Branch 393 - 393: Label + 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) + 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 388 388 12 12 + 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 386 385(i) 49 + Store 385(i) 108 + Branch 391 + 391: Label 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 384 384 12 12 - 394: 98(int) Load 381(i) - 398: 141(bool) SLessThan 394 397 - BranchConditional 398 388 389 - 388: Label - 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 402 402 12 12 - 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 400 399(shadowClip) 49 - 438: 98(int) Load 381(i) - 441: 439(ptr) AccessChain 435(ubo) 294 438 397 - 442: 406 Load 441 - 443: 74(fvec3) Load 81(fragpos) - 444: 16(float) CompositeExtract 443 0 - 445: 16(float) CompositeExtract 443 1 - 446: 16(float) CompositeExtract 443 2 - 447: 19(fvec4) CompositeConstruct 444 445 446 117 - 448: 19(fvec4) MatrixTimesVector 442 447 - Store 399(shadowClip) 448 - 453: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 451 451 12 12 - 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 450 449(shadowFactor) 49 - 454: 98(int) Load 381(i) - 455: 16(float) ConvertSToF 454 - 457: 19(fvec4) Load 399(shadowClip) - Store 456(param) 457 - Store 458(param) 455 - 459: 16(float) FunctionCall 62(filterPCF(vf4;f1;) 456(param) 458(param) - Store 449(shadowFactor) 459 - 461: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 462 462 12 12 - 460: 16(float) Load 449(shadowFactor) - 463: 74(fvec3) Load 80(fragcolor) - 464: 74(fvec3) VectorTimesScalar 463 460 - Store 80(fragcolor) 464 - Branch 390 - 390: Label - 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 467: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 384 384 12 12 - 465: 98(int) Load 381(i) - 468: 98(int) IAdd 465 294 - Store 381(i) 468 - Branch 387 - 389: Label - 470: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 472 472 12 12 - 469: 74(fvec3) Load 80(fragcolor) - ReturnValue 469 + 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 388 388 12 12 + LoopMerge 393 394 None + Branch 397 + 397: Label + 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 388 388 12 12 + 398: 98(int) Load 385(i) + 402: 141(bool) SLessThan 398 401 + BranchConditional 402 392 393 + 392: Label + 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 406 406 12 12 + 407: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 404 403(shadowClip) 49 + 442: 98(int) Load 385(i) + 445: 443(ptr) AccessChain 439(ubo) 298 442 401 + 446: 410 Load 445 + 447: 74(fvec3) Load 81(fragpos) + 448: 16(float) CompositeExtract 447 0 + 449: 16(float) CompositeExtract 447 1 + 450: 16(float) CompositeExtract 447 2 + 451: 19(fvec4) CompositeConstruct 448 449 450 117 + 452: 19(fvec4) MatrixTimesVector 446 451 + Store 403(shadowClip) 452 + 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 455 455 12 12 + 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 454 453(shadowFactor) 49 + 458: 98(int) Load 385(i) + 459: 16(float) ConvertSToF 458 + 461: 19(fvec4) Load 403(shadowClip) + Store 460(param) 461 + Store 462(param) 459 + 463: 16(float) FunctionCall 62(filterPCF(vf4;f1;) 460(param) 462(param) + Store 453(shadowFactor) 463 + 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 466 466 12 12 + 464: 16(float) Load 453(shadowFactor) + 467: 74(fvec3) Load 80(fragcolor) + 468: 74(fvec3) VectorTimesScalar 467 464 + Store 80(fragcolor) 468 + Branch 394 + 394: Label + 470: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 388 388 12 12 + 469: 98(int) Load 385(i) + 472: 98(int) IAdd 469 298 + Store 385(i) 472 + Branch 391 + 393: Label + 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 476 476 12 12 + 473: 74(fvec3) Load 80(fragcolor) + ReturnValue 473 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.tesc.out b/Test/baseResults/spv.debuginfo.glsl.tesc.out index e81dff1f..937a42ef 100644 --- a/Test/baseResults/spv.debuginfo.glsl.tesc.out +++ b/Test/baseResults/spv.debuginfo.glsl.tesc.out @@ -1,14 +1,14 @@ spv.debuginfo.glsl.tesc // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 571 +// Id's are bound by 579 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationControl 14 "main" 262 267 296 385 401 516 532 542 557 + EntryPoint TessellationControl 14 "main" 262 267 296 390 405 524 540 550 565 ExecutionMode 14 OutputVertices 4 2: String "spv.debuginfo.glsl.tesc" 8: String "uint" @@ -194,12 +194,12 @@ void main() 289: String "samplerHeight" 298: String "inUV" 317: String "i" - 387: String "gl_TessLevelInner" - 403: String "gl_TessLevelOuter" - 518: String "gl_out" - 534: String "outNormal" - 544: String "inNormal" - 559: String "outUV" + 392: String "gl_TessLevelInner" + 407: String "gl_TessLevelOuter" + 526: String "gl_out" + 542: String "outNormal" + 552: String "inNormal" + 567: String "outUV" Name 14 "main" Name 29 "screenSpaceTessFactor(vf4;vf4;" Name 27 "p0" @@ -231,25 +231,25 @@ void main() Name 287 "samplerHeight" Name 296 "inUV" Name 315 "i" - Name 385 "gl_TessLevelInner" - Name 401 "gl_TessLevelOuter" - Name 426 "param" - Name 432 "param" - Name 437 "param" - Name 442 "param" - Name 447 "param" - Name 452 "param" - Name 457 "param" - Name 462 "param" - Name 503 "gl_PerVertex" - MemberName 503(gl_PerVertex) 0 "gl_Position" - MemberName 503(gl_PerVertex) 1 "gl_PointSize" - MemberName 503(gl_PerVertex) 2 "gl_ClipDistance" - MemberName 503(gl_PerVertex) 3 "gl_CullDistance" - Name 516 "gl_out" - Name 532 "outNormal" - Name 542 "inNormal" - Name 557 "outUV" + Name 390 "gl_TessLevelInner" + Name 405 "gl_TessLevelOuter" + Name 434 "param" + Name 439 "param" + Name 444 "param" + Name 449 "param" + Name 454 "param" + Name 459 "param" + Name 464 "param" + Name 469 "param" + Name 511 "gl_PerVertex" + MemberName 511(gl_PerVertex) 0 "gl_Position" + MemberName 511(gl_PerVertex) 1 "gl_PointSize" + MemberName 511(gl_PerVertex) 2 "gl_ClipDistance" + MemberName 511(gl_PerVertex) 3 "gl_CullDistance" + Name 524 "gl_out" + Name 540 "outNormal" + Name 550 "inNormal" + Name 565 "outUV" Decorate 95 ArrayStride 16 Decorate 99(UBO) Block MemberDecorate 99(UBO) 0 ColMajor @@ -275,18 +275,18 @@ void main() Decorate 287(samplerHeight) Binding 1 Decorate 287(samplerHeight) DescriptorSet 0 Decorate 296(inUV) Location 1 - Decorate 385(gl_TessLevelInner) BuiltIn TessLevelInner - Decorate 385(gl_TessLevelInner) Patch - Decorate 401(gl_TessLevelOuter) BuiltIn TessLevelOuter - Decorate 401(gl_TessLevelOuter) Patch - Decorate 503(gl_PerVertex) Block - MemberDecorate 503(gl_PerVertex) 0 BuiltIn Position - MemberDecorate 503(gl_PerVertex) 1 BuiltIn PointSize - MemberDecorate 503(gl_PerVertex) 2 BuiltIn ClipDistance - MemberDecorate 503(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 532(outNormal) Location 0 - Decorate 542(inNormal) Location 0 - Decorate 557(outUV) Location 1 + Decorate 390(gl_TessLevelInner) BuiltIn TessLevelInner + Decorate 390(gl_TessLevelInner) Patch + Decorate 405(gl_TessLevelOuter) BuiltIn TessLevelOuter + Decorate 405(gl_TessLevelOuter) Patch + Decorate 511(gl_PerVertex) Block + MemberDecorate 511(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 511(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 511(gl_PerVertex) 2 BuiltIn ClipDistance + MemberDecorate 511(gl_PerVertex) 3 BuiltIn CullDistance + Decorate 540(outNormal) Location 0 + Decorate 550(inNormal) Location 0 + Decorate 565(outUV) Location 1 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -441,252 +441,260 @@ void main() 338: TypePointer Uniform 19(fvec4) 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12 343: 16(float) Constant 1090519040 - 348: 48(bool) ConstantFalse - 351: 7(int) Constant 92 - 359: 7(int) Constant 95 - 364: 7(int) Constant 96 - 370: 7(int) Constant 100 - 377: 7(int) Constant 102 - 381: TypeArray 16(float) 38 - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38 - 383: TypePointer Output 381 - 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 382 13 12 -385(gl_TessLevelInner): 383(ptr) Variable Output - 388: 7(int) Constant 104 - 386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 387 382 33 388 12 36 387 385(gl_TessLevelInner) 112 - 389: TypePointer Output 16(float) - 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 - 396: 7(int) Constant 105 - 397: TypeArray 16(float) 20 - 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20 - 399: TypePointer Output 397 - 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 398 13 12 -401(gl_TessLevelOuter): 399(ptr) Variable Output - 404: 7(int) Constant 106 - 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 403 398 33 404 12 36 403 401(gl_TessLevelOuter) 112 - 409: 7(int) Constant 107 - 410: 125(int) Constant 2 - 413: 7(int) Constant 108 - 416: 7(int) Constant 109 - 421: 7(int) Constant 113 - 430: 7(int) Constant 115 - 440: 7(int) Constant 116 - 450: 7(int) Constant 117 - 460: 7(int) Constant 118 - 469: 7(int) Constant 119 - 477: 7(int) Constant 120 - 487: 7(int) Constant 126 - 490: 7(int) Constant 127 - 493: 7(int) Constant 128 - 496: 7(int) Constant 129 - 499: 7(int) Constant 130 - 502: 7(int) Constant 131 -503(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243 - 505: 7(int) Constant 110 - 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 505 12 12 13 - 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 493 12 12 13 - 508: 7(int) Constant 171 - 507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 508 12 12 13 - 509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 508 12 12 13 - 511: 7(int) Constant 137 - 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 511 12 36 257 12 13 504 506 507 509 - 512: TypeArray 503(gl_PerVertex) 20 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 510 20 - 514: TypePointer Output 512 - 515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 513 13 12 - 516(gl_out): 514(ptr) Variable Output - 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 518 513 33 511 12 36 518 516(gl_out) 112 - 525: TypePointer Output 19(fvec4) - 526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 - 528: TypeArray 146(fvec3) 20 - 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 20 - 530: TypePointer Output 528 - 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 529 13 12 - 532(outNormal): 530(ptr) Variable Output - 535: 7(int) Constant 138 - 533: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 534 529 33 535 12 36 534 532(outNormal) 112 - 538: TypeArray 146(fvec3) 10 - 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 10 - 540: TypePointer Input 538 - 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 539 37 12 - 542(inNormal): 540(ptr) Variable Input - 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 544 539 33 535 12 36 544 542(inNormal) 112 - 546: TypePointer Input 146(fvec3) - 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 37 12 - 550: TypePointer Output 146(fvec3) - 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 13 12 - 553: TypeArray 97(fvec2) 20 - 554: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 20 - 555: TypePointer Output 553 - 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 554 13 12 - 557(outUV): 555(ptr) Variable Output - 560: 7(int) Constant 139 - 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 559 554 33 560 12 36 559 557(outUV) 112 - 566: TypePointer Output 97(fvec2) - 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 13 12 - 570: 7(int) Constant 140 + 349: 7(int) Constant 92 + 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 349 20 56 + 350: 48(bool) ConstantFalse + 360: 7(int) Constant 95 + 365: 7(int) Constant 96 + 371: 7(int) Constant 100 + 376: 7(int) Constant 102 + 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 376 13 59 + 384: 7(int) Constant 104 + 385: 7(int) Constant 25 + 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 384 385 375 + 386: TypeArray 16(float) 38 + 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38 + 388: TypePointer Output 386 + 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 387 13 12 +390(gl_TessLevelInner): 388(ptr) Variable Output + 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 392 387 33 384 12 36 392 390(gl_TessLevelInner) 112 + 393: TypePointer Output 16(float) + 394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 + 400: 7(int) Constant 105 + 401: TypeArray 16(float) 20 + 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20 + 403: TypePointer Output 401 + 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 402 13 12 +405(gl_TessLevelOuter): 403(ptr) Variable Output + 408: 7(int) Constant 106 + 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 407 402 33 408 12 36 407 405(gl_TessLevelOuter) 112 + 413: 7(int) Constant 107 + 414: 125(int) Constant 2 + 417: 7(int) Constant 108 + 420: 7(int) Constant 109 + 423: 7(int) Constant 113 + 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 423 20 375 + 432: 7(int) Constant 115 + 433: 7(int) Constant 26 + 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 432 433 422 + 447: 7(int) Constant 116 + 457: 7(int) Constant 117 + 467: 7(int) Constant 118 + 476: 7(int) Constant 119 + 484: 7(int) Constant 120 + 492: 7(int) Constant 126 + 491: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 492 433 422 + 498: 7(int) Constant 127 + 501: 7(int) Constant 128 + 504: 7(int) Constant 129 + 507: 7(int) Constant 130 + 510: 7(int) Constant 131 +511(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243 + 513: 7(int) Constant 110 + 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 513 12 12 13 + 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 501 12 12 13 + 516: 7(int) Constant 171 + 515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 516 12 12 13 + 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 516 12 12 13 + 519: 7(int) Constant 137 + 518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 519 12 36 257 12 13 512 514 515 517 + 520: TypeArray 511(gl_PerVertex) 20 + 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 518 20 + 522: TypePointer Output 520 + 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 521 13 12 + 524(gl_out): 522(ptr) Variable Output + 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 526 521 33 519 12 36 526 524(gl_out) 112 + 533: TypePointer Output 19(fvec4) + 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 + 536: TypeArray 146(fvec3) 20 + 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 20 + 538: TypePointer Output 536 + 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 537 13 12 + 540(outNormal): 538(ptr) Variable Output + 543: 7(int) Constant 138 + 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 542 537 33 543 12 36 542 540(outNormal) 112 + 546: TypeArray 146(fvec3) 10 + 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 10 + 548: TypePointer Input 546 + 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 547 37 12 + 550(inNormal): 548(ptr) Variable Input + 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 552 547 33 543 12 36 552 550(inNormal) 112 + 554: TypePointer Input 146(fvec3) + 555: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 37 12 + 558: TypePointer Output 146(fvec3) + 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 13 12 + 561: TypeArray 97(fvec2) 20 + 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 20 + 563: TypePointer Output 561 + 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 562 13 12 + 565(outUV): 563(ptr) Variable Output + 568: 7(int) Constant 139 + 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 567 562 33 568 12 36 567 565(outUV) 112 + 574: TypePointer Output 97(fvec2) + 575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 13 12 + 578: 7(int) Constant 140 14(main): 4 Function None 5 15: Label - 426(param): 22(ptr) Variable Function - 432(param): 22(ptr) Variable Function - 437(param): 22(ptr) Variable Function - 442(param): 22(ptr) Variable Function - 447(param): 22(ptr) Variable Function - 452(param): 22(ptr) Variable Function - 457(param): 22(ptr) Variable Function - 462(param): 22(ptr) Variable Function - 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12 - 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main) - 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 370 370 12 12 - 368: 125(int) Load 267(gl_InvocationID) - 371: 48(bool) IEqual 368 141 - SelectionMerge 373 None - BranchConditional 371 372 373 - 372: Label - 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 377 377 12 12 - 374: 48(bool) FunctionCall 53(frustumCheck() - 378: 48(bool) LogicalNot 374 - SelectionMerge 380 None - BranchConditional 378 379 417 - 379: Label - 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 388 388 12 12 - 391: 389(ptr) AccessChain 385(gl_TessLevelInner) 141 - Store 391 148 - 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 396 396 12 12 - 394: 389(ptr) AccessChain 385(gl_TessLevelInner) 128 - Store 394 148 - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 404 404 12 12 - 405: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141 - Store 405 148 - 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 409 409 12 12 - 407: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128 - Store 407 148 + 434(param): 22(ptr) Variable Function + 439(param): 22(ptr) Variable Function + 444(param): 22(ptr) Variable Function + 449(param): 22(ptr) Variable Function + 454(param): 22(ptr) Variable Function + 459(param): 22(ptr) Variable Function + 464(param): 22(ptr) Variable Function + 469(param): 22(ptr) Variable Function + 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12 + 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main) + 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 371 371 12 12 + 369: 125(int) Load 267(gl_InvocationID) + 372: 48(bool) IEqual 369 141 + SelectionMerge 374 None + BranchConditional 372 373 374 + 373: Label + 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 375 + 379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 376 376 12 12 + 377: 48(bool) FunctionCall 53(frustumCheck() + 380: 48(bool) LogicalNot 377 + SelectionMerge 382 None + BranchConditional 380 381 421 + 381: Label + 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 383 + 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 384 384 12 12 + 395: 393(ptr) AccessChain 390(gl_TessLevelInner) 141 + Store 395 148 + 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 400 400 12 12 + 398: 393(ptr) AccessChain 390(gl_TessLevelInner) 128 + Store 398 148 + 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 408 408 12 12 + 409: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141 + Store 409 148 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 413 413 12 12 - 411: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410 + 411: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 Store 411 148 - 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 416 416 12 12 - 414: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336 - Store 414 148 - Branch 380 - 417: Label - 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 421 421 12 12 - 418: 217(ptr) AccessChain 122(ubo) 222 - 422: 16(float) Load 418 - 423: 48(bool) FOrdGreaterThan 422 148 - SelectionMerge 425 None - BranchConditional 423 424 483 - 424: Label - 428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 430 430 12 12 - 427: 271(ptr) AccessChain 262(gl_in) 336 141 - 431: 19(fvec4) Load 427 - Store 426(param) 431 - 433: 271(ptr) AccessChain 262(gl_in) 141 141 - 434: 19(fvec4) Load 433 - Store 432(param) 434 - 435: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 426(param) 432(param) - 436: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141 - Store 436 435 - 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 440 440 12 12 - 438: 271(ptr) AccessChain 262(gl_in) 141 141 - 441: 19(fvec4) Load 438 - Store 437(param) 441 - 443: 271(ptr) AccessChain 262(gl_in) 128 141 - 444: 19(fvec4) Load 443 - Store 442(param) 444 - 445: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 437(param) 442(param) - 446: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128 - Store 446 445 - 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 450 450 12 12 - 448: 271(ptr) AccessChain 262(gl_in) 128 141 - 451: 19(fvec4) Load 448 - Store 447(param) 451 - 453: 271(ptr) AccessChain 262(gl_in) 410 141 - 454: 19(fvec4) Load 453 - Store 452(param) 454 - 455: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 447(param) 452(param) - 456: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410 - Store 456 455 - 459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 460 460 12 12 - 458: 271(ptr) AccessChain 262(gl_in) 410 141 - 461: 19(fvec4) Load 458 - Store 457(param) 461 - 463: 271(ptr) AccessChain 262(gl_in) 336 141 - 464: 19(fvec4) Load 463 - Store 462(param) 464 - 465: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 457(param) 462(param) - 466: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336 - Store 466 465 - 468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 469 469 12 12 - 467: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141 - 470: 16(float) Load 467 - 471: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336 - 472: 16(float) Load 471 - 473: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 470 472 68 - 474: 389(ptr) AccessChain 385(gl_TessLevelInner) 141 - Store 474 473 - 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 477 477 12 12 - 475: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410 - 478: 16(float) Load 475 - 479: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128 - 480: 16(float) Load 479 - 481: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 478 480 68 - 482: 389(ptr) AccessChain 385(gl_TessLevelInner) 128 - Store 482 481 - Branch 425 - 483: Label - 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 487 487 12 12 - 484: 389(ptr) AccessChain 385(gl_TessLevelInner) 141 - Store 484 226 - 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 490 490 12 12 - 488: 389(ptr) AccessChain 385(gl_TessLevelInner) 128 - Store 488 226 - 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 493 493 12 12 - 491: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141 - Store 491 226 - 495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 496 496 12 12 - 494: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128 - Store 494 226 - 498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 499 499 12 12 - 497: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410 - Store 497 226 - 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 502 502 12 12 - 500: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336 - Store 500 226 - Branch 425 - 425: Label - Branch 380 - 380: Label - Branch 373 - 373: Label - 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 511 511 12 12 - 519: 125(int) Load 267(gl_InvocationID) - 522: 125(int) Load 267(gl_InvocationID) - 523: 271(ptr) AccessChain 262(gl_in) 522 141 - 524: 19(fvec4) Load 523 - 527: 525(ptr) AccessChain 516(gl_out) 519 141 - Store 527 524 - 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 535 535 12 12 - 536: 125(int) Load 267(gl_InvocationID) - 545: 125(int) Load 267(gl_InvocationID) - 548: 546(ptr) AccessChain 542(inNormal) 545 - 549: 146(fvec3) Load 548 - 552: 550(ptr) AccessChain 532(outNormal) 536 - Store 552 549 - 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 560 560 12 12 - 561: 125(int) Load 267(gl_InvocationID) - 563: 125(int) Load 267(gl_InvocationID) - 564: 299(ptr) AccessChain 296(inUV) 563 - 565: 97(fvec2) Load 564 - 568: 566(ptr) AccessChain 557(outUV) 561 - Store 568 565 - 569: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 570 570 12 12 + 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 417 417 12 12 + 415: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414 + Store 415 148 + 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 420 420 12 12 + 418: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336 + Store 418 148 + Branch 382 + 421: Label + 425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 422 + 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 423 423 12 12 + 424: 217(ptr) AccessChain 122(ubo) 222 + 427: 16(float) Load 424 + 428: 48(bool) FOrdGreaterThan 427 148 + SelectionMerge 430 None + BranchConditional 428 429 490 + 429: Label + 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 431 + 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 432 432 12 12 + 435: 271(ptr) AccessChain 262(gl_in) 336 141 + 438: 19(fvec4) Load 435 + Store 434(param) 438 + 440: 271(ptr) AccessChain 262(gl_in) 141 141 + 441: 19(fvec4) Load 440 + Store 439(param) 441 + 442: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 434(param) 439(param) + 443: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141 + Store 443 442 + 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 447 447 12 12 + 445: 271(ptr) AccessChain 262(gl_in) 141 141 + 448: 19(fvec4) Load 445 + Store 444(param) 448 + 450: 271(ptr) AccessChain 262(gl_in) 128 141 + 451: 19(fvec4) Load 450 + Store 449(param) 451 + 452: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 444(param) 449(param) + 453: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 + Store 453 452 + 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 457 457 12 12 + 455: 271(ptr) AccessChain 262(gl_in) 128 141 + 458: 19(fvec4) Load 455 + Store 454(param) 458 + 460: 271(ptr) AccessChain 262(gl_in) 414 141 + 461: 19(fvec4) Load 460 + Store 459(param) 461 + 462: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 454(param) 459(param) + 463: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414 + Store 463 462 + 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 467 467 12 12 + 465: 271(ptr) AccessChain 262(gl_in) 414 141 + 468: 19(fvec4) Load 465 + Store 464(param) 468 + 470: 271(ptr) AccessChain 262(gl_in) 336 141 + 471: 19(fvec4) Load 470 + Store 469(param) 471 + 472: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 464(param) 469(param) + 473: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336 + Store 473 472 + 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 476 476 12 12 + 474: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141 + 477: 16(float) Load 474 + 478: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336 + 479: 16(float) Load 478 + 480: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 477 479 68 + 481: 393(ptr) AccessChain 390(gl_TessLevelInner) 141 + Store 481 480 + 483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 484 484 12 12 + 482: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414 + 485: 16(float) Load 482 + 486: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 + 487: 16(float) Load 486 + 488: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 485 487 68 + 489: 393(ptr) AccessChain 390(gl_TessLevelInner) 128 + Store 489 488 + Branch 430 + 490: Label + 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 491 + 495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 492 492 12 12 + 493: 393(ptr) AccessChain 390(gl_TessLevelInner) 141 + Store 493 226 + 497: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 498 498 12 12 + 496: 393(ptr) AccessChain 390(gl_TessLevelInner) 128 + Store 496 226 + 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 501 501 12 12 + 499: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141 + Store 499 226 + 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 504 504 12 12 + 502: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 + Store 502 226 + 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 507 507 12 12 + 505: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414 + Store 505 226 + 509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 510 510 12 12 + 508: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336 + Store 508 226 + Branch 430 + 430: Label + Branch 382 + 382: Label + Branch 374 + 374: Label + 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 519 519 12 12 + 527: 125(int) Load 267(gl_InvocationID) + 530: 125(int) Load 267(gl_InvocationID) + 531: 271(ptr) AccessChain 262(gl_in) 530 141 + 532: 19(fvec4) Load 531 + 535: 533(ptr) AccessChain 524(gl_out) 527 141 + Store 535 532 + 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 543 543 12 12 + 544: 125(int) Load 267(gl_InvocationID) + 553: 125(int) Load 267(gl_InvocationID) + 556: 554(ptr) AccessChain 550(inNormal) 553 + 557: 146(fvec3) Load 556 + 560: 558(ptr) AccessChain 540(outNormal) 544 + Store 560 557 + 570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 568 568 12 12 + 569: 125(int) Load 267(gl_InvocationID) + 571: 125(int) Load 267(gl_InvocationID) + 572: 299(ptr) AccessChain 296(inUV) 571 + 573: 97(fvec2) Load 572 + 576: 574(ptr) AccessChain 565(outUV) 569 + Store 576 573 + 577: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 578 578 12 12 Return FunctionEnd 29(screenSpaceTessFactor(vf4;vf4;): 16(float) Function None 25 @@ -856,20 +864,20 @@ void main() SelectionMerge 347 None BranchConditional 345 346 347 346: Label - 349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 351 351 12 12 - ReturnValue 348 + 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 348 + 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 349 349 12 12 + ReturnValue 350 347: Label Branch 324 324: Label - 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 - 353: 125(int) Load 315(i) - 356: 125(int) IAdd 353 128 - Store 315(i) 356 + 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + 354: 125(int) Load 315(i) + 357: 125(int) IAdd 354 128 + Store 315(i) 357 Branch 321 323: Label - 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 359 359 12 12 + 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 360 360 12 12 ReturnValue 94 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.comp.out b/Test/baseResults/spv.debuginfo.hlsl.comp.out index e6fbf123..107c848b 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.comp.out +++ b/Test/baseResults/spv.debuginfo.hlsl.comp.out @@ -1,16 +1,16 @@ spv.debuginfo.hlsl.comp // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 968 +// Id's are bound by 992 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 6 "main" 963 + EntryPoint GLCompute 6 "main" 987 ExecutionMode 6 LocalSize 10 10 1 - 2: String "" + 2: String "spv.debuginfo.hlsl.comp" 9: String "float" 12: String "uint" 32: String "springForce" @@ -22,40 +22,225 @@ spv.debuginfo.hlsl.comp // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 +/* +The MIT License (MIT) + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +struct Particle { + float4 pos; + float4 vel; + float4 uv; + float4 normal; + float pinned; +}; + +[[vk::binding(0)]] +StructuredBuffer particleIn; +[[vk::binding(1)]] +RWStructuredBuffer particleOut; + +struct UBO +{ + float deltaT; + float particleMass; + float springStiffness; + float damping; + float restDistH; + float restDistV; + float restDistD; + float sphereRadius; + float4 spherePos; + float4 gravity; + int2 particleCount; +}; + +cbuffer ubo : register(b2) +{ + UBO params; +}; + +#ifdef GLSLANG +layout ( push_constant ) cbuffer PushConstants +{ + uint calculateNormals; +} pushConstants; +#else +struct PushConstants +{ + uint calculateNormals; +}; + +[[vk::push_constant]] +PushConstants pushConstants; +#endif + +float3 springForce(float3 p0, float3 p1, float restDist) +{ + float3 dist = p0 - p1; + return normalize(dist) * params.springStiffness * (length(dist) - restDist); +} + +[numthreads(10, 10, 1)] +void main(uint3 id : SV_DispatchThreadID) +{ + uint index = id.y * params.particleCount.x + id.x; + if (index > params.particleCount.x * params.particleCount.y) + return; + + // Pinned? + if (particleIn[index].pinned == 1.0) { + particleOut[index].pos = particleOut[index].pos; + particleOut[index].vel = float4(0, 0, 0, 0); + return; + } + + // Initial force from gravity + float3 force = params.gravity.xyz * params.particleMass; + + float3 pos = particleIn[index].pos.xyz; + float3 vel = particleIn[index].vel.xyz; + + // Spring forces from neighboring particles + // left + if (id.x > 0) { + force += springForce(particleIn[index-1].pos.xyz, pos, params.restDistH); + } + // right + if (id.x < params.particleCount.x - 1) { + force += springForce(particleIn[index + 1].pos.xyz, pos, params.restDistH); + } + // upper + if (id.y < params.particleCount.y - 1) { + force += springForce(particleIn[index + params.particleCount.x].pos.xyz, pos, params.restDistV); + } + // lower + if (id.y > 0) { + force += springForce(particleIn[index - params.particleCount.x].pos.xyz, pos, params.restDistV); + } + // upper-left + if ((id.x > 0) && (id.y < params.particleCount.y - 1)) { + force += springForce(particleIn[index + params.particleCount.x - 1].pos.xyz, pos, params.restDistD); + } + // lower-left + if ((id.x > 0) && (id.y > 0)) { + force += springForce(particleIn[index - params.particleCount.x - 1].pos.xyz, pos, params.restDistD); + } + // upper-right + if ((id.x < params.particleCount.x - 1) && (id.y < params.particleCount.y - 1)) { + force += springForce(particleIn[index + params.particleCount.x + 1].pos.xyz, pos, params.restDistD); + } + // lower-right + if ((id.x < params.particleCount.x - 1) && (id.y > 0)) { + force += springForce(particleIn[index - params.particleCount.x + 1].pos.xyz, pos, params.restDistD); + } + + force += (-params.damping * vel); + + // Integrate + float3 f = force * (1.0 / params.particleMass); + particleOut[index].pos = float4(pos + vel * params.deltaT + 0.5 * f * params.deltaT * params.deltaT, 1.0); + particleOut[index].vel = float4(vel + f * params.deltaT, 0.0); + + // Sphere collision + float3 sphereDist = particleOut[index].pos.xyz - params.spherePos.xyz; + if (length(sphereDist) < params.sphereRadius + 0.01) { + // If the particle is inside the sphere, push it to the outer radius + particleOut[index].pos.xyz = params.spherePos.xyz + normalize(sphereDist) * (params.sphereRadius + 0.01); + // Cancel out velocity + particleOut[index].vel = float4(0, 0, 0, 0); + } + + // Normals + if (pushConstants.calculateNormals == 1) { + float3 normal = float3(0, 0, 0); + float3 a, b, c; + if (id.y > 0) { + if (id.x > 0) { + a = particleIn[index - 1].pos.xyz - pos; + b = particleIn[index - params.particleCount.x - 1].pos.xyz - pos; + c = particleIn[index - params.particleCount.x].pos.xyz - pos; + normal += cross(a,b) + cross(b,c); + } + if (id.x < params.particleCount.x - 1) { + a = particleIn[index - params.particleCount.x].pos.xyz - pos; + b = particleIn[index - params.particleCount.x + 1].pos.xyz - pos; + c = particleIn[index + 1].pos.xyz - pos; + normal += cross(a,b) + cross(b,c); + } + } + if (id.y < params.particleCount.y - 1) { + if (id.x > 0) { + a = particleIn[index + params.particleCount.x].pos.xyz - pos; + b = particleIn[index + params.particleCount.x - 1].pos.xyz - pos; + c = particleIn[index - 1].pos.xyz - pos; + normal += cross(a,b) + cross(b,c); + } + if (id.x < params.particleCount.x - 1) { + a = particleIn[index + 1].pos.xyz - pos; + b = particleIn[index + params.particleCount.x + 1].pos.xyz - pos; + c = particleIn[index + params.particleCount.x].pos.xyz - pos; + normal += cross(a,b) + cross(b,c); + } + } + particleOut[index].normal = float4(normalize(normal), 0.0f); + } +} " 42: String "p0" 48: String "p1" 52: String "restDist" 63: String "@main" 67: String "id" - 74: String "dist" - 88: String "int" - 94: String "sphereRadius" - 105: String "gravity" - 110: String "particleCount" - 113: String "UBO" - 116: String "params" - 120: String "ubo" - 147: String "index" - 173: String "bool" - 184: String "normal" - 191: String "pinned" - 195: String "Particle" - 201: String "@data" - 205: String "particleIn" - 226: String "particleOut" - 253: String "force" - 267: String "pos" - 277: String "vel" - 561: String "f" - 610: String "sphereDist" - 661: String "calculateNormals" - 665: String "PushConstants" - 669: String "pushConstants" - 672: String "$Global" - 710: String "a" - 724: String "b" - 741: String "c" + 75: String "dist" + 90: String "int" + 96: String "sphereRadius" + 107: String "gravity" + 112: String "particleCount" + 115: String "UBO" + 118: String "params" + 122: String "ubo" + 127: String "" + 151: String "index" + 178: String "bool" + 189: String "normal" + 196: String "pinned" + 200: String "Particle" + 206: String "@data" + 210: String "particleIn" + 232: String "particleOut" + 259: String "force" + 273: String "pos" + 283: String "vel" + 575: String "f" + 624: String "sphereDist" + 676: String "calculateNormals" + 680: String "PushConstants" + 684: String "pushConstants" + 687: String "$Global" + 711: String "a" + 717: String "b" + 721: String "c" Name 6 "main" Name 30 "springForce(vf3;vf3;f1;" Name 27 "p0" @@ -63,114 +248,114 @@ spv.debuginfo.hlsl.comp Name 29 "restDist" Name 61 "@main(vu3;" Name 60 "id" - Name 72 "dist" - Name 92 "UBO" - MemberName 92(UBO) 0 "deltaT" - MemberName 92(UBO) 1 "particleMass" - MemberName 92(UBO) 2 "springStiffness" - MemberName 92(UBO) 3 "damping" - MemberName 92(UBO) 4 "restDistH" - MemberName 92(UBO) 5 "restDistV" - MemberName 92(UBO) 6 "restDistD" - MemberName 92(UBO) 7 "sphereRadius" - MemberName 92(UBO) 8 "spherePos" - MemberName 92(UBO) 9 "gravity" - MemberName 92(UBO) 10 "particleCount" - Name 114 "ubo" - MemberName 114(ubo) 0 "params" - Name 123 "" - Name 145 "index" - Name 182 "Particle" - MemberName 182(Particle) 0 "pos" - MemberName 182(Particle) 1 "vel" - MemberName 182(Particle) 2 "uv" - MemberName 182(Particle) 3 "normal" - MemberName 182(Particle) 4 "pinned" - Name 199 "particleIn" - MemberName 199(particleIn) 0 "@data" - Name 208 "particleIn" - Name 222 "particleOut" - MemberName 222(particleOut) 0 "@data" - Name 230 "particleOut" - Name 251 "force" - Name 265 "pos" - Name 275 "vel" - Name 297 "param" - Name 301 "param" - Name 303 "param" - Name 326 "param" - Name 330 "param" - Name 332 "param" - Name 359 "param" - Name 363 "param" - Name 365 "param" - Name 387 "param" - Name 391 "param" - Name 393 "param" - Name 425 "param" - Name 429 "param" - Name 431 "param" - Name 458 "param" - Name 462 "param" - Name 464 "param" - Name 499 "param" - Name 503 "param" - Name 505 "param" - Name 536 "param" - Name 540 "param" - Name 542 "param" - Name 559 "f" - Name 608 "sphereDist" - Name 659 "PushConstants" - MemberName 659(PushConstants) 0 "calculateNormals" - Name 667 "$Global" - MemberName 667($Global) 0 "pushConstants" - Name 675 "" - Name 686 "normal" - Name 708 "a" - Name 722 "b" - Name 739 "c" - Name 961 "id" - Name 963 "id" - Name 965 "param" - MemberDecorate 92(UBO) 0 Offset 0 - MemberDecorate 92(UBO) 1 Offset 4 - MemberDecorate 92(UBO) 2 Offset 8 - MemberDecorate 92(UBO) 3 Offset 12 - MemberDecorate 92(UBO) 4 Offset 16 - MemberDecorate 92(UBO) 5 Offset 20 - MemberDecorate 92(UBO) 6 Offset 24 - MemberDecorate 92(UBO) 7 Offset 28 - MemberDecorate 92(UBO) 8 Offset 32 - MemberDecorate 92(UBO) 9 Offset 48 - MemberDecorate 92(UBO) 10 Offset 64 - Decorate 114(ubo) Block - MemberDecorate 114(ubo) 0 Offset 0 - Decorate 123 Binding 2 - Decorate 123 DescriptorSet 0 - MemberDecorate 182(Particle) 0 Offset 0 - MemberDecorate 182(Particle) 1 Offset 16 - MemberDecorate 182(Particle) 2 Offset 32 - MemberDecorate 182(Particle) 3 Offset 48 - MemberDecorate 182(Particle) 4 Offset 64 - Decorate 197 ArrayStride 80 - Decorate 199(particleIn) BufferBlock - MemberDecorate 199(particleIn) 0 NonWritable - MemberDecorate 199(particleIn) 0 Offset 0 - Decorate 208(particleIn) NonWritable - Decorate 208(particleIn) Binding 0 - Decorate 208(particleIn) DescriptorSet 0 - Decorate 220 ArrayStride 80 - Decorate 222(particleOut) BufferBlock - MemberDecorate 222(particleOut) 0 Offset 0 - Decorate 230(particleOut) Binding 1 - Decorate 230(particleOut) DescriptorSet 0 - MemberDecorate 659(PushConstants) 0 Offset 0 - Decorate 667($Global) Block - MemberDecorate 667($Global) 0 Offset 0 - Decorate 675 Binding 3 - Decorate 675 DescriptorSet 0 - Decorate 963(id) BuiltIn GlobalInvocationId + Name 73 "dist" + Name 94 "UBO" + MemberName 94(UBO) 0 "deltaT" + MemberName 94(UBO) 1 "particleMass" + MemberName 94(UBO) 2 "springStiffness" + MemberName 94(UBO) 3 "damping" + MemberName 94(UBO) 4 "restDistH" + MemberName 94(UBO) 5 "restDistV" + MemberName 94(UBO) 6 "restDistD" + MemberName 94(UBO) 7 "sphereRadius" + MemberName 94(UBO) 8 "spherePos" + MemberName 94(UBO) 9 "gravity" + MemberName 94(UBO) 10 "particleCount" + Name 116 "ubo" + MemberName 116(ubo) 0 "params" + Name 125 "" + Name 149 "index" + Name 187 "Particle" + MemberName 187(Particle) 0 "pos" + MemberName 187(Particle) 1 "vel" + MemberName 187(Particle) 2 "uv" + MemberName 187(Particle) 3 "normal" + MemberName 187(Particle) 4 "pinned" + Name 204 "particleIn" + MemberName 204(particleIn) 0 "@data" + Name 213 "particleIn" + Name 228 "particleOut" + MemberName 228(particleOut) 0 "@data" + Name 236 "particleOut" + Name 257 "force" + Name 271 "pos" + Name 281 "vel" + Name 304 "param" + Name 308 "param" + Name 310 "param" + Name 334 "param" + Name 338 "param" + Name 340 "param" + Name 368 "param" + Name 372 "param" + Name 374 "param" + Name 397 "param" + Name 401 "param" + Name 403 "param" + Name 436 "param" + Name 440 "param" + Name 442 "param" + Name 470 "param" + Name 474 "param" + Name 476 "param" + Name 512 "param" + Name 516 "param" + Name 518 "param" + Name 550 "param" + Name 554 "param" + Name 556 "param" + Name 573 "f" + Name 622 "sphereDist" + Name 674 "PushConstants" + MemberName 674(PushConstants) 0 "calculateNormals" + Name 682 "$Global" + MemberName 682($Global) 0 "pushConstants" + Name 690 "" + Name 702 "normal" + Name 709 "a" + Name 715 "b" + Name 719 "c" + Name 985 "id" + Name 987 "id" + Name 989 "param" + MemberDecorate 94(UBO) 0 Offset 0 + MemberDecorate 94(UBO) 1 Offset 4 + MemberDecorate 94(UBO) 2 Offset 8 + MemberDecorate 94(UBO) 3 Offset 12 + MemberDecorate 94(UBO) 4 Offset 16 + MemberDecorate 94(UBO) 5 Offset 20 + MemberDecorate 94(UBO) 6 Offset 24 + MemberDecorate 94(UBO) 7 Offset 28 + MemberDecorate 94(UBO) 8 Offset 32 + MemberDecorate 94(UBO) 9 Offset 48 + MemberDecorate 94(UBO) 10 Offset 64 + Decorate 116(ubo) Block + MemberDecorate 116(ubo) 0 Offset 0 + Decorate 125 Binding 2 + Decorate 125 DescriptorSet 0 + MemberDecorate 187(Particle) 0 Offset 0 + MemberDecorate 187(Particle) 1 Offset 16 + MemberDecorate 187(Particle) 2 Offset 32 + MemberDecorate 187(Particle) 3 Offset 48 + MemberDecorate 187(Particle) 4 Offset 64 + Decorate 202 ArrayStride 80 + Decorate 204(particleIn) BufferBlock + MemberDecorate 204(particleIn) 0 NonWritable + MemberDecorate 204(particleIn) 0 Offset 0 + Decorate 213(particleIn) NonWritable + Decorate 213(particleIn) Binding 0 + Decorate 213(particleIn) DescriptorSet 0 + Decorate 226 ArrayStride 80 + Decorate 228(particleOut) BufferBlock + MemberDecorate 228(particleOut) 0 Offset 0 + Decorate 236(particleOut) Binding 1 + Decorate 236(particleOut) DescriptorSet 0 + MemberDecorate 674(PushConstants) 0 Offset 0 + Decorate 682($Global) Block + MemberDecorate 682($Global) 0 Offset 0 + Decorate 690 Binding 3 + Decorate 690 DescriptorSet 0 + Decorate 987(id) BuiltIn GlobalInvocationId 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -211,197 +396,217 @@ spv.debuginfo.hlsl.comp 65: 11(int) Constant 82 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 63 59 34 65 16 37 63 17 65 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 67 55 34 65 16 64 39 38 - 75: 11(int) Constant 76 - 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 74 19 34 75 16 33 39 - 83: 11(int) Constant 77 - 85: TypeVector 8(float) 4 - 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 39 - 87: TypeInt 32 1 - 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 88 14 39 16 - 90: TypeVector 87(int) 2 - 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 89 49 - 92(UBO): TypeStruct 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 85(fvec4) 85(fvec4) 90(ivec2) - 95: 11(int) Constant 48 - 96: 11(int) Constant 20 - 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 - 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 - 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 - 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 - 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 - 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 - 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 94 10 34 95 96 16 16 17 - 106: 11(int) Constant 50 - 107: 11(int) Constant 16 - 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 105 86 34 106 107 16 16 17 - 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 105 86 34 106 107 16 16 17 - 111: 11(int) Constant 51 - 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 110 91 34 111 96 16 16 17 - 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 113 38 34 83 16 37 113 16 17 93 97 98 99 100 101 102 103 104 108 109 - 114(ubo): TypeStruct 92(UBO) - 117: 11(int) Constant 56 - 118: 11(int) Constant 12 - 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 116 112 34 117 118 16 16 17 - 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 120 38 34 83 16 37 120 16 17 115 - 121: TypePointer Uniform 114(ubo) - 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 119 49 16 - 123: 121(ptr) Variable Uniform - 125: 11(int) Constant 8 - 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 119 34 83 16 37 2 123 125 - 126: 87(int) Constant 0 - 127: 87(int) Constant 2 - 128: TypePointer Uniform 8(float) - 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 49 16 - 143: TypePointer Function 11(int) - 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 21 16 - 148: 11(int) Constant 83 - 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 147 13 34 148 16 64 39 - 153: 87(int) Constant 10 - 154: TypePointer Uniform 87(int) - 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 89 49 16 - 165: 11(int) Constant 84 - 172: TypeBool - 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 173 14 49 16 - 180: 11(int) Constant 85 - 182(Particle): TypeStruct 85(fvec4) 85(fvec4) 85(fvec4) 85(fvec4) 8(float) - 185: 11(int) Constant 30 - 186: 11(int) Constant 15 - 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 86 34 185 186 16 16 17 - 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 86 34 185 186 16 16 17 - 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 86 34 185 186 16 16 17 - 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 86 34 185 186 16 16 17 - 192: 11(int) Constant 31 - 193: 11(int) Constant 14 - 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 191 10 34 192 193 16 16 17 - 196: 11(int) Constant 88 - 194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 195 38 34 196 16 37 195 16 17 183 187 188 189 190 - 197: TypeRuntimeArray 182(Particle) - 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 194 16 - 199(particleIn): TypeStruct 197 - 202: 11(int) Constant 35 - 203: 11(int) Constant 28 - 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 201 198 34 202 203 16 16 17 - 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 205 38 34 196 16 37 205 16 17 200 - 206: TypePointer Uniform 199(particleIn) - 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 204 49 16 - 208(particleIn): 206(ptr) Variable Uniform - 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 205 204 34 196 16 37 205 208(particleIn) 125 - 213: 87(int) Constant 4 - 216: 8(float) Constant 1065353216 - 220: TypeRuntimeArray 182(Particle) - 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 194 16 -222(particleOut): TypeStruct 220 - 224: 11(int) Constant 37 - 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 201 221 34 224 185 16 16 17 - 227: 11(int) Constant 89 - 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 226 38 34 227 16 37 226 16 17 223 - 228: TypePointer Uniform 222(particleOut) - 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 225 49 16 -230(particleOut): 228(ptr) Variable Uniform - 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 226 225 34 227 16 37 226 230(particleOut) 125 - 236: TypePointer Uniform 85(fvec4) - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 86 49 16 - 243: 11(int) Constant 90 - 244: 87(int) Constant 1 - 245: 8(float) Constant 0 - 246: 85(fvec4) ConstantComposite 245 245 245 245 - 249: 11(int) Constant 91 - 254: 11(int) Constant 95 - 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 253 19 34 254 16 64 39 - 258: 87(int) Constant 9 - 268: 11(int) Constant 97 - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 267 19 34 268 16 64 39 - 278: 11(int) Constant 98 - 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 277 19 34 278 16 64 39 - 287: 11(int) Constant 102 - 295: 11(int) Constant 103 - 312: 11(int) Constant 106 - 324: 11(int) Constant 107 - 341: 11(int) Constant 110 - 353: 11(int) Constant 111 - 358: 87(int) Constant 5 - 374: 11(int) Constant 114 - 382: 11(int) Constant 115 - 402: 11(int) Constant 118 - 418: 11(int) Constant 119 - 424: 87(int) Constant 6 - 440: 11(int) Constant 122 - 452: 11(int) Constant 123 - 473: 11(int) Constant 126 - 493: 11(int) Constant 127 - 514: 11(int) Constant 130 - 530: 11(int) Constant 131 - 548: 87(int) Constant 3 - 552: 11(int) Constant 134 - 562: 11(int) Constant 137 - 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 561 19 34 562 16 64 39 - 572: 11(int) Constant 138 - 579: 8(float) Constant 1056964608 - 596: 11(int) Constant 139 - 611: 11(int) Constant 142 - 609: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 610 19 34 611 16 64 39 - 618: 87(int) Constant 8 - 625: 11(int) Constant 143 - 627: 87(int) Constant 7 - 630: 8(float) Constant 1008981770 - 638: 11(int) Constant 145 - 657: 11(int) Constant 147 -659(PushConstants): TypeStruct 11(int) - 662: 11(int) Constant 67 - 663: 11(int) Constant 23 - 660: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 661 13 34 662 663 16 16 17 - 666: 11(int) Constant 151 - 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 665 38 34 666 16 37 665 16 17 660 - 667($Global): TypeStruct 659(PushConstants) - 670: 11(int) Constant 71 - 668: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 669 664 34 670 186 16 16 17 - 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 672 38 34 666 16 37 672 16 17 668 - 673: TypePointer Uniform 667($Global) - 674: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 671 49 16 - 675: 673(ptr) Variable Uniform - 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 671 34 666 16 37 2 675 125 - 677: TypePointer Uniform 11(int) - 678: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 49 16 - 688: 11(int) Constant 152 - 687: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 184 19 34 688 16 64 39 - 692: 18(fvec3) ConstantComposite 245 245 245 - 695: 11(int) Constant 154 - 703: 11(int) Constant 155 - 711: 11(int) Constant 156 - 709: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 710 19 34 711 16 64 39 - 725: 11(int) Constant 157 - 723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 724 19 34 725 16 64 39 - 742: 11(int) Constant 158 - 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 741 19 34 742 16 64 39 - 757: 11(int) Constant 159 - 769: 11(int) Constant 161 - 781: 11(int) Constant 162 - 793: 11(int) Constant 163 - 806: 11(int) Constant 164 - 815: 11(int) Constant 165 - 827: 11(int) Constant 168 - 839: 11(int) Constant 169 - 847: 11(int) Constant 170 - 859: 11(int) Constant 171 - 872: 11(int) Constant 172 - 881: 11(int) Constant 173 - 893: 11(int) Constant 175 - 905: 11(int) Constant 176 - 914: 11(int) Constant 177 - 927: 11(int) Constant 178 - 939: 11(int) Constant 179 - 951: 11(int) Constant 182 - 962: TypePointer Input 54(ivec3) - 963(id): 962(ptr) Variable Input + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 33 + 76: 11(int) Constant 76 + 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 75 19 34 76 16 72 39 + 85: 11(int) Constant 77 + 87: TypeVector 8(float) 4 + 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 39 + 89: TypeInt 32 1 + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 90 14 39 16 + 92: TypeVector 89(int) 2 + 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 91 49 + 94(UBO): TypeStruct 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 87(fvec4) 87(fvec4) 92(ivec2) + 97: 11(int) Constant 48 + 98: 11(int) Constant 20 + 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 108: 11(int) Constant 50 + 109: 11(int) Constant 16 + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 107 88 34 108 109 16 16 17 + 110: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 107 88 34 108 109 16 16 17 + 113: 11(int) Constant 51 + 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 112 93 34 113 98 16 16 17 + 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 115 38 34 85 16 37 115 16 17 95 99 100 101 102 103 104 105 106 110 111 + 116(ubo): TypeStruct 94(UBO) + 119: 11(int) Constant 56 + 120: 11(int) Constant 12 + 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 118 114 34 119 120 16 16 17 + 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 122 38 34 85 16 37 122 16 17 117 + 123: TypePointer Uniform 116(ubo) + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 121 49 16 + 125: 123(ptr) Variable Uniform + 128: 11(int) Constant 8 + 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 127 121 34 85 16 37 127 125 128 + 129: 89(int) Constant 0 + 130: 89(int) Constant 2 + 131: TypePointer Uniform 8(float) + 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 49 16 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 64 + 147: TypePointer Function 11(int) + 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 21 16 + 152: 11(int) Constant 83 + 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 151 13 34 152 16 146 39 + 158: 89(int) Constant 10 + 159: TypePointer Uniform 89(int) + 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 91 49 16 + 170: 11(int) Constant 84 + 177: TypeBool + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 178 14 49 16 + 185: 11(int) Constant 85 + 187(Particle): TypeStruct 87(fvec4) 87(fvec4) 87(fvec4) 87(fvec4) 8(float) + 190: 11(int) Constant 30 + 191: 11(int) Constant 15 + 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 189 88 34 190 191 16 16 17 + 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 189 88 34 190 191 16 16 17 + 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 189 88 34 190 191 16 16 17 + 194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 189 88 34 190 191 16 16 17 + 197: 11(int) Constant 31 + 198: 11(int) Constant 14 + 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 196 10 34 197 198 16 16 17 + 201: 11(int) Constant 88 + 199: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 200 38 34 201 16 37 200 16 17 188 192 193 194 195 + 202: TypeRuntimeArray 187(Particle) + 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 199 16 + 204(particleIn): TypeStruct 202 + 207: 11(int) Constant 35 + 208: 11(int) Constant 28 + 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 206 203 34 207 208 16 16 17 + 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 210 38 34 201 16 37 210 16 17 205 + 211: TypePointer Uniform 204(particleIn) + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 209 49 16 + 213(particleIn): 211(ptr) Variable Uniform + 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 210 209 34 201 16 37 210 213(particleIn) 128 + 218: 89(int) Constant 4 + 221: 8(float) Constant 1065353216 + 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 226: TypeRuntimeArray 187(Particle) + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 199 16 +228(particleOut): TypeStruct 226 + 230: 11(int) Constant 37 + 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 206 227 34 230 190 16 16 17 + 233: 11(int) Constant 89 + 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 232 38 34 233 16 37 232 16 17 229 + 234: TypePointer Uniform 228(particleOut) + 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 231 49 16 +236(particleOut): 234(ptr) Variable Uniform + 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 232 231 34 233 16 37 232 236(particleOut) 128 + 242: TypePointer Uniform 87(fvec4) + 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 49 16 + 249: 11(int) Constant 90 + 250: 89(int) Constant 1 + 251: 8(float) Constant 0 + 252: 87(fvec4) ConstantComposite 251 251 251 251 + 255: 11(int) Constant 91 + 260: 11(int) Constant 95 + 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 259 19 34 260 16 146 39 + 264: 89(int) Constant 9 + 274: 11(int) Constant 97 + 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 273 19 34 274 16 146 39 + 284: 11(int) Constant 98 + 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 283 19 34 284 16 146 39 + 293: 11(int) Constant 102 + 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 302: 11(int) Constant 103 + 319: 11(int) Constant 106 + 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 332: 11(int) Constant 107 + 349: 11(int) Constant 110 + 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 362: 11(int) Constant 111 + 367: 89(int) Constant 5 + 383: 11(int) Constant 114 + 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 392: 11(int) Constant 115 + 412: 11(int) Constant 118 + 425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 429: 11(int) Constant 119 + 435: 89(int) Constant 6 + 451: 11(int) Constant 122 + 460: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 464: 11(int) Constant 123 + 485: 11(int) Constant 126 + 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 506: 11(int) Constant 127 + 527: 11(int) Constant 130 + 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 544: 11(int) Constant 131 + 562: 89(int) Constant 3 + 566: 11(int) Constant 134 + 576: 11(int) Constant 137 + 574: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 575 19 34 576 16 146 39 + 586: 11(int) Constant 138 + 593: 8(float) Constant 1056964608 + 610: 11(int) Constant 139 + 625: 11(int) Constant 142 + 623: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 624 19 34 625 16 146 39 + 632: 89(int) Constant 8 + 639: 11(int) Constant 143 + 641: 89(int) Constant 7 + 644: 8(float) Constant 1008981770 + 649: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 653: 11(int) Constant 145 + 672: 11(int) Constant 147 +674(PushConstants): TypeStruct 11(int) + 677: 11(int) Constant 67 + 678: 11(int) Constant 23 + 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 676 13 34 677 678 16 16 17 + 681: 11(int) Constant 151 + 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 680 38 34 681 16 37 680 16 17 675 + 682($Global): TypeStruct 674(PushConstants) + 685: 11(int) Constant 71 + 683: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 684 679 34 685 191 16 16 17 + 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 687 38 34 681 16 37 687 16 17 683 + 688: TypePointer Uniform 682($Global) + 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 686 49 16 + 690: 688(ptr) Variable Uniform + 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 127 686 34 681 16 37 127 690 128 + 692: TypePointer Uniform 11(int) + 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 49 16 + 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 704: 11(int) Constant 152 + 703: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 189 19 34 704 16 701 39 + 708: 18(fvec3) ConstantComposite 251 251 251 + 712: 11(int) Constant 153 + 710: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 711 19 34 712 16 701 39 + 716: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 717 19 34 712 16 701 39 + 720: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 721 19 34 712 16 701 39 + 725: 11(int) Constant 154 + 730: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 701 + 734: 11(int) Constant 155 + 739: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 730 + 743: 11(int) Constant 156 + 752: 11(int) Constant 157 + 765: 11(int) Constant 158 + 777: 11(int) Constant 159 + 789: 11(int) Constant 161 + 798: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 730 + 802: 11(int) Constant 162 + 814: 11(int) Constant 163 + 827: 11(int) Constant 164 + 836: 11(int) Constant 165 + 848: 11(int) Constant 168 + 857: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 701 + 861: 11(int) Constant 169 + 866: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 857 + 870: 11(int) Constant 170 + 882: 11(int) Constant 171 + 895: 11(int) Constant 172 + 904: 11(int) Constant 173 + 916: 11(int) Constant 175 + 925: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 857 + 929: 11(int) Constant 176 + 938: 11(int) Constant 177 + 951: 11(int) Constant 178 + 963: 11(int) Constant 179 + 975: 11(int) Constant 182 + 986: TypePointer Input 54(ivec3) + 987(id): 986(ptr) Variable Input 6(main): 4 Function None 5 7: Label - 961(id): 56(ptr) Variable Function - 965(param): 56(ptr) Variable Function - 964: 54(ivec3) Load 963(id) - Store 961(id) 964 - 966: 54(ivec3) Load 961(id) - Store 965(param) 966 - 967: 4 FunctionCall 61(@main(vu3;) 965(param) + 985(id): 56(ptr) Variable Function + 989(param): 56(ptr) Variable Function + 988: 54(ivec3) Load 987(id) + Store 985(id) 988 + 990: 54(ivec3) Load 985(id) + Store 989(param) 990 + 991: 4 FunctionCall 61(@main(vu3;) 989(param) Return FunctionEnd 30(springForce(vf3;vf3;f1;): 18(fvec3) Function None 25 @@ -409,814 +614,817 @@ spv.debuginfo.hlsl.comp 28(p1): 20(ptr) FunctionParameter 29(restDist): 23(ptr) FunctionParameter 31: Label - 72(dist): 20(ptr) Variable Function + 73(dist): 20(ptr) Variable Function 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 33 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 36 36 16 16 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 41 27(p0) 44 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 47 28(p1) 44 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 51 29(restDist) 44 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 33 30(springForce(vf3;vf3;f1;) - 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 75 75 16 16 - 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 73 72(dist) 44 - 78: 18(fvec3) Load 27(p0) - 79: 18(fvec3) Load 28(p1) - 80: 18(fvec3) FSub 78 79 - Store 72(dist) 80 - 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 83 83 16 16 - 81: 18(fvec3) Load 72(dist) - 84: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 81 - 130: 128(ptr) AccessChain 123 126 127 - 131: 8(float) Load 130 - 132: 18(fvec3) VectorTimesScalar 84 131 - 133: 18(fvec3) Load 72(dist) - 134: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 133 - 135: 8(float) Load 29(restDist) - 136: 8(float) FSub 134 135 - 137: 18(fvec3) VectorTimesScalar 132 136 - ReturnValue 137 + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 72 + 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 76 76 16 16 + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 74 73(dist) 44 + 80: 18(fvec3) Load 27(p0) + 81: 18(fvec3) Load 28(p1) + 82: 18(fvec3) FSub 80 81 + Store 73(dist) 82 + 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 85 85 16 16 + 83: 18(fvec3) Load 73(dist) + 86: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 83 + 133: 131(ptr) AccessChain 125 129 130 + 134: 8(float) Load 133 + 135: 18(fvec3) VectorTimesScalar 86 134 + 136: 18(fvec3) Load 73(dist) + 137: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 136 + 138: 8(float) Load 29(restDist) + 139: 8(float) FSub 137 138 + 140: 18(fvec3) VectorTimesScalar 135 139 + ReturnValue 140 FunctionEnd 61(@main(vu3;): 4 Function None 58 60(id): 56(ptr) FunctionParameter 62: Label - 145(index): 143(ptr) Variable Function - 251(force): 20(ptr) Variable Function - 265(pos): 20(ptr) Variable Function - 275(vel): 20(ptr) Variable Function - 297(param): 20(ptr) Variable Function - 301(param): 20(ptr) Variable Function - 303(param): 23(ptr) Variable Function - 326(param): 20(ptr) Variable Function - 330(param): 20(ptr) Variable Function - 332(param): 23(ptr) Variable Function - 359(param): 20(ptr) Variable Function - 363(param): 20(ptr) Variable Function - 365(param): 23(ptr) Variable Function - 387(param): 20(ptr) Variable Function - 391(param): 20(ptr) Variable Function - 393(param): 23(ptr) Variable Function - 425(param): 20(ptr) Variable Function - 429(param): 20(ptr) Variable Function - 431(param): 23(ptr) Variable Function - 458(param): 20(ptr) Variable Function - 462(param): 20(ptr) Variable Function - 464(param): 23(ptr) Variable Function - 499(param): 20(ptr) Variable Function - 503(param): 20(ptr) Variable Function - 505(param): 23(ptr) Variable Function - 536(param): 20(ptr) Variable Function - 540(param): 20(ptr) Variable Function - 542(param): 23(ptr) Variable Function - 559(f): 20(ptr) Variable Function - 608(sphereDist): 20(ptr) Variable Function - 686(normal): 20(ptr) Variable Function - 708(a): 20(ptr) Variable Function - 722(b): 20(ptr) Variable Function - 739(c): 20(ptr) Variable Function + 149(index): 147(ptr) Variable Function + 257(force): 20(ptr) Variable Function + 271(pos): 20(ptr) Variable Function + 281(vel): 20(ptr) Variable Function + 304(param): 20(ptr) Variable Function + 308(param): 20(ptr) Variable Function + 310(param): 23(ptr) Variable Function + 334(param): 20(ptr) Variable Function + 338(param): 20(ptr) Variable Function + 340(param): 23(ptr) Variable Function + 368(param): 20(ptr) Variable Function + 372(param): 20(ptr) Variable Function + 374(param): 23(ptr) Variable Function + 397(param): 20(ptr) Variable Function + 401(param): 20(ptr) Variable Function + 403(param): 23(ptr) Variable Function + 436(param): 20(ptr) Variable Function + 440(param): 20(ptr) Variable Function + 442(param): 23(ptr) Variable Function + 470(param): 20(ptr) Variable Function + 474(param): 20(ptr) Variable Function + 476(param): 23(ptr) Variable Function + 512(param): 20(ptr) Variable Function + 516(param): 20(ptr) Variable Function + 518(param): 23(ptr) Variable Function + 550(param): 20(ptr) Variable Function + 554(param): 20(ptr) Variable Function + 556(param): 23(ptr) Variable Function + 573(f): 20(ptr) Variable Function + 622(sphereDist): 20(ptr) Variable Function + 702(normal): 20(ptr) Variable Function + 709(a): 20(ptr) Variable Function + 715(b): 20(ptr) Variable Function + 719(c): 20(ptr) Variable Function 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 65 65 16 16 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 66 60(id) 44 - 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 64 61(@main(vu3;) - 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 148 148 16 16 - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 146 145(index) 44 - 151: 143(ptr) AccessChain 60(id) 38 - 152: 11(int) Load 151 - 156: 154(ptr) AccessChain 123 126 153 16 - 157: 87(int) Load 156 - 158: 11(int) Bitcast 157 - 159: 11(int) IMul 152 158 - 160: 143(ptr) AccessChain 60(id) 16 - 161: 11(int) Load 160 - 162: 11(int) IAdd 159 161 - Store 145(index) 162 - 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 165 165 16 16 - 163: 11(int) Load 145(index) - 166: 154(ptr) AccessChain 123 126 153 16 - 167: 87(int) Load 166 - 168: 154(ptr) AccessChain 123 126 153 38 - 169: 87(int) Load 168 - 170: 87(int) IMul 167 169 - 171: 11(int) Bitcast 170 - 175: 172(bool) UGreaterThan 163 171 - SelectionMerge 177 None - BranchConditional 175 176 177 - 176: Label - 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 180 180 16 16 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 64 61(@main(vu3;) + 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 152 152 16 16 + 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 150 149(index) 44 + 156: 147(ptr) AccessChain 60(id) 38 + 157: 11(int) Load 156 + 161: 159(ptr) AccessChain 125 129 158 16 + 162: 89(int) Load 161 + 163: 11(int) Bitcast 162 + 164: 11(int) IMul 157 163 + 165: 147(ptr) AccessChain 60(id) 16 + 166: 11(int) Load 165 + 167: 11(int) IAdd 164 166 + Store 149(index) 167 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 170 170 16 16 + 168: 11(int) Load 149(index) + 171: 159(ptr) AccessChain 125 129 158 16 + 172: 89(int) Load 171 + 173: 159(ptr) AccessChain 125 129 158 38 + 174: 89(int) Load 173 + 175: 89(int) IMul 172 174 + 176: 11(int) Bitcast 175 + 180: 177(bool) UGreaterThan 168 176 + SelectionMerge 182 None + BranchConditional 180 181 182 + 181: Label + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 185 185 16 16 Return - 177: Label - 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 196 196 16 16 - 210: 11(int) Load 145(index) - 214: 128(ptr) AccessChain 208(particleIn) 126 210 213 - 215: 8(float) Load 214 - 217: 172(bool) FOrdEqual 215 216 - SelectionMerge 219 None - BranchConditional 217 218 219 - 218: Label - 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 227 227 16 16 - 232: 11(int) Load 145(index) - 235: 11(int) Load 145(index) - 238: 236(ptr) AccessChain 230(particleOut) 126 235 126 - 239: 85(fvec4) Load 238 - 240: 236(ptr) AccessChain 230(particleOut) 126 232 126 - Store 240 239 - 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 243 243 16 16 - 241: 11(int) Load 145(index) - 247: 236(ptr) AccessChain 230(particleOut) 126 241 244 - Store 247 246 + 182: Label + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 201 201 16 16 + 215: 11(int) Load 149(index) + 219: 131(ptr) AccessChain 213(particleIn) 129 215 218 + 220: 8(float) Load 219 + 222: 177(bool) FOrdEqual 220 221 + SelectionMerge 224 None + BranchConditional 222 223 224 + 223: Label + 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 225 + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 233 233 16 16 + 238: 11(int) Load 149(index) + 241: 11(int) Load 149(index) + 244: 242(ptr) AccessChain 236(particleOut) 129 241 129 + 245: 87(fvec4) Load 244 + 246: 242(ptr) AccessChain 236(particleOut) 129 238 129 + Store 246 245 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 249 249 16 16 + 247: 11(int) Load 149(index) + 253: 242(ptr) AccessChain 236(particleOut) 129 247 250 + Store 253 252 + 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 255 255 16 16 Return - 219: Label - 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 254 254 16 16 - 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 252 251(force) 44 - 259: 236(ptr) AccessChain 123 126 258 - 260: 85(fvec4) Load 259 - 261: 18(fvec3) VectorShuffle 260 260 0 1 2 - 262: 128(ptr) AccessChain 123 126 244 - 263: 8(float) Load 262 - 264: 18(fvec3) VectorTimesScalar 261 263 - Store 251(force) 264 - 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 268 268 16 16 - 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 266 265(pos) 44 - 271: 11(int) Load 145(index) - 272: 236(ptr) AccessChain 208(particleIn) 126 271 126 - 273: 85(fvec4) Load 272 - 274: 18(fvec3) VectorShuffle 273 273 0 1 2 - Store 265(pos) 274 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 278 278 16 16 - 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 276 275(vel) 44 - 281: 11(int) Load 145(index) - 282: 236(ptr) AccessChain 208(particleIn) 126 281 244 - 283: 85(fvec4) Load 282 - 284: 18(fvec3) VectorShuffle 283 283 0 1 2 - Store 275(vel) 284 - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 287 287 16 16 - 285: 143(ptr) AccessChain 60(id) 16 - 288: 11(int) Load 285 - 289: 172(bool) UGreaterThan 288 16 - SelectionMerge 291 None - BranchConditional 289 290 291 - 290: Label - 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 295 295 16 16 - 292: 11(int) Load 145(index) - 296: 11(int) ISub 292 38 - 298: 236(ptr) AccessChain 208(particleIn) 126 296 126 - 299: 85(fvec4) Load 298 - 300: 18(fvec3) VectorShuffle 299 299 0 1 2 - Store 297(param) 300 - 302: 18(fvec3) Load 265(pos) - Store 301(param) 302 - 304: 128(ptr) AccessChain 123 126 213 - 305: 8(float) Load 304 - Store 303(param) 305 - 306: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 297(param) 301(param) 303(param) - 307: 18(fvec3) Load 251(force) - 308: 18(fvec3) FAdd 307 306 - Store 251(force) 308 - Branch 291 - 291: Label - 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 312 312 16 16 - 309: 143(ptr) AccessChain 60(id) 16 - 313: 11(int) Load 309 - 314: 154(ptr) AccessChain 123 126 153 16 - 315: 87(int) Load 314 - 316: 87(int) ISub 315 244 - 317: 11(int) Bitcast 316 - 318: 172(bool) ULessThan 313 317 - SelectionMerge 320 None - BranchConditional 318 319 320 - 319: Label - 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 324 324 16 16 - 321: 11(int) Load 145(index) - 325: 11(int) IAdd 321 38 - 327: 236(ptr) AccessChain 208(particleIn) 126 325 126 - 328: 85(fvec4) Load 327 - 329: 18(fvec3) VectorShuffle 328 328 0 1 2 - Store 326(param) 329 - 331: 18(fvec3) Load 265(pos) - Store 330(param) 331 - 333: 128(ptr) AccessChain 123 126 213 - 334: 8(float) Load 333 - Store 332(param) 334 - 335: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 326(param) 330(param) 332(param) - 336: 18(fvec3) Load 251(force) - 337: 18(fvec3) FAdd 336 335 - Store 251(force) 337 - Branch 320 - 320: Label - 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 341 341 16 16 - 338: 143(ptr) AccessChain 60(id) 38 - 342: 11(int) Load 338 - 343: 154(ptr) AccessChain 123 126 153 38 - 344: 87(int) Load 343 - 345: 87(int) ISub 344 244 - 346: 11(int) Bitcast 345 - 347: 172(bool) ULessThan 342 346 - SelectionMerge 349 None - BranchConditional 347 348 349 - 348: Label - 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 353 353 16 16 - 350: 11(int) Load 145(index) - 354: 154(ptr) AccessChain 123 126 153 16 - 355: 87(int) Load 354 - 356: 11(int) Bitcast 355 - 357: 11(int) IAdd 350 356 - 360: 236(ptr) AccessChain 208(particleIn) 126 357 126 - 361: 85(fvec4) Load 360 - 362: 18(fvec3) VectorShuffle 361 361 0 1 2 - Store 359(param) 362 - 364: 18(fvec3) Load 265(pos) - Store 363(param) 364 - 366: 128(ptr) AccessChain 123 126 358 - 367: 8(float) Load 366 - Store 365(param) 367 - 368: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 359(param) 363(param) 365(param) - 369: 18(fvec3) Load 251(force) - 370: 18(fvec3) FAdd 369 368 - Store 251(force) 370 - Branch 349 - 349: Label - 372: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 374 374 16 16 - 371: 143(ptr) AccessChain 60(id) 38 - 375: 11(int) Load 371 - 376: 172(bool) UGreaterThan 375 16 - SelectionMerge 378 None - BranchConditional 376 377 378 - 377: Label - 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 382 382 16 16 - 379: 11(int) Load 145(index) - 383: 154(ptr) AccessChain 123 126 153 16 - 384: 87(int) Load 383 - 385: 11(int) Bitcast 384 - 386: 11(int) ISub 379 385 - 388: 236(ptr) AccessChain 208(particleIn) 126 386 126 - 389: 85(fvec4) Load 388 - 390: 18(fvec3) VectorShuffle 389 389 0 1 2 - Store 387(param) 390 - 392: 18(fvec3) Load 265(pos) - Store 391(param) 392 - 394: 128(ptr) AccessChain 123 126 358 - 395: 8(float) Load 394 - Store 393(param) 395 - 396: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 387(param) 391(param) 393(param) - 397: 18(fvec3) Load 251(force) - 398: 18(fvec3) FAdd 397 396 - Store 251(force) 398 - Branch 378 - 378: Label - 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 402 402 16 16 - 399: 143(ptr) AccessChain 60(id) 16 - 403: 11(int) Load 399 - 404: 172(bool) UGreaterThan 403 16 - 405: 143(ptr) AccessChain 60(id) 38 - 406: 11(int) Load 405 - 407: 154(ptr) AccessChain 123 126 153 38 - 408: 87(int) Load 407 - 409: 87(int) ISub 408 244 - 410: 11(int) Bitcast 409 - 411: 172(bool) ULessThan 406 410 - 412: 172(bool) LogicalAnd 404 411 - SelectionMerge 414 None - BranchConditional 412 413 414 - 413: Label - 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 418 418 16 16 - 415: 11(int) Load 145(index) - 419: 154(ptr) AccessChain 123 126 153 16 - 420: 87(int) Load 419 - 421: 11(int) Bitcast 420 - 422: 11(int) IAdd 415 421 - 423: 11(int) ISub 422 38 - 426: 236(ptr) AccessChain 208(particleIn) 126 423 126 - 427: 85(fvec4) Load 426 - 428: 18(fvec3) VectorShuffle 427 427 0 1 2 - Store 425(param) 428 - 430: 18(fvec3) Load 265(pos) - Store 429(param) 430 - 432: 128(ptr) AccessChain 123 126 424 - 433: 8(float) Load 432 - Store 431(param) 433 - 434: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 425(param) 429(param) 431(param) - 435: 18(fvec3) Load 251(force) - 436: 18(fvec3) FAdd 435 434 - Store 251(force) 436 - Branch 414 - 414: Label - 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 440 440 16 16 - 437: 143(ptr) AccessChain 60(id) 16 - 441: 11(int) Load 437 - 442: 172(bool) UGreaterThan 441 16 - 443: 143(ptr) AccessChain 60(id) 38 - 444: 11(int) Load 443 - 445: 172(bool) UGreaterThan 444 16 - 446: 172(bool) LogicalAnd 442 445 - SelectionMerge 448 None - BranchConditional 446 447 448 - 447: Label - 450: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 452 452 16 16 - 449: 11(int) Load 145(index) - 453: 154(ptr) AccessChain 123 126 153 16 - 454: 87(int) Load 453 - 455: 11(int) Bitcast 454 - 456: 11(int) ISub 449 455 - 457: 11(int) ISub 456 38 - 459: 236(ptr) AccessChain 208(particleIn) 126 457 126 - 460: 85(fvec4) Load 459 - 461: 18(fvec3) VectorShuffle 460 460 0 1 2 - Store 458(param) 461 - 463: 18(fvec3) Load 265(pos) - Store 462(param) 463 - 465: 128(ptr) AccessChain 123 126 424 - 466: 8(float) Load 465 - Store 464(param) 466 - 467: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 458(param) 462(param) 464(param) - 468: 18(fvec3) Load 251(force) - 469: 18(fvec3) FAdd 468 467 - Store 251(force) 469 - Branch 448 - 448: Label - 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 473 473 16 16 - 470: 143(ptr) AccessChain 60(id) 16 - 474: 11(int) Load 470 - 475: 154(ptr) AccessChain 123 126 153 16 - 476: 87(int) Load 475 - 477: 87(int) ISub 476 244 - 478: 11(int) Bitcast 477 - 479: 172(bool) ULessThan 474 478 - 480: 143(ptr) AccessChain 60(id) 38 - 481: 11(int) Load 480 - 482: 154(ptr) AccessChain 123 126 153 38 - 483: 87(int) Load 482 - 484: 87(int) ISub 483 244 - 485: 11(int) Bitcast 484 - 486: 172(bool) ULessThan 481 485 - 487: 172(bool) LogicalAnd 479 486 - SelectionMerge 489 None - BranchConditional 487 488 489 - 488: Label - 491: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 493 493 16 16 - 490: 11(int) Load 145(index) - 494: 154(ptr) AccessChain 123 126 153 16 - 495: 87(int) Load 494 - 496: 11(int) Bitcast 495 - 497: 11(int) IAdd 490 496 - 498: 11(int) IAdd 497 38 - 500: 236(ptr) AccessChain 208(particleIn) 126 498 126 - 501: 85(fvec4) Load 500 - 502: 18(fvec3) VectorShuffle 501 501 0 1 2 - Store 499(param) 502 - 504: 18(fvec3) Load 265(pos) - Store 503(param) 504 - 506: 128(ptr) AccessChain 123 126 424 - 507: 8(float) Load 506 - Store 505(param) 507 - 508: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 499(param) 503(param) 505(param) - 509: 18(fvec3) Load 251(force) - 510: 18(fvec3) FAdd 509 508 - Store 251(force) 510 - Branch 489 - 489: Label - 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 514 514 16 16 - 511: 143(ptr) AccessChain 60(id) 16 - 515: 11(int) Load 511 - 516: 154(ptr) AccessChain 123 126 153 16 - 517: 87(int) Load 516 - 518: 87(int) ISub 517 244 - 519: 11(int) Bitcast 518 - 520: 172(bool) ULessThan 515 519 - 521: 143(ptr) AccessChain 60(id) 38 - 522: 11(int) Load 521 - 523: 172(bool) UGreaterThan 522 16 - 524: 172(bool) LogicalAnd 520 523 - SelectionMerge 526 None - BranchConditional 524 525 526 - 525: Label - 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 530 530 16 16 - 527: 11(int) Load 145(index) - 531: 154(ptr) AccessChain 123 126 153 16 - 532: 87(int) Load 531 - 533: 11(int) Bitcast 532 - 534: 11(int) ISub 527 533 - 535: 11(int) IAdd 534 38 - 537: 236(ptr) AccessChain 208(particleIn) 126 535 126 - 538: 85(fvec4) Load 537 - 539: 18(fvec3) VectorShuffle 538 538 0 1 2 - Store 536(param) 539 - 541: 18(fvec3) Load 265(pos) - Store 540(param) 541 - 543: 128(ptr) AccessChain 123 126 424 - 544: 8(float) Load 543 - Store 542(param) 544 - 545: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 536(param) 540(param) 542(param) - 546: 18(fvec3) Load 251(force) - 547: 18(fvec3) FAdd 546 545 - Store 251(force) 547 - Branch 526 - 526: Label - 550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 552 552 16 16 - 549: 128(ptr) AccessChain 123 126 548 - 553: 8(float) Load 549 - 554: 8(float) FNegate 553 - 555: 18(fvec3) Load 275(vel) - 556: 18(fvec3) VectorTimesScalar 555 554 - 557: 18(fvec3) Load 251(force) - 558: 18(fvec3) FAdd 557 556 - Store 251(force) 558 - 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 562 562 16 16 - 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 560 559(f) 44 - 565: 18(fvec3) Load 251(force) - 566: 128(ptr) AccessChain 123 126 244 - 567: 8(float) Load 566 - 568: 8(float) FDiv 216 567 - 569: 18(fvec3) VectorTimesScalar 565 568 - Store 559(f) 569 - 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 572 572 16 16 - 570: 11(int) Load 145(index) - 573: 18(fvec3) Load 265(pos) - 574: 18(fvec3) Load 275(vel) - 575: 128(ptr) AccessChain 123 126 126 - 576: 8(float) Load 575 - 577: 18(fvec3) VectorTimesScalar 574 576 - 578: 18(fvec3) FAdd 573 577 - 580: 18(fvec3) Load 559(f) - 581: 18(fvec3) VectorTimesScalar 580 579 - 582: 128(ptr) AccessChain 123 126 126 - 583: 8(float) Load 582 - 584: 18(fvec3) VectorTimesScalar 581 583 - 585: 128(ptr) AccessChain 123 126 126 - 586: 8(float) Load 585 - 587: 18(fvec3) VectorTimesScalar 584 586 - 588: 18(fvec3) FAdd 578 587 - 589: 8(float) CompositeExtract 588 0 - 590: 8(float) CompositeExtract 588 1 - 591: 8(float) CompositeExtract 588 2 - 592: 85(fvec4) CompositeConstruct 589 590 591 216 - 593: 236(ptr) AccessChain 230(particleOut) 126 570 126 - Store 593 592 - 595: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 596 596 16 16 - 594: 11(int) Load 145(index) - 597: 18(fvec3) Load 275(vel) - 598: 18(fvec3) Load 559(f) - 599: 128(ptr) AccessChain 123 126 126 + 224: Label + 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 260 260 16 16 + 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 258 257(force) 44 + 265: 242(ptr) AccessChain 125 129 264 + 266: 87(fvec4) Load 265 + 267: 18(fvec3) VectorShuffle 266 266 0 1 2 + 268: 131(ptr) AccessChain 125 129 250 + 269: 8(float) Load 268 + 270: 18(fvec3) VectorTimesScalar 267 269 + Store 257(force) 270 + 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 274 274 16 16 + 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 272 271(pos) 44 + 277: 11(int) Load 149(index) + 278: 242(ptr) AccessChain 213(particleIn) 129 277 129 + 279: 87(fvec4) Load 278 + 280: 18(fvec3) VectorShuffle 279 279 0 1 2 + Store 271(pos) 280 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 284 284 16 16 + 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 282 281(vel) 44 + 287: 11(int) Load 149(index) + 288: 242(ptr) AccessChain 213(particleIn) 129 287 250 + 289: 87(fvec4) Load 288 + 290: 18(fvec3) VectorShuffle 289 289 0 1 2 + Store 281(vel) 290 + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 293 293 16 16 + 291: 147(ptr) AccessChain 60(id) 16 + 294: 11(int) Load 291 + 295: 177(bool) UGreaterThan 294 16 + SelectionMerge 297 None + BranchConditional 295 296 297 + 296: Label + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 298 + 301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 302 302 16 16 + 299: 11(int) Load 149(index) + 303: 11(int) ISub 299 38 + 305: 242(ptr) AccessChain 213(particleIn) 129 303 129 + 306: 87(fvec4) Load 305 + 307: 18(fvec3) VectorShuffle 306 306 0 1 2 + Store 304(param) 307 + 309: 18(fvec3) Load 271(pos) + Store 308(param) 309 + 311: 131(ptr) AccessChain 125 129 218 + 312: 8(float) Load 311 + Store 310(param) 312 + 313: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 304(param) 308(param) 310(param) + 314: 18(fvec3) Load 257(force) + 315: 18(fvec3) FAdd 314 313 + Store 257(force) 315 + Branch 297 + 297: Label + 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 319 319 16 16 + 316: 147(ptr) AccessChain 60(id) 16 + 320: 11(int) Load 316 + 321: 159(ptr) AccessChain 125 129 158 16 + 322: 89(int) Load 321 + 323: 89(int) ISub 322 250 + 324: 11(int) Bitcast 323 + 325: 177(bool) ULessThan 320 324 + SelectionMerge 327 None + BranchConditional 325 326 327 + 326: Label + 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 328 + 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 332 332 16 16 + 329: 11(int) Load 149(index) + 333: 11(int) IAdd 329 38 + 335: 242(ptr) AccessChain 213(particleIn) 129 333 129 + 336: 87(fvec4) Load 335 + 337: 18(fvec3) VectorShuffle 336 336 0 1 2 + Store 334(param) 337 + 339: 18(fvec3) Load 271(pos) + Store 338(param) 339 + 341: 131(ptr) AccessChain 125 129 218 + 342: 8(float) Load 341 + Store 340(param) 342 + 343: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 334(param) 338(param) 340(param) + 344: 18(fvec3) Load 257(force) + 345: 18(fvec3) FAdd 344 343 + Store 257(force) 345 + Branch 327 + 327: Label + 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 349 349 16 16 + 346: 147(ptr) AccessChain 60(id) 38 + 350: 11(int) Load 346 + 351: 159(ptr) AccessChain 125 129 158 38 + 352: 89(int) Load 351 + 353: 89(int) ISub 352 250 + 354: 11(int) Bitcast 353 + 355: 177(bool) ULessThan 350 354 + SelectionMerge 357 None + BranchConditional 355 356 357 + 356: Label + 360: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 358 + 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 362 362 16 16 + 359: 11(int) Load 149(index) + 363: 159(ptr) AccessChain 125 129 158 16 + 364: 89(int) Load 363 + 365: 11(int) Bitcast 364 + 366: 11(int) IAdd 359 365 + 369: 242(ptr) AccessChain 213(particleIn) 129 366 129 + 370: 87(fvec4) Load 369 + 371: 18(fvec3) VectorShuffle 370 370 0 1 2 + Store 368(param) 371 + 373: 18(fvec3) Load 271(pos) + Store 372(param) 373 + 375: 131(ptr) AccessChain 125 129 367 + 376: 8(float) Load 375 + Store 374(param) 376 + 377: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 368(param) 372(param) 374(param) + 378: 18(fvec3) Load 257(force) + 379: 18(fvec3) FAdd 378 377 + Store 257(force) 379 + Branch 357 + 357: Label + 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 383 383 16 16 + 380: 147(ptr) AccessChain 60(id) 38 + 384: 11(int) Load 380 + 385: 177(bool) UGreaterThan 384 16 + SelectionMerge 387 None + BranchConditional 385 386 387 + 386: Label + 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 388 + 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 392 392 16 16 + 389: 11(int) Load 149(index) + 393: 159(ptr) AccessChain 125 129 158 16 + 394: 89(int) Load 393 + 395: 11(int) Bitcast 394 + 396: 11(int) ISub 389 395 + 398: 242(ptr) AccessChain 213(particleIn) 129 396 129 + 399: 87(fvec4) Load 398 + 400: 18(fvec3) VectorShuffle 399 399 0 1 2 + Store 397(param) 400 + 402: 18(fvec3) Load 271(pos) + Store 401(param) 402 + 404: 131(ptr) AccessChain 125 129 367 + 405: 8(float) Load 404 + Store 403(param) 405 + 406: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 397(param) 401(param) 403(param) + 407: 18(fvec3) Load 257(force) + 408: 18(fvec3) FAdd 407 406 + Store 257(force) 408 + Branch 387 + 387: Label + 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 412 412 16 16 + 409: 147(ptr) AccessChain 60(id) 16 + 413: 11(int) Load 409 + 414: 177(bool) UGreaterThan 413 16 + 415: 147(ptr) AccessChain 60(id) 38 + 416: 11(int) Load 415 + 417: 159(ptr) AccessChain 125 129 158 38 + 418: 89(int) Load 417 + 419: 89(int) ISub 418 250 + 420: 11(int) Bitcast 419 + 421: 177(bool) ULessThan 416 420 + 422: 177(bool) LogicalAnd 414 421 + SelectionMerge 424 None + BranchConditional 422 423 424 + 423: Label + 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 425 + 428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 429 429 16 16 + 426: 11(int) Load 149(index) + 430: 159(ptr) AccessChain 125 129 158 16 + 431: 89(int) Load 430 + 432: 11(int) Bitcast 431 + 433: 11(int) IAdd 426 432 + 434: 11(int) ISub 433 38 + 437: 242(ptr) AccessChain 213(particleIn) 129 434 129 + 438: 87(fvec4) Load 437 + 439: 18(fvec3) VectorShuffle 438 438 0 1 2 + Store 436(param) 439 + 441: 18(fvec3) Load 271(pos) + Store 440(param) 441 + 443: 131(ptr) AccessChain 125 129 435 + 444: 8(float) Load 443 + Store 442(param) 444 + 445: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 436(param) 440(param) 442(param) + 446: 18(fvec3) Load 257(force) + 447: 18(fvec3) FAdd 446 445 + Store 257(force) 447 + Branch 424 + 424: Label + 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 450: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 451 451 16 16 + 448: 147(ptr) AccessChain 60(id) 16 + 452: 11(int) Load 448 + 453: 177(bool) UGreaterThan 452 16 + 454: 147(ptr) AccessChain 60(id) 38 + 455: 11(int) Load 454 + 456: 177(bool) UGreaterThan 455 16 + 457: 177(bool) LogicalAnd 453 456 + SelectionMerge 459 None + BranchConditional 457 458 459 + 458: Label + 462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 460 + 463: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 464 464 16 16 + 461: 11(int) Load 149(index) + 465: 159(ptr) AccessChain 125 129 158 16 + 466: 89(int) Load 465 + 467: 11(int) Bitcast 466 + 468: 11(int) ISub 461 467 + 469: 11(int) ISub 468 38 + 471: 242(ptr) AccessChain 213(particleIn) 129 469 129 + 472: 87(fvec4) Load 471 + 473: 18(fvec3) VectorShuffle 472 472 0 1 2 + Store 470(param) 473 + 475: 18(fvec3) Load 271(pos) + Store 474(param) 475 + 477: 131(ptr) AccessChain 125 129 435 + 478: 8(float) Load 477 + Store 476(param) 478 + 479: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 470(param) 474(param) 476(param) + 480: 18(fvec3) Load 257(force) + 481: 18(fvec3) FAdd 480 479 + Store 257(force) 481 + Branch 459 + 459: Label + 483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 485 485 16 16 + 482: 147(ptr) AccessChain 60(id) 16 + 486: 11(int) Load 482 + 487: 159(ptr) AccessChain 125 129 158 16 + 488: 89(int) Load 487 + 489: 89(int) ISub 488 250 + 490: 11(int) Bitcast 489 + 491: 177(bool) ULessThan 486 490 + 492: 147(ptr) AccessChain 60(id) 38 + 493: 11(int) Load 492 + 494: 159(ptr) AccessChain 125 129 158 38 + 495: 89(int) Load 494 + 496: 89(int) ISub 495 250 + 497: 11(int) Bitcast 496 + 498: 177(bool) ULessThan 493 497 + 499: 177(bool) LogicalAnd 491 498 + SelectionMerge 501 None + BranchConditional 499 500 501 + 500: Label + 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 502 + 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 506 506 16 16 + 503: 11(int) Load 149(index) + 507: 159(ptr) AccessChain 125 129 158 16 + 508: 89(int) Load 507 + 509: 11(int) Bitcast 508 + 510: 11(int) IAdd 503 509 + 511: 11(int) IAdd 510 38 + 513: 242(ptr) AccessChain 213(particleIn) 129 511 129 + 514: 87(fvec4) Load 513 + 515: 18(fvec3) VectorShuffle 514 514 0 1 2 + Store 512(param) 515 + 517: 18(fvec3) Load 271(pos) + Store 516(param) 517 + 519: 131(ptr) AccessChain 125 129 435 + 520: 8(float) Load 519 + Store 518(param) 520 + 521: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 512(param) 516(param) 518(param) + 522: 18(fvec3) Load 257(force) + 523: 18(fvec3) FAdd 522 521 + Store 257(force) 523 + Branch 501 + 501: Label + 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 527 527 16 16 + 524: 147(ptr) AccessChain 60(id) 16 + 528: 11(int) Load 524 + 529: 159(ptr) AccessChain 125 129 158 16 + 530: 89(int) Load 529 + 531: 89(int) ISub 530 250 + 532: 11(int) Bitcast 531 + 533: 177(bool) ULessThan 528 532 + 534: 147(ptr) AccessChain 60(id) 38 + 535: 11(int) Load 534 + 536: 177(bool) UGreaterThan 535 16 + 537: 177(bool) LogicalAnd 533 536 + SelectionMerge 539 None + BranchConditional 537 538 539 + 538: Label + 542: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 540 + 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 544 544 16 16 + 541: 11(int) Load 149(index) + 545: 159(ptr) AccessChain 125 129 158 16 + 546: 89(int) Load 545 + 547: 11(int) Bitcast 546 + 548: 11(int) ISub 541 547 + 549: 11(int) IAdd 548 38 + 551: 242(ptr) AccessChain 213(particleIn) 129 549 129 + 552: 87(fvec4) Load 551 + 553: 18(fvec3) VectorShuffle 552 552 0 1 2 + Store 550(param) 553 + 555: 18(fvec3) Load 271(pos) + Store 554(param) 555 + 557: 131(ptr) AccessChain 125 129 435 + 558: 8(float) Load 557 + Store 556(param) 558 + 559: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 550(param) 554(param) 556(param) + 560: 18(fvec3) Load 257(force) + 561: 18(fvec3) FAdd 560 559 + Store 257(force) 561 + Branch 539 + 539: Label + 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 566 566 16 16 + 563: 131(ptr) AccessChain 125 129 562 + 567: 8(float) Load 563 + 568: 8(float) FNegate 567 + 569: 18(fvec3) Load 281(vel) + 570: 18(fvec3) VectorTimesScalar 569 568 + 571: 18(fvec3) Load 257(force) + 572: 18(fvec3) FAdd 571 570 + Store 257(force) 572 + 578: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 576 576 16 16 + 577: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 574 573(f) 44 + 579: 18(fvec3) Load 257(force) + 580: 131(ptr) AccessChain 125 129 250 + 581: 8(float) Load 580 + 582: 8(float) FDiv 221 581 + 583: 18(fvec3) VectorTimesScalar 579 582 + Store 573(f) 583 + 585: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 586 586 16 16 + 584: 11(int) Load 149(index) + 587: 18(fvec3) Load 271(pos) + 588: 18(fvec3) Load 281(vel) + 589: 131(ptr) AccessChain 125 129 129 + 590: 8(float) Load 589 + 591: 18(fvec3) VectorTimesScalar 588 590 + 592: 18(fvec3) FAdd 587 591 + 594: 18(fvec3) Load 573(f) + 595: 18(fvec3) VectorTimesScalar 594 593 + 596: 131(ptr) AccessChain 125 129 129 + 597: 8(float) Load 596 + 598: 18(fvec3) VectorTimesScalar 595 597 + 599: 131(ptr) AccessChain 125 129 129 600: 8(float) Load 599 601: 18(fvec3) VectorTimesScalar 598 600 - 602: 18(fvec3) FAdd 597 601 + 602: 18(fvec3) FAdd 592 601 603: 8(float) CompositeExtract 602 0 604: 8(float) CompositeExtract 602 1 605: 8(float) CompositeExtract 602 2 - 606: 85(fvec4) CompositeConstruct 603 604 605 245 - 607: 236(ptr) AccessChain 230(particleOut) 126 594 244 + 606: 87(fvec4) CompositeConstruct 603 604 605 221 + 607: 242(ptr) AccessChain 236(particleOut) 129 584 129 Store 607 606 - 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 611 611 16 16 - 612: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 609 608(sphereDist) 44 - 614: 11(int) Load 145(index) - 615: 236(ptr) AccessChain 230(particleOut) 126 614 126 - 616: 85(fvec4) Load 615 - 617: 18(fvec3) VectorShuffle 616 616 0 1 2 - 619: 236(ptr) AccessChain 123 126 618 - 620: 85(fvec4) Load 619 - 621: 18(fvec3) VectorShuffle 620 620 0 1 2 - 622: 18(fvec3) FSub 617 621 - Store 608(sphereDist) 622 - 624: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 625 625 16 16 - 623: 18(fvec3) Load 608(sphereDist) - 626: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 623 - 628: 128(ptr) AccessChain 123 126 627 - 629: 8(float) Load 628 - 631: 8(float) FAdd 629 630 - 632: 172(bool) FOrdLessThan 626 631 - SelectionMerge 634 None - BranchConditional 632 633 634 - 633: Label - 636: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 638 638 16 16 - 635: 11(int) Load 145(index) - 639: 236(ptr) AccessChain 123 126 618 - 640: 85(fvec4) Load 639 - 641: 18(fvec3) VectorShuffle 640 640 0 1 2 - 642: 18(fvec3) Load 608(sphereDist) - 643: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 642 - 644: 128(ptr) AccessChain 123 126 627 - 645: 8(float) Load 644 - 646: 8(float) FAdd 645 630 - 647: 18(fvec3) VectorTimesScalar 643 646 - 648: 18(fvec3) FAdd 641 647 - 649: 128(ptr) AccessChain 230(particleOut) 126 635 126 16 - 650: 8(float) CompositeExtract 648 0 - Store 649 650 - 651: 128(ptr) AccessChain 230(particleOut) 126 635 126 38 - 652: 8(float) CompositeExtract 648 1 - Store 651 652 - 653: 128(ptr) AccessChain 230(particleOut) 126 635 126 49 - 654: 8(float) CompositeExtract 648 2 - Store 653 654 - 656: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 657 657 16 16 - 655: 11(int) Load 145(index) - 658: 236(ptr) AccessChain 230(particleOut) 126 655 244 - Store 658 246 - Branch 634 - 634: Label - 680: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 666 666 16 16 - 679: 677(ptr) AccessChain 675 126 126 - 682: 11(int) Load 679 - 683: 172(bool) IEqual 682 38 - SelectionMerge 685 None - BranchConditional 683 684 685 - 684: Label - 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 688 688 16 16 - 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 687 686(normal) 44 - Store 686(normal) 692 - 694: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 695 695 16 16 - 693: 143(ptr) AccessChain 60(id) 38 - 696: 11(int) Load 693 - 697: 172(bool) UGreaterThan 696 16 - SelectionMerge 699 None - BranchConditional 697 698 699 - 698: Label - 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 703 703 16 16 - 700: 143(ptr) AccessChain 60(id) 16 - 704: 11(int) Load 700 - 705: 172(bool) UGreaterThan 704 16 - SelectionMerge 707 None - BranchConditional 705 706 707 - 706: Label - 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 711 711 16 16 - 712: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 709 708(a) 44 - 715: 11(int) Load 145(index) - 716: 11(int) ISub 715 38 - 717: 236(ptr) AccessChain 208(particleIn) 126 716 126 - 718: 85(fvec4) Load 717 - 719: 18(fvec3) VectorShuffle 718 718 0 1 2 - 720: 18(fvec3) Load 265(pos) - 721: 18(fvec3) FSub 719 720 - Store 708(a) 721 - 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 725 725 16 16 - 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 723 722(b) 44 - 728: 11(int) Load 145(index) - 729: 154(ptr) AccessChain 123 126 153 16 - 730: 87(int) Load 729 - 731: 11(int) Bitcast 730 - 732: 11(int) ISub 728 731 - 733: 11(int) ISub 732 38 - 734: 236(ptr) AccessChain 208(particleIn) 126 733 126 - 735: 85(fvec4) Load 734 - 736: 18(fvec3) VectorShuffle 735 735 0 1 2 - 737: 18(fvec3) Load 265(pos) - 738: 18(fvec3) FSub 736 737 - Store 722(b) 738 - 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 742 742 16 16 - 743: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 740 739(c) 44 - 745: 11(int) Load 145(index) - 746: 154(ptr) AccessChain 123 126 153 16 - 747: 87(int) Load 746 - 748: 11(int) Bitcast 747 - 749: 11(int) ISub 745 748 - 750: 236(ptr) AccessChain 208(particleIn) 126 749 126 - 751: 85(fvec4) Load 750 - 752: 18(fvec3) VectorShuffle 751 751 0 1 2 - 753: 18(fvec3) Load 265(pos) - 754: 18(fvec3) FSub 752 753 - Store 739(c) 754 - 756: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 757 757 16 16 - 755: 18(fvec3) Load 708(a) - 758: 18(fvec3) Load 722(b) - 759: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 755 758 - 760: 18(fvec3) Load 722(b) - 761: 18(fvec3) Load 739(c) - 762: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 760 761 - 763: 18(fvec3) FAdd 759 762 - 764: 18(fvec3) Load 686(normal) - 765: 18(fvec3) FAdd 764 763 - Store 686(normal) 765 - Branch 707 - 707: Label - 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 768: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 769 769 16 16 - 766: 143(ptr) AccessChain 60(id) 16 - 770: 11(int) Load 766 - 771: 154(ptr) AccessChain 123 126 153 16 - 772: 87(int) Load 771 - 773: 87(int) ISub 772 244 - 774: 11(int) Bitcast 773 - 775: 172(bool) ULessThan 770 774 - SelectionMerge 777 None - BranchConditional 775 776 777 - 776: Label - 779: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 781 781 16 16 - 778: 11(int) Load 145(index) - 782: 154(ptr) AccessChain 123 126 153 16 - 783: 87(int) Load 782 - 784: 11(int) Bitcast 783 - 785: 11(int) ISub 778 784 - 786: 236(ptr) AccessChain 208(particleIn) 126 785 126 - 787: 85(fvec4) Load 786 - 788: 18(fvec3) VectorShuffle 787 787 0 1 2 - 789: 18(fvec3) Load 265(pos) - 790: 18(fvec3) FSub 788 789 - Store 708(a) 790 - 792: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 793 793 16 16 - 791: 11(int) Load 145(index) - 794: 154(ptr) AccessChain 123 126 153 16 - 795: 87(int) Load 794 - 796: 11(int) Bitcast 795 - 797: 11(int) ISub 791 796 - 798: 11(int) IAdd 797 38 - 799: 236(ptr) AccessChain 208(particleIn) 126 798 126 - 800: 85(fvec4) Load 799 - 801: 18(fvec3) VectorShuffle 800 800 0 1 2 - 802: 18(fvec3) Load 265(pos) - 803: 18(fvec3) FSub 801 802 - Store 722(b) 803 - 805: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 806 806 16 16 - 804: 11(int) Load 145(index) - 807: 11(int) IAdd 804 38 - 808: 236(ptr) AccessChain 208(particleIn) 126 807 126 - 809: 85(fvec4) Load 808 - 810: 18(fvec3) VectorShuffle 809 809 0 1 2 - 811: 18(fvec3) Load 265(pos) - 812: 18(fvec3) FSub 810 811 - Store 739(c) 812 - 814: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 815 815 16 16 - 813: 18(fvec3) Load 708(a) - 816: 18(fvec3) Load 722(b) - 817: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 813 816 - 818: 18(fvec3) Load 722(b) - 819: 18(fvec3) Load 739(c) - 820: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 818 819 - 821: 18(fvec3) FAdd 817 820 - 822: 18(fvec3) Load 686(normal) - 823: 18(fvec3) FAdd 822 821 - Store 686(normal) 823 - Branch 777 - 777: Label - Branch 699 + 609: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 610 610 16 16 + 608: 11(int) Load 149(index) + 611: 18(fvec3) Load 281(vel) + 612: 18(fvec3) Load 573(f) + 613: 131(ptr) AccessChain 125 129 129 + 614: 8(float) Load 613 + 615: 18(fvec3) VectorTimesScalar 612 614 + 616: 18(fvec3) FAdd 611 615 + 617: 8(float) CompositeExtract 616 0 + 618: 8(float) CompositeExtract 616 1 + 619: 8(float) CompositeExtract 616 2 + 620: 87(fvec4) CompositeConstruct 617 618 619 251 + 621: 242(ptr) AccessChain 236(particleOut) 129 608 250 + Store 621 620 + 627: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 625 625 16 16 + 626: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 623 622(sphereDist) 44 + 628: 11(int) Load 149(index) + 629: 242(ptr) AccessChain 236(particleOut) 129 628 129 + 630: 87(fvec4) Load 629 + 631: 18(fvec3) VectorShuffle 630 630 0 1 2 + 633: 242(ptr) AccessChain 125 129 632 + 634: 87(fvec4) Load 633 + 635: 18(fvec3) VectorShuffle 634 634 0 1 2 + 636: 18(fvec3) FSub 631 635 + Store 622(sphereDist) 636 + 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 639 639 16 16 + 637: 18(fvec3) Load 622(sphereDist) + 640: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 637 + 642: 131(ptr) AccessChain 125 129 641 + 643: 8(float) Load 642 + 645: 8(float) FAdd 643 644 + 646: 177(bool) FOrdLessThan 640 645 + SelectionMerge 648 None + BranchConditional 646 647 648 + 647: Label + 651: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 649 + 652: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 653 653 16 16 + 650: 11(int) Load 149(index) + 654: 242(ptr) AccessChain 125 129 632 + 655: 87(fvec4) Load 654 + 656: 18(fvec3) VectorShuffle 655 655 0 1 2 + 657: 18(fvec3) Load 622(sphereDist) + 658: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 657 + 659: 131(ptr) AccessChain 125 129 641 + 660: 8(float) Load 659 + 661: 8(float) FAdd 660 644 + 662: 18(fvec3) VectorTimesScalar 658 661 + 663: 18(fvec3) FAdd 656 662 + 664: 131(ptr) AccessChain 236(particleOut) 129 650 129 16 + 665: 8(float) CompositeExtract 663 0 + Store 664 665 + 666: 131(ptr) AccessChain 236(particleOut) 129 650 129 38 + 667: 8(float) CompositeExtract 663 1 + Store 666 667 + 668: 131(ptr) AccessChain 236(particleOut) 129 650 129 49 + 669: 8(float) CompositeExtract 663 2 + Store 668 669 + 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 672 672 16 16 + 670: 11(int) Load 149(index) + 673: 242(ptr) AccessChain 236(particleOut) 129 670 250 + Store 673 252 + Branch 648 + 648: Label + 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 696: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 681 681 16 16 + 694: 692(ptr) AccessChain 690 129 129 + 697: 11(int) Load 694 + 698: 177(bool) IEqual 697 38 + SelectionMerge 700 None + BranchConditional 698 699 700 699: Label - 825: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 826: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 827 827 16 16 - 824: 143(ptr) AccessChain 60(id) 38 - 828: 11(int) Load 824 - 829: 154(ptr) AccessChain 123 126 153 38 - 830: 87(int) Load 829 - 831: 87(int) ISub 830 244 - 832: 11(int) Bitcast 831 - 833: 172(bool) ULessThan 828 832 - SelectionMerge 835 None - BranchConditional 833 834 835 - 834: Label - 837: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 838: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 839 839 16 16 - 836: 143(ptr) AccessChain 60(id) 16 - 840: 11(int) Load 836 - 841: 172(bool) UGreaterThan 840 16 - SelectionMerge 843 None - BranchConditional 841 842 843 - 842: Label - 845: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 846: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 847 847 16 16 - 844: 11(int) Load 145(index) - 848: 154(ptr) AccessChain 123 126 153 16 - 849: 87(int) Load 848 - 850: 11(int) Bitcast 849 - 851: 11(int) IAdd 844 850 - 852: 236(ptr) AccessChain 208(particleIn) 126 851 126 - 853: 85(fvec4) Load 852 - 854: 18(fvec3) VectorShuffle 853 853 0 1 2 - 855: 18(fvec3) Load 265(pos) - 856: 18(fvec3) FSub 854 855 - Store 708(a) 856 - 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 859 859 16 16 - 857: 11(int) Load 145(index) - 860: 154(ptr) AccessChain 123 126 153 16 - 861: 87(int) Load 860 - 862: 11(int) Bitcast 861 - 863: 11(int) IAdd 857 862 - 864: 11(int) ISub 863 38 - 865: 236(ptr) AccessChain 208(particleIn) 126 864 126 - 866: 85(fvec4) Load 865 - 867: 18(fvec3) VectorShuffle 866 866 0 1 2 - 868: 18(fvec3) Load 265(pos) - 869: 18(fvec3) FSub 867 868 - Store 722(b) 869 - 871: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 872 872 16 16 - 870: 11(int) Load 145(index) - 873: 11(int) ISub 870 38 - 874: 236(ptr) AccessChain 208(particleIn) 126 873 126 - 875: 85(fvec4) Load 874 - 876: 18(fvec3) VectorShuffle 875 875 0 1 2 - 877: 18(fvec3) Load 265(pos) - 878: 18(fvec3) FSub 876 877 - Store 739(c) 878 - 880: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 881 881 16 16 - 879: 18(fvec3) Load 708(a) - 882: 18(fvec3) Load 722(b) - 883: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 879 882 - 884: 18(fvec3) Load 722(b) - 885: 18(fvec3) Load 739(c) - 886: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 884 885 - 887: 18(fvec3) FAdd 883 886 - 888: 18(fvec3) Load 686(normal) - 889: 18(fvec3) FAdd 888 887 - Store 686(normal) 889 - Branch 843 - 843: Label - 891: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 892: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 893 893 16 16 - 890: 143(ptr) AccessChain 60(id) 16 - 894: 11(int) Load 890 - 895: 154(ptr) AccessChain 123 126 153 16 - 896: 87(int) Load 895 - 897: 87(int) ISub 896 244 - 898: 11(int) Bitcast 897 - 899: 172(bool) ULessThan 894 898 - SelectionMerge 901 None - BranchConditional 899 900 901 - 900: Label - 903: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 904: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 905 905 16 16 - 902: 11(int) Load 145(index) - 906: 11(int) IAdd 902 38 - 907: 236(ptr) AccessChain 208(particleIn) 126 906 126 - 908: 85(fvec4) Load 907 - 909: 18(fvec3) VectorShuffle 908 908 0 1 2 - 910: 18(fvec3) Load 265(pos) - 911: 18(fvec3) FSub 909 910 - Store 708(a) 911 - 913: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 914 914 16 16 - 912: 11(int) Load 145(index) - 915: 154(ptr) AccessChain 123 126 153 16 - 916: 87(int) Load 915 - 917: 11(int) Bitcast 916 - 918: 11(int) IAdd 912 917 - 919: 11(int) IAdd 918 38 - 920: 236(ptr) AccessChain 208(particleIn) 126 919 126 - 921: 85(fvec4) Load 920 - 922: 18(fvec3) VectorShuffle 921 921 0 1 2 - 923: 18(fvec3) Load 265(pos) - 924: 18(fvec3) FSub 922 923 - Store 722(b) 924 - 926: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 927 927 16 16 - 925: 11(int) Load 145(index) - 928: 154(ptr) AccessChain 123 126 153 16 - 929: 87(int) Load 928 - 930: 11(int) Bitcast 929 - 931: 11(int) IAdd 925 930 - 932: 236(ptr) AccessChain 208(particleIn) 126 931 126 - 933: 85(fvec4) Load 932 - 934: 18(fvec3) VectorShuffle 933 933 0 1 2 - 935: 18(fvec3) Load 265(pos) - 936: 18(fvec3) FSub 934 935 - Store 739(c) 936 - 938: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 939 939 16 16 - 937: 18(fvec3) Load 708(a) - 940: 18(fvec3) Load 722(b) - 941: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 937 940 - 942: 18(fvec3) Load 722(b) - 943: 18(fvec3) Load 739(c) - 944: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 942 943 - 945: 18(fvec3) FAdd 941 944 - 946: 18(fvec3) Load 686(normal) - 947: 18(fvec3) FAdd 946 945 - Store 686(normal) 947 - Branch 901 - 901: Label - Branch 835 - 835: Label - 949: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 951 951 16 16 - 948: 11(int) Load 145(index) - 952: 18(fvec3) Load 686(normal) - 953: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 952 - 954: 8(float) CompositeExtract 953 0 - 955: 8(float) CompositeExtract 953 1 - 956: 8(float) CompositeExtract 953 2 - 957: 85(fvec4) CompositeConstruct 954 955 956 245 - 958: 236(ptr) AccessChain 230(particleOut) 126 948 548 - Store 958 957 - Branch 685 - 685: Label - 959: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 960: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 951 951 16 16 + 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 701 + 707: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 704 704 16 16 + 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 703 702(normal) 44 + Store 702(normal) 708 + 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 712 712 16 16 + 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 710 709(a) 44 + 718: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 716 715(b) 44 + 722: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 720 719(c) 44 + 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 725 725 16 16 + 723: 147(ptr) AccessChain 60(id) 38 + 726: 11(int) Load 723 + 727: 177(bool) UGreaterThan 726 16 + SelectionMerge 729 None + BranchConditional 727 728 729 + 728: Label + 732: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 730 + 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 734 734 16 16 + 731: 147(ptr) AccessChain 60(id) 16 + 735: 11(int) Load 731 + 736: 177(bool) UGreaterThan 735 16 + SelectionMerge 738 None + BranchConditional 736 737 738 + 737: Label + 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 739 + 742: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 743 743 16 16 + 740: 11(int) Load 149(index) + 744: 11(int) ISub 740 38 + 745: 242(ptr) AccessChain 213(particleIn) 129 744 129 + 746: 87(fvec4) Load 745 + 747: 18(fvec3) VectorShuffle 746 746 0 1 2 + 748: 18(fvec3) Load 271(pos) + 749: 18(fvec3) FSub 747 748 + Store 709(a) 749 + 751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 752 752 16 16 + 750: 11(int) Load 149(index) + 753: 159(ptr) AccessChain 125 129 158 16 + 754: 89(int) Load 753 + 755: 11(int) Bitcast 754 + 756: 11(int) ISub 750 755 + 757: 11(int) ISub 756 38 + 758: 242(ptr) AccessChain 213(particleIn) 129 757 129 + 759: 87(fvec4) Load 758 + 760: 18(fvec3) VectorShuffle 759 759 0 1 2 + 761: 18(fvec3) Load 271(pos) + 762: 18(fvec3) FSub 760 761 + Store 715(b) 762 + 764: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 765 765 16 16 + 763: 11(int) Load 149(index) + 766: 159(ptr) AccessChain 125 129 158 16 + 767: 89(int) Load 766 + 768: 11(int) Bitcast 767 + 769: 11(int) ISub 763 768 + 770: 242(ptr) AccessChain 213(particleIn) 129 769 129 + 771: 87(fvec4) Load 770 + 772: 18(fvec3) VectorShuffle 771 771 0 1 2 + 773: 18(fvec3) Load 271(pos) + 774: 18(fvec3) FSub 772 773 + Store 719(c) 774 + 776: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 777 777 16 16 + 775: 18(fvec3) Load 709(a) + 778: 18(fvec3) Load 715(b) + 779: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 775 778 + 780: 18(fvec3) Load 715(b) + 781: 18(fvec3) Load 719(c) + 782: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 780 781 + 783: 18(fvec3) FAdd 779 782 + 784: 18(fvec3) Load 702(normal) + 785: 18(fvec3) FAdd 784 783 + Store 702(normal) 785 + Branch 738 + 738: Label + 787: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 730 + 788: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 789 789 16 16 + 786: 147(ptr) AccessChain 60(id) 16 + 790: 11(int) Load 786 + 791: 159(ptr) AccessChain 125 129 158 16 + 792: 89(int) Load 791 + 793: 89(int) ISub 792 250 + 794: 11(int) Bitcast 793 + 795: 177(bool) ULessThan 790 794 + SelectionMerge 797 None + BranchConditional 795 796 797 + 796: Label + 800: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 798 + 801: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 802 802 16 16 + 799: 11(int) Load 149(index) + 803: 159(ptr) AccessChain 125 129 158 16 + 804: 89(int) Load 803 + 805: 11(int) Bitcast 804 + 806: 11(int) ISub 799 805 + 807: 242(ptr) AccessChain 213(particleIn) 129 806 129 + 808: 87(fvec4) Load 807 + 809: 18(fvec3) VectorShuffle 808 808 0 1 2 + 810: 18(fvec3) Load 271(pos) + 811: 18(fvec3) FSub 809 810 + Store 709(a) 811 + 813: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 814 814 16 16 + 812: 11(int) Load 149(index) + 815: 159(ptr) AccessChain 125 129 158 16 + 816: 89(int) Load 815 + 817: 11(int) Bitcast 816 + 818: 11(int) ISub 812 817 + 819: 11(int) IAdd 818 38 + 820: 242(ptr) AccessChain 213(particleIn) 129 819 129 + 821: 87(fvec4) Load 820 + 822: 18(fvec3) VectorShuffle 821 821 0 1 2 + 823: 18(fvec3) Load 271(pos) + 824: 18(fvec3) FSub 822 823 + Store 715(b) 824 + 826: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 827 827 16 16 + 825: 11(int) Load 149(index) + 828: 11(int) IAdd 825 38 + 829: 242(ptr) AccessChain 213(particleIn) 129 828 129 + 830: 87(fvec4) Load 829 + 831: 18(fvec3) VectorShuffle 830 830 0 1 2 + 832: 18(fvec3) Load 271(pos) + 833: 18(fvec3) FSub 831 832 + Store 719(c) 833 + 835: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 836 836 16 16 + 834: 18(fvec3) Load 709(a) + 837: 18(fvec3) Load 715(b) + 838: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 834 837 + 839: 18(fvec3) Load 715(b) + 840: 18(fvec3) Load 719(c) + 841: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 839 840 + 842: 18(fvec3) FAdd 838 841 + 843: 18(fvec3) Load 702(normal) + 844: 18(fvec3) FAdd 843 842 + Store 702(normal) 844 + Branch 797 + 797: Label + Branch 729 + 729: Label + 846: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 701 + 847: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 848 848 16 16 + 845: 147(ptr) AccessChain 60(id) 38 + 849: 11(int) Load 845 + 850: 159(ptr) AccessChain 125 129 158 38 + 851: 89(int) Load 850 + 852: 89(int) ISub 851 250 + 853: 11(int) Bitcast 852 + 854: 177(bool) ULessThan 849 853 + SelectionMerge 856 None + BranchConditional 854 855 856 + 855: Label + 859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 857 + 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 861 861 16 16 + 858: 147(ptr) AccessChain 60(id) 16 + 862: 11(int) Load 858 + 863: 177(bool) UGreaterThan 862 16 + SelectionMerge 865 None + BranchConditional 863 864 865 + 864: Label + 868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 866 + 869: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 870 870 16 16 + 867: 11(int) Load 149(index) + 871: 159(ptr) AccessChain 125 129 158 16 + 872: 89(int) Load 871 + 873: 11(int) Bitcast 872 + 874: 11(int) IAdd 867 873 + 875: 242(ptr) AccessChain 213(particleIn) 129 874 129 + 876: 87(fvec4) Load 875 + 877: 18(fvec3) VectorShuffle 876 876 0 1 2 + 878: 18(fvec3) Load 271(pos) + 879: 18(fvec3) FSub 877 878 + Store 709(a) 879 + 881: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 882 882 16 16 + 880: 11(int) Load 149(index) + 883: 159(ptr) AccessChain 125 129 158 16 + 884: 89(int) Load 883 + 885: 11(int) Bitcast 884 + 886: 11(int) IAdd 880 885 + 887: 11(int) ISub 886 38 + 888: 242(ptr) AccessChain 213(particleIn) 129 887 129 + 889: 87(fvec4) Load 888 + 890: 18(fvec3) VectorShuffle 889 889 0 1 2 + 891: 18(fvec3) Load 271(pos) + 892: 18(fvec3) FSub 890 891 + Store 715(b) 892 + 894: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 895 895 16 16 + 893: 11(int) Load 149(index) + 896: 11(int) ISub 893 38 + 897: 242(ptr) AccessChain 213(particleIn) 129 896 129 + 898: 87(fvec4) Load 897 + 899: 18(fvec3) VectorShuffle 898 898 0 1 2 + 900: 18(fvec3) Load 271(pos) + 901: 18(fvec3) FSub 899 900 + Store 719(c) 901 + 903: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 904 904 16 16 + 902: 18(fvec3) Load 709(a) + 905: 18(fvec3) Load 715(b) + 906: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 902 905 + 907: 18(fvec3) Load 715(b) + 908: 18(fvec3) Load 719(c) + 909: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 907 908 + 910: 18(fvec3) FAdd 906 909 + 911: 18(fvec3) Load 702(normal) + 912: 18(fvec3) FAdd 911 910 + Store 702(normal) 912 + Branch 865 + 865: Label + 914: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 857 + 915: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 916 916 16 16 + 913: 147(ptr) AccessChain 60(id) 16 + 917: 11(int) Load 913 + 918: 159(ptr) AccessChain 125 129 158 16 + 919: 89(int) Load 918 + 920: 89(int) ISub 919 250 + 921: 11(int) Bitcast 920 + 922: 177(bool) ULessThan 917 921 + SelectionMerge 924 None + BranchConditional 922 923 924 + 923: Label + 927: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 925 + 928: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 929 929 16 16 + 926: 11(int) Load 149(index) + 930: 11(int) IAdd 926 38 + 931: 242(ptr) AccessChain 213(particleIn) 129 930 129 + 932: 87(fvec4) Load 931 + 933: 18(fvec3) VectorShuffle 932 932 0 1 2 + 934: 18(fvec3) Load 271(pos) + 935: 18(fvec3) FSub 933 934 + Store 709(a) 935 + 937: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 938 938 16 16 + 936: 11(int) Load 149(index) + 939: 159(ptr) AccessChain 125 129 158 16 + 940: 89(int) Load 939 + 941: 11(int) Bitcast 940 + 942: 11(int) IAdd 936 941 + 943: 11(int) IAdd 942 38 + 944: 242(ptr) AccessChain 213(particleIn) 129 943 129 + 945: 87(fvec4) Load 944 + 946: 18(fvec3) VectorShuffle 945 945 0 1 2 + 947: 18(fvec3) Load 271(pos) + 948: 18(fvec3) FSub 946 947 + Store 715(b) 948 + 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 951 951 16 16 + 949: 11(int) Load 149(index) + 952: 159(ptr) AccessChain 125 129 158 16 + 953: 89(int) Load 952 + 954: 11(int) Bitcast 953 + 955: 11(int) IAdd 949 954 + 956: 242(ptr) AccessChain 213(particleIn) 129 955 129 + 957: 87(fvec4) Load 956 + 958: 18(fvec3) VectorShuffle 957 957 0 1 2 + 959: 18(fvec3) Load 271(pos) + 960: 18(fvec3) FSub 958 959 + Store 719(c) 960 + 962: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 963 963 16 16 + 961: 18(fvec3) Load 709(a) + 964: 18(fvec3) Load 715(b) + 965: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 961 964 + 966: 18(fvec3) Load 715(b) + 967: 18(fvec3) Load 719(c) + 968: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 966 967 + 969: 18(fvec3) FAdd 965 968 + 970: 18(fvec3) Load 702(normal) + 971: 18(fvec3) FAdd 970 969 + Store 702(normal) 971 + Branch 924 + 924: Label + Branch 856 + 856: Label + 973: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 701 + 974: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 975 975 16 16 + 972: 11(int) Load 149(index) + 976: 18(fvec3) Load 702(normal) + 977: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 976 + 978: 8(float) CompositeExtract 977 0 + 979: 8(float) CompositeExtract 977 1 + 980: 8(float) CompositeExtract 977 2 + 981: 87(fvec4) CompositeConstruct 978 979 980 251 + 982: 242(ptr) AccessChain 236(particleOut) 129 972 562 + Store 982 981 + Branch 700 + 700: Label + 983: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 984: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 975 975 16 16 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.frag.out b/Test/baseResults/spv.debuginfo.hlsl.frag.out index 5d0d7f7c..d8367e10 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.frag.out +++ b/Test/baseResults/spv.debuginfo.hlsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.hlsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 899 +// Id's are bound by 931 Capability Shader Capability ImageQuery @@ -9,9 +9,9 @@ spv.debuginfo.hlsl.frag 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 6 "main" 892 895 + EntryPoint Fragment 6 "main" 924 927 ExecutionMode 6 OriginUpperLeft - 2: String "" + 2: String "spv.debuginfo.hlsl.frag" 9: String "float" 12: String "uint" 38: String "textureProj" @@ -23,6 +23,203 @@ spv.debuginfo.hlsl.frag // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 +/* +The MIT License (MIT) + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +Texture2D textureposition : register(t1); +SamplerState samplerposition : register(s1); +Texture2D textureNormal : register(t2); +SamplerState samplerNormal : register(s2); +Texture2D textureAlbedo : register(t3); +SamplerState samplerAlbedo : register(s3); +// Depth from the light's point of view +//layout (binding = 5) uniform sampler2DShadow samplerShadowMap; +Texture2DArray textureShadowMap : register(t5); +SamplerState samplerShadowMap : register(s5); + +#define LIGHT_COUNT 3 +#define SHADOW_FACTOR 0.25 +#define AMBIENT_LIGHT 0.1 +#define USE_PCF + +struct Light +{ + float4 position; + float4 target; + float4 color; + float4x4 viewMatrix; +}; + +struct UBO +{ + float4 viewPos; + Light lights[LIGHT_COUNT]; + int useShadows; + int displayDebugTarget; +}; + +cbuffer ubo : register(b4) { UBO ubo; } + +float textureProj(float4 P, float layer, float2 offset) +{ + float shadow = 1.0; + float4 shadowCoord = P / P.w; + shadowCoord.xy = shadowCoord.xy * 0.5 + 0.5; + + if (shadowCoord.z > -1.0 && shadowCoord.z < 1.0) + { + float dist = textureShadowMap.Sample(samplerShadowMap, float3(shadowCoord.xy + offset, layer)).r; + if (shadowCoord.w > 0.0 && dist < shadowCoord.z) + { + shadow = SHADOW_FACTOR; + } + } + return shadow; +} + +float filterPCF(float4 sc, float layer) +{ + int2 texDim; int elements; int levels; + textureShadowMap.GetDimensions(0, texDim.x, texDim.y, elements, levels); + float scale = 1.5; + float dx = scale * 1.0 / float(texDim.x); + float dy = scale * 1.0 / float(texDim.y); + + float shadowFactor = 0.0; + int count = 0; + int range = 1; + + for (int x = -range; x <= range; x++) + { + for (int y = -range; y <= range; y++) + { + shadowFactor += textureProj(sc, layer, float2(dx*x, dy*y)); + count++; + } + + } + return shadowFactor / count; +} + +float3 shadow(float3 fragcolor, float3 fragPos) { + for (int i = 0; i < LIGHT_COUNT; ++i) + { + float4 shadowClip = mul(ubo.lights[i].viewMatrix, float4(fragPos.xyz, 1.0)); + + float shadowFactor; + #ifdef USE_PCF + shadowFactor= filterPCF(shadowClip, i); + #else + shadowFactor = textureProj(shadowClip, i, float2(0.0, 0.0)); + #endif + + fragcolor *= shadowFactor; + } + return fragcolor; +} + +float4 main([[vk::location(0)]] float2 inUV : TEXCOORD0) : SV_TARGET +{ + // Get G-Buffer values + float3 fragPos = textureposition.Sample(samplerposition, inUV).rgb; + float3 normal = textureNormal.Sample(samplerNormal, inUV).rgb; + float4 albedo = textureAlbedo.Sample(samplerAlbedo, inUV); + + float3 fragcolor; + + // Debug display + if (ubo.displayDebugTarget > 0) { + switch (ubo.displayDebugTarget) { + case 1: + fragcolor.rgb = shadow(float3(1.0, 1.0, 1.0), fragPos); + break; + case 2: + fragcolor.rgb = fragPos; + break; + case 3: + fragcolor.rgb = normal; + break; + case 4: + fragcolor.rgb = albedo.rgb; + break; + case 5: + fragcolor.rgb = albedo.aaa; + break; + } + return float4(fragcolor, 1.0); + } + + // Ambient part + fragcolor = albedo.rgb * AMBIENT_LIGHT; + + float3 N = normalize(normal); + + for(int i = 0; i < LIGHT_COUNT; ++i) + { + // Vector to light + float3 L = ubo.lights[i].position.xyz - fragPos; + // Distance from light to fragment position + float dist = length(L); + L = normalize(L); + + // Viewer to fragment + float3 V = ubo.viewPos.xyz - fragPos; + V = normalize(V); + + float lightCosInnerAngle = cos(radians(15.0)); + float lightCosOuterAngle = cos(radians(25.0)); + float lightRange = 100.0; + + // Direction vector from source to target + float3 dir = normalize(ubo.lights[i].position.xyz - ubo.lights[i].target.xyz); + + // Dual cone spot light with smooth transition between inner and outer angle + float cosDir = dot(L, dir); + float spotEffect = smoothstep(lightCosOuterAngle, lightCosInnerAngle, cosDir); + float heightAttenuation = smoothstep(lightRange, 0.0f, dist); + + // Diffuse lighting + float NdotL = max(0.0, dot(N, L)); + float3 diff = NdotL.xxx; + + // Specular lighting + float3 R = reflect(-L, N); + float NdotR = max(0.0, dot(R, V)); + float3 spec = (pow(NdotR, 16.0) * albedo.a * 2.5).xxx; + + fragcolor += float3((diff + spec) * spotEffect * heightAttenuation) * ubo.lights[i].color.rgb * albedo.rgb; + } + + // Shadow calculations in a separate pass + if (ubo.useShadows > 0) + { + fragcolor = shadow(fragcolor, fragPos); + } + + return float4(fragcolor, 1); +} " 47: String "P" 53: String "layer" @@ -34,62 +231,63 @@ spv.debuginfo.hlsl.frag 93: String "fragPos" 100: String "@main" 104: String "inUV" - 117: String "shadowCoord" - 144: String "bool" - 155: String "dist" - 162: String "type.2d.image" - 163: String "@type.2d.image" - 169: String "textureShadowMap" - 174: String "type.sampler" - 175: String "@type.sampler" - 180: String "samplerShadowMap" - 184: String "type.sampled.image" - 185: String "@type.sampled.image" - 229: String "sizeQueryTemp" - 236: String "int" - 244: String "texDim" - 260: String "elements" - 267: String "levels" - 274: String "scale" - 281: String "dx" - 293: String "dy" - 305: String "shadowFactor" - 311: String "count" - 318: String "range" - 325: String "x" - 345: String "y" - 410: String "i" - 428: String "shadowClip" - 443: String "color" - 449: String "viewMatrix" - 453: String "Light" - 459: String "lights" - 462: String "displayDebugTarget" - 467: String "UBO" - 470: String "ubo" - 524: String "textureposition" - 529: String "samplerposition" - 539: String "normal" - 545: String "textureNormal" - 550: String "samplerNormal" - 558: String "albedo" - 564: String "textureAlbedo" - 569: String "samplerAlbedo" - 657: String "N" - 681: String "L" - 707: String "V" - 722: String "lightCosInnerAngle" - 729: String "lightCosOuterAngle" - 736: String "lightRange" - 743: String "dir" - 759: String "cosDir" - 768: String "spotEffect" - 778: String "heightAttenuation" - 787: String "NdotL" - 797: String "diff" - 805: String "R" - 815: String "NdotR" - 825: String "spec" + 119: String "shadowCoord" + 146: String "bool" + 158: String "dist" + 165: String "type.2d.image" + 166: String "@type.2d.image" + 172: String "textureShadowMap" + 177: String "type.sampler" + 178: String "@type.sampler" + 183: String "samplerShadowMap" + 187: String "type.sampled.image" + 188: String "@type.sampled.image" + 229: String "int" + 237: String "texDim" + 246: String "elements" + 250: String "levels" + 258: String "sizeQueryTemp" + 282: String "scale" + 289: String "dx" + 301: String "dy" + 313: String "shadowFactor" + 319: String "count" + 326: String "range" + 336: String "x" + 360: String "y" + 428: String "i" + 447: String "shadowClip" + 462: String "color" + 468: String "viewMatrix" + 472: String "Light" + 478: String "lights" + 481: String "displayDebugTarget" + 486: String "UBO" + 489: String "ubo" + 497: String "" + 548: String "textureposition" + 553: String "samplerposition" + 563: String "normal" + 569: String "textureNormal" + 574: String "samplerNormal" + 582: String "albedo" + 588: String "textureAlbedo" + 593: String "samplerAlbedo" + 684: String "N" + 712: String "L" + 738: String "V" + 753: String "lightCosInnerAngle" + 760: String "lightCosOuterAngle" + 767: String "lightRange" + 774: String "dir" + 790: String "cosDir" + 799: String "spotEffect" + 809: String "heightAttenuation" + 818: String "NdotL" + 828: String "diff" + 836: String "R" + 846: String "NdotR" + 856: String "spec" Name 6 "main" Name 36 "textureProj(vf4;f1;vf2;" Name 33 "P" @@ -103,112 +301,112 @@ spv.debuginfo.hlsl.frag Name 81 "fragPos" Name 98 "@main(vf2;" Name 97 "inUV" - Name 109 "shadow" - Name 115 "shadowCoord" - Name 153 "dist" - Name 167 "textureShadowMap" - Name 178 "samplerShadowMap" - Name 227 "sizeQueryTemp" - Name 242 "texDim" - Name 258 "elements" - Name 265 "levels" - Name 272 "scale" - Name 279 "dx" - Name 291 "dy" - Name 303 "shadowFactor" - Name 309 "count" - Name 316 "range" - Name 323 "x" - Name 343 "y" - Name 376 "param" - Name 378 "param" - Name 380 "param" - Name 408 "i" - Name 426 "shadowClip" - Name 441 "Light" - MemberName 441(Light) 0 "position" - MemberName 441(Light) 1 "target" - MemberName 441(Light) 2 "color" - MemberName 441(Light) 3 "viewMatrix" - Name 456 "UBO" - MemberName 456(UBO) 0 "viewPos" - MemberName 456(UBO) 1 "lights" - MemberName 456(UBO) 2 "useShadows" - MemberName 456(UBO) 3 "displayDebugTarget" - Name 468 "ubo" - MemberName 468(ubo) 0 "ubo" - Name 476 "" - Name 484 "shadowFactor" - Name 491 "param" - Name 493 "param" - Name 513 "fragPos" - Name 522 "textureposition" - Name 527 "samplerposition" - Name 537 "normal" - Name 543 "textureNormal" - Name 548 "samplerNormal" - Name 556 "albedo" - Name 562 "textureAlbedo" - Name 567 "samplerAlbedo" - Name 594 "fragcolor" - Name 601 "param" - Name 602 "param" - Name 655 "N" - Name 663 "i" - Name 679 "L" - Name 694 "dist" - Name 705 "V" - Name 720 "lightCosInnerAngle" - Name 727 "lightCosOuterAngle" - Name 734 "lightRange" - Name 741 "dir" - Name 757 "cosDir" - Name 766 "spotEffect" - Name 776 "heightAttenuation" - Name 785 "NdotL" - Name 795 "diff" - Name 803 "R" - Name 813 "NdotR" - Name 823 "spec" - Name 870 "param" - Name 875 "param" - Name 890 "inUV" - Name 892 "inUV" - Name 895 "@entryPointOutput" - Name 896 "param" - Decorate 167(textureShadowMap) Binding 5 - Decorate 167(textureShadowMap) DescriptorSet 0 - Decorate 178(samplerShadowMap) Binding 5 - Decorate 178(samplerShadowMap) DescriptorSet 0 - MemberDecorate 441(Light) 0 Offset 0 - MemberDecorate 441(Light) 1 Offset 16 - MemberDecorate 441(Light) 2 Offset 32 - MemberDecorate 441(Light) 3 RowMajor - MemberDecorate 441(Light) 3 MatrixStride 16 - MemberDecorate 441(Light) 3 Offset 48 - Decorate 454 ArrayStride 112 - MemberDecorate 456(UBO) 0 Offset 0 - MemberDecorate 456(UBO) 1 Offset 16 - MemberDecorate 456(UBO) 2 Offset 352 - MemberDecorate 456(UBO) 3 Offset 356 - Decorate 468(ubo) Block - MemberDecorate 468(ubo) 0 Offset 0 - Decorate 476 Binding 4 - Decorate 476 DescriptorSet 0 - Decorate 522(textureposition) Binding 1 - Decorate 522(textureposition) DescriptorSet 0 - Decorate 527(samplerposition) Binding 1 - Decorate 527(samplerposition) DescriptorSet 0 - Decorate 543(textureNormal) Binding 2 - Decorate 543(textureNormal) DescriptorSet 0 - Decorate 548(samplerNormal) Binding 2 - Decorate 548(samplerNormal) DescriptorSet 0 - Decorate 562(textureAlbedo) Binding 3 - Decorate 562(textureAlbedo) DescriptorSet 0 - Decorate 567(samplerAlbedo) Binding 3 - Decorate 567(samplerAlbedo) DescriptorSet 0 - Decorate 892(inUV) Location 0 - Decorate 895(@entryPointOutput) Location 0 + Name 110 "shadow" + Name 117 "shadowCoord" + Name 156 "dist" + Name 170 "textureShadowMap" + Name 181 "samplerShadowMap" + Name 235 "texDim" + Name 244 "elements" + Name 248 "levels" + Name 256 "sizeQueryTemp" + Name 280 "scale" + Name 287 "dx" + Name 299 "dy" + Name 311 "shadowFactor" + Name 317 "count" + Name 324 "range" + Name 334 "x" + Name 358 "y" + Name 391 "param" + Name 393 "param" + Name 395 "param" + Name 426 "i" + Name 445 "shadowClip" + Name 460 "Light" + MemberName 460(Light) 0 "position" + MemberName 460(Light) 1 "target" + MemberName 460(Light) 2 "color" + MemberName 460(Light) 3 "viewMatrix" + Name 475 "UBO" + MemberName 475(UBO) 0 "viewPos" + MemberName 475(UBO) 1 "lights" + MemberName 475(UBO) 2 "useShadows" + MemberName 475(UBO) 3 "displayDebugTarget" + Name 487 "ubo" + MemberName 487(ubo) 0 "ubo" + Name 495 "" + Name 504 "shadowFactor" + Name 513 "param" + Name 515 "param" + Name 536 "fragPos" + Name 546 "textureposition" + Name 551 "samplerposition" + Name 561 "normal" + Name 567 "textureNormal" + Name 572 "samplerNormal" + Name 580 "albedo" + Name 586 "textureAlbedo" + Name 591 "samplerAlbedo" + Name 598 "fragcolor" + Name 625 "param" + Name 629 "param" + Name 682 "N" + Name 693 "i" + Name 710 "L" + Name 725 "dist" + Name 736 "V" + Name 751 "lightCosInnerAngle" + Name 758 "lightCosOuterAngle" + Name 765 "lightRange" + Name 772 "dir" + Name 788 "cosDir" + Name 797 "spotEffect" + Name 807 "heightAttenuation" + Name 816 "NdotL" + Name 826 "diff" + Name 834 "R" + Name 844 "NdotR" + Name 854 "spec" + Name 902 "param" + Name 907 "param" + Name 922 "inUV" + Name 924 "inUV" + Name 927 "@entryPointOutput" + Name 928 "param" + Decorate 170(textureShadowMap) Binding 5 + Decorate 170(textureShadowMap) DescriptorSet 0 + Decorate 181(samplerShadowMap) Binding 5 + Decorate 181(samplerShadowMap) DescriptorSet 0 + MemberDecorate 460(Light) 0 Offset 0 + MemberDecorate 460(Light) 1 Offset 16 + MemberDecorate 460(Light) 2 Offset 32 + MemberDecorate 460(Light) 3 RowMajor + MemberDecorate 460(Light) 3 MatrixStride 16 + MemberDecorate 460(Light) 3 Offset 48 + Decorate 473 ArrayStride 112 + MemberDecorate 475(UBO) 0 Offset 0 + MemberDecorate 475(UBO) 1 Offset 16 + MemberDecorate 475(UBO) 2 Offset 352 + MemberDecorate 475(UBO) 3 Offset 356 + Decorate 487(ubo) Block + MemberDecorate 487(ubo) 0 Offset 0 + Decorate 495 Binding 4 + Decorate 495 DescriptorSet 0 + Decorate 546(textureposition) Binding 1 + Decorate 546(textureposition) DescriptorSet 0 + Decorate 551(samplerposition) Binding 1 + Decorate 551(samplerposition) DescriptorSet 0 + Decorate 567(textureNormal) Binding 2 + Decorate 567(textureNormal) DescriptorSet 0 + Decorate 572(samplerNormal) Binding 2 + Decorate 572(samplerNormal) DescriptorSet 0 + Decorate 586(textureAlbedo) Binding 3 + Decorate 586(textureAlbedo) DescriptorSet 0 + Decorate 591(samplerAlbedo) Binding 3 + Decorate 591(samplerAlbedo) DescriptorSet 0 + Decorate 924(inUV) Location 0 + Decorate 927(@entryPointOutput) Location 0 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -265,233 +463,255 @@ spv.debuginfo.hlsl.frag 102: 11(int) Constant 119 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 100 96 40 102 16 43 100 17 102 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 104 28 40 102 16 101 19 44 - 111: 11(int) Constant 62 - 110: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 84 10 40 111 16 39 19 - 114: 8(float) Constant 1065353216 - 118: 11(int) Constant 63 - 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 117 20 40 118 16 39 19 - 128: 11(int) Constant 64 - 130: 8(float) Constant 1056964608 - 140: 11(int) Constant 66 - 142: 8(float) Constant 3212836864 - 143: TypeBool - 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 144 14 27 16 - 156: 11(int) Constant 68 - 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 155 10 40 156 16 39 19 - 160: TypeImage 8(float) 2D array sampled format:Unknown - 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 16 40 156 16 43 163 164 17 - 165: TypePointer UniformConstant 160 - 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 161 16 16 -167(textureShadowMap): 165(ptr) Variable UniformConstant - 170: 11(int) Constant 8 - 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 169 161 40 156 16 43 169 167(textureShadowMap) 170 - 172: TypeSampler - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 156 16 43 175 164 17 - 176: TypePointer UniformConstant 172 - 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 173 16 16 -178(samplerShadowMap): 176(ptr) Variable UniformConstant - 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 180 173 40 156 16 43 180 178(samplerShadowMap) 170 - 182: TypeSampledImage 160 - 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 184 16 40 156 16 43 185 164 17 - 199: 11(int) Constant 69 - 201: 8(float) Constant 0 - 210: 8(float) Constant 1048576000 - 213: 11(int) Constant 71 - 217: 11(int) Constant 74 - 223: TypeVector 11(int) 3 - 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 13 17 - 225: TypePointer Function 223(ivec3) - 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 224 22 16 - 230: 11(int) Constant 80 - 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 224 40 230 16 65 19 - 235: TypeInt 32 1 - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 236 14 19 16 - 238: TypeVector 235(int) 2 - 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 237 27 - 240: TypePointer Function 238(ivec2) - 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 239 22 16 - 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 244 239 40 230 16 65 19 - 246: TypePointer Function 11(int) - 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16 - 251: TypePointer Function 235(int) - 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 237 22 16 - 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 260 237 40 230 16 65 19 - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 267 237 40 230 16 65 19 - 275: 11(int) Constant 81 - 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 274 10 40 275 16 65 19 - 278: 8(float) Constant 1069547520 - 282: 11(int) Constant 82 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 281 10 40 282 16 65 19 - 294: 11(int) Constant 83 - 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 293 10 40 294 16 65 19 - 306: 11(int) Constant 85 - 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 305 10 40 306 16 65 19 - 312: 11(int) Constant 86 - 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 311 237 40 312 16 65 19 - 315: 235(int) Constant 0 - 319: 11(int) Constant 87 - 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 318 237 40 319 16 65 19 - 322: 235(int) Constant 1 - 326: 11(int) Constant 89 - 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 325 237 40 326 16 65 19 - 346: 11(int) Constant 91 - 344: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 345 237 40 346 16 65 19 - 367: 11(int) Constant 93 - 386: 11(int) Constant 94 - 399: 11(int) Constant 98 - 411: 11(int) Constant 102 - 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 410 237 40 411 16 85 19 - 424: 235(int) Constant 3 - 429: 11(int) Constant 104 - 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 428 20 40 429 16 85 19 - 438: TypeMatrix 18(fvec4) 4 - 440: 143(bool) ConstantTrue - 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 440 - 441(Light): TypeStruct 18(fvec4) 18(fvec4) 18(fvec4) 438 - 444: 11(int) Constant 46 - 445: 11(int) Constant 14 - 442: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 443 20 40 444 445 16 16 17 - 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 443 20 40 444 445 16 16 17 - 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 443 20 40 444 445 16 16 17 - 450: 11(int) Constant 47 - 451: 11(int) Constant 21 - 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 449 439 40 450 451 16 16 17 - 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 453 44 40 429 16 43 453 16 17 442 446 447 448 - 454: TypeArray 441(Light) 17 - 455: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 452 17 - 456(UBO): TypeStruct 18(fvec4) 454 235(int) 235(int) - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 443 20 40 444 445 16 16 17 - 460: 11(int) Constant 53 - 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 459 455 40 460 445 16 16 17 - 463: 11(int) Constant 55 - 464: 11(int) Constant 24 - 461: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 237 40 463 464 16 16 17 - 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 237 40 463 464 16 16 17 - 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 467 44 40 429 16 43 467 16 17 457 458 461 465 - 468(ubo): TypeStruct 456(UBO) - 471: 11(int) Constant 58 - 472: 11(int) Constant 37 - 469: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 470 466 40 471 472 16 16 17 - 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 470 44 40 429 16 43 470 16 17 469 - 474: TypePointer Uniform 468(ubo) - 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 473 27 16 - 476: 474(ptr) Variable Uniform - 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 473 40 429 16 43 2 476 170 - 479: TypePointer Uniform 438 - 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 439 27 16 - 486: 11(int) Constant 108 - 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 305 10 40 486 16 85 19 - 497: 11(int) Constant 113 - 507: 11(int) Constant 115 - 515: 11(int) Constant 121 - 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 40 515 16 101 19 - 518: TypeImage 8(float) 2D sampled format:Unknown - 519: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 16 40 515 16 43 163 164 17 - 520: TypePointer UniformConstant 518 - 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 519 16 16 -522(textureposition): 520(ptr) Variable UniformConstant - 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 524 519 40 515 16 43 524 522(textureposition) 170 - 526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 515 16 43 175 164 17 -527(samplerposition): 176(ptr) Variable UniformConstant - 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 529 526 40 515 16 43 529 527(samplerposition) 170 - 531: TypeSampledImage 518 - 532: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 184 16 40 515 16 43 185 164 17 - 540: 11(int) Constant 122 - 538: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 539 75 40 540 16 101 19 -543(textureNormal): 520(ptr) Variable UniformConstant - 544: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 545 519 40 540 16 43 545 543(textureNormal) 170 - 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 540 16 43 175 164 17 -548(samplerNormal): 176(ptr) Variable UniformConstant - 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 550 547 40 540 16 43 550 548(samplerNormal) 170 - 559: 11(int) Constant 123 - 557: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 558 20 40 559 16 101 19 -562(textureAlbedo): 520(ptr) Variable UniformConstant - 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 564 519 40 559 16 43 564 562(textureAlbedo) 170 - 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 44 40 559 16 43 175 164 17 -567(samplerAlbedo): 176(ptr) Variable UniformConstant - 568: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 569 566 40 559 16 43 569 567(samplerAlbedo) 170 - 574: TypePointer Uniform 235(int) - 575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 237 27 16 - 578: 11(int) Constant 128 - 586: 11(int) Constant 129 - 596: 11(int) Constant 131 - 595: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 40 596 16 101 19 - 600: 74(fvec3) ConstantComposite 114 114 114 - 606: 11(int) Constant 132 - 611: 11(int) Constant 134 - 613: 11(int) Constant 135 - 618: 11(int) Constant 137 - 620: 11(int) Constant 138 - 625: 11(int) Constant 140 - 628: 11(int) Constant 141 - 633: 11(int) Constant 143 - 636: 11(int) Constant 144 - 642: 11(int) Constant 146 - 651: 11(int) Constant 150 - 653: 8(float) Constant 1036831949 - 658: 11(int) Constant 152 - 656: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 657 75 40 658 16 101 19 - 665: 11(int) Constant 154 - 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 410 237 40 665 16 101 19 - 682: 11(int) Constant 157 - 680: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 681 75 40 682 16 101 19 - 687: TypePointer Uniform 18(fvec4) - 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 27 16 - 696: 11(int) Constant 159 - 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 155 10 40 696 16 101 19 - 703: 11(int) Constant 160 - 708: 11(int) Constant 163 - 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 707 75 40 708 16 101 19 - 718: 11(int) Constant 164 - 723: 11(int) Constant 166 - 721: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 722 10 40 723 16 101 19 - 726: 8(float) Constant 1064781546 - 730: 11(int) Constant 167 - 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 729 10 40 730 16 101 19 - 733: 8(float) Constant 1063781322 - 737: 11(int) Constant 168 - 735: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 736 10 40 737 16 101 19 - 740: 8(float) Constant 1120403456 - 744: 11(int) Constant 171 - 742: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 743 75 40 744 16 101 19 - 760: 11(int) Constant 174 - 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 759 10 40 760 16 101 19 - 769: 11(int) Constant 175 - 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 768 10 40 769 16 101 19 - 779: 11(int) Constant 176 - 777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 778 10 40 779 16 101 19 - 788: 11(int) Constant 179 - 786: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 787 10 40 788 16 101 19 - 798: 11(int) Constant 180 - 796: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 797 75 40 798 16 101 19 - 806: 11(int) Constant 183 - 804: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 805 75 40 806 16 101 19 - 816: 11(int) Constant 184 - 814: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 815 10 40 816 16 101 19 - 826: 11(int) Constant 185 - 824: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 825 75 40 826 16 101 19 - 830: 8(float) Constant 1098907648 - 835: 8(float) Constant 1075838976 - 840: 11(int) Constant 187 - 848: 235(int) Constant 2 - 865: 11(int) Constant 191 - 874: 11(int) Constant 193 - 881: 11(int) Constant 196 - 891: TypePointer Input 26(fvec2) - 892(inUV): 891(ptr) Variable Input - 894: TypePointer Output 18(fvec4) -895(@entryPointOutput): 894(ptr) Variable Output + 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 39 + 112: 11(int) Constant 62 + 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 84 10 40 112 16 109 19 + 116: 8(float) Constant 1065353216 + 120: 11(int) Constant 63 + 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 119 20 40 120 16 109 19 + 130: 11(int) Constant 64 + 132: 8(float) Constant 1056964608 + 142: 11(int) Constant 66 + 144: 8(float) Constant 3212836864 + 145: TypeBool + 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 146 14 27 16 + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 109 + 159: 11(int) Constant 68 + 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 158 10 40 159 16 155 19 + 163: TypeImage 8(float) 2D array sampled format:Unknown + 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 165 16 40 159 16 43 166 167 17 + 168: TypePointer UniformConstant 163 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 164 16 16 +170(textureShadowMap): 168(ptr) Variable UniformConstant + 173: 11(int) Constant 8 + 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 172 164 40 159 16 43 172 170(textureShadowMap) 173 + 175: TypeSampler + 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 44 40 159 16 43 178 167 17 + 179: TypePointer UniformConstant 175 + 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 176 16 16 +181(samplerShadowMap): 179(ptr) Variable UniformConstant + 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 183 176 40 159 16 43 183 181(samplerShadowMap) 173 + 185: TypeSampledImage 163 + 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 187 16 40 159 16 43 188 167 17 + 202: 11(int) Constant 69 + 204: 8(float) Constant 0 + 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 155 + 214: 8(float) Constant 1048576000 + 217: 11(int) Constant 71 + 221: 11(int) Constant 74 + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 65 + 228: TypeInt 32 1 + 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 229 14 19 16 + 231: TypeVector 228(int) 2 + 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 230 27 + 233: TypePointer Function 231(ivec2) + 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 232 22 16 + 238: 11(int) Constant 79 + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 237 232 40 238 16 227 19 + 242: TypePointer Function 228(int) + 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 230 22 16 + 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 246 230 40 238 16 227 19 + 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 250 230 40 238 16 227 19 + 252: TypeVector 11(int) 3 + 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 13 17 + 254: TypePointer Function 252(ivec3) + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 253 22 16 + 259: 11(int) Constant 80 + 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 258 253 40 259 16 227 19 + 264: TypePointer Function 11(int) + 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16 + 283: 11(int) Constant 81 + 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 282 10 40 283 16 227 19 + 286: 8(float) Constant 1069547520 + 290: 11(int) Constant 82 + 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 289 10 40 290 16 227 19 + 302: 11(int) Constant 83 + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 301 10 40 302 16 227 19 + 314: 11(int) Constant 85 + 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 313 10 40 314 16 227 19 + 320: 11(int) Constant 86 + 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 319 230 40 320 16 227 19 + 323: 228(int) Constant 0 + 327: 11(int) Constant 87 + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 326 230 40 327 16 227 19 + 330: 228(int) Constant 1 + 332: 11(int) Constant 89 + 333: 11(int) Constant 11 + 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 332 333 227 + 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 336 230 40 332 16 331 19 + 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 331 + 356: 11(int) Constant 91 + 357: 11(int) Constant 12 + 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 356 357 354 + 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 360 230 40 356 16 355 19 + 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 355 + 382: 11(int) Constant 93 + 401: 11(int) Constant 94 + 414: 11(int) Constant 98 + 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 85 + 425: 11(int) Constant 102 + 424: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 425 333 423 + 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 428 230 40 425 16 424 19 + 442: 228(int) Constant 3 + 444: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 424 + 448: 11(int) Constant 104 + 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 447 20 40 448 16 444 19 + 457: TypeMatrix 18(fvec4) 4 + 459: 145(bool) ConstantTrue + 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 459 + 460(Light): TypeStruct 18(fvec4) 18(fvec4) 18(fvec4) 457 + 463: 11(int) Constant 46 + 464: 11(int) Constant 14 + 461: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 20 40 463 464 16 16 17 + 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 20 40 463 464 16 16 17 + 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 20 40 463 464 16 16 17 + 469: 11(int) Constant 47 + 470: 11(int) Constant 21 + 467: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 468 458 40 469 470 16 16 17 + 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 472 44 40 448 16 43 472 16 17 461 465 466 467 + 473: TypeArray 460(Light) 17 + 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 471 17 + 475(UBO): TypeStruct 18(fvec4) 473 228(int) 228(int) + 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 20 40 463 464 16 16 17 + 479: 11(int) Constant 53 + 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 478 474 40 479 464 16 16 17 + 482: 11(int) Constant 55 + 483: 11(int) Constant 24 + 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 481 230 40 482 483 16 16 17 + 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 481 230 40 482 483 16 16 17 + 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 486 44 40 448 16 43 486 16 17 476 477 480 484 + 487(ubo): TypeStruct 475(UBO) + 490: 11(int) Constant 58 + 491: 11(int) Constant 37 + 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 489 485 40 490 491 16 16 17 + 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 489 44 40 448 16 43 489 16 17 488 + 493: TypePointer Uniform 487(ubo) + 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 492 27 16 + 495: 493(ptr) Variable Uniform + 496: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 497 492 40 448 16 43 497 495 173 + 499: TypePointer Uniform 457 + 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 458 27 16 + 506: 11(int) Constant 106 + 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 313 10 40 506 16 444 19 + 511: 11(int) Constant 108 + 519: 11(int) Constant 113 + 529: 11(int) Constant 115 + 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 101 + 538: 11(int) Constant 121 + 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 40 538 16 535 19 + 542: TypeImage 8(float) 2D sampled format:Unknown + 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 165 16 40 538 16 43 166 167 17 + 544: TypePointer UniformConstant 542 + 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 543 16 16 +546(textureposition): 544(ptr) Variable UniformConstant + 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 548 543 40 538 16 43 548 546(textureposition) 173 + 550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 44 40 538 16 43 178 167 17 +551(samplerposition): 179(ptr) Variable UniformConstant + 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 553 550 40 538 16 43 553 551(samplerposition) 173 + 555: TypeSampledImage 542 + 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 187 16 40 538 16 43 188 167 17 + 564: 11(int) Constant 122 + 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 563 75 40 564 16 535 19 +567(textureNormal): 544(ptr) Variable UniformConstant + 568: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 569 543 40 564 16 43 569 567(textureNormal) 173 + 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 44 40 564 16 43 178 167 17 +572(samplerNormal): 179(ptr) Variable UniformConstant + 573: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 574 571 40 564 16 43 574 572(samplerNormal) 173 + 583: 11(int) Constant 123 + 581: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 582 20 40 583 16 535 19 +586(textureAlbedo): 544(ptr) Variable UniformConstant + 587: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 588 543 40 583 16 43 588 586(textureAlbedo) 173 + 590: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 44 40 583 16 43 178 167 17 +591(samplerAlbedo): 179(ptr) Variable UniformConstant + 592: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 593 590 40 583 16 43 593 591(samplerAlbedo) 173 + 600: 11(int) Constant 125 + 599: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 40 600 16 535 19 + 603: TypePointer Uniform 228(int) + 604: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 230 27 16 + 607: 11(int) Constant 128 + 612: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 535 + 616: 11(int) Constant 129 + 624: 74(fvec3) ConstantComposite 116 116 116 + 628: 11(int) Constant 131 + 633: 11(int) Constant 132 + 638: 11(int) Constant 134 + 640: 11(int) Constant 135 + 645: 11(int) Constant 137 + 647: 11(int) Constant 138 + 652: 11(int) Constant 140 + 655: 11(int) Constant 141 + 660: 11(int) Constant 143 + 663: 11(int) Constant 144 + 669: 11(int) Constant 146 + 678: 11(int) Constant 150 + 680: 8(float) Constant 1036831949 + 685: 11(int) Constant 152 + 683: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 684 75 40 685 16 535 19 + 691: 11(int) Constant 154 + 692: 11(int) Constant 10 + 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 691 692 535 + 694: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 428 230 40 691 16 690 19 + 709: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 690 + 713: 11(int) Constant 157 + 711: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 712 75 40 713 16 709 19 + 718: TypePointer Uniform 18(fvec4) + 719: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 27 16 + 727: 11(int) Constant 159 + 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 158 10 40 727 16 709 19 + 734: 11(int) Constant 160 + 739: 11(int) Constant 163 + 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 738 75 40 739 16 709 19 + 749: 11(int) Constant 164 + 754: 11(int) Constant 166 + 752: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 753 10 40 754 16 709 19 + 757: 8(float) Constant 1064781546 + 761: 11(int) Constant 167 + 759: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 760 10 40 761 16 709 19 + 764: 8(float) Constant 1063781322 + 768: 11(int) Constant 168 + 766: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 767 10 40 768 16 709 19 + 771: 8(float) Constant 1120403456 + 775: 11(int) Constant 171 + 773: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 774 75 40 775 16 709 19 + 791: 11(int) Constant 174 + 789: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 790 10 40 791 16 709 19 + 800: 11(int) Constant 175 + 798: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 799 10 40 800 16 709 19 + 810: 11(int) Constant 176 + 808: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 809 10 40 810 16 709 19 + 819: 11(int) Constant 179 + 817: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 818 10 40 819 16 709 19 + 829: 11(int) Constant 180 + 827: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 828 75 40 829 16 709 19 + 837: 11(int) Constant 183 + 835: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 836 75 40 837 16 709 19 + 847: 11(int) Constant 184 + 845: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 846 10 40 847 16 709 19 + 857: 11(int) Constant 185 + 855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 856 75 40 857 16 709 19 + 861: 8(float) Constant 1098907648 + 866: 8(float) Constant 1075838976 + 871: 11(int) Constant 187 + 879: 228(int) Constant 2 + 896: 11(int) Constant 191 + 901: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 535 + 906: 11(int) Constant 193 + 913: 11(int) Constant 196 + 923: TypePointer Input 26(fvec2) + 924(inUV): 923(ptr) Variable Input + 926: TypePointer Output 18(fvec4) +927(@entryPointOutput): 926(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 890(inUV): 29(ptr) Variable Function - 896(param): 29(ptr) Variable Function - 893: 26(fvec2) Load 892(inUV) - Store 890(inUV) 893 - 897: 26(fvec2) Load 890(inUV) - Store 896(param) 897 - 898: 18(fvec4) FunctionCall 98(@main(vf2;) 896(param) - Store 895(@entryPointOutput) 898 + 922(inUV): 29(ptr) Variable Function + 928(param): 29(ptr) Variable Function + 925: 26(fvec2) Load 924(inUV) + Store 922(inUV) 925 + 929: 26(fvec2) Load 922(inUV) + Store 928(param) 929 + 930: 18(fvec4) FunctionCall 98(@main(vf2;) 928(param) + Store 927(@entryPointOutput) 930 Return FunctionEnd 36(textureProj(vf4;f1;vf2;): 8(float) Function None 31 @@ -499,644 +719,653 @@ spv.debuginfo.hlsl.frag 34(layer): 24(ptr) FunctionParameter 35(offset): 29(ptr) FunctionParameter 37: Label - 109(shadow): 24(ptr) Variable Function -115(shadowCoord): 21(ptr) Variable Function - 153(dist): 24(ptr) Variable Function + 110(shadow): 24(ptr) Variable Function +117(shadowCoord): 21(ptr) Variable Function + 156(dist): 24(ptr) Variable Function 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 42 42 16 16 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 33(P) 49 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 34(layer) 49 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 55 35(offset) 49 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(textureProj(vf4;f1;vf2;) - 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 111 111 16 16 - 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 110 109(shadow) 49 - Store 109(shadow) 114 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 118 118 16 16 - 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 116 115(shadowCoord) 49 - 121: 18(fvec4) Load 33(P) - 122: 24(ptr) AccessChain 33(P) 17 - 123: 8(float) Load 122 - 124: 18(fvec4) CompositeConstruct 123 123 123 123 - 125: 18(fvec4) FDiv 121 124 - Store 115(shadowCoord) 125 - 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 128 128 16 16 - 126: 18(fvec4) Load 115(shadowCoord) - 129: 26(fvec2) VectorShuffle 126 126 0 1 - 131: 26(fvec2) VectorTimesScalar 129 130 - 132: 26(fvec2) CompositeConstruct 130 130 - 133: 26(fvec2) FAdd 131 132 - 134: 24(ptr) AccessChain 115(shadowCoord) 16 - 135: 8(float) CompositeExtract 133 0 - Store 134 135 - 136: 24(ptr) AccessChain 115(shadowCoord) 44 - 137: 8(float) CompositeExtract 133 1 + 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 109 + 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 112 112 16 16 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 111 110(shadow) 49 + Store 110(shadow) 116 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 120 120 16 16 + 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 118 117(shadowCoord) 49 + 123: 18(fvec4) Load 33(P) + 124: 24(ptr) AccessChain 33(P) 17 + 125: 8(float) Load 124 + 126: 18(fvec4) CompositeConstruct 125 125 125 125 + 127: 18(fvec4) FDiv 123 126 + Store 117(shadowCoord) 127 + 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 130 130 16 16 + 128: 18(fvec4) Load 117(shadowCoord) + 131: 26(fvec2) VectorShuffle 128 128 0 1 + 133: 26(fvec2) VectorTimesScalar 131 132 + 134: 26(fvec2) CompositeConstruct 132 132 + 135: 26(fvec2) FAdd 133 134 + 136: 24(ptr) AccessChain 117(shadowCoord) 16 + 137: 8(float) CompositeExtract 135 0 Store 136 137 - 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 140 140 16 16 - 138: 24(ptr) AccessChain 115(shadowCoord) 27 - 141: 8(float) Load 138 - 146: 143(bool) FOrdGreaterThan 141 142 - 147: 24(ptr) AccessChain 115(shadowCoord) 27 - 148: 8(float) Load 147 - 149: 143(bool) FOrdLessThan 148 114 - 150: 143(bool) LogicalAnd 146 149 - SelectionMerge 152 None - BranchConditional 150 151 152 - 151: Label - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 156 156 16 16 - 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 154 153(dist) 49 - 171: 160 Load 167(textureShadowMap) - 181: 172 Load 178(samplerShadowMap) - 186: 182 SampledImage 171 181 - 187: 18(fvec4) Load 115(shadowCoord) - 188: 26(fvec2) VectorShuffle 187 187 0 1 - 189: 26(fvec2) Load 35(offset) - 190: 26(fvec2) FAdd 188 189 - 191: 8(float) Load 34(layer) - 192: 8(float) CompositeExtract 190 0 - 193: 8(float) CompositeExtract 190 1 - 194: 74(fvec3) CompositeConstruct 192 193 191 - 195: 18(fvec4) ImageSampleImplicitLod 186 194 - 196: 8(float) CompositeExtract 195 0 - Store 153(dist) 196 - 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 199 199 16 16 - 197: 24(ptr) AccessChain 115(shadowCoord) 17 - 200: 8(float) Load 197 - 202: 143(bool) FOrdGreaterThan 200 201 - 203: 8(float) Load 153(dist) - 204: 24(ptr) AccessChain 115(shadowCoord) 27 - 205: 8(float) Load 204 - 206: 143(bool) FOrdLessThan 203 205 - 207: 143(bool) LogicalAnd 202 206 - SelectionMerge 209 None - BranchConditional 207 208 209 - 208: Label - 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 213 213 16 16 - Store 109(shadow) 210 - Branch 209 - 209: Label - Branch 152 - 152: Label - 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 217 217 16 16 - 214: 8(float) Load 109(shadow) - ReturnValue 214 + 138: 24(ptr) AccessChain 117(shadowCoord) 44 + 139: 8(float) CompositeExtract 135 1 + Store 138 139 + 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 142 142 16 16 + 140: 24(ptr) AccessChain 117(shadowCoord) 27 + 143: 8(float) Load 140 + 148: 145(bool) FOrdGreaterThan 143 144 + 149: 24(ptr) AccessChain 117(shadowCoord) 27 + 150: 8(float) Load 149 + 151: 145(bool) FOrdLessThan 150 116 + 152: 145(bool) LogicalAnd 148 151 + SelectionMerge 154 None + BranchConditional 152 153 154 + 153: Label + 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 155 + 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 159 159 16 16 + 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 157 156(dist) 49 + 174: 163 Load 170(textureShadowMap) + 184: 175 Load 181(samplerShadowMap) + 189: 185 SampledImage 174 184 + 190: 18(fvec4) Load 117(shadowCoord) + 191: 26(fvec2) VectorShuffle 190 190 0 1 + 192: 26(fvec2) Load 35(offset) + 193: 26(fvec2) FAdd 191 192 + 194: 8(float) Load 34(layer) + 195: 8(float) CompositeExtract 193 0 + 196: 8(float) CompositeExtract 193 1 + 197: 74(fvec3) CompositeConstruct 195 196 194 + 198: 18(fvec4) ImageSampleImplicitLod 189 197 + 199: 8(float) CompositeExtract 198 0 + Store 156(dist) 199 + 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 202 202 16 16 + 200: 24(ptr) AccessChain 117(shadowCoord) 17 + 203: 8(float) Load 200 + 205: 145(bool) FOrdGreaterThan 203 204 + 206: 8(float) Load 156(dist) + 207: 24(ptr) AccessChain 117(shadowCoord) 27 + 208: 8(float) Load 207 + 209: 145(bool) FOrdLessThan 206 208 + 210: 145(bool) LogicalAnd 205 209 + SelectionMerge 212 None + BranchConditional 210 211 212 + 211: Label + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 213 + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 217 217 16 16 + Store 110(shadow) 214 + Branch 212 + 212: Label + Branch 154 + 154: Label + 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 109 + 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 221 221 16 16 + 218: 8(float) Load 110(shadow) + ReturnValue 218 FunctionEnd 62(filterPCF(vf4;f1;): 8(float) Function None 58 60(sc): 21(ptr) FunctionParameter 61(layer): 24(ptr) FunctionParameter 63: Label -227(sizeQueryTemp): 225(ptr) Variable Function - 242(texDim): 240(ptr) Variable Function - 258(elements): 251(ptr) Variable Function - 265(levels): 251(ptr) Variable Function - 272(scale): 24(ptr) Variable Function - 279(dx): 24(ptr) Variable Function - 291(dy): 24(ptr) Variable Function -303(shadowFactor): 24(ptr) Variable Function - 309(count): 251(ptr) Variable Function - 316(range): 251(ptr) Variable Function - 323(x): 251(ptr) Variable Function - 343(y): 251(ptr) Variable Function - 376(param): 21(ptr) Variable Function - 378(param): 24(ptr) Variable Function - 380(param): 29(ptr) Variable Function + 235(texDim): 233(ptr) Variable Function + 244(elements): 242(ptr) Variable Function + 248(levels): 242(ptr) Variable Function +256(sizeQueryTemp): 254(ptr) Variable Function + 280(scale): 24(ptr) Variable Function + 287(dx): 24(ptr) Variable Function + 299(dy): 24(ptr) Variable Function +311(shadowFactor): 24(ptr) Variable Function + 317(count): 242(ptr) Variable Function + 324(range): 242(ptr) Variable Function + 334(x): 242(ptr) Variable Function + 358(y): 242(ptr) Variable Function + 391(param): 21(ptr) Variable Function + 393(param): 24(ptr) Variable Function + 395(param): 29(ptr) Variable Function 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 66 66 16 16 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 67 60(sc) 49 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 72 61(layer) 49 - 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 230 230 16 16 - 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 228 227(sizeQueryTemp) 49 - 233: 160 Load 167(textureShadowMap) - 234: 223(ivec3) ImageQuerySizeLod 233 16 - Store 227(sizeQueryTemp) 234 - 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 243 242(texDim) 49 - 248: 246(ptr) AccessChain 227(sizeQueryTemp) 16 - 249: 11(int) Load 248 - 250: 235(int) Bitcast 249 - 253: 251(ptr) AccessChain 242(texDim) 16 - Store 253 250 - 254: 246(ptr) AccessChain 227(sizeQueryTemp) 44 - 255: 11(int) Load 254 - 256: 235(int) Bitcast 255 - 257: 251(ptr) AccessChain 242(texDim) 44 - Store 257 256 - 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 259 258(elements) 49 - 262: 246(ptr) AccessChain 227(sizeQueryTemp) 27 - 263: 11(int) Load 262 - 264: 235(int) Bitcast 263 - Store 258(elements) 264 - 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 266 265(levels) 49 - 269: 160 Load 167(textureShadowMap) - 270: 11(int) ImageQueryLevels 269 - 271: 235(int) Bitcast 270 - Store 265(levels) 271 - 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 275 275 16 16 - 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 273 272(scale) 49 - Store 272(scale) 278 - 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 282 282 16 16 - 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 280 279(dx) 49 - 285: 8(float) Load 272(scale) - 286: 8(float) FMul 285 114 - 287: 251(ptr) AccessChain 242(texDim) 16 - 288: 235(int) Load 287 - 289: 8(float) ConvertSToF 288 - 290: 8(float) FDiv 286 289 - Store 279(dx) 290 - 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 294 294 16 16 - 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 292 291(dy) 49 - 297: 8(float) Load 272(scale) - 298: 8(float) FMul 297 114 - 299: 251(ptr) AccessChain 242(texDim) 44 - 300: 235(int) Load 299 - 301: 8(float) ConvertSToF 300 - 302: 8(float) FDiv 298 301 - Store 291(dy) 302 - 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 306 306 16 16 - 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 304 303(shadowFactor) 49 - Store 303(shadowFactor) 201 - 314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 312 312 16 16 - 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 310 309(count) 49 - Store 309(count) 315 - 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 319 319 16 16 - 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 317 316(range) 49 - Store 316(range) 322 - 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 326 326 16 16 - 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 324 323(x) 49 - 329: 235(int) Load 316(range) - 330: 235(int) SNegate 329 - Store 323(x) 330 - Branch 331 - 331: Label - 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 326 326 16 16 - LoopMerge 333 334 None - Branch 337 - 337: Label - 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 326 326 16 16 - 338: 235(int) Load 323(x) - 341: 235(int) Load 316(range) - 342: 143(bool) SLessThanEqual 338 341 - BranchConditional 342 332 333 - 332: Label - 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 346 346 16 16 - 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 344 343(y) 49 - 350: 235(int) Load 316(range) - 351: 235(int) SNegate 350 - Store 343(y) 351 - Branch 352 - 352: Label - 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 346 346 16 16 - LoopMerge 354 355 None - Branch 358 - 358: Label - 360: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 346 346 16 16 - 359: 235(int) Load 343(y) - 362: 235(int) Load 316(range) - 363: 143(bool) SLessThanEqual 359 362 - BranchConditional 363 353 354 - 353: Label - 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 367 367 16 16 - 364: 8(float) Load 279(dx) - 368: 235(int) Load 323(x) - 369: 8(float) ConvertSToF 368 - 370: 8(float) FMul 364 369 - 371: 8(float) Load 291(dy) - 372: 235(int) Load 343(y) - 373: 8(float) ConvertSToF 372 - 374: 8(float) FMul 371 373 - 375: 26(fvec2) CompositeConstruct 370 374 - 377: 18(fvec4) Load 60(sc) - Store 376(param) 377 - 379: 8(float) Load 61(layer) - Store 378(param) 379 - Store 380(param) 375 - 381: 8(float) FunctionCall 36(textureProj(vf4;f1;vf2;) 376(param) 378(param) 380(param) - 382: 8(float) Load 303(shadowFactor) - 383: 8(float) FAdd 382 381 - Store 303(shadowFactor) 383 - 385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 386 386 16 16 - 384: 235(int) Load 309(count) - 387: 235(int) IAdd 384 322 - Store 309(count) 387 - Branch 355 - 355: Label - 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 346 346 16 16 - 388: 235(int) Load 343(y) - 391: 235(int) IAdd 388 322 - Store 343(y) 391 - Branch 352 - 354: Label - Branch 334 - 334: Label - 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 326 326 16 16 - 392: 235(int) Load 323(x) - 395: 235(int) IAdd 392 322 - Store 323(x) 395 - Branch 331 - 333: Label - 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 399 399 16 16 - 396: 8(float) Load 303(shadowFactor) - 400: 235(int) Load 309(count) - 401: 8(float) ConvertSToF 400 - 402: 8(float) FDiv 396 401 - ReturnValue 402 + 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 227 + 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 238 238 16 16 + 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 236 235(texDim) 49 + 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 245 244(elements) 49 + 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 249 248(levels) 49 + 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 259 259 16 16 + 260: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 257 256(sizeQueryTemp) 49 + 262: 163 Load 170(textureShadowMap) + 263: 252(ivec3) ImageQuerySizeLod 262 16 + Store 256(sizeQueryTemp) 263 + 266: 264(ptr) AccessChain 256(sizeQueryTemp) 16 + 267: 11(int) Load 266 + 268: 228(int) Bitcast 267 + 269: 242(ptr) AccessChain 235(texDim) 16 + Store 269 268 + 270: 264(ptr) AccessChain 256(sizeQueryTemp) 44 + 271: 11(int) Load 270 + 272: 228(int) Bitcast 271 + 273: 242(ptr) AccessChain 235(texDim) 44 + Store 273 272 + 274: 264(ptr) AccessChain 256(sizeQueryTemp) 27 + 275: 11(int) Load 274 + 276: 228(int) Bitcast 275 + Store 244(elements) 276 + 277: 163 Load 170(textureShadowMap) + 278: 11(int) ImageQueryLevels 277 + 279: 228(int) Bitcast 278 + Store 248(levels) 279 + 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 283 283 16 16 + 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 281 280(scale) 49 + Store 280(scale) 286 + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 290 290 16 16 + 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 288 287(dx) 49 + 293: 8(float) Load 280(scale) + 294: 8(float) FMul 293 116 + 295: 242(ptr) AccessChain 235(texDim) 16 + 296: 228(int) Load 295 + 297: 8(float) ConvertSToF 296 + 298: 8(float) FDiv 294 297 + Store 287(dx) 298 + 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 302 302 16 16 + 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 300 299(dy) 49 + 305: 8(float) Load 280(scale) + 306: 8(float) FMul 305 116 + 307: 242(ptr) AccessChain 235(texDim) 44 + 308: 228(int) Load 307 + 309: 8(float) ConvertSToF 308 + 310: 8(float) FDiv 306 309 + Store 299(dy) 310 + 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 314 314 16 16 + 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 312 311(shadowFactor) 49 + Store 311(shadowFactor) 204 + 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 320 320 16 16 + 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 318 317(count) 49 + Store 317(count) 323 + 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 327 327 16 16 + 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 325 324(range) 49 + Store 324(range) 330 + 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 331 + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 332 332 16 16 + 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 335 334(x) 49 + 340: 228(int) Load 324(range) + 341: 228(int) SNegate 340 + Store 334(x) 341 + Branch 342 + 342: Label + 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 331 + 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 332 332 16 16 + LoopMerge 344 345 None + Branch 348 + 348: Label + 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 331 + 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 332 332 16 16 + 349: 228(int) Load 334(x) + 352: 228(int) Load 324(range) + 353: 145(bool) SLessThanEqual 349 352 + BranchConditional 353 343 344 + 343: Label + 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 355 + 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 356 356 16 16 + 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 359 358(y) 49 + 364: 228(int) Load 324(range) + 365: 228(int) SNegate 364 + Store 358(y) 365 + Branch 366 + 366: Label + 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 355 + 371: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 356 356 16 16 + LoopMerge 368 369 None + Branch 372 + 372: Label + 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 355 + 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 356 356 16 16 + 373: 228(int) Load 358(y) + 376: 228(int) Load 324(range) + 377: 145(bool) SLessThanEqual 373 376 + BranchConditional 377 367 368 + 367: Label + 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 378 + 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 382 382 16 16 + 379: 8(float) Load 287(dx) + 383: 228(int) Load 334(x) + 384: 8(float) ConvertSToF 383 + 385: 8(float) FMul 379 384 + 386: 8(float) Load 299(dy) + 387: 228(int) Load 358(y) + 388: 8(float) ConvertSToF 387 + 389: 8(float) FMul 386 388 + 390: 26(fvec2) CompositeConstruct 385 389 + 392: 18(fvec4) Load 60(sc) + Store 391(param) 392 + 394: 8(float) Load 61(layer) + Store 393(param) 394 + Store 395(param) 390 + 396: 8(float) FunctionCall 36(textureProj(vf4;f1;vf2;) 391(param) 393(param) 395(param) + 397: 8(float) Load 311(shadowFactor) + 398: 8(float) FAdd 397 396 + Store 311(shadowFactor) 398 + 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 401 401 16 16 + 399: 228(int) Load 317(count) + 402: 228(int) IAdd 399 330 + Store 317(count) 402 + Branch 369 + 369: Label + 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 355 + 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 356 356 16 16 + 403: 228(int) Load 358(y) + 406: 228(int) IAdd 403 330 + Store 358(y) 406 + Branch 366 + 368: Label + Branch 345 + 345: Label + 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 331 + 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 332 332 16 16 + 407: 228(int) Load 334(x) + 410: 228(int) IAdd 407 330 + Store 334(x) 410 + Branch 342 + 344: Label + 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 227 + 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 414 414 16 16 + 411: 8(float) Load 311(shadowFactor) + 415: 228(int) Load 317(count) + 416: 8(float) ConvertSToF 415 + 417: 8(float) FDiv 411 416 + ReturnValue 417 FunctionEnd 82(shadow(vf3;vf3;): 74(fvec3) Function None 78 80(fragcolor): 76(ptr) FunctionParameter 81(fragPos): 76(ptr) FunctionParameter 83: Label - 408(i): 251(ptr) Variable Function - 426(shadowClip): 21(ptr) Variable Function -484(shadowFactor): 24(ptr) Variable Function - 491(param): 21(ptr) Variable Function - 493(param): 24(ptr) Variable Function + 426(i): 242(ptr) Variable Function + 445(shadowClip): 21(ptr) Variable Function +504(shadowFactor): 24(ptr) Variable Function + 513(param): 21(ptr) Variable Function + 515(param): 24(ptr) Variable Function 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 86 86 16 16 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 80(fragcolor) 49 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 81(fragPos) 49 - 407: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) - 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 411 411 16 16 - 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 409 408(i) 49 - Store 408(i) 315 - Branch 414 - 414: Label - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 411 411 16 16 - LoopMerge 416 417 None - Branch 420 - 420: Label - 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 411 411 16 16 - 421: 235(int) Load 408(i) - 425: 143(bool) SLessThan 421 424 - BranchConditional 425 415 416 - 415: Label - 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 432: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 429 429 16 16 - 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 427 426(shadowClip) 49 - 433: 74(fvec3) Load 81(fragPos) - 434: 8(float) CompositeExtract 433 0 - 435: 8(float) CompositeExtract 433 1 - 436: 8(float) CompositeExtract 433 2 - 437: 18(fvec4) CompositeConstruct 434 435 436 114 - 478: 235(int) Load 408(i) - 481: 479(ptr) AccessChain 476 315 322 478 424 - 482: 438 Load 481 - 483: 18(fvec4) VectorTimesMatrix 437 482 - Store 426(shadowClip) 483 - 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 486 486 16 16 - 487: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 485 484(shadowFactor) 49 - 489: 235(int) Load 408(i) - 490: 8(float) ConvertSToF 489 - 492: 18(fvec4) Load 426(shadowClip) - Store 491(param) 492 - Store 493(param) 490 - 494: 8(float) FunctionCall 62(filterPCF(vf4;f1;) 491(param) 493(param) - Store 484(shadowFactor) 494 - 496: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 497 497 16 16 - 495: 8(float) Load 484(shadowFactor) - 498: 74(fvec3) Load 80(fragcolor) - 499: 74(fvec3) VectorTimesScalar 498 495 - Store 80(fragcolor) 499 - Branch 417 - 417: Label - 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 411 411 16 16 - 500: 235(int) Load 408(i) - 503: 235(int) IAdd 500 322 - Store 408(i) 503 - Branch 414 - 416: Label - 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 - 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 507 507 16 16 - 504: 74(fvec3) Load 80(fragcolor) - ReturnValue 504 + 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) + 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 + 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 425 425 16 16 + 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 427 426(i) 49 + Store 426(i) 323 + Branch 432 + 432: Label + 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 + 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 425 425 16 16 + LoopMerge 434 435 None + Branch 438 + 438: Label + 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 + 441: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 425 425 16 16 + 439: 228(int) Load 426(i) + 443: 145(bool) SLessThan 439 442 + BranchConditional 443 433 434 + 433: Label + 450: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 444 + 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 448 448 16 16 + 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 446 445(shadowClip) 49 + 452: 74(fvec3) Load 81(fragPos) + 453: 8(float) CompositeExtract 452 0 + 454: 8(float) CompositeExtract 452 1 + 455: 8(float) CompositeExtract 452 2 + 456: 18(fvec4) CompositeConstruct 453 454 455 116 + 498: 228(int) Load 426(i) + 501: 499(ptr) AccessChain 495 323 330 498 442 + 502: 457 Load 501 + 503: 18(fvec4) VectorTimesMatrix 456 502 + Store 445(shadowClip) 503 + 508: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 506 506 16 16 + 507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 505 504(shadowFactor) 49 + 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 511 511 16 16 + 509: 228(int) Load 426(i) + 512: 8(float) ConvertSToF 509 + 514: 18(fvec4) Load 445(shadowClip) + Store 513(param) 514 + Store 515(param) 512 + 516: 8(float) FunctionCall 62(filterPCF(vf4;f1;) 513(param) 515(param) + Store 504(shadowFactor) 516 + 518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 519 519 16 16 + 517: 8(float) Load 504(shadowFactor) + 520: 74(fvec3) Load 80(fragcolor) + 521: 74(fvec3) VectorTimesScalar 520 517 + Store 80(fragcolor) 521 + Branch 435 + 435: Label + 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 + 524: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 425 425 16 16 + 522: 228(int) Load 426(i) + 525: 228(int) IAdd 522 330 + Store 426(i) 525 + Branch 432 + 434: Label + 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 423 + 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 529 529 16 16 + 526: 74(fvec3) Load 80(fragcolor) + ReturnValue 526 FunctionEnd 98(@main(vf2;): 18(fvec4) Function None 95 97(inUV): 29(ptr) FunctionParameter 99: Label - 513(fragPos): 76(ptr) Variable Function - 537(normal): 76(ptr) Variable Function - 556(albedo): 21(ptr) Variable Function - 594(fragcolor): 76(ptr) Variable Function - 601(param): 76(ptr) Variable Function - 602(param): 76(ptr) Variable Function - 655(N): 76(ptr) Variable Function - 663(i): 251(ptr) Variable Function - 679(L): 76(ptr) Variable Function - 694(dist): 24(ptr) Variable Function - 705(V): 76(ptr) Variable Function -720(lightCosInnerAngle): 24(ptr) Variable Function -727(lightCosOuterAngle): 24(ptr) Variable Function - 734(lightRange): 24(ptr) Variable Function - 741(dir): 76(ptr) Variable Function - 757(cosDir): 24(ptr) Variable Function - 766(spotEffect): 24(ptr) Variable Function -776(heightAttenuation): 24(ptr) Variable Function - 785(NdotL): 24(ptr) Variable Function - 795(diff): 76(ptr) Variable Function - 803(R): 76(ptr) Variable Function - 813(NdotR): 24(ptr) Variable Function - 823(spec): 76(ptr) Variable Function - 870(param): 76(ptr) Variable Function - 875(param): 76(ptr) Variable Function + 536(fragPos): 76(ptr) Variable Function + 561(normal): 76(ptr) Variable Function + 580(albedo): 21(ptr) Variable Function + 598(fragcolor): 76(ptr) Variable Function + 625(param): 76(ptr) Variable Function + 629(param): 76(ptr) Variable Function + 682(N): 76(ptr) Variable Function + 693(i): 242(ptr) Variable Function + 710(L): 76(ptr) Variable Function + 725(dist): 24(ptr) Variable Function + 736(V): 76(ptr) Variable Function +751(lightCosInnerAngle): 24(ptr) Variable Function +758(lightCosOuterAngle): 24(ptr) Variable Function + 765(lightRange): 24(ptr) Variable Function + 772(dir): 76(ptr) Variable Function + 788(cosDir): 24(ptr) Variable Function + 797(spotEffect): 24(ptr) Variable Function +807(heightAttenuation): 24(ptr) Variable Function + 816(NdotL): 24(ptr) Variable Function + 826(diff): 76(ptr) Variable Function + 834(R): 76(ptr) Variable Function + 844(NdotR): 24(ptr) Variable Function + 854(spec): 76(ptr) Variable Function + 902(param): 76(ptr) Variable Function + 907(param): 76(ptr) Variable Function 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 102 102 16 16 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 103 97(inUV) 49 - 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 101 98(@main(vf2;) - 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 515 515 16 16 - 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 514 513(fragPos) 49 - 525: 518 Load 522(textureposition) - 530: 172 Load 527(samplerposition) - 533: 531 SampledImage 525 530 - 534: 26(fvec2) Load 97(inUV) - 535: 18(fvec4) ImageSampleImplicitLod 533 534 - 536: 74(fvec3) VectorShuffle 535 535 0 1 2 - Store 513(fragPos) 536 - 542: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 540 540 16 16 - 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 538 537(normal) 49 - 546: 518 Load 543(textureNormal) - 551: 172 Load 548(samplerNormal) - 552: 531 SampledImage 546 551 - 553: 26(fvec2) Load 97(inUV) - 554: 18(fvec4) ImageSampleImplicitLod 552 553 - 555: 74(fvec3) VectorShuffle 554 554 0 1 2 - Store 537(normal) 555 - 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 559 559 16 16 - 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 557 556(albedo) 49 - 565: 518 Load 562(textureAlbedo) - 570: 172 Load 567(samplerAlbedo) - 571: 531 SampledImage 565 570 - 572: 26(fvec2) Load 97(inUV) - 573: 18(fvec4) ImageSampleImplicitLod 571 572 - Store 556(albedo) 573 - 577: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 578 578 16 16 - 576: 574(ptr) AccessChain 476 315 424 - 579: 235(int) Load 576 - 580: 143(bool) SGreaterThan 579 315 - SelectionMerge 582 None - BranchConditional 580 581 582 - 581: Label - 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 585: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 586 586 16 16 - 583: 574(ptr) AccessChain 476 315 424 - 587: 235(int) Load 583 - SelectionMerge 593 None - Switch 587 593 - case 1: 588 - case 2: 589 - case 3: 590 - case 4: 591 - case 5: 592 - 588: Label - 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 599: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 596 596 16 16 - 597: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 595 594(fragcolor) 49 - Store 601(param) 600 - 603: 74(fvec3) Load 513(fragPos) - Store 602(param) 603 - 604: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 601(param) 602(param) - Store 594(fragcolor) 604 - 605: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 606 606 16 16 - Branch 593 - 589: Label - 609: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 610: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 611 611 16 16 - 608: 74(fvec3) Load 513(fragPos) - Store 594(fragcolor) 608 - 612: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 613 613 16 16 - Branch 593 - 590: Label - 616: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 617: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 618 618 16 16 - 615: 74(fvec3) Load 537(normal) - Store 594(fragcolor) 615 - 619: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 620 620 16 16 - Branch 593 - 591: Label - 623: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 624: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 625 625 16 16 - 622: 18(fvec4) Load 556(albedo) - 626: 74(fvec3) VectorShuffle 622 622 0 1 2 - Store 594(fragcolor) 626 + 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 101 98(@main(vf2;) + 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 535 + 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 538 538 16 16 + 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 537 536(fragPos) 49 + 549: 542 Load 546(textureposition) + 554: 175 Load 551(samplerposition) + 557: 555 SampledImage 549 554 + 558: 26(fvec2) Load 97(inUV) + 559: 18(fvec4) ImageSampleImplicitLod 557 558 + 560: 74(fvec3) VectorShuffle 559 559 0 1 2 + Store 536(fragPos) 560 + 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 564 564 16 16 + 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 562 561(normal) 49 + 570: 542 Load 567(textureNormal) + 575: 175 Load 572(samplerNormal) + 576: 555 SampledImage 570 575 + 577: 26(fvec2) Load 97(inUV) + 578: 18(fvec4) ImageSampleImplicitLod 576 577 + 579: 74(fvec3) VectorShuffle 578 578 0 1 2 + Store 561(normal) 579 + 585: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 583 583 16 16 + 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 581 580(albedo) 49 + 589: 542 Load 586(textureAlbedo) + 594: 175 Load 591(samplerAlbedo) + 595: 555 SampledImage 589 594 + 596: 26(fvec2) Load 97(inUV) + 597: 18(fvec4) ImageSampleImplicitLod 595 596 + Store 580(albedo) 597 + 602: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 600 600 16 16 + 601: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 599 598(fragcolor) 49 + 606: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 607 607 16 16 + 605: 603(ptr) AccessChain 495 323 442 + 608: 228(int) Load 605 + 609: 145(bool) SGreaterThan 608 323 + SelectionMerge 611 None + BranchConditional 609 610 611 + 610: Label + 614: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 615: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 616 616 16 16 + 613: 603(ptr) AccessChain 495 323 442 + 617: 228(int) Load 613 + SelectionMerge 623 None + Switch 617 623 + case 1: 618 + case 2: 619 + case 3: 620 + case 4: 621 + case 5: 622 + 618: Label + 626: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 627: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 628 628 16 16 - Branch 593 - 592: Label - 631: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + Store 625(param) 624 + 630: 74(fvec3) Load 536(fragPos) + Store 629(param) 630 + 631: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 625(param) 629(param) + Store 598(fragcolor) 631 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 633 633 16 16 - 630: 18(fvec4) Load 556(albedo) - 634: 74(fvec3) VectorShuffle 630 630 3 3 3 - Store 594(fragcolor) 634 - 635: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 636 636 16 16 - Branch 593 - 593: Label - 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 641: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 642 642 16 16 - 639: 74(fvec3) Load 594(fragcolor) - 643: 8(float) CompositeExtract 639 0 - 644: 8(float) CompositeExtract 639 1 - 645: 8(float) CompositeExtract 639 2 - 646: 18(fvec4) CompositeConstruct 643 644 645 114 - ReturnValue 646 - 582: Label - 649: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 650: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 651 651 16 16 - 648: 18(fvec4) Load 556(albedo) - 652: 74(fvec3) VectorShuffle 648 648 0 1 2 - 654: 74(fvec3) VectorTimesScalar 652 653 - Store 594(fragcolor) 654 - 660: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 658 658 16 16 - 659: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 656 655(N) 49 - 661: 74(fvec3) Load 537(normal) - 662: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 661 - Store 655(N) 662 - 667: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 665 665 16 16 - 666: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 664 663(i) 49 - Store 663(i) 315 - Branch 668 - 668: Label - 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 673: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 665 665 16 16 - LoopMerge 670 671 None - Branch 674 - 674: Label - 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 665 665 16 16 - 675: 235(int) Load 663(i) - 678: 143(bool) SLessThan 675 424 - BranchConditional 678 669 670 - 669: Label - 684: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 685: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 682 682 16 16 - 683: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 680 679(L) 49 - 686: 235(int) Load 663(i) - 689: 687(ptr) AccessChain 476 315 322 686 315 - 690: 18(fvec4) Load 689 - 691: 74(fvec3) VectorShuffle 690 690 0 1 2 - 692: 74(fvec3) Load 513(fragPos) - 693: 74(fvec3) FSub 691 692 - Store 679(L) 693 - 698: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 696 696 16 16 - 697: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 695 694(dist) 49 - 699: 74(fvec3) Load 679(L) - 700: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 699 - Store 694(dist) 700 - 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 703 703 16 16 - 701: 74(fvec3) Load 679(L) - 704: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 701 - Store 679(L) 704 - 710: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 708 708 16 16 - 709: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 706 705(V) 49 - 711: 687(ptr) AccessChain 476 315 315 - 712: 18(fvec4) Load 711 - 713: 74(fvec3) VectorShuffle 712 712 0 1 2 - 714: 74(fvec3) Load 513(fragPos) - 715: 74(fvec3) FSub 713 714 - Store 705(V) 715 - 717: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 718 718 16 16 - 716: 74(fvec3) Load 705(V) - 719: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 716 - Store 705(V) 719 - 725: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 723 723 16 16 - 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 721 720(lightCosInnerAngle) 49 - Store 720(lightCosInnerAngle) 726 - 732: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 730 730 16 16 - 731: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 728 727(lightCosOuterAngle) 49 - Store 727(lightCosOuterAngle) 733 - 739: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 737 737 16 16 - 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 735 734(lightRange) 49 - Store 734(lightRange) 740 - 746: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 744 744 16 16 - 745: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 742 741(dir) 49 - 747: 235(int) Load 663(i) - 748: 687(ptr) AccessChain 476 315 322 747 315 - 749: 18(fvec4) Load 748 - 750: 74(fvec3) VectorShuffle 749 749 0 1 2 - 751: 235(int) Load 663(i) - 752: 687(ptr) AccessChain 476 315 322 751 322 - 753: 18(fvec4) Load 752 - 754: 74(fvec3) VectorShuffle 753 753 0 1 2 - 755: 74(fvec3) FSub 750 754 - 756: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 755 - Store 741(dir) 756 - 762: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 760 760 16 16 - 761: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 758 757(cosDir) 49 - 763: 74(fvec3) Load 679(L) - 764: 74(fvec3) Load 741(dir) - 765: 8(float) Dot 763 764 - Store 757(cosDir) 765 - 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 769 769 16 16 - 770: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 767 766(spotEffect) 49 - 772: 8(float) Load 727(lightCosOuterAngle) - 773: 8(float) Load 720(lightCosInnerAngle) - 774: 8(float) Load 757(cosDir) - 775: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 772 773 774 - Store 766(spotEffect) 775 - 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 779 779 16 16 - 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 777 776(heightAttenuation) 49 - 782: 8(float) Load 734(lightRange) - 783: 8(float) Load 694(dist) - 784: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 782 201 783 - Store 776(heightAttenuation) 784 - 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 788 788 16 16 - 789: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 786 785(NdotL) 49 - 791: 74(fvec3) Load 655(N) - 792: 74(fvec3) Load 679(L) - 793: 8(float) Dot 791 792 - 794: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 201 793 - Store 785(NdotL) 794 - 800: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 798 798 16 16 - 799: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 796 795(diff) 49 - 801: 8(float) Load 785(NdotL) - 802: 74(fvec3) CompositeConstruct 801 801 801 - Store 795(diff) 802 - 808: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 806 806 16 16 - 807: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 804 803(R) 49 - 809: 74(fvec3) Load 679(L) - 810: 74(fvec3) FNegate 809 - 811: 74(fvec3) Load 655(N) - 812: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 810 811 - Store 803(R) 812 - 818: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 816 816 16 16 - 817: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 814 813(NdotR) 49 - 819: 74(fvec3) Load 803(R) - 820: 74(fvec3) Load 705(V) - 821: 8(float) Dot 819 820 - 822: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 201 821 - Store 813(NdotR) 822 - 828: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 826 826 16 16 - 827: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 824 823(spec) 49 - 829: 8(float) Load 813(NdotR) - 831: 8(float) ExtInst 3(GLSL.std.450) 26(Pow) 829 830 - 832: 24(ptr) AccessChain 556(albedo) 17 - 833: 8(float) Load 832 - 834: 8(float) FMul 831 833 - 836: 8(float) FMul 834 835 - 837: 74(fvec3) CompositeConstruct 836 836 836 - Store 823(spec) 837 - 839: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 840 840 16 16 - 838: 74(fvec3) Load 795(diff) - 841: 74(fvec3) Load 823(spec) - 842: 74(fvec3) FAdd 838 841 - 843: 8(float) Load 766(spotEffect) - 844: 74(fvec3) VectorTimesScalar 842 843 - 845: 8(float) Load 776(heightAttenuation) - 846: 74(fvec3) VectorTimesScalar 844 845 - 847: 235(int) Load 663(i) - 849: 687(ptr) AccessChain 476 315 322 847 848 - 850: 18(fvec4) Load 849 - 851: 74(fvec3) VectorShuffle 850 850 0 1 2 - 852: 74(fvec3) FMul 846 851 - 853: 18(fvec4) Load 556(albedo) - 854: 74(fvec3) VectorShuffle 853 853 0 1 2 - 855: 74(fvec3) FMul 852 854 - 856: 74(fvec3) Load 594(fragcolor) - 857: 74(fvec3) FAdd 856 855 - Store 594(fragcolor) 857 - Branch 671 - 671: Label - 859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 665 665 16 16 - 858: 235(int) Load 663(i) - 861: 235(int) IAdd 858 322 - Store 663(i) 861 - Branch 668 - 670: Label - 863: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 865 865 16 16 - 862: 574(ptr) AccessChain 476 315 848 - 866: 235(int) Load 862 - 867: 143(bool) SGreaterThan 866 315 - SelectionMerge 869 None - BranchConditional 867 868 869 - 868: Label - 872: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 873: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 874 874 16 16 - 871: 74(fvec3) Load 594(fragcolor) - Store 870(param) 871 - 876: 74(fvec3) Load 513(fragPos) - Store 875(param) 876 - 877: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 870(param) 875(param) - Store 594(fragcolor) 877 - Branch 869 - 869: Label - 879: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 - 880: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 881 881 16 16 - 878: 74(fvec3) Load 594(fragcolor) - 882: 8(float) CompositeExtract 878 0 - 883: 8(float) CompositeExtract 878 1 - 884: 8(float) CompositeExtract 878 2 - 885: 18(fvec4) CompositeConstruct 882 883 884 114 - ReturnValue 885 + Branch 623 + 619: Label + 636: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 638 638 16 16 + 635: 74(fvec3) Load 536(fragPos) + Store 598(fragcolor) 635 + 639: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 640 640 16 16 + Branch 623 + 620: Label + 643: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 645 645 16 16 + 642: 74(fvec3) Load 561(normal) + Store 598(fragcolor) 642 + 646: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 647 647 16 16 + Branch 623 + 621: Label + 650: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 651: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 652 652 16 16 + 649: 18(fvec4) Load 580(albedo) + 653: 74(fvec3) VectorShuffle 649 649 0 1 2 + Store 598(fragcolor) 653 + 654: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 655 655 16 16 + Branch 623 + 622: Label + 658: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 659: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 660 660 16 16 + 657: 18(fvec4) Load 580(albedo) + 661: 74(fvec3) VectorShuffle 657 657 3 3 3 + Store 598(fragcolor) 661 + 662: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 663 663 16 16 + Branch 623 + 623: Label + 667: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 668: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 669 669 16 16 + 666: 74(fvec3) Load 598(fragcolor) + 670: 8(float) CompositeExtract 666 0 + 671: 8(float) CompositeExtract 666 1 + 672: 8(float) CompositeExtract 666 2 + 673: 18(fvec4) CompositeConstruct 670 671 672 116 + ReturnValue 673 + 611: Label + 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 535 + 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 678 678 16 16 + 675: 18(fvec4) Load 580(albedo) + 679: 74(fvec3) VectorShuffle 675 675 0 1 2 + 681: 74(fvec3) VectorTimesScalar 679 680 + Store 598(fragcolor) 681 + 687: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 685 685 16 16 + 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 683 682(N) 49 + 688: 74(fvec3) Load 561(normal) + 689: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 688 + Store 682(N) 689 + 696: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 690 + 697: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 691 691 16 16 + 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 694 693(i) 49 + Store 693(i) 323 + Branch 698 + 698: Label + 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 690 + 703: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 691 691 16 16 + LoopMerge 700 701 None + Branch 704 + 704: Label + 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 690 + 707: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 691 691 16 16 + 705: 228(int) Load 693(i) + 708: 145(bool) SLessThan 705 442 + BranchConditional 708 699 700 + 699: Label + 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 709 + 716: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 713 713 16 16 + 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 711 710(L) 49 + 717: 228(int) Load 693(i) + 720: 718(ptr) AccessChain 495 323 330 717 323 + 721: 18(fvec4) Load 720 + 722: 74(fvec3) VectorShuffle 721 721 0 1 2 + 723: 74(fvec3) Load 536(fragPos) + 724: 74(fvec3) FSub 722 723 + Store 710(L) 724 + 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 727 727 16 16 + 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 726 725(dist) 49 + 730: 74(fvec3) Load 710(L) + 731: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 730 + Store 725(dist) 731 + 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 734 734 16 16 + 732: 74(fvec3) Load 710(L) + 735: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 732 + Store 710(L) 735 + 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 739 739 16 16 + 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 737 736(V) 49 + 742: 718(ptr) AccessChain 495 323 323 + 743: 18(fvec4) Load 742 + 744: 74(fvec3) VectorShuffle 743 743 0 1 2 + 745: 74(fvec3) Load 536(fragPos) + 746: 74(fvec3) FSub 744 745 + Store 736(V) 746 + 748: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 749 749 16 16 + 747: 74(fvec3) Load 736(V) + 750: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 747 + Store 736(V) 750 + 756: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 754 754 16 16 + 755: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 752 751(lightCosInnerAngle) 49 + Store 751(lightCosInnerAngle) 757 + 763: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 761 761 16 16 + 762: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 759 758(lightCosOuterAngle) 49 + Store 758(lightCosOuterAngle) 764 + 770: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 768 768 16 16 + 769: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 766 765(lightRange) 49 + Store 765(lightRange) 771 + 777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 775 775 16 16 + 776: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 773 772(dir) 49 + 778: 228(int) Load 693(i) + 779: 718(ptr) AccessChain 495 323 330 778 323 + 780: 18(fvec4) Load 779 + 781: 74(fvec3) VectorShuffle 780 780 0 1 2 + 782: 228(int) Load 693(i) + 783: 718(ptr) AccessChain 495 323 330 782 330 + 784: 18(fvec4) Load 783 + 785: 74(fvec3) VectorShuffle 784 784 0 1 2 + 786: 74(fvec3) FSub 781 785 + 787: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 786 + Store 772(dir) 787 + 793: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 791 791 16 16 + 792: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 789 788(cosDir) 49 + 794: 74(fvec3) Load 710(L) + 795: 74(fvec3) Load 772(dir) + 796: 8(float) Dot 794 795 + Store 788(cosDir) 796 + 802: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 800 800 16 16 + 801: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 798 797(spotEffect) 49 + 803: 8(float) Load 758(lightCosOuterAngle) + 804: 8(float) Load 751(lightCosInnerAngle) + 805: 8(float) Load 788(cosDir) + 806: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 803 804 805 + Store 797(spotEffect) 806 + 812: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 810 810 16 16 + 811: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 808 807(heightAttenuation) 49 + 813: 8(float) Load 765(lightRange) + 814: 8(float) Load 725(dist) + 815: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 813 204 814 + Store 807(heightAttenuation) 815 + 821: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 819 819 16 16 + 820: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 817 816(NdotL) 49 + 822: 74(fvec3) Load 682(N) + 823: 74(fvec3) Load 710(L) + 824: 8(float) Dot 822 823 + 825: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 204 824 + Store 816(NdotL) 825 + 831: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 829 829 16 16 + 830: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 827 826(diff) 49 + 832: 8(float) Load 816(NdotL) + 833: 74(fvec3) CompositeConstruct 832 832 832 + Store 826(diff) 833 + 839: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 837 837 16 16 + 838: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 835 834(R) 49 + 840: 74(fvec3) Load 710(L) + 841: 74(fvec3) FNegate 840 + 842: 74(fvec3) Load 682(N) + 843: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 841 842 + Store 834(R) 843 + 849: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 847 847 16 16 + 848: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 845 844(NdotR) 49 + 850: 74(fvec3) Load 834(R) + 851: 74(fvec3) Load 736(V) + 852: 8(float) Dot 850 851 + 853: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 204 852 + Store 844(NdotR) 853 + 859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 857 857 16 16 + 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 855 854(spec) 49 + 860: 8(float) Load 844(NdotR) + 862: 8(float) ExtInst 3(GLSL.std.450) 26(Pow) 860 861 + 863: 24(ptr) AccessChain 580(albedo) 17 + 864: 8(float) Load 863 + 865: 8(float) FMul 862 864 + 867: 8(float) FMul 865 866 + 868: 74(fvec3) CompositeConstruct 867 867 867 + Store 854(spec) 868 + 870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 871 871 16 16 + 869: 74(fvec3) Load 826(diff) + 872: 74(fvec3) Load 854(spec) + 873: 74(fvec3) FAdd 869 872 + 874: 8(float) Load 797(spotEffect) + 875: 74(fvec3) VectorTimesScalar 873 874 + 876: 8(float) Load 807(heightAttenuation) + 877: 74(fvec3) VectorTimesScalar 875 876 + 878: 228(int) Load 693(i) + 880: 718(ptr) AccessChain 495 323 330 878 879 + 881: 18(fvec4) Load 880 + 882: 74(fvec3) VectorShuffle 881 881 0 1 2 + 883: 74(fvec3) FMul 877 882 + 884: 18(fvec4) Load 580(albedo) + 885: 74(fvec3) VectorShuffle 884 884 0 1 2 + 886: 74(fvec3) FMul 883 885 + 887: 74(fvec3) Load 598(fragcolor) + 888: 74(fvec3) FAdd 887 886 + Store 598(fragcolor) 888 + Branch 701 + 701: Label + 890: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 690 + 891: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 691 691 16 16 + 889: 228(int) Load 693(i) + 892: 228(int) IAdd 889 330 + Store 693(i) 892 + Branch 698 + 700: Label + 894: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 535 + 895: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 896 896 16 16 + 893: 603(ptr) AccessChain 495 323 879 + 897: 228(int) Load 893 + 898: 145(bool) SGreaterThan 897 323 + SelectionMerge 900 None + BranchConditional 898 899 900 + 899: Label + 904: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 901 + 905: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 906 906 16 16 + 903: 74(fvec3) Load 598(fragcolor) + Store 902(param) 903 + 908: 74(fvec3) Load 536(fragPos) + Store 907(param) 908 + 909: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 902(param) 907(param) + Store 598(fragcolor) 909 + Branch 900 + 900: Label + 911: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 535 + 912: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 913 913 16 16 + 910: 74(fvec3) Load 598(fragcolor) + 914: 8(float) CompositeExtract 910 0 + 915: 8(float) CompositeExtract 910 1 + 916: 8(float) CompositeExtract 910 2 + 917: 18(fvec4) CompositeConstruct 914 915 916 116 + ReturnValue 917 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.geom.out b/Test/baseResults/spv.debuginfo.hlsl.geom.out index 3c094d35..f4503bad 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.geom.out +++ b/Test/baseResults/spv.debuginfo.hlsl.geom.out @@ -1,7 +1,7 @@ spv.debuginfo.hlsl.geom // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 366 +// Id's are bound by 373 Capability Geometry Capability MultiViewport @@ -9,12 +9,12 @@ spv.debuginfo.hlsl.geom 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 6 "main" 264 273 278 285 290 295 300 315 322 327 351 354 + EntryPoint Geometry 6 "main" 270 279 284 291 296 301 306 322 329 334 358 361 ExecutionMode 6 Triangles ExecutionMode 6 Invocations 2 ExecutionMode 6 OutputTriangleStrip ExecutionMode 6 OutputVertices 3 - 2: String "" + 2: String "spv.debuginfo.hlsl.geom" 9: String "float" 12: String "uint" 25: String "Pos" @@ -26,6 +26,85 @@ spv.debuginfo.hlsl.geom // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 +/* +The MIT License (MIT) + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +struct UBO +{ + float4x4 projection[2]; + float4x4 modelview[2]; + float4 lightPos; +}; + +cbuffer ubo : register(b0) { UBO ubo; } + +struct VSOutput +{ + float4 Pos : SV_POSITION; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float3 Color : COLOR0; +}; + +struct GSOutput +{ + float4 Pos : SV_POSITION; + uint ViewportIndex : SV_ViewportArrayIndex; + uint PrimitiveID : SV_PrimitiveID; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float3 Color : COLOR0; +[[vk::location(2)]] float3 ViewVec : TEXCOOR1; +[[vk::location(3)]] float3 LightVec : TEXCOOR2; +}; + +[maxvertexcount(3)] +[instance(2)] +void main(triangle VSOutput input[3], inout TriangleStream outStream, uint InvocationID : SV_GSInstanceID, uint PrimitiveID : SV_PrimitiveID) +{ + for(int i = 0; i < 3; i++) + { + GSOutput output = (GSOutput)0; + output.Normal = mul((float3x3)ubo.modelview[InvocationID], input[i].Normal); + output.Color = input[i].Color; + + float4 pos = input[i].Pos; + float4 worldPos = mul(ubo.modelview[InvocationID], pos); + + float3 lPos = mul(ubo.modelview[InvocationID], ubo.lightPos).xyz; + output.LightVec = lPos - worldPos.xyz; + output.ViewVec = -worldPos.xyz; + + output.Pos = mul(ubo.projection[InvocationID], worldPos); + + // Set the viewport index that the vertex will be emitted to + output.ViewportIndex = InvocationID; + output.PrimitiveID = PrimitiveID; + outStream.Append( output ); + } + + outStream.RestartStrip(); +} " 31: String "Color" 36: String "VSOutput" @@ -36,25 +115,26 @@ spv.debuginfo.hlsl.geom 77: String "input" 83: String "outStream" 87: String "InvocationID" - 93: String "int" - 99: String "i" - 116: String "bool" - 121: String "output" - 147: String "projection" - 151: String "modelview" - 155: String "lightPos" - 159: String "UBO" - 162: String "ubo" - 198: String "pos" - 207: String "worldPos" - 218: String "lPos" - 266: String "outStream.Pos" - 275: String "outStream.ViewportIndex" - 280: String "outStream.PrimitiveID" - 287: String "outStream.Normal" - 292: String "outStream.Color" - 297: String "outStream.ViewVec" - 302: String "outStream.LightVec" + 97: String "int" + 103: String "i" + 120: String "bool" + 126: String "output" + 152: String "projection" + 156: String "modelview" + 160: String "lightPos" + 164: String "UBO" + 167: String "ubo" + 174: String "" + 204: String "pos" + 213: String "worldPos" + 224: String "lPos" + 272: String "outStream.Pos" + 281: String "outStream.ViewportIndex" + 286: String "outStream.PrimitiveID" + 293: String "outStream.Normal" + 298: String "outStream.Color" + 303: String "outStream.ViewVec" + 308: String "outStream.LightVec" Name 6 "main" Name 23 "VSOutput" MemberName 23(VSOutput) 0 "Pos" @@ -73,63 +153,63 @@ spv.debuginfo.hlsl.geom Name 69 "outStream" Name 70 "InvocationID" Name 71 "PrimitiveID" - Name 97 "i" - Name 119 "output" - Name 145 "UBO" - MemberName 145(UBO) 0 "projection" - MemberName 145(UBO) 1 "modelview" - MemberName 145(UBO) 2 "lightPos" - Name 160 "ubo" - MemberName 160(ubo) 0 "ubo" - Name 167 "" - Name 196 "pos" - Name 205 "worldPos" - Name 216 "lPos" - Name 264 "outStream.Pos" - Name 273 "outStream.ViewportIndex" - Name 278 "outStream.PrimitiveID" - Name 285 "outStream.Normal" - Name 290 "outStream.Color" - Name 295 "outStream.ViewVec" - Name 300 "outStream.LightVec" - Name 312 "input" - Name 315 "input.Pos" - Name 322 "input.Normal" - Name 327 "input.Color" - Name 349 "InvocationID" - Name 351 "InvocationID" - Name 353 "PrimitiveID" - Name 354 "PrimitiveID" - Name 356 "outStream" - Name 357 "param" - Name 359 "param" - Name 360 "param" - Name 362 "param" - Decorate 141 ArrayStride 64 - Decorate 143 ArrayStride 64 - MemberDecorate 145(UBO) 0 RowMajor - MemberDecorate 145(UBO) 0 MatrixStride 16 - MemberDecorate 145(UBO) 0 Offset 0 - MemberDecorate 145(UBO) 1 RowMajor - MemberDecorate 145(UBO) 1 MatrixStride 16 - MemberDecorate 145(UBO) 1 Offset 128 - MemberDecorate 145(UBO) 2 Offset 256 - Decorate 160(ubo) Block - MemberDecorate 160(ubo) 0 Offset 0 - Decorate 167 Binding 0 - Decorate 167 DescriptorSet 0 - Decorate 264(outStream.Pos) BuiltIn Position - Decorate 273(outStream.ViewportIndex) BuiltIn ViewportIndex - Decorate 278(outStream.PrimitiveID) BuiltIn PrimitiveId - Decorate 285(outStream.Normal) Location 0 - Decorate 290(outStream.Color) Location 1 - Decorate 295(outStream.ViewVec) Location 2 - Decorate 300(outStream.LightVec) Location 3 - Decorate 315(input.Pos) BuiltIn Position - Decorate 322(input.Normal) Location 0 - Decorate 327(input.Color) Location 1 - Decorate 351(InvocationID) BuiltIn InvocationId - Decorate 354(PrimitiveID) BuiltIn PrimitiveId + Name 101 "i" + Name 124 "output" + Name 150 "UBO" + MemberName 150(UBO) 0 "projection" + MemberName 150(UBO) 1 "modelview" + MemberName 150(UBO) 2 "lightPos" + Name 165 "ubo" + MemberName 165(ubo) 0 "ubo" + Name 172 "" + Name 202 "pos" + Name 211 "worldPos" + Name 222 "lPos" + Name 270 "outStream.Pos" + Name 279 "outStream.ViewportIndex" + Name 284 "outStream.PrimitiveID" + Name 291 "outStream.Normal" + Name 296 "outStream.Color" + Name 301 "outStream.ViewVec" + Name 306 "outStream.LightVec" + Name 319 "input" + Name 322 "input.Pos" + Name 329 "input.Normal" + Name 334 "input.Color" + Name 356 "InvocationID" + Name 358 "InvocationID" + Name 360 "PrimitiveID" + Name 361 "PrimitiveID" + Name 363 "outStream" + Name 364 "param" + Name 366 "param" + Name 367 "param" + Name 369 "param" + Decorate 146 ArrayStride 64 + Decorate 148 ArrayStride 64 + MemberDecorate 150(UBO) 0 RowMajor + MemberDecorate 150(UBO) 0 MatrixStride 16 + MemberDecorate 150(UBO) 0 Offset 0 + MemberDecorate 150(UBO) 1 RowMajor + MemberDecorate 150(UBO) 1 MatrixStride 16 + MemberDecorate 150(UBO) 1 Offset 128 + MemberDecorate 150(UBO) 2 Offset 256 + Decorate 165(ubo) Block + MemberDecorate 165(ubo) 0 Offset 0 + Decorate 172 Binding 0 + Decorate 172 DescriptorSet 0 + Decorate 270(outStream.Pos) BuiltIn Position + Decorate 279(outStream.ViewportIndex) BuiltIn ViewportIndex + Decorate 284(outStream.PrimitiveID) BuiltIn PrimitiveId + Decorate 291(outStream.Normal) Location 0 + Decorate 296(outStream.Color) Location 1 + Decorate 301(outStream.ViewVec) Location 2 + Decorate 306(outStream.LightVec) Location 3 + Decorate 322(input.Pos) BuiltIn Position + Decorate 329(input.Normal) Location 0 + Decorate 334(input.Color) Location 1 + Decorate 358(InvocationID) BuiltIn InvocationId + Decorate 361(PrimitiveID) BuiltIn PrimitiveId 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -190,170 +270,174 @@ spv.debuginfo.hlsl.geom 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 60 26 38 16 75 19 84 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 13 26 38 16 75 19 17 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 50 13 26 38 16 75 19 19 - 92: TypeInt 32 1 - 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 93 14 19 16 - 95: TypePointer Function 92(int) - 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 94 44 16 - 100: 11(int) Constant 57 - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 94 26 100 16 75 19 - 103: 92(int) Constant 0 - 114: 92(int) Constant 3 - 115: TypeBool - 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 116 14 84 16 - 122: 11(int) Constant 59 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 121 60 26 122 16 75 19 - 126: 8(float) Constant 0 - 127: 18(fvec4) ConstantComposite 126 126 126 126 - 128: 21(fvec3) ConstantComposite 126 126 126 - 129:46(GSOutput) ConstantComposite 127 16 16 128 128 128 128 - 132: 11(int) Constant 60 - 133: 92(int) Constant 1 - 134: TypePointer Function 21(fvec3) - 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 44 16 - 138: TypeMatrix 18(fvec4) 4 - 140: 115(bool) ConstantTrue - 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 140 - 141: TypeArray 138 84 - 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 139 84 - 143: TypeArray 138 84 - 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 139 84 - 145(UBO): TypeStruct 141 143 18(fvec4) - 148: 11(int) Constant 28 - 149: 11(int) Constant 21 - 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 147 142 26 148 149 16 16 17 - 152: 11(int) Constant 29 - 153: 11(int) Constant 20 - 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 151 144 26 152 153 16 16 17 - 156: 11(int) Constant 30 - 157: 11(int) Constant 17 - 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 155 20 26 156 157 16 16 17 - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 159 37 26 132 16 39 159 16 17 146 150 154 - 160(ubo): TypeStruct 145(UBO) - 163: 11(int) Constant 33 - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 162 158 26 163 28 16 16 17 - 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 37 26 132 16 39 162 16 17 161 - 165: TypePointer Uniform 160(ubo) - 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 164 84 16 - 167: 165(ptr) Variable Uniform - 169: 11(int) Constant 8 - 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 164 26 132 16 39 2 167 169 - 171: TypePointer Uniform 138 - 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 139 84 16 - 175: TypeMatrix 21(fvec3) 3 - 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 22 17 140 - 186: 92(int) Constant 4 - 189: 11(int) Constant 61 - 190: 92(int) Constant 2 - 194: TypePointer Function 18(fvec4) - 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 44 16 - 199: 11(int) Constant 63 - 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 198 20 26 199 16 75 19 - 208: 11(int) Constant 64 - 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 207 20 26 208 16 75 19 - 219: 11(int) Constant 66 - 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 218 22 26 219 16 75 19 - 222: TypePointer Uniform 18(fvec4) - 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 84 16 - 231: 92(int) Constant 6 - 234: 11(int) Constant 67 - 239: 92(int) Constant 5 - 242: 11(int) Constant 68 - 248: 11(int) Constant 70 - 256: 11(int) Constant 73 - 260: 11(int) Constant 74 - 262: TypePointer Output 18(fvec4) - 263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 17 16 -264(outStream.Pos): 262(ptr) Variable Output - 267: 11(int) Constant 75 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 266 20 26 267 16 39 266 264(outStream.Pos) 169 - 271: TypePointer Output 11(int) - 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 17 16 -273(outStream.ViewportIndex): 271(ptr) Variable Output - 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 275 13 26 267 16 39 275 273(outStream.ViewportIndex) 169 -278(outStream.PrimitiveID): 271(ptr) Variable Output - 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 280 13 26 267 16 39 280 278(outStream.PrimitiveID) 169 - 283: TypePointer Output 21(fvec3) - 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 17 16 -285(outStream.Normal): 283(ptr) Variable Output - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 287 22 26 267 16 39 287 285(outStream.Normal) 169 -290(outStream.Color): 283(ptr) Variable Output - 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 292 22 26 267 16 39 292 290(outStream.Color) 169 -295(outStream.ViewVec): 283(ptr) Variable Output - 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 297 22 26 267 16 39 297 295(outStream.ViewVec) 169 -300(outStream.LightVec): 283(ptr) Variable Output - 301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 302 22 26 267 16 39 302 300(outStream.LightVec) 169 - 311: 11(int) Constant 78 - 313: TypeArray 18(fvec4) 17 - 314: TypePointer Input 313 - 315(input.Pos): 314(ptr) Variable Input - 316: TypePointer Input 18(fvec4) - 320: TypeArray 21(fvec3) 17 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 16 16 75 + 94: 11(int) Constant 57 + 95: 11(int) Constant 10 + 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 94 95 92 + 96: TypeInt 32 1 + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 97 14 19 16 + 99: TypePointer Function 96(int) + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 44 16 + 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 103 98 26 94 16 93 19 + 107: 96(int) Constant 0 + 118: 96(int) Constant 3 + 119: TypeBool + 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 120 14 84 16 + 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 16 16 93 + 127: 11(int) Constant 59 + 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 126 60 26 127 16 123 19 + 131: 8(float) Constant 0 + 132: 18(fvec4) ConstantComposite 131 131 131 131 + 133: 21(fvec3) ConstantComposite 131 131 131 + 134:46(GSOutput) ConstantComposite 132 16 16 133 133 133 133 + 137: 11(int) Constant 60 + 138: 96(int) Constant 1 + 139: TypePointer Function 21(fvec3) + 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 44 16 + 143: TypeMatrix 18(fvec4) 4 + 145: 119(bool) ConstantTrue + 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 145 + 146: TypeArray 143 84 + 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 144 84 + 148: TypeArray 143 84 + 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 144 84 + 150(UBO): TypeStruct 146 148 18(fvec4) + 153: 11(int) Constant 28 + 154: 11(int) Constant 21 + 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 152 147 26 153 154 16 16 17 + 157: 11(int) Constant 29 + 158: 11(int) Constant 20 + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 156 149 26 157 158 16 16 17 + 161: 11(int) Constant 30 + 162: 11(int) Constant 17 + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 160 20 26 161 162 16 16 17 + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 164 37 26 137 16 39 164 16 17 151 155 159 + 165(ubo): TypeStruct 150(UBO) + 168: 11(int) Constant 33 + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 167 163 26 168 28 16 16 17 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 167 37 26 137 16 39 167 16 17 166 + 170: TypePointer Uniform 165(ubo) + 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 169 84 16 + 172: 170(ptr) Variable Uniform + 175: 11(int) Constant 8 + 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 174 169 26 137 16 39 174 172 175 + 177: TypePointer Uniform 143 + 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 144 84 16 + 181: TypeMatrix 21(fvec3) 3 + 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 22 17 145 + 192: 96(int) Constant 4 + 195: 11(int) Constant 61 + 196: 96(int) Constant 2 + 200: TypePointer Function 18(fvec4) + 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 44 16 + 205: 11(int) Constant 63 + 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 204 20 26 205 16 123 19 + 214: 11(int) Constant 64 + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 213 20 26 214 16 123 19 + 225: 11(int) Constant 66 + 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 224 22 26 225 16 123 19 + 228: TypePointer Uniform 18(fvec4) + 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 84 16 + 237: 96(int) Constant 6 + 240: 11(int) Constant 67 + 245: 96(int) Constant 5 + 248: 11(int) Constant 68 + 254: 11(int) Constant 70 + 262: 11(int) Constant 73 + 266: 11(int) Constant 74 + 268: TypePointer Output 18(fvec4) + 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 17 16 +270(outStream.Pos): 268(ptr) Variable Output + 273: 11(int) Constant 75 + 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 272 20 26 273 16 39 272 270(outStream.Pos) 175 + 277: TypePointer Output 11(int) + 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 17 16 +279(outStream.ViewportIndex): 277(ptr) Variable Output + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 281 13 26 273 16 39 281 279(outStream.ViewportIndex) 175 +284(outStream.PrimitiveID): 277(ptr) Variable Output + 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 286 13 26 273 16 39 286 284(outStream.PrimitiveID) 175 + 289: TypePointer Output 21(fvec3) + 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 17 16 +291(outStream.Normal): 289(ptr) Variable Output + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 293 22 26 273 16 39 293 291(outStream.Normal) 175 +296(outStream.Color): 289(ptr) Variable Output + 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 298 22 26 273 16 39 298 296(outStream.Color) 175 +301(outStream.ViewVec): 289(ptr) Variable Output + 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 303 22 26 273 16 39 303 301(outStream.ViewVec) 175 +306(outStream.LightVec): 289(ptr) Variable Output + 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 308 22 26 273 16 39 308 306(outStream.LightVec) 175 + 317: 11(int) Constant 78 + 320: TypeArray 18(fvec4) 17 321: TypePointer Input 320 -322(input.Normal): 321(ptr) Variable Input - 323: TypePointer Input 21(fvec3) -327(input.Color): 321(ptr) Variable Input - 350: TypePointer Input 11(int) -351(InvocationID): 350(ptr) Variable Input -354(PrimitiveID): 350(ptr) Variable Input + 322(input.Pos): 321(ptr) Variable Input + 323: TypePointer Input 18(fvec4) + 327: TypeArray 21(fvec3) 17 + 328: TypePointer Input 327 +329(input.Normal): 328(ptr) Variable Input + 330: TypePointer Input 21(fvec3) +334(input.Color): 328(ptr) Variable Input + 357: TypePointer Input 11(int) +358(InvocationID): 357(ptr) Variable Input +361(PrimitiveID): 357(ptr) Variable Input 6(main): 4 Function None 5 7: Label - 312(input): 43(ptr) Variable Function -349(InvocationID): 64(ptr) Variable Function -353(PrimitiveID): 64(ptr) Variable Function - 356(outStream): 62(ptr) Variable Function - 357(param): 43(ptr) Variable Function - 359(param): 62(ptr) Variable Function - 360(param): 64(ptr) Variable Function - 362(param): 64(ptr) Variable Function - 317: 316(ptr) AccessChain 315(input.Pos) 103 - 318: 18(fvec4) Load 317 - 319: 194(ptr) AccessChain 312(input) 103 103 - Store 319 318 - 324: 323(ptr) AccessChain 322(input.Normal) 103 - 325: 21(fvec3) Load 324 - 326: 134(ptr) AccessChain 312(input) 103 133 + 319(input): 43(ptr) Variable Function +356(InvocationID): 64(ptr) Variable Function +360(PrimitiveID): 64(ptr) Variable Function + 363(outStream): 62(ptr) Variable Function + 364(param): 43(ptr) Variable Function + 366(param): 62(ptr) Variable Function + 367(param): 64(ptr) Variable Function + 369(param): 64(ptr) Variable Function + 324: 323(ptr) AccessChain 322(input.Pos) 107 + 325: 18(fvec4) Load 324 + 326: 200(ptr) AccessChain 319(input) 107 107 Store 326 325 - 328: 323(ptr) AccessChain 327(input.Color) 103 - 329: 21(fvec3) Load 328 - 330: 134(ptr) AccessChain 312(input) 103 190 - Store 330 329 - 331: 316(ptr) AccessChain 315(input.Pos) 133 - 332: 18(fvec4) Load 331 - 333: 194(ptr) AccessChain 312(input) 133 103 + 331: 330(ptr) AccessChain 329(input.Normal) 107 + 332: 21(fvec3) Load 331 + 333: 139(ptr) AccessChain 319(input) 107 138 Store 333 332 - 334: 323(ptr) AccessChain 322(input.Normal) 133 - 335: 21(fvec3) Load 334 - 336: 134(ptr) AccessChain 312(input) 133 133 - Store 336 335 - 337: 323(ptr) AccessChain 327(input.Color) 133 - 338: 21(fvec3) Load 337 - 339: 134(ptr) AccessChain 312(input) 133 190 - Store 339 338 - 340: 316(ptr) AccessChain 315(input.Pos) 190 - 341: 18(fvec4) Load 340 - 342: 194(ptr) AccessChain 312(input) 190 103 - Store 342 341 - 343: 323(ptr) AccessChain 322(input.Normal) 190 - 344: 21(fvec3) Load 343 - 345: 134(ptr) AccessChain 312(input) 190 133 - Store 345 344 - 346: 323(ptr) AccessChain 327(input.Color) 190 - 347: 21(fvec3) Load 346 - 348: 134(ptr) AccessChain 312(input) 190 190 - Store 348 347 - 352: 11(int) Load 351(InvocationID) - Store 349(InvocationID) 352 - 355: 11(int) Load 354(PrimitiveID) - Store 353(PrimitiveID) 355 - 358: 41 Load 312(input) - Store 357(param) 358 - 361: 11(int) Load 349(InvocationID) - Store 360(param) 361 - 363: 11(int) Load 353(PrimitiveID) - Store 362(param) 363 - 364: 4 FunctionCall 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 357(param) 359(param) 360(param) 362(param) - 365:46(GSOutput) Load 359(param) - Store 356(outStream) 365 + 335: 330(ptr) AccessChain 334(input.Color) 107 + 336: 21(fvec3) Load 335 + 337: 139(ptr) AccessChain 319(input) 107 196 + Store 337 336 + 338: 323(ptr) AccessChain 322(input.Pos) 138 + 339: 18(fvec4) Load 338 + 340: 200(ptr) AccessChain 319(input) 138 107 + Store 340 339 + 341: 330(ptr) AccessChain 329(input.Normal) 138 + 342: 21(fvec3) Load 341 + 343: 139(ptr) AccessChain 319(input) 138 138 + Store 343 342 + 344: 330(ptr) AccessChain 334(input.Color) 138 + 345: 21(fvec3) Load 344 + 346: 139(ptr) AccessChain 319(input) 138 196 + Store 346 345 + 347: 323(ptr) AccessChain 322(input.Pos) 196 + 348: 18(fvec4) Load 347 + 349: 200(ptr) AccessChain 319(input) 196 107 + Store 349 348 + 350: 330(ptr) AccessChain 329(input.Normal) 196 + 351: 21(fvec3) Load 350 + 352: 139(ptr) AccessChain 319(input) 196 138 + Store 352 351 + 353: 330(ptr) AccessChain 334(input.Color) 196 + 354: 21(fvec3) Load 353 + 355: 139(ptr) AccessChain 319(input) 196 196 + Store 355 354 + 359: 11(int) Load 358(InvocationID) + Store 356(InvocationID) 359 + 362: 11(int) Load 361(PrimitiveID) + Store 360(PrimitiveID) 362 + 365: 41 Load 319(input) + Store 364(param) 365 + 368: 11(int) Load 356(InvocationID) + Store 367(param) 368 + 370: 11(int) Load 360(PrimitiveID) + Store 369(param) 370 + 371: 4 FunctionCall 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 364(param) 366(param) 367(param) 369(param) + 372:46(GSOutput) Load 366(param) + Store 363(outStream) 372 Return FunctionEnd 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;): 4 Function None 66 @@ -362,11 +446,11 @@ spv.debuginfo.hlsl.geom 70(InvocationID): 64(ptr) FunctionParameter 71(PrimitiveID): 64(ptr) FunctionParameter 73: Label - 97(i): 95(ptr) Variable Function - 119(output): 62(ptr) Variable Function - 196(pos): 194(ptr) Variable Function - 205(worldPos): 194(ptr) Variable Function - 216(lPos): 134(ptr) Variable Function + 101(i): 99(ptr) Variable Function + 124(output): 62(ptr) Variable Function + 202(pos): 200(ptr) Variable Function + 211(worldPos): 200(ptr) Variable Function + 222(lPos): 139(ptr) Variable Function 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 38 38 16 16 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 68(input) 79 @@ -374,136 +458,138 @@ spv.debuginfo.hlsl.geom 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 70(InvocationID) 79 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 89 71(PrimitiveID) 79 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 75 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) - 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 - 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 98 97(i) 79 - Store 97(i) 103 - Branch 104 - 104: Label - 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 - 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 - LoopMerge 106 107 None - Branch 110 - 110: Label - 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 - 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 - 111: 92(int) Load 97(i) - 118: 115(bool) SLessThan 111 114 - BranchConditional 118 105 106 - 105: Label - 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 - 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 122 122 16 16 - 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 120 119(output) 79 - Store 119(output) 129 - 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 132 132 16 16 - 130: 92(int) Load 97(i) - 136: 134(ptr) AccessChain 68(input) 130 133 - 137: 21(fvec3) Load 136 - 170: 11(int) Load 70(InvocationID) - 173: 171(ptr) AccessChain 167 103 133 170 - 174: 138 Load 173 - 177: 18(fvec4) CompositeExtract 174 0 - 178: 21(fvec3) VectorShuffle 177 177 0 1 2 - 179: 18(fvec4) CompositeExtract 174 1 - 180: 21(fvec3) VectorShuffle 179 179 0 1 2 - 181: 18(fvec4) CompositeExtract 174 2 - 182: 21(fvec3) VectorShuffle 181 181 0 1 2 - 183: 175 CompositeConstruct 178 180 182 - 184: 21(fvec3) VectorTimesMatrix 137 183 - 185: 134(ptr) AccessChain 119(output) 114 - Store 185 184 - 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 189 189 16 16 - 187: 92(int) Load 97(i) - 191: 134(ptr) AccessChain 68(input) 187 190 - 192: 21(fvec3) Load 191 - 193: 134(ptr) AccessChain 119(output) 186 - Store 193 192 - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 199 199 16 16 - 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 197 196(pos) 79 - 202: 92(int) Load 97(i) - 203: 194(ptr) AccessChain 68(input) 202 103 - 204: 18(fvec4) Load 203 - Store 196(pos) 204 - 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 208 208 16 16 - 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 206 205(worldPos) 79 - 211: 18(fvec4) Load 196(pos) - 212: 11(int) Load 70(InvocationID) - 213: 171(ptr) AccessChain 167 103 133 212 - 214: 138 Load 213 - 215: 18(fvec4) VectorTimesMatrix 211 214 - Store 205(worldPos) 215 - 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 219 219 16 16 - 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 217 216(lPos) 79 - 224: 222(ptr) AccessChain 167 103 190 - 225: 18(fvec4) Load 224 - 226: 11(int) Load 70(InvocationID) - 227: 171(ptr) AccessChain 167 103 133 226 - 228: 138 Load 227 - 229: 18(fvec4) VectorTimesMatrix 225 228 - 230: 21(fvec3) VectorShuffle 229 229 0 1 2 - Store 216(lPos) 230 - 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 234 234 16 16 - 232: 21(fvec3) Load 216(lPos) - 235: 18(fvec4) Load 205(worldPos) + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93 + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16 + 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 102 101(i) 79 + Store 101(i) 107 + Branch 108 + 108: Label + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16 + LoopMerge 110 111 None + Branch 114 + 114: Label + 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93 + 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16 + 115: 96(int) Load 101(i) + 122: 119(bool) SLessThan 115 118 + BranchConditional 122 109 110 + 109: Label + 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 123 + 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 127 127 16 16 + 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 125 124(output) 79 + Store 124(output) 134 + 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 137 137 16 16 + 135: 96(int) Load 101(i) + 141: 139(ptr) AccessChain 68(input) 135 138 + 142: 21(fvec3) Load 141 + 176: 11(int) Load 70(InvocationID) + 179: 177(ptr) AccessChain 172 107 138 176 + 180: 143 Load 179 + 183: 18(fvec4) CompositeExtract 180 0 + 184: 21(fvec3) VectorShuffle 183 183 0 1 2 + 185: 18(fvec4) CompositeExtract 180 1 + 186: 21(fvec3) VectorShuffle 185 185 0 1 2 + 187: 18(fvec4) CompositeExtract 180 2 + 188: 21(fvec3) VectorShuffle 187 187 0 1 2 + 189: 181 CompositeConstruct 184 186 188 + 190: 21(fvec3) VectorTimesMatrix 142 189 + 191: 139(ptr) AccessChain 124(output) 118 + Store 191 190 + 194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 195 195 16 16 + 193: 96(int) Load 101(i) + 197: 139(ptr) AccessChain 68(input) 193 196 + 198: 21(fvec3) Load 197 + 199: 139(ptr) AccessChain 124(output) 192 + Store 199 198 + 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 205 205 16 16 + 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 203 202(pos) 79 + 208: 96(int) Load 101(i) + 209: 200(ptr) AccessChain 68(input) 208 107 + 210: 18(fvec4) Load 209 + Store 202(pos) 210 + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 214 214 16 16 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 212 211(worldPos) 79 + 217: 18(fvec4) Load 202(pos) + 218: 11(int) Load 70(InvocationID) + 219: 177(ptr) AccessChain 172 107 138 218 + 220: 143 Load 219 + 221: 18(fvec4) VectorTimesMatrix 217 220 + Store 211(worldPos) 221 + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 225 225 16 16 + 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 223 222(lPos) 79 + 230: 228(ptr) AccessChain 172 107 196 + 231: 18(fvec4) Load 230 + 232: 11(int) Load 70(InvocationID) + 233: 177(ptr) AccessChain 172 107 138 232 + 234: 143 Load 233 + 235: 18(fvec4) VectorTimesMatrix 231 234 236: 21(fvec3) VectorShuffle 235 235 0 1 2 - 237: 21(fvec3) FSub 232 236 - 238: 134(ptr) AccessChain 119(output) 231 - Store 238 237 - 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 242 242 16 16 - 240: 18(fvec4) Load 205(worldPos) - 243: 21(fvec3) VectorShuffle 240 240 0 1 2 - 244: 21(fvec3) FNegate 243 - 245: 134(ptr) AccessChain 119(output) 239 - Store 245 244 + Store 222(lPos) 236 + 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 240 240 16 16 + 238: 21(fvec3) Load 222(lPos) + 241: 18(fvec4) Load 211(worldPos) + 242: 21(fvec3) VectorShuffle 241 241 0 1 2 + 243: 21(fvec3) FSub 238 242 + 244: 139(ptr) AccessChain 124(output) 237 + Store 244 243 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 248 248 16 16 - 246: 18(fvec4) Load 205(worldPos) - 249: 11(int) Load 70(InvocationID) - 250: 171(ptr) AccessChain 167 103 103 249 - 251: 138 Load 250 - 252: 18(fvec4) VectorTimesMatrix 246 251 - 253: 194(ptr) AccessChain 119(output) 103 - Store 253 252 - 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 256 256 16 16 - 254: 11(int) Load 70(InvocationID) - 257: 64(ptr) AccessChain 119(output) 133 - Store 257 254 - 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 260 260 16 16 - 258: 11(int) Load 71(PrimitiveID) - 261: 64(ptr) AccessChain 119(output) 190 - Store 261 258 - 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 267 267 16 16 - 268: 194(ptr) AccessChain 119(output) 103 - 270: 18(fvec4) Load 268 - Store 264(outStream.Pos) 270 - 276: 64(ptr) AccessChain 119(output) 133 - 277: 11(int) Load 276 - Store 273(outStream.ViewportIndex) 277 - 281: 64(ptr) AccessChain 119(output) 190 - 282: 11(int) Load 281 - Store 278(outStream.PrimitiveID) 282 - 288: 134(ptr) AccessChain 119(output) 114 - 289: 21(fvec3) Load 288 - Store 285(outStream.Normal) 289 - 293: 134(ptr) AccessChain 119(output) 186 - 294: 21(fvec3) Load 293 - Store 290(outStream.Color) 294 - 298: 134(ptr) AccessChain 119(output) 239 - 299: 21(fvec3) Load 298 - Store 295(outStream.ViewVec) 299 - 303: 134(ptr) AccessChain 119(output) 231 - 304: 21(fvec3) Load 303 - Store 300(outStream.LightVec) 304 + 246: 18(fvec4) Load 211(worldPos) + 249: 21(fvec3) VectorShuffle 246 246 0 1 2 + 250: 21(fvec3) FNegate 249 + 251: 139(ptr) AccessChain 124(output) 245 + Store 251 250 + 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 254 254 16 16 + 252: 18(fvec4) Load 211(worldPos) + 255: 11(int) Load 70(InvocationID) + 256: 177(ptr) AccessChain 172 107 107 255 + 257: 143 Load 256 + 258: 18(fvec4) VectorTimesMatrix 252 257 + 259: 200(ptr) AccessChain 124(output) 107 + Store 259 258 + 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 262 262 16 16 + 260: 11(int) Load 70(InvocationID) + 263: 64(ptr) AccessChain 124(output) 138 + Store 263 260 + 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 266 266 16 16 + 264: 11(int) Load 71(PrimitiveID) + 267: 64(ptr) AccessChain 124(output) 196 + Store 267 264 + 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 273 273 16 16 + 274: 200(ptr) AccessChain 124(output) 107 + 276: 18(fvec4) Load 274 + Store 270(outStream.Pos) 276 + 282: 64(ptr) AccessChain 124(output) 138 + 283: 11(int) Load 282 + Store 279(outStream.ViewportIndex) 283 + 287: 64(ptr) AccessChain 124(output) 196 + 288: 11(int) Load 287 + Store 284(outStream.PrimitiveID) 288 + 294: 139(ptr) AccessChain 124(output) 118 + 295: 21(fvec3) Load 294 + Store 291(outStream.Normal) 295 + 299: 139(ptr) AccessChain 124(output) 192 + 300: 21(fvec3) Load 299 + Store 296(outStream.Color) 300 + 304: 139(ptr) AccessChain 124(output) 245 + 305: 21(fvec3) Load 304 + Store 301(outStream.ViewVec) 305 + 309: 139(ptr) AccessChain 124(output) 237 + 310: 21(fvec3) Load 309 + Store 306(outStream.LightVec) 310 EmitVertex - Branch 107 - 107: Label - 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 - 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 - 305: 92(int) Load 97(i) - 308: 92(int) IAdd 305 133 - Store 97(i) 308 - Branch 104 - 106: Label - 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 - 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 311 311 16 16 + Branch 111 + 111: Label + 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93 + 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16 + 311: 96(int) Load 101(i) + 314: 96(int) IAdd 311 138 + Store 101(i) 314 + Branch 108 + 110: Label + 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 92 + 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 317 317 16 16 EndPrimitive + 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.tesc.out b/Test/baseResults/spv.debuginfo.hlsl.tesc.out index a3cbcc5e..494878cd 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.tesc.out +++ b/Test/baseResults/spv.debuginfo.hlsl.tesc.out @@ -1,21 +1,21 @@ spv.debuginfo.hlsl.tesc -WARNING: 0:158: '' : attribute does not apply to entry point +WARNING: spv.debuginfo.hlsl.tesc:158: '' : attribute does not apply to entry point // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 706 +// Id's are bound by 724 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationControl 6 "main" 598 605 612 646 655 662 669 684 699 + EntryPoint TessellationControl 6 "main" 616 623 630 664 673 680 687 702 717 ExecutionMode 6 OutputVertices 4 ExecutionMode 6 Quads ExecutionMode 6 SpacingEqual ExecutionMode 6 VertexOrderCw - 2: String "" + 2: String "spv.debuginfo.hlsl.tesc" 9: String "float" 12: String "uint" 30: String "screenSpaceTessFactor" @@ -27,6 +27,170 @@ WARNING: 0:158: '' : attribute does not apply to entry point // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 +/* +The MIT License (MIT) + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +struct UBO +{ + float4x4 projection; + float4x4 modelview; + float4 lightPos; + float4 frustumPlanes[6]; + float displacementFactor; + float tessellationFactor; + float2 viewportDim; + float tessellatedEdgeSize; +}; +cbuffer ubo : register(b0) { UBO ubo; }; + +Texture2D textureHeight : register(t1); +SamplerState samplerHeight : register(s1); + +struct VSOutput +{ + float4 Pos : SV_POSITION; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float2 UV : TEXCOORD0; +}; + +struct HSOutput +{ +[[vk::location(2)]] float4 Pos : SV_POSITION; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float2 UV : TEXCOORD0; +}; + +struct ConstantsHSOutput +{ + float TessLevelOuter[4] : SV_TessFactor; + float TessLevelInner[2] : SV_InsideTessFactor; +}; + +// Calculate the tessellation factor based on screen space +// dimensions of the edge +float screenSpaceTessFactor(float4 p0, float4 p1) +{ + // Calculate edge mid point + float4 midPoint = 0.5 * (p0 + p1); + // Sphere radius as distance between the control points + float radius = distance(p0, p1) / 2.0; + + // View space + float4 v0 = mul(ubo.modelview, midPoint); + + // Project into clip space + float4 clip0 = mul(ubo.projection, (v0 - float4(radius, float3(0.0, 0.0, 0.0)))); + float4 clip1 = mul(ubo.projection, (v0 + float4(radius, float3(0.0, 0.0, 0.0)))); + + // Get normalized device coordinates + clip0 /= clip0.w; + clip1 /= clip1.w; + + // Convert to viewport coordinates + clip0.xy *= ubo.viewportDim; + clip1.xy *= ubo.viewportDim; + + // Return the tessellation factor based on the screen size + // given by the distance of the two edge control points in screen space + // and a reference (min.) tessellation size for the edge set by the application + return clamp(distance(clip0, clip1) / ubo.tessellatedEdgeSize * ubo.tessellationFactor, 1.0, 64.0); +} + +// Checks the current's patch visibility against the frustum using a sphere check +// Sphere radius is given by the patch size +bool frustumCheck(float4 Pos, float2 inUV) +{ + // Fixed radius (increase if patch size is increased in example) + const float radius = 8.0f; + float4 pos = Pos; + pos.y -= textureHeight.SampleLevel(samplerHeight, inUV, 0.0).r * ubo.displacementFactor; + + // Check sphere against frustum planes + for (int i = 0; i < 6; i++) { + if (dot(pos, ubo.frustumPlanes[i]) + radius < 0.0) + { + return false; + } + } + return true; +} + +ConstantsHSOutput ConstantsHS(InputPatch patch) +{ + ConstantsHSOutput output = (ConstantsHSOutput)0; + + if (!frustumCheck(patch[0].Pos, patch[0].UV)) + { + output.TessLevelInner[0] = 0.0; + output.TessLevelInner[1] = 0.0; + output.TessLevelOuter[0] = 0.0; + output.TessLevelOuter[1] = 0.0; + output.TessLevelOuter[2] = 0.0; + output.TessLevelOuter[3] = 0.0; + } + else + { + if (ubo.tessellationFactor > 0.0) + { + output.TessLevelOuter[0] = screenSpaceTessFactor(patch[3].Pos, patch[0].Pos); + output.TessLevelOuter[1] = screenSpaceTessFactor(patch[0].Pos, patch[1].Pos); + output.TessLevelOuter[2] = screenSpaceTessFactor(patch[1].Pos, patch[2].Pos); + output.TessLevelOuter[3] = screenSpaceTessFactor(patch[2].Pos, patch[3].Pos); + output.TessLevelInner[0] = lerp(output.TessLevelOuter[0], output.TessLevelOuter[3], 0.5); + output.TessLevelInner[1] = lerp(output.TessLevelOuter[2], output.TessLevelOuter[1], 0.5); + } + else + { + // Tessellation factor can be set to zero by example + // to demonstrate a simple passthrough + output.TessLevelInner[0] = 1.0; + output.TessLevelInner[1] = 1.0; + output.TessLevelOuter[0] = 1.0; + output.TessLevelOuter[1] = 1.0; + output.TessLevelOuter[2] = 1.0; + output.TessLevelOuter[3] = 1.0; + } + } + + return output; +} + +[domain("quad")] +[partitioning("integer")] +[outputtopology("triangle_cw")] +[outputcontrolpoints(4)] +[patchconstantfunc("ConstantsHS")] +[maxtessfactor(20.0f)] +HSOutput main(InputPatch patch, uint InvocationID : SV_OutputControlPointID) +{ + HSOutput output = (HSOutput)0; + output.Pos = patch[InvocationID].Pos; + output.Normal = patch[InvocationID].Normal; + output.UV = patch[InvocationID].UV; + return output; +} " 39: String "p0" 45: String "p1" @@ -45,30 +209,31 @@ WARNING: 0:158: '' : attribute does not apply to entry point 129: String "HSOutput" 137: String "@main" 144: String "InvocationID" - 149: String "midPoint" - 162: String "radius" - 173: String "v0" - 185: String "modelview" - 190: String "lightPos" - 194: String "frustumPlanes" - 197: String "tessellatedEdgeSize" - 201: String "viewportDim" - 205: String "UBO" - 208: String "ubo" - 217: String "int" - 228: String "clip0" - 246: String "clip1" - 324: String "pos" - 331: String "type.2d.image" - 333: String "@type.2d.image" - 339: String "textureHeight" - 344: String "type.sampler" - 345: String "@type.sampler" - 350: String "samplerHeight" - 354: String "type.sampled.image" - 355: String "@type.sampled.image" - 372: String "i" - 424: String "output" + 150: String "midPoint" + 164: String "radius" + 175: String "v0" + 187: String "modelview" + 192: String "lightPos" + 196: String "frustumPlanes" + 199: String "tessellatedEdgeSize" + 203: String "viewportDim" + 207: String "UBO" + 210: String "ubo" + 217: String "" + 220: String "int" + 231: String "clip0" + 249: String "clip1" + 328: String "pos" + 336: String "type.2d.image" + 338: String "@type.2d.image" + 344: String "textureHeight" + 349: String "type.sampler" + 350: String "@type.sampler" + 355: String "samplerHeight" + 359: String "type.sampled.image" + 360: String "@type.sampled.image" + 380: String "i" + 435: String "output" Name 6 "main" Name 28 "screenSpaceTessFactor(vf4;vf4;" Name 26 "p0" @@ -92,87 +257,87 @@ WARNING: 0:158: '' : attribute does not apply to entry point Name 135 "@main(struct-VSOutput-vf4-vf3-vf21[4];u1;" Name 133 "patch" Name 134 "InvocationID" - Name 147 "midPoint" - Name 160 "radius" - Name 171 "v0" - Name 183 "UBO" - MemberName 183(UBO) 0 "projection" - MemberName 183(UBO) 1 "modelview" - MemberName 183(UBO) 2 "lightPos" - MemberName 183(UBO) 3 "frustumPlanes" - MemberName 183(UBO) 4 "displacementFactor" - MemberName 183(UBO) 5 "tessellationFactor" - MemberName 183(UBO) 6 "viewportDim" - MemberName 183(UBO) 7 "tessellatedEdgeSize" - Name 206 "ubo" - MemberName 206(ubo) 0 "ubo" - Name 213 "" - Name 226 "clip0" - Name 244 "clip1" - Name 322 "pos" - Name 337 "textureHeight" - Name 348 "samplerHeight" - Name 370 "i" - Name 422 "output" - Name 432 "param" - Name 437 "param" - Name 472 "param" - Name 478 "param" - Name 483 "param" - Name 488 "param" + Name 148 "midPoint" + Name 162 "radius" + Name 173 "v0" + Name 185 "UBO" + MemberName 185(UBO) 0 "projection" + MemberName 185(UBO) 1 "modelview" + MemberName 185(UBO) 2 "lightPos" + MemberName 185(UBO) 3 "frustumPlanes" + MemberName 185(UBO) 4 "displacementFactor" + MemberName 185(UBO) 5 "tessellationFactor" + MemberName 185(UBO) 6 "viewportDim" + MemberName 185(UBO) 7 "tessellatedEdgeSize" + Name 208 "ubo" + MemberName 208(ubo) 0 "ubo" + Name 215 "" + Name 229 "clip0" + Name 247 "clip1" + Name 326 "pos" + Name 342 "textureHeight" + Name 353 "samplerHeight" + Name 378 "i" + Name 433 "output" + Name 444 "param" + Name 449 "param" + Name 487 "param" Name 493 "param" Name 498 "param" Name 503 "param" Name 508 "param" - Name 560 "output" - Name 595 "patch" - Name 598 "patch.Pos" - Name 605 "patch.Normal" - Name 612 "patch.UV" - Name 644 "InvocationID" - Name 646 "InvocationID" - Name 648 "flattenTemp" - Name 649 "param" - Name 651 "param" - Name 655 "@entryPointOutput.Pos" - Name 662 "@entryPointOutput.Normal" - Name 669 "@entryPointOutput.UV" - Name 679 "@patchConstantResult" - Name 680 "param" - Name 684 "@patchConstantOutput.TessLevelOuter" - Name 699 "@patchConstantOutput.TessLevelInner" - Decorate 181 ArrayStride 16 - MemberDecorate 183(UBO) 0 RowMajor - MemberDecorate 183(UBO) 0 MatrixStride 16 - MemberDecorate 183(UBO) 0 Offset 0 - MemberDecorate 183(UBO) 1 RowMajor - MemberDecorate 183(UBO) 1 MatrixStride 16 - MemberDecorate 183(UBO) 1 Offset 64 - MemberDecorate 183(UBO) 2 Offset 128 - MemberDecorate 183(UBO) 3 Offset 144 - MemberDecorate 183(UBO) 4 Offset 240 - MemberDecorate 183(UBO) 5 Offset 244 - MemberDecorate 183(UBO) 6 Offset 248 - MemberDecorate 183(UBO) 7 Offset 256 - Decorate 206(ubo) Block - MemberDecorate 206(ubo) 0 Offset 0 - Decorate 213 Binding 0 - Decorate 213 DescriptorSet 0 - Decorate 337(textureHeight) Binding 1 - Decorate 337(textureHeight) DescriptorSet 0 - Decorate 348(samplerHeight) Binding 1 - Decorate 348(samplerHeight) DescriptorSet 0 - Decorate 598(patch.Pos) BuiltIn Position - Decorate 605(patch.Normal) Location 0 - Decorate 612(patch.UV) Location 1 - Decorate 646(InvocationID) BuiltIn InvocationId - Decorate 655(@entryPointOutput.Pos) BuiltIn Position - Decorate 662(@entryPointOutput.Normal) Location 0 - Decorate 669(@entryPointOutput.UV) Location 1 - Decorate 684(@patchConstantOutput.TessLevelOuter) BuiltIn TessLevelOuter - Decorate 684(@patchConstantOutput.TessLevelOuter) Patch - Decorate 699(@patchConstantOutput.TessLevelInner) BuiltIn TessLevelInner - Decorate 699(@patchConstantOutput.TessLevelInner) Patch + Name 513 "param" + Name 518 "param" + Name 523 "param" + Name 577 "output" + Name 613 "patch" + Name 616 "patch.Pos" + Name 623 "patch.Normal" + Name 630 "patch.UV" + Name 662 "InvocationID" + Name 664 "InvocationID" + Name 666 "flattenTemp" + Name 667 "param" + Name 669 "param" + Name 673 "@entryPointOutput.Pos" + Name 680 "@entryPointOutput.Normal" + Name 687 "@entryPointOutput.UV" + Name 697 "@patchConstantResult" + Name 698 "param" + Name 702 "@patchConstantOutput.TessLevelOuter" + Name 717 "@patchConstantOutput.TessLevelInner" + Decorate 183 ArrayStride 16 + MemberDecorate 185(UBO) 0 RowMajor + MemberDecorate 185(UBO) 0 MatrixStride 16 + MemberDecorate 185(UBO) 0 Offset 0 + MemberDecorate 185(UBO) 1 RowMajor + MemberDecorate 185(UBO) 1 MatrixStride 16 + MemberDecorate 185(UBO) 1 Offset 64 + MemberDecorate 185(UBO) 2 Offset 128 + MemberDecorate 185(UBO) 3 Offset 144 + MemberDecorate 185(UBO) 4 Offset 240 + MemberDecorate 185(UBO) 5 Offset 244 + MemberDecorate 185(UBO) 6 Offset 248 + MemberDecorate 185(UBO) 7 Offset 256 + Decorate 208(ubo) Block + MemberDecorate 208(ubo) 0 Offset 0 + Decorate 215 Binding 0 + Decorate 215 DescriptorSet 0 + Decorate 342(textureHeight) Binding 1 + Decorate 342(textureHeight) DescriptorSet 0 + Decorate 353(samplerHeight) Binding 1 + Decorate 353(samplerHeight) DescriptorSet 0 + Decorate 616(patch.Pos) BuiltIn Position + Decorate 623(patch.Normal) Location 0 + Decorate 630(patch.UV) Location 1 + Decorate 664(InvocationID) BuiltIn InvocationId + Decorate 673(@entryPointOutput.Pos) BuiltIn Position + Decorate 680(@entryPointOutput.Normal) Location 0 + Decorate 687(@entryPointOutput.UV) Location 1 + Decorate 702(@patchConstantOutput.TessLevelOuter) BuiltIn TessLevelOuter + Decorate 702(@patchConstantOutput.TessLevelOuter) Patch + Decorate 717(@patchConstantOutput.TessLevelInner) BuiltIn TessLevelInner + Decorate 717(@patchConstantOutput.TessLevelInner) Patch 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -262,660 +427,677 @@ WARNING: 0:158: '' : attribute does not apply to entry point 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 137 132 32 130 16 35 137 17 130 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 115 90 32 130 16 138 19 36 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 144 13 32 130 16 138 19 46 - 150: 11(int) Constant 67 - 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 149 20 32 150 16 31 19 - 153: 8(float) Constant 1056964608 - 158: TypePointer Function 8(float) - 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 22 16 - 163: 11(int) Constant 69 - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 162 10 32 163 16 31 19 - 169: 8(float) Constant 1073741824 - 174: 11(int) Constant 72 - 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 173 20 32 174 16 31 19 - 178: TypeMatrix 18(fvec4) 4 - 180: 52(bool) ConstantTrue - 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 180 - 181: TypeArray 18(fvec4) 15 - 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 20 15 - 183(UBO): TypeStruct 178 178 18(fvec4) 181 8(float) 8(float) 48(fvec2) 8(float) - 186: 11(int) Constant 29 - 187: 11(int) Constant 20 - 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 185 179 32 186 187 16 16 17 - 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 185 179 32 186 187 16 16 17 - 191: 11(int) Constant 30 - 192: 11(int) Constant 17 - 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 190 20 32 191 192 16 16 17 - 195: 11(int) Constant 22 - 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 182 32 85 195 16 16 17 - 198: 11(int) Constant 27 - 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 197 10 32 81 198 16 16 17 - 199: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 197 10 32 81 198 16 16 17 - 202: 11(int) Constant 34 - 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 201 49 32 202 187 16 16 17 - 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 197 10 32 81 198 16 16 17 - 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 205 36 32 174 16 35 205 16 17 184 188 189 193 196 199 200 203 - 206(ubo): TypeStruct 183(UBO) - 209: 11(int) Constant 37 - 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 208 204 32 209 209 16 16 17 - 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 208 36 32 174 16 35 208 16 17 207 - 211: TypePointer Uniform 206(ubo) - 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 210 46 16 - 213: 211(ptr) Variable Uniform - 215: 11(int) Constant 8 - 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 210 32 174 16 35 2 213 215 - 216: TypeInt 32 1 - 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 217 14 19 16 - 219: 216(int) Constant 0 - 220: 216(int) Constant 1 - 221: TypePointer Uniform 178 - 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 179 46 16 - 229: 11(int) Constant 75 - 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 228 20 32 229 16 31 19 - 234: 8(float) Constant 0 - 235: 72(fvec3) ConstantComposite 234 234 234 - 247: 11(int) Constant 76 - 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 246 20 32 247 16 31 19 - 262: 11(int) Constant 79 - 269: 11(int) Constant 80 - 274: 216(int) Constant 6 - 275: TypePointer Uniform 48(fvec2) - 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 46 16 - 279: 11(int) Constant 83 - 290: 11(int) Constant 84 - 301: 11(int) Constant 89 - 304: 216(int) Constant 7 - 305: TypePointer Uniform 8(float) - 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 46 16 - 310: 216(int) Constant 5 - 314: 8(float) Constant 1065353216 - 315: 8(float) Constant 1115684864 - 325: 11(int) Constant 98 - 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 324 20 32 325 16 62 19 - 329: TypeImage 8(float) 2D sampled format:Unknown - 332: 11(int) Constant 99 - 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 331 16 32 332 16 35 333 334 17 - 335: TypePointer UniformConstant 329 - 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 330 16 16 -337(textureHeight): 335(ptr) Variable UniformConstant - 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 339 330 32 332 16 35 339 337(textureHeight) 215 - 342: TypeSampler - 343: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 344 36 32 332 16 35 345 334 17 - 346: TypePointer UniformConstant 342 - 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 343 16 16 -348(samplerHeight): 346(ptr) Variable UniformConstant - 349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 350 343 32 332 16 35 350 348(samplerHeight) 215 - 352: TypeSampledImage 329 - 353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 354 16 32 332 16 35 355 334 17 - 360: 216(int) Constant 4 - 368: TypePointer Function 216(int) - 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 218 22 16 - 373: 11(int) Constant 102 - 371: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 372 218 32 373 16 62 19 - 390: 11(int) Constant 103 - 391: 216(int) Constant 3 - 393: TypePointer Uniform 18(fvec4) - 394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 46 16 - 398: 8(float) Constant 1090519040 - 403: 52(bool) ConstantFalse - 406: 11(int) Constant 105 - 414: 11(int) Constant 108 - 420: TypePointer Function 97(ConstantsHSOutput) - 421: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 105 22 16 - 425: 11(int) Constant 113 - 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 424 105 32 425 16 113 19 - 428: 93 ConstantComposite 234 234 234 234 - 429: 95 ConstantComposite 234 234 - 430:97(ConstantsHSOutput) ConstantComposite 428 429 - 431: 216(int) Constant 2 - 435: 11(int) Constant 115 - 447: 11(int) Constant 117 - 450: 11(int) Constant 118 - 453: 11(int) Constant 119 - 456: 11(int) Constant 120 - 459: 11(int) Constant 121 - 462: 11(int) Constant 122 - 467: 11(int) Constant 126 - 476: 11(int) Constant 128 - 486: 11(int) Constant 129 - 496: 11(int) Constant 130 - 506: 11(int) Constant 131 - 515: 11(int) Constant 132 - 523: 11(int) Constant 133 - 533: 11(int) Constant 139 - 536: 11(int) Constant 140 - 539: 11(int) Constant 141 - 542: 11(int) Constant 142 - 545: 11(int) Constant 143 - 548: 11(int) Constant 144 - 552: 11(int) Constant 148 - 558: TypePointer Function 121(HSOutput) - 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 128 22 16 - 562: 11(int) Constant 159 - 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 424 128 32 562 16 138 19 - 565: 18(fvec4) ConstantComposite 234 234 234 234 - 566: 48(fvec2) ConstantComposite 234 234 - 567:121(HSOutput) ConstantComposite 565 235 566 - 570: 11(int) Constant 160 - 576: 11(int) Constant 161 - 577: TypePointer Function 72(fvec3) - 578: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 73 22 16 - 584: 11(int) Constant 162 - 590: 11(int) Constant 163 - 596: TypeArray 18(fvec4) 19 - 597: TypePointer Input 596 - 598(patch.Pos): 597(ptr) Variable Input - 599: TypePointer Input 18(fvec4) - 603: TypeArray 72(fvec3) 19 - 604: TypePointer Input 603 -605(patch.Normal): 604(ptr) Variable Input - 606: TypePointer Input 72(fvec3) - 610: TypeArray 48(fvec2) 19 - 611: TypePointer Input 610 - 612(patch.UV): 611(ptr) Variable Input - 613: TypePointer Input 48(fvec2) - 645: TypePointer Input 11(int) -646(InvocationID): 645(ptr) Variable Input - 654: TypePointer Output 596 -655(@entryPointOutput.Pos): 654(ptr) Variable Output - 659: TypePointer Output 18(fvec4) - 661: TypePointer Output 603 -662(@entryPointOutput.Normal): 661(ptr) Variable Output - 666: TypePointer Output 72(fvec3) - 668: TypePointer Output 610 -669(@entryPointOutput.UV): 668(ptr) Variable Output - 673: TypePointer Output 48(fvec2) - 683: TypePointer Output 93 -684(@patchConstantOutput.TessLevelOuter): 683(ptr) Variable Output - 687: TypePointer Output 8(float) - 698: TypePointer Output 95 -699(@patchConstantOutput.TessLevelInner): 698(ptr) Variable Output + 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 31 + 151: 11(int) Constant 67 + 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 150 20 32 151 16 147 19 + 155: 8(float) Constant 1056964608 + 160: TypePointer Function 8(float) + 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 22 16 + 165: 11(int) Constant 69 + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 10 32 165 16 147 19 + 171: 8(float) Constant 1073741824 + 176: 11(int) Constant 72 + 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 175 20 32 176 16 147 19 + 180: TypeMatrix 18(fvec4) 4 + 182: 52(bool) ConstantTrue + 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 182 + 183: TypeArray 18(fvec4) 15 + 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 20 15 + 185(UBO): TypeStruct 180 180 18(fvec4) 183 8(float) 8(float) 48(fvec2) 8(float) + 188: 11(int) Constant 29 + 189: 11(int) Constant 20 + 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 187 181 32 188 189 16 16 17 + 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 187 181 32 188 189 16 16 17 + 193: 11(int) Constant 30 + 194: 11(int) Constant 17 + 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 192 20 32 193 194 16 16 17 + 197: 11(int) Constant 22 + 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 196 184 32 85 197 16 16 17 + 200: 11(int) Constant 27 + 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 199 10 32 81 200 16 16 17 + 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 199 10 32 81 200 16 16 17 + 204: 11(int) Constant 34 + 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 203 49 32 204 189 16 16 17 + 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 199 10 32 81 200 16 16 17 + 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 207 36 32 176 16 35 207 16 17 186 190 191 195 198 201 202 205 + 208(ubo): TypeStruct 185(UBO) + 211: 11(int) Constant 37 + 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 210 206 32 211 211 16 16 17 + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 210 36 32 176 16 35 210 16 17 209 + 213: TypePointer Uniform 208(ubo) + 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 212 46 16 + 215: 213(ptr) Variable Uniform + 218: 11(int) Constant 8 + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 217 212 32 176 16 35 217 215 218 + 219: TypeInt 32 1 + 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 220 14 19 16 + 222: 219(int) Constant 0 + 223: 219(int) Constant 1 + 224: TypePointer Uniform 180 + 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 181 46 16 + 232: 11(int) Constant 75 + 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 231 20 32 232 16 147 19 + 237: 8(float) Constant 0 + 238: 72(fvec3) ConstantComposite 237 237 237 + 250: 11(int) Constant 76 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 20 32 250 16 147 19 + 265: 11(int) Constant 79 + 272: 11(int) Constant 80 + 277: 219(int) Constant 6 + 278: TypePointer Uniform 48(fvec2) + 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 46 16 + 282: 11(int) Constant 83 + 293: 11(int) Constant 84 + 304: 11(int) Constant 89 + 307: 219(int) Constant 7 + 308: TypePointer Uniform 8(float) + 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 46 16 + 313: 219(int) Constant 5 + 317: 8(float) Constant 1065353216 + 318: 8(float) Constant 1115684864 + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 62 + 329: 11(int) Constant 98 + 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 328 20 32 329 16 325 19 + 334: TypeImage 8(float) 2D sampled format:Unknown + 337: 11(int) Constant 99 + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 336 16 32 337 16 35 338 339 17 + 340: TypePointer UniformConstant 334 + 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 335 16 16 +342(textureHeight): 340(ptr) Variable UniformConstant + 343: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 344 335 32 337 16 35 344 342(textureHeight) 218 + 347: TypeSampler + 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 349 36 32 337 16 35 350 339 17 + 351: TypePointer UniformConstant 347 + 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 348 16 16 +353(samplerHeight): 351(ptr) Variable UniformConstant + 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 355 348 32 337 16 35 355 353(samplerHeight) 218 + 357: TypeSampledImage 334 + 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 359 16 32 337 16 35 360 339 17 + 365: 219(int) Constant 4 + 374: 11(int) Constant 102 + 375: 11(int) Constant 11 + 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 374 375 325 + 376: TypePointer Function 219(int) + 377: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 221 22 16 + 379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 380 221 32 374 16 373 19 + 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 373 + 399: 11(int) Constant 103 + 400: 219(int) Constant 3 + 402: TypePointer Uniform 18(fvec4) + 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 46 16 + 407: 8(float) Constant 1090519040 + 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 395 + 413: 52(bool) ConstantFalse + 416: 11(int) Constant 105 + 424: 11(int) Constant 108 + 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 113 + 431: TypePointer Function 97(ConstantsHSOutput) + 432: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 105 22 16 + 436: 11(int) Constant 113 + 434: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 435 105 32 436 16 430 19 + 440: 93 ConstantComposite 237 237 237 237 + 441: 95 ConstantComposite 237 237 + 442:97(ConstantsHSOutput) ConstantComposite 440 441 + 443: 219(int) Constant 2 + 447: 11(int) Constant 115 + 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 430 + 460: 11(int) Constant 117 + 463: 11(int) Constant 118 + 466: 11(int) Constant 119 + 469: 11(int) Constant 120 + 472: 11(int) Constant 121 + 475: 11(int) Constant 122 + 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 430 + 481: 11(int) Constant 126 + 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 477 + 491: 11(int) Constant 128 + 501: 11(int) Constant 129 + 511: 11(int) Constant 130 + 521: 11(int) Constant 131 + 530: 11(int) Constant 132 + 538: 11(int) Constant 133 + 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 477 + 549: 11(int) Constant 139 + 552: 11(int) Constant 140 + 555: 11(int) Constant 141 + 558: 11(int) Constant 142 + 561: 11(int) Constant 143 + 564: 11(int) Constant 144 + 568: 11(int) Constant 148 + 574: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 138 + 575: TypePointer Function 121(HSOutput) + 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 128 22 16 + 579: 11(int) Constant 159 + 578: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 435 128 32 579 16 574 19 + 583: 18(fvec4) ConstantComposite 237 237 237 237 + 584: 48(fvec2) ConstantComposite 237 237 + 585:121(HSOutput) ConstantComposite 583 238 584 + 588: 11(int) Constant 160 + 594: 11(int) Constant 161 + 595: TypePointer Function 72(fvec3) + 596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 73 22 16 + 602: 11(int) Constant 162 + 608: 11(int) Constant 163 + 614: TypeArray 18(fvec4) 19 + 615: TypePointer Input 614 + 616(patch.Pos): 615(ptr) Variable Input + 617: TypePointer Input 18(fvec4) + 621: TypeArray 72(fvec3) 19 + 622: TypePointer Input 621 +623(patch.Normal): 622(ptr) Variable Input + 624: TypePointer Input 72(fvec3) + 628: TypeArray 48(fvec2) 19 + 629: TypePointer Input 628 + 630(patch.UV): 629(ptr) Variable Input + 631: TypePointer Input 48(fvec2) + 663: TypePointer Input 11(int) +664(InvocationID): 663(ptr) Variable Input + 672: TypePointer Output 614 +673(@entryPointOutput.Pos): 672(ptr) Variable Output + 677: TypePointer Output 18(fvec4) + 679: TypePointer Output 621 +680(@entryPointOutput.Normal): 679(ptr) Variable Output + 684: TypePointer Output 72(fvec3) + 686: TypePointer Output 628 +687(@entryPointOutput.UV): 686(ptr) Variable Output + 691: TypePointer Output 48(fvec2) + 701: TypePointer Output 93 +702(@patchConstantOutput.TessLevelOuter): 701(ptr) Variable Output + 705: TypePointer Output 8(float) + 716: TypePointer Output 95 +717(@patchConstantOutput.TessLevelInner): 716(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 595(patch): 91(ptr) Variable Function -644(InvocationID): 119(ptr) Variable Function -648(flattenTemp): 558(ptr) Variable Function - 649(param): 91(ptr) Variable Function - 651(param): 119(ptr) Variable Function -679(@patchConstantResult): 420(ptr) Variable Function - 680(param): 91(ptr) Variable Function - 600: 599(ptr) AccessChain 598(patch.Pos) 219 - 601: 18(fvec4) Load 600 - 602: 21(ptr) AccessChain 595(patch) 219 219 - Store 602 601 - 607: 606(ptr) AccessChain 605(patch.Normal) 219 - 608: 72(fvec3) Load 607 - 609: 577(ptr) AccessChain 595(patch) 219 220 - Store 609 608 - 614: 613(ptr) AccessChain 612(patch.UV) 219 - 615: 48(fvec2) Load 614 - 616: 50(ptr) AccessChain 595(patch) 219 431 - Store 616 615 - 617: 599(ptr) AccessChain 598(patch.Pos) 220 - 618: 18(fvec4) Load 617 - 619: 21(ptr) AccessChain 595(patch) 220 219 - Store 619 618 - 620: 606(ptr) AccessChain 605(patch.Normal) 220 - 621: 72(fvec3) Load 620 - 622: 577(ptr) AccessChain 595(patch) 220 220 - Store 622 621 - 623: 613(ptr) AccessChain 612(patch.UV) 220 - 624: 48(fvec2) Load 623 - 625: 50(ptr) AccessChain 595(patch) 220 431 - Store 625 624 - 626: 599(ptr) AccessChain 598(patch.Pos) 431 - 627: 18(fvec4) Load 626 - 628: 21(ptr) AccessChain 595(patch) 431 219 - Store 628 627 - 629: 606(ptr) AccessChain 605(patch.Normal) 431 - 630: 72(fvec3) Load 629 - 631: 577(ptr) AccessChain 595(patch) 431 220 - Store 631 630 - 632: 613(ptr) AccessChain 612(patch.UV) 431 + 613(patch): 91(ptr) Variable Function +662(InvocationID): 119(ptr) Variable Function +666(flattenTemp): 575(ptr) Variable Function + 667(param): 91(ptr) Variable Function + 669(param): 119(ptr) Variable Function +697(@patchConstantResult): 431(ptr) Variable Function + 698(param): 91(ptr) Variable Function + 618: 617(ptr) AccessChain 616(patch.Pos) 222 + 619: 18(fvec4) Load 618 + 620: 21(ptr) AccessChain 613(patch) 222 222 + Store 620 619 + 625: 624(ptr) AccessChain 623(patch.Normal) 222 + 626: 72(fvec3) Load 625 + 627: 595(ptr) AccessChain 613(patch) 222 223 + Store 627 626 + 632: 631(ptr) AccessChain 630(patch.UV) 222 633: 48(fvec2) Load 632 - 634: 50(ptr) AccessChain 595(patch) 431 431 + 634: 50(ptr) AccessChain 613(patch) 222 443 Store 634 633 - 635: 599(ptr) AccessChain 598(patch.Pos) 391 + 635: 617(ptr) AccessChain 616(patch.Pos) 223 636: 18(fvec4) Load 635 - 637: 21(ptr) AccessChain 595(patch) 391 219 + 637: 21(ptr) AccessChain 613(patch) 223 222 Store 637 636 - 638: 606(ptr) AccessChain 605(patch.Normal) 391 + 638: 624(ptr) AccessChain 623(patch.Normal) 223 639: 72(fvec3) Load 638 - 640: 577(ptr) AccessChain 595(patch) 391 220 + 640: 595(ptr) AccessChain 613(patch) 223 223 Store 640 639 - 641: 613(ptr) AccessChain 612(patch.UV) 391 + 641: 631(ptr) AccessChain 630(patch.UV) 223 642: 48(fvec2) Load 641 - 643: 50(ptr) AccessChain 595(patch) 391 431 + 643: 50(ptr) AccessChain 613(patch) 223 443 Store 643 642 - 647: 11(int) Load 646(InvocationID) - Store 644(InvocationID) 647 - 650: 89 Load 595(patch) - Store 649(param) 650 - 652: 11(int) Load 644(InvocationID) - Store 651(param) 652 - 653:121(HSOutput) FunctionCall 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 649(param) 651(param) - Store 648(flattenTemp) 653 - 656: 11(int) Load 646(InvocationID) - 657: 21(ptr) AccessChain 648(flattenTemp) 219 - 658: 18(fvec4) Load 657 - 660: 659(ptr) AccessChain 655(@entryPointOutput.Pos) 656 - Store 660 658 - 663: 11(int) Load 646(InvocationID) - 664: 577(ptr) AccessChain 648(flattenTemp) 220 - 665: 72(fvec3) Load 664 - 667: 666(ptr) AccessChain 662(@entryPointOutput.Normal) 663 - Store 667 665 - 670: 11(int) Load 646(InvocationID) - 671: 50(ptr) AccessChain 648(flattenTemp) 431 - 672: 48(fvec2) Load 671 - 674: 673(ptr) AccessChain 669(@entryPointOutput.UV) 670 - Store 674 672 + 644: 617(ptr) AccessChain 616(patch.Pos) 443 + 645: 18(fvec4) Load 644 + 646: 21(ptr) AccessChain 613(patch) 443 222 + Store 646 645 + 647: 624(ptr) AccessChain 623(patch.Normal) 443 + 648: 72(fvec3) Load 647 + 649: 595(ptr) AccessChain 613(patch) 443 223 + Store 649 648 + 650: 631(ptr) AccessChain 630(patch.UV) 443 + 651: 48(fvec2) Load 650 + 652: 50(ptr) AccessChain 613(patch) 443 443 + Store 652 651 + 653: 617(ptr) AccessChain 616(patch.Pos) 400 + 654: 18(fvec4) Load 653 + 655: 21(ptr) AccessChain 613(patch) 400 222 + Store 655 654 + 656: 624(ptr) AccessChain 623(patch.Normal) 400 + 657: 72(fvec3) Load 656 + 658: 595(ptr) AccessChain 613(patch) 400 223 + Store 658 657 + 659: 631(ptr) AccessChain 630(patch.UV) 400 + 660: 48(fvec2) Load 659 + 661: 50(ptr) AccessChain 613(patch) 400 443 + Store 661 660 + 665: 11(int) Load 664(InvocationID) + Store 662(InvocationID) 665 + 668: 89 Load 613(patch) + Store 667(param) 668 + 670: 11(int) Load 662(InvocationID) + Store 669(param) 670 + 671:121(HSOutput) FunctionCall 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 667(param) 669(param) + Store 666(flattenTemp) 671 + 674: 11(int) Load 664(InvocationID) + 675: 21(ptr) AccessChain 666(flattenTemp) 222 + 676: 18(fvec4) Load 675 + 678: 677(ptr) AccessChain 673(@entryPointOutput.Pos) 674 + Store 678 676 + 681: 11(int) Load 664(InvocationID) + 682: 595(ptr) AccessChain 666(flattenTemp) 223 + 683: 72(fvec3) Load 682 + 685: 684(ptr) AccessChain 680(@entryPointOutput.Normal) 681 + Store 685 683 + 688: 11(int) Load 664(InvocationID) + 689: 50(ptr) AccessChain 666(flattenTemp) 443 + 690: 48(fvec2) Load 689 + 692: 691(ptr) AccessChain 687(@entryPointOutput.UV) 688 + Store 692 690 ControlBarrier 46 19 16 - 675: 11(int) Load 646(InvocationID) - 676: 52(bool) IEqual 675 219 - SelectionMerge 678 None - BranchConditional 676 677 678 - 677: Label - 681: 89 Load 595(patch) - Store 680(param) 681 - 682:97(ConstantsHSOutput) FunctionCall 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 680(param) - Store 679(@patchConstantResult) 682 - 685: 158(ptr) AccessChain 679(@patchConstantResult) 219 219 - 686: 8(float) Load 685 - 688: 687(ptr) AccessChain 684(@patchConstantOutput.TessLevelOuter) 219 - Store 688 686 - 689: 158(ptr) AccessChain 679(@patchConstantResult) 219 220 - 690: 8(float) Load 689 - 691: 687(ptr) AccessChain 684(@patchConstantOutput.TessLevelOuter) 220 - Store 691 690 - 692: 158(ptr) AccessChain 679(@patchConstantResult) 219 431 - 693: 8(float) Load 692 - 694: 687(ptr) AccessChain 684(@patchConstantOutput.TessLevelOuter) 431 - Store 694 693 - 695: 158(ptr) AccessChain 679(@patchConstantResult) 219 391 - 696: 8(float) Load 695 - 697: 687(ptr) AccessChain 684(@patchConstantOutput.TessLevelOuter) 391 - Store 697 696 - 700: 158(ptr) AccessChain 679(@patchConstantResult) 220 219 - 701: 8(float) Load 700 - 702: 687(ptr) AccessChain 699(@patchConstantOutput.TessLevelInner) 219 - Store 702 701 - 703: 158(ptr) AccessChain 679(@patchConstantResult) 220 220 + 693: 11(int) Load 664(InvocationID) + 694: 52(bool) IEqual 693 222 + SelectionMerge 696 None + BranchConditional 694 695 696 + 695: Label + 699: 89 Load 613(patch) + Store 698(param) 699 + 700:97(ConstantsHSOutput) FunctionCall 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 698(param) + Store 697(@patchConstantResult) 700 + 703: 160(ptr) AccessChain 697(@patchConstantResult) 222 222 704: 8(float) Load 703 - 705: 687(ptr) AccessChain 699(@patchConstantOutput.TessLevelInner) 220 - Store 705 704 - Branch 678 - 678: Label + 706: 705(ptr) AccessChain 702(@patchConstantOutput.TessLevelOuter) 222 + Store 706 704 + 707: 160(ptr) AccessChain 697(@patchConstantResult) 222 223 + 708: 8(float) Load 707 + 709: 705(ptr) AccessChain 702(@patchConstantOutput.TessLevelOuter) 223 + Store 709 708 + 710: 160(ptr) AccessChain 697(@patchConstantResult) 222 443 + 711: 8(float) Load 710 + 712: 705(ptr) AccessChain 702(@patchConstantOutput.TessLevelOuter) 443 + Store 712 711 + 713: 160(ptr) AccessChain 697(@patchConstantResult) 222 400 + 714: 8(float) Load 713 + 715: 705(ptr) AccessChain 702(@patchConstantOutput.TessLevelOuter) 400 + Store 715 714 + 718: 160(ptr) AccessChain 697(@patchConstantResult) 223 222 + 719: 8(float) Load 718 + 720: 705(ptr) AccessChain 717(@patchConstantOutput.TessLevelInner) 222 + Store 720 719 + 721: 160(ptr) AccessChain 697(@patchConstantResult) 223 223 + 722: 8(float) Load 721 + 723: 705(ptr) AccessChain 717(@patchConstantOutput.TessLevelInner) 223 + Store 723 722 + Branch 696 + 696: Label Return FunctionEnd 28(screenSpaceTessFactor(vf4;vf4;): 8(float) Function None 24 26(p0): 21(ptr) FunctionParameter 27(p1): 21(ptr) FunctionParameter 29: Label - 147(midPoint): 21(ptr) Variable Function - 160(radius): 158(ptr) Variable Function - 171(v0): 21(ptr) Variable Function - 226(clip0): 21(ptr) Variable Function - 244(clip1): 21(ptr) Variable Function + 148(midPoint): 21(ptr) Variable Function + 162(radius): 160(ptr) Variable Function + 173(v0): 21(ptr) Variable Function + 229(clip0): 21(ptr) Variable Function + 247(clip1): 21(ptr) Variable Function 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 31 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 34 34 16 16 40: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 38 26(p0) 41 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 44 27(p1) 41 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 31 28(screenSpaceTessFactor(vf4;vf4;) - 152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 150 150 16 16 - 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 148 147(midPoint) 41 - 154: 18(fvec4) Load 26(p0) - 155: 18(fvec4) Load 27(p1) - 156: 18(fvec4) FAdd 154 155 - 157: 18(fvec4) VectorTimesScalar 156 153 - Store 147(midPoint) 157 - 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 163 163 16 16 - 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 161 160(radius) 41 - 166: 18(fvec4) Load 26(p0) - 167: 18(fvec4) Load 27(p1) - 168: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 166 167 - 170: 8(float) FDiv 168 169 - Store 160(radius) 170 - 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 174 174 16 16 - 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 172 171(v0) 41 - 177: 18(fvec4) Load 147(midPoint) - 223: 221(ptr) AccessChain 213 219 220 - 224: 178 Load 223 - 225: 18(fvec4) VectorTimesMatrix 177 224 - Store 171(v0) 225 - 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 229 229 16 16 - 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 227 226(clip0) 41 - 232: 18(fvec4) Load 171(v0) - 233: 8(float) Load 160(radius) - 236: 8(float) CompositeExtract 235 0 - 237: 8(float) CompositeExtract 235 1 - 238: 8(float) CompositeExtract 235 2 - 239: 18(fvec4) CompositeConstruct 233 236 237 238 - 240: 18(fvec4) FSub 232 239 - 241: 221(ptr) AccessChain 213 219 219 - 242: 178 Load 241 - 243: 18(fvec4) VectorTimesMatrix 240 242 - Store 226(clip0) 243 - 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 247 247 16 16 - 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 245 244(clip1) 41 - 250: 18(fvec4) Load 171(v0) - 251: 8(float) Load 160(radius) - 252: 8(float) CompositeExtract 235 0 - 253: 8(float) CompositeExtract 235 1 - 254: 8(float) CompositeExtract 235 2 - 255: 18(fvec4) CompositeConstruct 251 252 253 254 - 256: 18(fvec4) FAdd 250 255 - 257: 221(ptr) AccessChain 213 219 219 - 258: 178 Load 257 - 259: 18(fvec4) VectorTimesMatrix 256 258 - Store 244(clip1) 259 - 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 262 262 16 16 - 260: 158(ptr) AccessChain 226(clip0) 17 - 263: 8(float) Load 260 - 264: 18(fvec4) Load 226(clip0) - 265: 18(fvec4) CompositeConstruct 263 263 263 263 - 266: 18(fvec4) FDiv 264 265 - Store 226(clip0) 266 - 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 269 269 16 16 - 267: 158(ptr) AccessChain 244(clip1) 17 - 270: 8(float) Load 267 - 271: 18(fvec4) Load 244(clip1) - 272: 18(fvec4) CompositeConstruct 270 270 270 270 - 273: 18(fvec4) FDiv 271 272 - Store 244(clip1) 273 - 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 279 279 16 16 - 277: 275(ptr) AccessChain 213 219 274 - 280: 48(fvec2) Load 277 - 281: 18(fvec4) Load 226(clip0) - 282: 48(fvec2) VectorShuffle 281 281 0 1 - 283: 48(fvec2) FMul 282 280 - 284: 158(ptr) AccessChain 226(clip0) 16 - 285: 8(float) CompositeExtract 283 0 - Store 284 285 - 286: 158(ptr) AccessChain 226(clip0) 36 - 287: 8(float) CompositeExtract 283 1 - Store 286 287 - 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 290 290 16 16 - 288: 275(ptr) AccessChain 213 219 274 - 291: 48(fvec2) Load 288 - 292: 18(fvec4) Load 244(clip1) - 293: 48(fvec2) VectorShuffle 292 292 0 1 - 294: 48(fvec2) FMul 293 291 - 295: 158(ptr) AccessChain 244(clip1) 16 - 296: 8(float) CompositeExtract 294 0 - Store 295 296 - 297: 158(ptr) AccessChain 244(clip1) 36 - 298: 8(float) CompositeExtract 294 1 - Store 297 298 - 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 301 301 16 16 - 299: 18(fvec4) Load 226(clip0) - 302: 18(fvec4) Load 244(clip1) - 303: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 299 302 - 307: 305(ptr) AccessChain 213 219 304 - 308: 8(float) Load 307 - 309: 8(float) FDiv 303 308 - 311: 305(ptr) AccessChain 213 219 310 - 312: 8(float) Load 311 - 313: 8(float) FMul 309 312 - 316: 8(float) ExtInst 3(GLSL.std.450) 43(FClamp) 313 314 315 - ReturnValue 316 + 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 147 + 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 151 151 16 16 + 152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 149 148(midPoint) 41 + 156: 18(fvec4) Load 26(p0) + 157: 18(fvec4) Load 27(p1) + 158: 18(fvec4) FAdd 156 157 + 159: 18(fvec4) VectorTimesScalar 158 155 + Store 148(midPoint) 159 + 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 165 165 16 16 + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 163 162(radius) 41 + 168: 18(fvec4) Load 26(p0) + 169: 18(fvec4) Load 27(p1) + 170: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 168 169 + 172: 8(float) FDiv 170 171 + Store 162(radius) 172 + 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 176 176 16 16 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 174 173(v0) 41 + 179: 18(fvec4) Load 148(midPoint) + 226: 224(ptr) AccessChain 215 222 223 + 227: 180 Load 226 + 228: 18(fvec4) VectorTimesMatrix 179 227 + Store 173(v0) 228 + 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 232 232 16 16 + 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 230 229(clip0) 41 + 235: 18(fvec4) Load 173(v0) + 236: 8(float) Load 162(radius) + 239: 8(float) CompositeExtract 238 0 + 240: 8(float) CompositeExtract 238 1 + 241: 8(float) CompositeExtract 238 2 + 242: 18(fvec4) CompositeConstruct 236 239 240 241 + 243: 18(fvec4) FSub 235 242 + 244: 224(ptr) AccessChain 215 222 222 + 245: 180 Load 244 + 246: 18(fvec4) VectorTimesMatrix 243 245 + Store 229(clip0) 246 + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 250 250 16 16 + 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(clip1) 41 + 253: 18(fvec4) Load 173(v0) + 254: 8(float) Load 162(radius) + 255: 8(float) CompositeExtract 238 0 + 256: 8(float) CompositeExtract 238 1 + 257: 8(float) CompositeExtract 238 2 + 258: 18(fvec4) CompositeConstruct 254 255 256 257 + 259: 18(fvec4) FAdd 253 258 + 260: 224(ptr) AccessChain 215 222 222 + 261: 180 Load 260 + 262: 18(fvec4) VectorTimesMatrix 259 261 + Store 247(clip1) 262 + 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 265 265 16 16 + 263: 160(ptr) AccessChain 229(clip0) 17 + 266: 8(float) Load 263 + 267: 18(fvec4) Load 229(clip0) + 268: 18(fvec4) CompositeConstruct 266 266 266 266 + 269: 18(fvec4) FDiv 267 268 + Store 229(clip0) 269 + 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 272 272 16 16 + 270: 160(ptr) AccessChain 247(clip1) 17 + 273: 8(float) Load 270 + 274: 18(fvec4) Load 247(clip1) + 275: 18(fvec4) CompositeConstruct 273 273 273 273 + 276: 18(fvec4) FDiv 274 275 + Store 247(clip1) 276 + 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 282 282 16 16 + 280: 278(ptr) AccessChain 215 222 277 + 283: 48(fvec2) Load 280 + 284: 18(fvec4) Load 229(clip0) + 285: 48(fvec2) VectorShuffle 284 284 0 1 + 286: 48(fvec2) FMul 285 283 + 287: 160(ptr) AccessChain 229(clip0) 16 + 288: 8(float) CompositeExtract 286 0 + Store 287 288 + 289: 160(ptr) AccessChain 229(clip0) 36 + 290: 8(float) CompositeExtract 286 1 + Store 289 290 + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 293 293 16 16 + 291: 278(ptr) AccessChain 215 222 277 + 294: 48(fvec2) Load 291 + 295: 18(fvec4) Load 247(clip1) + 296: 48(fvec2) VectorShuffle 295 295 0 1 + 297: 48(fvec2) FMul 296 294 + 298: 160(ptr) AccessChain 247(clip1) 16 + 299: 8(float) CompositeExtract 297 0 + Store 298 299 + 300: 160(ptr) AccessChain 247(clip1) 36 + 301: 8(float) CompositeExtract 297 1 + Store 300 301 + 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 304 304 16 16 + 302: 18(fvec4) Load 229(clip0) + 305: 18(fvec4) Load 247(clip1) + 306: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 302 305 + 310: 308(ptr) AccessChain 215 222 307 + 311: 8(float) Load 310 + 312: 8(float) FDiv 306 311 + 314: 308(ptr) AccessChain 215 222 313 + 315: 8(float) Load 314 + 316: 8(float) FMul 312 315 + 319: 8(float) ExtInst 3(GLSL.std.450) 43(FClamp) 316 317 318 + ReturnValue 319 FunctionEnd 59(frustumCheck(vf4;vf2;): 52(bool) Function None 55 57(Pos): 21(ptr) FunctionParameter 58(inUV): 50(ptr) FunctionParameter 60: Label - 322(pos): 21(ptr) Variable Function - 370(i): 368(ptr) Variable Function + 326(pos): 21(ptr) Variable Function + 378(i): 376(ptr) Variable Function 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 63 63 16 16 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 64 57(Pos) 41 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 69 58(inUV) 41 - 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 62 59(frustumCheck(vf4;vf2;) - 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 325 325 16 16 - 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 323 322(pos) 41 - 328: 18(fvec4) Load 57(Pos) - Store 322(pos) 328 - 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 332 332 16 16 - 340: 329 Load 337(textureHeight) - 351: 342 Load 348(samplerHeight) - 356: 352 SampledImage 340 351 - 357: 48(fvec2) Load 58(inUV) - 358: 18(fvec4) ImageSampleExplicitLod 356 357 Lod 234 - 359: 8(float) CompositeExtract 358 0 - 361: 305(ptr) AccessChain 213 219 360 - 362: 8(float) Load 361 - 363: 8(float) FMul 359 362 - 364: 158(ptr) AccessChain 322(pos) 36 - 365: 8(float) Load 364 - 366: 8(float) FSub 365 363 - 367: 158(ptr) AccessChain 322(pos) 36 - Store 367 366 - 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 373 373 16 16 - 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 371 370(i) 41 - Store 370(i) 219 - Branch 376 - 376: Label - 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 373 373 16 16 - LoopMerge 378 379 None - Branch 382 - 382: Label - 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 373 373 16 16 - 383: 216(int) Load 370(i) - 386: 52(bool) SLessThan 383 274 - BranchConditional 386 377 378 - 377: Label - 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 390 390 16 16 - 387: 18(fvec4) Load 322(pos) - 392: 216(int) Load 370(i) - 395: 393(ptr) AccessChain 213 219 391 392 - 396: 18(fvec4) Load 395 - 397: 8(float) Dot 387 396 - 399: 8(float) FAdd 397 398 - 400: 52(bool) FOrdLessThan 399 234 - SelectionMerge 402 None - BranchConditional 400 401 402 - 401: Label - 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 406 406 16 16 - ReturnValue 403 - 402: Label - Branch 379 - 379: Label - 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 373 373 16 16 - 408: 216(int) Load 370(i) - 411: 216(int) IAdd 408 220 - Store 370(i) 411 - Branch 376 - 378: Label - 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 414 414 16 16 - ReturnValue 180 + 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 62 59(frustumCheck(vf4;vf2;) + 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 325 + 332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 329 329 16 16 + 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 327 326(pos) 41 + 333: 18(fvec4) Load 57(Pos) + Store 326(pos) 333 + 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 337 337 16 16 + 345: 334 Load 342(textureHeight) + 356: 347 Load 353(samplerHeight) + 361: 357 SampledImage 345 356 + 362: 48(fvec2) Load 58(inUV) + 363: 18(fvec4) ImageSampleExplicitLod 361 362 Lod 237 + 364: 8(float) CompositeExtract 363 0 + 366: 308(ptr) AccessChain 215 222 365 + 367: 8(float) Load 366 + 368: 8(float) FMul 364 367 + 369: 160(ptr) AccessChain 326(pos) 36 + 370: 8(float) Load 369 + 371: 8(float) FSub 370 368 + 372: 160(ptr) AccessChain 326(pos) 36 + Store 372 371 + 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 373 + 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 374 374 16 16 + 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 379 378(i) 41 + Store 378(i) 222 + Branch 384 + 384: Label + 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 373 + 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 374 374 16 16 + LoopMerge 386 387 None + Branch 390 + 390: Label + 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 373 + 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 374 374 16 16 + 391: 219(int) Load 378(i) + 394: 52(bool) SLessThan 391 277 + BranchConditional 394 385 386 + 385: Label + 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 395 + 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 399 399 16 16 + 396: 18(fvec4) Load 326(pos) + 401: 219(int) Load 378(i) + 404: 402(ptr) AccessChain 215 222 400 401 + 405: 18(fvec4) Load 404 + 406: 8(float) Dot 396 405 + 408: 8(float) FAdd 406 407 + 409: 52(bool) FOrdLessThan 408 237 + SelectionMerge 411 None + BranchConditional 409 410 411 + 410: Label + 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 412 + 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 416 416 16 16 + ReturnValue 413 + 411: Label + Branch 387 + 387: Label + 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 373 + 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 374 374 16 16 + 418: 219(int) Load 378(i) + 421: 219(int) IAdd 418 223 + Store 378(i) 421 + Branch 384 + 386: Label + 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 325 + 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 424 424 16 16 + ReturnValue 182 FunctionEnd 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];):97(ConstantsHSOutput) Function None 107 109(patch): 91(ptr) FunctionParameter 111: Label - 422(output): 420(ptr) Variable Function - 432(param): 21(ptr) Variable Function - 437(param): 50(ptr) Variable Function - 472(param): 21(ptr) Variable Function - 478(param): 21(ptr) Variable Function - 483(param): 21(ptr) Variable Function - 488(param): 21(ptr) Variable Function + 433(output): 431(ptr) Variable Function + 444(param): 21(ptr) Variable Function + 449(param): 50(ptr) Variable Function + 487(param): 21(ptr) Variable Function 493(param): 21(ptr) Variable Function 498(param): 21(ptr) Variable Function 503(param): 21(ptr) Variable Function 508(param): 21(ptr) Variable Function + 513(param): 21(ptr) Variable Function + 518(param): 21(ptr) Variable Function + 523(param): 21(ptr) Variable Function 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 88 88 16 16 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 114 109(patch) 41 - 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 113 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) - 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 425 425 16 16 - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 423 422(output) 41 - Store 422(output) 430 - 434: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 435 435 16 16 - 433: 21(ptr) AccessChain 109(patch) 219 219 - 436: 18(fvec4) Load 433 - Store 432(param) 436 - 438: 50(ptr) AccessChain 109(patch) 219 431 - 439: 48(fvec2) Load 438 - Store 437(param) 439 - 440: 52(bool) FunctionCall 59(frustumCheck(vf4;vf2;) 432(param) 437(param) - 441: 52(bool) LogicalNot 440 - SelectionMerge 443 None - BranchConditional 441 442 463 - 442: Label - 445: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 - 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 447 447 16 16 - 444: 158(ptr) AccessChain 422(output) 220 219 - Store 444 234 - 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 450 450 16 16 - 448: 158(ptr) AccessChain 422(output) 220 220 - Store 448 234 - 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 453 453 16 16 - 451: 158(ptr) AccessChain 422(output) 219 219 - Store 451 234 - 455: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 456 456 16 16 - 454: 158(ptr) AccessChain 422(output) 219 220 - Store 454 234 - 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 459 459 16 16 - 457: 158(ptr) AccessChain 422(output) 219 431 - Store 457 234 - 461: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 462 462 16 16 - 460: 158(ptr) AccessChain 422(output) 219 391 - Store 460 234 - Branch 443 - 463: Label - 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 - 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 467 467 16 16 - 464: 305(ptr) AccessChain 213 219 310 - 468: 8(float) Load 464 - 469: 52(bool) FOrdGreaterThan 468 234 - SelectionMerge 471 None - BranchConditional 469 470 529 - 470: Label - 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 - 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 476 476 16 16 - 473: 21(ptr) AccessChain 109(patch) 391 219 - 477: 18(fvec4) Load 473 - Store 472(param) 477 - 479: 21(ptr) AccessChain 109(patch) 219 219 - 480: 18(fvec4) Load 479 - Store 478(param) 480 - 481: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 472(param) 478(param) - 482: 158(ptr) AccessChain 422(output) 219 219 - Store 482 481 - 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 486 486 16 16 - 484: 21(ptr) AccessChain 109(patch) 219 219 - 487: 18(fvec4) Load 484 - Store 483(param) 487 - 489: 21(ptr) AccessChain 109(patch) 220 219 - 490: 18(fvec4) Load 489 - Store 488(param) 490 - 491: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 483(param) 488(param) - 492: 158(ptr) AccessChain 422(output) 219 220 - Store 492 491 - 495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 496 496 16 16 - 494: 21(ptr) AccessChain 109(patch) 220 219 - 497: 18(fvec4) Load 494 - Store 493(param) 497 - 499: 21(ptr) AccessChain 109(patch) 431 219 - 500: 18(fvec4) Load 499 - Store 498(param) 500 - 501: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 493(param) 498(param) - 502: 158(ptr) AccessChain 422(output) 219 431 - Store 502 501 - 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 506 506 16 16 - 504: 21(ptr) AccessChain 109(patch) 431 219 - 507: 18(fvec4) Load 504 - Store 503(param) 507 - 509: 21(ptr) AccessChain 109(patch) 391 219 - 510: 18(fvec4) Load 509 - Store 508(param) 510 - 511: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 503(param) 508(param) - 512: 158(ptr) AccessChain 422(output) 219 391 - Store 512 511 - 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 515 515 16 16 - 513: 158(ptr) AccessChain 422(output) 219 219 - 516: 8(float) Load 513 - 517: 158(ptr) AccessChain 422(output) 219 391 - 518: 8(float) Load 517 - 519: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 516 518 153 - 520: 158(ptr) AccessChain 422(output) 220 219 - Store 520 519 - 522: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 523 523 16 16 - 521: 158(ptr) AccessChain 422(output) 219 431 - 524: 8(float) Load 521 - 525: 158(ptr) AccessChain 422(output) 219 220 - 526: 8(float) Load 525 - 527: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 524 526 153 - 528: 158(ptr) AccessChain 422(output) 220 220 - Store 528 527 - Branch 471 - 529: Label - 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 - 532: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 533 533 16 16 - 530: 158(ptr) AccessChain 422(output) 220 219 - Store 530 314 - 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 536 536 16 16 - 534: 158(ptr) AccessChain 422(output) 220 220 - Store 534 314 - 538: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 539 539 16 16 - 537: 158(ptr) AccessChain 422(output) 219 219 - Store 537 314 - 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 542 542 16 16 - 540: 158(ptr) AccessChain 422(output) 219 220 - Store 540 314 - 544: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 545 545 16 16 - 543: 158(ptr) AccessChain 422(output) 219 431 - Store 543 314 - 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 548 548 16 16 - 546: 158(ptr) AccessChain 422(output) 219 391 - Store 546 314 - Branch 471 - 471: Label - Branch 443 - 443: Label - 550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 - 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 552 552 16 16 - 549:97(ConstantsHSOutput) Load 422(output) - ReturnValue 549 + 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 113 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) + 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 430 + 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 436 436 16 16 + 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 434 433(output) 41 + Store 433(output) 442 + 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 447 447 16 16 + 445: 21(ptr) AccessChain 109(patch) 222 222 + 448: 18(fvec4) Load 445 + Store 444(param) 448 + 450: 50(ptr) AccessChain 109(patch) 222 443 + 451: 48(fvec2) Load 450 + Store 449(param) 451 + 452: 52(bool) FunctionCall 59(frustumCheck(vf4;vf2;) 444(param) 449(param) + 453: 52(bool) LogicalNot 452 + SelectionMerge 455 None + BranchConditional 453 454 476 + 454: Label + 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 456 + 459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 460 460 16 16 + 457: 160(ptr) AccessChain 433(output) 223 222 + Store 457 237 + 462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 463 463 16 16 + 461: 160(ptr) AccessChain 433(output) 223 223 + Store 461 237 + 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 466 466 16 16 + 464: 160(ptr) AccessChain 433(output) 222 222 + Store 464 237 + 468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 469 469 16 16 + 467: 160(ptr) AccessChain 433(output) 222 223 + Store 467 237 + 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 472 472 16 16 + 470: 160(ptr) AccessChain 433(output) 222 443 + Store 470 237 + 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 475 475 16 16 + 473: 160(ptr) AccessChain 433(output) 222 400 + Store 473 237 + Branch 455 + 476: Label + 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 477 + 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 481 481 16 16 + 478: 308(ptr) AccessChain 215 222 313 + 482: 8(float) Load 478 + 483: 52(bool) FOrdGreaterThan 482 237 + SelectionMerge 485 None + BranchConditional 483 484 544 + 484: Label + 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 486 + 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 491 491 16 16 + 488: 21(ptr) AccessChain 109(patch) 400 222 + 492: 18(fvec4) Load 488 + Store 487(param) 492 + 494: 21(ptr) AccessChain 109(patch) 222 222 + 495: 18(fvec4) Load 494 + Store 493(param) 495 + 496: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 487(param) 493(param) + 497: 160(ptr) AccessChain 433(output) 222 222 + Store 497 496 + 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 501 501 16 16 + 499: 21(ptr) AccessChain 109(patch) 222 222 + 502: 18(fvec4) Load 499 + Store 498(param) 502 + 504: 21(ptr) AccessChain 109(patch) 223 222 + 505: 18(fvec4) Load 504 + Store 503(param) 505 + 506: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 498(param) 503(param) + 507: 160(ptr) AccessChain 433(output) 222 223 + Store 507 506 + 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 511 511 16 16 + 509: 21(ptr) AccessChain 109(patch) 223 222 + 512: 18(fvec4) Load 509 + Store 508(param) 512 + 514: 21(ptr) AccessChain 109(patch) 443 222 + 515: 18(fvec4) Load 514 + Store 513(param) 515 + 516: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 508(param) 513(param) + 517: 160(ptr) AccessChain 433(output) 222 443 + Store 517 516 + 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 521 521 16 16 + 519: 21(ptr) AccessChain 109(patch) 443 222 + 522: 18(fvec4) Load 519 + Store 518(param) 522 + 524: 21(ptr) AccessChain 109(patch) 400 222 + 525: 18(fvec4) Load 524 + Store 523(param) 525 + 526: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 518(param) 523(param) + 527: 160(ptr) AccessChain 433(output) 222 400 + Store 527 526 + 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 530 530 16 16 + 528: 160(ptr) AccessChain 433(output) 222 222 + 531: 8(float) Load 528 + 532: 160(ptr) AccessChain 433(output) 222 400 + 533: 8(float) Load 532 + 534: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 531 533 155 + 535: 160(ptr) AccessChain 433(output) 223 222 + Store 535 534 + 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 538 538 16 16 + 536: 160(ptr) AccessChain 433(output) 222 443 + 539: 8(float) Load 536 + 540: 160(ptr) AccessChain 433(output) 222 223 + 541: 8(float) Load 540 + 542: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 539 541 155 + 543: 160(ptr) AccessChain 433(output) 223 223 + Store 543 542 + Branch 485 + 544: Label + 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 545 + 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 549 549 16 16 + 546: 160(ptr) AccessChain 433(output) 223 222 + Store 546 317 + 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 552 552 16 16 + 550: 160(ptr) AccessChain 433(output) 223 223 + Store 550 317 + 554: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 555 555 16 16 + 553: 160(ptr) AccessChain 433(output) 222 222 + Store 553 317 + 557: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 558 558 16 16 + 556: 160(ptr) AccessChain 433(output) 222 223 + Store 556 317 + 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 561 561 16 16 + 559: 160(ptr) AccessChain 433(output) 222 443 + Store 559 317 + 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 564 564 16 16 + 562: 160(ptr) AccessChain 433(output) 222 400 + Store 562 317 + Branch 485 + 485: Label + Branch 455 + 455: Label + 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 430 + 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 568 568 16 16 + 565:97(ConstantsHSOutput) Load 433(output) + ReturnValue 565 FunctionEnd 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;):121(HSOutput) Function None 131 133(patch): 91(ptr) FunctionParameter 134(InvocationID): 119(ptr) FunctionParameter 136: Label - 560(output): 558(ptr) Variable Function + 577(output): 575(ptr) Variable Function 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 138 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 130 130 16 16 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 139 133(patch) 41 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 143 134(InvocationID) 41 - 557: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 138 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) - 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 562 562 16 16 - 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 561 560(output) 41 - Store 560(output) 567 - 569: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 570 570 16 16 - 568: 11(int) Load 134(InvocationID) - 571: 21(ptr) AccessChain 133(patch) 568 219 - 572: 18(fvec4) Load 571 - 573: 21(ptr) AccessChain 560(output) 219 - Store 573 572 - 575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 576 576 16 16 - 574: 11(int) Load 134(InvocationID) - 579: 577(ptr) AccessChain 133(patch) 574 220 - 580: 72(fvec3) Load 579 - 581: 577(ptr) AccessChain 560(output) 220 - Store 581 580 - 583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 584 584 16 16 - 582: 11(int) Load 134(InvocationID) - 585: 50(ptr) AccessChain 133(patch) 582 431 - 586: 48(fvec2) Load 585 - 587: 50(ptr) AccessChain 560(output) 431 - Store 587 586 - 589: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 590 590 16 16 - 588:121(HSOutput) Load 560(output) - ReturnValue 588 + 573: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 138 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) + 581: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 574 + 582: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 579 579 16 16 + 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 578 577(output) 41 + Store 577(output) 585 + 587: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 588 588 16 16 + 586: 11(int) Load 134(InvocationID) + 589: 21(ptr) AccessChain 133(patch) 586 222 + 590: 18(fvec4) Load 589 + 591: 21(ptr) AccessChain 577(output) 222 + Store 591 590 + 593: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 594 594 16 16 + 592: 11(int) Load 134(InvocationID) + 597: 595(ptr) AccessChain 133(patch) 592 223 + 598: 72(fvec3) Load 597 + 599: 595(ptr) AccessChain 577(output) 223 + Store 599 598 + 601: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 602 602 16 16 + 600: 11(int) Load 134(InvocationID) + 603: 50(ptr) AccessChain 133(patch) 600 443 + 604: 48(fvec2) Load 603 + 605: 50(ptr) AccessChain 577(output) 443 + Store 605 604 + 607: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 608 608 16 16 + 606:121(HSOutput) Load 577(output) + ReturnValue 606 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.tese.out b/Test/baseResults/spv.debuginfo.hlsl.tese.out index 230e96a8..22e613d6 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.tese.out +++ b/Test/baseResults/spv.debuginfo.hlsl.tese.out @@ -1,16 +1,16 @@ spv.debuginfo.hlsl.tese // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 478 +// Id's are bound by 481 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationEvaluation 6 "main" 369 384 393 402 409 415 455 459 463 466 469 472 475 + EntryPoint TessellationEvaluation 6 "main" 372 387 396 405 412 418 458 462 466 469 472 475 478 ExecutionMode 6 Quads - 2: String "" + 2: String "spv.debuginfo.hlsl.tese" 9: String "float" 12: String "uint" 26: String "TessLevelOuter" @@ -22,6 +22,100 @@ spv.debuginfo.hlsl.tese // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 +/* +The MIT License (MIT) + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +struct UBO +{ + float4x4 projection; + float4x4 modelview; + float4 lightPos; + float4 frustumPlanes[6]; + float displacementFactor; + float tessellationFactor; + float2 viewportDim; + float tessellatedEdgeSize; +}; +cbuffer ubo : register(b0) { UBO ubo; }; + +Texture2D displacementMapTexture : register(t1); +SamplerState displacementMapSampler : register(s1); + +struct HSOutput +{ +[[vk::location(2)]] float4 Pos : SV_POSITION; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float2 UV : TEXCOORD0; +}; + +struct ConstantsHSOutput +{ + float TessLevelOuter[4] : SV_TessFactor; + float TessLevelInner[2] : SV_InsideTessFactor; +}; + +struct DSOutput +{ + float4 Pos : SV_POSITION; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float2 UV : TEXCOORD0; +[[vk::location(2)]] float3 ViewVec : TEXCOORD1; +[[vk::location(3)]] float3 LightVec : TEXCOORD2; +[[vk::location(4)]] float3 EyePos : POSITION1; +[[vk::location(5)]] float3 WorldPos : POSITION0; +}; + +[domain("quad")] +DSOutput main(ConstantsHSOutput input, float2 TessCoord : SV_DomainLocation, const OutputPatch patch) +{ + // Interpolate UV coordinates + DSOutput output = (DSOutput)0; + float2 uv1 = lerp(patch[0].UV, patch[1].UV, TessCoord.x); + float2 uv2 = lerp(patch[3].UV, patch[2].UV, TessCoord.x); + output.UV = lerp(uv1, uv2, TessCoord.y); + + float3 n1 = lerp(patch[0].Normal, patch[1].Normal, TessCoord.x); + float3 n2 = lerp(patch[3].Normal, patch[2].Normal, TessCoord.x); + output.Normal = lerp(n1, n2, TessCoord.y); + + // Interpolate positions + float4 pos1 = lerp(patch[0].Pos, patch[1].Pos, TessCoord.x); + float4 pos2 = lerp(patch[3].Pos, patch[2].Pos, TessCoord.x); + float4 pos = lerp(pos1, pos2, TessCoord.y); + // Displace + pos.y -= displacementMapTexture.SampleLevel(displacementMapSampler, output.UV, 0.0).r * ubo.displacementFactor; + // Perspective projection + output.Pos = mul(ubo.projection, mul(ubo.modelview, pos)); + + // Calculate vectors for lighting based on tessellated position + output.ViewVec = -pos.xyz; + output.LightVec = normalize(ubo.lightPos.xyz + output.ViewVec); + output.WorldPos = pos.xyz; + output.EyePos = mul(ubo.modelview, pos).xyz; + return output; +} " 32: String "TessLevelInner" 35: String "ConstantsHSOutput" @@ -35,31 +129,32 @@ spv.debuginfo.hlsl.tese 93: String "input" 99: String "TessCoord" 102: String "patch" - 109: String "output" - 120: String "uv1" - 125: String "int" - 140: String "uv2" - 164: String "n1" - 176: String "n2" - 199: String "pos1" - 211: String "pos2" - 223: String "pos" - 235: String "type.2d.image" - 237: String "@type.2d.image" - 243: String "displacementMapTexture" - 249: String "type.sampler" - 250: String "@type.sampler" - 255: String "displacementMapSampler" - 259: String "type.sampled.image" - 260: String "@type.sampled.image" - 269: String "bool" - 276: String "modelview" - 281: String "lightPos" - 285: String "frustumPlanes" - 288: String "tessellatedEdgeSize" - 292: String "viewportDim" - 296: String "UBO" - 299: String "ubo" + 110: String "output" + 122: String "uv1" + 127: String "int" + 142: String "uv2" + 166: String "n1" + 178: String "n2" + 201: String "pos1" + 213: String "pos2" + 225: String "pos" + 237: String "type.2d.image" + 239: String "@type.2d.image" + 245: String "displacementMapTexture" + 251: String "type.sampler" + 252: String "@type.sampler" + 257: String "displacementMapSampler" + 261: String "type.sampled.image" + 262: String "@type.sampled.image" + 271: String "bool" + 278: String "modelview" + 283: String "lightPos" + 287: String "frustumPlanes" + 290: String "tessellatedEdgeSize" + 294: String "viewportDim" + 298: String "UBO" + 301: String "ubo" + 307: String "" Name 6 "main" Name 24 "ConstantsHSOutput" MemberName 24(ConstantsHSOutput) 0 "TessLevelOuter" @@ -80,84 +175,84 @@ spv.debuginfo.hlsl.tese Name 85 "input" Name 86 "TessCoord" Name 87 "patch" - Name 107 "output" - Name 118 "uv1" - Name 138 "uv2" - Name 162 "n1" - Name 174 "n2" - Name 197 "pos1" - Name 209 "pos2" - Name 221 "pos" - Name 241 "displacementMapTexture" - Name 253 "displacementMapSampler" - Name 274 "UBO" - MemberName 274(UBO) 0 "projection" - MemberName 274(UBO) 1 "modelview" - MemberName 274(UBO) 2 "lightPos" - MemberName 274(UBO) 3 "frustumPlanes" - MemberName 274(UBO) 4 "displacementFactor" - MemberName 274(UBO) 5 "tessellationFactor" - MemberName 274(UBO) 6 "viewportDim" - MemberName 274(UBO) 7 "tessellatedEdgeSize" - Name 297 "ubo" - MemberName 297(ubo) 0 "ubo" - Name 303 "" - Name 367 "input" - Name 369 "input.TessLevelOuter" - Name 384 "input.TessLevelInner" - Name 391 "TessCoord" - Name 393 "TessCoord" - Name 399 "patch" - Name 402 "patch.Pos" - Name 409 "patch.Normal" - Name 415 "patch.UV" - Name 447 "flattenTemp" - Name 449 "param" - Name 451 "param" - Name 455 "@entryPointOutput.Pos" - Name 459 "@entryPointOutput.Normal" - Name 463 "@entryPointOutput.UV" - Name 466 "@entryPointOutput.ViewVec" - Name 469 "@entryPointOutput.LightVec" - Name 472 "@entryPointOutput.EyePos" - Name 475 "@entryPointOutput.WorldPos" - Decorate 241(displacementMapTexture) Binding 1 - Decorate 241(displacementMapTexture) DescriptorSet 0 - Decorate 253(displacementMapSampler) Binding 1 - Decorate 253(displacementMapSampler) DescriptorSet 0 - Decorate 272 ArrayStride 16 - MemberDecorate 274(UBO) 0 RowMajor - MemberDecorate 274(UBO) 0 MatrixStride 16 - MemberDecorate 274(UBO) 0 Offset 0 - MemberDecorate 274(UBO) 1 RowMajor - MemberDecorate 274(UBO) 1 MatrixStride 16 - MemberDecorate 274(UBO) 1 Offset 64 - MemberDecorate 274(UBO) 2 Offset 128 - MemberDecorate 274(UBO) 3 Offset 144 - MemberDecorate 274(UBO) 4 Offset 240 - MemberDecorate 274(UBO) 5 Offset 244 - MemberDecorate 274(UBO) 6 Offset 248 - MemberDecorate 274(UBO) 7 Offset 256 - Decorate 297(ubo) Block - MemberDecorate 297(ubo) 0 Offset 0 - Decorate 303 Binding 0 - Decorate 303 DescriptorSet 0 - Decorate 369(input.TessLevelOuter) BuiltIn TessLevelOuter - Decorate 369(input.TessLevelOuter) Patch - Decorate 384(input.TessLevelInner) BuiltIn TessLevelInner - Decorate 384(input.TessLevelInner) Patch - Decorate 393(TessCoord) BuiltIn TessCoord - Decorate 393(TessCoord) Patch - Decorate 402(patch.Pos) BuiltIn Position - Decorate 409(patch.Normal) Location 0 - Decorate 415(patch.UV) Location 1 - Decorate 455(@entryPointOutput.Pos) BuiltIn Position - Decorate 459(@entryPointOutput.Normal) Location 0 - Decorate 463(@entryPointOutput.UV) Location 1 - Decorate 466(@entryPointOutput.ViewVec) Location 2 - Decorate 469(@entryPointOutput.LightVec) Location 3 - Decorate 472(@entryPointOutput.EyePos) Location 4 - Decorate 475(@entryPointOutput.WorldPos) Location 5 + Name 108 "output" + Name 120 "uv1" + Name 140 "uv2" + Name 164 "n1" + Name 176 "n2" + Name 199 "pos1" + Name 211 "pos2" + Name 223 "pos" + Name 243 "displacementMapTexture" + Name 255 "displacementMapSampler" + Name 276 "UBO" + MemberName 276(UBO) 0 "projection" + MemberName 276(UBO) 1 "modelview" + MemberName 276(UBO) 2 "lightPos" + MemberName 276(UBO) 3 "frustumPlanes" + MemberName 276(UBO) 4 "displacementFactor" + MemberName 276(UBO) 5 "tessellationFactor" + MemberName 276(UBO) 6 "viewportDim" + MemberName 276(UBO) 7 "tessellatedEdgeSize" + Name 299 "ubo" + MemberName 299(ubo) 0 "ubo" + Name 305 "" + Name 370 "input" + Name 372 "input.TessLevelOuter" + Name 387 "input.TessLevelInner" + Name 394 "TessCoord" + Name 396 "TessCoord" + Name 402 "patch" + Name 405 "patch.Pos" + Name 412 "patch.Normal" + Name 418 "patch.UV" + Name 450 "flattenTemp" + Name 452 "param" + Name 454 "param" + Name 458 "@entryPointOutput.Pos" + Name 462 "@entryPointOutput.Normal" + Name 466 "@entryPointOutput.UV" + Name 469 "@entryPointOutput.ViewVec" + Name 472 "@entryPointOutput.LightVec" + Name 475 "@entryPointOutput.EyePos" + Name 478 "@entryPointOutput.WorldPos" + Decorate 243(displacementMapTexture) Binding 1 + Decorate 243(displacementMapTexture) DescriptorSet 0 + Decorate 255(displacementMapSampler) Binding 1 + Decorate 255(displacementMapSampler) DescriptorSet 0 + Decorate 274 ArrayStride 16 + MemberDecorate 276(UBO) 0 RowMajor + MemberDecorate 276(UBO) 0 MatrixStride 16 + MemberDecorate 276(UBO) 0 Offset 0 + MemberDecorate 276(UBO) 1 RowMajor + MemberDecorate 276(UBO) 1 MatrixStride 16 + MemberDecorate 276(UBO) 1 Offset 64 + MemberDecorate 276(UBO) 2 Offset 128 + MemberDecorate 276(UBO) 3 Offset 144 + MemberDecorate 276(UBO) 4 Offset 240 + MemberDecorate 276(UBO) 5 Offset 244 + MemberDecorate 276(UBO) 6 Offset 248 + MemberDecorate 276(UBO) 7 Offset 256 + Decorate 299(ubo) Block + MemberDecorate 299(ubo) 0 Offset 0 + Decorate 305 Binding 0 + Decorate 305 DescriptorSet 0 + Decorate 372(input.TessLevelOuter) BuiltIn TessLevelOuter + Decorate 372(input.TessLevelOuter) Patch + Decorate 387(input.TessLevelInner) BuiltIn TessLevelInner + Decorate 387(input.TessLevelInner) Patch + Decorate 396(TessCoord) BuiltIn TessCoord + Decorate 396(TessCoord) Patch + Decorate 405(patch.Pos) BuiltIn Position + Decorate 412(patch.Normal) Location 0 + Decorate 418(patch.UV) Location 1 + Decorate 458(@entryPointOutput.Pos) BuiltIn Position + Decorate 462(@entryPointOutput.Normal) Location 0 + Decorate 466(@entryPointOutput.UV) Location 1 + Decorate 469(@entryPointOutput.ViewVec) Location 2 + Decorate 472(@entryPointOutput.LightVec) Location 3 + Decorate 475(@entryPointOutput.EyePos) Location 4 + Decorate 478(@entryPointOutput.WorldPos) Location 5 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -230,248 +325,249 @@ spv.debuginfo.hlsl.tese 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 44 27 37 16 91 18 21 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 102 63 27 37 16 91 18 17 - 105: TypePointer Function 67(DSOutput) - 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 81 41 16 - 110: 11(int) Constant 70 - 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 109 81 27 110 16 91 18 - 113: 8(float) Constant 0 - 114: 47(fvec4) ConstantComposite 113 113 113 113 - 115: 49(fvec3) ConstantComposite 113 113 113 - 116: 43(fvec2) ConstantComposite 113 113 - 117:67(DSOutput) ConstantComposite 114 115 116 115 115 115 115 - 121: 11(int) Constant 71 - 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 120 44 27 121 16 91 18 - 124: TypeInt 32 1 - 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 125 14 18 16 - 127: 124(int) Constant 0 - 128: 124(int) Constant 2 - 130: 124(int) Constant 1 - 132: TypePointer Function 8(float) - 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 41 16 - 141: 11(int) Constant 72 - 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 140 44 27 141 16 91 18 - 144: 124(int) Constant 3 - 153: 11(int) Constant 73 - 160: TypePointer Function 49(fvec3) - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 50 41 16 - 165: 11(int) Constant 75 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 50 27 165 16 91 18 - 177: 11(int) Constant 76 - 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 176 50 27 177 16 91 18 - 188: 11(int) Constant 77 - 195: TypePointer Function 47(fvec4) - 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 48 41 16 - 200: 11(int) Constant 80 - 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 199 48 27 200 16 91 18 - 212: 11(int) Constant 81 - 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 211 48 27 212 16 91 18 - 224: 11(int) Constant 82 - 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 223 48 27 224 16 91 18 - 233: TypeImage 8(float) 2D sampled format:Unknown - 236: 11(int) Constant 84 - 238: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 235 16 27 236 16 38 237 238 17 - 239: TypePointer UniformConstant 233 - 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 234 16 16 -241(displacementMapTexture): 239(ptr) Variable UniformConstant - 244: 11(int) Constant 8 - 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 243 234 27 236 16 38 243 241(displacementMapTexture) 244 - 247: TypeSampler - 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 249 36 27 236 16 38 250 238 17 - 251: TypePointer UniformConstant 247 - 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 248 16 16 -253(displacementMapSampler): 251(ptr) Variable UniformConstant - 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 255 248 27 236 16 38 255 253(displacementMapSampler) 244 - 257: TypeSampledImage 233 - 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 259 16 27 236 16 38 260 238 17 - 266: TypeMatrix 47(fvec4) 4 - 268: TypeBool - 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 269 14 21 16 - 271: 268(bool) ConstantTrue - 267: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 48 18 271 - 272: TypeArray 47(fvec4) 15 - 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 48 15 - 274(UBO): TypeStruct 266 266 47(fvec4) 272 8(float) 8(float) 43(fvec2) 8(float) - 277: 11(int) Constant 29 - 278: 11(int) Constant 20 - 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 276 267 27 277 278 16 16 17 - 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 276 267 27 277 278 16 16 17 - 282: 11(int) Constant 30 - 283: 11(int) Constant 17 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 281 48 27 282 283 16 16 17 - 286: 11(int) Constant 22 - 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 285 273 27 62 286 16 16 17 - 289: 11(int) Constant 27 - 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 58 289 16 16 17 - 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 58 289 16 16 17 - 293: 11(int) Constant 34 - 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 292 44 27 293 278 16 16 17 - 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 58 289 16 16 17 - 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 296 36 27 236 16 38 296 16 17 275 279 280 284 287 290 291 294 - 297(ubo): TypeStruct 274(UBO) - 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 299 295 27 74 74 16 16 17 - 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 299 36 27 236 16 38 299 16 17 298 - 301: TypePointer Uniform 297(ubo) - 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 300 21 16 - 303: 301(ptr) Variable Uniform - 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 300 27 236 16 38 2 303 244 - 305: 124(int) Constant 4 - 306: TypePointer Uniform 8(float) - 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 - 317: 11(int) Constant 86 - 318: TypePointer Uniform 266 - 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 267 21 16 - 329: 11(int) Constant 89 - 333: TypePointer Uniform 47(fvec4) - 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 48 21 16 - 337: 11(int) Constant 90 - 345: 124(int) Constant 6 - 348: 11(int) Constant 91 - 351: 124(int) Constant 5 - 354: 11(int) Constant 92 - 362: 11(int) Constant 93 - 368: TypePointer Input 19 -369(input.TessLevelOuter): 368(ptr) Variable Input - 370: TypePointer Input 8(float) - 383: TypePointer Input 22 -384(input.TessLevelInner): 383(ptr) Variable Input - 392: TypePointer Input 49(fvec3) - 393(TessCoord): 392(ptr) Variable Input - 398: TypePointer Function 65 - 400: TypeArray 47(fvec4) 18 - 401: TypePointer Input 400 - 402(patch.Pos): 401(ptr) Variable Input - 403: TypePointer Input 47(fvec4) - 407: TypeArray 49(fvec3) 18 - 408: TypePointer Input 407 -409(patch.Normal): 408(ptr) Variable Input - 413: TypeArray 43(fvec2) 18 - 414: TypePointer Input 413 - 415(patch.UV): 414(ptr) Variable Input - 416: TypePointer Input 43(fvec2) - 454: TypePointer Output 47(fvec4) -455(@entryPointOutput.Pos): 454(ptr) Variable Output - 458: TypePointer Output 49(fvec3) -459(@entryPointOutput.Normal): 458(ptr) Variable Output - 462: TypePointer Output 43(fvec2) -463(@entryPointOutput.UV): 462(ptr) Variable Output -466(@entryPointOutput.ViewVec): 458(ptr) Variable Output -469(@entryPointOutput.LightVec): 458(ptr) Variable Output -472(@entryPointOutput.EyePos): 458(ptr) Variable Output -475(@entryPointOutput.WorldPos): 458(ptr) Variable Output + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 27 16 16 91 + 106: TypePointer Function 67(DSOutput) + 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 81 41 16 + 111: 11(int) Constant 70 + 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 110 81 27 111 16 105 18 + 115: 8(float) Constant 0 + 116: 47(fvec4) ConstantComposite 115 115 115 115 + 117: 49(fvec3) ConstantComposite 115 115 115 + 118: 43(fvec2) ConstantComposite 115 115 + 119:67(DSOutput) ConstantComposite 116 117 118 117 117 117 117 + 123: 11(int) Constant 71 + 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 122 44 27 123 16 105 18 + 126: TypeInt 32 1 + 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 127 14 18 16 + 129: 126(int) Constant 0 + 130: 126(int) Constant 2 + 132: 126(int) Constant 1 + 134: TypePointer Function 8(float) + 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 41 16 + 143: 11(int) Constant 72 + 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 142 44 27 143 16 105 18 + 146: 126(int) Constant 3 + 155: 11(int) Constant 73 + 162: TypePointer Function 49(fvec3) + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 50 41 16 + 167: 11(int) Constant 75 + 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 166 50 27 167 16 105 18 + 179: 11(int) Constant 76 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 178 50 27 179 16 105 18 + 190: 11(int) Constant 77 + 197: TypePointer Function 47(fvec4) + 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 48 41 16 + 202: 11(int) Constant 80 + 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 201 48 27 202 16 105 18 + 214: 11(int) Constant 81 + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 213 48 27 214 16 105 18 + 226: 11(int) Constant 82 + 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 225 48 27 226 16 105 18 + 235: TypeImage 8(float) 2D sampled format:Unknown + 238: 11(int) Constant 84 + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 237 16 27 238 16 38 239 240 17 + 241: TypePointer UniformConstant 235 + 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 236 16 16 +243(displacementMapTexture): 241(ptr) Variable UniformConstant + 246: 11(int) Constant 8 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 245 236 27 238 16 38 245 243(displacementMapTexture) 246 + 249: TypeSampler + 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 251 36 27 238 16 38 252 240 17 + 253: TypePointer UniformConstant 249 + 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 250 16 16 +255(displacementMapSampler): 253(ptr) Variable UniformConstant + 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 257 250 27 238 16 38 257 255(displacementMapSampler) 246 + 259: TypeSampledImage 235 + 260: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 261 16 27 238 16 38 262 240 17 + 268: TypeMatrix 47(fvec4) 4 + 270: TypeBool + 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 271 14 21 16 + 273: 270(bool) ConstantTrue + 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 48 18 273 + 274: TypeArray 47(fvec4) 15 + 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 48 15 + 276(UBO): TypeStruct 268 268 47(fvec4) 274 8(float) 8(float) 43(fvec2) 8(float) + 279: 11(int) Constant 29 + 280: 11(int) Constant 20 + 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 278 269 27 279 280 16 16 17 + 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 278 269 27 279 280 16 16 17 + 284: 11(int) Constant 30 + 285: 11(int) Constant 17 + 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 283 48 27 284 285 16 16 17 + 288: 11(int) Constant 22 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 287 275 27 62 288 16 16 17 + 291: 11(int) Constant 27 + 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 290 10 27 58 291 16 16 17 + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 290 10 27 58 291 16 16 17 + 295: 11(int) Constant 34 + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 294 44 27 295 280 16 16 17 + 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 290 10 27 58 291 16 16 17 + 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 298 36 27 238 16 38 298 16 17 277 281 282 286 289 292 293 296 + 299(ubo): TypeStruct 276(UBO) + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 301 297 27 74 74 16 16 17 + 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 301 36 27 238 16 38 301 16 17 300 + 303: TypePointer Uniform 299(ubo) + 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 302 21 16 + 305: 303(ptr) Variable Uniform + 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 307 302 27 238 16 38 307 305 246 + 308: 126(int) Constant 4 + 309: TypePointer Uniform 8(float) + 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 + 320: 11(int) Constant 86 + 321: TypePointer Uniform 268 + 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 269 21 16 + 332: 11(int) Constant 89 + 336: TypePointer Uniform 47(fvec4) + 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 48 21 16 + 340: 11(int) Constant 90 + 348: 126(int) Constant 6 + 351: 11(int) Constant 91 + 354: 126(int) Constant 5 + 357: 11(int) Constant 92 + 365: 11(int) Constant 93 + 371: TypePointer Input 19 +372(input.TessLevelOuter): 371(ptr) Variable Input + 373: TypePointer Input 8(float) + 386: TypePointer Input 22 +387(input.TessLevelInner): 386(ptr) Variable Input + 395: TypePointer Input 49(fvec3) + 396(TessCoord): 395(ptr) Variable Input + 401: TypePointer Function 65 + 403: TypeArray 47(fvec4) 18 + 404: TypePointer Input 403 + 405(patch.Pos): 404(ptr) Variable Input + 406: TypePointer Input 47(fvec4) + 410: TypeArray 49(fvec3) 18 + 411: TypePointer Input 410 +412(patch.Normal): 411(ptr) Variable Input + 416: TypeArray 43(fvec2) 18 + 417: TypePointer Input 416 + 418(patch.UV): 417(ptr) Variable Input + 419: TypePointer Input 43(fvec2) + 457: TypePointer Output 47(fvec4) +458(@entryPointOutput.Pos): 457(ptr) Variable Output + 461: TypePointer Output 49(fvec3) +462(@entryPointOutput.Normal): 461(ptr) Variable Output + 465: TypePointer Output 43(fvec2) +466(@entryPointOutput.UV): 465(ptr) Variable Output +469(@entryPointOutput.ViewVec): 461(ptr) Variable Output +472(@entryPointOutput.LightVec): 461(ptr) Variable Output +475(@entryPointOutput.EyePos): 461(ptr) Variable Output +478(@entryPointOutput.WorldPos): 461(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 367(input): 40(ptr) Variable Function - 391(TessCoord): 45(ptr) Variable Function - 399(patch): 398(ptr) Variable Function -447(flattenTemp): 105(ptr) Variable Function - 449(param): 40(ptr) Variable Function - 451(param): 45(ptr) Variable Function - 371: 370(ptr) AccessChain 369(input.TessLevelOuter) 127 - 372: 8(float) Load 371 - 373: 132(ptr) AccessChain 367(input) 127 127 - Store 373 372 - 374: 370(ptr) AccessChain 369(input.TessLevelOuter) 130 + 370(input): 40(ptr) Variable Function + 394(TessCoord): 45(ptr) Variable Function + 402(patch): 401(ptr) Variable Function +450(flattenTemp): 106(ptr) Variable Function + 452(param): 40(ptr) Variable Function + 454(param): 45(ptr) Variable Function + 374: 373(ptr) AccessChain 372(input.TessLevelOuter) 129 375: 8(float) Load 374 - 376: 132(ptr) AccessChain 367(input) 127 130 + 376: 134(ptr) AccessChain 370(input) 129 129 Store 376 375 - 377: 370(ptr) AccessChain 369(input.TessLevelOuter) 128 + 377: 373(ptr) AccessChain 372(input.TessLevelOuter) 132 378: 8(float) Load 377 - 379: 132(ptr) AccessChain 367(input) 127 128 + 379: 134(ptr) AccessChain 370(input) 129 132 Store 379 378 - 380: 370(ptr) AccessChain 369(input.TessLevelOuter) 144 + 380: 373(ptr) AccessChain 372(input.TessLevelOuter) 130 381: 8(float) Load 380 - 382: 132(ptr) AccessChain 367(input) 127 144 + 382: 134(ptr) AccessChain 370(input) 129 130 Store 382 381 - 385: 370(ptr) AccessChain 384(input.TessLevelInner) 127 - 386: 8(float) Load 385 - 387: 132(ptr) AccessChain 367(input) 130 127 - Store 387 386 - 388: 370(ptr) AccessChain 384(input.TessLevelInner) 130 + 383: 373(ptr) AccessChain 372(input.TessLevelOuter) 146 + 384: 8(float) Load 383 + 385: 134(ptr) AccessChain 370(input) 129 146 + Store 385 384 + 388: 373(ptr) AccessChain 387(input.TessLevelInner) 129 389: 8(float) Load 388 - 390: 132(ptr) AccessChain 367(input) 130 130 + 390: 134(ptr) AccessChain 370(input) 132 129 Store 390 389 - 394: 49(fvec3) Load 393(TessCoord) - 395: 8(float) CompositeExtract 394 0 - 396: 8(float) CompositeExtract 394 1 - 397: 43(fvec2) CompositeConstruct 395 396 - Store 391(TessCoord) 397 - 404: 403(ptr) AccessChain 402(patch.Pos) 127 - 405: 47(fvec4) Load 404 - 406: 195(ptr) AccessChain 399(patch) 127 127 - Store 406 405 - 410: 392(ptr) AccessChain 409(patch.Normal) 127 - 411: 49(fvec3) Load 410 - 412: 160(ptr) AccessChain 399(patch) 127 130 - Store 412 411 - 417: 416(ptr) AccessChain 415(patch.UV) 127 - 418: 43(fvec2) Load 417 - 419: 45(ptr) AccessChain 399(patch) 127 128 - Store 419 418 - 420: 403(ptr) AccessChain 402(patch.Pos) 130 - 421: 47(fvec4) Load 420 - 422: 195(ptr) AccessChain 399(patch) 130 127 + 391: 373(ptr) AccessChain 387(input.TessLevelInner) 132 + 392: 8(float) Load 391 + 393: 134(ptr) AccessChain 370(input) 132 132 + Store 393 392 + 397: 49(fvec3) Load 396(TessCoord) + 398: 8(float) CompositeExtract 397 0 + 399: 8(float) CompositeExtract 397 1 + 400: 43(fvec2) CompositeConstruct 398 399 + Store 394(TessCoord) 400 + 407: 406(ptr) AccessChain 405(patch.Pos) 129 + 408: 47(fvec4) Load 407 + 409: 197(ptr) AccessChain 402(patch) 129 129 + Store 409 408 + 413: 395(ptr) AccessChain 412(patch.Normal) 129 + 414: 49(fvec3) Load 413 + 415: 162(ptr) AccessChain 402(patch) 129 132 + Store 415 414 + 420: 419(ptr) AccessChain 418(patch.UV) 129 + 421: 43(fvec2) Load 420 + 422: 45(ptr) AccessChain 402(patch) 129 130 Store 422 421 - 423: 392(ptr) AccessChain 409(patch.Normal) 130 - 424: 49(fvec3) Load 423 - 425: 160(ptr) AccessChain 399(patch) 130 130 + 423: 406(ptr) AccessChain 405(patch.Pos) 132 + 424: 47(fvec4) Load 423 + 425: 197(ptr) AccessChain 402(patch) 132 129 Store 425 424 - 426: 416(ptr) AccessChain 415(patch.UV) 130 - 427: 43(fvec2) Load 426 - 428: 45(ptr) AccessChain 399(patch) 130 128 + 426: 395(ptr) AccessChain 412(patch.Normal) 132 + 427: 49(fvec3) Load 426 + 428: 162(ptr) AccessChain 402(patch) 132 132 Store 428 427 - 429: 403(ptr) AccessChain 402(patch.Pos) 128 - 430: 47(fvec4) Load 429 - 431: 195(ptr) AccessChain 399(patch) 128 127 + 429: 419(ptr) AccessChain 418(patch.UV) 132 + 430: 43(fvec2) Load 429 + 431: 45(ptr) AccessChain 402(patch) 132 130 Store 431 430 - 432: 392(ptr) AccessChain 409(patch.Normal) 128 - 433: 49(fvec3) Load 432 - 434: 160(ptr) AccessChain 399(patch) 128 130 + 432: 406(ptr) AccessChain 405(patch.Pos) 130 + 433: 47(fvec4) Load 432 + 434: 197(ptr) AccessChain 402(patch) 130 129 Store 434 433 - 435: 416(ptr) AccessChain 415(patch.UV) 128 - 436: 43(fvec2) Load 435 - 437: 45(ptr) AccessChain 399(patch) 128 128 + 435: 395(ptr) AccessChain 412(patch.Normal) 130 + 436: 49(fvec3) Load 435 + 437: 162(ptr) AccessChain 402(patch) 130 132 Store 437 436 - 438: 403(ptr) AccessChain 402(patch.Pos) 144 - 439: 47(fvec4) Load 438 - 440: 195(ptr) AccessChain 399(patch) 144 127 + 438: 419(ptr) AccessChain 418(patch.UV) 130 + 439: 43(fvec2) Load 438 + 440: 45(ptr) AccessChain 402(patch) 130 130 Store 440 439 - 441: 392(ptr) AccessChain 409(patch.Normal) 144 - 442: 49(fvec3) Load 441 - 443: 160(ptr) AccessChain 399(patch) 144 130 + 441: 406(ptr) AccessChain 405(patch.Pos) 146 + 442: 47(fvec4) Load 441 + 443: 197(ptr) AccessChain 402(patch) 146 129 Store 443 442 - 444: 416(ptr) AccessChain 415(patch.UV) 144 - 445: 43(fvec2) Load 444 - 446: 45(ptr) AccessChain 399(patch) 144 128 + 444: 395(ptr) AccessChain 412(patch.Normal) 146 + 445: 49(fvec3) Load 444 + 446: 162(ptr) AccessChain 402(patch) 146 132 Store 446 445 - 448: 65 Load 399(patch) - 450:24(ConstantsHSOutput) Load 367(input) - Store 449(param) 450 - 452: 43(fvec2) Load 391(TessCoord) - Store 451(param) 452 - 453:67(DSOutput) FunctionCall 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 449(param) 451(param) 448 - Store 447(flattenTemp) 453 - 456: 195(ptr) AccessChain 447(flattenTemp) 127 - 457: 47(fvec4) Load 456 - Store 455(@entryPointOutput.Pos) 457 - 460: 160(ptr) AccessChain 447(flattenTemp) 130 - 461: 49(fvec3) Load 460 - Store 459(@entryPointOutput.Normal) 461 - 464: 45(ptr) AccessChain 447(flattenTemp) 128 - 465: 43(fvec2) Load 464 - Store 463(@entryPointOutput.UV) 465 - 467: 160(ptr) AccessChain 447(flattenTemp) 144 - 468: 49(fvec3) Load 467 - Store 466(@entryPointOutput.ViewVec) 468 - 470: 160(ptr) AccessChain 447(flattenTemp) 305 + 447: 419(ptr) AccessChain 418(patch.UV) 146 + 448: 43(fvec2) Load 447 + 449: 45(ptr) AccessChain 402(patch) 146 130 + Store 449 448 + 451: 65 Load 402(patch) + 453:24(ConstantsHSOutput) Load 370(input) + Store 452(param) 453 + 455: 43(fvec2) Load 394(TessCoord) + Store 454(param) 455 + 456:67(DSOutput) FunctionCall 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 452(param) 454(param) 451 + Store 450(flattenTemp) 456 + 459: 197(ptr) AccessChain 450(flattenTemp) 129 + 460: 47(fvec4) Load 459 + Store 458(@entryPointOutput.Pos) 460 + 463: 162(ptr) AccessChain 450(flattenTemp) 132 + 464: 49(fvec3) Load 463 + Store 462(@entryPointOutput.Normal) 464 + 467: 45(ptr) AccessChain 450(flattenTemp) 130 + 468: 43(fvec2) Load 467 + Store 466(@entryPointOutput.UV) 468 + 470: 162(ptr) AccessChain 450(flattenTemp) 146 471: 49(fvec3) Load 470 - Store 469(@entryPointOutput.LightVec) 471 - 473: 160(ptr) AccessChain 447(flattenTemp) 351 + Store 469(@entryPointOutput.ViewVec) 471 + 473: 162(ptr) AccessChain 450(flattenTemp) 308 474: 49(fvec3) Load 473 - Store 472(@entryPointOutput.EyePos) 474 - 476: 160(ptr) AccessChain 447(flattenTemp) 345 + Store 472(@entryPointOutput.LightVec) 474 + 476: 162(ptr) AccessChain 450(flattenTemp) 354 477: 49(fvec3) Load 476 - Store 475(@entryPointOutput.WorldPos) 477 + Store 475(@entryPointOutput.EyePos) 477 + 479: 162(ptr) AccessChain 450(flattenTemp) 348 + 480: 49(fvec3) Load 479 + Store 478(@entryPointOutput.WorldPos) 480 Return FunctionEnd 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];):67(DSOutput) Function None 83 @@ -479,160 +575,161 @@ spv.debuginfo.hlsl.tese 86(TessCoord): 45(ptr) FunctionParameter 87(patch): 65 FunctionParameter 89: Label - 107(output): 105(ptr) Variable Function - 118(uv1): 45(ptr) Variable Function - 138(uv2): 45(ptr) Variable Function - 162(n1): 160(ptr) Variable Function - 174(n2): 160(ptr) Variable Function - 197(pos1): 195(ptr) Variable Function - 209(pos2): 195(ptr) Variable Function - 221(pos): 195(ptr) Variable Function + 108(output): 106(ptr) Variable Function + 120(uv1): 45(ptr) Variable Function + 140(uv2): 45(ptr) Variable Function + 164(n1): 162(ptr) Variable Function + 176(n2): 162(ptr) Variable Function + 199(pos1): 197(ptr) Variable Function + 211(pos2): 197(ptr) Variable Function + 223(pos): 197(ptr) Variable Function 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 91 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 37 37 16 16 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 85(input) 95 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 98 86(TessCoord) 95 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 101 87(patch) 95 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 91 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) - 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 110 110 16 16 - 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 108 107(output) 95 - Store 107(output) 117 - 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 121 121 16 16 - 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 119 118(uv1) 95 - 129: 43(fvec2) CompositeExtract 87(patch) 0 2 - 131: 43(fvec2) CompositeExtract 87(patch) 1 2 - 134: 132(ptr) AccessChain 86(TessCoord) 16 - 135: 8(float) Load 134 - 136: 43(fvec2) CompositeConstruct 135 135 - 137: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 129 131 136 - Store 118(uv1) 137 - 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 141 141 16 16 - 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 139 138(uv2) 95 - 145: 43(fvec2) CompositeExtract 87(patch) 3 2 - 146: 43(fvec2) CompositeExtract 87(patch) 2 2 - 147: 132(ptr) AccessChain 86(TessCoord) 16 - 148: 8(float) Load 147 - 149: 43(fvec2) CompositeConstruct 148 148 - 150: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 145 146 149 - Store 138(uv2) 150 - 152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 153 153 16 16 - 151: 43(fvec2) Load 118(uv1) - 154: 43(fvec2) Load 138(uv2) - 155: 132(ptr) AccessChain 86(TessCoord) 36 - 156: 8(float) Load 155 - 157: 43(fvec2) CompositeConstruct 156 156 - 158: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 151 154 157 - 159: 45(ptr) AccessChain 107(output) 128 - Store 159 158 - 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 165 165 16 16 - 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 163 162(n1) 95 - 168: 49(fvec3) CompositeExtract 87(patch) 0 1 - 169: 49(fvec3) CompositeExtract 87(patch) 1 1 - 170: 132(ptr) AccessChain 86(TessCoord) 16 - 171: 8(float) Load 170 - 172: 49(fvec3) CompositeConstruct 171 171 171 - 173: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 168 169 172 - Store 162(n1) 173 - 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 177 177 16 16 - 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 175 174(n2) 95 - 180: 49(fvec3) CompositeExtract 87(patch) 3 1 - 181: 49(fvec3) CompositeExtract 87(patch) 2 1 - 182: 132(ptr) AccessChain 86(TessCoord) 16 - 183: 8(float) Load 182 - 184: 49(fvec3) CompositeConstruct 183 183 183 - 185: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 180 181 184 - Store 174(n2) 185 - 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 188 188 16 16 - 186: 49(fvec3) Load 162(n1) - 189: 49(fvec3) Load 174(n2) - 190: 132(ptr) AccessChain 86(TessCoord) 36 - 191: 8(float) Load 190 - 192: 49(fvec3) CompositeConstruct 191 191 191 - 193: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 186 189 192 - 194: 160(ptr) AccessChain 107(output) 130 - Store 194 193 - 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 200 200 16 16 - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 198 197(pos1) 95 - 203: 47(fvec4) CompositeExtract 87(patch) 0 0 - 204: 47(fvec4) CompositeExtract 87(patch) 1 0 - 205: 132(ptr) AccessChain 86(TessCoord) 16 - 206: 8(float) Load 205 - 207: 47(fvec4) CompositeConstruct 206 206 206 206 - 208: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 203 204 207 - Store 197(pos1) 208 - 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 212 212 16 16 - 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 210 209(pos2) 95 - 215: 47(fvec4) CompositeExtract 87(patch) 3 0 - 216: 47(fvec4) CompositeExtract 87(patch) 2 0 - 217: 132(ptr) AccessChain 86(TessCoord) 16 - 218: 8(float) Load 217 - 219: 47(fvec4) CompositeConstruct 218 218 218 218 - 220: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 215 216 219 - Store 209(pos2) 220 - 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 224 224 16 16 - 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 222 221(pos) 95 - 227: 47(fvec4) Load 197(pos1) - 228: 47(fvec4) Load 209(pos2) - 229: 132(ptr) AccessChain 86(TessCoord) 36 - 230: 8(float) Load 229 - 231: 47(fvec4) CompositeConstruct 230 230 230 230 - 232: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 227 228 231 - Store 221(pos) 232 - 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 236 236 16 16 - 245: 233 Load 241(displacementMapTexture) - 256: 247 Load 253(displacementMapSampler) - 261: 257 SampledImage 245 256 - 262: 45(ptr) AccessChain 107(output) 128 - 263: 43(fvec2) Load 262 - 264: 47(fvec4) ImageSampleExplicitLod 261 263 Lod 113 - 265: 8(float) CompositeExtract 264 0 - 308: 306(ptr) AccessChain 303 127 305 - 309: 8(float) Load 308 - 310: 8(float) FMul 265 309 - 311: 132(ptr) AccessChain 221(pos) 36 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 105 + 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 111 111 16 16 + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 109 108(output) 95 + Store 108(output) 119 + 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 123 123 16 16 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 121 120(uv1) 95 + 131: 43(fvec2) CompositeExtract 87(patch) 0 2 + 133: 43(fvec2) CompositeExtract 87(patch) 1 2 + 136: 134(ptr) AccessChain 86(TessCoord) 16 + 137: 8(float) Load 136 + 138: 43(fvec2) CompositeConstruct 137 137 + 139: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 131 133 138 + Store 120(uv1) 139 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 143 143 16 16 + 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 141 140(uv2) 95 + 147: 43(fvec2) CompositeExtract 87(patch) 3 2 + 148: 43(fvec2) CompositeExtract 87(patch) 2 2 + 149: 134(ptr) AccessChain 86(TessCoord) 16 + 150: 8(float) Load 149 + 151: 43(fvec2) CompositeConstruct 150 150 + 152: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 147 148 151 + Store 140(uv2) 152 + 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 155 155 16 16 + 153: 43(fvec2) Load 120(uv1) + 156: 43(fvec2) Load 140(uv2) + 157: 134(ptr) AccessChain 86(TessCoord) 36 + 158: 8(float) Load 157 + 159: 43(fvec2) CompositeConstruct 158 158 + 160: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 153 156 159 + 161: 45(ptr) AccessChain 108(output) 130 + Store 161 160 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 167 167 16 16 + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 165 164(n1) 95 + 170: 49(fvec3) CompositeExtract 87(patch) 0 1 + 171: 49(fvec3) CompositeExtract 87(patch) 1 1 + 172: 134(ptr) AccessChain 86(TessCoord) 16 + 173: 8(float) Load 172 + 174: 49(fvec3) CompositeConstruct 173 173 173 + 175: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 170 171 174 + Store 164(n1) 175 + 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 179 179 16 16 + 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 177 176(n2) 95 + 182: 49(fvec3) CompositeExtract 87(patch) 3 1 + 183: 49(fvec3) CompositeExtract 87(patch) 2 1 + 184: 134(ptr) AccessChain 86(TessCoord) 16 + 185: 8(float) Load 184 + 186: 49(fvec3) CompositeConstruct 185 185 185 + 187: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 182 183 186 + Store 176(n2) 187 + 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 190 190 16 16 + 188: 49(fvec3) Load 164(n1) + 191: 49(fvec3) Load 176(n2) + 192: 134(ptr) AccessChain 86(TessCoord) 36 + 193: 8(float) Load 192 + 194: 49(fvec3) CompositeConstruct 193 193 193 + 195: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 188 191 194 + 196: 162(ptr) AccessChain 108(output) 132 + Store 196 195 + 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 202 202 16 16 + 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 200 199(pos1) 95 + 205: 47(fvec4) CompositeExtract 87(patch) 0 0 + 206: 47(fvec4) CompositeExtract 87(patch) 1 0 + 207: 134(ptr) AccessChain 86(TessCoord) 16 + 208: 8(float) Load 207 + 209: 47(fvec4) CompositeConstruct 208 208 208 208 + 210: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 205 206 209 + Store 199(pos1) 210 + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 214 214 16 16 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 212 211(pos2) 95 + 217: 47(fvec4) CompositeExtract 87(patch) 3 0 + 218: 47(fvec4) CompositeExtract 87(patch) 2 0 + 219: 134(ptr) AccessChain 86(TessCoord) 16 + 220: 8(float) Load 219 + 221: 47(fvec4) CompositeConstruct 220 220 220 220 + 222: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 217 218 221 + Store 211(pos2) 222 + 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 226 226 16 16 + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 224 223(pos) 95 + 229: 47(fvec4) Load 199(pos1) + 230: 47(fvec4) Load 211(pos2) + 231: 134(ptr) AccessChain 86(TessCoord) 36 + 232: 8(float) Load 231 + 233: 47(fvec4) CompositeConstruct 232 232 232 232 + 234: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 229 230 233 + Store 223(pos) 234 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 238 238 16 16 + 247: 235 Load 243(displacementMapTexture) + 258: 249 Load 255(displacementMapSampler) + 263: 259 SampledImage 247 258 + 264: 45(ptr) AccessChain 108(output) 130 + 265: 43(fvec2) Load 264 + 266: 47(fvec4) ImageSampleExplicitLod 263 265 Lod 115 + 267: 8(float) CompositeExtract 266 0 + 311: 309(ptr) AccessChain 305 129 308 312: 8(float) Load 311 - 313: 8(float) FSub 312 310 - 314: 132(ptr) AccessChain 221(pos) 36 - Store 314 313 - 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 317 317 16 16 - 315: 47(fvec4) Load 221(pos) - 320: 318(ptr) AccessChain 303 127 130 - 321: 266 Load 320 - 322: 47(fvec4) VectorTimesMatrix 315 321 - 323: 318(ptr) AccessChain 303 127 127 - 324: 266 Load 323 - 325: 47(fvec4) VectorTimesMatrix 322 324 - 326: 195(ptr) AccessChain 107(output) 127 - Store 326 325 - 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 329 329 16 16 - 327: 47(fvec4) Load 221(pos) - 330: 49(fvec3) VectorShuffle 327 327 0 1 2 - 331: 49(fvec3) FNegate 330 - 332: 160(ptr) AccessChain 107(output) 144 - Store 332 331 - 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 337 337 16 16 - 335: 333(ptr) AccessChain 303 127 128 - 338: 47(fvec4) Load 335 - 339: 49(fvec3) VectorShuffle 338 338 0 1 2 - 340: 160(ptr) AccessChain 107(output) 144 - 341: 49(fvec3) Load 340 - 342: 49(fvec3) FAdd 339 341 - 343: 49(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 342 - 344: 160(ptr) AccessChain 107(output) 305 - Store 344 343 - 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 348 348 16 16 - 346: 47(fvec4) Load 221(pos) - 349: 49(fvec3) VectorShuffle 346 346 0 1 2 - 350: 160(ptr) AccessChain 107(output) 345 - Store 350 349 - 353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 354 354 16 16 - 352: 47(fvec4) Load 221(pos) - 355: 318(ptr) AccessChain 303 127 130 - 356: 266 Load 355 - 357: 47(fvec4) VectorTimesMatrix 352 356 - 358: 49(fvec3) VectorShuffle 357 357 0 1 2 - 359: 160(ptr) AccessChain 107(output) 351 - Store 359 358 - 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 362 362 16 16 - 360:67(DSOutput) Load 107(output) - ReturnValue 360 + 313: 8(float) FMul 267 312 + 314: 134(ptr) AccessChain 223(pos) 36 + 315: 8(float) Load 314 + 316: 8(float) FSub 315 313 + 317: 134(ptr) AccessChain 223(pos) 36 + Store 317 316 + 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 320 320 16 16 + 318: 47(fvec4) Load 223(pos) + 323: 321(ptr) AccessChain 305 129 132 + 324: 268 Load 323 + 325: 47(fvec4) VectorTimesMatrix 318 324 + 326: 321(ptr) AccessChain 305 129 129 + 327: 268 Load 326 + 328: 47(fvec4) VectorTimesMatrix 325 327 + 329: 197(ptr) AccessChain 108(output) 129 + Store 329 328 + 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 332 332 16 16 + 330: 47(fvec4) Load 223(pos) + 333: 49(fvec3) VectorShuffle 330 330 0 1 2 + 334: 49(fvec3) FNegate 333 + 335: 162(ptr) AccessChain 108(output) 146 + Store 335 334 + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 340 340 16 16 + 338: 336(ptr) AccessChain 305 129 130 + 341: 47(fvec4) Load 338 + 342: 49(fvec3) VectorShuffle 341 341 0 1 2 + 343: 162(ptr) AccessChain 108(output) 146 + 344: 49(fvec3) Load 343 + 345: 49(fvec3) FAdd 342 344 + 346: 49(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 345 + 347: 162(ptr) AccessChain 108(output) 308 + Store 347 346 + 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 351 351 16 16 + 349: 47(fvec4) Load 223(pos) + 352: 49(fvec3) VectorShuffle 349 349 0 1 2 + 353: 162(ptr) AccessChain 108(output) 348 + Store 353 352 + 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 357 357 16 16 + 355: 47(fvec4) Load 223(pos) + 358: 321(ptr) AccessChain 305 129 132 + 359: 268 Load 358 + 360: 47(fvec4) VectorTimesMatrix 355 359 + 361: 49(fvec3) VectorShuffle 360 360 0 1 2 + 362: 162(ptr) AccessChain 108(output) 354 + Store 362 361 + 364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 365 365 16 16 + 363:67(DSOutput) Load 108(output) + ReturnValue 363 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.vert.out b/Test/baseResults/spv.debuginfo.hlsl.vert.out index 094173a5..4e49f04a 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.vert.out +++ b/Test/baseResults/spv.debuginfo.hlsl.vert.out @@ -1,15 +1,15 @@ spv.debuginfo.hlsl.vert // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 513 +// Id's are bound by 518 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 6 "main" 462 465 469 472 475 478 482 486 494 498 501 504 507 510 - 2: String "" + EntryPoint Vertex 6 "main" 467 470 474 477 480 483 487 491 499 503 506 509 512 515 + 2: String "spv.debuginfo.hlsl.vert" 9: String "float" 12: String "uint" 24: String "int" @@ -22,6 +22,118 @@ spv.debuginfo.hlsl.vert // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 +/* +The MIT License (MIT) + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +struct VSInput +{ +[[vk::location(0)]] float3 Pos : POSITION0; +[[vk::location(1)]] float3 Normal : NORMAL0; +[[vk::location(2)]] float2 UV : TEXCOORD0; +[[vk::location(3)]] float3 Color : COLOR0; + +// Instanced attributes +[[vk::location(4)]] float3 instancePos : POSITION1; +[[vk::location(5)]] float3 instanceRot : TEXCOORD1; +[[vk::location(6)]] float instanceScale : TEXCOORD2; +[[vk::location(7)]] int instanceTexIndex : TEXCOORD3; +}; + +struct UBO +{ + float4x4 projection; + float4x4 modelview; + float4 lightPos; + float locSpeed; + float globSpeed; +}; + +cbuffer ubo : register(b0) { UBO ubo; } + +struct VSOutput +{ + float4 Pos : SV_POSITION; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float3 Color : COLOR0; +[[vk::location(2)]] float3 UV : TEXCOORD0; +[[vk::location(3)]] float3 ViewVec : TEXCOORD1; +[[vk::location(4)]] float3 LightVec : TEXCOORD2; +}; + +VSOutput main(VSInput input) +{ + VSOutput output = (VSOutput)0; + output.Color = input.Color; + output.UV = float3(input.UV, input.instanceTexIndex); + + // rotate around x + float s = sin(input.instanceRot.x + ubo.locSpeed); + float c = cos(input.instanceRot.x + ubo.locSpeed); + + float3x3 mx = { c, -s, 0.0, + s, c, 0.0, + 0.0, 0.0, 1.0 }; + + // rotate around y + s = sin(input.instanceRot.y + ubo.locSpeed); + c = cos(input.instanceRot.y + ubo.locSpeed); + + float3x3 my = { c, 0.0, -s, + 0.0, 1.0, 0.0, + s, 0.0, c }; + + // rot around z + s = sin(input.instanceRot.z + ubo.locSpeed); + c = cos(input.instanceRot.z + ubo.locSpeed); + + float3x3 mz = { 1.0, 0.0, 0.0, + 0.0, c, -s, + 0.0, s, c }; + + float3x3 rotMat = mul(mz, mul(my, mx)); + + float4x4 gRotMat; + s = sin(input.instanceRot.y + ubo.globSpeed); + c = cos(input.instanceRot.y + ubo.globSpeed); + gRotMat[0] = float4(c, 0.0, -s, 0.0); + gRotMat[1] = float4(0.0, 1.0, 0.0, 0.0); + gRotMat[2] = float4(s, 0.0, c, 0.0); + gRotMat[3] = float4(0.0, 0.0, 0.0, 1.0); + + float4 locPos = float4(mul(rotMat, input.Pos.xyz), 1.0); + float4 pos = float4((locPos.xyz * input.instanceScale) + input.instancePos, 1.0); + + output.Pos = mul(ubo.projection, mul(ubo.modelview, mul(gRotMat, pos))); + output.Normal = mul((float3x3)mul(ubo.modelview, gRotMat), mul(rotMat, input.Normal)); + + pos = mul(ubo.modelview, float4(input.Pos.xyz + input.instancePos, 1.0)); + float3 lPos = mul((float3x3)ubo.modelview, ubo.lightPos.xyz); + output.LightVec = lPos - pos.xyz; + output.ViewVec = -pos.xyz; + return output; +} " 36: String "UV" 43: String "instanceScale" @@ -32,23 +144,24 @@ spv.debuginfo.hlsl.vert 74: String "VSOutput" 80: String "@main" 83: String "input" - 93: String "output" - 130: String "s" - 140: String "bool" - 145: String "modelview" - 150: String "lightPos" - 154: String "globSpeed" - 158: String "UBO" - 161: String "ubo" - 178: String "c" - 194: String "mx" - 229: String "my" - 263: String "mz" - 283: String "rotMat" - 313: String "gRotMat" - 341: String "locPos" - 355: String "pos" - 421: String "lPos" + 94: String "output" + 132: String "s" + 142: String "bool" + 147: String "modelview" + 152: String "lightPos" + 156: String "globSpeed" + 160: String "UBO" + 163: String "ubo" + 170: String "" + 181: String "c" + 197: String "mx" + 232: String "my" + 266: String "mz" + 286: String "rotMat" + 299: String "gRotMat" + 346: String "locPos" + 360: String "pos" + 426: String "lPos" Name 6 "main" Name 27 "VSInput" MemberName 27(VSInput) 0 "Pos" @@ -68,70 +181,70 @@ spv.debuginfo.hlsl.vert MemberName 61(VSOutput) 5 "LightVec" Name 78 "@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;" Name 77 "input" - Name 91 "output" - Name 128 "s" - Name 143 "UBO" - MemberName 143(UBO) 0 "projection" - MemberName 143(UBO) 1 "modelview" - MemberName 143(UBO) 2 "lightPos" - MemberName 143(UBO) 3 "locSpeed" - MemberName 143(UBO) 4 "globSpeed" - Name 159 "ubo" - MemberName 159(ubo) 0 "ubo" - Name 166 "" - Name 176 "c" - Name 192 "mx" - Name 227 "my" - Name 261 "mz" - Name 281 "rotMat" - Name 311 "gRotMat" - Name 339 "locPos" - Name 353 "pos" - Name 419 "lPos" - Name 460 "input" - Name 462 "input.Pos" - Name 465 "input.Normal" - Name 469 "input.UV" - Name 472 "input.Color" - Name 475 "input.instancePos" - Name 478 "input.instanceRot" - Name 482 "input.instanceScale" - Name 486 "input.instanceTexIndex" - Name 489 "flattenTemp" - Name 490 "param" - Name 494 "@entryPointOutput.Pos" - Name 498 "@entryPointOutput.Normal" - Name 501 "@entryPointOutput.Color" - Name 504 "@entryPointOutput.UV" - Name 507 "@entryPointOutput.ViewVec" - Name 510 "@entryPointOutput.LightVec" - MemberDecorate 143(UBO) 0 RowMajor - MemberDecorate 143(UBO) 0 MatrixStride 16 - MemberDecorate 143(UBO) 0 Offset 0 - MemberDecorate 143(UBO) 1 RowMajor - MemberDecorate 143(UBO) 1 MatrixStride 16 - MemberDecorate 143(UBO) 1 Offset 64 - MemberDecorate 143(UBO) 2 Offset 128 - MemberDecorate 143(UBO) 3 Offset 144 - MemberDecorate 143(UBO) 4 Offset 148 - Decorate 159(ubo) Block - MemberDecorate 159(ubo) 0 Offset 0 - Decorate 166 Binding 0 - Decorate 166 DescriptorSet 0 - Decorate 462(input.Pos) Location 0 - Decorate 465(input.Normal) Location 1 - Decorate 469(input.UV) Location 2 - Decorate 472(input.Color) Location 3 - Decorate 475(input.instancePos) Location 4 - Decorate 478(input.instanceRot) Location 5 - Decorate 482(input.instanceScale) Location 6 - Decorate 486(input.instanceTexIndex) Location 7 - Decorate 494(@entryPointOutput.Pos) BuiltIn Position - Decorate 498(@entryPointOutput.Normal) Location 0 - Decorate 501(@entryPointOutput.Color) Location 1 - Decorate 504(@entryPointOutput.UV) Location 2 - Decorate 507(@entryPointOutput.ViewVec) Location 3 - Decorate 510(@entryPointOutput.LightVec) Location 4 + Name 92 "output" + Name 130 "s" + Name 145 "UBO" + MemberName 145(UBO) 0 "projection" + MemberName 145(UBO) 1 "modelview" + MemberName 145(UBO) 2 "lightPos" + MemberName 145(UBO) 3 "locSpeed" + MemberName 145(UBO) 4 "globSpeed" + Name 161 "ubo" + MemberName 161(ubo) 0 "ubo" + Name 168 "" + Name 179 "c" + Name 195 "mx" + Name 230 "my" + Name 264 "mz" + Name 284 "rotMat" + Name 297 "gRotMat" + Name 344 "locPos" + Name 358 "pos" + Name 424 "lPos" + Name 465 "input" + Name 467 "input.Pos" + Name 470 "input.Normal" + Name 474 "input.UV" + Name 477 "input.Color" + Name 480 "input.instancePos" + Name 483 "input.instanceRot" + Name 487 "input.instanceScale" + Name 491 "input.instanceTexIndex" + Name 494 "flattenTemp" + Name 495 "param" + Name 499 "@entryPointOutput.Pos" + Name 503 "@entryPointOutput.Normal" + Name 506 "@entryPointOutput.Color" + Name 509 "@entryPointOutput.UV" + Name 512 "@entryPointOutput.ViewVec" + Name 515 "@entryPointOutput.LightVec" + MemberDecorate 145(UBO) 0 RowMajor + MemberDecorate 145(UBO) 0 MatrixStride 16 + MemberDecorate 145(UBO) 0 Offset 0 + MemberDecorate 145(UBO) 1 RowMajor + MemberDecorate 145(UBO) 1 MatrixStride 16 + MemberDecorate 145(UBO) 1 Offset 64 + MemberDecorate 145(UBO) 2 Offset 128 + MemberDecorate 145(UBO) 3 Offset 144 + MemberDecorate 145(UBO) 4 Offset 148 + Decorate 161(ubo) Block + MemberDecorate 161(ubo) 0 Offset 0 + Decorate 168 Binding 0 + Decorate 168 DescriptorSet 0 + Decorate 467(input.Pos) Location 0 + Decorate 470(input.Normal) Location 1 + Decorate 474(input.UV) Location 2 + Decorate 477(input.Color) Location 3 + Decorate 480(input.instancePos) Location 4 + Decorate 483(input.instanceRot) Location 5 + Decorate 487(input.instanceScale) Location 6 + Decorate 491(input.instanceTexIndex) Location 7 + Decorate 499(@entryPointOutput.Pos) BuiltIn Position + Decorate 503(@entryPointOutput.Normal) Location 0 + Decorate 506(@entryPointOutput.Color) Location 1 + Decorate 509(@entryPointOutput.UV) Location 2 + Decorate 512(@entryPointOutput.ViewVec) Location 3 + Decorate 515(@entryPointOutput.LightVec) Location 4 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -194,462 +307,466 @@ spv.debuginfo.hlsl.vert 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 80 76 30 53 16 54 80 17 53 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 50 30 53 16 81 26 52 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) - 89: TypePointer Function 61(VSOutput) - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 73 57 16 - 94: 11(int) Constant 63 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 73 30 94 16 81 26 - 97: 8(float) Constant 0 - 98: 59(fvec4) ConstantComposite 97 97 97 97 - 99: 18(fvec3) ConstantComposite 97 97 97 - 100:61(VSOutput) ConstantComposite 98 99 99 99 99 99 - 101: 23(int) Constant 2 - 102: 23(int) Constant 3 - 103: TypePointer Function 18(fvec3) - 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 19 57 16 - 107: 11(int) Constant 64 - 110: TypePointer Function 20(fvec2) - 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 57 16 - 114: 11(int) Constant 65 - 116: 23(int) Constant 7 - 117: TypePointer Function 23(int) - 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 25 57 16 - 126: TypePointer Function 8(float) - 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 57 16 - 131: 11(int) Constant 68 - 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 130 10 30 131 16 81 26 - 134: 23(int) Constant 5 - 137: TypeMatrix 59(fvec4) 4 - 139: TypeBool - 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 140 14 21 16 - 142: 139(bool) ConstantTrue - 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 60 26 142 - 143(UBO): TypeStruct 137 137 59(fvec4) 8(float) 8(float) - 146: 11(int) Constant 43 - 147: 11(int) Constant 20 - 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 145 138 30 146 147 16 16 17 - 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 145 138 30 146 147 16 16 17 - 151: 11(int) Constant 44 - 152: 11(int) Constant 17 - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 150 60 30 151 152 16 16 17 - 155: 11(int) Constant 46 - 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 154 10 30 155 152 16 16 17 - 156: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 154 10 30 155 152 16 16 17 - 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 158 52 30 131 16 54 158 16 17 144 148 149 153 156 - 159(ubo): TypeStruct 143(UBO) - 162: 11(int) Constant 49 - 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 161 157 30 162 48 16 16 17 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 161 52 30 131 16 54 161 16 17 160 - 164: TypePointer Uniform 159(ubo) - 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 163 21 16 - 166: 164(ptr) Variable Uniform - 168: 11(int) Constant 8 - 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 163 30 131 16 54 2 166 168 - 169: 23(int) Constant 0 - 170: TypePointer Uniform 8(float) - 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 - 179: 11(int) Constant 69 - 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 178 10 30 179 16 81 26 - 188: TypeMatrix 18(fvec3) 3 - 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 19 17 142 - 190: TypePointer Function 188 - 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 189 57 16 - 195: 11(int) Constant 71 - 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 194 189 30 195 16 81 26 - 203: 11(int) Constant 72 - 205: 8(float) Constant 1065353216 - 213: 11(int) Constant 76 - 221: 11(int) Constant 77 - 230: 11(int) Constant 79 - 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 189 30 230 16 81 26 - 238: 11(int) Constant 81 - 247: 11(int) Constant 84 - 255: 11(int) Constant 85 - 264: 11(int) Constant 87 - 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 263 189 30 264 16 81 26 - 269: 11(int) Constant 88 - 274: 11(int) Constant 89 - 284: 11(int) Constant 91 - 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 283 189 30 284 16 81 26 - 294: 11(int) Constant 94 - 296: 23(int) Constant 4 - 303: 11(int) Constant 95 - 309: TypePointer Function 137 - 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 138 57 16 - 314: 11(int) Constant 96 - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 313 138 30 314 16 81 26 - 321: TypePointer Function 59(fvec4) - 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 60 57 16 - 324: 23(int) Constant 1 - 325: 59(fvec4) ConstantComposite 97 205 97 97 - 328: 11(int) Constant 97 - 331: 11(int) Constant 98 - 335: 59(fvec4) ConstantComposite 97 97 97 205 - 338: 11(int) Constant 99 - 342: 11(int) Constant 101 - 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 341 60 30 342 16 81 26 - 356: 11(int) Constant 102 - 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 355 60 30 356 16 81 26 - 361: 23(int) Constant 6 - 374: 11(int) Constant 104 - 377: TypePointer Uniform 137 - 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 138 21 16 - 388: 11(int) Constant 105 - 407: 11(int) Constant 107 - 422: 11(int) Constant 108 - 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 421 19 30 422 16 81 26 - 425: TypePointer Uniform 59(fvec4) - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 60 21 16 - 442: 11(int) Constant 109 - 449: 11(int) Constant 110 - 455: 11(int) Constant 111 - 461: TypePointer Input 18(fvec3) - 462(input.Pos): 461(ptr) Variable Input -465(input.Normal): 461(ptr) Variable Input - 468: TypePointer Input 20(fvec2) - 469(input.UV): 468(ptr) Variable Input -472(input.Color): 461(ptr) Variable Input -475(input.instancePos): 461(ptr) Variable Input -478(input.instanceRot): 461(ptr) Variable Input - 481: TypePointer Input 8(float) -482(input.instanceScale): 481(ptr) Variable Input - 485: TypePointer Input 23(int) -486(input.instanceTexIndex): 485(ptr) Variable Input - 493: TypePointer Output 59(fvec4) -494(@entryPointOutput.Pos): 493(ptr) Variable Output - 497: TypePointer Output 18(fvec3) -498(@entryPointOutput.Normal): 497(ptr) Variable Output -501(@entryPointOutput.Color): 497(ptr) Variable Output -504(@entryPointOutput.UV): 497(ptr) Variable Output -507(@entryPointOutput.ViewVec): 497(ptr) Variable Output -510(@entryPointOutput.LightVec): 497(ptr) Variable Output + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 30 16 16 81 + 90: TypePointer Function 61(VSOutput) + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 73 57 16 + 95: 11(int) Constant 63 + 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 94 73 30 95 16 89 26 + 99: 8(float) Constant 0 + 100: 59(fvec4) ConstantComposite 99 99 99 99 + 101: 18(fvec3) ConstantComposite 99 99 99 + 102:61(VSOutput) ConstantComposite 100 101 101 101 101 101 + 103: 23(int) Constant 2 + 104: 23(int) Constant 3 + 105: TypePointer Function 18(fvec3) + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 19 57 16 + 109: 11(int) Constant 64 + 112: TypePointer Function 20(fvec2) + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 57 16 + 116: 11(int) Constant 65 + 118: 23(int) Constant 7 + 119: TypePointer Function 23(int) + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 25 57 16 + 128: TypePointer Function 8(float) + 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 57 16 + 133: 11(int) Constant 68 + 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 132 10 30 133 16 89 26 + 136: 23(int) Constant 5 + 139: TypeMatrix 59(fvec4) 4 + 141: TypeBool + 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 142 14 21 16 + 144: 141(bool) ConstantTrue + 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 60 26 144 + 145(UBO): TypeStruct 139 139 59(fvec4) 8(float) 8(float) + 148: 11(int) Constant 43 + 149: 11(int) Constant 20 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 147 140 30 148 149 16 16 17 + 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 147 140 30 148 149 16 16 17 + 153: 11(int) Constant 44 + 154: 11(int) Constant 17 + 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 152 60 30 153 154 16 16 17 + 157: 11(int) Constant 46 + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 156 10 30 157 154 16 16 17 + 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 156 10 30 157 154 16 16 17 + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 160 52 30 133 16 54 160 16 17 146 150 151 155 158 + 161(ubo): TypeStruct 145(UBO) + 164: 11(int) Constant 49 + 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 163 159 30 164 48 16 16 17 + 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 163 52 30 133 16 54 163 16 17 162 + 166: TypePointer Uniform 161(ubo) + 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 165 21 16 + 168: 166(ptr) Variable Uniform + 171: 11(int) Constant 8 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 170 165 30 133 16 54 170 168 171 + 172: 23(int) Constant 0 + 173: TypePointer Uniform 8(float) + 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 + 182: 11(int) Constant 69 + 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 181 10 30 182 16 89 26 + 191: TypeMatrix 18(fvec3) 3 + 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 19 17 144 + 193: TypePointer Function 191 + 194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 192 57 16 + 198: 11(int) Constant 71 + 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 197 192 30 198 16 89 26 + 206: 11(int) Constant 72 + 208: 8(float) Constant 1065353216 + 216: 11(int) Constant 76 + 224: 11(int) Constant 77 + 233: 11(int) Constant 79 + 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 232 192 30 233 16 89 26 + 241: 11(int) Constant 81 + 250: 11(int) Constant 84 + 258: 11(int) Constant 85 + 267: 11(int) Constant 87 + 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 266 192 30 267 16 89 26 + 272: 11(int) Constant 88 + 277: 11(int) Constant 89 + 287: 11(int) Constant 91 + 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 286 192 30 287 16 89 26 + 295: TypePointer Function 139 + 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 140 57 16 + 300: 11(int) Constant 93 + 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 299 140 30 300 16 89 26 + 305: 11(int) Constant 94 + 307: 23(int) Constant 4 + 314: 11(int) Constant 95 + 322: 11(int) Constant 96 + 326: TypePointer Function 59(fvec4) + 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 60 57 16 + 329: 23(int) Constant 1 + 330: 59(fvec4) ConstantComposite 99 208 99 99 + 333: 11(int) Constant 97 + 336: 11(int) Constant 98 + 340: 59(fvec4) ConstantComposite 99 99 99 208 + 343: 11(int) Constant 99 + 347: 11(int) Constant 101 + 345: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 346 60 30 347 16 89 26 + 361: 11(int) Constant 102 + 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 360 60 30 361 16 89 26 + 366: 23(int) Constant 6 + 379: 11(int) Constant 104 + 382: TypePointer Uniform 139 + 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 140 21 16 + 393: 11(int) Constant 105 + 412: 11(int) Constant 107 + 427: 11(int) Constant 108 + 425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 426 19 30 427 16 89 26 + 430: TypePointer Uniform 59(fvec4) + 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 60 21 16 + 447: 11(int) Constant 109 + 454: 11(int) Constant 110 + 460: 11(int) Constant 111 + 466: TypePointer Input 18(fvec3) + 467(input.Pos): 466(ptr) Variable Input +470(input.Normal): 466(ptr) Variable Input + 473: TypePointer Input 20(fvec2) + 474(input.UV): 473(ptr) Variable Input +477(input.Color): 466(ptr) Variable Input +480(input.instancePos): 466(ptr) Variable Input +483(input.instanceRot): 466(ptr) Variable Input + 486: TypePointer Input 8(float) +487(input.instanceScale): 486(ptr) Variable Input + 490: TypePointer Input 23(int) +491(input.instanceTexIndex): 490(ptr) Variable Input + 498: TypePointer Output 59(fvec4) +499(@entryPointOutput.Pos): 498(ptr) Variable Output + 502: TypePointer Output 18(fvec3) +503(@entryPointOutput.Normal): 502(ptr) Variable Output +506(@entryPointOutput.Color): 502(ptr) Variable Output +509(@entryPointOutput.UV): 502(ptr) Variable Output +512(@entryPointOutput.ViewVec): 502(ptr) Variable Output +515(@entryPointOutput.LightVec): 502(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 460(input): 56(ptr) Variable Function -489(flattenTemp): 89(ptr) Variable Function - 490(param): 56(ptr) Variable Function - 463: 18(fvec3) Load 462(input.Pos) - 464: 103(ptr) AccessChain 460(input) 169 - Store 464 463 - 466: 18(fvec3) Load 465(input.Normal) - 467: 103(ptr) AccessChain 460(input) 324 - Store 467 466 - 470: 20(fvec2) Load 469(input.UV) - 471: 110(ptr) AccessChain 460(input) 101 - Store 471 470 - 473: 18(fvec3) Load 472(input.Color) - 474: 103(ptr) AccessChain 460(input) 102 - Store 474 473 - 476: 18(fvec3) Load 475(input.instancePos) - 477: 103(ptr) AccessChain 460(input) 296 - Store 477 476 - 479: 18(fvec3) Load 478(input.instanceRot) - 480: 103(ptr) AccessChain 460(input) 134 - Store 480 479 - 483: 8(float) Load 482(input.instanceScale) - 484: 126(ptr) AccessChain 460(input) 361 - Store 484 483 - 487: 23(int) Load 486(input.instanceTexIndex) - 488: 117(ptr) AccessChain 460(input) 116 - Store 488 487 - 491: 27(VSInput) Load 460(input) - Store 490(param) 491 - 492:61(VSOutput) FunctionCall 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) 490(param) - Store 489(flattenTemp) 492 - 495: 321(ptr) AccessChain 489(flattenTemp) 169 - 496: 59(fvec4) Load 495 - Store 494(@entryPointOutput.Pos) 496 - 499: 103(ptr) AccessChain 489(flattenTemp) 324 - 500: 18(fvec3) Load 499 - Store 498(@entryPointOutput.Normal) 500 - 502: 103(ptr) AccessChain 489(flattenTemp) 101 - 503: 18(fvec3) Load 502 - Store 501(@entryPointOutput.Color) 503 - 505: 103(ptr) AccessChain 489(flattenTemp) 102 - 506: 18(fvec3) Load 505 - Store 504(@entryPointOutput.UV) 506 - 508: 103(ptr) AccessChain 489(flattenTemp) 296 - 509: 18(fvec3) Load 508 - Store 507(@entryPointOutput.ViewVec) 509 - 511: 103(ptr) AccessChain 489(flattenTemp) 134 - 512: 18(fvec3) Load 511 - Store 510(@entryPointOutput.LightVec) 512 + 465(input): 56(ptr) Variable Function +494(flattenTemp): 90(ptr) Variable Function + 495(param): 56(ptr) Variable Function + 468: 18(fvec3) Load 467(input.Pos) + 469: 105(ptr) AccessChain 465(input) 172 + Store 469 468 + 471: 18(fvec3) Load 470(input.Normal) + 472: 105(ptr) AccessChain 465(input) 329 + Store 472 471 + 475: 20(fvec2) Load 474(input.UV) + 476: 112(ptr) AccessChain 465(input) 103 + Store 476 475 + 478: 18(fvec3) Load 477(input.Color) + 479: 105(ptr) AccessChain 465(input) 104 + Store 479 478 + 481: 18(fvec3) Load 480(input.instancePos) + 482: 105(ptr) AccessChain 465(input) 307 + Store 482 481 + 484: 18(fvec3) Load 483(input.instanceRot) + 485: 105(ptr) AccessChain 465(input) 136 + Store 485 484 + 488: 8(float) Load 487(input.instanceScale) + 489: 128(ptr) AccessChain 465(input) 366 + Store 489 488 + 492: 23(int) Load 491(input.instanceTexIndex) + 493: 119(ptr) AccessChain 465(input) 118 + Store 493 492 + 496: 27(VSInput) Load 465(input) + Store 495(param) 496 + 497:61(VSOutput) FunctionCall 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) 495(param) + Store 494(flattenTemp) 497 + 500: 326(ptr) AccessChain 494(flattenTemp) 172 + 501: 59(fvec4) Load 500 + Store 499(@entryPointOutput.Pos) 501 + 504: 105(ptr) AccessChain 494(flattenTemp) 329 + 505: 18(fvec3) Load 504 + Store 503(@entryPointOutput.Normal) 505 + 507: 105(ptr) AccessChain 494(flattenTemp) 103 + 508: 18(fvec3) Load 507 + Store 506(@entryPointOutput.Color) 508 + 510: 105(ptr) AccessChain 494(flattenTemp) 104 + 511: 18(fvec3) Load 510 + Store 509(@entryPointOutput.UV) 511 + 513: 105(ptr) AccessChain 494(flattenTemp) 307 + 514: 18(fvec3) Load 513 + Store 512(@entryPointOutput.ViewVec) 514 + 516: 105(ptr) AccessChain 494(flattenTemp) 136 + 517: 18(fvec3) Load 516 + Store 515(@entryPointOutput.LightVec) 517 Return FunctionEnd 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;):61(VSOutput) Function None 75 77(input): 56(ptr) FunctionParameter 79: Label - 91(output): 89(ptr) Variable Function - 128(s): 126(ptr) Variable Function - 176(c): 126(ptr) Variable Function - 192(mx): 190(ptr) Variable Function - 227(my): 190(ptr) Variable Function - 261(mz): 190(ptr) Variable Function - 281(rotMat): 190(ptr) Variable Function - 311(gRotMat): 309(ptr) Variable Function - 339(locPos): 321(ptr) Variable Function - 353(pos): 321(ptr) Variable Function - 419(lPos): 103(ptr) Variable Function + 92(output): 90(ptr) Variable Function + 130(s): 128(ptr) Variable Function + 179(c): 128(ptr) Variable Function + 195(mx): 193(ptr) Variable Function + 230(my): 193(ptr) Variable Function + 264(mz): 193(ptr) Variable Function + 284(rotMat): 193(ptr) Variable Function + 297(gRotMat): 295(ptr) Variable Function + 344(locPos): 326(ptr) Variable Function + 358(pos): 326(ptr) Variable Function + 424(lPos): 105(ptr) Variable Function 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 81 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 53 53 16 16 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 77(input) 85 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 81 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) - 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 94 94 16 16 - 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 91(output) 85 - Store 91(output) 100 - 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 107 107 16 16 - 105: 103(ptr) AccessChain 77(input) 102 - 108: 18(fvec3) Load 105 - 109: 103(ptr) AccessChain 91(output) 101 - Store 109 108 - 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 114 114 16 16 - 112: 110(ptr) AccessChain 77(input) 101 - 115: 20(fvec2) Load 112 - 119: 117(ptr) AccessChain 77(input) 116 - 120: 23(int) Load 119 - 121: 8(float) ConvertSToF 120 - 122: 8(float) CompositeExtract 115 0 - 123: 8(float) CompositeExtract 115 1 - 124: 18(fvec3) CompositeConstruct 122 123 121 - 125: 103(ptr) AccessChain 91(output) 102 - Store 125 124 - 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 131 131 16 16 - 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 129 128(s) 85 - 135: 126(ptr) AccessChain 77(input) 134 16 - 136: 8(float) Load 135 - 172: 170(ptr) AccessChain 166 169 102 - 173: 8(float) Load 172 - 174: 8(float) FAdd 136 173 - 175: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 174 - Store 128(s) 175 - 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 179 179 16 16 - 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 177 176(c) 85 - 182: 126(ptr) AccessChain 77(input) 134 16 - 183: 8(float) Load 182 - 184: 170(ptr) AccessChain 166 169 102 - 185: 8(float) Load 184 - 186: 8(float) FAdd 183 185 - 187: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 186 - Store 176(c) 187 - 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 195 195 16 16 - 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 193 192(mx) 85 - 198: 8(float) Load 176(c) - 199: 8(float) Load 128(s) - 200: 8(float) FNegate 199 - 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 203 203 16 16 - 201: 8(float) Load 128(s) - 204: 8(float) Load 176(c) - 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 195 195 16 16 - 206: 18(fvec3) CompositeConstruct 198 200 97 - 208: 18(fvec3) CompositeConstruct 201 204 97 - 209: 18(fvec3) CompositeConstruct 97 97 205 - 210: 188 CompositeConstruct 206 208 209 - Store 192(mx) 210 - 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 213 213 16 16 - 211: 126(ptr) AccessChain 77(input) 134 52 - 214: 8(float) Load 211 - 215: 170(ptr) AccessChain 166 169 102 - 216: 8(float) Load 215 - 217: 8(float) FAdd 214 216 - 218: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 217 - Store 128(s) 218 - 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 221 221 16 16 - 219: 126(ptr) AccessChain 77(input) 134 52 - 222: 8(float) Load 219 - 223: 170(ptr) AccessChain 166 169 102 - 224: 8(float) Load 223 - 225: 8(float) FAdd 222 224 - 226: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 225 - Store 176(c) 226 - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 230 230 16 16 - 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 228 227(my) 85 - 233: 8(float) Load 176(c) - 234: 8(float) Load 128(s) - 235: 8(float) FNegate 234 - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 238 238 16 16 - 236: 8(float) Load 128(s) - 239: 8(float) Load 176(c) - 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 230 230 16 16 - 240: 18(fvec3) CompositeConstruct 233 97 235 - 242: 18(fvec3) CompositeConstruct 97 205 97 - 243: 18(fvec3) CompositeConstruct 236 97 239 - 244: 188 CompositeConstruct 240 242 243 - Store 227(my) 244 - 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 247 247 16 16 - 245: 126(ptr) AccessChain 77(input) 134 21 - 248: 8(float) Load 245 - 249: 170(ptr) AccessChain 166 169 102 - 250: 8(float) Load 249 - 251: 8(float) FAdd 248 250 - 252: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 251 - Store 128(s) 252 - 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 255 255 16 16 - 253: 126(ptr) AccessChain 77(input) 134 21 - 256: 8(float) Load 253 - 257: 170(ptr) AccessChain 166 169 102 - 258: 8(float) Load 257 - 259: 8(float) FAdd 256 258 - 260: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 259 - Store 176(c) 260 - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 264 264 16 16 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(mz) 85 - 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 269 269 16 16 - 267: 8(float) Load 176(c) - 270: 8(float) Load 128(s) - 271: 8(float) FNegate 270 - 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 274 274 16 16 - 272: 8(float) Load 128(s) - 275: 8(float) Load 176(c) - 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 264 264 16 16 - 276: 18(fvec3) CompositeConstruct 205 97 97 - 278: 18(fvec3) CompositeConstruct 97 267 271 - 279: 18(fvec3) CompositeConstruct 97 272 275 - 280: 188 CompositeConstruct 276 278 279 - Store 261(mz) 280 - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 284 284 16 16 - 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 282 281(rotMat) 85 - 287: 188 Load 192(mx) - 288: 188 Load 227(my) - 289: 188 MatrixTimesMatrix 287 288 - 290: 188 Load 261(mz) - 291: 188 MatrixTimesMatrix 289 290 - Store 281(rotMat) 291 - 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 294 294 16 16 - 292: 126(ptr) AccessChain 77(input) 134 52 - 295: 8(float) Load 292 - 297: 170(ptr) AccessChain 166 169 296 - 298: 8(float) Load 297 - 299: 8(float) FAdd 295 298 - 300: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 299 - Store 128(s) 300 - 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 303 303 16 16 - 301: 126(ptr) AccessChain 77(input) 134 52 - 304: 8(float) Load 301 - 305: 170(ptr) AccessChain 166 169 296 - 306: 8(float) Load 305 - 307: 8(float) FAdd 304 306 - 308: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 307 - Store 176(c) 308 - 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 314 314 16 16 - 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 312 311(gRotMat) 85 - 317: 8(float) Load 176(c) - 318: 8(float) Load 128(s) - 319: 8(float) FNegate 318 - 320: 59(fvec4) CompositeConstruct 317 97 319 97 - 323: 321(ptr) AccessChain 311(gRotMat) 169 - Store 323 320 - 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 328 328 16 16 - 326: 321(ptr) AccessChain 311(gRotMat) 324 - Store 326 325 - 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 331 331 16 16 - 329: 8(float) Load 128(s) - 332: 8(float) Load 176(c) - 333: 59(fvec4) CompositeConstruct 329 97 332 97 - 334: 321(ptr) AccessChain 311(gRotMat) 101 - Store 334 333 - 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 338 338 16 16 - 336: 321(ptr) AccessChain 311(gRotMat) 102 - Store 336 335 - 344: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 342 342 16 16 - 343: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 340 339(locPos) 85 - 345: 103(ptr) AccessChain 77(input) 169 - 346: 18(fvec3) Load 345 - 347: 188 Load 281(rotMat) - 348: 18(fvec3) VectorTimesMatrix 346 347 - 349: 8(float) CompositeExtract 348 0 - 350: 8(float) CompositeExtract 348 1 - 351: 8(float) CompositeExtract 348 2 - 352: 59(fvec4) CompositeConstruct 349 350 351 205 - Store 339(locPos) 352 - 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 356 356 16 16 - 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 354 353(pos) 85 - 359: 59(fvec4) Load 339(locPos) - 360: 18(fvec3) VectorShuffle 359 359 0 1 2 - 362: 126(ptr) AccessChain 77(input) 361 - 363: 8(float) Load 362 - 364: 18(fvec3) VectorTimesScalar 360 363 - 365: 103(ptr) AccessChain 77(input) 296 - 366: 18(fvec3) Load 365 - 367: 18(fvec3) FAdd 364 366 - 368: 8(float) CompositeExtract 367 0 - 369: 8(float) CompositeExtract 367 1 - 370: 8(float) CompositeExtract 367 2 - 371: 59(fvec4) CompositeConstruct 368 369 370 205 - Store 353(pos) 371 - 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 374 374 16 16 - 372: 59(fvec4) Load 353(pos) - 375: 137 Load 311(gRotMat) - 376: 59(fvec4) VectorTimesMatrix 372 375 - 379: 377(ptr) AccessChain 166 169 324 - 380: 137 Load 379 - 381: 59(fvec4) VectorTimesMatrix 376 380 - 382: 377(ptr) AccessChain 166 169 169 - 383: 137 Load 382 - 384: 59(fvec4) VectorTimesMatrix 381 383 - 385: 321(ptr) AccessChain 91(output) 169 - Store 385 384 - 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 388 388 16 16 - 386: 103(ptr) AccessChain 77(input) 324 - 389: 18(fvec3) Load 386 - 390: 188 Load 281(rotMat) - 391: 18(fvec3) VectorTimesMatrix 389 390 - 392: 137 Load 311(gRotMat) - 393: 377(ptr) AccessChain 166 169 324 - 394: 137 Load 393 - 395: 137 MatrixTimesMatrix 392 394 - 396: 59(fvec4) CompositeExtract 395 0 - 397: 18(fvec3) VectorShuffle 396 396 0 1 2 - 398: 59(fvec4) CompositeExtract 395 1 - 399: 18(fvec3) VectorShuffle 398 398 0 1 2 - 400: 59(fvec4) CompositeExtract 395 2 - 401: 18(fvec3) VectorShuffle 400 400 0 1 2 - 402: 188 CompositeConstruct 397 399 401 - 403: 18(fvec3) VectorTimesMatrix 391 402 - 404: 103(ptr) AccessChain 91(output) 324 - Store 404 403 - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 407 407 16 16 - 405: 103(ptr) AccessChain 77(input) 169 - 408: 18(fvec3) Load 405 - 409: 103(ptr) AccessChain 77(input) 296 - 410: 18(fvec3) Load 409 - 411: 18(fvec3) FAdd 408 410 - 412: 8(float) CompositeExtract 411 0 - 413: 8(float) CompositeExtract 411 1 - 414: 8(float) CompositeExtract 411 2 - 415: 59(fvec4) CompositeConstruct 412 413 414 205 - 416: 377(ptr) AccessChain 166 169 324 - 417: 137 Load 416 - 418: 59(fvec4) VectorTimesMatrix 415 417 - Store 353(pos) 418 - 424: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 422 422 16 16 - 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 420 419(lPos) 85 - 427: 425(ptr) AccessChain 166 169 101 - 428: 59(fvec4) Load 427 - 429: 18(fvec3) VectorShuffle 428 428 0 1 2 - 430: 377(ptr) AccessChain 166 169 324 - 431: 137 Load 430 - 432: 59(fvec4) CompositeExtract 431 0 - 433: 18(fvec3) VectorShuffle 432 432 0 1 2 - 434: 59(fvec4) CompositeExtract 431 1 - 435: 18(fvec3) VectorShuffle 434 434 0 1 2 - 436: 59(fvec4) CompositeExtract 431 2 - 437: 18(fvec3) VectorShuffle 436 436 0 1 2 - 438: 188 CompositeConstruct 433 435 437 - 439: 18(fvec3) VectorTimesMatrix 429 438 - Store 419(lPos) 439 - 441: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 442 442 16 16 - 440: 18(fvec3) Load 419(lPos) - 443: 59(fvec4) Load 353(pos) - 444: 18(fvec3) VectorShuffle 443 443 0 1 2 - 445: 18(fvec3) FSub 440 444 - 446: 103(ptr) AccessChain 91(output) 134 - Store 446 445 - 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 449 449 16 16 - 447: 59(fvec4) Load 353(pos) - 450: 18(fvec3) VectorShuffle 447 447 0 1 2 - 451: 18(fvec3) FNegate 450 - 452: 103(ptr) AccessChain 91(output) 296 - Store 452 451 - 454: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 455 455 16 16 - 453:61(VSOutput) Load 91(output) - ReturnValue 453 + 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 89 + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 95 95 16 16 + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 93 92(output) 85 + Store 92(output) 102 + 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 109 109 16 16 + 107: 105(ptr) AccessChain 77(input) 104 + 110: 18(fvec3) Load 107 + 111: 105(ptr) AccessChain 92(output) 103 + Store 111 110 + 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 116 116 16 16 + 114: 112(ptr) AccessChain 77(input) 103 + 117: 20(fvec2) Load 114 + 121: 119(ptr) AccessChain 77(input) 118 + 122: 23(int) Load 121 + 123: 8(float) ConvertSToF 122 + 124: 8(float) CompositeExtract 117 0 + 125: 8(float) CompositeExtract 117 1 + 126: 18(fvec3) CompositeConstruct 124 125 123 + 127: 105(ptr) AccessChain 92(output) 104 + Store 127 126 + 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 133 133 16 16 + 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 131 130(s) 85 + 137: 128(ptr) AccessChain 77(input) 136 16 + 138: 8(float) Load 137 + 175: 173(ptr) AccessChain 168 172 104 + 176: 8(float) Load 175 + 177: 8(float) FAdd 138 176 + 178: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 177 + Store 130(s) 178 + 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 182 182 16 16 + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 180 179(c) 85 + 185: 128(ptr) AccessChain 77(input) 136 16 + 186: 8(float) Load 185 + 187: 173(ptr) AccessChain 168 172 104 + 188: 8(float) Load 187 + 189: 8(float) FAdd 186 188 + 190: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 189 + Store 179(c) 190 + 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 198 198 16 16 + 199: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 196 195(mx) 85 + 201: 8(float) Load 179(c) + 202: 8(float) Load 130(s) + 203: 8(float) FNegate 202 + 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 206 206 16 16 + 204: 8(float) Load 130(s) + 207: 8(float) Load 179(c) + 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 198 198 16 16 + 209: 18(fvec3) CompositeConstruct 201 203 99 + 211: 18(fvec3) CompositeConstruct 204 207 99 + 212: 18(fvec3) CompositeConstruct 99 99 208 + 213: 191 CompositeConstruct 209 211 212 + Store 195(mx) 213 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 216 216 16 16 + 214: 128(ptr) AccessChain 77(input) 136 52 + 217: 8(float) Load 214 + 218: 173(ptr) AccessChain 168 172 104 + 219: 8(float) Load 218 + 220: 8(float) FAdd 217 219 + 221: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 220 + Store 130(s) 221 + 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 224 224 16 16 + 222: 128(ptr) AccessChain 77(input) 136 52 + 225: 8(float) Load 222 + 226: 173(ptr) AccessChain 168 172 104 + 227: 8(float) Load 226 + 228: 8(float) FAdd 225 227 + 229: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 228 + Store 179(c) 229 + 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 233 233 16 16 + 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 231 230(my) 85 + 236: 8(float) Load 179(c) + 237: 8(float) Load 130(s) + 238: 8(float) FNegate 237 + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 241 241 16 16 + 239: 8(float) Load 130(s) + 242: 8(float) Load 179(c) + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 233 233 16 16 + 243: 18(fvec3) CompositeConstruct 236 99 238 + 245: 18(fvec3) CompositeConstruct 99 208 99 + 246: 18(fvec3) CompositeConstruct 239 99 242 + 247: 191 CompositeConstruct 243 245 246 + Store 230(my) 247 + 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 250 250 16 16 + 248: 128(ptr) AccessChain 77(input) 136 21 + 251: 8(float) Load 248 + 252: 173(ptr) AccessChain 168 172 104 + 253: 8(float) Load 252 + 254: 8(float) FAdd 251 253 + 255: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 254 + Store 130(s) 255 + 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 258 258 16 16 + 256: 128(ptr) AccessChain 77(input) 136 21 + 259: 8(float) Load 256 + 260: 173(ptr) AccessChain 168 172 104 + 261: 8(float) Load 260 + 262: 8(float) FAdd 259 261 + 263: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 262 + Store 179(c) 263 + 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 267 267 16 16 + 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 265 264(mz) 85 + 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 272 272 16 16 + 270: 8(float) Load 179(c) + 273: 8(float) Load 130(s) + 274: 8(float) FNegate 273 + 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 277 277 16 16 + 275: 8(float) Load 130(s) + 278: 8(float) Load 179(c) + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 267 267 16 16 + 279: 18(fvec3) CompositeConstruct 208 99 99 + 281: 18(fvec3) CompositeConstruct 99 270 274 + 282: 18(fvec3) CompositeConstruct 99 275 278 + 283: 191 CompositeConstruct 279 281 282 + Store 264(mz) 283 + 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 287 287 16 16 + 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 285 284(rotMat) 85 + 290: 191 Load 195(mx) + 291: 191 Load 230(my) + 292: 191 MatrixTimesMatrix 290 291 + 293: 191 Load 264(mz) + 294: 191 MatrixTimesMatrix 292 293 + Store 284(rotMat) 294 + 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 300 300 16 16 + 301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 298 297(gRotMat) 85 + 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 305 305 16 16 + 303: 128(ptr) AccessChain 77(input) 136 52 + 306: 8(float) Load 303 + 308: 173(ptr) AccessChain 168 172 307 + 309: 8(float) Load 308 + 310: 8(float) FAdd 306 309 + 311: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 310 + Store 130(s) 311 + 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 314 314 16 16 + 312: 128(ptr) AccessChain 77(input) 136 52 + 315: 8(float) Load 312 + 316: 173(ptr) AccessChain 168 172 307 + 317: 8(float) Load 316 + 318: 8(float) FAdd 315 317 + 319: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 318 + Store 179(c) 319 + 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 322 322 16 16 + 320: 8(float) Load 179(c) + 323: 8(float) Load 130(s) + 324: 8(float) FNegate 323 + 325: 59(fvec4) CompositeConstruct 320 99 324 99 + 328: 326(ptr) AccessChain 297(gRotMat) 172 + Store 328 325 + 332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 333 333 16 16 + 331: 326(ptr) AccessChain 297(gRotMat) 329 + Store 331 330 + 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 336 336 16 16 + 334: 8(float) Load 130(s) + 337: 8(float) Load 179(c) + 338: 59(fvec4) CompositeConstruct 334 99 337 99 + 339: 326(ptr) AccessChain 297(gRotMat) 103 + Store 339 338 + 342: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 343 343 16 16 + 341: 326(ptr) AccessChain 297(gRotMat) 104 + Store 341 340 + 349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 347 347 16 16 + 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 345 344(locPos) 85 + 350: 105(ptr) AccessChain 77(input) 172 + 351: 18(fvec3) Load 350 + 352: 191 Load 284(rotMat) + 353: 18(fvec3) VectorTimesMatrix 351 352 + 354: 8(float) CompositeExtract 353 0 + 355: 8(float) CompositeExtract 353 1 + 356: 8(float) CompositeExtract 353 2 + 357: 59(fvec4) CompositeConstruct 354 355 356 208 + Store 344(locPos) 357 + 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 361 361 16 16 + 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 359 358(pos) 85 + 364: 59(fvec4) Load 344(locPos) + 365: 18(fvec3) VectorShuffle 364 364 0 1 2 + 367: 128(ptr) AccessChain 77(input) 366 + 368: 8(float) Load 367 + 369: 18(fvec3) VectorTimesScalar 365 368 + 370: 105(ptr) AccessChain 77(input) 307 + 371: 18(fvec3) Load 370 + 372: 18(fvec3) FAdd 369 371 + 373: 8(float) CompositeExtract 372 0 + 374: 8(float) CompositeExtract 372 1 + 375: 8(float) CompositeExtract 372 2 + 376: 59(fvec4) CompositeConstruct 373 374 375 208 + Store 358(pos) 376 + 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 379 379 16 16 + 377: 59(fvec4) Load 358(pos) + 380: 139 Load 297(gRotMat) + 381: 59(fvec4) VectorTimesMatrix 377 380 + 384: 382(ptr) AccessChain 168 172 329 + 385: 139 Load 384 + 386: 59(fvec4) VectorTimesMatrix 381 385 + 387: 382(ptr) AccessChain 168 172 172 + 388: 139 Load 387 + 389: 59(fvec4) VectorTimesMatrix 386 388 + 390: 326(ptr) AccessChain 92(output) 172 + Store 390 389 + 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 393 393 16 16 + 391: 105(ptr) AccessChain 77(input) 329 + 394: 18(fvec3) Load 391 + 395: 191 Load 284(rotMat) + 396: 18(fvec3) VectorTimesMatrix 394 395 + 397: 139 Load 297(gRotMat) + 398: 382(ptr) AccessChain 168 172 329 + 399: 139 Load 398 + 400: 139 MatrixTimesMatrix 397 399 + 401: 59(fvec4) CompositeExtract 400 0 + 402: 18(fvec3) VectorShuffle 401 401 0 1 2 + 403: 59(fvec4) CompositeExtract 400 1 + 404: 18(fvec3) VectorShuffle 403 403 0 1 2 + 405: 59(fvec4) CompositeExtract 400 2 + 406: 18(fvec3) VectorShuffle 405 405 0 1 2 + 407: 191 CompositeConstruct 402 404 406 + 408: 18(fvec3) VectorTimesMatrix 396 407 + 409: 105(ptr) AccessChain 92(output) 329 + Store 409 408 + 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 412 412 16 16 + 410: 105(ptr) AccessChain 77(input) 172 + 413: 18(fvec3) Load 410 + 414: 105(ptr) AccessChain 77(input) 307 + 415: 18(fvec3) Load 414 + 416: 18(fvec3) FAdd 413 415 + 417: 8(float) CompositeExtract 416 0 + 418: 8(float) CompositeExtract 416 1 + 419: 8(float) CompositeExtract 416 2 + 420: 59(fvec4) CompositeConstruct 417 418 419 208 + 421: 382(ptr) AccessChain 168 172 329 + 422: 139 Load 421 + 423: 59(fvec4) VectorTimesMatrix 420 422 + Store 358(pos) 423 + 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 427 427 16 16 + 428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 425 424(lPos) 85 + 432: 430(ptr) AccessChain 168 172 103 + 433: 59(fvec4) Load 432 + 434: 18(fvec3) VectorShuffle 433 433 0 1 2 + 435: 382(ptr) AccessChain 168 172 329 + 436: 139 Load 435 + 437: 59(fvec4) CompositeExtract 436 0 + 438: 18(fvec3) VectorShuffle 437 437 0 1 2 + 439: 59(fvec4) CompositeExtract 436 1 + 440: 18(fvec3) VectorShuffle 439 439 0 1 2 + 441: 59(fvec4) CompositeExtract 436 2 + 442: 18(fvec3) VectorShuffle 441 441 0 1 2 + 443: 191 CompositeConstruct 438 440 442 + 444: 18(fvec3) VectorTimesMatrix 434 443 + Store 424(lPos) 444 + 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 447 447 16 16 + 445: 18(fvec3) Load 424(lPos) + 448: 59(fvec4) Load 358(pos) + 449: 18(fvec3) VectorShuffle 448 448 0 1 2 + 450: 18(fvec3) FSub 445 449 + 451: 105(ptr) AccessChain 92(output) 136 + Store 451 450 + 453: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 454 454 16 16 + 452: 59(fvec4) Load 358(pos) + 455: 18(fvec3) VectorShuffle 452 452 0 1 2 + 456: 18(fvec3) FNegate 455 + 457: 105(ptr) AccessChain 92(output) 307 + Store 457 456 + 459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 460 460 16 16 + 458:61(VSOutput) Load 92(output) + ReturnValue 458 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out b/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out index 8b2af8e8..7a3ef975 100644 --- a/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out @@ -1,14 +1,14 @@ spv.debuginfo.implicit_br.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 194 +// Id's are bound by 204 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 14 "main" 186 + EntryPoint Fragment 14 "main" 196 ExecutionMode 14 OriginUpperLeft 2: String "spv.debuginfo.implicit_br.glsl.frag" 8: String "uint" @@ -88,7 +88,7 @@ void main() { 50: String "int" 56: String "counter" 65: String "bool" - 188: String "outx" + 198: String "outx" Name 14 "main" Name 16 "test_if(" Name 26 "test_ifelse(" @@ -96,8 +96,8 @@ void main() { Name 36 "test_if_compound2(" Name 41 "test_switch(" Name 54 "counter" - Name 186 "outx" - Decorate 186(outx) Location 0 + Name 196 "outx" + Decorate 196(outx) Location 0 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -134,55 +134,65 @@ void main() { 64: TypeBool 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 65 10 25 12 67: 64(bool) ConstantFalse - 70: 49(int) Constant 1 - 77: 7(int) Constant 10 + 71: 7(int) Constant 17 + 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 57 71 19 + 72: 49(int) Constant 1 + 79: 7(int) Constant 10 86: 7(int) Constant 14 - 89: 49(int) Constant 2 - 93: 7(int) Constant 17 - 97: 7(int) Constant 19 - 110: 7(int) Constant 24 - 114: 7(int) Constant 27 - 131: 7(int) Constant 35 - 135: 7(int) Constant 37 - 146: 7(int) Constant 42 - 151: 7(int) Constant 45 - 154: 7(int) Constant 46 - 156: 49(int) Constant 3 - 160: 7(int) Constant 48 - 165: 7(int) Constant 51 - 171: 7(int) Constant 54 - 174: 7(int) Constant 55 - 177: 7(int) Constant 56 - 180: 7(int) Constant 57 - 183: 7(int) Constant 58 - 184: TypePointer Output 49(int) - 185: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 51 13 12 - 186(outx): 184(ptr) Variable Output - 189: 7(int) Constant 59 - 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 188 51 20 189 12 22 188 186(outx) 57 - 193: 7(int) Constant 60 + 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 86 71 29 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 71 71 29 + 93: 49(int) Constant 2 + 100: 7(int) Constant 19 + 107: 7(int) Constant 23 + 108: 7(int) Constant 9 + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 107 108 34 + 114: 7(int) Constant 24 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 114 35 106 + 121: 7(int) Constant 27 + 128: 7(int) Constant 31 + 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 128 108 39 + 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 10 35 127 + 141: 7(int) Constant 35 + 145: 7(int) Constant 37 + 156: 7(int) Constant 42 + 161: 7(int) Constant 45 + 164: 7(int) Constant 46 + 166: 49(int) Constant 3 + 170: 7(int) Constant 48 + 175: 7(int) Constant 51 + 181: 7(int) Constant 54 + 184: 7(int) Constant 55 + 187: 7(int) Constant 56 + 190: 7(int) Constant 57 + 193: 7(int) Constant 58 + 194: TypePointer Output 49(int) + 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 51 13 12 + 196(outx): 194(ptr) Variable Output + 199: 7(int) Constant 59 + 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 198 51 20 199 12 22 198 196(outx) 57 + 203: 7(int) Constant 60 14(main): 4 Function None 5 15: Label 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 22 60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 24 24 12 12 Store 54(counter) 58 - 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 47 - 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 48 48 12 12 - 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 47 14(main) - 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 171 171 12 12 - 169: 4 FunctionCall 16(test_if() - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 174 174 12 12 - 172: 4 FunctionCall 26(test_ifelse() - 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 177 177 12 12 - 175: 4 FunctionCall 31(test_if_compound() - 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 180 180 12 12 - 178: 4 FunctionCall 36(test_if_compound2() - 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 183 183 12 12 - 181: 4 FunctionCall 41(test_switch() - 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 189 189 12 12 - 190: 49(int) Load 54(counter) - Store 186(outx) 190 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 47 + 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 48 48 12 12 + 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 47 14(main) + 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 181 181 12 12 + 179: 4 FunctionCall 16(test_if() + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 184 184 12 12 + 182: 4 FunctionCall 26(test_ifelse() + 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 187 187 12 12 + 185: 4 FunctionCall 31(test_if_compound() + 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 190 190 12 12 + 188: 4 FunctionCall 36(test_if_compound2() 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 193 193 12 12 + 191: 4 FunctionCall 41(test_switch() + 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 199 199 12 12 + 200: 49(int) Load 54(counter) + Store 196(outx) 200 + 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 203 203 12 12 Return FunctionEnd 16(test_if(): 4 Function None 5 @@ -193,133 +203,133 @@ void main() { SelectionMerge 69 None BranchConditional 67 68 69 68: Label - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 - 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 57 57 12 12 - 71: 49(int) Load 54(counter) - 74: 49(int) IAdd 71 70 - Store 54(counter) 74 + 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 70 + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 57 57 12 12 + 73: 49(int) Load 54(counter) + 76: 49(int) IAdd 73 72 + Store 54(counter) 76 Branch 69 69: Label - 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 - 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 77 77 12 12 + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 79 79 12 12 Return FunctionEnd 26(test_ifelse(): 4 Function None 5 27: Label - 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 - 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 30 30 12 12 - 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 29 26(test_ifelse() - SelectionMerge 82 None - BranchConditional 67 81 88 - 81: Label - 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 - 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 86 86 12 12 - 83: 49(int) Load 54(counter) - 87: 49(int) IAdd 83 70 - Store 54(counter) 87 - Branch 82 - 88: Label - 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 93 93 12 12 - 90: 49(int) Load 54(counter) - 94: 49(int) IAdd 90 89 - Store 54(counter) 94 - Branch 82 - 82: Label - 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 - 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 97 97 12 12 + 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 + 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 30 30 12 12 + 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 29 26(test_ifelse() + SelectionMerge 84 None + BranchConditional 67 83 91 + 83: Label + 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 86 86 12 12 + 87: 49(int) Load 54(counter) + 90: 49(int) IAdd 87 72 + Store 54(counter) 90 + Branch 84 + 91: Label + 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 92 + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 71 71 12 12 + 94: 49(int) Load 54(counter) + 97: 49(int) IAdd 94 93 + Store 54(counter) 97 + Branch 84 + 84: Label + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 + 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 100 100 12 12 Return FunctionEnd 31(test_if_compound(): 4 Function None 5 32: Label - 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 - 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12 - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 34 31(test_if_compound() - SelectionMerge 102 None - BranchConditional 67 101 102 - 101: Label - 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 - 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12 - SelectionMerge 104 None - BranchConditional 67 103 104 - 103: Label - 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 - 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 110 110 12 12 - 107: 49(int) Load 54(counter) - 111: 49(int) IAdd 107 70 - Store 54(counter) 111 - Branch 104 + 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 + 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12 + 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 34 31(test_if_compound() + SelectionMerge 105 None + BranchConditional 67 104 105 104: Label - Branch 102 - 102: Label - 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 - 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 114 114 12 12 + 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 106 + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12 + SelectionMerge 110 None + BranchConditional 67 109 110 + 109: Label + 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 + 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 114 114 12 12 + 115: 49(int) Load 54(counter) + 118: 49(int) IAdd 115 72 + Store 54(counter) 118 + Branch 110 + 110: Label + Branch 105 + 105: Label + 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 121 121 12 12 Return FunctionEnd 36(test_if_compound2(): 4 Function None 5 37: Label - 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12 - 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(test_if_compound2() - SelectionMerge 119 None - BranchConditional 67 118 119 - 118: Label - 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12 - SelectionMerge 121 None - BranchConditional 67 120 121 - 120: Label - 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 10 10 12 12 - 124: 49(int) Load 54(counter) - 127: 49(int) IAdd 124 70 - Store 54(counter) 127 - Branch 121 - 121: Label - 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 131 131 12 12 - 128: 49(int) Load 54(counter) - 132: 49(int) IAdd 128 89 - Store 54(counter) 132 - Branch 119 - 119: Label - 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 135 135 12 12 + 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(test_if_compound2() + SelectionMerge 126 None + BranchConditional 67 125 126 + 125: Label + 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 127 + 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12 + SelectionMerge 130 None + BranchConditional 67 129 130 + 129: Label + 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 133 + 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 10 10 12 12 + 134: 49(int) Load 54(counter) + 137: 49(int) IAdd 134 72 + Store 54(counter) 137 + Branch 130 + 130: Label + 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 127 + 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 141 141 12 12 + 138: 49(int) Load 54(counter) + 142: 49(int) IAdd 138 93 + Store 54(counter) 142 + Branch 126 + 126: Label + 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 145 145 12 12 Return FunctionEnd 41(test_switch(): 4 Function None 5 42: Label - 137: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 - 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 45 45 12 12 - 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 44 41(test_switch() - SelectionMerge 142 None - Switch 58 141 - case 0: 139 - case 1: 140 - 141: Label - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 - 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 160 160 12 12 - 157: 49(int) Load 54(counter) - 161: 49(int) IAdd 157 156 - Store 54(counter) 161 - Branch 142 - 139: Label - 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 - 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 146 146 12 12 - 143: 49(int) Load 54(counter) - 147: 49(int) IAdd 143 70 - Store 54(counter) 147 - Branch 140 - 140: Label - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 - 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 151 151 12 12 - 148: 49(int) Load 54(counter) - 152: 49(int) IAdd 148 89 - Store 54(counter) 152 - 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 154 154 12 12 - Branch 142 - 142: Label - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 - 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 165 165 12 12 + 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 45 45 12 12 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 44 41(test_switch() + SelectionMerge 152 None + Switch 58 151 + case 0: 149 + case 1: 150 + 151: Label + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 170 170 12 12 + 167: 49(int) Load 54(counter) + 171: 49(int) IAdd 167 166 + Store 54(counter) 171 + Branch 152 + 149: Label + 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 156 156 12 12 + 153: 49(int) Load 54(counter) + 157: 49(int) IAdd 153 72 + Store 54(counter) 157 + Branch 150 + 150: Label + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 161 161 12 12 + 158: 49(int) Load 54(counter) + 162: 49(int) IAdd 158 93 + Store 54(counter) 162 + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 164 164 12 12 + Branch 152 + 152: Label + 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 175 175 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out b/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out index 02e5280b..04384097 100644 --- a/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out +++ b/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out @@ -1,7 +1,7 @@ spv.debuginfo.rt_types.glsl.rgen // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 125 +// Id's are bound by 127 Capability RayQueryKHR Capability RayTracingNV @@ -147,8 +147,10 @@ void main() 110: TypeBool 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 111 10 24 12 115: 7(int) Constant 19 - 121: 7(int) Constant 21 - 124: 7(int) Constant 23 + 120: 7(int) Constant 21 + 121: 7(int) Constant 30 + 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 18 120 121 17 + 126: 7(int) Constant 23 14(main): 4 Function None 5 15: Label 31(rayFlags): 28(ptr) Variable Function @@ -182,12 +184,12 @@ void main() SelectionMerge 118 None BranchConditional 116 117 118 117: Label - 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 121 121 12 12 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 119 + 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 120 120 12 12 RayQueryTerminateKHR 66(localRayQuery) Branch 118 118: Label - 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 - 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 124 124 12 12 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 126 126 12 12 Return FunctionEnd diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp index 053793df..315ccdac 100644 --- a/gtests/Hlsl.FromFile.cpp +++ b/gtests/Hlsl.FromFile.cpp @@ -149,7 +149,7 @@ TEST_P(HlslNonSemanticShaderDebugInfoTest, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam().fileName, Source::HLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, - Target::Spv, true, GetParam().entryPoint, "/baseResults/", false, false, true); + Target::Spv, true, GetParam().entryPoint, "/baseResults/", false, true, true); } // clang-format off diff --git a/gtests/TestFixture.h b/gtests/TestFixture.h index ab548f56..68bb3c6a 100644 --- a/gtests/TestFixture.h +++ b/gtests/TestFixture.h @@ -262,6 +262,14 @@ public: shader.setAutoMapLocations(true); shader.setAutoMapBindings(true); } + + if (enableDebug) { + shader.setDebugInfo(true); + } + if (enableNonSemanticShaderDebugInfo) { + assert(enableDebug && "Debug must be on for non-semantic debug info"); + } + shader.setTextureSamplerTransformMode(texSampTransMode); #ifdef ENABLE_HLSL shader.setFlattenUniformArrays(flattenUniformArrays); From 7430f863c05ad80490838262c386747758b00c79 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 06:36:59 +0000 Subject: [PATCH 100/108] Bump github/codeql-action from 3.26.9 to 3.26.11 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.9 to 3.26.11. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/461ef6c76dfe95d5c364de2f431ddbd31a417628...6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index b4ec8f2a..2edbde3e 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@461ef6c76dfe95d5c364de2f431ddbd31a417628 # v3.26.9 + uses: github/codeql-action/upload-sarif@6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea # v3.26.11 with: sarif_file: results.sarif From 9d00d6d6cad638bebc7cd852b1e6e1244de42679 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 06:36:54 +0000 Subject: [PATCH 101/108] Bump lukka/get-cmake from 3.30.3 to 3.30.4 Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.30.3 to 3.30.4. - [Release notes](https://github.com/lukka/get-cmake/releases) - [Commits](https://github.com/lukka/get-cmake/compare/070a0507a7abe157ef918deec391da1be197d2d1...582a9f5c6f4f332f36797e1ac757d1c8850a1513) --- updated-dependencies: - dependency-name: lukka/get-cmake dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/continuous_deployment.yml | 6 +++--- .github/workflows/continuous_integration.yml | 22 ++++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index 535e5634..c2a45755 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -42,7 +42,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -105,7 +105,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -161,7 +161,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 0a699ba4..ce340b5f 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -18,7 +18,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -53,7 +53,7 @@ jobs: cmake_build_type: [Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -87,7 +87,7 @@ jobs: flags: ['-fsanitize=address', '-fsanitize=thread', '-fsanitize=undefined'] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -128,7 +128,7 @@ jobs: - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 with: cmakeVersion: 3.17.2 - name: Setup ccache @@ -158,7 +158,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - run: ./update_glslang_sources.py - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON env: @@ -178,7 +178,7 @@ jobs: cmake_build_type: [Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - run: ./update_glslang_sources.py - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON -DBUILD_SHARED_LIBS=ON env: @@ -199,7 +199,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -222,7 +222,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -239,7 +239,7 @@ jobs: runs-on: macos-13 steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: @@ -268,7 +268,7 @@ jobs: LEGACY: [ON, OFF] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: @@ -294,7 +294,7 @@ jobs: - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - - uses: lukka/get-cmake@070a0507a7abe157ef918deec391da1be197d2d1 # v3.30.3 + - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: From 05559a2963bde12f47882b63ea3820d0b6ff88e5 Mon Sep 17 00:00:00 2001 From: Daniel Story Date: Thu, 12 Sep 2024 12:18:09 -0700 Subject: [PATCH 102/108] Implement optional link-time cross stage optimization --- StandAlone/StandAlone.cpp | 12 ++- glslang/Include/glslang_c_shader_types.h | 1 + glslang/MachineIndependent/ShaderLang.cpp | 9 +- glslang/MachineIndependent/linkValidate.cpp | 102 ++++++++++++++++++ .../MachineIndependent/localintermediate.h | 1 + glslang/Public/ShaderLang.h | 1 + 6 files changed, 124 insertions(+), 2 deletions(-) diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp index 3288b887..e7153b7a 100644 --- a/StandAlone/StandAlone.cpp +++ b/StandAlone/StandAlone.cpp @@ -109,6 +109,7 @@ enum TOptions : uint64_t { EOptionDumpBareVersion = (1ull << 31), EOptionCompileOnly = (1ull << 32), EOptionDisplayErrorColumn = (1ull << 33), + EOptionLinkTimeOptimization = (1ull << 34), }; bool targetHlslFunctionality1 = false; bool SpvToolsDisassembler = false; @@ -899,6 +900,8 @@ void ProcessArguments(std::vector>& workItem Options |= EOptionCompileOnly; } else if (lowerword == "error-column") { Options |= EOptionDisplayErrorColumn; + } else if (lowerword == "lto") { + Options |= EOptionLinkTimeOptimization; } else if (lowerword == "help") { usage(); break; @@ -1083,6 +1086,10 @@ void ProcessArguments(std::vector>& workItem if ((Options & EOptionDumpReflection) && !(Options & EOptionLinkProgram)) Error("reflection requires -l for linking"); + // link time optimization makes no sense unless linking + if ((Options & EOptionLinkTimeOptimization) && !(Options & EOptionLinkProgram)) + Error("link time optimization requires -l for linking"); + // -o or -x makes no sense if there is no target binary if (binaryFileName && (Options & EOptionSpv) == 0) Error("no binary generation requested (e.g., -V)"); @@ -1167,6 +1174,8 @@ void SetMessageOptions(EShMessages& messages) messages = (EShMessages)(messages | EShMsgAbsolutePath); if (Options & EOptionDisplayErrorColumn) messages = (EShMessages)(messages | EShMsgDisplayErrorColumn); + if (Options & EOptionLinkTimeOptimization) + messages = (EShMessages)(messages | EShMsgLinkTimeOptimization); } // @@ -2135,7 +2144,8 @@ void usage() " initialized with the shader binary code\n" " --no-link Only compile shader; do not link (GLSL-only)\n" " NOTE: this option will set the export linkage\n" - " attribute on all functions\n"); + " attribute on all functions\n" + " --lto perform link time optimization\n"); exit(EFailUsage); } diff --git a/glslang/Include/glslang_c_shader_types.h b/glslang/Include/glslang_c_shader_types.h index 7bb0ccda..768e2e84 100644 --- a/glslang/Include/glslang_c_shader_types.h +++ b/glslang/Include/glslang_c_shader_types.h @@ -176,6 +176,7 @@ typedef enum { GLSLANG_MSG_ENHANCED = (1 << 15), GLSLANG_MSG_ABSOLUTE_PATH = (1 << 16), GLSLANG_MSG_DISPLAY_ERROR_COLUMN = (1 << 17), + GLSLANG_MSG_LINK_TIME_OPTIMIZATION_BIT = (1 << 18), LAST_ELEMENT_MARKER(GLSLANG_MSG_COUNT), } glslang_messages_t; diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index 367388f9..040b21da 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -2055,7 +2055,7 @@ bool TProgram::linkStage(EShLanguage stage, EShMessages messages) // // Return true if no errors. // -bool TProgram::crossStageCheck(EShMessages) { +bool TProgram::crossStageCheck(EShMessages messages) { // make temporary intermediates to hold the linkage symbols for each linking interface // while we do the checks @@ -2110,6 +2110,13 @@ bool TProgram::crossStageCheck(EShMessages) { error |= (activeStages[i - 1]->getNumErrors() != 0); } + // if requested, optimize cross stage IO + if (messages & EShMsgLinkTimeOptimization) { + for (unsigned int i = 1; i < activeStages.size(); ++i) { + activeStages[i - 1]->optimizeStageIO(*infoSink, *activeStages[i]); + } + } + return !error; } diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp index 182a6775..b0c27e84 100644 --- a/glslang/MachineIndependent/linkValidate.cpp +++ b/glslang/MachineIndependent/linkValidate.cpp @@ -49,6 +49,7 @@ #include "localintermediate.h" #include "../Include/InfoSink.h" #include "SymbolTable.h" +#include "LiveTraverser.h" namespace glslang { @@ -187,6 +188,107 @@ void TIntermediate::checkStageIO(TInfoSink& infoSink, TIntermediate& unit) { } } +void TIntermediate::optimizeStageIO(TInfoSink&, TIntermediate& unit) +{ + // don't do any input/output demotion on compute, raytracing, or task/mesh stages + // TODO: support task/mesh + if (getStage() > EShLangFragment || unit.getStage() > EShLangFragment) { + return; + } + + class TIOTraverser : public TLiveTraverser { + public: + TIOTraverser(TIntermediate& i, bool all, TIntermSequence& sequence, TStorageQualifier storage) + : TLiveTraverser(i, all, true, false, false), sequence(sequence), storage(storage) + { + } + + virtual void visitSymbol(TIntermSymbol* symbol) + { + if (symbol->getQualifier().storage == storage) { + sequence.push_back(symbol); + } + } + + private: + TIntermSequence& sequence; + TStorageQualifier storage; + }; + + // live symbols only + TIntermSequence unitLiveInputs; + + TIOTraverser unitTraverser(unit, false, unitLiveInputs, EvqVaryingIn); + unitTraverser.pushFunction(unit.getEntryPointMangledName().c_str()); + while (! unitTraverser.destinations.empty()) { + TIntermNode* destination = unitTraverser.destinations.back(); + unitTraverser.destinations.pop_back(); + destination->traverse(&unitTraverser); + } + + TIntermSequence allOutputs; + TIntermSequence unitAllInputs; + + TIOTraverser allTraverser(*this, true, allOutputs, EvqVaryingOut); + getTreeRoot()->traverse(&allTraverser); + + TIOTraverser unitAllTraverser(unit, true, unitAllInputs, EvqVaryingIn); + unit.getTreeRoot()->traverse(&unitAllTraverser); + + // find outputs not consumed by the next stage + std::for_each(allOutputs.begin(), allOutputs.end(), [&unitLiveInputs, &unitAllInputs](TIntermNode* output) { + // don't do anything to builtins + if (output->getAsSymbolNode()->getAccessName().compare(0, 3, "gl_") == 0) + return; + + // don't demote block outputs (for now) + if (output->getAsSymbolNode()->getBasicType() == EbtBlock) + return; + + // check if the (loose) output has a matching loose input + auto isMatchingInput = [output](TIntermNode* input) { + return output->getAsSymbolNode()->getAccessName() == input->getAsSymbolNode()->getAccessName(); + }; + + // check if the (loose) output has a matching block member input + auto isMatchingInputBlockMember = [output](TIntermNode* input) { + // ignore loose inputs + if (input->getAsSymbolNode()->getBasicType() != EbtBlock) + return false; + + // don't demote loose outputs with matching input block members + auto isMatchingBlockMember = [output](TTypeLoc type) { + return type.type->getFieldName() == output->getAsSymbolNode()->getName(); + }; + const TTypeList* members = input->getAsSymbolNode()->getType().getStruct(); + return std::any_of(members->begin(), members->end(), isMatchingBlockMember); + }; + + // determine if the input/output pair should be demoted + // do the faster (and more likely) loose-loose check first + if (std::none_of(unitLiveInputs.begin(), unitLiveInputs.end(), isMatchingInput) && + std::none_of(unitAllInputs.begin(), unitAllInputs.end(), isMatchingInputBlockMember)) { + // demote any input matching the output + auto demoteMatchingInputs = [output](TIntermNode* input) { + if (output->getAsSymbolNode()->getAccessName() == input->getAsSymbolNode()->getAccessName()) { + // demote input to a plain variable + TIntermSymbol* symbol = input->getAsSymbolNode(); + symbol->getQualifier().storage = EvqGlobal; + symbol->getQualifier().clearInterstage(); + symbol->getQualifier().clearLayout(); + } + }; + + // demote all matching outputs to a plain variable + TIntermSymbol* symbol = output->getAsSymbolNode(); + symbol->getQualifier().storage = EvqGlobal; + symbol->getQualifier().clearInterstage(); + symbol->getQualifier().clearLayout(); + std::for_each(unitAllInputs.begin(), unitAllInputs.end(), demoteMatchingInputs); + } + }); +} + void TIntermediate::mergeCallGraphs(TInfoSink& infoSink, TIntermediate& unit) { if (unit.getNumEntryPoints() > 0) { diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h index 80638a6b..a2fb9514 100644 --- a/glslang/MachineIndependent/localintermediate.h +++ b/glslang/MachineIndependent/localintermediate.h @@ -1051,6 +1051,7 @@ public: void mergeGlobalUniformBlocks(TInfoSink& infoSink, TIntermediate& unit, bool mergeExistingOnly); void mergeUniformObjects(TInfoSink& infoSink, TIntermediate& unit); void checkStageIO(TInfoSink&, TIntermediate&); + void optimizeStageIO(TInfoSink&, TIntermediate&); bool buildConvertOp(TBasicType dst, TBasicType src, TOperator& convertOp) const; TIntermTyped* createConversion(TBasicType convertTo, TIntermTyped* node) const; diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h index b105b5c9..739d7f7b 100644 --- a/glslang/Public/ShaderLang.h +++ b/glslang/Public/ShaderLang.h @@ -271,6 +271,7 @@ enum EShMessages : unsigned { EShMsgEnhanced = (1 << 15), // enhanced message readability EShMsgAbsolutePath = (1 << 16), // Output Absolute path for messages EShMsgDisplayErrorColumn = (1 << 17), // Display error message column aswell as line + EShMsgLinkTimeOptimization = (1 << 18), // perform cross-stage optimizations during linking LAST_ELEMENT_MARKER(EShMsgCount), }; From 2acc4ea0028bc703be2d4e9bc8a4032d015d6516 Mon Sep 17 00:00:00 2001 From: Daniel Story Date: Mon, 23 Sep 2024 16:44:52 -0700 Subject: [PATCH 103/108] Add link-time cross stage optimization test --- .../link.crossStageOptimization.out | 232 ++++++++++++++++++ Test/link.crossStageOptimization.frag | 24 ++ Test/link.crossStageOptimization.vert | 41 ++++ Test/runtests | 7 + 4 files changed, 304 insertions(+) create mode 100644 Test/baseResults/link.crossStageOptimization.out create mode 100644 Test/link.crossStageOptimization.frag create mode 100644 Test/link.crossStageOptimization.vert diff --git a/Test/baseResults/link.crossStageOptimization.out b/Test/baseResults/link.crossStageOptimization.out new file mode 100644 index 00000000..1189c087 --- /dev/null +++ b/Test/baseResults/link.crossStageOptimization.out @@ -0,0 +1,232 @@ +link.crossStageOptimization.vert +link.crossStageOptimization.frag +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 88 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 9 60 84 + Source GLSL 440 + Name 4 "main" + Name 9 "a0" + Name 10 "AccessedUniformBlock" + MemberName 10(AccessedUniformBlock) 0 "a" + MemberName 10(AccessedUniformBlock) 1 "b" + Name 12 "" + Name 21 "AccessedStorageBlock" + MemberName 21(AccessedStorageBlock) 0 "e" + Name 23 "" + Name 32 "uSampler0" + Name 41 "a1" + Name 42 "NotAccessedUniformBlock" + MemberName 42(NotAccessedUniformBlock) 0 "c" + MemberName 42(NotAccessedUniformBlock) 1 "d" + Name 44 "" + Name 48 "NotAccessedStorageBlock" + MemberName 48(NotAccessedStorageBlock) 0 "f" + Name 50 "" + Name 56 "uSampler1" + Name 60 "a2" + Name 70 "a3" + Name 82 "gl_PerVertex" + MemberName 82(gl_PerVertex) 0 "gl_Position" + MemberName 82(gl_PerVertex) 1 "gl_PointSize" + MemberName 82(gl_PerVertex) 2 "gl_ClipDistance" + Name 84 "" + Decorate 9(a0) Location 0 + Decorate 10(AccessedUniformBlock) Block + MemberDecorate 10(AccessedUniformBlock) 0 Offset 0 + MemberDecorate 10(AccessedUniformBlock) 1 Offset 16 + Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 + Decorate 20 ArrayStride 4 + Decorate 21(AccessedStorageBlock) BufferBlock + MemberDecorate 21(AccessedStorageBlock) 0 Offset 0 + Decorate 23 Binding 2 + Decorate 23 DescriptorSet 0 + Decorate 32(uSampler0) Binding 4 + Decorate 32(uSampler0) DescriptorSet 0 + Decorate 42(NotAccessedUniformBlock) Block + MemberDecorate 42(NotAccessedUniformBlock) 0 Offset 0 + MemberDecorate 42(NotAccessedUniformBlock) 1 Offset 16 + Decorate 44 Binding 1 + Decorate 44 DescriptorSet 0 + Decorate 47 ArrayStride 4 + Decorate 48(NotAccessedStorageBlock) BufferBlock + MemberDecorate 48(NotAccessedStorageBlock) 0 Offset 0 + Decorate 50 Binding 3 + Decorate 50 DescriptorSet 0 + Decorate 56(uSampler1) Binding 5 + Decorate 56(uSampler1) DescriptorSet 0 + Decorate 60(a2) Location 2 + Decorate 82(gl_PerVertex) Block + MemberDecorate 82(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 82(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 82(gl_PerVertex) 2 BuiltIn ClipDistance + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Output 7(fvec4) + 9(a0): 8(ptr) Variable Output +10(AccessedUniformBlock): TypeStruct 7(fvec4) 7(fvec4) + 11: TypePointer Uniform 10(AccessedUniformBlock) + 12: 11(ptr) Variable Uniform + 13: TypeInt 32 1 + 14: 13(int) Constant 0 + 15: TypePointer Uniform 7(fvec4) + 18: TypeInt 32 0 + 19: 18(int) Constant 512 + 20: TypeArray 6(float) 19 +21(AccessedStorageBlock): TypeStruct 20 + 22: TypePointer Uniform 21(AccessedStorageBlock) + 23: 22(ptr) Variable Uniform + 24: TypePointer Uniform 6(float) + 29: TypeImage 6(float) 2D sampled format:Unknown + 30: TypeSampledImage 29 + 31: TypePointer UniformConstant 30 + 32(uSampler0): 31(ptr) Variable UniformConstant + 34: TypeVector 6(float) 2 + 35: 6(float) Constant 1056964608 + 36: 34(fvec2) ConstantComposite 35 35 + 37: 6(float) Constant 0 + 40: TypePointer Private 7(fvec4) + 41(a1): 40(ptr) Variable Private +42(NotAccessedUniformBlock): TypeStruct 7(fvec4) 7(fvec4) + 43: TypePointer Uniform 42(NotAccessedUniformBlock) + 44: 43(ptr) Variable Uniform + 47: TypeArray 6(float) 19 +48(NotAccessedStorageBlock): TypeStruct 47 + 49: TypePointer Uniform 48(NotAccessedStorageBlock) + 50: 49(ptr) Variable Uniform + 51: 13(int) Constant 1 + 56(uSampler1): 31(ptr) Variable UniformConstant + 60(a2): 8(ptr) Variable Output + 70(a3): 40(ptr) Variable Private + 80: 18(int) Constant 1 + 81: TypeArray 6(float) 80 +82(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 81 + 83: TypePointer Output 82(gl_PerVertex) + 84: 83(ptr) Variable Output + 85: 6(float) Constant 1065353216 + 86: 7(fvec4) ConstantComposite 85 85 85 85 + 4(main): 2 Function None 3 + 5: Label + 16: 15(ptr) AccessChain 12 14 + 17: 7(fvec4) Load 16 + 25: 24(ptr) AccessChain 23 14 14 + 26: 6(float) Load 25 + 27: 7(fvec4) CompositeConstruct 26 26 26 26 + 28: 7(fvec4) FAdd 17 27 + 33: 30 Load 32(uSampler0) + 38: 7(fvec4) ImageSampleExplicitLod 33 36 Lod 37 + 39: 7(fvec4) FAdd 28 38 + Store 9(a0) 39 + 45: 15(ptr) AccessChain 44 14 + 46: 7(fvec4) Load 45 + 52: 24(ptr) AccessChain 50 14 51 + 53: 6(float) Load 52 + 54: 7(fvec4) CompositeConstruct 53 53 53 53 + 55: 7(fvec4) FAdd 46 54 + 57: 30 Load 56(uSampler1) + 58: 7(fvec4) ImageSampleExplicitLod 57 36 Lod 37 + 59: 7(fvec4) FAdd 55 58 + Store 41(a1) 59 + 61: 15(ptr) AccessChain 12 51 + 62: 7(fvec4) Load 61 + 63: 24(ptr) AccessChain 23 14 14 + 64: 6(float) Load 63 + 65: 7(fvec4) CompositeConstruct 64 64 64 64 + 66: 7(fvec4) FAdd 62 65 + 67: 30 Load 32(uSampler0) + 68: 7(fvec4) ImageSampleExplicitLod 67 36 Lod 37 + 69: 7(fvec4) FAdd 66 68 + Store 60(a2) 69 + 71: 15(ptr) AccessChain 44 51 + 72: 7(fvec4) Load 71 + 73: 24(ptr) AccessChain 50 14 51 + 74: 6(float) Load 73 + 75: 7(fvec4) CompositeConstruct 74 74 74 74 + 76: 7(fvec4) FAdd 72 75 + 77: 30 Load 56(uSampler1) + 78: 7(fvec4) ImageSampleExplicitLod 77 36 Lod 37 + 79: 7(fvec4) FAdd 76 78 + Store 70(a3) 79 + 87: 8(ptr) AccessChain 84 14 + Store 87 86 + Return + FunctionEnd +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 40 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 17 21 38 + ExecutionMode 4 OriginUpperLeft + Source GLSL 440 + Name 4 "main" + Name 9 "temp" + Name 17 "a0" + Name 21 "a2" + Name 29 "a1" + Name 33 "a3" + Name 38 "oColor" + Decorate 17(a0) Location 0 + Decorate 21(a2) Location 2 + Decorate 38(oColor) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 10: 6(float) Constant 1065353216 + 11: 7(fvec4) ConstantComposite 10 10 10 10 + 12: TypeBool + 13: 12(bool) ConstantTrue + 16: TypePointer Input 7(fvec4) + 17(a0): 16(ptr) Variable Input + 21(a2): 16(ptr) Variable Input + 25: 12(bool) ConstantFalse + 28: TypePointer Private 7(fvec4) + 29(a1): 28(ptr) Variable Private + 33(a3): 28(ptr) Variable Private + 37: TypePointer Output 7(fvec4) + 38(oColor): 37(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 9(temp): 8(ptr) Variable Function + Store 9(temp) 11 + SelectionMerge 15 None + BranchConditional 13 14 15 + 14: Label + 18: 7(fvec4) Load 17(a0) + 19: 7(fvec4) Load 9(temp) + 20: 7(fvec4) FMul 19 18 + Store 9(temp) 20 + 22: 7(fvec4) Load 21(a2) + 23: 7(fvec4) Load 9(temp) + 24: 7(fvec4) FMul 23 22 + Store 9(temp) 24 + Branch 15 + 15: Label + SelectionMerge 27 None + BranchConditional 25 26 27 + 26: Label + 30: 7(fvec4) Load 29(a1) + 31: 7(fvec4) Load 9(temp) + 32: 7(fvec4) FMul 31 30 + Store 9(temp) 32 + 34: 7(fvec4) Load 33(a3) + 35: 7(fvec4) Load 9(temp) + 36: 7(fvec4) FMul 35 34 + Store 9(temp) 36 + Branch 27 + 27: Label + 39: 7(fvec4) Load 9(temp) + Store 38(oColor) 39 + Return + FunctionEnd diff --git a/Test/link.crossStageOptimization.frag b/Test/link.crossStageOptimization.frag new file mode 100644 index 00000000..af7c2c4d --- /dev/null +++ b/Test/link.crossStageOptimization.frag @@ -0,0 +1,24 @@ +#version 440 + +layout(location = 0) in vec4 a0; // accessed +layout(location = 1) in vec4 a1; // not accessed +layout(location = 2) in vec4 a2; // accessed +layout(location = 3) in vec4 a3; // not accessed + +layout(location = 0) out vec4 oColor; + +void main() +{ + vec4 temp = vec4(1.0); + if (true) + { + temp *= a0; + temp *= a2; + } + if (false) + { + temp *= a1; + temp *= a3; + } + oColor = temp; +} diff --git a/Test/link.crossStageOptimization.vert b/Test/link.crossStageOptimization.vert new file mode 100644 index 00000000..159c1338 --- /dev/null +++ b/Test/link.crossStageOptimization.vert @@ -0,0 +1,41 @@ +#version 440 + +layout(std140) uniform AccessedUniformBlock +{ + vec4 a; + vec4 b; +}; + +layout(std140) uniform NotAccessedUniformBlock +{ + vec4 c; + vec4 d; +}; + +layout(std430) buffer AccessedStorageBlock +{ + float e[512]; +}; + +layout(std430) buffer NotAccessedStorageBlock +{ + float f[512]; +}; + +uniform sampler2D uSampler0; // accessed +uniform sampler2D uSampler1; // not accessed + +layout(location = 0) out vec4 a0; // accessed +layout(location = 1) out vec4 a1; // not accessed +layout(location = 2) out vec4 a2; // accessed +layout(location = 3) out vec4 a3; // not accessed + +void main() +{ + a0 = a + vec4(e[0]) + texture(uSampler0, vec2(0.5, 0.5)); + a1 = c + vec4(f[1]) + texture(uSampler1, vec2(0.5, 0.5)); + a2 = b + vec4(e[0]) + texture(uSampler0, vec2(0.5, 0.5)); + a3 = d + vec4(f[1]) + texture(uSampler1, vec2(0.5, 0.5)); + + gl_Position = vec4(1.0, 1.0, 1.0, 1.0); +} diff --git a/Test/runtests b/Test/runtests index 6b23cd44..cc4134fe 100755 --- a/Test/runtests +++ b/Test/runtests @@ -362,6 +362,13 @@ echo "Testing UTF8BOM" run --glsl-version 410 -V -S vert UTF8BOM.vert > $TARGETDIR/UTF8BOM.vert.out diff -b $BASEDIR/UTF8BOM.vert.out $TARGETDIR/UTF8BOM.vert.out || HASERROR=1 +# +# Test LTO +# +echo "Testing link-time optimization" +run -V -H --amb --aml -l --lto link.crossStageOptimization.vert link.crossStageOptimization.frag > "$TARGETDIR/link.crossStageOptimization.out" +diff -b $BASEDIR/link.crossStageOptimization.out "$TARGETDIR/link.crossStageOptimization.out" || HASERROR=1 + # # Final checking # From e61d7bb3006f451968714e2f653412081871e1ee Mon Sep 17 00:00:00 2001 From: Sven van Haastregt Date: Fri, 11 Oct 2024 09:55:23 +0100 Subject: [PATCH 104/108] Fix Wformat warnings for printf `%p` The `%p` specifier expects a void pointer argument, so explicitly cast to `void *`. No functional changes. Signed-off-by: Sven van Haastregt --- glslang/CInterface/glslang_c_interface.cpp | 2 +- glslang/MachineIndependent/SymbolTable.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp index 465b3ee1..97f5a86d 100644 --- a/glslang/CInterface/glslang_c_interface.cpp +++ b/glslang/CInterface/glslang_c_interface.cpp @@ -324,7 +324,7 @@ static EProfile c_shader_profile(glslang_profile_t profile) GLSLANG_EXPORT glslang_shader_t* glslang_shader_create(const glslang_input_t* input) { if (!input || !input->code) { - printf("Error creating shader: null input(%p)/input->code\n", input); + printf("Error creating shader: null input(%p)/input->code\n", (void*)input); if (input) printf("input->code = %p\n", input->code); diff --git a/glslang/MachineIndependent/SymbolTable.cpp b/glslang/MachineIndependent/SymbolTable.cpp index 3b56e414..b6edb469 100644 --- a/glslang/MachineIndependent/SymbolTable.cpp +++ b/glslang/MachineIndependent/SymbolTable.cpp @@ -169,7 +169,7 @@ void TType::buildMangledName(TString& mangledName) const if (arraySizes->getDimNode(i)->getAsSymbolNode()) snprintf(buf, maxSize, "s%lld", arraySizes->getDimNode(i)->getAsSymbolNode()->getId()); else - snprintf(buf, maxSize, "s%p", arraySizes->getDimNode(i)); + snprintf(buf, maxSize, "s%p", (void*)(arraySizes->getDimNode(i))); } else snprintf(buf, maxSize, "%d", arraySizes->getDimSize(i)); mangledName += '['; From fc9cfc25e534e28f74e6c9c7e36832f36de6e0bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 06:50:19 +0000 Subject: [PATCH 105/108] Bump github/codeql-action from 3.26.11 to 3.26.12 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.11 to 3.26.12. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea...c36620d31ac7c881962c3d9dd939c40ec9434f2b) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 2edbde3e..239663df 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea # v3.26.11 + uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12 with: sarif_file: results.sarif From c764a1c25e52afbced53cbc5c0a21bcc91152116 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 06:50:23 +0000 Subject: [PATCH 106/108] Bump lukka/get-cmake from 3.30.4 to 3.30.5 Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.30.4 to 3.30.5. - [Release notes](https://github.com/lukka/get-cmake/releases) - [Commits](https://github.com/lukka/get-cmake/compare/582a9f5c6f4f332f36797e1ac757d1c8850a1513...b516803a3c5fac40e2e922349d15cdebdba01e60) --- updated-dependencies: - dependency-name: lukka/get-cmake dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/continuous_deployment.yml | 6 +++--- .github/workflows/continuous_integration.yml | 22 ++++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index c2a45755..9c21b88d 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -42,7 +42,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -105,7 +105,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -161,7 +161,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index ce340b5f..75ea8895 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -18,7 +18,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -53,7 +53,7 @@ jobs: cmake_build_type: [Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -87,7 +87,7 @@ jobs: flags: ['-fsanitize=address', '-fsanitize=thread', '-fsanitize=undefined'] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -128,7 +128,7 @@ jobs: - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 with: cmakeVersion: 3.17.2 - name: Setup ccache @@ -158,7 +158,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - run: ./update_glslang_sources.py - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON env: @@ -178,7 +178,7 @@ jobs: cmake_build_type: [Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - run: ./update_glslang_sources.py - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON -DBUILD_SHARED_LIBS=ON env: @@ -199,7 +199,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -222,7 +222,7 @@ jobs: cmake_build_type: [Debug, Release] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' @@ -239,7 +239,7 @@ jobs: runs-on: macos-13 steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: @@ -268,7 +268,7 @@ jobs: LEGACY: [ON, OFF] steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: @@ -294,7 +294,7 @@ jobs: - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - - uses: lukka/get-cmake@582a9f5c6f4f332f36797e1ac757d1c8850a1513 # v3.30.4 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - name: Setup ccache uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: From 2bfc7cadbd52a90833416633a77ce1941086ea79 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 06:50:25 +0000 Subject: [PATCH 107/108] Bump actions/upload-artifact from 4.4.0 to 4.4.3 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.0 to 4.4.3. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/50769540e7f4bd5e21e526ee35c689e35e0d6874...b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 239663df..6f3a0101 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -40,7 +40,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 with: name: SARIF file path: results.sarif From 0d26b9d6d64f30105755b60fc9747065617998b4 Mon Sep 17 00:00:00 2001 From: Charles Giessen Date: Fri, 18 Oct 2024 14:37:39 -0500 Subject: [PATCH 108/108] Update to macOS-13 in github actions runners --- .github/workflows/continuous_deployment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index 9c21b88d..b7941084 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -100,7 +100,7 @@ jobs: strategy: fail-fast: false matrix: - os: [{genus: macos-12, family: osx}] + os: [{genus: macos-13, family: osx}] compiler: [{cc: clang, cxx: clang++}] cmake_build_type: [Debug, Release] steps: