1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-02-21 22:54:16 +01:00

[dxvk] Use new barrier helpers in clearBufferView

This commit is contained in:
Philip Rebohle 2024-10-12 01:12:26 +02:00 committed by Philip Rebohle
parent 5dfc4d6300
commit 6ef6cb3b45

View File

@ -262,10 +262,7 @@ namespace dxvk {
this->spillRenderPass(true);
this->invalidateState();
auto bufferSlice = bufferView->getSliceHandle();
if (m_execBarriers.isBufferDirty(bufferSlice, DxvkAccess::Write))
m_execBarriers.recordCommands(m_cmd);
flushPendingAccesses(*bufferView, DxvkAccess::Write);
// Query pipeline objects to use for this clear operation
DxvkMetaClearPipeline pipeInfo = m_common->metaClear().getClearBufferPipeline(
@ -305,11 +302,8 @@ namespace dxvk {
m_cmd->cmdDispatch(DxvkCmdBuffer::ExecBuffer,
workgroups.width, workgroups.height, workgroups.depth);
m_execBarriers.accessBuffer(bufferSlice,
VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
VK_ACCESS_SHADER_WRITE_BIT,
bufferView->buffer()->info().stages,
bufferView->buffer()->info().access);
accessBuffer(DxvkCmdBuffer::ExecBuffer, *bufferView,
VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, VK_ACCESS_2_SHADER_WRITE_BIT);
m_cmd->trackResource<DxvkAccess::Write>(bufferView->buffer());
}