mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	GPU: Reduce the number of registers of Maxwell3D to 0xE00.
The rest are just macro shim registers.
This commit is contained in:
		@@ -33,9 +33,6 @@ void Maxwell3D::CallMacroMethod(u32 method, std::vector<u32> parameters) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Maxwell3D::WriteReg(u32 method, u32 value, u32 remaining_params) {
 | 
			
		||||
    ASSERT_MSG(method < Regs::NUM_REGS,
 | 
			
		||||
               "Invalid Maxwell3D register, increase the size of the Regs structure");
 | 
			
		||||
 | 
			
		||||
    auto debug_context = Core::System::GetInstance().GetGPUDebugContext();
 | 
			
		||||
 | 
			
		||||
    // It is an error to write to a register other than the current macro's ARG register before it
 | 
			
		||||
@@ -64,6 +61,9 @@ void Maxwell3D::WriteReg(u32 method, u32 value, u32 remaining_params) {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    ASSERT_MSG(method < Regs::NUM_REGS,
 | 
			
		||||
               "Invalid Maxwell3D register, increase the size of the Regs structure");
 | 
			
		||||
 | 
			
		||||
    if (debug_context) {
 | 
			
		||||
        debug_context->OnEvent(Tegra::DebugContext::Event::MaxwellCommandLoaded, nullptr);
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@ public:
 | 
			
		||||
    /// Register structure of the Maxwell3D engine.
 | 
			
		||||
    /// TODO(Subv): This structure will need to be made bigger as more registers are discovered.
 | 
			
		||||
    struct Regs {
 | 
			
		||||
        static constexpr size_t NUM_REGS = 0xE36;
 | 
			
		||||
        static constexpr size_t NUM_REGS = 0xE00;
 | 
			
		||||
 | 
			
		||||
        static constexpr size_t NumRenderTargets = 8;
 | 
			
		||||
        static constexpr size_t NumViewports = 16;
 | 
			
		||||
@@ -613,7 +613,7 @@ public:
 | 
			
		||||
                    u32 size[MaxShaderStage];
 | 
			
		||||
                } tex_info_buffers;
 | 
			
		||||
 | 
			
		||||
                INSERT_PADDING_WORDS(0x102);
 | 
			
		||||
                INSERT_PADDING_WORDS(0xCC);
 | 
			
		||||
            };
 | 
			
		||||
            std::array<u32, NUM_REGS> reg_array;
 | 
			
		||||
        };
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user