hlsl.aliasOpaque.frag
WARNING: AST will form illegal SPIR-V; need to transform to legalize
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:12  Function Definition: osCall(struct-OS-p1-f1-t211; ( temp 4-component vector of float)
0:12    Function Parameters: 
0:12      's' ( in structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:?     Sequence
0:13      Branch: Return with expression
0:13        vector-scale ( temp 4-component vector of float)
0:13          a: direct index for structure ( temp float)
0:13            's' ( in structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:13            Constant:
0:13              1 (const int)
0:13          texture ( temp 4-component vector of float)
0:13            Construct combined texture-sampler ( temp sampler2D)
0:13              tex: direct index for structure ( temp texture2D)
0:13                's' ( in structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:13                Constant:
0:13                  2 (const int)
0:13              ss: direct index for structure ( temp sampler)
0:13                's' ( in structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:13                Constant:
0:13                  0 (const int)
0:13            Constant:
0:13              0.200000
0:13              0.300000
0:17  Function Definition: @main( ( temp 4-component vector of float)
0:17    Function Parameters: 
0:?     Sequence
0:19      move second child to first child ( temp sampler)
0:19        ss: direct index for structure ( temp sampler)
0:19          'os' ( temp structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:19          Constant:
0:19            0 (const int)
0:19        'gss2' ( uniform sampler)
0:20      move second child to first child ( temp sampler)
0:20        ss: direct index for structure ( temp sampler)
0:20          'os' ( temp structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:20          Constant:
0:20            0 (const int)
0:20        'gss' ( uniform sampler)
0:21      move second child to first child ( temp texture2D)
0:21        tex: direct index for structure ( temp texture2D)
0:21          'os' ( temp structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:21          Constant:
0:21            2 (const int)
0:21        'gtex' ( uniform texture2D)
0:22      move second child to first child ( temp float)
0:22        a: direct index for structure ( temp float)
0:22          'os' ( temp structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:22          Constant:
0:22            1 (const int)
0:22        Constant:
0:22          3.000000
0:28      Branch: Return with expression
0:28        Function Call: osCall(struct-OS-p1-f1-t211; ( temp 4-component vector of float)
0:28          'os' ( temp structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:17  Function Definition: main( ( temp void)
0:17    Function Parameters: 
0:?     Sequence
0:17      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:17        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'gss' ( uniform sampler)
0:?     'gss2' ( uniform sampler)
0:?     'gtex' ( uniform texture2D)
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:12  Function Definition: osCall(struct-OS-p1-f1-t211; ( temp 4-component vector of float)
0:12    Function Parameters: 
0:12      's' ( in structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:?     Sequence
0:13      Branch: Return with expression
0:13        vector-scale ( temp 4-component vector of float)
0:13          a: direct index for structure ( temp float)
0:13            's' ( in structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:13            Constant:
0:13              1 (const int)
0:13          texture ( temp 4-component vector of float)
0:13            Construct combined texture-sampler ( temp sampler2D)
0:13              tex: direct index for structure ( temp texture2D)
0:13                's' ( in structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:13                Constant:
0:13                  2 (const int)
0:13              ss: direct index for structure ( temp sampler)
0:13                's' ( in structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:13                Constant:
0:13                  0 (const int)
0:13            Constant:
0:13              0.200000
0:13              0.300000
0:17  Function Definition: @main( ( temp 4-component vector of float)
0:17    Function Parameters: 
0:?     Sequence
0:19      move second child to first child ( temp sampler)
0:19        ss: direct index for structure ( temp sampler)
0:19          'os' ( temp structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:19          Constant:
0:19            0 (const int)
0:19        'gss2' ( uniform sampler)
0:20      move second child to first child ( temp sampler)
0:20        ss: direct index for structure ( temp sampler)
0:20          'os' ( temp structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:20          Constant:
0:20            0 (const int)
0:20        'gss' ( uniform sampler)
0:21      move second child to first child ( temp texture2D)
0:21        tex: direct index for structure ( temp texture2D)
0:21          'os' ( temp structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:21          Constant:
0:21            2 (const int)
0:21        'gtex' ( uniform texture2D)
0:22      move second child to first child ( temp float)
0:22        a: direct index for structure ( temp float)
0:22          'os' ( temp structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:22          Constant:
0:22            1 (const int)
0:22        Constant:
0:22          3.000000
0:28      Branch: Return with expression
0:28        Function Call: osCall(struct-OS-p1-f1-t211; ( temp 4-component vector of float)
0:28          'os' ( temp structure{ temp sampler ss,  temp float a,  temp texture2D tex})
0:17  Function Definition: main( ( temp void)
0:17    Function Parameters: 
0:?     Sequence
0:17      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:17        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'gss' ( uniform sampler)
0:?     'gss2' ( uniform sampler)
0:?     'gtex' ( uniform texture2D)
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 64

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 62
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 9  "OS"
                              MemberName 9(OS) 0  "ss"
                              MemberName 9(OS) 1  "a"
                              MemberName 9(OS) 2  "tex"
                              Name 14  "osCall(struct-OS-p1-f1-t211;"
                              Name 13  "s"
                              Name 17  "@main("
                              Name 42  "os"
                              Name 44  "gss2"
                              Name 47  "gss"
                              Name 51  "gtex"
                              Name 56  "param"
                              Name 62  "@entryPointOutput"
                              Decorate 44(gss2) DescriptorSet 0
                              Decorate 44(gss2) Binding 1
                              Decorate 47(gss) DescriptorSet 0
                              Decorate 47(gss) Binding 0
                              Decorate 51(gtex) DescriptorSet 0
                              Decorate 51(gtex) Binding 2
                              Decorate 62(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeSampler
               7:             TypeFloat 32
               8:             TypeImage 7(float) 2D sampled format:Unknown
           9(OS):             TypeStruct 6 7(float) 8
              10:             TypePointer Function 9(OS)
              11:             TypeVector 7(float) 4
              12:             TypeFunction 11(fvec4) 10(ptr)
              16:             TypeFunction 11(fvec4)
              19:             TypeInt 32 1
              20:     19(int) Constant 1
              21:             TypePointer Function 7(float)
              24:     19(int) Constant 2
              25:             TypePointer Function 8
              28:     19(int) Constant 0
              29:             TypePointer Function 6
              32:             TypeSampledImage 8
              34:             TypeVector 7(float) 2
              35:    7(float) Constant 1045220557
              36:    7(float) Constant 1050253722
              37:   34(fvec2) ConstantComposite 35 36
              43:             TypePointer UniformConstant 6
        44(gss2):     43(ptr) Variable UniformConstant
         47(gss):     43(ptr) Variable UniformConstant
              50:             TypePointer UniformConstant 8
        51(gtex):     50(ptr) Variable UniformConstant
              54:    7(float) Constant 1077936128
              61:             TypePointer Output 11(fvec4)
62(@entryPointOutput):     61(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              63:   11(fvec4) FunctionCall 17(@main()
                              Store 62(@entryPointOutput) 63
                              Return
                              FunctionEnd
14(osCall(struct-OS-p1-f1-t211;):   11(fvec4) Function None 12
           13(s):     10(ptr) FunctionParameter
              15:             Label
              22:     21(ptr) AccessChain 13(s) 20
              23:    7(float) Load 22
              26:     25(ptr) AccessChain 13(s) 24
              27:           8 Load 26
              30:     29(ptr) AccessChain 13(s) 28
              31:           6 Load 30
              33:          32 SampledImage 27 31
              38:   11(fvec4) ImageSampleImplicitLod 33 37
              39:   11(fvec4) VectorTimesScalar 38 23
                              ReturnValue 39
                              FunctionEnd
      17(@main():   11(fvec4) Function None 16
              18:             Label
          42(os):     10(ptr) Variable Function
       56(param):     10(ptr) Variable Function
              45:           6 Load 44(gss2)
              46:     29(ptr) AccessChain 42(os) 28
                              Store 46 45
              48:           6 Load 47(gss)
              49:     29(ptr) AccessChain 42(os) 28
                              Store 49 48
              52:           8 Load 51(gtex)
              53:     25(ptr) AccessChain 42(os) 24
                              Store 53 52
              55:     21(ptr) AccessChain 42(os) 20
                              Store 55 54
              57:       9(OS) Load 42(os)
                              Store 56(param) 57
              58:   11(fvec4) FunctionCall 14(osCall(struct-OS-p1-f1-t211;) 56(param)
                              ReturnValue 58
                              FunctionEnd
