|
|
@ -25,6 +25,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
#include "video_core/textures/astc.h"
|
|
|
|
#include "video_core/textures/astc.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// Count the number of bits set in a number.
|
|
|
|
|
|
|
|
constexpr u32 Popcnt(u32 n) {
|
|
|
|
|
|
|
|
u32 c = 0;
|
|
|
|
|
|
|
|
for (; n; c++) {
|
|
|
|
|
|
|
|
n &= n - 1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return c;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} // Anonymous namespace
|
|
|
|
|
|
|
|
|
|
|
|
class InputBitStream {
|
|
|
|
class InputBitStream {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
explicit InputBitStream(const unsigned char* ptr, int start_offset = 0)
|
|
|
|
explicit InputBitStream(const unsigned char* ptr, int start_offset = 0)
|
|
|
@ -212,15 +225,6 @@ public:
|
|
|
|
return totalBits;
|
|
|
|
return totalBits;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Count the number of bits set in a number.
|
|
|
|
|
|
|
|
static inline u32 Popcnt(u32 n) {
|
|
|
|
|
|
|
|
u32 c;
|
|
|
|
|
|
|
|
for (c = 0; n; c++) {
|
|
|
|
|
|
|
|
n &= n - 1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return c;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Returns a new instance of this struct that corresponds to the
|
|
|
|
// Returns a new instance of this struct that corresponds to the
|
|
|
|
// can take no more than maxval values
|
|
|
|
// can take no more than maxval values
|
|
|
|
static IntegerEncodedValue CreateEncoding(u32 maxVal) {
|
|
|
|
static IntegerEncodedValue CreateEncoding(u32 maxVal) {
|
|
|
|