spv.debuginfo.hlsl.tese // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 496 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint TessellationEvaluation 6 "main" 387 402 411 420 427 433 473 477 481 484 487 490 493 ExecutionMode 6 Quads 2: String "spv.debuginfo.hlsl.tese" 9: String "float" 12: String "uint" 26: String "TessLevelOuter" 28: String "/* The MIT License (MIT) Copyright (c) 2022 Google LLC 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. */ struct UBO { float4x4 projection; float4x4 modelview; float4 lightPos; float4 frustumPlanes[6]; float displacementFactor; float tessellationFactor; float2 viewportDim; float tessellatedEdgeSize; }; cbuffer ubo : register(b0) { UBO ubo; }; Texture2D displacementMapTexture : register(t1); SamplerState displacementMapSampler : register(s1); struct HSOutput { [[vk::location(2)]] float4 Pos : SV_POSITION; [[vk::location(0)]] float3 Normal : NORMAL0; [[vk::location(1)]] float2 UV : TEXCOORD0; }; struct ConstantsHSOutput { float TessLevelOuter[4] : SV_TessFactor; float TessLevelInner[2] : SV_InsideTessFactor; }; struct DSOutput { float4 Pos : SV_POSITION; [[vk::location(0)]] float3 Normal : NORMAL0; [[vk::location(1)]] float2 UV : TEXCOORD0; [[vk::location(2)]] float3 ViewVec : TEXCOORD1; [[vk::location(3)]] float3 LightVec : TEXCOORD2; [[vk::location(4)]] float3 EyePos : POSITION1; [[vk::location(5)]] float3 WorldPos : POSITION0; }; [domain("quad")] DSOutput main(ConstantsHSOutput input, float2 TessCoord : SV_DomainLocation, const OutputPatch patch) { // Interpolate UV coordinates DSOutput output = (DSOutput)0; float2 uv1 = lerp(patch[0].UV, patch[1].UV, TessCoord.x); float2 uv2 = lerp(patch[3].UV, patch[2].UV, TessCoord.x); output.UV = lerp(uv1, uv2, TessCoord.y); float3 n1 = lerp(patch[0].Normal, patch[1].Normal, TessCoord.x); float3 n2 = lerp(patch[3].Normal, patch[2].Normal, TessCoord.x); output.Normal = lerp(n1, n2, TessCoord.y); // Interpolate positions float4 pos1 = lerp(patch[0].Pos, patch[1].Pos, TessCoord.x); float4 pos2 = lerp(patch[3].Pos, patch[2].Pos, TessCoord.x); float4 pos = lerp(pos1, pos2, TessCoord.y); // Displace pos.y -= displacementMapTexture.SampleLevel(displacementMapSampler, output.UV, 0.0).r * ubo.displacementFactor; // Perspective projection output.Pos = mul(ubo.projection, mul(ubo.modelview, pos)); // Calculate vectors for lighting based on tessellated position output.ViewVec = -pos.xyz; output.LightVec = normalize(ubo.lightPos.xyz + output.ViewVec); output.WorldPos = pos.xyz; output.EyePos = mul(ubo.modelview, pos).xyz; return output; } " 32: String "TessLevelInner" 35: String "ConstantsHSOutput" 53: String "Pos" 56: String "Normal" 60: String "UV" 64: String "HSOutput" 76: String "ViewVec" 80: String "LightVec" 84: String "EyePos" 87: String "WorldPos" 90: String "DSOutput" 98: String "@main" 101: String "input" 107: String "TessCoord" 110: String "patch" 118: String "output" 130: String "uv1" 135: String "int" 150: String "uv2" 174: String "n1" 186: String "n2" 209: String "pos1" 221: String "pos2" 233: String "pos" 245: String "type.2d.image" 247: String "@type.2d.image" 253: String "displacementMapTexture" 259: String "type.sampler" 260: String "@type.sampler" 265: String "displacementMapSampler" 269: String "type.sampled.image" 270: String "@type.sampled.image" 279: String "bool" 286: String "projection" 290: String "modelview" 294: String "lightPos" 298: String "frustumPlanes" 301: String "displacementFactor" 304: String "tessellationFactor" 307: String "viewportDim" 310: String "tessellatedEdgeSize" 313: String "UBO" 316: String "ubo" 322: String "" Name 6 "main" Name 24 "ConstantsHSOutput" MemberName 24(ConstantsHSOutput) 0 "TessLevelOuter" MemberName 24(ConstantsHSOutput) 1 "TessLevelInner" Name 51 "HSOutput" MemberName 51(HSOutput) 0 "Pos" MemberName 51(HSOutput) 1 "Normal" MemberName 51(HSOutput) 2 "UV" Name 67 "DSOutput" MemberName 67(DSOutput) 0 "Pos" MemberName 67(DSOutput) 1 "Normal" MemberName 67(DSOutput) 2 "UV" MemberName 67(DSOutput) 3 "ViewVec" MemberName 67(DSOutput) 4 "LightVec" MemberName 67(DSOutput) 5 "EyePos" MemberName 67(DSOutput) 6 "WorldPos" Name 96 "@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];" Name 93 "input" Name 94 "TessCoord" Name 95 "patch" Name 116 "output" Name 128 "uv1" Name 148 "uv2" Name 172 "n1" Name 184 "n2" Name 207 "pos1" Name 219 "pos2" Name 231 "pos" Name 251 "displacementMapTexture" Name 263 "displacementMapSampler" Name 284 "UBO" MemberName 284(UBO) 0 "projection" MemberName 284(UBO) 1 "modelview" MemberName 284(UBO) 2 "lightPos" MemberName 284(UBO) 3 "frustumPlanes" MemberName 284(UBO) 4 "displacementFactor" MemberName 284(UBO) 5 "tessellationFactor" MemberName 284(UBO) 6 "viewportDim" MemberName 284(UBO) 7 "tessellatedEdgeSize" Name 314 "ubo" MemberName 314(ubo) 0 "ubo" Name 320 "" Name 385 "input" Name 387 "input.TessLevelOuter" Name 402 "input.TessLevelInner" Name 409 "TessCoord" Name 411 "TessCoord" Name 417 "patch" Name 420 "patch.Pos" Name 427 "patch.Normal" Name 433 "patch.UV" Name 465 "flattenTemp" Name 467 "param" Name 469 "param" Name 473 "@entryPointOutput.Pos" Name 477 "@entryPointOutput.Normal" Name 481 "@entryPointOutput.UV" Name 484 "@entryPointOutput.ViewVec" Name 487 "@entryPointOutput.LightVec" Name 490 "@entryPointOutput.EyePos" Name 493 "@entryPointOutput.WorldPos" Decorate 251(displacementMapTexture) Binding 1 Decorate 251(displacementMapTexture) DescriptorSet 0 Decorate 263(displacementMapSampler) Binding 1 Decorate 263(displacementMapSampler) DescriptorSet 0 Decorate 282 ArrayStride 16 MemberDecorate 284(UBO) 0 RowMajor MemberDecorate 284(UBO) 0 MatrixStride 16 MemberDecorate 284(UBO) 0 Offset 0 MemberDecorate 284(UBO) 1 RowMajor MemberDecorate 284(UBO) 1 MatrixStride 16 MemberDecorate 284(UBO) 1 Offset 64 MemberDecorate 284(UBO) 2 Offset 128 MemberDecorate 284(UBO) 3 Offset 144 MemberDecorate 284(UBO) 4 Offset 240 MemberDecorate 284(UBO) 5 Offset 244 MemberDecorate 284(UBO) 6 Offset 248 MemberDecorate 284(UBO) 7 Offset 256 Decorate 314(ubo) Block MemberDecorate 314(ubo) 0 Offset 0 Decorate 320 Binding 0 Decorate 320 DescriptorSet 0 Decorate 387(input.TessLevelOuter) BuiltIn TessLevelOuter Decorate 387(input.TessLevelOuter) Patch Decorate 402(input.TessLevelInner) BuiltIn TessLevelInner Decorate 402(input.TessLevelInner) Patch Decorate 411(TessCoord) BuiltIn TessCoord Decorate 411(TessCoord) Patch Decorate 420(patch.Pos) BuiltIn Position Decorate 427(patch.Normal) Location 0 Decorate 433(patch.UV) Location 1 Decorate 473(@entryPointOutput.Pos) BuiltIn Position Decorate 477(@entryPointOutput.Normal) Location 0 Decorate 481(@entryPointOutput.UV) Location 1 Decorate 484(@entryPointOutput.ViewVec) Location 2 Decorate 487(@entryPointOutput.LightVec) Location 3 Decorate 490(@entryPointOutput.EyePos) Location 4 Decorate 493(@entryPointOutput.WorldPos) Location 5 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 11: TypeInt 32 0 14: 11(int) Constant 32 15: 11(int) Constant 6 16: 11(int) Constant 0 13: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 14 15 16 17: 11(int) Constant 3 10: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 14 17 16 18: 11(int) Constant 4 19: TypeArray 8(float) 18 20: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 18 21: 11(int) Constant 2 22: TypeArray 8(float) 21 23: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 21 24(ConstantsHSOutput): TypeStruct 19 22 27: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 28 29: 11(int) Constant 51 30: 11(int) Constant 25 25: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 26 20 27 29 30 16 16 17 33: 11(int) Constant 52 31: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 32 23 27 33 30 16 16 17 36: 11(int) Constant 1 37: 11(int) Constant 68 39: 11(int) Constant 5 38: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 36 18 27 39 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 35 36 27 37 16 38 35 16 17 25 31 40: TypePointer Function 24(ConstantsHSOutput) 41: 11(int) Constant 7 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 34 41 16 43: TypeVector 8(float) 2 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 21 45: TypePointer Function 43(fvec2) 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 44 41 16 47: TypeVector 8(float) 4 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 18 49: TypeVector 8(float) 3 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 51(HSOutput): TypeStruct 47(fvec4) 49(fvec3) 43(fvec2) 54: 11(int) Constant 44 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 53 48 27 54 14 16 16 17 57: 11(int) Constant 45 58: 11(int) Constant 35 55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 56 50 27 57 58 16 16 17 61: 11(int) Constant 46 62: 11(int) Constant 31 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 60 44 27 61 62 16 16 17 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 64 36 27 37 16 38 64 16 17 52 55 59 65: TypeArray 51(HSOutput) 18 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 63 18 67(DSOutput): TypeStruct 47(fvec4) 49(fvec3) 43(fvec2) 49(fvec3) 49(fvec3) 49(fvec3) 49(fvec3) 69: 11(int) Constant 57 70: 11(int) Constant 13 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 53 48 27 69 70 16 16 17 72: 11(int) Constant 58 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 56 50 27 72 58 16 16 17 74: 11(int) Constant 59 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 60 44 27 74 62 16 16 17 77: 11(int) Constant 60 78: 11(int) Constant 36 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 76 50 27 77 78 16 16 17 81: 11(int) Constant 61 82: 11(int) Constant 37 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 50 27 81 82 16 16 17 85: 11(int) Constant 62 83: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 84 50 27 85 58 16 16 17 88: 11(int) Constant 63 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 87 50 27 88 82 16 16 17 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 90 36 27 37 16 38 90 16 17 68 71 73 75 79 83 86 91: TypeFunction 67(DSOutput) 40(ptr) 45(ptr) 65 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 89 34 44 63 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 98 92 27 37 16 38 98 17 37 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 101 34 27 37 16 99 18 36 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 107 44 27 37 16 99 18 21 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 110 63 27 37 16 99 18 17 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 27 16 16 99 114: TypePointer Function 67(DSOutput) 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 89 41 16 119: 11(int) Constant 70 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 118 89 27 119 16 113 18 123: 8(float) Constant 0 124: 47(fvec4) ConstantComposite 123 123 123 123 125: 49(fvec3) ConstantComposite 123 123 123 126: 43(fvec2) ConstantComposite 123 123 127:67(DSOutput) ConstantComposite 124 125 126 125 125 125 125 131: 11(int) Constant 71 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 130 44 27 131 16 113 18 134: TypeInt 32 1 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 135 14 18 16 137: 134(int) Constant 0 138: 134(int) Constant 2 140: 134(int) Constant 1 142: TypePointer Function 8(float) 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 41 16 151: 11(int) Constant 72 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 150 44 27 151 16 113 18 154: 134(int) Constant 3 163: 11(int) Constant 73 170: TypePointer Function 49(fvec3) 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 50 41 16 175: 11(int) Constant 75 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 174 50 27 175 16 113 18 187: 11(int) Constant 76 185: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 186 50 27 187 16 113 18 198: 11(int) Constant 77 205: TypePointer Function 47(fvec4) 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 48 41 16 210: 11(int) Constant 80 208: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 209 48 27 210 16 113 18 222: 11(int) Constant 81 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 221 48 27 222 16 113 18 234: 11(int) Constant 82 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 233 48 27 234 16 113 18 243: TypeImage 8(float) 2D sampled format:Unknown 246: 11(int) Constant 84 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 245 36 27 246 16 38 247 248 17 249: TypePointer UniformConstant 243 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 244 16 16 251(displacementMapTexture): 249(ptr) Variable UniformConstant 254: 11(int) Constant 8 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 253 244 27 246 16 38 253 251(displacementMapTexture) 254 257: TypeSampler 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 259 36 27 246 16 38 260 248 17 261: TypePointer UniformConstant 257 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 258 16 16 263(displacementMapSampler): 261(ptr) Variable UniformConstant 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 265 258 27 246 16 38 265 263(displacementMapSampler) 254 267: TypeSampledImage 243 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 269 36 27 246 16 38 270 248 17 276: TypeMatrix 47(fvec4) 4 278: TypeBool 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 279 14 21 16 281: 278(bool) ConstantTrue 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 48 18 281 282: TypeArray 47(fvec4) 15 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 48 15 284(UBO): TypeStruct 276 276 47(fvec4) 282 8(float) 8(float) 43(fvec2) 8(float) 287: 11(int) Constant 28 288: 11(int) Constant 21 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 286 277 27 287 288 16 16 17 291: 11(int) Constant 29 292: 11(int) Constant 20 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 290 277 27 291 292 16 16 17 295: 11(int) Constant 30 296: 11(int) Constant 17 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 294 48 27 295 296 16 16 17 299: 11(int) Constant 22 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 298 283 27 62 299 16 16 17 302: 11(int) Constant 26 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 301 10 27 14 302 16 16 17 305: 11(int) Constant 33 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 304 10 27 305 302 16 16 17 308: 11(int) Constant 34 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 307 44 27 308 292 16 16 17 311: 11(int) Constant 27 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 310 10 27 58 311 16 16 17 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 313 36 27 246 16 38 313 16 17 285 289 293 297 300 303 306 309 314(ubo): TypeStruct 284(UBO) 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 316 312 27 82 82 16 16 17 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 316 36 27 246 16 38 316 16 17 315 318: TypePointer Uniform 314(ubo) 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 317 21 16 320: 318(ptr) Variable Uniform 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 322 317 27 246 16 38 322 320 254 323: 134(int) Constant 4 324: TypePointer Uniform 8(float) 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 335: 11(int) Constant 86 336: TypePointer Uniform 276 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 277 21 16 347: 11(int) Constant 89 351: TypePointer Uniform 47(fvec4) 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 48 21 16 355: 11(int) Constant 90 363: 134(int) Constant 6 366: 11(int) Constant 91 369: 134(int) Constant 5 372: 11(int) Constant 92 380: 11(int) Constant 93 386: TypePointer Input 19 387(input.TessLevelOuter): 386(ptr) Variable Input 388: TypePointer Input 8(float) 401: TypePointer Input 22 402(input.TessLevelInner): 401(ptr) Variable Input 410: TypePointer Input 49(fvec3) 411(TessCoord): 410(ptr) Variable Input 416: TypePointer Function 65 418: TypeArray 47(fvec4) 18 419: TypePointer Input 418 420(patch.Pos): 419(ptr) Variable Input 421: TypePointer Input 47(fvec4) 425: TypeArray 49(fvec3) 18 426: TypePointer Input 425 427(patch.Normal): 426(ptr) Variable Input 431: TypeArray 43(fvec2) 18 432: TypePointer Input 431 433(patch.UV): 432(ptr) Variable Input 434: TypePointer Input 43(fvec2) 472: TypePointer Output 47(fvec4) 473(@entryPointOutput.Pos): 472(ptr) Variable Output 476: TypePointer Output 49(fvec3) 477(@entryPointOutput.Normal): 476(ptr) Variable Output 480: TypePointer Output 43(fvec2) 481(@entryPointOutput.UV): 480(ptr) Variable Output 484(@entryPointOutput.ViewVec): 476(ptr) Variable Output 487(@entryPointOutput.LightVec): 476(ptr) Variable Output 490(@entryPointOutput.EyePos): 476(ptr) Variable Output 493(@entryPointOutput.WorldPos): 476(ptr) Variable Output 6(main): 4 Function None 5 7: Label 385(input): 40(ptr) Variable Function 409(TessCoord): 45(ptr) Variable Function 417(patch): 416(ptr) Variable Function 465(flattenTemp): 114(ptr) Variable Function 467(param): 40(ptr) Variable Function 469(param): 45(ptr) Variable Function 389: 388(ptr) AccessChain 387(input.TessLevelOuter) 137 390: 8(float) Load 389 391: 142(ptr) AccessChain 385(input) 137 137 Store 391 390 392: 388(ptr) AccessChain 387(input.TessLevelOuter) 140 393: 8(float) Load 392 394: 142(ptr) AccessChain 385(input) 137 140 Store 394 393 395: 388(ptr) AccessChain 387(input.TessLevelOuter) 138 396: 8(float) Load 395 397: 142(ptr) AccessChain 385(input) 137 138 Store 397 396 398: 388(ptr) AccessChain 387(input.TessLevelOuter) 154 399: 8(float) Load 398 400: 142(ptr) AccessChain 385(input) 137 154 Store 400 399 403: 388(ptr) AccessChain 402(input.TessLevelInner) 137 404: 8(float) Load 403 405: 142(ptr) AccessChain 385(input) 140 137 Store 405 404 406: 388(ptr) AccessChain 402(input.TessLevelInner) 140 407: 8(float) Load 406 408: 142(ptr) AccessChain 385(input) 140 140 Store 408 407 412: 49(fvec3) Load 411(TessCoord) 413: 8(float) CompositeExtract 412 0 414: 8(float) CompositeExtract 412 1 415: 43(fvec2) CompositeConstruct 413 414 Store 409(TessCoord) 415 422: 421(ptr) AccessChain 420(patch.Pos) 137 423: 47(fvec4) Load 422 424: 205(ptr) AccessChain 417(patch) 137 137 Store 424 423 428: 410(ptr) AccessChain 427(patch.Normal) 137 429: 49(fvec3) Load 428 430: 170(ptr) AccessChain 417(patch) 137 140 Store 430 429 435: 434(ptr) AccessChain 433(patch.UV) 137 436: 43(fvec2) Load 435 437: 45(ptr) AccessChain 417(patch) 137 138 Store 437 436 438: 421(ptr) AccessChain 420(patch.Pos) 140 439: 47(fvec4) Load 438 440: 205(ptr) AccessChain 417(patch) 140 137 Store 440 439 441: 410(ptr) AccessChain 427(patch.Normal) 140 442: 49(fvec3) Load 441 443: 170(ptr) AccessChain 417(patch) 140 140 Store 443 442 444: 434(ptr) AccessChain 433(patch.UV) 140 445: 43(fvec2) Load 444 446: 45(ptr) AccessChain 417(patch) 140 138 Store 446 445 447: 421(ptr) AccessChain 420(patch.Pos) 138 448: 47(fvec4) Load 447 449: 205(ptr) AccessChain 417(patch) 138 137 Store 449 448 450: 410(ptr) AccessChain 427(patch.Normal) 138 451: 49(fvec3) Load 450 452: 170(ptr) AccessChain 417(patch) 138 140 Store 452 451 453: 434(ptr) AccessChain 433(patch.UV) 138 454: 43(fvec2) Load 453 455: 45(ptr) AccessChain 417(patch) 138 138 Store 455 454 456: 421(ptr) AccessChain 420(patch.Pos) 154 457: 47(fvec4) Load 456 458: 205(ptr) AccessChain 417(patch) 154 137 Store 458 457 459: 410(ptr) AccessChain 427(patch.Normal) 154 460: 49(fvec3) Load 459 461: 170(ptr) AccessChain 417(patch) 154 140 Store 461 460 462: 434(ptr) AccessChain 433(patch.UV) 154 463: 43(fvec2) Load 462 464: 45(ptr) AccessChain 417(patch) 154 138 Store 464 463 466: 65 Load 417(patch) 468:24(ConstantsHSOutput) Load 385(input) Store 467(param) 468 470: 43(fvec2) Load 409(TessCoord) Store 469(param) 470 471:67(DSOutput) FunctionCall 96(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 467(param) 469(param) 466 Store 465(flattenTemp) 471 474: 205(ptr) AccessChain 465(flattenTemp) 137 475: 47(fvec4) Load 474 Store 473(@entryPointOutput.Pos) 475 478: 170(ptr) AccessChain 465(flattenTemp) 140 479: 49(fvec3) Load 478 Store 477(@entryPointOutput.Normal) 479 482: 45(ptr) AccessChain 465(flattenTemp) 138 483: 43(fvec2) Load 482 Store 481(@entryPointOutput.UV) 483 485: 170(ptr) AccessChain 465(flattenTemp) 154 486: 49(fvec3) Load 485 Store 484(@entryPointOutput.ViewVec) 486 488: 170(ptr) AccessChain 465(flattenTemp) 323 489: 49(fvec3) Load 488 Store 487(@entryPointOutput.LightVec) 489 491: 170(ptr) AccessChain 465(flattenTemp) 369 492: 49(fvec3) Load 491 Store 490(@entryPointOutput.EyePos) 492 494: 170(ptr) AccessChain 465(flattenTemp) 363 495: 49(fvec3) Load 494 Store 493(@entryPointOutput.WorldPos) 495 Return FunctionEnd 96(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];):67(DSOutput) Function None 91 93(input): 40(ptr) FunctionParameter 94(TessCoord): 45(ptr) FunctionParameter 95(patch): 65 FunctionParameter 97: Label 116(output): 114(ptr) Variable Function 128(uv1): 45(ptr) Variable Function 148(uv2): 45(ptr) Variable Function 172(n1): 170(ptr) Variable Function 184(n2): 170(ptr) Variable Function 207(pos1): 205(ptr) Variable Function 219(pos2): 205(ptr) Variable Function 231(pos): 205(ptr) Variable Function 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 37 37 16 16 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 100 93(input) 103 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 106 94(TessCoord) 103 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 109 95(patch) 103 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 99 96(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 119 119 16 16 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 117 116(output) 103 Store 116(output) 127 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 131 131 16 16 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 129 128(uv1) 103 139: 43(fvec2) CompositeExtract 95(patch) 0 2 141: 43(fvec2) CompositeExtract 95(patch) 1 2 144: 142(ptr) AccessChain 94(TessCoord) 16 145: 8(float) Load 144 146: 43(fvec2) CompositeConstruct 145 145 147: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 139 141 146 Store 128(uv1) 147 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 151 151 16 16 152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 149 148(uv2) 103 155: 43(fvec2) CompositeExtract 95(patch) 3 2 156: 43(fvec2) CompositeExtract 95(patch) 2 2 157: 142(ptr) AccessChain 94(TessCoord) 16 158: 8(float) Load 157 159: 43(fvec2) CompositeConstruct 158 158 160: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 155 156 159 Store 148(uv2) 160 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 163 163 16 16 161: 43(fvec2) Load 128(uv1) 164: 43(fvec2) Load 148(uv2) 165: 142(ptr) AccessChain 94(TessCoord) 36 166: 8(float) Load 165 167: 43(fvec2) CompositeConstruct 166 166 168: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 161 164 167 169: 45(ptr) AccessChain 116(output) 138 Store 169 168 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 175 175 16 16 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 173 172(n1) 103 178: 49(fvec3) CompositeExtract 95(patch) 0 1 179: 49(fvec3) CompositeExtract 95(patch) 1 1 180: 142(ptr) AccessChain 94(TessCoord) 16 181: 8(float) Load 180 182: 49(fvec3) CompositeConstruct 181 181 181 183: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 178 179 182 Store 172(n1) 183 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 187 187 16 16 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 185 184(n2) 103 190: 49(fvec3) CompositeExtract 95(patch) 3 1 191: 49(fvec3) CompositeExtract 95(patch) 2 1 192: 142(ptr) AccessChain 94(TessCoord) 16 193: 8(float) Load 192 194: 49(fvec3) CompositeConstruct 193 193 193 195: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 190 191 194 Store 184(n2) 195 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 198 198 16 16 196: 49(fvec3) Load 172(n1) 199: 49(fvec3) Load 184(n2) 200: 142(ptr) AccessChain 94(TessCoord) 36 201: 8(float) Load 200 202: 49(fvec3) CompositeConstruct 201 201 201 203: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 196 199 202 204: 170(ptr) AccessChain 116(output) 140 Store 204 203 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 210 210 16 16 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 208 207(pos1) 103 213: 47(fvec4) CompositeExtract 95(patch) 0 0 214: 47(fvec4) CompositeExtract 95(patch) 1 0 215: 142(ptr) AccessChain 94(TessCoord) 16 216: 8(float) Load 215 217: 47(fvec4) CompositeConstruct 216 216 216 216 218: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 213 214 217 Store 207(pos1) 218 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 222 222 16 16 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 220 219(pos2) 103 225: 47(fvec4) CompositeExtract 95(patch) 3 0 226: 47(fvec4) CompositeExtract 95(patch) 2 0 227: 142(ptr) AccessChain 94(TessCoord) 16 228: 8(float) Load 227 229: 47(fvec4) CompositeConstruct 228 228 228 228 230: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 225 226 229 Store 219(pos2) 230 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 234 234 16 16 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 232 231(pos) 103 237: 47(fvec4) Load 207(pos1) 238: 47(fvec4) Load 219(pos2) 239: 142(ptr) AccessChain 94(TessCoord) 36 240: 8(float) Load 239 241: 47(fvec4) CompositeConstruct 240 240 240 240 242: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 237 238 241 Store 231(pos) 242 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 246 246 16 16 255: 243 Load 251(displacementMapTexture) 266: 257 Load 263(displacementMapSampler) 271: 267 SampledImage 255 266 272: 45(ptr) AccessChain 116(output) 138 273: 43(fvec2) Load 272 274: 47(fvec4) ImageSampleExplicitLod 271 273 Lod 123 275: 8(float) CompositeExtract 274 0 326: 324(ptr) AccessChain 320 137 323 327: 8(float) Load 326 328: 8(float) FMul 275 327 329: 142(ptr) AccessChain 231(pos) 36 330: 8(float) Load 329 331: 8(float) FSub 330 328 332: 142(ptr) AccessChain 231(pos) 36 Store 332 331 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 335 335 16 16 333: 47(fvec4) Load 231(pos) 338: 336(ptr) AccessChain 320 137 140 339: 276 Load 338 340: 47(fvec4) VectorTimesMatrix 333 339 341: 336(ptr) AccessChain 320 137 137 342: 276 Load 341 343: 47(fvec4) VectorTimesMatrix 340 342 344: 205(ptr) AccessChain 116(output) 137 Store 344 343 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 347 347 16 16 345: 47(fvec4) Load 231(pos) 348: 49(fvec3) VectorShuffle 345 345 0 1 2 349: 49(fvec3) FNegate 348 350: 170(ptr) AccessChain 116(output) 154 Store 350 349 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 355 355 16 16 353: 351(ptr) AccessChain 320 137 138 356: 47(fvec4) Load 353 357: 49(fvec3) VectorShuffle 356 356 0 1 2 358: 170(ptr) AccessChain 116(output) 154 359: 49(fvec3) Load 358 360: 49(fvec3) FAdd 357 359 361: 49(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 360 362: 170(ptr) AccessChain 116(output) 323 Store 362 361 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 366 366 16 16 364: 47(fvec4) Load 231(pos) 367: 49(fvec3) VectorShuffle 364 364 0 1 2 368: 170(ptr) AccessChain 116(output) 363 Store 368 367 371: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 372 372 16 16 370: 47(fvec4) Load 231(pos) 373: 336(ptr) AccessChain 320 137 140 374: 276 Load 373 375: 47(fvec4) VectorTimesMatrix 370 374 376: 49(fvec3) VectorShuffle 375 375 0 1 2 377: 170(ptr) AccessChain 116(output) 369 Store 377 376 379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 380 380 16 16 378:67(DSOutput) Load 116(output) ReturnValue 378 FunctionEnd