summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-04-10sna: Don't create slave pixmaps for the virtual CRTCChris Wilson
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>
2014-04-10sna: Validate the cursor everytime for hw supportChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-10uxa: Fix load_cursor_argb for the new Xorg ABI.Eric Anholt
Returning an undefined value meant we might get sw cursors.
2014-04-10Use fbpict.h instead of defining its prototypes ourselves.Eric Anholt
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.
2014-04-10Update for glamor in the 1.16 server.Eric Anholt
We should link against the server's copy, insted of using the external library.
2014-04-10sna: Remove defunct Cursor interface on fake CRTCChris Wilson
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>
2014-04-10sna: Prepare for an upcoming Cursor API changeChris Wilson
1.16 now expects load-cursor-argb to return a boolean reporting success/failure. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-09intel: If a non-root user starts X, don't release masterChris Wilson
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>
2014-04-09sna: Use pwrite to update physical cursorsChris Wilson
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>
2014-04-09sna: Handle clipped PutImage uploads more carefullyChris Wilson
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>
2014-04-09sna: Tweak application of WHOLE hint for uploadsChris Wilson
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>
2014-04-09sna: Add some DBG for whole CPU pixmap migrationChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-09sna: Restore empty region checkingChris Wilson
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>
2014-04-08sna: Fix build for older Xorg without OsBlockSIGIO supportChris Wilson
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>
2014-04-08sna: Refactor 3 similar CPU migration promotion checks into oneChris Wilson
References: https://bugs.freedesktop.org/show_bug.cgi?id=77178 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-08sna: Add more assertions before dereferencing sna_crtcChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-08sna: Continue to reprobe for ZaphodHeads with a mixed up configurationChris Wilson
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>
2014-04-07sna: Simplify checking for singular damageChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-07sna: Avoid double application of pixel widening for degenerate linesChris Wilson
References: https://bugs.freedesktop.org/show_bug.cgi?id=77074 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-05sna: Avoid discarding damage when applying WHOLE hint to pixmap migrationChris Wilson
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>
2014-04-05sna/gen8: Shrink 3DSTATE_SAMPLE_PATTERN packetChris Wilson
This is now smaller than originally specified. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-05sna/gen8: w/a for NULL depth bufferChris Wilson
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>
2014-04-04sna: Remove unitialized use of 'cursor'Chris Wilson
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>
2014-04-04sna/gen2+: Beware the unattached ShmPixmapChris Wilson
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>
2014-04-04sna/gen7: Move constants MOCS into chipset specific info blocksChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-04sna: Precompute OVER/ADD with solids to convert it into a BLT operationChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-04sna/gen2+: Replace composite sources with solids where possibleChris Wilson
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>
2014-04-03sna: Short-circuit repeated clearing to the same colorChris Wilson
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>
2014-04-02sna: Silence compiler warningChris Wilson
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>
2014-04-02sna: Prevent signal re-entrancy into cursor update routinesChris Wilson
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>
2014-03-31sna: Update tiling flags after reusing inactive VMAChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-31sna: Fix predicate inversion for assertionChris Wilson
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>
2014-03-31sna: Use a cheaper check for a replacement operationChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-31sna: Allow reassignment of inactive VMA if not mapped into the GTTChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-31sna: Discard damage tracking for operations to the whole pixmapChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-31sna: Promote to the GPU operations that cover the whole pixmapChris Wilson
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>
2014-03-31sna: Regularly check that damage does exceed the pixmapChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-31sna: Search cursor cache firstChris Wilson
We can reuse the current cursor size rather than determine it every time. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-28sna: Suppress a compiler warningChris Wilson
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>
2014-03-28sna: Only transform the temporary cursor coordinatesChris Wilson
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>
2014-03-28sna: Our cursors are always square.Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-28sna: Virtual CRTCs are last, so break loops earlyChris Wilson
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>
2014-03-28sna: Cursors are invariantChris Wilson
Once created, a Cursor has a fixed size and content, so avoid upload unnecessarily. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-28sna: drmGetCap is too recent for our supported versions of libdrmChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-28sna: RefCursor is too recentChris Wilson
Replace RefCursor with the simple refcnt manipulation for compilation against older stacks. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-27sna: Fix 2-color to ARGB cursor conversionChris Wilson
It helps to remember to advance through the source/mask images after each row. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-27sna: Cursors only need to be cleared when they are shrunkChris Wilson
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>
2014-03-27sna: Reorder the cursor cache searchChris Wilson
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>
2014-03-27sna: Clear the surrounding areas of small cursorsChris Wilson
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>
2014-03-27sna: Support variable sized cursorsChris Wilson
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>