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): 80001
// 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 31(g_tTex1df4) DescriptorSet 0
                              Decorate 74(@entryPointOutput.color) Location 0
                              Decorate 79(g_tTexbfs) DescriptorSet 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
