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
  • d3d
  • d3d11
  • PixelTransfer11.cpp
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    D3D11: Add resource manager classes. · 403c1682
    Jamie Madill authored May 18, 2017
    The resource manager tracks the allocations and deallocations of all
    D3D11 resources that have device memory: Buffers and Textures (which
    are either 2D or 3D). It also tracks the number of active Views (DSV,
    RTV, and SRV, potentially UAV with ES 3.1).
    
    A new smart pointer type will wrap the resource deallocation so that
    the object notifies the manager when ANGLE is done with the resouce.
    This allows us to track precisely how much GPU memory we think we're
    using at any point, and will help prevent resource leaks for these
    object types. It also makes initialization and releasing much more
    trivial.
    
    The base class for a resource uses a template template parameter so
    that we can use a unique or shared pointer depending on if the object
    in question needs unique or shared ownership. For some resources
    (in our case, SRVs are shared between the TextureStorage11 and
    RenderTarget11 classes, and Textures are shared in many places) we
    need to have the ability to have shared ownership. Unique ownership is
    a little bit more efficient so supporting both can be helpful.
    
    In this patch RenderTargetView allocation is moved to use the unique
    smart pointer.
    
    BUG=angleproject:2034
    
    Change-Id: Idb1245c24cd66733b8b5ca524c727350b2d2c745
    Reviewed-on: https://chromium-review.googlesource.com/503248
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
    403c1682
PixelTransfer11.cpp 12.4 KB
EditWeb IDE
×

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