| 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 |