Commit Graph

6 Commits

Author SHA1 Message Date
Alexis Maiquez
723fca552c Wayland: Moved frame-time checking to CWaylandOpenGLDriver instead of viewports
Wayland doesn't require specifics timings, each frame drawn re-queues a new frame
  so treating it as "render the screens" seems to be a safe bet for now
  As indicated in the TODOs once actual work is being done in the event loop
  it should be replaced by a non-blocking option in case no surface is being rendered

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-05-06 14:14:21 +02:00
Alexis Maiquez
bd6fd9a100 Output rendering is now responsibility of the drivers (as it should be) instead of being handled by the CRenderContext
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-23 00:12:23 +02:00
Alexis Maiquez
f047bdd2d6 Fixed oversight on Video backgrounds not working on X11
Added unistd.h to fix compilation error on ubuntu

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-22 12:57:47 +02:00
Alexis Maiquez
f21a6e64a7 Wayland implementation cleanup
Removed wayland-display in favour of screen-root, it should automatically switch between X11 and Wayland implementations
Removed all the window-server-specific code from CWallpaperApplication
Moved COutput from CWallpaperApplication to each CVideoDriver as the output is tied to the driver
Moved CFullScreenDetector from CWallpaperApplication to each CVideoDriver as the detection is tied to the video driver
Applied the Driver treatment to the Input, this way CInputContext doesn't depend on the driver used
Updated CRenderContext to be aware of viewport-specific context updates
Viewport information is now held inside COutputViewport instead of being a simple map
Merged CLayerSurface and SWaylandOutput, inheriting from the new COutputViewport to standarize the minimum requirements of a viewport
  (makeCurrent and swapOutput are common requirements, X11 was the outlier not needing these per-viewport)
Moved all the viewport-specific code of Wayland from CWaylandOpenGLDriver to It's own class CWaylandOutputViewport
Fixed an issue under Wayland where sometimes the background surfaces wouldn't get anything drawn because the CWaylandOutput wasn't reset
Updated screenshot-taking code to be standard for all drivers again

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-22 11:31:50 +02:00
Alexis Maiquez
93380ae229 Added some window hints
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-27 01:36:01 +02:00
Alexis Maiquez
cc7ec0561d Separated X11 fullscreen code detection from the output driver as they don't have to work at the same time
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-23 23:38:23 +01:00