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): 80005
// 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
               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
