[dxvk] Properly support TOP_OF_PIPE and BOTTOM_OF_PIPE for barriers

This commit is contained in:
Philip Rebohle 2019-01-22 15:57:57 +01:00
parent 1631243c64
commit 2aeef063c1
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
1 changed files with 7 additions and 1 deletions

View File

@ -16,6 +16,10 @@ namespace dxvk {
m_srcStages |= srcStages;
m_dstStages |= dstStages;
if (srcStages == VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT
|| dstStages == VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT)
access.set(DxvkAccess::Write);
if (access.test(DxvkAccess::Write)) {
VkBufferMemoryBarrier barrier;
barrier.sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
@ -48,7 +52,9 @@ namespace dxvk {
m_srcStages |= srcStages;
m_dstStages |= dstStages;
if (srcLayout != dstLayout)
if (srcStages == VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT
|| dstStages == VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT
|| srcLayout != dstLayout)
access.set(DxvkAccess::Write);
if (access.test(DxvkAccess::Write)) {