[D3D12] Fix non-ROV clearing always giving 'failed in backend'

This commit is contained in:
Triang3l 2021-04-28 17:27:57 +03:00
parent 51c2c9e5f2
commit 71fbfdb63e
1 changed files with 3 additions and 3 deletions

View File

@ -1518,6 +1518,8 @@ bool D3D12RenderTargetCache::Resolve(const Memory& memory,
case Path::kHostRenderTargets: { case Path::kHostRenderTargets: {
Transfer::Rectangle clear_rectangle; Transfer::Rectangle clear_rectangle;
RenderTarget* clear_render_targets[2]; RenderTarget* clear_render_targets[2];
// If PrepareHostRenderTargetsResolveClear returns false, may be just an
// empty region (success) or an error - don't care.
if (PrepareHostRenderTargetsResolveClear( if (PrepareHostRenderTargetsResolveClear(
resolve_info, clear_rectangle, clear_render_targets[0], resolve_info, clear_rectangle, clear_render_targets[0],
clear_transfers_[0], clear_render_targets[1], clear_transfers_[0], clear_render_targets[1],
@ -1529,10 +1531,8 @@ bool D3D12RenderTargetCache::Resolve(const Memory& memory,
PerformTransfersAndResolveClears(2, clear_render_targets, PerformTransfersAndResolveClears(2, clear_render_targets,
clear_transfers_, clear_values, clear_transfers_, clear_values,
&clear_rectangle); &clear_rectangle);
} else {
// May be just an empty region (success) or an error - don't care.
cleared = true;
} }
cleared = true;
} break; } break;
case Path::kPixelShaderInterlock: { case Path::kPixelShaderInterlock: {
ui::d3d12::util::DescriptorCpuGpuHandlePair descriptor_edram; ui::d3d12::util::DescriptorCpuGpuHandlePair descriptor_edram;