spv.debuginfo.glsl.tesc // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 593 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" 122 130 138 146 319 324 427 442 559 ExecutionMode 14 OutputVertices 4 2: String "spv.debuginfo.glsl.tesc" 8: String "uint" 17: String "float" 31: String "screenSpaceTessFactor" 34: String "/* 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" 70: String "projection" 73: String "modelview" 76: String "lightPos" 79: String "frustumPlanes" 81: String "displacementFactor" 85: String "tessellationFactor" 88: String "viewportDim" 91: String "tessellatedEdgeSize" 94: String "UBO" 100: String "ubo" 103: String "texture2D" 105: String "@texture2D" 109: String "sampler2D" 110: String "@sampler2D" 115: String "samplerHeight" 124: String "inNormal" 132: String "inUV" 140: String "outNormal" 148: String "outUV" 153: String "midPoint" 166: String "radius" 177: String "v0" 182: String "int" 193: String "clip0" 212: String "clip1" 298: String "pos" 306: String "gl_Position" 308: String "gl_PointSize" 310: String "gl_ClipDistance" 312: String "gl_CullDistance" 314: String "gl_PerVertex" 321: String "gl_in" 326: String "gl_InvocationID" 355: String "i" 429: String "gl_TessLevelInner" 444: String "gl_TessLevelOuter" 561: String "gl_out" Name 14 "main" Name 29 "screenSpaceTessFactor(vf4;vf4;" Name 27 "p0" Name 28 "p1" Name 53 "frustumCheck(" Name 68 "UBO" MemberName 68(UBO) 0 "projection" MemberName 68(UBO) 1 "modelview" MemberName 68(UBO) 2 "lightPos" MemberName 68(UBO) 3 "frustumPlanes" MemberName 68(UBO) 4 "displacementFactor" MemberName 68(UBO) 5 "tessellationFactor" MemberName 68(UBO) 6 "viewportDim" MemberName 68(UBO) 7 "tessellatedEdgeSize" Name 98 "ubo" Name 113 "samplerHeight" Name 122 "inNormal" Name 130 "inUV" Name 138 "outNormal" Name 146 "outUV" Name 151 "midPoint" Name 164 "radius" Name 175 "v0" Name 191 "clip0" Name 210 "clip1" Name 296 "pos" Name 304 "gl_PerVertex" MemberName 304(gl_PerVertex) 0 "gl_Position" MemberName 304(gl_PerVertex) 1 "gl_PointSize" MemberName 304(gl_PerVertex) 2 "gl_ClipDistance" MemberName 304(gl_PerVertex) 3 "gl_CullDistance" Name 319 "gl_in" Name 324 "gl_InvocationID" Name 353 "i" Name 427 "gl_TessLevelInner" Name 442 "gl_TessLevelOuter" Name 471 "param" Name 476 "param" Name 481 "param" Name 486 "param" Name 491 "param" Name 496 "param" Name 501 "param" Name 506 "param" Name 548 "gl_PerVertex" MemberName 548(gl_PerVertex) 0 "gl_Position" MemberName 548(gl_PerVertex) 1 "gl_PointSize" MemberName 548(gl_PerVertex) 2 "gl_ClipDistance" MemberName 548(gl_PerVertex) 3 "gl_CullDistance" Name 559 "gl_out" Decorate 64 ArrayStride 16 Decorate 68(UBO) Block MemberDecorate 68(UBO) 0 ColMajor MemberDecorate 68(UBO) 0 MatrixStride 16 MemberDecorate 68(UBO) 0 Offset 0 MemberDecorate 68(UBO) 1 ColMajor MemberDecorate 68(UBO) 1 MatrixStride 16 MemberDecorate 68(UBO) 1 Offset 64 MemberDecorate 68(UBO) 2 Offset 128 MemberDecorate 68(UBO) 3 Offset 144 MemberDecorate 68(UBO) 4 Offset 240 MemberDecorate 68(UBO) 5 Offset 244 MemberDecorate 68(UBO) 6 Offset 248 MemberDecorate 68(UBO) 7 Offset 256 Decorate 98(ubo) Binding 0 Decorate 98(ubo) DescriptorSet 0 Decorate 113(samplerHeight) Binding 1 Decorate 113(samplerHeight) DescriptorSet 0 Decorate 122(inNormal) Location 0 Decorate 130(inUV) Location 1 Decorate 138(outNormal) Location 0 Decorate 146(outUV) Location 1 Decorate 304(gl_PerVertex) Block MemberDecorate 304(gl_PerVertex) 0 BuiltIn Position MemberDecorate 304(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 304(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 304(gl_PerVertex) 3 BuiltIn CullDistance Decorate 324(gl_InvocationID) BuiltIn InvocationId Decorate 427(gl_TessLevelInner) BuiltIn TessLevelInner Decorate 427(gl_TessLevelInner) Patch Decorate 442(gl_TessLevelOuter) BuiltIn TessLevelOuter Decorate 442(gl_TessLevelOuter) Patch Decorate 548(gl_PerVertex) Block MemberDecorate 548(gl_PerVertex) 0 BuiltIn Position MemberDecorate 548(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 548(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 548(gl_PerVertex) 3 BuiltIn CullDistance 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 61: TypeMatrix 19(fvec4) 4 63: 48(bool) ConstantTrue 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 63 64: TypeArray 19(fvec4) 11 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 21 11 66: TypeVector 16(float) 2 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 38 68(UBO): TypeStruct 61 61 19(fvec4) 64 16(float) 16(float) 66(fvec2) 16(float) 71: 7(int) Constant 29 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 70 62 33 71 23 12 12 13 74: 7(int) Constant 30 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 73 62 33 74 23 12 12 13 77: 7(int) Constant 31 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 76 21 33 77 23 12 12 13 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 79 65 33 10 23 12 12 13 82: 7(int) Constant 33 83: 7(int) Constant 8 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 81 18 33 82 83 12 12 13 86: 7(int) Constant 34 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 85 18 33 86 83 12 12 13 89: 7(int) Constant 35 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 88 67 33 89 23 12 12 13 92: 7(int) Constant 36 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 91 18 33 92 83 12 12 13 95: 7(int) Constant 27 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 94 37 33 95 12 36 94 12 13 69 72 75 78 80 84 87 90 96: TypePointer Uniform 68(UBO) 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 93 38 12 98(ubo): 96(ptr) Variable Uniform 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 100 93 33 95 12 36 100 98(ubo) 83 101: TypeImage 16(float) 2D sampled format:Unknown 104: 7(int) Constant 39 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 103 37 33 104 12 36 105 106 13 107: TypeSampledImage 101 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 109 37 33 104 12 36 110 106 13 111: TypePointer UniformConstant 107 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 108 12 12 113(samplerHeight): 111(ptr) Variable UniformConstant 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 115 108 33 104 12 36 115 113(samplerHeight) 83 116: TypeVector 16(float) 3 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 13 118: TypeArray 116(fvec3) 10 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 117 10 120: TypePointer Input 118 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 119 37 12 122(inNormal): 120(ptr) Variable Input 125: 7(int) Constant 43 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 124 119 33 125 12 36 124 122(inNormal) 83 126: TypeArray 66(fvec2) 10 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 67 10 128: TypePointer Input 126 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 37 12 130(inUV): 128(ptr) Variable Input 133: 7(int) Constant 44 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 132 127 33 133 12 36 132 130(inUV) 83 134: TypeArray 116(fvec3) 20 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 117 20 136: TypePointer Output 134 137: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 135 13 12 138(outNormal): 136(ptr) Variable Output 141: 7(int) Constant 46 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 140 135 33 141 12 36 140 138(outNormal) 83 142: TypeArray 66(fvec2) 20 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 67 20 144: TypePointer Output 142 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 143 13 12 146(outUV): 144(ptr) Variable Output 149: 7(int) Constant 47 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 148 143 33 149 12 36 148 146(outUV) 83 154: 7(int) Constant 54 152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 153 21 33 154 12 32 20 157: 16(float) Constant 1056964608 162: TypePointer Function 16(float) 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 23 12 167: 7(int) Constant 56 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 166 18 33 167 12 32 20 173: 16(float) Constant 1073741824 178: 7(int) Constant 59 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 177 21 33 178 12 32 20 181: TypeInt 32 1 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 182 10 20 12 184: 181(int) Constant 1 185: TypePointer Uniform 61 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 62 38 12 194: 7(int) Constant 62 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 193 21 33 194 12 32 20 197: 181(int) Constant 0 202: 16(float) Constant 0 203: 116(fvec3) ConstantComposite 202 202 202 213: 7(int) Constant 63 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 212 21 33 213 12 32 20 228: 7(int) Constant 66 235: 7(int) Constant 67 240: 181(int) Constant 6 241: TypePointer Uniform 66(fvec2) 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 67 38 12 245: 7(int) Constant 70 256: 7(int) Constant 71 267: 7(int) Constant 76 270: 181(int) Constant 7 271: TypePointer Uniform 16(float) 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 38 12 276: 181(int) Constant 5 280: 16(float) Constant 1065353216 281: 16(float) Constant 1115684864 287: 7(int) Constant 77 291: 16(float) Constant 1090519040 293: 7(int) Constant 84 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 166 18 33 293 12 56 20 299: 7(int) Constant 85 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 298 21 33 299 12 56 20 302: TypeArray 16(float) 37 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 37 304(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 302 302 305: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 306 21 33 12 12 12 12 13 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 308 18 33 12 12 12 12 13 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 310 303 33 12 12 12 12 13 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 312 303 33 12 12 12 12 13 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 314 37 33 299 12 36 314 12 13 305 307 309 311 315: TypeArray 304(gl_PerVertex) 10 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 313 10 317: TypePointer Input 315 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 316 37 12 319(gl_in): 317(ptr) Variable Input 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 321 316 33 299 12 36 321 319(gl_in) 83 322: TypePointer Input 181(int) 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 183 37 12 324(gl_InvocationID): 322(ptr) Variable Input 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 326 183 33 299 12 36 326 324(gl_InvocationID) 83 328: TypePointer Input 19(fvec4) 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 37 12 334: 7(int) Constant 86 335: TypePointer Input 66(fvec2) 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 67 37 12 341: 181(int) Constant 4 350: 7(int) Constant 89 349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 350 38 56 351: TypePointer Function 181(int) 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 183 23 12 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 355 183 33 350 12 349 20 373: 7(int) Constant 90 374: 181(int) Constant 3 376: TypePointer Uniform 19(fvec4) 377: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12 386: 7(int) Constant 92 385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 386 20 349 387: 48(bool) ConstantFalse 397: 7(int) Constant 95 402: 7(int) Constant 96 408: 7(int) Constant 100 413: 7(int) Constant 102 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 413 13 59 421: 7(int) Constant 104 422: 7(int) Constant 25 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 421 422 412 423: TypeArray 16(float) 38 424: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38 425: TypePointer Output 423 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 424 13 12 427(gl_TessLevelInner): 425(ptr) Variable Output 428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 429 424 33 421 12 36 429 427(gl_TessLevelInner) 83 430: TypePointer Output 16(float) 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 437: 7(int) Constant 105 438: TypeArray 16(float) 20 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20 440: TypePointer Output 438 441: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 439 13 12 442(gl_TessLevelOuter): 440(ptr) Variable Output 445: 7(int) Constant 106 443: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 444 439 33 445 12 36 444 442(gl_TessLevelOuter) 83 450: 7(int) Constant 107 451: 181(int) Constant 2 454: 7(int) Constant 108 457: 7(int) Constant 109 460: 7(int) Constant 113 459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 460 20 412 469: 7(int) Constant 115 470: 7(int) Constant 26 468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 469 470 459 484: 7(int) Constant 116 494: 7(int) Constant 117 504: 7(int) Constant 118 513: 7(int) Constant 119 521: 7(int) Constant 120 529: 7(int) Constant 126 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 529 470 459 535: 7(int) Constant 127 538: 7(int) Constant 128 541: 7(int) Constant 129 544: 7(int) Constant 130 547: 7(int) Constant 131 548(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 302 302 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 306 21 33 12 12 12 12 13 550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 308 18 33 12 12 12 12 13 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 310 303 33 12 12 12 12 13 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 312 303 33 12 12 12 12 13 554: 7(int) Constant 137 553: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 314 37 33 554 12 36 314 12 13 549 550 551 552 555: TypeArray 548(gl_PerVertex) 20 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 553 20 557: TypePointer Output 555 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 556 13 12 559(gl_out): 557(ptr) Variable Output 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 561 556 33 554 12 36 561 559(gl_out) 83 568: TypePointer Output 19(fvec4) 569: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 573: 7(int) Constant 138 575: TypePointer Input 116(fvec3) 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 117 37 12 579: TypePointer Output 116(fvec3) 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 117 13 12 584: 7(int) Constant 139 588: TypePointer Output 66(fvec2) 589: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 67 13 12 592: 7(int) Constant 140 14(main): 4 Function None 5 15: Label 471(param): 22(ptr) Variable Function 476(param): 22(ptr) Variable Function 481(param): 22(ptr) Variable Function 486(param): 22(ptr) Variable Function 491(param): 22(ptr) Variable Function 496(param): 22(ptr) Variable Function 501(param): 22(ptr) Variable Function 506(param): 22(ptr) Variable Function 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main) 407: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 408 408 12 12 406: 181(int) Load 324(gl_InvocationID) 409: 48(bool) IEqual 406 197 SelectionMerge 411 None BranchConditional 409 410 411 410: Label 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 412 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 413 413 12 12 414: 48(bool) FunctionCall 53(frustumCheck() 417: 48(bool) LogicalNot 414 SelectionMerge 419 None BranchConditional 417 418 458 418: Label 433: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 420 434: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 421 421 12 12 432: 430(ptr) AccessChain 427(gl_TessLevelInner) 197 Store 432 202 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 437 437 12 12 435: 430(ptr) AccessChain 427(gl_TessLevelInner) 184 Store 435 202 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 445 445 12 12 446: 430(ptr) AccessChain 442(gl_TessLevelOuter) 197 Store 446 202 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 450 450 12 12 448: 430(ptr) AccessChain 442(gl_TessLevelOuter) 184 Store 448 202 453: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 454 454 12 12 452: 430(ptr) AccessChain 442(gl_TessLevelOuter) 451 Store 452 202 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 457 457 12 12 455: 430(ptr) AccessChain 442(gl_TessLevelOuter) 374 Store 455 202 Branch 419 458: Label 462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 459 463: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 460 460 12 12 461: 271(ptr) AccessChain 98(ubo) 276 464: 16(float) Load 461 465: 48(bool) FOrdGreaterThan 464 202 SelectionMerge 467 None BranchConditional 465 466 527 466: Label 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 468 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 469 469 12 12 472: 328(ptr) AccessChain 319(gl_in) 374 197 475: 19(fvec4) Load 472 Store 471(param) 475 477: 328(ptr) AccessChain 319(gl_in) 197 197 478: 19(fvec4) Load 477 Store 476(param) 478 479: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 471(param) 476(param) 480: 430(ptr) AccessChain 442(gl_TessLevelOuter) 197 Store 480 479 483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 484 484 12 12 482: 328(ptr) AccessChain 319(gl_in) 197 197 485: 19(fvec4) Load 482 Store 481(param) 485 487: 328(ptr) AccessChain 319(gl_in) 184 197 488: 19(fvec4) Load 487 Store 486(param) 488 489: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 481(param) 486(param) 490: 430(ptr) AccessChain 442(gl_TessLevelOuter) 184 Store 490 489 493: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 494 494 12 12 492: 328(ptr) AccessChain 319(gl_in) 184 197 495: 19(fvec4) Load 492 Store 491(param) 495 497: 328(ptr) AccessChain 319(gl_in) 451 197 498: 19(fvec4) Load 497 Store 496(param) 498 499: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 491(param) 496(param) 500: 430(ptr) AccessChain 442(gl_TessLevelOuter) 451 Store 500 499 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 504 504 12 12 502: 328(ptr) AccessChain 319(gl_in) 451 197 505: 19(fvec4) Load 502 Store 501(param) 505 507: 328(ptr) AccessChain 319(gl_in) 374 197 508: 19(fvec4) Load 507 Store 506(param) 508 509: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 501(param) 506(param) 510: 430(ptr) AccessChain 442(gl_TessLevelOuter) 374 Store 510 509 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 513 513 12 12 511: 430(ptr) AccessChain 442(gl_TessLevelOuter) 197 514: 16(float) Load 511 515: 430(ptr) AccessChain 442(gl_TessLevelOuter) 374 516: 16(float) Load 515 517: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 514 516 157 518: 430(ptr) AccessChain 427(gl_TessLevelInner) 197 Store 518 517 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 521 521 12 12 519: 430(ptr) AccessChain 442(gl_TessLevelOuter) 451 522: 16(float) Load 519 523: 430(ptr) AccessChain 442(gl_TessLevelOuter) 184 524: 16(float) Load 523 525: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 522 524 157 526: 430(ptr) AccessChain 427(gl_TessLevelInner) 184 Store 526 525 Branch 467 527: Label 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 528 532: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 529 529 12 12 530: 430(ptr) AccessChain 427(gl_TessLevelInner) 197 Store 530 280 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 535 535 12 12 533: 430(ptr) AccessChain 427(gl_TessLevelInner) 184 Store 533 280 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 538 538 12 12 536: 430(ptr) AccessChain 442(gl_TessLevelOuter) 197 Store 536 280 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 541 541 12 12 539: 430(ptr) AccessChain 442(gl_TessLevelOuter) 184 Store 539 280 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 544 544 12 12 542: 430(ptr) AccessChain 442(gl_TessLevelOuter) 451 Store 542 280 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 547 547 12 12 545: 430(ptr) AccessChain 442(gl_TessLevelOuter) 374 Store 545 280 Branch 467 467: Label Branch 419 419: Label Branch 411 411: Label 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 554 554 12 12 562: 181(int) Load 324(gl_InvocationID) 565: 181(int) Load 324(gl_InvocationID) 566: 328(ptr) AccessChain 319(gl_in) 565 197 567: 19(fvec4) Load 566 570: 568(ptr) AccessChain 559(gl_out) 562 197 Store 570 567 572: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 573 573 12 12 571: 181(int) Load 324(gl_InvocationID) 574: 181(int) Load 324(gl_InvocationID) 577: 575(ptr) AccessChain 122(inNormal) 574 578: 116(fvec3) Load 577 581: 579(ptr) AccessChain 138(outNormal) 571 Store 581 578 583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 584 584 12 12 582: 181(int) Load 324(gl_InvocationID) 585: 181(int) Load 324(gl_InvocationID) 586: 335(ptr) AccessChain 130(inUV) 585 587: 66(fvec2) Load 586 590: 588(ptr) AccessChain 146(outUV) 582 Store 590 587 591: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 592 592 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 151(midPoint): 22(ptr) Variable Function 164(radius): 162(ptr) Variable Function 175(v0): 22(ptr) Variable Function 191(clip0): 22(ptr) Variable Function 210(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 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 32 29(screenSpaceTessFactor(vf4;vf4;) 156: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 154 154 12 12 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 152 151(midPoint) 42 158: 19(fvec4) Load 27(p0) 159: 19(fvec4) Load 28(p1) 160: 19(fvec4) FAdd 158 159 161: 19(fvec4) VectorTimesScalar 160 157 Store 151(midPoint) 161 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 167 167 12 12 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 165 164(radius) 42 170: 19(fvec4) Load 27(p0) 171: 19(fvec4) Load 28(p1) 172: 16(float) ExtInst 3(GLSL.std.450) 67(Distance) 170 171 174: 16(float) FDiv 172 173 Store 164(radius) 174 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 178 178 12 12 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 176 175(v0) 42 187: 185(ptr) AccessChain 98(ubo) 184 188: 61 Load 187 189: 19(fvec4) Load 151(midPoint) 190: 19(fvec4) MatrixTimesVector 188 189 Store 175(v0) 190 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 194 194 12 12 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 192 191(clip0) 42 198: 185(ptr) AccessChain 98(ubo) 197 199: 61 Load 198 200: 19(fvec4) Load 175(v0) 201: 16(float) Load 164(radius) 204: 16(float) CompositeExtract 203 0 205: 16(float) CompositeExtract 203 1 206: 16(float) CompositeExtract 203 2 207: 19(fvec4) CompositeConstruct 201 204 205 206 208: 19(fvec4) FSub 200 207 209: 19(fvec4) MatrixTimesVector 199 208 Store 191(clip0) 209 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 213 213 12 12 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 211 210(clip1) 42 216: 185(ptr) AccessChain 98(ubo) 197 217: 61 Load 216 218: 19(fvec4) Load 175(v0) 219: 16(float) Load 164(radius) 220: 16(float) CompositeExtract 203 0 221: 16(float) CompositeExtract 203 1 222: 16(float) CompositeExtract 203 2 223: 19(fvec4) CompositeConstruct 219 220 221 222 224: 19(fvec4) FAdd 218 223 225: 19(fvec4) MatrixTimesVector 217 224 Store 210(clip1) 225 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 228 228 12 12 226: 162(ptr) AccessChain 191(clip0) 13 229: 16(float) Load 226 230: 19(fvec4) Load 191(clip0) 231: 19(fvec4) CompositeConstruct 229 229 229 229 232: 19(fvec4) FDiv 230 231 Store 191(clip0) 232 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 235 235 12 12 233: 162(ptr) AccessChain 210(clip1) 13 236: 16(float) Load 233 237: 19(fvec4) Load 210(clip1) 238: 19(fvec4) CompositeConstruct 236 236 236 236 239: 19(fvec4) FDiv 237 238 Store 210(clip1) 239 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 245 245 12 12 243: 241(ptr) AccessChain 98(ubo) 240 246: 66(fvec2) Load 243 247: 19(fvec4) Load 191(clip0) 248: 66(fvec2) VectorShuffle 247 247 0 1 249: 66(fvec2) FMul 248 246 250: 162(ptr) AccessChain 191(clip0) 12 251: 16(float) CompositeExtract 249 0 Store 250 251 252: 162(ptr) AccessChain 191(clip0) 37 253: 16(float) CompositeExtract 249 1 Store 252 253 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 256 256 12 12 254: 241(ptr) AccessChain 98(ubo) 240 257: 66(fvec2) Load 254 258: 19(fvec4) Load 210(clip1) 259: 66(fvec2) VectorShuffle 258 258 0 1 260: 66(fvec2) FMul 259 257 261: 162(ptr) AccessChain 210(clip1) 12 262: 16(float) CompositeExtract 260 0 Store 261 262 263: 162(ptr) AccessChain 210(clip1) 37 264: 16(float) CompositeExtract 260 1 Store 263 264 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 267 267 12 12 265: 19(fvec4) Load 191(clip0) 268: 19(fvec4) Load 210(clip1) 269: 16(float) ExtInst 3(GLSL.std.450) 67(Distance) 265 268 273: 271(ptr) AccessChain 98(ubo) 270 274: 16(float) Load 273 275: 16(float) FDiv 269 274 277: 271(ptr) AccessChain 98(ubo) 276 278: 16(float) Load 277 279: 16(float) FMul 275 278 282: 16(float) ExtInst 3(GLSL.std.450) 43(FClamp) 279 280 281 ReturnValue 282 FunctionEnd 53(frustumCheck(): 48(bool) Function None 51 54: Label 296(pos): 22(ptr) Variable Function 353(i): 351(ptr) Variable Function 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 57 57 12 12 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 56 53(frustumCheck() 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 293 293 12 12 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(DebugValue) 292 291 42 301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 299 299 12 12 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 297 296(pos) 42 327: 181(int) Load 324(gl_InvocationID) 330: 328(ptr) AccessChain 319(gl_in) 327 197 331: 19(fvec4) Load 330 Store 296(pos) 331 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 334 334 12 12 332: 107 Load 113(samplerHeight) 337: 335(ptr) AccessChain 130(inUV) 197 338: 66(fvec2) Load 337 339: 19(fvec4) ImageSampleExplicitLod 332 338 Lod 202 340: 16(float) CompositeExtract 339 0 342: 271(ptr) AccessChain 98(ubo) 341 343: 16(float) Load 342 344: 16(float) FMul 340 343 345: 162(ptr) AccessChain 296(pos) 37 346: 16(float) Load 345 347: 16(float) FSub 346 344 348: 162(ptr) AccessChain 296(pos) 37 Store 348 347 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 349 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 350 350 12 12 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 354 353(i) 42 Store 353(i) 197 Branch 359 359: Label 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 349 364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 350 350 12 12 LoopMerge 361 362 None Branch 365 365: Label 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 349 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 350 350 12 12 366: 181(int) Load 353(i) 369: 48(bool) SLessThan 366 240 BranchConditional 369 360 361 360: Label 371: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 349 372: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 373 373 12 12 370: 19(fvec4) Load 296(pos) 375: 181(int) Load 353(i) 378: 376(ptr) AccessChain 98(ubo) 374 375 379: 19(fvec4) Load 378 380: 16(float) Dot 370 379 381: 16(float) FAdd 380 291 382: 48(bool) FOrdLessThan 381 202 SelectionMerge 384 None BranchConditional 382 383 384 383: Label 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 385 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 386 386 12 12 ReturnValue 387 384: Label Branch 362 362: Label 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 349 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 350 350 12 12 391: 181(int) Load 353(i) 394: 181(int) IAdd 391 184 Store 353(i) 394 Branch 359 361: Label 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 397 397 12 12 ReturnValue 63 FunctionEnd