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
  • Surface.cpp
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    D3D11: Refactor dependent Framebuffer state changes. · 888081d5
    Jamie Madill authored Feb 27, 2018
    Previously, when a state change would cause a Texture to
    recreate its storage specific to D3D11, we would use a
    dependent notification from RenderTarget11 to Framebuffer11
    to re-check internal dirty bits. In this new method, we
    instead set dirty bits on the gl::Frambuffer directly. This
    also means we use fewer internal objects for these
    notifications, because we share the same structures between
    the D3D11 back-end notifications and the top-level notifications
    we use for Robust init and Framebuffer completeness.
    
    This also allows us to get rid of one "if" that we check on
    every draw call in D3D11.
    
    This also introduces a dirty bits guard concept - a shadow
    set of dirty bits that is checked in dependent state changes
    to ensure that extra bits aren't set inside syncState.
    
    This also implements Framebuffer dirty bits for the D3D9
    back-end. This has the side effect of cleaning up the
    "null colorbuffer" D3D9 workaround.
    
    Bug: angleproject:2372
    Change-Id: Ie346d39030f4f6df583d735685b0babea4e745a8
    Reviewed-on: https://chromium-review.googlesource.com/936691Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    888081d5
Surface.cpp 13.6 KB
EditWeb IDE
×

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