hlsl.promote.binary.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:14  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:14    Function Parameters: 
0:?     Sequence
0:15      mod ( temp float)
0:15        Convert int to float ( temp float)
0:15          ival: direct index for structure ( uniform int)
0:15            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:15            Constant:
0:15              2 (const uint)
0:15        fval: direct index for structure ( uniform float)
0:15          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:15          Constant:
0:15            4 (const uint)
0:16      mod ( temp 4-component vector of float)
0:16        Convert int to float ( temp 4-component vector of float)
0:16          ival4: direct index for structure ( uniform 4-component vector of int)
0:16            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:16            Constant:
0:16              3 (const uint)
0:16        fval4: direct index for structure ( uniform 4-component vector of float)
0:16          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:16          Constant:
0:16            5 (const uint)
0:18      mod ( temp float)
0:18        Convert bool to float ( temp float)
0:18          bval: direct index for structure ( uniform bool)
0:18            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:18            Constant:
0:18              0 (const uint)
0:18        fval: direct index for structure ( uniform float)
0:18          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:18          Constant:
0:18            4 (const uint)
0:19      mod ( temp 4-component vector of float)
0:19        Convert bool to float ( temp 4-component vector of float)
0:19          bval4: direct index for structure ( uniform 4-component vector of bool)
0:19            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:19            Constant:
0:19              1 (const uint)
0:19        fval4: direct index for structure ( uniform 4-component vector of float)
0:19          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:19          Constant:
0:19            5 (const uint)
0:21      Sequence
0:21        move second child to first child ( temp int)
0:21          'l_int' ( temp int)
0:21          Constant:
0:21            1 (const int)
0:22      mod second child into first child ( temp int)
0:22        'l_int' ( temp int)
0:22        Convert float to int ( temp int)
0:22          fval: direct index for structure ( uniform float)
0:22            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:22            Constant:
0:22              4 (const uint)
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          0.000000
0:25          0.000000
0:25          0.000000
0:25          0.000000
0:26      Branch: Return with expression
0:26        'psout' ( temp structure{ temp 4-component vector of float Color})
0:14  Function Definition: main( ( temp void)
0:14    Function Parameters: 
0:?     Sequence
0:14      Sequence
0:14        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:14          Color: direct index for structure ( temp 4-component vector of float)
0:14            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:14            Constant:
0:14              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  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:14  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:14    Function Parameters: 
0:?     Sequence
0:15      mod ( temp float)
0:15        Convert int to float ( temp float)
0:15          ival: direct index for structure ( uniform int)
0:15            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:15            Constant:
0:15              2 (const uint)
0:15        fval: direct index for structure ( uniform float)
0:15          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:15          Constant:
0:15            4 (const uint)
0:16      mod ( temp 4-component vector of float)
0:16        Convert int to float ( temp 4-component vector of float)
0:16          ival4: direct index for structure ( uniform 4-component vector of int)
0:16            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:16            Constant:
0:16              3 (const uint)
0:16        fval4: direct index for structure ( uniform 4-component vector of float)
0:16          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:16          Constant:
0:16            5 (const uint)
0:18      mod ( temp float)
0:18        Convert bool to float ( temp float)
0:18          bval: direct index for structure ( uniform bool)
0:18            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:18            Constant:
0:18              0 (const uint)
0:18        fval: direct index for structure ( uniform float)
0:18          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:18          Constant:
0:18            4 (const uint)
0:19      mod ( temp 4-component vector of float)
0:19        Convert bool to float ( temp 4-component vector of float)
0:19          bval4: direct index for structure ( uniform 4-component vector of bool)
0:19            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:19            Constant:
0:19              1 (const uint)
0:19        fval4: direct index for structure ( uniform 4-component vector of float)
0:19          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:19          Constant:
0:19            5 (const uint)
0:21      Sequence
0:21        move second child to first child ( temp int)
0:21          'l_int' ( temp int)
0:21          Constant:
0:21            1 (const int)
0:22      mod second child into first child ( temp int)
0:22        'l_int' ( temp int)
0:22        Convert float to int ( temp int)
0:22          fval: direct index for structure ( uniform float)
0:22            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
0:22            Constant:
0:22              4 (const uint)
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          0.000000
0:25          0.000000
0:25          0.000000
0:25          0.000000
0:26      Branch: Return with expression
0:26        'psout' ( temp structure{ temp 4-component vector of float Color})
0:14  Function Definition: main( ( temp void)
0:14    Function Parameters: 
0:?     Sequence
0:14      Sequence
0:14        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:14          Color: direct index for structure ( temp 4-component vector of float)
0:14            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:14            Constant:
0:14              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  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): 80007
// Id's are bound by 83

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 80
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "PS_OUTPUT"
                              MemberName 8(PS_OUTPUT) 0  "Color"
                              Name 10  "@main("
                              Name 16  "$Global"
                              MemberName 16($Global) 0  "bval"
                              MemberName 16($Global) 1  "bval4"
                              MemberName 16($Global) 2  "ival"
                              MemberName 16($Global) 3  "ival4"
                              MemberName 16($Global) 4  "fval"
                              MemberName 16($Global) 5  "fval4"
                              Name 18  ""
                              Name 66  "l_int"
                              Name 73  "psout"
                              Name 80  "@entryPointOutput.Color"
                              MemberDecorate 16($Global) 0 Offset 0
                              MemberDecorate 16($Global) 1 Offset 16
                              MemberDecorate 16($Global) 2 Offset 32
                              MemberDecorate 16($Global) 3 Offset 48
                              MemberDecorate 16($Global) 4 Offset 64
                              MemberDecorate 16($Global) 5 Offset 80
                              Decorate 16($Global) Block
                              Decorate 18 DescriptorSet 0
                              Decorate 18 Binding 0
                              Decorate 80(@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 0
              13:             TypeVector 12(int) 4
              14:             TypeInt 32 1
              15:             TypeVector 14(int) 4
     16($Global):             TypeStruct 12(int) 13(ivec4) 14(int) 15(ivec4) 6(float) 7(fvec4)
              17:             TypePointer Uniform 16($Global)
              18:     17(ptr) Variable Uniform
              19:     14(int) Constant 2
              20:             TypePointer Uniform 14(int)
              24:     14(int) Constant 4
              25:             TypePointer Uniform 6(float)
              29:     14(int) Constant 3
              30:             TypePointer Uniform 15(ivec4)
              34:     14(int) Constant 5
              35:             TypePointer Uniform 7(fvec4)
              39:     14(int) Constant 0
              40:             TypePointer Uniform 12(int)
              43:             TypeBool
              44:     12(int) Constant 0
              46:    6(float) Constant 0
              47:    6(float) Constant 1065353216
              52:     14(int) Constant 1
              53:             TypePointer Uniform 13(ivec4)
              56:             TypeVector 43(bool) 4
              57:   13(ivec4) ConstantComposite 44 44 44 44
              59:    7(fvec4) ConstantComposite 46 46 46 46
              60:    7(fvec4) ConstantComposite 47 47 47 47
              65:             TypePointer Function 14(int)
              72:             TypePointer Function 8(PS_OUTPUT)
              74:             TypePointer Function 7(fvec4)
              79:             TypePointer Output 7(fvec4)
80(@entryPointOutput.Color):     79(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              81:8(PS_OUTPUT) FunctionCall 10(@main()
              82:    7(fvec4) CompositeExtract 81 0
                              Store 80(@entryPointOutput.Color) 82
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
       66(l_int):     65(ptr) Variable Function
       73(psout):     72(ptr) Variable Function
              21:     20(ptr) AccessChain 18 19
              22:     14(int) Load 21
              23:    6(float) ConvertSToF 22
              26:     25(ptr) AccessChain 18 24
              27:    6(float) Load 26
              28:    6(float) FMod 23 27
              31:     30(ptr) AccessChain 18 29
              32:   15(ivec4) Load 31
              33:    7(fvec4) ConvertSToF 32
              36:     35(ptr) AccessChain 18 34
              37:    7(fvec4) Load 36
              38:    7(fvec4) FMod 33 37
              41:     40(ptr) AccessChain 18 39
              42:     12(int) Load 41
              45:    43(bool) INotEqual 42 44
              48:    6(float) Select 45 47 46
              49:     25(ptr) AccessChain 18 24
              50:    6(float) Load 49
              51:    6(float) FMod 48 50
              54:     53(ptr) AccessChain 18 52
              55:   13(ivec4) Load 54
              58:   56(bvec4) INotEqual 55 57
              61:    7(fvec4) Select 58 60 59
              62:     35(ptr) AccessChain 18 34
              63:    7(fvec4) Load 62
              64:    7(fvec4) FMod 61 63
                              Store 66(l_int) 52
              67:     25(ptr) AccessChain 18 24
              68:    6(float) Load 67
              69:     14(int) ConvertFToS 68
              70:     14(int) Load 66(l_int)
              71:     14(int) SMod 70 69
                              Store 66(l_int) 71
              75:     74(ptr) AccessChain 73(psout) 39
                              Store 75 59
              76:8(PS_OUTPUT) Load 73(psout)
                              ReturnValue 76
                              FunctionEnd