Skip to content

Commit 37c62aa

Browse files
committed
no multidimensional arrays
1 parent 7316efc commit 37c62aa

File tree

1 file changed

+16
-17
lines changed

1 file changed

+16
-17
lines changed

sample/alphaToCoverage/emulatedAlphaToCoverage.ts

+16-17
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,24 @@ type Mask = number;
2323
export const kEmulatedAlphaToCoverage = {
2424
'Apple M1 Pro': `\
2525
fn emulatedAlphaToCoverage(alpha: f32, x: u32, y: u32) -> u32 {
26-
let u = x % 2u;
27-
let v = y % 2u;
26+
let i = (y % 2) * 2 + (x % 2);
2827
if (alpha < 0.5 / 16) { return ${0b0000}; }
2928
// FIXME returning values out of an array is not working, always returns 0
30-
if (alpha < 1.5 / 16) { return array(array(${0b0001}u, ${0b0000}), array(${0b0000}, ${0b0000}))[v][u]; }
31-
if (alpha < 2.5 / 16) { return array(array(${0b0001}u, ${0b0000}), array(${0b0000}, ${0b0001}))[v][u]; }
32-
if (alpha < 3.5 / 16) { return array(array(${0b0001}u, ${0b0001}), array(${0b0000}, ${0b0001}))[v][u]; }
33-
if (alpha < 4.5 / 16) { return array(array(${0b0001}u, ${0b0001}), array(${0b0001}, ${0b0001}))[v][u]; }
34-
if (alpha < 5.5 / 16) { return array(array(${0b1001}u, ${0b0001}), array(${0b0001}, ${0b0001}))[v][u]; }
35-
if (alpha < 6.5 / 16) { return array(array(${0b1001}u, ${0b0001}), array(${0b0001}, ${0b1001}))[v][u]; }
36-
if (alpha < 7.5 / 16) { return array(array(${0b1001}u, ${0b1001}), array(${0b0001}, ${0b1001}))[v][u]; }
37-
if (alpha < 8.5 / 16) { return array(array(${0b1001}u, ${0b1001}), array(${0b1001}, ${0b1001}))[v][u]; }
38-
if (alpha < 9.5 / 16) { return array(array(${0b1011}u, ${0b1001}), array(${0b1001}, ${0b1001}))[v][u]; }
39-
if (alpha < 10.5 / 16) { return array(array(${0b1011}u, ${0b1001}), array(${0b1001}, ${0b1011}))[v][u]; }
40-
if (alpha < 11.5 / 16) { return array(array(${0b1011}u, ${0b1011}), array(${0b1001}, ${0b1011}))[v][u]; }
41-
if (alpha < 12.5 / 16) { return array(array(${0b1011}u, ${0b1011}), array(${0b1011}, ${0b1011}))[v][u]; }
42-
if (alpha < 13.5 / 16) { return array(array(${0b1111}u, ${0b1011}), array(${0b1011}, ${0b1011}))[v][u]; }
43-
if (alpha < 14.5 / 16) { return array(array(${0b1111}u, ${0b1011}), array(${0b1011}, ${0b1111}))[v][u]; }
44-
if (alpha < 15.5 / 16) { return array(array(${0b1111}u, ${0b1111}), array(${0b1011}, ${0b1111}))[v][u]; }
29+
if (alpha < 1.5 / 16) { return array(${0b0001}u, ${0b0000}, ${0b0000}, ${0b0000})[i]; }
30+
if (alpha < 2.5 / 16) { return array(${0b0001}u, ${0b0000}, ${0b0000}, ${0b0001})[i]; }
31+
if (alpha < 3.5 / 16) { return array(${0b0001}u, ${0b0001}, ${0b0000}, ${0b0001})[i]; }
32+
if (alpha < 4.5 / 16) { return array(${0b0001}u, ${0b0001}, ${0b0001}, ${0b0001})[i]; }
33+
if (alpha < 5.5 / 16) { return array(${0b1001}u, ${0b0001}, ${0b0001}, ${0b0001})[i]; }
34+
if (alpha < 6.5 / 16) { return array(${0b1001}u, ${0b0001}, ${0b0001}, ${0b1001})[i]; }
35+
if (alpha < 7.5 / 16) { return array(${0b1001}u, ${0b1001}, ${0b0001}, ${0b1001})[i]; }
36+
if (alpha < 8.5 / 16) { return array(${0b1001}u, ${0b1001}, ${0b1001}, ${0b1001})[i]; }
37+
if (alpha < 9.5 / 16) { return array(${0b1011}u, ${0b1001}, ${0b1001}, ${0b1001})[i]; }
38+
if (alpha < 10.5 / 16) { return array(${0b1011}u, ${0b1001}, ${0b1001}, ${0b1011})[i]; }
39+
if (alpha < 11.5 / 16) { return array(${0b1011}u, ${0b1011}, ${0b1001}, ${0b1011})[i]; }
40+
if (alpha < 12.5 / 16) { return array(${0b1011}u, ${0b1011}, ${0b1011}, ${0b1011})[i]; }
41+
if (alpha < 13.5 / 16) { return array(${0b1111}u, ${0b1011}, ${0b1011}, ${0b1011})[i]; }
42+
if (alpha < 14.5 / 16) { return array(${0b1111}u, ${0b1011}, ${0b1011}, ${0b1111})[i]; }
43+
if (alpha < 15.5 / 16) { return array(${0b1111}u, ${0b1111}, ${0b1011}, ${0b1111})[i]; }
4544
return ${0b1111};
4645
}
4746
`.trimEnd(),

0 commit comments

Comments
 (0)