hlsl.logical.unary.frag
Shader version: 450
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      Negate conditional (temp bool)
0:13        Convert int to bool (temp bool)
0:13          ival: direct index for structure (layout(offset=0 ) uniform int)
0:13            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:13            Constant:
0:13              0 (const uint)
0:14      Negate conditional (temp 4-component vector of bool)
0:14        Convert int to bool (temp 4-component vector of bool)
0:14          ival4: direct index for structure (layout(offset=16 ) uniform 4-component vector of int)
0:14            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:14            Constant:
0:14              1 (const uint)
0:16      Negate conditional (temp bool)
0:16        Convert float to bool (temp bool)
0:16          fval: direct index for structure (layout(offset=32 ) uniform float)
0:16            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:16            Constant:
0:16              2 (const uint)
0:17      Negate conditional (temp 4-component vector of bool)
0:17        Convert float to bool (temp 4-component vector of bool)
0:17          fval4: direct index for structure (layout(offset=48 ) uniform 4-component vector of float)
0:17            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:17            Constant:
0:17              3 (const uint)
0:19      Test condition and select (temp void)
0:19        Condition
0:19        ival: direct index for structure (layout(offset=0 ) uniform int)
0:19          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:19          Constant:
0:19            0 (const uint)
0:19        true case is null
0:20      Test condition and select (temp void)
0:20        Condition
0:20        fval: direct index for structure (layout(offset=32 ) uniform float)
0:20          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:20          Constant:
0:20            2 (const uint)
0:20        true case is null
0:21      Test condition and select (temp void)
0:21        Condition
0:21        Negate conditional (temp bool)
0:21          Convert int to bool (temp bool)
0:21            ival: direct index for structure (layout(offset=0 ) uniform int)
0:21              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:21              Constant:
0:21                0 (const uint)
0:21        true case is null
0:22      Test condition and select (temp void)
0:22        Condition
0:22        Negate conditional (temp bool)
0:22          Convert float to bool (temp bool)
0:22            fval: direct index for structure (layout(offset=32 ) uniform float)
0:22              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:22              Constant:
0:22                2 (const uint)
0:22        true case is null
0:25      move second child to first child (temp 4-component vector of float)
0:25        Color: direct index for structure (temp 4-component vector of float)
0:25          'psout' (temp structure{temp 4-component vector of float Color})
0:25          Constant:
0:25            0 (const int)
0:25        Constant:
0:25          1.000000
0:25          1.000000
0:25          1.000000
0:25          1.000000
0:26      Sequence
0:26        Sequence
0:26          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:26            Color: direct index for structure (temp 4-component vector of float)
0:26              'psout' (temp structure{temp 4-component vector of float Color})
0:26              Constant:
0:26                0 (const int)
0:26        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})


Linked fragment stage:


Shader version: 450
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      Negate conditional (temp bool)
0:13        Convert int to bool (temp bool)
0:13          ival: direct index for structure (layout(offset=0 ) uniform int)
0:13            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:13            Constant:
0:13              0 (const uint)
0:14      Negate conditional (temp 4-component vector of bool)
0:14        Convert int to bool (temp 4-component vector of bool)
0:14          ival4: direct index for structure (layout(offset=16 ) uniform 4-component vector of int)
0:14            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:14            Constant:
0:14              1 (const uint)
0:16      Negate conditional (temp bool)
0:16        Convert float to bool (temp bool)
0:16          fval: direct index for structure (layout(offset=32 ) uniform float)
0:16            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:16            Constant:
0:16              2 (const uint)
0:17      Negate conditional (temp 4-component vector of bool)
0:17        Convert float to bool (temp 4-component vector of bool)
0:17          fval4: direct index for structure (layout(offset=48 ) uniform 4-component vector of float)
0:17            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:17            Constant:
0:17              3 (const uint)
0:19      Test condition and select (temp void)
0:19        Condition
0:19        ival: direct index for structure (layout(offset=0 ) uniform int)
0:19          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:19          Constant:
0:19            0 (const uint)
0:19        true case is null
0:20      Test condition and select (temp void)
0:20        Condition
0:20        fval: direct index for structure (layout(offset=32 ) uniform float)
0:20          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:20          Constant:
0:20            2 (const uint)
0:20        true case is null
0:21      Test condition and select (temp void)
0:21        Condition
0:21        Negate conditional (temp bool)
0:21          Convert int to bool (temp bool)
0:21            ival: direct index for structure (layout(offset=0 ) uniform int)
0:21              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:21              Constant:
0:21                0 (const uint)
0:21        true case is null
0:22      Test condition and select (temp void)
0:22        Condition
0:22        Negate conditional (temp bool)
0:22          Convert float to bool (temp bool)
0:22            fval: direct index for structure (layout(offset=32 ) uniform float)
0:22              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:22              Constant:
0:22                2 (const uint)
0:22        true case is null
0:25      move second child to first child (temp 4-component vector of float)
0:25        Color: direct index for structure (temp 4-component vector of float)
0:25          'psout' (temp structure{temp 4-component vector of float Color})
0:25          Constant:
0:25            0 (const int)
0:25        Constant:
0:25          1.000000
0:25          1.000000
0:25          1.000000
0:25          1.000000
0:26      Sequence
0:26        Sequence
0:26          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:26            Color: direct index for structure (temp 4-component vector of float)
0:26              'psout' (temp structure{temp 4-component vector of float Color})
0:26              Constant:
0:26                0 (const int)
0:26        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})

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

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