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