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
  • RendererVk.cpp
Find file
BlameHistoryPermalink
  • Charlie Lao's avatar
    Vulkan: Disable shadowBuffers feature · 5e631c5f
    Charlie Lao authored May 20, 2021
    For PixelUnpack, if the feature is enabled, it always create a shadow
    CPU mapped memory. Then when mapBuffer is called, it let user write to
    the shadow memory. At unmapBuffer time, it memcpy the shadow buffer data
    to context's staging buffer and then issue a vkCmdCopyBuffer from
    context staging buffer to the PixelUnpack buffer. This involves too
    many data copies. The proper way to do it is simply make sure to create
    the buffer as CPU map-able and let user directly write to it. If we find
    cases that CPU waiting for GPU to finish is causing performance issues,
    there are two ways to improve/fix it: 1)Add event at end of each
    renderpass or FBO so that we know if GPU access is finished or not
    without have to wait for entire frame to finish rendering. 2) Create
    multiple buffers and ping-pong between them, at least there will be no
    VkCmdCopyBuffer call involved like shadow buffers do. But we will leave
    that to future time when we find such need.
    
    Bug: angleproject:5986
    Change-Id: Ib8300e46e779d20533c1f7f81624de0ce003788b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2909758
    Commit-Queue: Charlie Lao <cclao@google.com>
    Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
    Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
    5e631c5f
RendererVk.cpp 129 KB
EditWeb IDE
×

Replace RendererVk.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.