diff options
| author | Jules Blok <jules.blok@gmail.com> | 2017-07-06 01:26:06 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-07-06 01:26:06 +0200 |
| commit | 29cc009706f133aac39ebaa7003d37555b926109 (patch) | |
| tree | e95a51c7ea5abd471be45e00c98f11b308c21537 /Source/Core/VideoBackends/D3D/Render.cpp | |
| parent | 421a2c57761d4f51f8bcaf866e17a8c8b38b4cd2 (diff) | |
| parent | 8476d0271d56ef2d49657d31d97d42395585ad3b (diff) | |
Merge pull request #5697 from Armada651/quad-buffer
Implement Quad-Buffered stereoscopy support
Diffstat (limited to 'Source/Core/VideoBackends/D3D/Render.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/D3D/Render.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Source/Core/VideoBackends/D3D/Render.cpp b/Source/Core/VideoBackends/D3D/Render.cpp index 3fef05973b..027c3611c0 100644 --- a/Source/Core/VideoBackends/D3D/Render.cpp +++ b/Source/Core/VideoBackends/D3D/Render.cpp @@ -1220,12 +1220,16 @@ void Renderer::BlitScreen(TargetRectangle src, TargetRectangle dst, D3DTexture2D D3D11_VIEWPORT vp = CD3D11_VIEWPORT((float)dst.left, (float)dst.top, (float)dst.GetWidth(), (float)dst.GetHeight()); D3D::context->RSSetViewports(1, &vp); - D3D::drawShadedTexQuad(src_texture->GetSRV(), src.AsRECT(), src_width, src_height, - (g_Config.iStereoMode == STEREO_ANAGLYPH) ? - PixelShaderCache::GetAnaglyphProgram() : - PixelShaderCache::GetColorCopyProgram(false), + + ID3D11PixelShader* pixelShader = (g_Config.iStereoMode == STEREO_ANAGLYPH) ? + PixelShaderCache::GetAnaglyphProgram() : + PixelShaderCache::GetColorCopyProgram(false); + ID3D11GeometryShader* geomShader = (g_ActiveConfig.iStereoMode == STEREO_QUADBUFFER) ? + GeometryShaderCache::GetCopyGeometryShader() : + nullptr; + D3D::drawShadedTexQuad(src_texture->GetSRV(), src.AsRECT(), src_width, src_height, pixelShader, VertexShaderCache::GetSimpleVertexShader(), - VertexShaderCache::GetSimpleInputLayout(), nullptr, Gamma); + VertexShaderCache::GetSimpleInputLayout(), geomShader, Gamma); } } |
