summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/Renderer.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2019-03-20 22:14:38 +1000
committerStenzek <stenzek@gmail.com>2019-03-25 18:47:58 +1000
commit16294acd2ae97fc7efa8e885fbfb83b834c7976d (patch)
treef42cf8c30a3ae834615a5178eb13efd515e4fa80 /Source/Core/VideoBackends/Vulkan/Renderer.cpp
parent20999db93cb755dfa8e05680c1edb409439d28ca (diff)
VideoBackends: Scale bounding box rectangle in the pixel shader
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/Renderer.cpp')
-rw-r--r--Source/Core/VideoBackends/Vulkan/Renderer.cpp41
1 files changed, 2 insertions, 39 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/Renderer.cpp b/Source/Core/VideoBackends/Vulkan/Renderer.cpp
index ae3c7c5807..8b560be15d 100644
--- a/Source/Core/VideoBackends/Vulkan/Renderer.cpp
+++ b/Source/Core/VideoBackends/Vulkan/Renderer.cpp
@@ -131,49 +131,12 @@ void Renderer::SetPipeline(const AbstractPipeline* pipeline)
u16 Renderer::BBoxRead(int index)
{
- s32 value = m_bounding_box->Get(static_cast<size_t>(index));
-
- // Here we get the min/max value of the truncated position of the upscaled framebuffer.
- // So we have to correct them to the unscaled EFB sizes.
- if (index < 2)
- {
- // left/right
- value = value * EFB_WIDTH / m_target_width;
- }
- else
- {
- // up/down
- value = value * EFB_HEIGHT / m_target_height;
- }
-
- // fix max values to describe the outer border
- if (index & 1)
- value++;
-
- return static_cast<u16>(value);
+ return static_cast<u16>(m_bounding_box->Get(index));
}
void Renderer::BBoxWrite(int index, u16 value)
{
- s32 scaled_value = static_cast<s32>(value);
-
- // fix max values to describe the outer border
- if (index & 1)
- scaled_value--;
-
- // scale to internal resolution
- if (index < 2)
- {
- // left/right
- scaled_value = scaled_value * m_target_width / EFB_WIDTH;
- }
- else
- {
- // up/down
- scaled_value = scaled_value * m_target_height / EFB_HEIGHT;
- }
-
- m_bounding_box->Set(static_cast<size_t>(index), scaled_value);
+ m_bounding_box->Set(index, value);
}
void Renderer::BBoxFlush()