1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-01-31 14:52:11 +01:00

[dxvk] Ignore redundant render target bindings

Further reduces render pass count if applications bind render targets
without using them, and then bind the old set of render targets again.
This commit is contained in:
Philip Rebohle 2018-04-26 15:30:18 +02:00
parent 1075990dbe
commit 962a7f5766

View File

@ -110,6 +110,10 @@ namespace dxvk {
if (m_state.om.framebuffer == nullptr || !m_state.om.framebuffer->renderTargets().matches(targets)) { if (m_state.om.framebuffer == nullptr || !m_state.om.framebuffer->renderTargets().matches(targets)) {
m_state.om.renderTargets = targets; m_state.om.renderTargets = targets;
m_flags.set(DxvkContextFlag::GpDirtyFramebuffer); m_flags.set(DxvkContextFlag::GpDirtyFramebuffer);
} else {
// Don't redundantly spill the render pass if
// the same render targets are bound again
m_flags.clr(DxvkContextFlag::GpDirtyFramebuffer);
} }
} }