gl_shader_decompiler: Boilerplate for handling integer instructions.
This commit is contained in:
parent
37fa9a15cd
commit
c9d7abe9c9
2 changed files with 111 additions and 6 deletions
|
@ -19,7 +19,10 @@ namespace Tegra {
|
|||
namespace Shader {
|
||||
|
||||
struct Register {
|
||||
// Register 255 is special cased to always be 0
|
||||
/// Number of registers
|
||||
static constexpr size_t NumRegisters = 256;
|
||||
|
||||
/// Register 255 is special cased to always be 0
|
||||
static constexpr size_t ZeroIndex = 255;
|
||||
|
||||
constexpr Register() = default;
|
||||
|
@ -48,6 +51,11 @@ struct Register {
|
|||
return ~value;
|
||||
}
|
||||
|
||||
u64 GetSwizzledIndex(u64 elem) const {
|
||||
elem = (value + elem) & 3;
|
||||
return (value & ~3) + elem;
|
||||
}
|
||||
|
||||
private:
|
||||
u64 value{};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue