TextureCache: Refactor and fix linux compiling.

This commit is contained in:
Fernando Sahmkow 2021-11-20 14:46:19 +01:00
parent 4ca6e9a9e2
commit da2fe81905
3 changed files with 11 additions and 9 deletions

View file

@ -7,6 +7,7 @@
#include <bit>
#include <climits>
#include <cstddef>
#include <type_traits>
#include "common/common_types.h"
@ -44,4 +45,10 @@ template <typename T>
return static_cast<u32>(log2_f + static_cast<u64>((value ^ (1ULL << log2_f)) != 0ULL));
}
template <typename T>
requires std::is_integral_v<T>
[[nodiscard]] T NextPow2(T value) {
return static_cast<T>(1ULL << ((8U * sizeof(T)) - std::countl_zero(value - 1U)));
}
} // namespace Common