GPU/SW: Set display parameters before data

This commit is contained in:
Connor McLaughlin 2021-05-14 03:36:25 +10:00
parent 3d972955a7
commit 437d3fbb4b
2 changed files with 9 additions and 9 deletions

View File

@ -492,6 +492,11 @@ void GPU_SW::UpdateDisplay()
return;
}
m_host_display->SetDisplayParameters(m_crtc_state.display_width, m_crtc_state.display_height,
m_crtc_state.display_origin_left, m_crtc_state.display_origin_top,
m_crtc_state.display_vram_width, m_crtc_state.display_vram_height,
GetDisplayAspectRatio());
const u32 vram_offset_y = m_crtc_state.display_vram_top;
const u32 display_width = m_crtc_state.display_vram_width;
const u32 display_height = m_crtc_state.display_vram_height;
@ -525,11 +530,6 @@ void GPU_SW::UpdateDisplay()
display_height, 0, false, false);
}
}
m_host_display->SetDisplayParameters(m_crtc_state.display_width, m_crtc_state.display_height,
m_crtc_state.display_origin_left, m_crtc_state.display_origin_top,
m_crtc_state.display_vram_width, m_crtc_state.display_vram_height,
GetDisplayAspectRatio());
}
else
{
@ -539,7 +539,7 @@ void GPU_SW::UpdateDisplay()
}
}
void GPU_SW::FillBackendCommandParameters(GPUBackendCommand* cmd)
void GPU_SW::FillBackendCommandParameters(GPUBackendCommand* cmd) const
{
cmd->params.bits = 0;
cmd->params.check_mask_before_draw = m_GPUSTAT.check_mask_before_draw;
@ -548,7 +548,7 @@ void GPU_SW::FillBackendCommandParameters(GPUBackendCommand* cmd)
cmd->params.interlaced_rendering = IsInterlacedRenderingEnabled();
}
void GPU_SW::FillDrawCommand(GPUBackendDrawCommand* cmd, GPURenderCommand rc)
void GPU_SW::FillDrawCommand(GPUBackendDrawCommand* cmd, GPURenderCommand rc) const
{
FillBackendCommandParameters(cmd);
cmd->rc.bits = rc.bits;

View File

@ -44,8 +44,8 @@ protected:
void DispatchRenderCommand() override;
void FillBackendCommandParameters(GPUBackendCommand* cmd);
void FillDrawCommand(GPUBackendDrawCommand* cmd, GPURenderCommand rc);
void FillBackendCommandParameters(GPUBackendCommand* cmd) const;
void FillDrawCommand(GPUBackendDrawCommand* cmd, GPURenderCommand rc) const;
HeapArray<u8, GPU_MAX_DISPLAY_WIDTH * GPU_MAX_DISPLAY_HEIGHT * sizeof(u32)> m_display_texture_buffer;
HostDisplayPixelFormat m_16bit_display_format = HostDisplayPixelFormat::RGB565;