hlsl.logical.binary.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:12  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:12    Function Parameters: 
0:?     Sequence
0:13      Test condition and select ( temp void)
0:13        Condition
0:13        logical-and ( temp bool)
0:13          Convert int to bool ( temp bool)
0:13            ival: direct index for structure ( uniform int)
0:13              'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:13              Constant:
0:13                0 (const uint)
0:13          Convert int to bool ( temp bool)
0:13            Convert float to int ( temp int)
0:13              fval: direct index for structure ( uniform float)
0:13                'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:13                Constant:
0:13                  2 (const uint)
0:13        true case is null
0:14      Test condition and select ( temp void)
0:14        Condition
0:14        logical-or ( temp bool)
0:14          Convert int to bool ( temp bool)
0:14            ival: direct index for structure ( uniform int)
0:14              'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:14              Constant:
0:14                0 (const uint)
0:14          Convert int to bool ( temp bool)
0:14            Convert float to int ( temp int)
0:14              fval: direct index for structure ( uniform float)
0:14                'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:14                Constant:
0:14                  2 (const uint)
0:14        true case is null
0:17      move second child to first child ( temp 4-component vector of float)
0:17        Color: direct index for structure ( temp 4-component vector of float)
0:17          'psout' ( temp structure{ temp 4-component vector of float Color})
0:17          Constant:
0:17            0 (const int)
0:17        Constant:
0:17          1.000000
0:17          1.000000
0:17          1.000000
0:17          1.000000
0:18      Branch: Return with expression
0:18        'psout' ( temp structure{ temp 4-component vector of float Color})
0:12  Function Definition: main( ( temp void)
0:12    Function Parameters: 
0:?     Sequence
0:12      Sequence
0:12        move second child to first child ( temp 4-component vector of float)
0:?           'Color' (layout( location=0) out 4-component vector of float)
0:12          Color: direct index for structure ( temp 4-component vector of float)
0:12            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:12            Constant:
0:12              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:?     'Color' (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: @main( ( temp structure{ temp 4-component vector of float Color})
0:12    Function Parameters: 
0:?     Sequence
0:13      Test condition and select ( temp void)
0:13        Condition
0:13        logical-and ( temp bool)
0:13          Convert int to bool ( temp bool)
0:13            ival: direct index for structure ( uniform int)
0:13              'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:13              Constant:
0:13                0 (const uint)
0:13          Convert int to bool ( temp bool)
0:13            Convert float to int ( temp int)
0:13              fval: direct index for structure ( uniform float)
0:13                'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:13                Constant:
0:13                  2 (const uint)
0:13        true case is null
0:14      Test condition and select ( temp void)
0:14        Condition
0:14        logical-or ( temp bool)
0:14          Convert int to bool ( temp bool)
0:14            ival: direct index for structure ( uniform int)
0:14              'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:14              Constant:
0:14                0 (const uint)
0:14          Convert int to bool ( temp bool)
0:14            Convert float to int ( temp int)
0:14              fval: direct index for structure ( uniform float)
0:14                'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:14                Constant:
0:14                  2 (const uint)
0:14        true case is null
0:17      move second child to first child ( temp 4-component vector of float)
0:17        Color: direct index for structure ( temp 4-component vector of float)
0:17          'psout' ( temp structure{ temp 4-component vector of float Color})
0:17          Constant:
0:17            0 (const int)
0:17        Constant:
0:17          1.000000
0:17          1.000000
0:17          1.000000
0:17          1.000000
0:18      Branch: Return with expression
0:18        'psout' ( temp structure{ temp 4-component vector of float Color})
0:12  Function Definition: main( ( temp void)
0:12    Function Parameters: 
0:?     Sequence
0:12      Sequence
0:12        move second child to first child ( temp 4-component vector of float)
0:?           'Color' (layout( location=0) out 4-component vector of float)
0:12          Color: direct index for structure ( temp 4-component vector of float)
0:12            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:12            Constant:
0:12              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:?     'Color' (layout( location=0) out 4-component vector of float)

// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 62

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 59
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "PS_OUTPUT"
                              MemberName 8(PS_OUTPUT) 0  "Color"
                              Name 10  "@main("
                              Name 15  "$Global"
                              MemberName 15($Global) 0  "ival"
                              MemberName 15($Global) 1  "ival4"
                              MemberName 15($Global) 2  "fval"
                              MemberName 15($Global) 3  "fval4"
                              Name 17  ""
                              Name 50  "psout"
                              Name 59  "Color"
                              MemberDecorate 15($Global) 0 Offset 0
                              MemberDecorate 15($Global) 1 Offset 16
                              MemberDecorate 15($Global) 2 Offset 32
                              MemberDecorate 15($Global) 3 Offset 48
                              Decorate 15($Global) Block
                              Decorate 17 DescriptorSet 0
                              Decorate 59(Color) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
    8(PS_OUTPUT):             TypeStruct 7(fvec4)
               9:             TypeFunction 8(PS_OUTPUT)
              12:             TypeBool
              13:             TypeInt 32 1
              14:             TypeVector 13(int) 4
     15($Global):             TypeStruct 13(int) 14(ivec4) 6(float) 7(fvec4)
              16:             TypePointer Uniform 15($Global)
              17:     16(ptr) Variable Uniform
              18:     13(int) Constant 0
              19:             TypePointer Uniform 13(int)
              22:             TypeInt 32 0
              23:     22(int) Constant 0
              27:     13(int) Constant 2
              28:             TypePointer Uniform 6(float)
              49:             TypePointer Function 8(PS_OUTPUT)
              51:    6(float) Constant 1065353216
              52:    7(fvec4) ConstantComposite 51 51 51 51
              53:             TypePointer Function 7(fvec4)
              58:             TypePointer Output 7(fvec4)
       59(Color):     58(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              60:8(PS_OUTPUT) FunctionCall 10(@main()
              61:    7(fvec4) CompositeExtract 60 0
                              Store 59(Color) 61
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
       50(psout):     49(ptr) Variable Function
              20:     19(ptr) AccessChain 17 18
              21:     13(int) Load 20
              24:    12(bool) INotEqual 21 23
                              SelectionMerge 26 None
                              BranchConditional 24 25 26
              25:               Label
              29:     28(ptr)   AccessChain 17 27
              30:    6(float)   Load 29
              31:     13(int)   ConvertFToS 30
              32:    12(bool)   INotEqual 31 23
                                Branch 26
              26:             Label
              33:    12(bool) Phi 24 11 32 25
                              SelectionMerge 35 None
                              BranchConditional 33 34 35
              34:               Label
                                Branch 35
              35:             Label
              36:     19(ptr) AccessChain 17 18
              37:     13(int) Load 36
              38:    12(bool) INotEqual 37 23
              39:    12(bool) LogicalNot 38
                              SelectionMerge 41 None
                              BranchConditional 39 40 41
              40:               Label
              42:     28(ptr)   AccessChain 17 27
              43:    6(float)   Load 42
              44:     13(int)   ConvertFToS 43
              45:    12(bool)   INotEqual 44 23
                                Branch 41
              41:             Label
              46:    12(bool) Phi 38 35 45 40
                              SelectionMerge 48 None
                              BranchConditional 46 47 48
              47:               Label
                                Branch 48
              48:             Label
              54:     53(ptr) AccessChain 50(psout) 18
                              Store 54 52
              55:8(PS_OUTPUT) Load 50(psout)
                              ReturnValue 55
                              FunctionEnd
