hlsl.pp.line2.frag // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 80 Capability Shader 2: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 5 "MainPs" 71 75 ExecutionMode 5 OriginUpperLeft 1: String "hlsl.pp.line2.frag" 17: String "foo.frag" 32: String "foo.h" 42: String "foo2.h" Source HLSL 500 1 "// OpModuleProcessed auto-map-locations // OpModuleProcessed auto-map-bindings // OpModuleProcessed entry-point MainPs // OpModuleProcessed client vulkan100 // OpModuleProcessed target-env vulkan1.0 // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 #line 1 "foo.frag" Texture2D g_tColor[ 128 ] ; layout (push_constant) cbuffer PerViewConstantBuffer_t { uint g_nDataIdx; uint g_nDataIdx2; bool g_B; } ; SamplerState g_sAniso; struct PS_INPUT { float2 vTextureCoords : TEXCOORD2 ; } ; struct PS_OUTPUT { float4 vColor : SV_Target0 ; } ; PS_OUTPUT MainPs ( PS_INPUT i ) { PS_OUTPUT ps_output ; uint u; #line 47 if (g_B) #line 3 "foo.h" u = g_nDataIdx; else #line 67 u = g_nDataIdx2; #line 7 "foo2.h" ps_output . vColor = g_tColor [ u ] . Sample ( g_sAniso , i . vTextureCoords . xy ); #line 105 return ps_output ; } " Name 5 "MainPs" Name 9 "PS_INPUT" MemberName 9(PS_INPUT) 0 "vTextureCoords" Name 12 "PS_OUTPUT" MemberName 12(PS_OUTPUT) 0 "vColor" Name 15 "@MainPs(struct-PS_INPUT-vf21;" Name 14 "i" Name 19 "PerViewConstantBuffer_t" MemberName 19(PerViewConstantBuffer_t) 0 "g_nDataIdx" MemberName 19(PerViewConstantBuffer_t) 1 "g_nDataIdx2" MemberName 19(PerViewConstantBuffer_t) 2 "g_B" Name 21 "" Name 34 "u" Name 44 "ps_output" Name 49 "g_tColor" Name 56 "g_sAniso" Name 69 "i" Name 71 "i.vTextureCoords" Name 75 "@entryPointOutput.vColor" Name 76 "param" MemberDecorate 19(PerViewConstantBuffer_t) 0 Offset 0 MemberDecorate 19(PerViewConstantBuffer_t) 1 Offset 4 MemberDecorate 19(PerViewConstantBuffer_t) 2 Offset 8 Decorate 19(PerViewConstantBuffer_t) Block Decorate 49(g_tColor) DescriptorSet 0 Decorate 49(g_tColor) Binding 0 Decorate 56(g_sAniso) DescriptorSet 0 Decorate 56(g_sAniso) Binding 1 Decorate 71(i.vTextureCoords) Location 0 Decorate 75(@entryPointOutput.vColor) Location 0 3: TypeVoid 4: TypeFunction 3 7: TypeFloat 32 8: TypeVector 7(float) 2 9(PS_INPUT): TypeStruct 8(fvec2) 10: TypePointer Function 9(PS_INPUT) 11: TypeVector 7(float) 4 12(PS_OUTPUT): TypeStruct 11(fvec4) 13: TypeFunction 12(PS_OUTPUT) 10(ptr) 18: TypeInt 32 0 19(PerViewConstantBuffer_t): TypeStruct 18(int) 18(int) 18(int) 20: TypePointer PushConstant 19(PerViewConstantBuffer_t) 21: 20(ptr) Variable PushConstant 22: TypeInt 32 1 23: 22(int) Constant 2 24: TypePointer PushConstant 18(int) 27: TypeBool 28: 18(int) Constant 0 33: TypePointer Function 18(int) 35: 22(int) Constant 0 39: 22(int) Constant 1 43: TypePointer Function 12(PS_OUTPUT) 45: TypeImage 7(float) 2D sampled format:Unknown 46: 18(int) Constant 128 47: TypeArray 45 46 48: TypePointer UniformConstant 47 49(g_tColor): 48(ptr) Variable UniformConstant 51: TypePointer UniformConstant 45 54: TypeSampler 55: TypePointer UniformConstant 54 56(g_sAniso): 55(ptr) Variable UniformConstant 58: TypeSampledImage 45 60: TypePointer Function 8(fvec2) 64: TypePointer Function 11(fvec4) 70: TypePointer Input 8(fvec2) 71(i.vTextureCoords): 70(ptr) Variable Input 74: TypePointer Output 11(fvec4) 75(@entryPointOutput.vColor): 74(ptr) Variable Output Line 17 23 1 5(MainPs): 3 Function None 4 6: Label 69(i): 10(ptr) Variable Function 76(param): 10(ptr) Variable Function Line 17 23 0 72: 8(fvec2) Load 71(i.vTextureCoords) 73: 60(ptr) AccessChain 69(i) 35 Store 73 72 77: 9(PS_INPUT) Load 69(i) Store 76(param) 77 78:12(PS_OUTPUT) FunctionCall 15(@MainPs(struct-PS_INPUT-vf21;) 76(param) 79: 11(fvec4) CompositeExtract 78 0 Store 75(@entryPointOutput.vColor) 79 Return FunctionEnd Line 17 23 1 15(@MainPs(struct-PS_INPUT-vf21;):12(PS_OUTPUT) Function None 13 14(i): 10(ptr) FunctionParameter 16: Label 34(u): 33(ptr) Variable Function 44(ps_output): 43(ptr) Variable Function Line 17 47 0 25: 24(ptr) AccessChain 21 23 26: 18(int) Load 25 29: 27(bool) INotEqual 26 28 SelectionMerge 31 None BranchConditional 29 30 38 30: Label Line 32 3 0 36: 24(ptr) AccessChain 21 35 37: 18(int) Load 36 Store 34(u) 37 Branch 31 38: Label Line 32 67 0 40: 24(ptr) AccessChain 21 39 41: 18(int) Load 40 Store 34(u) 41 Branch 31 31: Label Line 42 7 0 50: 18(int) Load 34(u) 52: 51(ptr) AccessChain 49(g_tColor) 50 53: 45 Load 52 57: 54 Load 56(g_sAniso) 59: 58 SampledImage 53 57 61: 60(ptr) AccessChain 14(i) 35 62: 8(fvec2) Load 61 63: 11(fvec4) ImageSampleImplicitLod 59 62 65: 64(ptr) AccessChain 44(ps_output) 35 Store 65 63 Line 42 105 0 66:12(PS_OUTPUT) Load 44(ps_output) ReturnValue 66 FunctionEnd