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
  • tests
  • gl_tests
  • VulkanPerformanceCounterTest.cpp
Find file
BlameHistoryPermalink
  • Tim Van Patten's avatar
    Reland "Vulkan: Fold deferred clears into current clears" · 16102e8b
    Tim Van Patten authored Oct 17, 2020
    This reverts commit 37c40014.
    
    Reason for revert: Need to clear the package cache when bisecting.
    
    Original change's description:
    > Revert "Vulkan: Fold deferred clears into current clears"
    >
    > This reverts commit e416c92a.
    >
    > Reason for revert: Reverted parent:
    > https://chromium-review.googlesource.com/c/angle/angle/+/2481612
    >
    > Original change's description:
    > > Vulkan: Fold deferred clears into current clears
    > >
    > > If there are clears prior to a glClear() call, those clears were
    > > flushed (starting a new render pass) and then the clear call's clears
    > > would be applied (essentially modifying the loadOps of said render
    > > pass).
    > >
    > > The main downside of the above is that the current glClear() clears
    > > don't get a chance to be deferred.  This was observed in Chrome which
    > > clears an attachment with an emulated format, then switches
    > > framebuffers.
    > >
    > > Additionally, if the render pass had already been started, the deferred
    > > clears could have become inlined instead of breaking the render pass.
    > > Although, it's unlikely for there to be deferred clears when the render
    > > pass is already open.
    > >
    > > This change first identifies which clears need to go through the draw
    > > path (scissored, masked or as workaround for driver bug).  It merges the
    > > rest of the clears (that don't need the draw path) with the deferred
    > > clears.  It then checks deferred clears and applies them by either:
    > >
    > > - vkCmdClearAttachments if mid RP
    > > - Start a new render pass and use loadOps, if any draw-based clear needs
    > >   to follow.
    > > - Modify current RP loadOps / defer the clear
    > >
    > > Afterwards, the draw-based clears are applied.
    > >
    > > Bug: angleproject:4836
    > > Change-Id: Id4992c78983b199734508c9d4bb18ed3195c91ec
    > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2455167
    > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    > > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > > Reviewed-by: Charlie Lao <cclao@google.com>
    >
    > TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com
    >
    > Change-Id: I85733b3594409df9b96e3d5b34933522c97c42cf
    > No-Presubmit: true
    > No-Tree-Checks: true
    > No-Try: true
    > Bug: angleproject:4836
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481613
    > Reviewed-by: Tim Van Patten <timvp@google.com>
    > Commit-Queue: Tim Van Patten <timvp@google.com>
    
    TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com
    
    # Not skipping CQ checks because this is a reland.
    
    Bug: angleproject:4836
    Change-Id: I702cd510f39ee46feab27d4efbf61ae5da10d4e2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481856Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>
    16102e8b
VulkanPerformanceCounterTest.cpp 104 KB
EditWeb IDE
×

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