Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
A
angle
  • Project
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Chen Yisong
  • angle
  • Repository

Switch branch/tag
  • angle
  • src
  • libANGLE
  • renderer
  • vulkan
  • OverlayVk.cpp
Find file
BlameHistoryPermalink
  • Shahbaz Youssefi's avatar
    Vulkan: Fix incorrect reordering of barriers · 9e7f08fc
    Shahbaz Youssefi authored Nov 06, 2020
    Take the following situation, a simple copy from image to buffer:
    
        ANGLE_TRY(contextVk->onBufferTransferWrite(buffer));
        ANGLE_TRY(contextVk->onImageTransferRead(aspectFlags, image));
    
        CommandBuffer &commandBuffer = contextVk->getOutsideRenderPassCommandBuffer();
    
        commandBuffer.copyImageToBuffer(imageHandle, layout, bufferHandle, 1, regions);
    
    Both `onBufferTransferWrite` and `onImageTransferRead` may flush either
    the outsideRP or insideRP command buffers.  If buffer is not previously
    used, but image is used:
    
    - onBufferTransferWrite: buffer usage is recorded in outsideRP1
    - onImageTransferREad: outsiderRP1 is flushed, outsideRP2 is started
    - copyImageToBuffer: recorded on outsideRP2, but buffer usage not
      recorded there
    - A following command that uses the buffer and requires barrier doesn't
      close outsideRP2 as it believes it was not used there
    
    Bug: angleproject:5319
    Change-Id: Ib8994083fbc21969a538cda3784adee57b089415
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523388
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
    9e7f08fc
OverlayVk.cpp 11.6 KB
EditWeb IDE
×

Replace OverlayVk.cpp

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.