mirror of https://github.com/PCSX2/pcsx2.git
GS: Fix up overscan offsets. Stop using 3:2 for overscan.
This commit is contained in:
parent
e5ac7d66ba
commit
4d921cc9f9
|
@ -312,8 +312,8 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline constexpr GSVector4i VideoModeOffsetsOverscan[6] = {
|
static inline constexpr GSVector4i VideoModeOffsetsOverscan[6] = {
|
||||||
GSVector4i::cxpr(711, 243, 498, 12),
|
GSVector4i::cxpr(711, 240, 498, 17),
|
||||||
GSVector4i::cxpr(702, 288, 532, 18),
|
GSVector4i::cxpr(711, 288, 532, 21),
|
||||||
GSVector4i::cxpr(640, 480, 276, 34),
|
GSVector4i::cxpr(640, 480, 276, 34),
|
||||||
GSVector4i::cxpr(720, 480, 232, 35),
|
GSVector4i::cxpr(720, 480, 232, 35),
|
||||||
GSVector4i::cxpr(1280, 720, 302, 24),
|
GSVector4i::cxpr(1280, 720, 302, 24),
|
||||||
|
|
|
@ -603,7 +603,7 @@ void GSRenderer::VSync(u32 field, bool registers_written, bool idle_frame)
|
||||||
src_uv = GSVector4(src_rect) / GSVector4(current->GetSize()).xyxy();
|
src_uv = GSVector4(src_rect) / GSVector4(current->GetSize()).xyxy();
|
||||||
draw_rect = CalculateDrawDstRect(g_gs_device->GetWindowWidth(), g_gs_device->GetWindowHeight(),
|
draw_rect = CalculateDrawDstRect(g_gs_device->GetWindowWidth(), g_gs_device->GetWindowHeight(),
|
||||||
src_rect, current->GetSize(), s_display_alignment, g_gs_device->UsesLowerLeftOrigin(),
|
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;
|
s_last_draw_rect = draw_rect;
|
||||||
|
|
||||||
if (GSConfig.CASMode != GSCASMode::Disabled)
|
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 src_uv(GSVector4(src_rect) / GSVector4(current->GetSize()).xyxy());
|
||||||
const GSVector4 draw_rect(CalculateDrawDstRect(g_gs_device->GetWindowWidth(), g_gs_device->GetWindowHeight(),
|
const GSVector4 draw_rect(CalculateDrawDstRect(g_gs_device->GetWindowWidth(), g_gs_device->GetWindowHeight(),
|
||||||
src_rect, current->GetSize(), s_display_alignment, g_gs_device->UsesLowerLeftOrigin(),
|
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;
|
s_last_draw_rect = draw_rect;
|
||||||
|
|
||||||
const u64 current_time = Common::Timer::GetCurrentValue();
|
const u64 current_time = Common::Timer::GetCurrentValue();
|
||||||
|
@ -893,7 +893,7 @@ bool GSRenderer::BeginCapture(std::string filename)
|
||||||
GSVector2i(GSConfig.VideoCaptureWidth, GSConfig.VideoCaptureHeight));
|
GSVector2i(GSConfig.VideoCaptureWidth, GSConfig.VideoCaptureHeight));
|
||||||
|
|
||||||
return GSCapture::BeginCapture(GetTvRefreshRate(), capture_resolution,
|
return GSCapture::BeginCapture(GetTvRefreshRate(), capture_resolution,
|
||||||
GetCurrentAspectRatioFloat(GetVideoMode() == GSVideoMode::SDTV_480P || (GSConfig.PCRTCOverscan && GSConfig.PCRTCOffsets)),
|
GetCurrentAspectRatioFloat(GetVideoMode() == GSVideoMode::SDTV_480P),
|
||||||
std::move(filename));
|
std::move(filename));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -927,7 +927,7 @@ bool GSRenderer::SaveSnapshotToMemory(u32 window_width, u32 window_height, bool
|
||||||
const GSVector4i src_rect(CalculateDrawSrcRect(current));
|
const GSVector4i src_rect(CalculateDrawSrcRect(current));
|
||||||
const GSVector4 src_uv(GSVector4(src_rect) / GSVector4(current->GetSize()).xyxy());
|
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;
|
GSVector4 draw_rect;
|
||||||
if (window_width == 0 || window_height == 0)
|
if (window_width == 0 || window_height == 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -577,7 +577,7 @@ void VMManager::RequestDisplaySize(float scale /*= 0.0f*/)
|
||||||
switch (GSConfig.AspectRatio)
|
switch (GSConfig.AspectRatio)
|
||||||
{
|
{
|
||||||
case AspectRatioType::RAuto4_3_3_2:
|
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));
|
x_scale = (3.0f / 2.0f) / (static_cast<float>(iwidth) / static_cast<float>(iheight));
|
||||||
else
|
else
|
||||||
x_scale = (4.0f / 3.0f) / (static_cast<float>(iwidth) / static_cast<float>(iheight));
|
x_scale = (4.0f / 3.0f) / (static_cast<float>(iwidth) / static_cast<float>(iheight));
|
||||||
|
|
Loading…
Reference in New Issue