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
  • FramebufferVk.cpp
Find file
BlameHistoryPermalink
  • Shahbaz Youssefi's avatar
    Vulkan: Don't flush deferred clears on READ framebuffer sync · 3dfaeeb0
    Shahbaz Youssefi authored Oct 30, 2020
    Deferred clears are not collected when syncing the READ framebuffer.
    Prior to this change, we had in FramebufferVk::syncState:
    
        if (READ && deferredClears.any())
        {
            flushDeferredClears();
        }
    
    However, this is impossible / unnecessary:
    
    - Every operation whose syncState (for the DRAW framebuffer) collects
      deferred clears will flush the deferred clears.  In fact, it's an
      error for the next operation's syncState to encounter pre-existing
      deferred clears.
    - The READ framebuffer is synced before the DRAW framebuffer.  This
      makes it impossible for there to be deferred clears when READ is
      synced.
    
    It may be necessary to swap the order in which the READ and DRAW
    framebuffers are synced.  See http://anglebug.com/5266.  In that case,
    if the READ and DRAW framebuffers are identical:
    
    - The DRAW framebuffer's sync will collect deferred clears.  The READ
      framebuffer's sync will see deferred clears, but it must not flush
      them!
    
    Bug: angleproject:4988
    Change-Id: I179002d739608ccb8bda95d4379dc6d54e2bf4bb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2511372
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    3dfaeeb0
FramebufferVk.cpp 111 KB
EditWeb IDE
×

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