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
  • ResourceManager.cpp
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    Feedback Loop Redesign 1/3: Framebuffer Serials. · d0b270e6
    Jamie Madill authored Aug 14, 2020
    Currently we track feedback loops by counting the times a Texture is
    bound as a sampler or image in a particular context. This is a bit
    tricky because Texture bindings change frequently. Relative to the
    number of times we need to check for a feedback loop this causes excess
    overhead.
    
    Usually Framebuffers have a low number of Textures bound (in many cases
    just 1). And Textures aren't usually bound to many different FBOs. So
    instead of counting the number of times a Texture is bound as a sampler
    or image we will track the Framebuffers that the Texture is bound to.
    
    Because FBOs are unique to a Context, a Texture could be bound to two
    different FBOs with the same ID. In this CL we introduce a new Serial
    for the FBO which is unique to an EGL Share Group. This way we can
    ensure we don't make the wrong call when a Texture is referenced by a
    Framebuffer. It also replaces the old FB serial which was again only
    unique to a particular Context.
    
    Bug: angleproject:4500
    Bug: angleproject:4959
    Change-Id: I0a9989d861a4132bd3b7ed85f699a4448ff37a4e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358849Reviewed-by: 's avatarJonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: 's avatarTobin Ehlis <tobine@google.com>
    Reviewed-by: 's avatarCourtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    d0b270e6
ResourceManager.cpp 13.9 KB
EditWeb IDE
×

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