summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D/XFBEncoder.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2015-11-28 21:33:47 +1000
committerStenzek <stenzek@gmail.com>2015-12-08 20:29:21 +1000
commit63264ac23f3b9cfaa725cf90d995497ba1601449 (patch)
tree2e3934b26e064f9e794006223ed4a2d3ee3c657c /Source/Core/VideoBackends/D3D/XFBEncoder.cpp
parent5e803c3db3fa27b943d3d7789086789946eed6a7 (diff)
D3D: Fix EFB depth buffer copies, filtering on scaled EFB copies when MSAA is enabled, real XFB filtering
Since ResolveSubresource cannot be used with depth textures (and throws an error with the debug layer enabled), use a shader which selects the minimum depth value from all samples. Changes the sampler by XFBEncoder to use a linear filter, rather than point, to match GL behavior.
Diffstat (limited to 'Source/Core/VideoBackends/D3D/XFBEncoder.cpp')
-rw-r--r--Source/Core/VideoBackends/D3D/XFBEncoder.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/Source/Core/VideoBackends/D3D/XFBEncoder.cpp b/Source/Core/VideoBackends/D3D/XFBEncoder.cpp
index 560b13fa7a..a4fb947d5e 100644
--- a/Source/Core/VideoBackends/D3D/XFBEncoder.cpp
+++ b/Source/Core/VideoBackends/D3D/XFBEncoder.cpp
@@ -247,8 +247,7 @@ void XFBEncoder::Init()
// Create EFB texture sampler
D3D11_SAMPLER_DESC sd = CD3D11_SAMPLER_DESC(CD3D11_DEFAULT());
- // FIXME: Should we really use point sampling here?
- sd.Filter = D3D11_FILTER_MIN_MAG_MIP_POINT;
+ sd.Filter = D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT;
hr = D3D::device->CreateSamplerState(&sd, &m_efbSampler);
CHECK(SUCCEEDED(hr), "create xfb encode texture sampler");
D3D::SetDebugObjectName(m_efbSampler, "xfb encoder texture sampler");