From 91abe7f7d07d840bcc8c45e3b4ed9e0ded110f56 Mon Sep 17 00:00:00 2001 From: PabloMK7 Date: Fri, 13 Feb 2026 14:30:04 +0100 Subject: [PATCH] common: Add NATVIS to BitField class for better VS debugging (#1731) --- src/common/CMakeLists.txt | 1 + src/common/bit_field.natvis | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 src/common/bit_field.natvis diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index b7062e991..ac6728111 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -68,6 +68,7 @@ add_library(citra_common STATIC detached_tasks.cpp detached_tasks.h bit_field.h + bit_field.natvis bit_set.h bounded_threadsafe_queue.h cityhash.cpp diff --git a/src/common/bit_field.natvis b/src/common/bit_field.natvis new file mode 100644 index 000000000..2bdc0ce11 --- /dev/null +++ b/src/common/bit_field.natvis @@ -0,0 +1,28 @@ + + + + + + + + {((unsigned long long)storage >> $T1) & (((unsigned long long)1 << $T2) - 1)} + + + + ((unsigned long long)storage >> $T1) & (((unsigned long long)1 << $T2) - 1) + + + (long long)((((unsigned long long)storage >> $T1) & ((1ULL << $T2)-1)) & (1ULL << ($T2-1)) + ? -((1ULL << $T2) - (((unsigned long long)storage >> $T1) & ((1ULL << $T2)-1))) + : (((unsigned long long)storage >> $T1) & ((1ULL << $T2)-1))) + + + $T1 + + + $T2 + + storage + + +