Age | Commit message (Collapse) | Author |
|
They only exist as placeholders for remote outputs in the framebuffer
and do not need to take part in actually output offloading, so we can
forgo creating slave pixmaps and remove the stub function entirely.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Returning an undefined value meant we might get sw cursors.
|
|
fbpict.h has been an installed header since 2008, shortly after uxa
landed. This fixes compiler warnings when other headers happen to
include fbpict.h.
|
|
We should link against the server's copy, insted of using the external
library.
|
|
As we no longer user the xf86Cursor helper, we can forgo filling in stub
routines for the fake CRTC.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
1.16 now expects load-cursor-argb to return a boolean reporting
success/failure.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
SET_MASTER and DROP_MASTER are only available to the root user. If we
are started as an ordinary user, and we are master by virtue of being
the first user of the device, never release our fd or master.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Older hardware uses physical addresses for its cursor, which are
implemented by the kernel in an incoherent fashion. Maybe with stolen
support this would be different...
Fixes regression on [845g, 945g] from
commit 25ca8f136cef9e1bdf06967bf8e78c87b54ffce2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Thu Mar 27 14:15:30 2014 +0000
sna: Support variable sized cursors
Reported-by: Knut Petersen <Knut_Petersen@t-online.de>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
If the upload is clipped, we do not want to apply the WHOLE migration hints.
References: https://bugs.freedesktop.org/show_bug.cgi?id=77178
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This help with the continuing saga of
commit 1de1104064b5898cbed37e836901694a381c1266 [2.99.911]
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Feb 21 22:43:04 2014 +0000
sna: Use a hint to do whole image uploads inplace
References: https://bugs.freedesktop.org/show_bug.cgi?id=77178
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
commit 8ef81d676c52e42a6d9048fd92b2843470b62945
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Apr 7 07:59:42 2014 +0100
sna: Simplify checking for singular damage
overlooked that we were also checking for empty regions as well as
singular regions.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
OsBlockSIGIO/OsReleaseSIGIO was only introduced in xorg-server-1.13.0,
so we need a compat layer.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
References: https://bugs.freedesktop.org/show_bug.cgi?id=77178
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Fixes regresion from
commit 35b03b3fe6213eb3e08f05efe3428bd6bc5421d2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Mar 28 09:14:59 2014 +0000
sna: Virtual CRTCs are last, so break loops early
as the conflicting Zaphod detection requires on searching all potential
CRTCs without finding the match. By breaking early on the virtual CRTC,
we concluded that the setup was actually valid, but disabled.
Reported-by: Nick Bowler <nbowler@draconx.ca>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77156
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
References: https://bugs.freedesktop.org/show_bug.cgi?id=77074
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Once again, we must be careful when promoting from a region to whole
pixmap migration that we do not discard required damage.
Fixes regression from
commit 27ac9f574f65cbd535751c925e9b2e2d7c8a6b3a [2.99.911]
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Thu Feb 27 08:33:52 2014 +0000
sna: Avoid promoting region-to-whole migration and discarding damage
Reported-by: gedgon@gmail.com
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77063
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This is now smaller than originally specified.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Instead of using a NULL type depth buffer, it is strongly suggested to
use a 1x1 16-bit depth buffer instead (with address 0).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The earlier query of cursor (simply to find out the hw size) was
replaced by an invariant determined when the cursor was first set.
However, not all uses of cursor->size were fixed.
Fixes regression from
commit f98b2e164637292c2425f6e6d2c22bd9a2800f8e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Apr 2 08:36:14 2014 +0100
sna: Prevent signal re-entrancy into cursor update routines
Reported-by: Christoph Haag <haagch.christoph@googlemail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77053
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
When dereferences priv, make sure it exists first. ShmPixmaps for
example, may not have one, nor do very small buffers.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
If the composite reads entirely from within a large pixmap which is a
clear color, just replace the source with a solid.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Spotted in amongst a KDE debug log was a series of clear; copy; repeat
using Composite().
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Simplify the dependency logic so that even the compiler can understand
what is going on.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
As we may need to allocate from within the cursor update, we are prone
to re-entrancy issues within malloc()/free(). To avoid these we need to
block SigIO (for pointer updates) whilst in the critical section.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The assertion was checking that the invalid condition was true, rather
than that it never happened. Oops.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
If the pixmap is already partially on the GPU, and the next operation
touches the entire pixmap, promote that operation back to the whole GPU.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
We can reuse the current cursor size rather than determine it every
time.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
sna_display.c: In function '__sna_get_cursor':
sna_display.c:3153:6: warning: assignment from incompatible pointer type [enabled by default]
src = sna->cursor.ref->bits->argb;
^
sna_display.c:3209:10: warning: comparison of distinct pointer types lacks a cast [enabled by default]
if (src != sna->cursor.ref->bits->argb)
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
As we need to recompute them for each CRTC, we need to reset the
computation each time or else we screw up the coordinates and hide
the cursors at random.
Breakage from commit 25ca8f136cef9e1bdf06967bf8e78c87b54ffce2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Thu Mar 27 14:15:30 2014 +0000
sna: Support variable sized cursors
Reported-by: Jan Alexander Steffens <jan.steffens@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76724
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
We know that all the virtual CRTCs are at the end of the CRTC array, so
when we see the first one, we can stop the processing of real CRTCs.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Once created, a Cursor has a fixed size and content, so avoid upload
unnecessarily.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Replace RefCursor with the simple refcnt manipulation for compilation
against older stacks.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
It helps to remember to advance through the source/mask images after
each row.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
If we completely overwrite the old contents, we do not need to clear it
first.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Search for an exact match first, before looking for a cursor we can
reuse. This should help reuse with multiple rotated screens not stealing
the others' cursor on every pass.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
If the cursor does not completely fill the size of the hardware cursor,
we will retain whatever contents already filled that area.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
One of the downsides with supporting large cursors is that the full size
is very rarely used leading to a waste of permanently allocated
resources. Refactor our cursor handling so that we can allocate fresh
cursors on the fly that are appropriately sized.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|