blob: 7a1276c8e9e41e5419c501d93a32eeb7dd4a348f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#pragma once
#include <vector>
#include "spirv_code_buffer.h"
namespace dxvk {
/**
* \brief Compressed SPIR-V code buffer
*
* Implements a fast in-memory compression
* to keep memory footprint low.
*/
class SpirvCompressedBuffer {
constexpr static uint32_t NumMaskWords = 32;
public:
SpirvCompressedBuffer();
SpirvCompressedBuffer(
const SpirvCodeBuffer& code);
~SpirvCompressedBuffer();
SpirvCodeBuffer decompress() const;
private:
uint32_t m_size;
std::vector<uint64_t> m_mask;
std::vector<uint64_t> m_code;
};
}
|