Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
W
wayland-protocols
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 28
    • Issues 28
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 42
    • Merge Requests 42
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • wayland
  • wayland-protocols
  • Merge Requests
  • !8

Open
Opened Nov 29, 2019 by Simon Ser@emersionOwner
  • Report abuse
Report abuse

linux-dmabuf: add wp_linux_dmabuf_hints

  • Overview 156
  • Commits 1
  • Pipelines 22
  • Changes 2

On multi-GPU setups, multiple devices can be used for rendering. Clients need hints about the device in use by the compositor. For instance, if they render on another GPU, then they need to make sure the memory is accessible between devices and that their buffers are not placed in hidden memory.

This commit introduces a new wp_linux_dmabuf_hints object. This object advertises a preferred device via a file descriptor and a set of preferred formats/modifiers.

Each object is bound to a wl_surface and can dynamically update its hints. This enables fine-grained per-surface optimizations. For instance, when a surface is scanned out on a GPU the compositor isn't compositing with, the target device can be set to this GPU to avoid unnecessary roundtrips.

A hint object can also be standalone for clients that don't support per-surface hints.

Signed-off-by: Simon Ser contact@emersion.fr


  • wlroots patch: https://github.com/swaywm/wlroots/pull/1376
  • Weston patch: weston!544
  • Mesa patch: mesa/mesa!4460 (old patch: https://lists.freedesktop.org/archives/mesa-dev/2018-November/209804.html)
  • Potential TODO: write Kodi patch: https://github.com/xbmc/xbmc/blob/7a3e5a31febdde35a887d992dcc03d3a05c841e2/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp#L267
  • Potential TODO: write libva patch

Closes: wayland#59

Edited Jan 14, 2021 by Simon Ser
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: wayland/wayland-protocols!8
Source branch: dmabuf-hints