diff --git a/src/video_core/textures/astc.cpp b/src/video_core/textures/astc.cpp index 20706bda0f..91b4c5d7ea 100644 --- a/src/video_core/textures/astc.cpp +++ b/src/video_core/textures/astc.cpp @@ -39,25 +39,25 @@ constexpr u32 Popcnt(u32 n) { class InputBitStream { public: - explicit InputBitStream(const u8* ptr, std::size_t start_offset = 0) - : cur_byte(ptr), next_bit(start_offset % 8) {} + constexpr explicit InputBitStream(const u8* ptr, std::size_t start_offset = 0) + : cur_byte{ptr}, next_bit{start_offset % 8} {} - std::size_t GetBitsRead() const { - return m_BitsRead; + constexpr std::size_t GetBitsRead() const { + return bits_read; } - u32 ReadBit() { - u32 bit = *cur_byte >> next_bit++; + constexpr bool ReadBit() { + const bool bit = (*cur_byte >> next_bit++) & 1; while (next_bit >= 8) { next_bit -= 8; cur_byte++; } - m_BitsRead++; - return bit & 1; + bits_read++; + return bit; } - u32 ReadBits(std::size_t nBits) { + constexpr u32 ReadBits(std::size_t nBits) { u32 ret = 0; for (std::size_t i = 0; i < nBits; ++i) { ret |= (ReadBit() & 1) << i; @@ -66,7 +66,7 @@ public: } template - u32 ReadBits() { + constexpr u32 ReadBits() { u32 ret = 0; for (std::size_t i = 0; i < nBits; ++i) { ret |= (ReadBit() & 1) << i; @@ -77,7 +77,7 @@ public: private: const u8* cur_byte; std::size_t next_bit = 0; - std::size_t m_BitsRead = 0; + std::size_t bits_read = 0; }; class OutputBitStream {