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
  • Renderbuffer.h
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    Re-land "Feedback Loop Redesign 2/3: Track bound FBOs in Texture." · 185d9d08
    Jamie Madill authored Aug 14, 2020
    Re-land fixes the crash when drawing with no bound Program executable.
    
    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.
    
    This CL adds a small vector class to gl::Texture which tracks all the
    Framebufer Serials of its bound Framebuffers. We can use this set to
    quickly check if there's any potential feedback loop between the a FBO
    and this Texture.
    
    We also update the feedback loop check to use this new method. We will
    be able to remove the old counting method when we switch the Vulkan
    feedback loop handling to use the new tracking in this CL.
    
    Bug: angleproject:4500
    Bug: angleproject:4959
    Change-Id: If2bd25b08298a99f5e64b4055137f9154b0f0860
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365595Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    185d9d08
Renderbuffer.h 4.93 KB
EditWeb IDE
×

Replace Renderbuffer.h

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.