gl_shader_decompiler: Boilerplate for handling integer instructions.

This commit is contained in:
bunnei 2018-04-25 23:55:21 -04:00
parent 37fa9a15cd
commit c9d7abe9c9
2 changed files with 111 additions and 6 deletions

View file

@ -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{};
};