From 928b5694ede76d1687d17e2a18d334bf16519a13 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin <stenzek@gmail.com> Date: Sun, 11 Jul 2021 14:07:33 +1000 Subject: [PATCH] GPU/D3D12: Fix VRAM getting trashed on interlace switch --- src/core/gpu_hw_d3d12.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/gpu_hw_d3d12.cpp b/src/core/gpu_hw_d3d12.cpp index 237880dc3..6680b6f61 100644 --- a/src/core/gpu_hw_d3d12.cpp +++ b/src/core/gpu_hw_d3d12.cpp @@ -755,8 +755,11 @@ void GPU_HW_D3D12::ClearDisplay() { GPU_HW::ClearDisplay(); + m_host_display->ClearDisplayTexture(); + static constexpr float clear_color[4] = {0.0f, 0.0f, 0.0f, 1.0f}; - g_d3d12_context->GetCommandList()->ClearRenderTargetView(m_vram_texture.GetRTVOrDSVDescriptor(), clear_color, 0, + m_display_texture.TransitionToState(D3D12_RESOURCE_STATE_RENDER_TARGET); + g_d3d12_context->GetCommandList()->ClearRenderTargetView(m_display_texture.GetRTVOrDSVDescriptor(), clear_color, 0, nullptr); }