Skip to content

Commit afad2b5

Browse files
author
vanitynie
committed
fix(vulkan): fix split barrier events and general barrier submission
1 parent c3a8a72 commit afad2b5

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

native/cocos/renderer/gfx-vulkan/VKCommandBuffer.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -892,7 +892,7 @@ void CCVKCommandBuffer::pipelineBarrier(const GeneralBarrier *barrier, const Buf
892892
signalEvent(ccBuffer, gpuBarrier->srcStageMask);
893893
} else {
894894
bool fullBarrier = ccBarrier->getInfo().type == BarrierType::FULL;
895-
bool missed = _barrierEvents.find(ccBuffer) != _barrierEvents.end();
895+
bool missed = _barrierEvents.find(ccBuffer) == _barrierEvents.end();
896896
if (!fullBarrier && !missed) {
897897
CC_ASSERT(_barrierEvents.find(ccBuffer) != _barrierEvents.end());
898898
VkEvent event = _barrierEvents.at(ccBuffer);
@@ -966,8 +966,8 @@ void CCVKCommandBuffer::pipelineBarrier(const GeneralBarrier *barrier, const Buf
966966
}
967967
}
968968

969-
if (!fullBufferBarriers.empty() || !fullImageBarriers.empty()) {
970-
vkCmdPipelineBarrier(_gpuCommandBuffer->vkCommandBuffer, fullSrcStageMask, fullDstStageMask, 0, 0, pMemoryBarrier,
969+
if (!fullBufferBarriers.empty() || !fullImageBarriers.empty() || pMemoryBarrier) {
970+
vkCmdPipelineBarrier(_gpuCommandBuffer->vkCommandBuffer, fullSrcStageMask, fullDstStageMask, 0, pMemoryBarrier ? 1 : 0, pMemoryBarrier,
971971
fullBufferBarriers.size(), fullBufferBarriers.data(), fullImageBarriers.size(), fullImageBarriers.data());
972972
}
973973
}

0 commit comments

Comments
 (0)