1hlsl.intrinsics.promote.down.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:15  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
60:15    Function Parameters:
70:?     Sequence
80:16      Sequence
90:16        move second child to first child ( temp uint)
100:16          'r00' ( temp uint)
110:16          bitCount ( temp uint)
120:16            Convert float to uint ( temp uint)
130:16              f: direct index for structure ( uniform float)
140:16                '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})
150:16                Constant:
160:16                  2 (const uint)
170:17      Sequence
180:17        move second child to first child ( temp 2-component vector of uint)
190:17          'r01' ( temp 2-component vector of uint)
200:17          bitFieldReverse ( temp 2-component vector of uint)
210:17            Convert float to uint ( temp 2-component vector of uint)
220:17              f2: direct index for structure ( uniform 2-component vector of float)
230:17                '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})
240:17                Constant:
250:17                  6 (const uint)
260:20      move second child to first child ( temp 4-component vector of float)
270:20        color: direct index for structure ( temp 4-component vector of float)
280:20          'ps_output' ( temp structure{ temp 4-component vector of float color})
290:20          Constant:
300:20            0 (const int)
310:?         Constant:
320:?           0.000000
330:?           0.000000
340:?           0.000000
350:?           0.000000
360:21      Branch: Return with expression
370:21        'ps_output' ( temp structure{ temp 4-component vector of float color})
380:15  Function Definition: main( ( temp void)
390:15    Function Parameters:
400:?     Sequence
410:15      Sequence
420:15        move second child to first child ( temp 4-component vector of float)
430:?           '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
440:15          color: direct index for structure ( temp 4-component vector of float)
450:15            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
460:15            Constant:
470:15              0 (const int)
480:?   Linker Objects
490:?     '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})
500:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
51
52
53Linked fragment stage:
54
55
56Shader version: 500
57gl_FragCoord origin is upper left
580:? Sequence
590:15  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
600:15    Function Parameters:
610:?     Sequence
620:16      Sequence
630:16        move second child to first child ( temp uint)
640:16          'r00' ( temp uint)
650:16          bitCount ( temp uint)
660:16            Convert float to uint ( temp uint)
670:16              f: direct index for structure ( uniform float)
680:16                '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})
690:16                Constant:
700:16                  2 (const uint)
710:17      Sequence
720:17        move second child to first child ( temp 2-component vector of uint)
730:17          'r01' ( temp 2-component vector of uint)
740:17          bitFieldReverse ( temp 2-component vector of uint)
750:17            Convert float to uint ( temp 2-component vector of uint)
760:17              f2: direct index for structure ( uniform 2-component vector of float)
770:17                '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})
780:17                Constant:
790:17                  6 (const uint)
800:20      move second child to first child ( temp 4-component vector of float)
810:20        color: direct index for structure ( temp 4-component vector of float)
820:20          'ps_output' ( temp structure{ temp 4-component vector of float color})
830:20          Constant:
840:20            0 (const int)
850:?         Constant:
860:?           0.000000
870:?           0.000000
880:?           0.000000
890:?           0.000000
900:21      Branch: Return with expression
910:21        'ps_output' ( temp structure{ temp 4-component vector of float color})
920:15  Function Definition: main( ( temp void)
930:15    Function Parameters:
940:?     Sequence
950:15      Sequence
960:15        move second child to first child ( temp 4-component vector of float)
970:?           '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
980:15          color: direct index for structure ( temp 4-component vector of float)
990:15            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
1000:15            Constant:
1010:15              0 (const int)
1020:?   Linker Objects
1030:?     '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})
1040:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
105
106// Module Version 10000
107// Generated by (magic number): 80007
108// Id's are bound by 50
109
110                              Capability Shader
111               1:             ExtInstImport  "GLSL.std.450"
112                              MemoryModel Logical GLSL450
113                              EntryPoint Fragment 4  "main" 47
114                              ExecutionMode 4 OriginUpperLeft
115                              Source HLSL 500
116                              Name 4  "main"
117                              Name 8  "PS_OUTPUT"
118                              MemberName 8(PS_OUTPUT) 0  "color"
119                              Name 10  "@main("
120                              Name 14  "r00"
121                              Name 19  "$Global"
122                              MemberName 19($Global) 0  "i"
123                              MemberName 19($Global) 1  "u"
124                              MemberName 19($Global) 2  "f"
125                              MemberName 19($Global) 3  "b"
126                              MemberName 19($Global) 4  "i2"
127                              MemberName 19($Global) 5  "u2"
128                              MemberName 19($Global) 6  "f2"
129                              MemberName 19($Global) 7  "b2"
130                              Name 21  ""
131                              Name 29  "r01"
132                              Name 37  "ps_output"
133                              Name 47  "@entryPointOutput.color"
134                              MemberDecorate 19($Global) 0 Offset 0
135                              MemberDecorate 19($Global) 1 Offset 4
136                              MemberDecorate 19($Global) 2 Offset 8
137                              MemberDecorate 19($Global) 3 Offset 12
138                              MemberDecorate 19($Global) 4 Offset 16
139                              MemberDecorate 19($Global) 5 Offset 24
140                              MemberDecorate 19($Global) 6 Offset 32
141                              MemberDecorate 19($Global) 7 Offset 40
142                              Decorate 19($Global) Block
143                              Decorate 21 DescriptorSet 0
144                              Decorate 47(@entryPointOutput.color) Location 0
145               2:             TypeVoid
146               3:             TypeFunction 2
147               6:             TypeFloat 32
148               7:             TypeVector 6(float) 4
149    8(PS_OUTPUT):             TypeStruct 7(fvec4)
150               9:             TypeFunction 8(PS_OUTPUT)
151              12:             TypeInt 32 0
152              13:             TypePointer Function 12(int)
153              15:             TypeInt 32 1
154              16:             TypeVector 15(int) 2
155              17:             TypeVector 12(int) 2
156              18:             TypeVector 6(float) 2
157     19($Global):             TypeStruct 15(int) 12(int) 6(float) 12(int) 16(ivec2) 17(ivec2) 18(fvec2) 17(ivec2)
158              20:             TypePointer Uniform 19($Global)
159              21:     20(ptr) Variable Uniform
160              22:     15(int) Constant 2
161              23:             TypePointer Uniform 6(float)
162              28:             TypePointer Function 17(ivec2)
163              30:     15(int) Constant 6
164              31:             TypePointer Uniform 18(fvec2)
165              36:             TypePointer Function 8(PS_OUTPUT)
166              38:     15(int) Constant 0
167              39:    6(float) Constant 0
168              40:    7(fvec4) ConstantComposite 39 39 39 39
169              41:             TypePointer Function 7(fvec4)
170              46:             TypePointer Output 7(fvec4)
17147(@entryPointOutput.color):     46(ptr) Variable Output
172         4(main):           2 Function None 3
173               5:             Label
174              48:8(PS_OUTPUT) FunctionCall 10(@main()
175              49:    7(fvec4) CompositeExtract 48 0
176                              Store 47(@entryPointOutput.color) 49
177                              Return
178                              FunctionEnd
179      10(@main():8(PS_OUTPUT) Function None 9
180              11:             Label
181         14(r00):     13(ptr) Variable Function
182         29(r01):     28(ptr) Variable Function
183   37(ps_output):     36(ptr) Variable Function
184              24:     23(ptr) AccessChain 21 22
185              25:    6(float) Load 24
186              26:     12(int) ConvertFToU 25
187              27:     12(int) BitCount 26
188                              Store 14(r00) 27
189              32:     31(ptr) AccessChain 21 30
190              33:   18(fvec2) Load 32
191              34:   17(ivec2) ConvertFToU 33
192              35:   17(ivec2) BitReverse 34
193                              Store 29(r01) 35
194              42:     41(ptr) AccessChain 37(ps_output) 38
195                              Store 42 40
196              43:8(PS_OUTPUT) Load 37(ps_output)
197                              ReturnValue 43
198                              FunctionEnd
199