hlsl.comparison.vec.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:4  Function Definition: Bug1(vf4; ( temp void)
0:4    Function Parameters: 
0:4      'a' ( in 4-component vector of float)
0:?     Sequence
0:5      Sequence
0:5        move second child to first child ( temp 4-component vector of float)
0:5          'v04' ( temp 4-component vector of float)
0:?           Constant:
0:?             0.000000
0:?             0.000000
0:?             0.000000
0:?             0.000000
0:6      Sequence
0:6        move second child to first child ( temp float)
0:6          'v01' ( temp float)
0:6          Constant:
0:6            0.000000
0:8      Sequence
0:8        move second child to first child ( temp 4-component vector of bool)
0:8          'r00' ( temp 4-component vector of bool)
0:8          Equal ( temp 4-component vector of bool)
0:8            'a' ( in 4-component vector of float)
0:8            'v04' ( temp 4-component vector of float)
0:9      Sequence
0:9        move second child to first child ( temp 4-component vector of bool)
0:9          'r01' ( temp 4-component vector of bool)
0:9          NotEqual ( temp 4-component vector of bool)
0:9            'a' ( in 4-component vector of float)
0:9            'v04' ( temp 4-component vector of float)
0:10      Sequence
0:10        move second child to first child ( temp 4-component vector of bool)
0:10          'r02' ( temp 4-component vector of bool)
0:10          Compare Less Than ( temp 4-component vector of bool)
0:10            'a' ( in 4-component vector of float)
0:10            'v04' ( temp 4-component vector of float)
0:11      Sequence
0:11        move second child to first child ( temp 4-component vector of bool)
0:11          'r03' ( temp 4-component vector of bool)
0:11          Compare Greater Than ( temp 4-component vector of bool)
0:11            'a' ( in 4-component vector of float)
0:11            'v04' ( temp 4-component vector of float)
0:13      Sequence
0:13        move second child to first child ( temp 4-component vector of bool)
0:13          'r10' ( temp 4-component vector of bool)
0:13          Equal ( temp 4-component vector of bool)
0:13            'a' ( in 4-component vector of float)
0:13            Construct vec4 ( in 4-component vector of float)
0:13              'v01' ( temp float)
0:14      Sequence
0:14        move second child to first child ( temp 4-component vector of bool)
0:14          'r11' ( temp 4-component vector of bool)
0:14          NotEqual ( temp 4-component vector of bool)
0:14            'a' ( in 4-component vector of float)
0:14            Construct vec4 ( in 4-component vector of float)
0:14              'v01' ( temp float)
0:15      Sequence
0:15        move second child to first child ( temp 4-component vector of bool)
0:15          'r12' ( temp 4-component vector of bool)
0:15          Compare Less Than ( temp 4-component vector of bool)
0:15            'a' ( in 4-component vector of float)
0:15            Construct vec4 ( in 4-component vector of float)
0:15              'v01' ( temp float)
0:16      Sequence
0:16        move second child to first child ( temp 4-component vector of bool)
0:16          'r13' ( temp 4-component vector of bool)
0:16          Compare Greater Than ( temp 4-component vector of bool)
0:16            'a' ( in 4-component vector of float)
0:16            Construct vec4 ( in 4-component vector of float)
0:16              'v01' ( temp float)
0:18      Sequence
0:18        move second child to first child ( temp 4-component vector of bool)
0:18          'r20' ( temp 4-component vector of bool)
0:18          Equal ( temp 4-component vector of bool)
0:18            Construct vec4 ( in 4-component vector of float)
0:18              'v01' ( temp float)
0:18            'a' ( in 4-component vector of float)
0:19      Sequence
0:19        move second child to first child ( temp 4-component vector of bool)
0:19          'r21' ( temp 4-component vector of bool)
0:19          NotEqual ( temp 4-component vector of bool)
0:19            Construct vec4 ( in 4-component vector of float)
0:19              'v01' ( temp float)
0:19            'a' ( in 4-component vector of float)
0:20      Sequence
0:20        move second child to first child ( temp 4-component vector of bool)
0:20          'r22' ( temp 4-component vector of bool)
0:20          Compare Less Than ( temp 4-component vector of bool)
0:20            Construct vec4 ( in 4-component vector of float)
0:20              'v01' ( temp float)
0:20            'a' ( in 4-component vector of float)
0:21      Sequence
0:21        move second child to first child ( temp 4-component vector of bool)
0:21          'r23' ( temp 4-component vector of bool)
0:21          Compare Greater Than ( temp 4-component vector of bool)
0:21            Construct vec4 ( in 4-component vector of float)
0:21              'v01' ( temp float)
0:21            'a' ( in 4-component vector of float)
0:30  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:30    Function Parameters: 
0:?     Sequence
0:32      move second child to first child ( temp 4-component vector of float)
0:32        Color: direct index for structure ( temp 4-component vector of float)
0:32          'psout' ( temp structure{ temp 4-component vector of float Color})
0:32          Constant:
0:32            0 (const int)
0:32        Constant:
0:32          0.000000
0:32          0.000000
0:32          0.000000
0:32          0.000000
0:33      Branch: Return with expression
0:33        'psout' ( temp structure{ temp 4-component vector of float Color})
0:30  Function Definition: main( ( temp void)
0:30    Function Parameters: 
0:?     Sequence
0:30      Sequence
0:30        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:30          Color: direct index for structure ( temp 4-component vector of float)
0:30            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:30            Constant:
0:30              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float uf4})
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:4  Function Definition: Bug1(vf4; ( temp void)
0:4    Function Parameters: 
0:4      'a' ( in 4-component vector of float)
0:?     Sequence
0:5      Sequence
0:5        move second child to first child ( temp 4-component vector of float)
0:5          'v04' ( temp 4-component vector of float)
0:?           Constant:
0:?             0.000000
0:?             0.000000
0:?             0.000000
0:?             0.000000
0:6      Sequence
0:6        move second child to first child ( temp float)
0:6          'v01' ( temp float)
0:6          Constant:
0:6            0.000000
0:8      Sequence
0:8        move second child to first child ( temp 4-component vector of bool)
0:8          'r00' ( temp 4-component vector of bool)
0:8          Equal ( temp 4-component vector of bool)
0:8            'a' ( in 4-component vector of float)
0:8            'v04' ( temp 4-component vector of float)
0:9      Sequence
0:9        move second child to first child ( temp 4-component vector of bool)
0:9          'r01' ( temp 4-component vector of bool)
0:9          NotEqual ( temp 4-component vector of bool)
0:9            'a' ( in 4-component vector of float)
0:9            'v04' ( temp 4-component vector of float)
0:10      Sequence
0:10        move second child to first child ( temp 4-component vector of bool)
0:10          'r02' ( temp 4-component vector of bool)
0:10          Compare Less Than ( temp 4-component vector of bool)
0:10            'a' ( in 4-component vector of float)
0:10            'v04' ( temp 4-component vector of float)
0:11      Sequence
0:11        move second child to first child ( temp 4-component vector of bool)
0:11          'r03' ( temp 4-component vector of bool)
0:11          Compare Greater Than ( temp 4-component vector of bool)
0:11            'a' ( in 4-component vector of float)
0:11            'v04' ( temp 4-component vector of float)
0:13      Sequence
0:13        move second child to first child ( temp 4-component vector of bool)
0:13          'r10' ( temp 4-component vector of bool)
0:13          Equal ( temp 4-component vector of bool)
0:13            'a' ( in 4-component vector of float)
0:13            Construct vec4 ( in 4-component vector of float)
0:13              'v01' ( temp float)
0:14      Sequence
0:14        move second child to first child ( temp 4-component vector of bool)
0:14          'r11' ( temp 4-component vector of bool)
0:14          NotEqual ( temp 4-component vector of bool)
0:14            'a' ( in 4-component vector of float)
0:14            Construct vec4 ( in 4-component vector of float)
0:14              'v01' ( temp float)
0:15      Sequence
0:15        move second child to first child ( temp 4-component vector of bool)
0:15          'r12' ( temp 4-component vector of bool)
0:15          Compare Less Than ( temp 4-component vector of bool)
0:15            'a' ( in 4-component vector of float)
0:15            Construct vec4 ( in 4-component vector of float)
0:15              'v01' ( temp float)
0:16      Sequence
0:16        move second child to first child ( temp 4-component vector of bool)
0:16          'r13' ( temp 4-component vector of bool)
0:16          Compare Greater Than ( temp 4-component vector of bool)
0:16            'a' ( in 4-component vector of float)
0:16            Construct vec4 ( in 4-component vector of float)
0:16              'v01' ( temp float)
0:18      Sequence
0:18        move second child to first child ( temp 4-component vector of bool)
0:18          'r20' ( temp 4-component vector of bool)
0:18          Equal ( temp 4-component vector of bool)
0:18            Construct vec4 ( in 4-component vector of float)
0:18              'v01' ( temp float)
0:18            'a' ( in 4-component vector of float)
0:19      Sequence
0:19        move second child to first child ( temp 4-component vector of bool)
0:19          'r21' ( temp 4-component vector of bool)
0:19          NotEqual ( temp 4-component vector of bool)
0:19            Construct vec4 ( in 4-component vector of float)
0:19              'v01' ( temp float)
0:19            'a' ( in 4-component vector of float)
0:20      Sequence
0:20        move second child to first child ( temp 4-component vector of bool)
0:20          'r22' ( temp 4-component vector of bool)
0:20          Compare Less Than ( temp 4-component vector of bool)
0:20            Construct vec4 ( in 4-component vector of float)
0:20              'v01' ( temp float)
0:20            'a' ( in 4-component vector of float)
0:21      Sequence
0:21        move second child to first child ( temp 4-component vector of bool)
0:21          'r23' ( temp 4-component vector of bool)
0:21          Compare Greater Than ( temp 4-component vector of bool)
0:21            Construct vec4 ( in 4-component vector of float)
0:21              'v01' ( temp float)
0:21            'a' ( in 4-component vector of float)
0:30  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:30    Function Parameters: 
0:?     Sequence
0:32      move second child to first child ( temp 4-component vector of float)
0:32        Color: direct index for structure ( temp 4-component vector of float)
0:32          'psout' ( temp structure{ temp 4-component vector of float Color})
0:32          Constant:
0:32            0 (const int)
0:32        Constant:
0:32          0.000000
0:32          0.000000
0:32          0.000000
0:32          0.000000
0:33      Branch: Return with expression
0:33        'psout' ( temp structure{ temp 4-component vector of float Color})
0:30  Function Definition: main( ( temp void)
0:30    Function Parameters: 
0:?     Sequence
0:30      Sequence
0:30        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:30          Color: direct index for structure ( temp 4-component vector of float)
0:30            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:30            Constant:
0:30              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float uf4})
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 90
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 11  "Bug1(vf4;"
                              Name 10  "a"
                              Name 13  "PS_OUTPUT"
                              MemberName 13(PS_OUTPUT) 0  "Color"
                              Name 15  "@main("
                              Name 17  "v04"
                              Name 21  "v01"
                              Name 25  "r00"
                              Name 29  "r01"
                              Name 33  "r02"
                              Name 37  "r03"
                              Name 41  "r10"
                              Name 46  "r11"
                              Name 51  "r12"
                              Name 56  "r13"
                              Name 61  "r20"
                              Name 66  "r21"
                              Name 71  "r22"
                              Name 76  "r23"
                              Name 82  "psout"
                              Name 90  "@entryPointOutput.Color"
                              Name 93  "$Global"
                              MemberName 93($Global) 0  "uf4"
                              Name 95  ""
                              Decorate 90(@entryPointOutput.Color) Location 0
                              MemberDecorate 93($Global) 0 Offset 0
                              Decorate 93($Global) Block
                              Decorate 95 DescriptorSet 0
                              Decorate 95 Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeFunction 2 8(ptr)
   13(PS_OUTPUT):             TypeStruct 7(fvec4)
              14:             TypeFunction 13(PS_OUTPUT)
              18:    6(float) Constant 0
              19:    7(fvec4) ConstantComposite 18 18 18 18
              20:             TypePointer Function 6(float)
              22:             TypeBool
              23:             TypeVector 22(bool) 4
              24:             TypePointer Function 23(bvec4)
              81:             TypePointer Function 13(PS_OUTPUT)
              83:             TypeInt 32 1
              84:     83(int) Constant 0
              89:             TypePointer Output 7(fvec4)
90(@entryPointOutput.Color):     89(ptr) Variable Output
     93($Global):             TypeStruct 7(fvec4)
              94:             TypePointer Uniform 93($Global)
              95:     94(ptr) Variable Uniform
         4(main):           2 Function None 3
               5:             Label
              91:13(PS_OUTPUT) FunctionCall 15(@main()
              92:    7(fvec4) CompositeExtract 91 0
                              Store 90(@entryPointOutput.Color) 92
                              Return
                              FunctionEnd
   11(Bug1(vf4;):           2 Function None 9
           10(a):      8(ptr) FunctionParameter
              12:             Label
         17(v04):      8(ptr) Variable Function
         21(v01):     20(ptr) Variable Function
         25(r00):     24(ptr) Variable Function
         29(r01):     24(ptr) Variable Function
         33(r02):     24(ptr) Variable Function
         37(r03):     24(ptr) Variable Function
         41(r10):     24(ptr) Variable Function
         46(r11):     24(ptr) Variable Function
         51(r12):     24(ptr) Variable Function
         56(r13):     24(ptr) Variable Function
         61(r20):     24(ptr) Variable Function
         66(r21):     24(ptr) Variable Function
         71(r22):     24(ptr) Variable Function
         76(r23):     24(ptr) Variable Function
                              Store 17(v04) 19
                              Store 21(v01) 18
              26:    7(fvec4) Load 10(a)
              27:    7(fvec4) Load 17(v04)
              28:   23(bvec4) FOrdEqual 26 27
                              Store 25(r00) 28
              30:    7(fvec4) Load 10(a)
              31:    7(fvec4) Load 17(v04)
              32:   23(bvec4) FOrdNotEqual 30 31
                              Store 29(r01) 32
              34:    7(fvec4) Load 10(a)
              35:    7(fvec4) Load 17(v04)
              36:   23(bvec4) FOrdLessThan 34 35
                              Store 33(r02) 36
              38:    7(fvec4) Load 10(a)
              39:    7(fvec4) Load 17(v04)
              40:   23(bvec4) FOrdGreaterThan 38 39
                              Store 37(r03) 40
              42:    7(fvec4) Load 10(a)
              43:    6(float) Load 21(v01)
              44:    7(fvec4) CompositeConstruct 43 43 43 43
              45:   23(bvec4) FOrdEqual 42 44
                              Store 41(r10) 45
              47:    7(fvec4) Load 10(a)
              48:    6(float) Load 21(v01)
              49:    7(fvec4) CompositeConstruct 48 48 48 48
              50:   23(bvec4) FOrdNotEqual 47 49
                              Store 46(r11) 50
              52:    7(fvec4) Load 10(a)
              53:    6(float) Load 21(v01)
              54:    7(fvec4) CompositeConstruct 53 53 53 53
              55:   23(bvec4) FOrdLessThan 52 54
                              Store 51(r12) 55
              57:    7(fvec4) Load 10(a)
              58:    6(float) Load 21(v01)
              59:    7(fvec4) CompositeConstruct 58 58 58 58
              60:   23(bvec4) FOrdGreaterThan 57 59
                              Store 56(r13) 60
              62:    6(float) Load 21(v01)
              63:    7(fvec4) CompositeConstruct 62 62 62 62
              64:    7(fvec4) Load 10(a)
              65:   23(bvec4) FOrdEqual 63 64
                              Store 61(r20) 65
              67:    6(float) Load 21(v01)
              68:    7(fvec4) CompositeConstruct 67 67 67 67
              69:    7(fvec4) Load 10(a)
              70:   23(bvec4) FOrdNotEqual 68 69
                              Store 66(r21) 70
              72:    6(float) Load 21(v01)
              73:    7(fvec4) CompositeConstruct 72 72 72 72
              74:    7(fvec4) Load 10(a)
              75:   23(bvec4) FOrdLessThan 73 74
                              Store 71(r22) 75
              77:    6(float) Load 21(v01)
              78:    7(fvec4) CompositeConstruct 77 77 77 77
              79:    7(fvec4) Load 10(a)
              80:   23(bvec4) FOrdGreaterThan 78 79
                              Store 76(r23) 80
                              Return
                              FunctionEnd
      15(@main():13(PS_OUTPUT) Function None 14
              16:             Label
       82(psout):     81(ptr) Variable Function
              85:      8(ptr) AccessChain 82(psout) 84
                              Store 85 19
              86:13(PS_OUTPUT) Load 82(psout)
                              ReturnValue 86
                              FunctionEnd
