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 float to bool ( temp bool)
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 float to bool ( temp bool)
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:?           '@entryPointOutput.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:?     '@entryPointOutput.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 float to bool ( temp bool)
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 float to bool ( temp bool)
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:?           '@entryPointOutput.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:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 53
                              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 44  "psout"
                              Name 53  "@entryPointOutput.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 16 Binding 0
                              Decorate 53(@entryPointOutput.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)
              29:    6(float) Constant 0
              43:             TypePointer Function 8(PS_OUTPUT)
              45:    6(float) Constant 1065353216
              46:    7(fvec4) ConstantComposite 45 45 45 45
              47:             TypePointer Function 7(fvec4)
              52:             TypePointer Output 7(fvec4)
53(@entryPointOutput.Color):     52(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              54:8(PS_OUTPUT) FunctionCall 10(@main()
              55:    7(fvec4) CompositeExtract 54 0
                              Store 53(@entryPointOutput.Color) 55
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
       44(psout):     43(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
              30:    21(bool) FUnordNotEqual 28 29
              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:    21(bool) FUnordNotEqual 38 29
              40:    21(bool) LogicalOr 36 39
                              SelectionMerge 42 None
                              BranchConditional 40 41 42
              41:               Label
                                Branch 42
              42:             Label
              48:     47(ptr) AccessChain 44(psout) 17
                              Store 48 46
              49:8(PS_OUTPUT) Load 44(psout)
                              ReturnValue 49
                              FunctionEnd
