spv.debuginfo.glsl.tesc // Module Version 10000 // Generated by (magic number): 8000b // 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 390 405 524 540 550 565 ExecutionMode 14 OutputVertices 4 2: String "spv.debuginfo.glsl.tesc" 8: String "uint" 17: String "float" 31: String "screenSpaceTessFactor" 34: 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 /* The MIT License (MIT) 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. */ #version 450 layout(set = 0, binding = 0) uniform UBO { mat4 projection; mat4 modelview; vec4 lightPos; vec4 frustumPlanes[6]; float displacementFactor; float tessellationFactor; vec2 viewportDim; float tessellatedEdgeSize; } ubo; layout(set = 0, binding = 1) uniform sampler2D samplerHeight; layout (vertices = 4) out; layout (location = 0) in vec3 inNormal[]; layout (location = 1) in vec2 inUV[]; layout (location = 0) out vec3 outNormal[4]; layout (location = 1) out vec2 outUV[4]; // Calculate the tessellation factor based on screen space // dimensions of the edge float screenSpaceTessFactor(vec4 p0, vec4 p1) { // Calculate edge mid point vec4 midPoint = 0.5 * (p0 + p1); // Sphere radius as distance between the control points float radius = distance(p0, p1) / 2.0; // View space vec4 v0 = ubo.modelview * midPoint; // Project into clip space vec4 clip0 = (ubo.projection * (v0 - vec4(radius, vec3(0.0)))); vec4 clip1 = (ubo.projection * (v0 + vec4(radius, vec3(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() { // Fixed radius (increase if patch size is increased in example) const float radius = 8.0f; vec4 pos = gl_in[gl_InvocationID].gl_Position; pos.y -= textureLod(samplerHeight, inUV[0], 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; } void main() { if (gl_InvocationID == 0) { if (!frustumCheck()) { gl_TessLevelInner[0] = 0.0; gl_TessLevelInner[1] = 0.0; gl_TessLevelOuter[0] = 0.0; gl_TessLevelOuter[1] = 0.0; gl_TessLevelOuter[2] = 0.0; gl_TessLevelOuter[3] = 0.0; } else { if (ubo.tessellationFactor > 0.0) { gl_TessLevelOuter[0] = screenSpaceTessFactor(gl_in[3].gl_Position, gl_in[0].gl_Position); gl_TessLevelOuter[1] = screenSpaceTessFactor(gl_in[0].gl_Position, gl_in[1].gl_Position); gl_TessLevelOuter[2] = screenSpaceTessFactor(gl_in[1].gl_Position, gl_in[2].gl_Position); gl_TessLevelOuter[3] = screenSpaceTessFactor(gl_in[2].gl_Position, gl_in[3].gl_Position); gl_TessLevelInner[0] = mix(gl_TessLevelOuter[0], gl_TessLevelOuter[3], 0.5); gl_TessLevelInner[1] = mix(gl_TessLevelOuter[2], gl_TessLevelOuter[1], 0.5); } else { // Tessellation factor can be set to zero by example // to demonstrate a simple passthrough gl_TessLevelInner[0] = 1.0; gl_TessLevelInner[1] = 1.0; gl_TessLevelOuter[0] = 1.0; gl_TessLevelOuter[1] = 1.0; gl_TessLevelOuter[2] = 1.0; gl_TessLevelOuter[3] = 1.0; } } } gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position; outNormal[gl_InvocationID] = inNormal[gl_InvocationID]; outUV[gl_InvocationID] = inUV[gl_InvocationID]; } " 40: String "p0" 46: String "p1" 49: String "bool" 55: String "frustumCheck" 58: String "main" 64: String "midPoint" 77: String "radius" 88: String "v0" 101: String "modelview" 105: String "lightPos" 108: String "frustumPlanes" 110: String "tessellatedEdgeSize" 115: String "viewportDim" 119: String "UBO" 124: String "ubo" 126: String "int" 137: String "clip0" 158: String "clip1" 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" 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" Name 28 "p1" Name 53 "frustumCheck(" Name 62 "midPoint" Name 75 "radius" Name 86 "v0" Name 99 "UBO" MemberName 99(UBO) 0 "projection" MemberName 99(UBO) 1 "modelview" MemberName 99(UBO) 2 "lightPos" MemberName 99(UBO) 3 "frustumPlanes" MemberName 99(UBO) 4 "displacementFactor" MemberName 99(UBO) 5 "tessellationFactor" MemberName 99(UBO) 6 "viewportDim" MemberName 99(UBO) 7 "tessellatedEdgeSize" Name 122 "ubo" Name 135 "clip0" Name 156 "clip1" 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 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 MemberDecorate 99(UBO) 0 MatrixStride 16 MemberDecorate 99(UBO) 0 Offset 0 MemberDecorate 99(UBO) 1 ColMajor 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 122(ubo) Binding 0 Decorate 122(ubo) DescriptorSet 0 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 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 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: TypeVector 16(float) 4 20: 7(int) Constant 4 21: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 20 22: TypePointer Function 19(fvec4) 23: 7(int) Constant 7 24: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 23 12 25: TypeFunction 16(float) 22(ptr) 22(ptr) 26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 18 21 21 33: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 34 35: 7(int) Constant 51 37: 7(int) Constant 1 38: 7(int) Constant 2 36: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 20 33 38 32: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 31 26 33 35 12 36 31 13 35 39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 40 21 33 35 12 32 20 37 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 46 21 33 35 12 32 20 38 48: TypeBool 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 49 10 38 12 51: TypeFunction 48(bool) 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 50 57: 7(int) Constant 81 56: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 55 52 33 57 12 36 55 13 57 60: 7(int) Constant 98 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 58 6 33 60 12 36 58 13 60 65: 7(int) Constant 54 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 64 21 33 65 12 32 20 68: 16(float) Constant 1056964608 73: TypePointer Function 16(float) 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 23 12 78: 7(int) Constant 56 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 18 33 78 12 32 20 84: 16(float) Constant 1073741824 89: 7(int) Constant 59 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 21 33 89 12 32 20 92: TypeMatrix 19(fvec4) 4 94: 48(bool) ConstantTrue 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 94 95: TypeArray 19(fvec4) 11 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 21 11 97: TypeVector 16(float) 2 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 38 99(UBO): TypeStruct 92 92 19(fvec4) 95 16(float) 16(float) 97(fvec2) 16(float) 102: 7(int) Constant 30 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 101 93 33 102 23 12 12 13 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 101 93 33 102 23 12 12 13 106: 7(int) Constant 31 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 105 21 33 106 23 12 12 13 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 108 96 33 10 23 12 12 13 111: 7(int) Constant 36 112: 7(int) Constant 8 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 110 18 33 111 112 12 12 13 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 110 18 33 111 112 12 12 13 116: 7(int) Constant 35 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 115 98 33 116 23 12 12 13 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 110 18 33 111 112 12 12 13 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 119 37 33 89 12 36 119 12 13 100 103 104 107 109 113 114 117 120: TypePointer Uniform 99(UBO) 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 118 38 12 122(ubo): 120(ptr) Variable Uniform 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 124 118 33 89 12 36 124 122(ubo) 112 125: TypeInt 32 1 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 126 10 20 12 128: 125(int) Constant 1 129: TypePointer Uniform 92 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 93 38 12 138: 7(int) Constant 62 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 137 21 33 138 12 32 20 141: 125(int) Constant 0 146: TypeVector 16(float) 3 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 13 148: 16(float) Constant 0 149: 146(fvec3) ConstantComposite 148 148 148 159: 7(int) Constant 63 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 158 21 33 159 12 32 20 174: 7(int) Constant 66 181: 7(int) Constant 67 186: 125(int) Constant 6 187: TypePointer Uniform 97(fvec2) 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 38 12 191: 7(int) Constant 70 202: 7(int) Constant 71 213: 7(int) Constant 76 216: 125(int) Constant 7 217: TypePointer Uniform 16(float) 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 38 12 222: 125(int) Constant 5 226: 16(float) Constant 1065353216 227: 16(float) Constant 1115684864 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 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 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: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 Store 411 148 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 27(p0): 22(ptr) FunctionParameter 28(p1): 22(ptr) FunctionParameter 30: Label 62(midPoint): 22(ptr) Variable Function 75(radius): 73(ptr) Variable Function 86(v0): 22(ptr) Variable Function 135(clip0): 22(ptr) Variable Function 156(clip1): 22(ptr) Variable Function 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 32 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 35 35 12 12 41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 39 27(p0) 42 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 45 28(p1) 42 61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 32 29(screenSpaceTessFactor(vf4;vf4;) 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 65 65 12 12 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 63 62(midPoint) 42 69: 19(fvec4) Load 27(p0) 70: 19(fvec4) Load 28(p1) 71: 19(fvec4) FAdd 69 70 72: 19(fvec4) VectorTimesScalar 71 68 Store 62(midPoint) 72 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 78 78 12 12 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 75(radius) 42 81: 19(fvec4) Load 27(p0) 82: 19(fvec4) Load 28(p1) 83: 16(float) ExtInst 3(GLSL.std.450) 67(Distance) 81 82 85: 16(float) FDiv 83 84 Store 75(radius) 85 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 89 89 12 12 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 86(v0) 42 131: 129(ptr) AccessChain 122(ubo) 128 132: 92 Load 131 133: 19(fvec4) Load 62(midPoint) 134: 19(fvec4) MatrixTimesVector 132 133 Store 86(v0) 134 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 138 138 12 12 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 136 135(clip0) 42 142: 129(ptr) AccessChain 122(ubo) 141 143: 92 Load 142 144: 19(fvec4) Load 86(v0) 145: 16(float) Load 75(radius) 150: 16(float) CompositeExtract 149 0 151: 16(float) CompositeExtract 149 1 152: 16(float) CompositeExtract 149 2 153: 19(fvec4) CompositeConstruct 145 150 151 152 154: 19(fvec4) FSub 144 153 155: 19(fvec4) MatrixTimesVector 143 154 Store 135(clip0) 155 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 159 159 12 12 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 157 156(clip1) 42 162: 129(ptr) AccessChain 122(ubo) 141 163: 92 Load 162 164: 19(fvec4) Load 86(v0) 165: 16(float) Load 75(radius) 166: 16(float) CompositeExtract 149 0 167: 16(float) CompositeExtract 149 1 168: 16(float) CompositeExtract 149 2 169: 19(fvec4) CompositeConstruct 165 166 167 168 170: 19(fvec4) FAdd 164 169 171: 19(fvec4) MatrixTimesVector 163 170 Store 156(clip1) 171 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 174 174 12 12 172: 73(ptr) AccessChain 135(clip0) 13 175: 16(float) Load 172 176: 19(fvec4) Load 135(clip0) 177: 19(fvec4) CompositeConstruct 175 175 175 175 178: 19(fvec4) FDiv 176 177 Store 135(clip0) 178 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 181 181 12 12 179: 73(ptr) AccessChain 156(clip1) 13 182: 16(float) Load 179 183: 19(fvec4) Load 156(clip1) 184: 19(fvec4) CompositeConstruct 182 182 182 182 185: 19(fvec4) FDiv 183 184 Store 156(clip1) 185 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 191 191 12 12 189: 187(ptr) AccessChain 122(ubo) 186 192: 97(fvec2) Load 189 193: 19(fvec4) Load 135(clip0) 194: 97(fvec2) VectorShuffle 193 193 0 1 195: 97(fvec2) FMul 194 192 196: 73(ptr) AccessChain 135(clip0) 12 197: 16(float) CompositeExtract 195 0 Store 196 197 198: 73(ptr) AccessChain 135(clip0) 37 199: 16(float) CompositeExtract 195 1 Store 198 199 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 202 202 12 12 200: 187(ptr) AccessChain 122(ubo) 186 203: 97(fvec2) Load 200 204: 19(fvec4) Load 156(clip1) 205: 97(fvec2) VectorShuffle 204 204 0 1 206: 97(fvec2) FMul 205 203 207: 73(ptr) AccessChain 156(clip1) 12 208: 16(float) CompositeExtract 206 0 Store 207 208 209: 73(ptr) AccessChain 156(clip1) 37 210: 16(float) CompositeExtract 206 1 Store 209 210 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 213 213 12 12 211: 19(fvec4) Load 135(clip0) 214: 19(fvec4) Load 156(clip1) 215: 16(float) ExtInst 3(GLSL.std.450) 67(Distance) 211 214 219: 217(ptr) AccessChain 122(ubo) 216 220: 16(float) Load 219 221: 16(float) FDiv 215 220 223: 217(ptr) AccessChain 122(ubo) 222 224: 16(float) Load 223 225: 16(float) FMul 221 224 228: 16(float) ExtInst 3(GLSL.std.450) 43(FClamp) 225 226 227 ReturnValue 228 FunctionEnd 53(frustumCheck(): 48(bool) Function None 51 54: Label 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 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 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 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