[Bug 108894] [anv] vkCmdCopyBuffer() and vkCmdCopyQueryPoolResults() write-after-write hazard

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Nov 29 14:16:24 UTC 2018


https://bugs.freedesktop.org/show_bug.cgi?id=108894

--- Comment #7 from Józef Kucia <joseph.kucia at gmail.com> ---
(In reply to Lionel Landwerlin from comment #5)
> I'm unfamiliar with d3d, what should I add to insert a barrier?

transition_resource_state(command_list, readback_buffer,                    
   D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_COPY_DEST);    

produces the following Vulkan barrier:

vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask,
dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount,
pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers) returns
void:
    commandBuffer:                  VkCommandBuffer = 0x55a1a81b7430
    srcStageMask:                   VkPipelineStageFlags = 4096
(VK_PIPELINE_STAGE_TRANSFER_BIT)
    dstStageMask:                   VkPipelineStageFlags = 4096
(VK_PIPELINE_STAGE_TRANSFER_BIT)
    dependencyFlags:                VkDependencyFlags = 0
    memoryBarrierCount:             uint32_t = 0
    pMemoryBarriers:                const VkMemoryBarrier* = NULL
    bufferMemoryBarrierCount:       uint32_t = 1
    pBufferMemoryBarriers:          const VkBufferMemoryBarrier* =
0x7fffeabcdd00
        pBufferMemoryBarriers[0]:       const VkBufferMemoryBarrier =
0x7fffeabcdd00:
            sType:                          VkStructureType =
VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER (44)
            pNext:                          const void* = NULL
            srcAccessMask:                  VkAccessFlags = 4096
(VK_ACCESS_TRANSFER_WRITE_BIT)
            dstAccessMask:                  VkAccessFlags = 4096
(VK_ACCESS_TRANSFER_WRITE_BIT)
            srcQueueFamilyIndex:            uint32_t = 4294967295
            dstQueueFamilyIndex:            uint32_t = 4294967295
            buffer:                         VkBuffer = 0x55a1a80f6fc0
            offset:                         VkDeviceSize = 0
            size:                           VkDeviceSize = 18446744073709551615
    imageMemoryBarrierCount:        uint32_t = 0
    pImageMemoryBarriers:           const VkImageMemoryBarrier* = NULL


with this change the test fails intermittently on Anv.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20181129/beabc076/attachment-0001.html>


More information about the intel-3d-bugs mailing list