mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-19 14:52:10 +01:00
[dxvk] Don't flush barriers in renderPassBindFramebuffer
Instead, any pending barriers must be flushed manually if necessary.
This commit is contained in:
parent
5b90b6a7ce
commit
1631243c64
@ -542,6 +542,12 @@ namespace dxvk {
|
|||||||
if (attachmentIndex < 0) {
|
if (attachmentIndex < 0) {
|
||||||
this->spillRenderPass();
|
this->spillRenderPass();
|
||||||
|
|
||||||
|
if (m_barriers.isImageDirty(
|
||||||
|
imageView->image(),
|
||||||
|
imageView->subresources(),
|
||||||
|
DxvkAccess::Write))
|
||||||
|
m_barriers.recordCommands(m_cmd);
|
||||||
|
|
||||||
// Set up and bind a temporary framebuffer
|
// Set up and bind a temporary framebuffer
|
||||||
DxvkRenderTargets attachments;
|
DxvkRenderTargets attachments;
|
||||||
DxvkRenderPassOps ops;
|
DxvkRenderPassOps ops;
|
||||||
@ -1764,6 +1770,12 @@ namespace dxvk {
|
|||||||
if (attachmentIndex < 0) {
|
if (attachmentIndex < 0) {
|
||||||
this->spillRenderPass();
|
this->spillRenderPass();
|
||||||
|
|
||||||
|
if (m_barriers.isImageDirty(
|
||||||
|
imageView->image(),
|
||||||
|
imageView->subresources(),
|
||||||
|
DxvkAccess::Write))
|
||||||
|
m_barriers.recordCommands(m_cmd);
|
||||||
|
|
||||||
// Set up a temporary framebuffer
|
// Set up a temporary framebuffer
|
||||||
DxvkRenderTargets attachments;
|
DxvkRenderTargets attachments;
|
||||||
DxvkRenderPassOps ops;
|
DxvkRenderPassOps ops;
|
||||||
@ -2374,6 +2386,8 @@ namespace dxvk {
|
|||||||
m_flags.set(DxvkContextFlag::GpRenderPassBound);
|
m_flags.set(DxvkContextFlag::GpRenderPassBound);
|
||||||
m_flags.clr(DxvkContextFlag::GpClearRenderTargets);
|
m_flags.clr(DxvkContextFlag::GpClearRenderTargets);
|
||||||
|
|
||||||
|
m_barriers.recordCommands(m_cmd);
|
||||||
|
|
||||||
this->renderPassBindFramebuffer(
|
this->renderPassBindFramebuffer(
|
||||||
m_state.om.framebuffer,
|
m_state.om.framebuffer,
|
||||||
m_state.om.renderPassOps,
|
m_state.om.renderPassOps,
|
||||||
@ -2433,8 +2447,6 @@ namespace dxvk {
|
|||||||
info.clearValueCount = clearValueCount;
|
info.clearValueCount = clearValueCount;
|
||||||
info.pClearValues = clearValues;
|
info.pClearValues = clearValues;
|
||||||
|
|
||||||
m_barriers.recordCommands(m_cmd);
|
|
||||||
|
|
||||||
m_cmd->cmdBeginRenderPass(&info,
|
m_cmd->cmdBeginRenderPass(&info,
|
||||||
VK_SUBPASS_CONTENTS_INLINE);
|
VK_SUBPASS_CONTENTS_INLINE);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user