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:5          Constant:
0:5            0.000000
0:5            0.000000
0:5            0.000000
0:5            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:5          Constant:
0:5            0.000000
0:5            0.000000
0:5            0.000000
0:5            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): 8000b
// 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) FUnordNotEqual 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) FUnordNotEqual 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) FUnordNotEqual 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
