hlsl.intrinsics.promote.outputs.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:20  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
0:20    Function Parameters: 
0:?     Sequence
0:37      clamp ( temp float)
0:37        fpos: direct index for structure ( uniform float)
0:37          'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
0:37          Constant:
0:37            9 (const uint)
0:37        Constant:
0:37          0.000000
0:37        Constant:
0:37          1.000000
0:40      Sequence
0:40        move second child to first child ( temp uint)
0:40          'sizeQueryTemp' ( temp uint)
0:40          textureSize ( temp uint)
0:40            'g_tTex1df4' ( uniform texture1D)
0:40            Constant:
0:40              0 (const int)
0:40        move second child to first child ( temp int)
0:40          'WidthI' ( temp int)
0:40          Convert uint to int ( temp int)
0:40            'sizeQueryTemp' ( temp uint)
0:41      Sequence
0:41        move second child to first child ( temp uint)
0:41          'sizeQueryTemp' ( temp uint)
0:41          textureSize ( temp uint)
0:41            'g_tTex1df4' ( uniform texture1D)
0:41            Constant:
0:41              6 (const uint)
0:41        move second child to first child ( temp int)
0:41          'WidthI' ( temp int)
0:41          Convert uint to int ( temp int)
0:41            'sizeQueryTemp' ( temp uint)
0:41        move second child to first child ( temp uint)
0:41          'NumberOfLevelsU' ( temp uint)
0:41          textureQueryLevels ( temp uint)
0:41            'g_tTex1df4' ( uniform texture1D)
0:42      Sequence
0:42        move second child to first child ( temp uint)
0:42          'sizeQueryTemp' ( temp uint)
0:42          textureSize ( temp uint)
0:42            'g_tTex1df4' ( uniform texture1D)
0:42            Constant:
0:42              6 (const uint)
0:42        move second child to first child ( temp uint)
0:42          'WidthU' ( temp uint)
0:42          'sizeQueryTemp' ( temp uint)
0:42        move second child to first child ( temp int)
0:42          'NumberOfLevelsI' ( temp int)
0:42          Convert uint to int ( temp int)
0:42            textureQueryLevels ( temp uint)
0:42              'g_tTex1df4' ( uniform texture1D)
0:43      Sequence
0:43        move second child to first child ( temp uint)
0:43          'sizeQueryTemp' ( temp uint)
0:43          textureSize ( temp uint)
0:43            'g_tTex1df4' ( uniform texture1D)
0:43            Constant:
0:43              6 (const uint)
0:43        move second child to first child ( temp int)
0:43          'WidthI' ( temp int)
0:43          Convert uint to int ( temp int)
0:43            'sizeQueryTemp' ( temp uint)
0:43        move second child to first child ( temp int)
0:43          'NumberOfLevelsI' ( temp int)
0:43          Convert uint to int ( temp int)
0:43            textureQueryLevels ( temp uint)
0:43              'g_tTex1df4' ( uniform texture1D)
0:47      move second child to first child ( temp 4-component vector of float)
0:47        color: direct index for structure ( temp 4-component vector of float)
0:47          'ps_output' ( temp structure{ temp 4-component vector of float color})
0:47          Constant:
0:47            0 (const int)
0:47        Constant:
0:47          0.000000
0:47          0.000000
0:47          0.000000
0:47          0.000000
0:48      Branch: Return with expression
0:48        'ps_output' ( temp structure{ temp 4-component vector of float color})
0:20  Function Definition: main( ( temp void)
0:20    Function Parameters: 
0:?     Sequence
0:20      Sequence
0:20        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:20          color: direct index for structure ( temp 4-component vector of float)
0:20            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
0:20            Constant:
0:20              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
0:?     'g_tTexbfs' (layout( r32f) uniform textureBuffer)
0:?     'g_tTex1df4' ( uniform texture1D)
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:20  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
0:20    Function Parameters: 
0:?     Sequence
0:37      clamp ( temp float)
0:37        fpos: direct index for structure ( uniform float)
0:37          'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
0:37          Constant:
0:37            9 (const uint)
0:37        Constant:
0:37          0.000000
0:37        Constant:
0:37          1.000000
0:40      Sequence
0:40        move second child to first child ( temp uint)
0:40          'sizeQueryTemp' ( temp uint)
0:40          textureSize ( temp uint)
0:40            'g_tTex1df4' ( uniform texture1D)
0:40            Constant:
0:40              0 (const int)
0:40        move second child to first child ( temp int)
0:40          'WidthI' ( temp int)
0:40          Convert uint to int ( temp int)
0:40            'sizeQueryTemp' ( temp uint)
0:41      Sequence
0:41        move second child to first child ( temp uint)
0:41          'sizeQueryTemp' ( temp uint)
0:41          textureSize ( temp uint)
0:41            'g_tTex1df4' ( uniform texture1D)
0:41            Constant:
0:41              6 (const uint)
0:41        move second child to first child ( temp int)
0:41          'WidthI' ( temp int)
0:41          Convert uint to int ( temp int)
0:41            'sizeQueryTemp' ( temp uint)
0:41        move second child to first child ( temp uint)
0:41          'NumberOfLevelsU' ( temp uint)
0:41          textureQueryLevels ( temp uint)
0:41            'g_tTex1df4' ( uniform texture1D)
0:42      Sequence
0:42        move second child to first child ( temp uint)
0:42          'sizeQueryTemp' ( temp uint)
0:42          textureSize ( temp uint)
0:42            'g_tTex1df4' ( uniform texture1D)
0:42            Constant:
0:42              6 (const uint)
0:42        move second child to first child ( temp uint)
0:42          'WidthU' ( temp uint)
0:42          'sizeQueryTemp' ( temp uint)
0:42        move second child to first child ( temp int)
0:42          'NumberOfLevelsI' ( temp int)
0:42          Convert uint to int ( temp int)
0:42            textureQueryLevels ( temp uint)
0:42              'g_tTex1df4' ( uniform texture1D)
0:43      Sequence
0:43        move second child to first child ( temp uint)
0:43          'sizeQueryTemp' ( temp uint)
0:43          textureSize ( temp uint)
0:43            'g_tTex1df4' ( uniform texture1D)
0:43            Constant:
0:43              6 (const uint)
0:43        move second child to first child ( temp int)
0:43          'WidthI' ( temp int)
0:43          Convert uint to int ( temp int)
0:43            'sizeQueryTemp' ( temp uint)
0:43        move second child to first child ( temp int)
0:43          'NumberOfLevelsI' ( temp int)
0:43          Convert uint to int ( temp int)
0:43            textureQueryLevels ( temp uint)
0:43              'g_tTex1df4' ( uniform texture1D)
0:47      move second child to first child ( temp 4-component vector of float)
0:47        color: direct index for structure ( temp 4-component vector of float)
0:47          'ps_output' ( temp structure{ temp 4-component vector of float color})
0:47          Constant:
0:47            0 (const int)
0:47        Constant:
0:47          0.000000
0:47          0.000000
0:47          0.000000
0:47          0.000000
0:48      Branch: Return with expression
0:48        'ps_output' ( temp structure{ temp 4-component vector of float color})
0:20  Function Definition: main( ( temp void)
0:20    Function Parameters: 
0:?     Sequence
0:20      Sequence
0:20        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:20          color: direct index for structure ( temp 4-component vector of float)
0:20            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
0:20            Constant:
0:20              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
0:?     'g_tTexbfs' (layout( r32f) uniform textureBuffer)
0:?     'g_tTex1df4' ( uniform texture1D)
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 80

                              Capability Shader
                              Capability Sampled1D
                              Capability SampledBuffer
                              Capability ImageQuery
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 74
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "PS_OUTPUT"
                              MemberName 8(PS_OUTPUT) 0  "color"
                              Name 10  "@main("
                              Name 17  "$Global"
                              MemberName 17($Global) 0  "i"
                              MemberName 17($Global) 1  "u"
                              MemberName 17($Global) 2  "f"
                              MemberName 17($Global) 3  "b"
                              MemberName 17($Global) 4  "i2"
                              MemberName 17($Global) 5  "u2"
                              MemberName 17($Global) 6  "f2"
                              MemberName 17($Global) 7  "b2"
                              MemberName 17($Global) 8  "upos"
                              MemberName 17($Global) 9  "fpos"
                              Name 19  ""
                              Name 28  "sizeQueryTemp"
                              Name 31  "g_tTex1df4"
                              Name 36  "WidthI"
                              Name 39  "sizeQueryTemp"
                              Name 45  "NumberOfLevelsU"
                              Name 48  "sizeQueryTemp"
                              Name 51  "WidthU"
                              Name 53  "NumberOfLevelsI"
                              Name 57  "sizeQueryTemp"
                              Name 66  "ps_output"
                              Name 74  "@entryPointOutput.color"
                              Name 79  "g_tTexbfs"
                              MemberDecorate 17($Global) 0 Offset 0
                              MemberDecorate 17($Global) 1 Offset 4
                              MemberDecorate 17($Global) 2 Offset 8
                              MemberDecorate 17($Global) 3 Offset 12
                              MemberDecorate 17($Global) 4 Offset 16
                              MemberDecorate 17($Global) 5 Offset 24
                              MemberDecorate 17($Global) 6 Offset 32
                              MemberDecorate 17($Global) 7 Offset 40
                              MemberDecorate 17($Global) 8 Offset 48
                              MemberDecorate 17($Global) 9 Offset 52
                              Decorate 17($Global) Block
                              Decorate 19 DescriptorSet 0
                              Decorate 19 Binding 0
                              Decorate 31(g_tTex1df4) DescriptorSet 0
                              Decorate 31(g_tTex1df4) Binding 0
                              Decorate 74(@entryPointOutput.color) Location 0
                              Decorate 79(g_tTexbfs) DescriptorSet 0
                              Decorate 79(g_tTexbfs) Binding 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 1
              13:             TypeInt 32 0
              14:             TypeVector 12(int) 2
              15:             TypeVector 13(int) 2
              16:             TypeVector 6(float) 2
     17($Global):             TypeStruct 12(int) 13(int) 6(float) 13(int) 14(ivec2) 15(ivec2) 16(fvec2) 15(ivec2) 13(int) 6(float)
              18:             TypePointer Uniform 17($Global)
              19:     18(ptr) Variable Uniform
              20:     12(int) Constant 9
              21:             TypePointer Uniform 6(float)
              24:    6(float) Constant 0
              25:    6(float) Constant 1065353216
              27:             TypePointer Function 13(int)
              29:             TypeImage 6(float) 1D sampled format:Unknown
              30:             TypePointer UniformConstant 29
  31(g_tTex1df4):     30(ptr) Variable UniformConstant
              33:     12(int) Constant 0
              35:             TypePointer Function 12(int)
              41:     13(int) Constant 6
              65:             TypePointer Function 8(PS_OUTPUT)
              67:    7(fvec4) ConstantComposite 24 24 24 24
              68:             TypePointer Function 7(fvec4)
              73:             TypePointer Output 7(fvec4)
74(@entryPointOutput.color):     73(ptr) Variable Output
              77:             TypeImage 6(float) Buffer sampled format:R32f
              78:             TypePointer UniformConstant 77
   79(g_tTexbfs):     78(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
              75:8(PS_OUTPUT) FunctionCall 10(@main()
              76:    7(fvec4) CompositeExtract 75 0
                              Store 74(@entryPointOutput.color) 76
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
28(sizeQueryTemp):     27(ptr) Variable Function
      36(WidthI):     35(ptr) Variable Function
39(sizeQueryTemp):     27(ptr) Variable Function
45(NumberOfLevelsU):     27(ptr) Variable Function
48(sizeQueryTemp):     27(ptr) Variable Function
      51(WidthU):     27(ptr) Variable Function
53(NumberOfLevelsI):     35(ptr) Variable Function
57(sizeQueryTemp):     27(ptr) Variable Function
   66(ps_output):     65(ptr) Variable Function
              22:     21(ptr) AccessChain 19 20
              23:    6(float) Load 22
              26:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 23 24 25
              32:          29 Load 31(g_tTex1df4)
              34:     13(int) ImageQuerySizeLod 32 33
                              Store 28(sizeQueryTemp) 34
              37:     13(int) Load 28(sizeQueryTemp)
              38:     12(int) Bitcast 37
                              Store 36(WidthI) 38
              40:          29 Load 31(g_tTex1df4)
              42:     13(int) ImageQuerySizeLod 40 41
                              Store 39(sizeQueryTemp) 42
              43:     13(int) Load 39(sizeQueryTemp)
              44:     12(int) Bitcast 43
                              Store 36(WidthI) 44
              46:          29 Load 31(g_tTex1df4)
              47:     13(int) ImageQueryLevels 46
                              Store 45(NumberOfLevelsU) 47
              49:          29 Load 31(g_tTex1df4)
              50:     13(int) ImageQuerySizeLod 49 41
                              Store 48(sizeQueryTemp) 50
              52:     13(int) Load 48(sizeQueryTemp)
                              Store 51(WidthU) 52
              54:          29 Load 31(g_tTex1df4)
              55:     13(int) ImageQueryLevels 54
              56:     12(int) Bitcast 55
                              Store 53(NumberOfLevelsI) 56
              58:          29 Load 31(g_tTex1df4)
              59:     13(int) ImageQuerySizeLod 58 41
                              Store 57(sizeQueryTemp) 59
              60:     13(int) Load 57(sizeQueryTemp)
              61:     12(int) Bitcast 60
                              Store 36(WidthI) 61
              62:          29 Load 31(g_tTex1df4)
              63:     13(int) ImageQueryLevels 62
              64:     12(int) Bitcast 63
                              Store 53(NumberOfLevelsI) 64
              69:     68(ptr) AccessChain 66(ps_output) 33
                              Store 69 67
              70:8(PS_OUTPUT) Load 66(ps_output)
                              ReturnValue 70
                              FunctionEnd
