blob: e2890380379e20f615488f607a7e617d93f447f5 [file] [log] [blame]
Ben Clayton81696932022-02-23 18:20:30 +00001uint tint_first_leading_bit(uint v) {
2 uint x = v;
3 const uint b16 = (bool((x & 4294901760u)) ? 16u : 0u);
4 x = (x >> b16);
5 const uint b8 = (bool((x & 65280u)) ? 8u : 0u);
6 x = (x >> b8);
7 const uint b4 = (bool((x & 240u)) ? 4u : 0u);
8 x = (x >> b4);
9 const uint b2 = (bool((x & 12u)) ? 2u : 0u);
10 x = (x >> b2);
11 const uint b1 = (bool((x & 2u)) ? 1u : 0u);
12 const uint is_zero = ((x == 0u) ? 4294967295u : 0u);
13 return uint((((((b16 | b8) | b4) | b2) | b1) | is_zero));
14}
15
16void firstLeadingBit_f0779d() {
17 uint res = tint_first_leading_bit(1u);
18}
19
20struct tint_symbol {
21 float4 value : SV_Position;
22};
23
24float4 vertex_main_inner() {
25 firstLeadingBit_f0779d();
Ben Claytone9f8b092022-06-01 13:14:39 +000026 return (0.0f).xxxx;
Ben Clayton81696932022-02-23 18:20:30 +000027}
28
29tint_symbol vertex_main() {
30 const float4 inner_result = vertex_main_inner();
31 tint_symbol wrapper_result = (tint_symbol)0;
32 wrapper_result.value = inner_result;
33 return wrapper_result;
34}
35
36void fragment_main() {
37 firstLeadingBit_f0779d();
38 return;
39}
40
41[numthreads(1, 1, 1)]
42void compute_main() {
43 firstLeadingBit_f0779d();
44 return;
45}