Some tablet rotation modes (90°, 270°, and flipped variants) swap the X and Y axes.
This change adjusts the effective physical size based on axis orientation
to ensure tablet active area coordinates are normalized correctly.
* syncobj: use rendernode for timelines
use rendernode for timelines instead of the drmfd, some devices dont
support to use the drmfd for this.
* opengl: use rendernode if available
use rendernode if available for CHyprOpenglImpl
* MesaDRM: use the m_drmRenderNodeFD if it exist
try use the rendernode we got from AQ if it exist.
* linuxdmabuf: use rendernode if available
use the rendernode if available already from AQ
* syncobj: prefer rendernode over displaynode
prefer the rendernode over the displaynode, and log a error if
attempting to use the protocol without explicit sync support on any of
the nodes.
* syncobj: check support on both nodes always
check support on both nodes always so it can be used later for
preferring rendernode if possible in syncobj protocol.
* syncobj: remove old var in non linux if else case
remove old m_bDrmSyncobjTimelineSupported from non linux if else case
that will fail to compile on non linux. the nodes sets support by
default to false, and if non linux it wont check for support and set it
to true.
* build: bump aq requirement
bump to 0.9.3 where rendernode support got added.
* flake.lock: update
* renderer: glfinish on software renderer
software renderers apparently bug out on implicit sync, use glfinish as
with nvidia case on implicit paths.
* flake.lock: update
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* dmabuf: disable buffer read check on intel
readability checks directly on buffer fds on some intel laptops is
broken, see https://gitlab.freedesktop.org/drm/intel/-/issues/9415
* sync: use rvalue ref in addwaiter doonreadable
use rvalue reference in addwaiter and doonreadable, because we store the
function in the SReadableWaiter a lot of the time, move it into place
there when that happends or let it go out of scope after function call.