rusticl: add small bitset impl
authorKarol Herbst <kherbst@redhat.com>
Thu, 27 Oct 2022 23:28:12 +0000 (01:28 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 28 Oct 2022 01:11:00 +0000 (01:11 +0000)
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19362>

src/gallium/frontends/rusticl/meson.build
src/gallium/frontends/rusticl/util/bitset.rs [new file with mode: 0644]
src/gallium/frontends/rusticl/util/lib.rs

index 200ee26..844b829 100644 (file)
@@ -23,6 +23,7 @@ rust = import('unstable-rust')
 libmesa_rust_util_files = files(
   'util/lib.rs',
   'util/assert.rs',
+  'util/bitset.rs',
   'util/properties.rs',
   'util/ptr.rs',
   'util/string.rs',
diff --git a/src/gallium/frontends/rusticl/util/bitset.rs b/src/gallium/frontends/rusticl/util/bitset.rs
new file mode 100644 (file)
index 0000000..f7e8a47
--- /dev/null
@@ -0,0 +1,6 @@
+pub fn test_bit(bitset: &[u32], bit: u32) -> bool {
+    let idx = bit / 32;
+    let test = bit % 32;
+
+    bitset[idx as usize] & (1 << test) != 0
+}
index 15ea272..b3a090f 100644 (file)
@@ -1,4 +1,5 @@
 pub mod assert;
+pub mod bitset;
 pub mod math;
 pub mod properties;
 pub mod ptr;