Use std::bitset for shader bit-iterations

Uses `std::bitset` for bool-uniforms and component-mask iteration:
https://en.cppreference.com/w/cpp/utility/bitset
This commit is contained in:
Wunkolo 2024-03-22 23:04:26 -07:00
parent 5284109fd4
commit 0015227f96
No known key found for this signature in database
3 changed files with 73 additions and 71 deletions

View file

@ -1,6 +1,6 @@
#pragma once
#include <algorithm>
#include <array>
#include <bitset>
#include <cstring>
#include "PICA/float_types.hpp"
@ -90,7 +90,7 @@ class PICAShader {
public:
// These are placed close to the temp registers and co because it helps the JIT generate better code
u32 entrypoint = 0; // Initial shader PC
u32 boolUniform;
std::bitset<16> boolUniform;
std::array<std::array<u8, 4>, 4> intUniforms;
alignas(16) std::array<vec4f, 96> floatUniforms;