blob: e5b479c9f5d3b1ed74229a2eba7bcfb7669c50b4 [file] [log] [blame]
Ben Claytonfe08ba42022-02-23 21:18:09 +00001uint3 tint_insert_bits(uint3 v, uint3 n, uint offset, uint count) {
Antonio Maiorano144ebed2024-01-30 16:30:15 +00002 uint e = (offset + count);
3 uint mask = ((((offset < 32u) ? (1u << offset) : 0u) - 1u) ^ (((e < 32u) ? (1u << e) : 0u) - 1u));
Zhaoming Jiang4f3f45c2022-11-09 01:54:08 +00004 return ((((offset < 32u) ? (n << uint3((offset).xxx)) : (0u).xxx) & uint3((mask).xxx)) | (v & uint3((~(mask)).xxx)));
Ben Claytonfe08ba42022-02-23 21:18:09 +00005}
6
7void f_1() {
Ben Claytone9f8b092022-06-01 13:14:39 +00008 uint3 v = (0u).xxx;
9 uint3 n = (0u).xxx;
Ben Claytonfe08ba42022-02-23 21:18:09 +000010 uint offset_1 = 0u;
11 uint count = 0u;
Antonio Maiorano144ebed2024-01-30 16:30:15 +000012 uint3 x_15 = tint_insert_bits(v, n, offset_1, count);
Ben Claytonfe08ba42022-02-23 21:18:09 +000013 return;
14}
15
16[numthreads(1, 1, 1)]
17void f() {
18 f_1();
19 return;
20}