hlsl.pp.line2.frag
// Module Version 10000
// Generated by (magic number): 8000a
// 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
       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
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
