| Summary: | Patch adding multiple Wayland display outputs | ||
|---|---|---|---|
| Product: | SDL | Reporter: | Dmitry <dcherkassov> |
| Component: | video | Assignee: | Ryan C. Gordon <icculus> |
| Status: | RESOLVED FIXED | QA Contact: | Sam Lantinga <slouken> |
| Severity: | normal | ||
| Priority: | P2 | CC: | bugs, gabomdq, icculus, x414e54 |
| Version: | 2.0.3 | Keywords: | target-2.0.4 |
| Hardware: | All | ||
| OS: | Linux | ||
| Bug Depends on: | 2913 | ||
| Bug Blocks: | |||
| Attachments: |
HG patch
Other version of this patch |
||
|
Description
Dmitry
2014-12-05 17:38:34 UTC
Created attachment 2096 [details] Other version of this patch This patch is implemented on top of bug 2913, which uses imo a better design than the previous patch. Ok, to be clear, we want to apply Attachment #2017 [details] from Bug #2913, and then Attachment #2096 [details] from this bug on top of that, right? And not Attachment #1955 [details] at all? --ryan. That’s exact, Attachment #1955 [details] was introducing a lot of unneeded complexity in there.
(In reply to Ryan C. Gordon from comment #2) > Ok, to be clear, we want to apply Attachment #2017 [details] from Bug #2913, (oops, I meant Attachment #2107 [details]) --ryan. (In reply to bugs from comment #1) > Created attachment 2096 [details] > Other version of this patch > > This patch is implemented on top of bug 2913, which uses imo a better design > than the previous patch. This patch is now https://hg.libsdl.org/SDL/rev/d001cff818bb, thanks! --ryan. Hi good work on the multiple output support. I have a few issues about the way SDL is currently handling outputs: 1. SDL is currently not listening for the global_remove events: So if any output is removed then SDL would be trying to fullscreen to a non existent display. 2. SDL appears not to be tracking the output the surface is on. This means the window will always fullscreen to the primary display or display the application picked via SDL_SetWindowPosition or SDL_SetWindowDisplayMode. Even if the user moved the window to a different display it will fullscreen on the one it was created on (not good). It is possible to emulate this by tracking the surface enter/leave events but the surface may be on/overlapping multiple outputs. |