GS: Fix up overscan offsets. Stop using 3:2 for overscan.

This commit is contained in:
refractionpcsx2 2023-06-17 13:48:46 +01:00
parent e5ac7d66ba
commit 4d921cc9f9
3 changed files with 7 additions and 7 deletions

View File

@ -312,8 +312,8 @@ public:
};
static inline constexpr GSVector4i VideoModeOffsetsOverscan[6] = {
GSVector4i::cxpr(711, 243, 498, 12),
GSVector4i::cxpr(702, 288, 532, 18),
GSVector4i::cxpr(711, 240, 498, 17),
GSVector4i::cxpr(711, 288, 532, 21),
GSVector4i::cxpr(640, 480, 276, 34),
GSVector4i::cxpr(720, 480, 232, 35),
GSVector4i::cxpr(1280, 720, 302, 24),

View File

@ -603,7 +603,7 @@ void GSRenderer::VSync(u32 field, bool registers_written, bool idle_frame)
src_uv = GSVector4(src_rect) / GSVector4(current->GetSize()).xyxy();
draw_rect = CalculateDrawDstRect(g_gs_device->GetWindowWidth(), g_gs_device->GetWindowHeight(),
src_rect, current->GetSize(), s_display_alignment, g_gs_device->UsesLowerLeftOrigin(),
GetVideoMode() == GSVideoMode::SDTV_480P || (GSConfig.PCRTCOverscan && GSConfig.PCRTCOffsets));
GetVideoMode() == GSVideoMode::SDTV_480P);
s_last_draw_rect = draw_rect;
if (GSConfig.CASMode != GSCASMode::Disabled)
@ -850,7 +850,7 @@ void GSRenderer::PresentCurrentFrame()
const GSVector4 src_uv(GSVector4(src_rect) / GSVector4(current->GetSize()).xyxy());
const GSVector4 draw_rect(CalculateDrawDstRect(g_gs_device->GetWindowWidth(), g_gs_device->GetWindowHeight(),
src_rect, current->GetSize(), s_display_alignment, g_gs_device->UsesLowerLeftOrigin(),
GetVideoMode() == GSVideoMode::SDTV_480P || (GSConfig.PCRTCOverscan && GSConfig.PCRTCOffsets)));
GetVideoMode() == GSVideoMode::SDTV_480P));
s_last_draw_rect = draw_rect;
const u64 current_time = Common::Timer::GetCurrentValue();
@ -893,7 +893,7 @@ bool GSRenderer::BeginCapture(std::string filename)
GSVector2i(GSConfig.VideoCaptureWidth, GSConfig.VideoCaptureHeight));
return GSCapture::BeginCapture(GetTvRefreshRate(), capture_resolution,
GetCurrentAspectRatioFloat(GetVideoMode() == GSVideoMode::SDTV_480P || (GSConfig.PCRTCOverscan && GSConfig.PCRTCOffsets)),
GetCurrentAspectRatioFloat(GetVideoMode() == GSVideoMode::SDTV_480P),
std::move(filename));
}
@ -927,7 +927,7 @@ bool GSRenderer::SaveSnapshotToMemory(u32 window_width, u32 window_height, bool
const GSVector4i src_rect(CalculateDrawSrcRect(current));
const GSVector4 src_uv(GSVector4(src_rect) / GSVector4(current->GetSize()).xyxy());
const bool is_progressive = (GetVideoMode() == GSVideoMode::SDTV_480P || (GSConfig.PCRTCOverscan && GSConfig.PCRTCOffsets));
const bool is_progressive = (GetVideoMode() == GSVideoMode::SDTV_480P);
GSVector4 draw_rect;
if (window_width == 0 || window_height == 0)
{

View File

@ -577,7 +577,7 @@ void VMManager::RequestDisplaySize(float scale /*= 0.0f*/)
switch (GSConfig.AspectRatio)
{
case AspectRatioType::RAuto4_3_3_2:
if (GSgetDisplayMode() == GSVideoMode::SDTV_480P || (GSConfig.PCRTCOverscan && GSConfig.PCRTCOffsets))
if (GSgetDisplayMode() == GSVideoMode::SDTV_480P)
x_scale = (3.0f / 2.0f) / (static_cast<float>(iwidth) / static_cast<float>(iheight));
else
x_scale = (4.0f / 3.0f) / (static_cast<float>(iwidth) / static_cast<float>(iheight));