summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D/Render.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2014-12-03 14:49:30 -0500
committerLioncash <mathew1800@gmail.com>2014-12-03 14:49:30 -0500
commit88cd27bbcaaa46b8bbd3cf29ee71327c629be0c2 (patch)
tree7f8799a92409bbd9fd9efe8327b305a3724adbdd /Source/Core/VideoBackends/D3D/Render.cpp
parentb9b3277fb52cc14065082482b0c654217b39841c (diff)
parent36b886cb802c44eb02482b17ce483ba76ccb25ee (diff)
Merge pull request #1392 from kayru/d3d_viewport_depth
D3D: Replaced shader-based depth range remap with viewport
Diffstat (limited to 'Source/Core/VideoBackends/D3D/Render.cpp')
-rw-r--r--Source/Core/VideoBackends/D3D/Render.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/Source/Core/VideoBackends/D3D/Render.cpp b/Source/Core/VideoBackends/D3D/Render.cpp
index 0441e63d7b..5db7b8b4ec 100644
--- a/Source/Core/VideoBackends/D3D/Render.cpp
+++ b/Source/Core/VideoBackends/D3D/Render.cpp
@@ -485,10 +485,9 @@ void Renderer::SetViewport()
Wd = (X + Wd <= GetTargetWidth()) ? Wd : (GetTargetWidth() - X);
Ht = (Y + Ht <= GetTargetHeight()) ? Ht : (GetTargetHeight() - Y);
- // Some games set invalid values for z-min and z-max so fix them to the max and min allowed and let the shaders do this work
D3D11_VIEWPORT vp = CD3D11_VIEWPORT(X, Y, Wd, Ht,
- 0.f, // (xfmem.viewport.farZ - xfmem.viewport.zRange) / 16777216.0f;
- 1.f); // xfmem.viewport.farZ / 16777216.0f;
+ std::max(0.0f, std::min(1.0f, (xfmem.viewport.farZ - xfmem.viewport.zRange) / 16777216.0f)),
+ std::max(0.0f, std::min(1.0f, xfmem.viewport.farZ / 16777216.0f)));
D3D::context->RSSetViewports(1, &vp);
}