gl_shader_decompiler: Boilerplate for handling integer instructions.
This commit is contained in:
		@@ -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{};
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user