Skip to content
This repository was archived by the owner on Nov 1, 2021. It is now read-only.
This repository was archived by the owner on Nov 1, 2021. It is now read-only.

screencopy and dmabuf-export should provide the buffer-to-layout transform #66

@emersion

Description

@emersion

xdg-output isn't enough:

  • Racy
  • Sometimes the buffer might come from a client, which has a different transform

We might want to send e.g. a matrix through these two protocols instead.

10:45 <jadahl> maybe we should just split up xdg_output and move parts only consumed by xwayland in a protocol maintained in xserver/hw/xwayland/
10:46 <jadahl> then we can have a logical transform that clients that care about that can use (maybe your screenshooter, but also maybe UI's for selecting where to fullscreen something)
10:47 <emersion> but a UI to select where to fullscreen doesn't acre about orientation?
10:47 <emersion> care*
10:47 <emersion> only cares about the logical position and size?
10:48 <emersion> maybe our screenshooting things should use a separate protocol instead
10:50 <jadahl> emersion: yea, maybe not. I assume your screenshooting thing provides buffers that are not transformed some how. maybe what you need is meta data of how to transform it to get the "natural" orientation instead?
10:50 <emersion> yes, exactly
10:51 <jadahl> if you have properties on the output, and screenshot separately, its racy
10:50 <emersion> we get per-output raw buffers, we want to draw them in the layout coordinate space
10:52 <jadahl> then to me it sounds like meta data sent together with the buffer might make more sense
10:52 <emersion> indeed, that might be the case
10:52 <jadahl> would make sense if you take buffers from clients too
10:53 <jadahl> because they'll have independent orientation
10:53 <emersion> what do you mean?
10:53 <emersion> "take buffers from clients"?
10:54 <jadahl> with wl_output::transform a client might pre-transform. if you hand over a buffer from such a client directly to the screenshooter, it'll have a hard time to know how to transform it to make it "natural" without orientation meta data
10:54 <emersion> ah, interesting
10:54 <jadahl> (or copy it without transforming it)
10:54 <emersion> yeah, that's true

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions