From e4aef0a85b6cfc1e881c09c374a2d35823585870 Mon Sep 17 00:00:00 2001 From: Techjar Date: Fri, 28 May 2021 23:30:22 -0400 Subject: VideoCommon: Move bounding box pixel quads rounding to shader This avoids rounding values that the game writes to the bounding box registers, especially the default values. --- Source/Core/VideoCommon/RenderBase.cpp | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'Source/Core/VideoCommon/RenderBase.cpp') diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index 0ff5b52902..f93d498fc6 100644 --- a/Source/Core/VideoCommon/RenderBase.cpp +++ b/Source/Core/VideoCommon/RenderBase.cpp @@ -187,18 +187,7 @@ void Renderer::ReinterpretPixelData(EFBReinterpretType convtype) u16 Renderer::BBoxRead(int index) { - u16 value = BBoxReadImpl(index); - - // The GC/Wii GPU rasterizes in 2x2 pixel groups, so bounding box values will be rounded to the - // extents of these groups, rather than the exact pixel. - // This would have been handled in the pixel shader, but all attempts to do so did not work on - // OpenGL/NVIDIA, due to presumably mystical driver behavior with atomics. - if (index == 0 || index == 2) - value &= ~1; - else - value |= 1; - - return value; + return BBoxReadImpl(index); } void Renderer::BBoxWrite(int index, u16 value) -- cgit v1.2.3 From a24e78b3cf07e8d169d97a2e4c3635b9efbdba35 Mon Sep 17 00:00:00 2001 From: Techjar Date: Sat, 29 May 2021 01:44:22 -0400 Subject: VideoCommon: Remove BBox* forwarding functions --- Source/Core/VideoCommon/RenderBase.cpp | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'Source/Core/VideoCommon/RenderBase.cpp') diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index f93d498fc6..93f8fa2279 100644 --- a/Source/Core/VideoCommon/RenderBase.cpp +++ b/Source/Core/VideoCommon/RenderBase.cpp @@ -185,21 +185,6 @@ void Renderer::ReinterpretPixelData(EFBReinterpretType convtype) g_framebuffer_manager->ReinterpretPixelData(convtype); } -u16 Renderer::BBoxRead(int index) -{ - return BBoxReadImpl(index); -} - -void Renderer::BBoxWrite(int index, u16 value) -{ - BBoxWriteImpl(index, value); -} - -void Renderer::BBoxFlush() -{ - BBoxFlushImpl(); -} - u32 Renderer::AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data) { if (type == EFBAccessType::PeekColor) -- cgit v1.2.3