From fdf5fefa91051c267bb9984fa210c13147f3f1df Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Fri, 30 Dec 2022 12:33:02 -0800 Subject: [PATCH] GPU: Normalize CopyDisplayToOutput across backends. --- GPU/D3D11/GPU_D3D11.cpp | 8 +------- GPU/Directx9/GPU_DX9.cpp | 7 ++----- GPU/GLES/GPU_GLES.cpp | 2 ++ 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/GPU/D3D11/GPU_D3D11.cpp b/GPU/D3D11/GPU_D3D11.cpp index ec25c84f4b..7504d04bb5 100644 --- a/GPU/D3D11/GPU_D3D11.cpp +++ b/GPU/D3D11/GPU_D3D11.cpp @@ -163,16 +163,10 @@ void GPU_D3D11::CopyDisplayToOutput(bool reallyDirty) { // Flush anything left over. drawEngine_.Flush(); - float blendColor[4]{}; - context_->OMSetBlendState(stockD3D11.blendStateDisabledWithColorMask[0xF], blendColor, 0xFFFFFFFF); - // Since we're forcing the blend state, clear Draw. - if (draw_) - draw_->Invalidate(InvalidationFlags::CACHED_RENDER_STATE); + shaderManager_->DirtyLastShader(); framebufferManagerD3D11_->CopyDisplayToOutput(reallyDirty); - shaderManagerD3D11_->DirtyLastShader(); - gstate_c.Dirty(DIRTY_TEXTURE_IMAGE); } diff --git a/GPU/Directx9/GPU_DX9.cpp b/GPU/Directx9/GPU_DX9.cpp index dec1c5f4da..7f13bb10ee 100644 --- a/GPU/Directx9/GPU_DX9.cpp +++ b/GPU/Directx9/GPU_DX9.cpp @@ -158,14 +158,11 @@ void GPU_DX9::BeginFrame() { } void GPU_DX9::CopyDisplayToOutput(bool reallyDirty) { - dxstate.depthWrite.set(true); - dxstate.colorMask.set(0xF); - drawEngine_.Flush(); - framebufferManagerDX9_->CopyDisplayToOutput(reallyDirty); + shaderManager_->DirtyLastShader(); - shaderManagerDX9_->DirtyLastShader(); + framebufferManagerDX9_->CopyDisplayToOutput(reallyDirty); gstate_c.Dirty(DIRTY_TEXTURE_IMAGE); } diff --git a/GPU/GLES/GPU_GLES.cpp b/GPU/GLES/GPU_GLES.cpp index 636db741a9..7ef12af3be 100644 --- a/GPU/GLES/GPU_GLES.cpp +++ b/GPU/GLES/GPU_GLES.cpp @@ -304,6 +304,8 @@ void GPU_GLES::CopyDisplayToOutput(bool reallyDirty) { shaderManagerGL_->DirtyLastShader(); framebufferManagerGL_->CopyDisplayToOutput(reallyDirty); + + gstate_c.Dirty(DIRTY_TEXTURE_IMAGE); } void GPU_GLES::FinishDeferred() {