spv.debuginfo.glsl.tesc // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 569 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 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" 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" 518: String "gl_out" 534: String "outNormal" 544: String "inNormal" 559: 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 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 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" Decorate 95 ArrayStride 16 MemberDecorate 99(UBO) 0 ColMajor MemberDecorate 99(UBO) 0 Offset 0 MemberDecorate 99(UBO) 0 MatrixStride 16 MemberDecorate 99(UBO) 1 ColMajor MemberDecorate 99(UBO) 1 Offset 64 MemberDecorate 99(UBO) 1 MatrixStride 16 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 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 294(inUV) Location 1 Decorate 383(gl_TessLevelInner) Patch Decorate 383(gl_TessLevelInner) BuiltIn TessLevelInner Decorate 399(gl_TessLevelOuter) Patch Decorate 399(gl_TessLevelOuter) BuiltIn TessLevelOuter 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 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 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 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 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 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 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 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 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 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 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 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) 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 565: 97(fvec2) Load 564 568: 566(ptr) AccessChain 557(outUV) 561 Store 568 565 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 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 321: 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 FunctionEnd