| spv.debuginfo.glsl.tese |
| // Module Version 10000 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 357 |
| |
| Capability Tessellation |
| Extension "SPV_KHR_non_semantic_info" |
| 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" |
| 3: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint TessellationEvaluation 14 "main" 47 66 93 116 143 183 300 316 324 337 344 |
| ExecutionMode 14 Quads |
| ExecutionMode 14 SpacingEqual |
| ExecutionMode 14 VertexOrderCw |
| 2: String "spv.debuginfo.glsl.tese" |
| 8: String "uint" |
| 16: String "main" |
| 19: String "// OpModuleProcessed auto-map-locations |
| // OpModuleProcessed auto-map-bindings |
| // OpModuleProcessed client vulkan100 |
| // OpModuleProcessed target-env vulkan1.0 |
| // OpModuleProcessed keep-uncalled |
| // OpModuleProcessed entry-point main |
| #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 displacementMap; |
| |
| layout(quads, equal_spacing, cw) in; |
| |
| layout (location = 0) in vec3 inNormal[]; |
| layout (location = 1) in vec2 inUV[]; |
| |
| layout (location = 0) out vec3 outNormal; |
| layout (location = 1) out vec2 outUV; |
| layout (location = 2) out vec3 outViewVec; |
| layout (location = 3) out vec3 outLightVec; |
| layout (location = 4) out vec3 outEyePos; |
| layout (location = 5) out vec3 outWorldPos; |
| |
| void main() |
| { |
| // Interpolate UV coordinates |
| vec2 uv1 = mix(inUV[0], inUV[1], gl_TessCoord.x); |
| vec2 uv2 = mix(inUV[3], inUV[2], gl_TessCoord.x); |
| outUV = mix(uv1, uv2, gl_TessCoord.y); |
| |
| vec3 n1 = mix(inNormal[0], inNormal[1], gl_TessCoord.x); |
| vec3 n2 = mix(inNormal[3], inNormal[2], gl_TessCoord.x); |
| outNormal = mix(n1, n2, gl_TessCoord.y); |
| |
| // Interpolate positions |
| vec4 pos1 = mix(gl_in[0].gl_Position, gl_in[1].gl_Position, gl_TessCoord.x); |
| vec4 pos2 = mix(gl_in[3].gl_Position, gl_in[2].gl_Position, gl_TessCoord.x); |
| vec4 pos = mix(pos1, pos2, gl_TessCoord.y); |
| // Displace |
| pos.y -= textureLod(displacementMap, outUV, 0.0).r * ubo.displacementFactor; |
| // Perspective projection |
| gl_Position = ubo.projection * ubo.modelview * pos; |
| |
| // Calculate vectors for lighting based on tessellated position |
| outViewVec = -pos.xyz; |
| outLightVec = normalize(ubo.lightPos.xyz + outViewVec); |
| outWorldPos = pos.xyz; |
| outEyePos = vec3(ubo.modelview * pos); |
| } |
| " |
| 29: String "float" |
| 38: String "uv1" |
| 49: String "inUV" |
| 52: String "int" |
| 68: String "gl_TessCoord" |
| 77: String "uv2" |
| 95: String "outUV" |
| 108: String "n1" |
| 118: String "inNormal" |
| 129: String "n2" |
| 145: String "outNormal" |
| 160: String "pos1" |
| 168: String "gl_Position" |
| 171: String "gl_PointSize" |
| 174: String "gl_CullDistance" |
| 178: String "gl_PerVertex" |
| 185: String "gl_in" |
| 198: String "pos2" |
| 212: String "pos" |
| 224: String "type.2d.image" |
| 226: String "@type.2d.image" |
| 230: String "type.sampled.image" |
| 231: String "@type.sampled.image" |
| 236: String "displacementMap" |
| 246: String "bool" |
| 253: String "modelview" |
| 257: String "lightPos" |
| 260: String "frustumPlanes" |
| 262: String "tessellatedEdgeSize" |
| 266: String "viewportDim" |
| 270: String "UBO" |
| 275: String "ubo" |
| 302: String "" |
| 318: String "outViewVec" |
| 326: String "outLightVec" |
| 339: String "outWorldPos" |
| 346: String "outEyePos" |
| Name 14 "main" |
| Name 36 "uv1" |
| Name 47 "inUV" |
| Name 66 "gl_TessCoord" |
| Name 75 "uv2" |
| Name 93 "outUV" |
| Name 106 "n1" |
| Name 116 "inNormal" |
| Name 127 "n2" |
| Name 143 "outNormal" |
| Name 158 "pos1" |
| Name 166 "gl_PerVertex" |
| MemberName 166(gl_PerVertex) 0 "gl_Position" |
| MemberName 166(gl_PerVertex) 1 "gl_PointSize" |
| MemberName 166(gl_PerVertex) 2 "gl_ClipDistance" |
| MemberName 166(gl_PerVertex) 3 "gl_CullDistance" |
| Name 183 "gl_in" |
| Name 196 "pos2" |
| Name 210 "pos" |
| Name 234 "displacementMap" |
| Name 251 "UBO" |
| MemberName 251(UBO) 0 "projection" |
| MemberName 251(UBO) 1 "modelview" |
| MemberName 251(UBO) 2 "lightPos" |
| MemberName 251(UBO) 3 "frustumPlanes" |
| MemberName 251(UBO) 4 "displacementFactor" |
| MemberName 251(UBO) 5 "tessellationFactor" |
| MemberName 251(UBO) 6 "viewportDim" |
| MemberName 251(UBO) 7 "tessellatedEdgeSize" |
| Name 273 "ubo" |
| Name 288 "gl_PerVertex" |
| MemberName 288(gl_PerVertex) 0 "gl_Position" |
| MemberName 288(gl_PerVertex) 1 "gl_PointSize" |
| MemberName 288(gl_PerVertex) 2 "gl_ClipDistance" |
| MemberName 288(gl_PerVertex) 3 "gl_CullDistance" |
| Name 300 "" |
| Name 316 "outViewVec" |
| Name 324 "outLightVec" |
| Name 337 "outWorldPos" |
| Name 344 "outEyePos" |
| Decorate 47(inUV) Location 1 |
| Decorate 66(gl_TessCoord) BuiltIn TessCoord |
| Decorate 93(outUV) Location 1 |
| Decorate 116(inNormal) Location 0 |
| Decorate 143(outNormal) Location 0 |
| MemberDecorate 166(gl_PerVertex) 0 BuiltIn Position |
| MemberDecorate 166(gl_PerVertex) 1 BuiltIn PointSize |
| MemberDecorate 166(gl_PerVertex) 2 BuiltIn ClipDistance |
| MemberDecorate 166(gl_PerVertex) 3 BuiltIn CullDistance |
| Decorate 166(gl_PerVertex) Block |
| Decorate 234(displacementMap) DescriptorSet 0 |
| Decorate 234(displacementMap) Binding 1 |
| Decorate 249 ArrayStride 16 |
| MemberDecorate 251(UBO) 0 ColMajor |
| MemberDecorate 251(UBO) 0 Offset 0 |
| MemberDecorate 251(UBO) 0 MatrixStride 16 |
| MemberDecorate 251(UBO) 1 ColMajor |
| MemberDecorate 251(UBO) 1 Offset 64 |
| MemberDecorate 251(UBO) 1 MatrixStride 16 |
| MemberDecorate 251(UBO) 2 Offset 128 |
| MemberDecorate 251(UBO) 3 Offset 144 |
| MemberDecorate 251(UBO) 4 Offset 240 |
| MemberDecorate 251(UBO) 5 Offset 244 |
| MemberDecorate 251(UBO) 6 Offset 248 |
| MemberDecorate 251(UBO) 7 Offset 256 |
| Decorate 251(UBO) Block |
| Decorate 273(ubo) DescriptorSet 0 |
| Decorate 273(ubo) Binding 0 |
| MemberDecorate 288(gl_PerVertex) 0 BuiltIn Position |
| MemberDecorate 288(gl_PerVertex) 1 BuiltIn PointSize |
| MemberDecorate 288(gl_PerVertex) 2 BuiltIn ClipDistance |
| MemberDecorate 288(gl_PerVertex) 3 BuiltIn CullDistance |
| Decorate 288(gl_PerVertex) Block |
| Decorate 316(outViewVec) Location 2 |
| Decorate 324(outLightVec) Location 3 |
| Decorate 337(outWorldPos) Location 5 |
| Decorate 344(outEyePos) Location 4 |
| 4: TypeVoid |
| 5: TypeFunction 4 |
| 7: TypeInt 32 0 |
| 10: 7(int) Constant 32 |
| 11: 7(int) Constant 6 |
| 12: 7(int) Constant 0 |
| 9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12 |
| 13: 7(int) Constant 3 |
| 6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 |
| 18: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 19 |
| 20: 7(int) Constant 53 |
| 22: 7(int) Constant 1 |
| 23: 7(int) Constant 4 |
| 24: 7(int) Constant 2 |
| 21: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 22 23 18 24 |
| 17: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 16 6 18 20 12 21 16 13 20 |
| 28: TypeFloat 32 |
| 30: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 29 10 13 12 |
| 31: TypeVector 28(float) 2 |
| 32: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 30 24 |
| 33: TypePointer Function 31(fvec2) |
| 34: 7(int) Constant 7 |
| 35: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 32 34 12 |
| 39: 7(int) Constant 56 |
| 37: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 38 32 18 39 12 17 23 |
| 41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) |
| 43: TypeArray 31(fvec2) 10 |
| 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 32 10 |
| 45: TypePointer Input 43 |
| 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 44 22 12 |
| 47(inUV): 45(ptr) Variable Input |
| 50: 7(int) Constant 8 |
| 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 49 44 18 39 12 21 49 47(inUV) 50 |
| 51: TypeInt 32 1 |
| 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 52 10 23 12 |
| 54: 51(int) Constant 0 |
| 55: TypePointer Input 31(fvec2) |
| 56: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 32 22 12 |
| 59: 51(int) Constant 1 |
| 62: TypeVector 28(float) 3 |
| 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 30 13 |
| 64: TypePointer Input 62(fvec3) |
| 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 63 22 12 |
| 66(gl_TessCoord): 64(ptr) Variable Input |
| 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 68 63 18 39 12 21 68 66(gl_TessCoord) 50 |
| 69: TypePointer Input 28(float) |
| 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 30 22 12 |
| 78: 7(int) Constant 57 |
| 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 32 18 78 12 17 23 |
| 81: 51(int) Constant 3 |
| 84: 51(int) Constant 2 |
| 91: TypePointer Output 31(fvec2) |
| 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 32 13 12 |
| 93(outUV): 91(ptr) Variable Output |
| 96: 7(int) Constant 58 |
| 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 95 32 18 96 12 21 95 93(outUV) 50 |
| 104: TypePointer Function 62(fvec3) |
| 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 63 34 12 |
| 109: 7(int) Constant 60 |
| 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 108 63 18 109 12 17 23 |
| 112: TypeArray 62(fvec3) 10 |
| 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 63 10 |
| 114: TypePointer Input 112 |
| 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 113 22 12 |
| 116(inNormal): 114(ptr) Variable Input |
| 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 118 113 18 109 12 21 118 116(inNormal) 50 |
| 130: 7(int) Constant 61 |
| 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 129 63 18 130 12 17 23 |
| 141: TypePointer Output 62(fvec3) |
| 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 63 13 12 |
| 143(outNormal): 141(ptr) Variable Output |
| 146: 7(int) Constant 62 |
| 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 145 63 18 146 12 21 145 143(outNormal) 50 |
| 154: TypeVector 28(float) 4 |
| 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 30 23 |
| 156: TypePointer Function 154(fvec4) |
| 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 155 34 12 |
| 161: 7(int) Constant 65 |
| 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 160 155 18 161 12 17 23 |
| 164: TypeArray 28(float) 22 |
| 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 30 22 |
| 166(gl_PerVertex): TypeStruct 154(fvec4) 28(float) 164 164 |
| 169: 7(int) Constant 1756 |
| 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 168 155 18 22 169 12 12 13 |
| 172: 7(int) Constant 1774 |
| 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 171 30 18 22 172 12 12 13 |
| 175: 7(int) Constant 1817 |
| 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 174 165 18 22 175 12 12 13 |
| 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 174 165 18 22 175 12 12 13 |
| 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 178 22 18 161 12 21 178 12 13 167 170 173 176 |
| 179: TypeArray 166(gl_PerVertex) 10 |
| 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 177 10 |
| 181: TypePointer Input 179 |
| 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 180 22 12 |
| 183(gl_in): 181(ptr) Variable Input |
| 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 185 180 18 161 12 21 185 183(gl_in) 50 |
| 186: TypePointer Input 154(fvec4) |
| 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 155 22 12 |
| 199: 7(int) Constant 66 |
| 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 198 155 18 199 12 17 23 |
| 213: 7(int) Constant 67 |
| 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 212 155 18 213 12 17 23 |
| 222: TypeImage 28(float) 2D sampled format:Unknown |
| 225: 7(int) Constant 69 |
| 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) |
| 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 224 12 18 225 12 21 226 227 13 |
| 228: TypeSampledImage 222 |
| 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 230 12 18 225 12 21 231 227 13 |
| 232: TypePointer UniformConstant 228 |
| 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 229 12 12 |
| 234(displacementMap): 232(ptr) Variable UniformConstant |
| 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 236 229 18 225 12 21 236 234(displacementMap) 50 |
| 240: 28(float) Constant 0 |
| 243: TypeMatrix 154(fvec4) 4 |
| 245: TypeBool |
| 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 246 10 24 12 |
| 248: 245(bool) ConstantTrue |
| 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 155 23 248 |
| 249: TypeArray 154(fvec4) 11 |
| 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 155 11 |
| 251(UBO): TypeStruct 243 243 154(fvec4) 249 28(float) 28(float) 31(fvec2) 28(float) |
| 254: 7(int) Constant 30 |
| 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 18 254 34 12 12 13 |
| 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 18 254 34 12 12 13 |
| 258: 7(int) Constant 31 |
| 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 257 155 18 258 34 12 12 13 |
| 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 260 250 18 10 34 12 12 13 |
| 263: 7(int) Constant 36 |
| 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 262 30 18 263 50 12 12 13 |
| 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 262 30 18 263 50 12 12 13 |
| 267: 7(int) Constant 35 |
| 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 266 32 18 267 34 12 12 13 |
| 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 262 30 18 263 50 12 12 13 |
| 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 270 22 18 225 12 21 270 12 13 252 255 256 259 261 264 265 268 |
| 271: TypePointer Uniform 251(UBO) |
| 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 269 24 12 |
| 273(ubo): 271(ptr) Variable Uniform |
| 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 275 269 18 225 12 21 275 273(ubo) 50 |
| 276: 51(int) Constant 4 |
| 277: TypePointer Uniform 28(float) |
| 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 30 24 12 |
| 282: TypePointer Function 28(float) |
| 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 30 34 12 |
| 288(gl_PerVertex): TypeStruct 154(fvec4) 28(float) 164 164 |
| 290: 7(int) Constant 165 |
| 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 168 155 18 22 290 12 12 13 |
| 292: 7(int) Constant 183 |
| 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 171 30 18 22 292 12 12 13 |
| 294: 7(int) Constant 226 |
| 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 174 165 18 22 294 12 12 13 |
| 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 174 165 18 22 294 12 12 13 |
| 297: 7(int) Constant 71 |
| 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 178 22 18 297 12 21 178 12 13 289 291 293 295 |
| 298: TypePointer Output 288(gl_PerVertex) |
| 299: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 296 13 12 |
| 300: 298(ptr) Variable Output |
| 301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 302 296 18 297 12 21 302 300 50 |
| 303: TypePointer Uniform 243 |
| 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 244 24 12 |
| 313: TypePointer Output 154(fvec4) |
| 314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 155 13 12 |
| 316(outViewVec): 141(ptr) Variable Output |
| 319: 7(int) Constant 74 |
| 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 318 63 18 319 12 21 318 316(outViewVec) 50 |
| 324(outLightVec): 141(ptr) Variable Output |
| 327: 7(int) Constant 75 |
| 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 326 63 18 327 12 21 326 324(outLightVec) 50 |
| 328: TypePointer Uniform 154(fvec4) |
| 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 155 24 12 |
| 337(outWorldPos): 141(ptr) Variable Output |
| 340: 7(int) Constant 76 |
| 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 339 63 18 340 12 21 339 337(outWorldPos) 50 |
| 344(outEyePos): 141(ptr) Variable Output |
| 347: 7(int) Constant 77 |
| 345: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 346 63 18 347 12 21 346 344(outEyePos) 50 |
| 14(main): 4 Function None 5 |
| 15: Label |
| 36(uv1): 33(ptr) Variable Function |
| 75(uv2): 33(ptr) Variable Function |
| 106(n1): 104(ptr) Variable Function |
| 127(n2): 104(ptr) Variable Function |
| 158(pos1): 156(ptr) Variable Function |
| 196(pos2): 156(ptr) Variable Function |
| 210(pos): 156(ptr) Variable Function |
| 26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 |
| 27: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 20 20 12 12 |
| 25: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 17 14(main) |
| 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 39 39 12 12 |
| 40: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 37 36(uv1) 41 |
| 57: 55(ptr) AccessChain 47(inUV) 54 |
| 58: 31(fvec2) Load 57 |
| 60: 55(ptr) AccessChain 47(inUV) 59 |
| 61: 31(fvec2) Load 60 |
| 71: 69(ptr) AccessChain 66(gl_TessCoord) 12 |
| 72: 28(float) Load 71 |
| 73: 31(fvec2) CompositeConstruct 72 72 |
| 74: 31(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 58 61 73 |
| Store 36(uv1) 74 |
| 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 78 78 12 12 |
| 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 75(uv2) 41 |
| 82: 55(ptr) AccessChain 47(inUV) 81 |
| 83: 31(fvec2) Load 82 |
| 85: 55(ptr) AccessChain 47(inUV) 84 |
| 86: 31(fvec2) Load 85 |
| 87: 69(ptr) AccessChain 66(gl_TessCoord) 12 |
| 88: 28(float) Load 87 |
| 89: 31(fvec2) CompositeConstruct 88 88 |
| 90: 31(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 83 86 89 |
| Store 75(uv2) 90 |
| 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 96 96 12 12 |
| 97: 31(fvec2) Load 36(uv1) |
| 99: 31(fvec2) Load 75(uv2) |
| 100: 69(ptr) AccessChain 66(gl_TessCoord) 22 |
| 101: 28(float) Load 100 |
| 102: 31(fvec2) CompositeConstruct 101 101 |
| 103: 31(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 97 99 102 |
| Store 93(outUV) 103 |
| 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 109 109 12 12 |
| 110: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 107 106(n1) 41 |
| 119: 64(ptr) AccessChain 116(inNormal) 54 |
| 120: 62(fvec3) Load 119 |
| 121: 64(ptr) AccessChain 116(inNormal) 59 |
| 122: 62(fvec3) Load 121 |
| 123: 69(ptr) AccessChain 66(gl_TessCoord) 12 |
| 124: 28(float) Load 123 |
| 125: 62(fvec3) CompositeConstruct 124 124 124 |
| 126: 62(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 120 122 125 |
| Store 106(n1) 126 |
| 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 130 130 12 12 |
| 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 128 127(n2) 41 |
| 133: 64(ptr) AccessChain 116(inNormal) 81 |
| 134: 62(fvec3) Load 133 |
| 135: 64(ptr) AccessChain 116(inNormal) 84 |
| 136: 62(fvec3) Load 135 |
| 137: 69(ptr) AccessChain 66(gl_TessCoord) 12 |
| 138: 28(float) Load 137 |
| 139: 62(fvec3) CompositeConstruct 138 138 138 |
| 140: 62(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 134 136 139 |
| Store 127(n2) 140 |
| 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 146 146 12 12 |
| 147: 62(fvec3) Load 106(n1) |
| 149: 62(fvec3) Load 127(n2) |
| 150: 69(ptr) AccessChain 66(gl_TessCoord) 22 |
| 151: 28(float) Load 150 |
| 152: 62(fvec3) CompositeConstruct 151 151 151 |
| 153: 62(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 147 149 152 |
| Store 143(outNormal) 153 |
| 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 161 161 12 12 |
| 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 159 158(pos1) 41 |
| 188: 186(ptr) AccessChain 183(gl_in) 54 54 |
| 189: 154(fvec4) Load 188 |
| 190: 186(ptr) AccessChain 183(gl_in) 59 54 |
| 191: 154(fvec4) Load 190 |
| 192: 69(ptr) AccessChain 66(gl_TessCoord) 12 |
| 193: 28(float) Load 192 |
| 194: 154(fvec4) CompositeConstruct 193 193 193 193 |
| 195: 154(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 189 191 194 |
| Store 158(pos1) 195 |
| 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 199 199 12 12 |
| 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 197 196(pos2) 41 |
| 202: 186(ptr) AccessChain 183(gl_in) 81 54 |
| 203: 154(fvec4) Load 202 |
| 204: 186(ptr) AccessChain 183(gl_in) 84 54 |
| 205: 154(fvec4) Load 204 |
| 206: 69(ptr) AccessChain 66(gl_TessCoord) 12 |
| 207: 28(float) Load 206 |
| 208: 154(fvec4) CompositeConstruct 207 207 207 207 |
| 209: 154(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 203 205 208 |
| Store 196(pos2) 209 |
| 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 213 213 12 12 |
| 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 211 210(pos) 41 |
| 216: 154(fvec4) Load 158(pos1) |
| 217: 154(fvec4) Load 196(pos2) |
| 218: 69(ptr) AccessChain 66(gl_TessCoord) 22 |
| 219: 28(float) Load 218 |
| 220: 154(fvec4) CompositeConstruct 219 219 219 219 |
| 221: 154(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 216 217 220 |
| Store 210(pos) 221 |
| 238: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 225 225 12 12 |
| 237: 228 Load 234(displacementMap) |
| 239: 31(fvec2) Load 93(outUV) |
| 241: 154(fvec4) ImageSampleExplicitLod 237 239 Lod 240 |
| 242: 28(float) CompositeExtract 241 0 |
| 279: 277(ptr) AccessChain 273(ubo) 276 |
| 280: 28(float) Load 279 |
| 281: 28(float) FMul 242 280 |
| 284: 282(ptr) AccessChain 210(pos) 22 |
| 285: 28(float) Load 284 |
| 286: 28(float) FSub 285 281 |
| 287: 282(ptr) AccessChain 210(pos) 22 |
| Store 287 286 |
| 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 297 297 12 12 |
| 305: 303(ptr) AccessChain 273(ubo) 54 |
| 307: 243 Load 305 |
| 308: 303(ptr) AccessChain 273(ubo) 59 |
| 309: 243 Load 308 |
| 310: 243 MatrixTimesMatrix 307 309 |
| 311: 154(fvec4) Load 210(pos) |
| 312: 154(fvec4) MatrixTimesVector 310 311 |
| 315: 313(ptr) AccessChain 300 54 |
| Store 315 312 |
| 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 319 319 12 12 |
| 320: 154(fvec4) Load 210(pos) |
| 322: 62(fvec3) VectorShuffle 320 320 0 1 2 |
| 323: 62(fvec3) FNegate 322 |
| Store 316(outViewVec) 323 |
| 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 327 327 12 12 |
| 330: 328(ptr) AccessChain 273(ubo) 84 |
| 332: 154(fvec4) Load 330 |
| 333: 62(fvec3) VectorShuffle 332 332 0 1 2 |
| 334: 62(fvec3) Load 316(outViewVec) |
| 335: 62(fvec3) FAdd 333 334 |
| 336: 62(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 335 |
| Store 324(outLightVec) 336 |
| 342: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 340 340 12 12 |
| 341: 154(fvec4) Load 210(pos) |
| 343: 62(fvec3) VectorShuffle 341 341 0 1 2 |
| Store 337(outWorldPos) 343 |
| 349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 347 347 12 12 |
| 348: 303(ptr) AccessChain 273(ubo) 59 |
| 350: 243 Load 348 |
| 351: 154(fvec4) Load 210(pos) |
| 352: 154(fvec4) MatrixTimesVector 350 351 |
| 353: 28(float) CompositeExtract 352 0 |
| 354: 28(float) CompositeExtract 352 1 |
| 355: 28(float) CompositeExtract 352 2 |
| 356: 62(fvec3) CompositeConstruct 353 354 355 |
| Store 344(outEyePos) 356 |
| Return |
| FunctionEnd |