diff --git a/src/editor/src/main.cpp b/src/editor/src/main.cpp index 3dd594c..4f52096 100644 --- a/src/editor/src/main.cpp +++ b/src/editor/src/main.cpp @@ -23,20 +23,17 @@ int main() // major 7-bit, bits 28-22 // minor, 10 bit, 21-12 // patch, 12 bit, 10-0 - // clang-format off - constexpr std::uint64_t PATCH_BITMASK { 0b00000000000000000000111111111111 }; - constexpr std::uint64_t MINOR_BITMASK { 0b00000000001111111111000000000000 }; - constexpr std::uint64_t MAJOR_BITMASK { 0b00011111110000000000000000000000 }; - constexpr std::uint64_t VARIANT_BITMASK { 0b11100000000000000000000000000000 }; + struct VersionBits + { + unsigned int patch:12; + unsigned int minor:10; + unsigned int major:7; + unsigned int variant:3; + }; - const auto patch { ( version & PATCH_BITMASK ) >> 0}; - const auto minor { ( version & MINOR_BITMASK ) >> 10}; - const auto major { ( version & MAJOR_BITMASK ) >> (10 + 12)}; - [[maybe_unused]] const auto variant { ( version & VARIANT_BITMASK ) >> (10 + 12 + 7) }; + const auto [ patch, minor, major, variant ] { static_cast< VersionBits >( version ) }; - // clang-format on - - log::debug( "Vulkan instance version: {}.{}.{}.{}", major, minor, patch, minor ); + log::debug( "Vulkan instance version: {}.{}.{}.{}", major, minor, patch, variant ); try {