spv.debuginfo.glsl.tese // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 359 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 Decorate 166(gl_PerVertex) Block 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 234(displacementMap) Binding 1 Decorate 234(displacementMap) DescriptorSet 0 Decorate 249 ArrayStride 16 Decorate 251(UBO) Block MemberDecorate 251(UBO) 0 ColMajor MemberDecorate 251(UBO) 0 MatrixStride 16 MemberDecorate 251(UBO) 0 Offset 0 MemberDecorate 251(UBO) 1 ColMajor MemberDecorate 251(UBO) 1 MatrixStride 16 MemberDecorate 251(UBO) 1 Offset 64 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 273(ubo) Binding 0 Decorate 273(ubo) DescriptorSet 0 Decorate 288(gl_PerVertex) Block 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 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 358: 7(int) Constant 78 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 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 358 358 12 12 Return FunctionEnd