Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • mutter mutter
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,103
    • Issues 1,103
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 132
    • Merge requests 132
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • muttermutter
  • Merge requests
  • !1968

KMS: Unify buffer management for all plane types

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Daniel van Vugt requested to merge vanvugt/mutter:native-buffer-refs into main Aug 20, 2021
  • Overview 40
  • Commits 14
  • Pipelines 130
  • Changes 12

References to MetaDrmBuffer are now held closer to where the object is actually used. MetaKmsPlaneAssignment holds a reference to each buffer that is going to be assigned. After it has been posted each MetaKmsCrtc holds the buffer references for the DRM FBs it is about to scan out as well as those still scanning out from previous frames. Buffers get released on the first scanout that is after they have stopped being used.

Aside from requiring less code this will simplify future work in:

  • Overlay planes
  • Triple buffering
  • Multi-cursor support
  • Cloning to multiple monitors (CRTCs) without rendering multiple times

Requires: !2087 (included here)

Edited Feb 15, 2022 by Daniel van Vugt
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: native-buffer-refs