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 57

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