GPU/HW: Track dirty area of VRAM shadow texture via drawing area

This commit is contained in:
Connor McLaughlin
2019-11-05 19:19:49 +10:00
parent 65197d4350
commit afbec85f89
9 changed files with 95 additions and 117 deletions

View File

@ -38,8 +38,10 @@ void GPU::Reset()
void GPU::SoftReset()
{
m_GPUSTAT.bits = 0x14802000;
m_drawing_area = {};
m_drawing_area.Set(0, 0, 0, 0);
m_drawing_area_changed = true;
m_drawing_offset = {};
m_drawing_offset_changed = true;
std::memset(&m_crtc_state, 0, sizeof(m_crtc_state));
m_crtc_state.regs.display_address_start = 0;
m_crtc_state.regs.horizontal_display_range = 0xC60260;
@ -50,8 +52,6 @@ void GPU::SoftReset()
m_render_state.texture_page_changed = true;
UpdateGPUSTAT();
UpdateCRTCConfig();
UpdateDrawingArea();
UpdateDrawingOffset();
}
bool GPU::DoState(StateWrapper& sw)
@ -115,8 +115,8 @@ bool GPU::DoState(StateWrapper& sw)
{
m_render_state.texture_page_changed = true;
m_render_state.texture_window_changed = true;
UpdateDrawingArea();
UpdateDrawingOffset();
m_drawing_area_changed = true;
m_drawing_offset_changed = true;
UpdateGPUSTAT();
}
@ -665,10 +665,6 @@ void GPU::HandleGetGPUInfoCommand(u32 value)
void GPU::UpdateDisplay() {}
void GPU::UpdateDrawingArea() {}
void GPU::UpdateDrawingOffset() {}
void GPU::ReadVRAM(u32 x, u32 y, u32 width, u32 height, void* buffer) {}
void GPU::FillVRAM(u32 x, u32 y, u32 width, u32 height, u32 color) {}