summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-04-15sna: Pre-emptively move framebuffers into the DISPLAY cache domainHEADmasterChris Wilson1-0/+41
In order to avoid rendering to the bo and then stalling before we can pin it the display plane, allocate bo for fb from uncached and change the cache level during the initial allocation. References: https://bugs.freedesktop.org/show_bug.cgi?id=77436 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-15sna: Mark partial composite operations upfrontChris Wilson9-9/+10
Rather than guess in the backend when we are going to be called for multiple boxes, rely on the frontend declaring it correctly. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-15sna: Discard TearFree readback when overdrawingChris Wilson3-10/+56
References: https://bugs.freedesktop.org/show_bug.cgi?id=77436 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-15sna: Fix up cut'n'paste typo in assertionChris Wilson1-1/+1
sna_display.c:3176:43: error: 'struct <anonymous>' has no member named 'rotation' assert(cursor->rotation != sna->cursor.rotation); Reported-by: Ildar Nurislamov Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-15sna: Add a cursor DBG for a failed pwrite updateChris Wilson1-1/+2
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-14sna: Rearrange cursor reuse to avoid sharing rotationsChris Wilson1-1/+13
Try not to steal a rotated cursor that is currently in use, or else we may see a brief flash of corruption. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-14sna: Add some bounds checking asserts to damageChris Wilson1-10/+19
References: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1300640 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-11sna: Restrict WHOLE hint to PutImage on a complete PixmapChris Wilson1-3/+6
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-11sna: Perform 2-color to ARGB cursor conversion inplaceChris Wilson1-49/+49
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-11sna: Don't redraw cursor if the fg/bg colors do not changeChris Wilson1-5/+17
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-10sna/gen2: Fix CA/a8 blend factorsChris Wilson1-15/+26
This is a revert of commit 142f8461944b294dbc3fb0a7bf607bccf0bccc1f [2.99.911] Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Mar 10 15:20:16 2014 +0000 sna/gen2: Tidy blend factor selection for the source as that broke glyph rendering in firefox for instance. Reported-by: Carl Eitsger <4607vrfcr84spd21f08@weg-werf-email.de> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77201 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-10sna: Don't set cursor bits to an invalid pointerChris Wilson1-1/+1
The xf86Cursor core simply frees it, so it has to be NULL. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-10sna: Only mark the transform_in_use when required for shadow fbChris Wilson1-7/+9
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-10sna: Only reload an active HW cursorChris Wilson1-18/+32
Do not attempt to restore the cursor handle if a SW cursor is currently active. In particular, this prevents a crash after modesetting if we never had a real cursor (for example output offloading). Reported-by: Tomas Pruzina <pruzinat@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77283 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-10sna: Don't create slave pixmaps for the virtual CRTCChris Wilson1-11/+0
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 Wilson1-16/+15
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-10configure: Report which version (lib or module) of glamor is usedChris Wilson1-1/+4
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-10uxa: Fix load_cursor_argb for the new Xorg ABI.Eric Anholt1-2/+18
Returning an undefined value meant we might get sw cursors.
2014-04-10Use fbpict.h instead of defining its prototypes ourselves.Eric Anholt1-16/+1
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 Anholt2-3/+11
We should link against the server's copy, insted of using the external library.
2014-04-10sna: Remove defunct Cursor interface on fake CRTCChris Wilson1-30/+0
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 Wilson1-0/+14
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-virtual-output: Fix damage boundsChris Wilson1-8/+10
Sigh. A serious mixup of integer promotion rules and wraparound caused the damage computation for small regions to be completely bogus. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-09intel: If a non-root user starts X, don't release masterChris Wilson1-0/+16
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 Wilson1-11/+42
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 Wilson1-5/+48
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 Wilson2-23/+17
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 Wilson1-1/+4
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-09sna: Restore empty region checkingChris Wilson1-4/+9
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 Wilson1-9/+32
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 Wilson1-10/+5
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 Wilson1-0/+6
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-08sna: Continue to reprobe for ZaphodHeads with a mixed up configurationChris Wilson1-1/+1
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-07intel-virtual-output: Fixup DBG messagesChris Wilson1-2/+2
Use the right variables and it may even compile. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-07sna: Simplify checking for singular damageChris Wilson1-2/+2
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-07sna: Avoid double application of pixel widening for degenerate linesChris Wilson1-10/+15
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 Wilson1-15/+19
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 Wilson1-5/+1
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 Wilson1-0/+5
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 Wilson1-16/+16
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 Wilson7-7/+8
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 Wilson1-4/+8
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 Wilson1-2/+125
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-04sna/gen2+: Replace composite sources with solids where possibleChris Wilson8-3/+92
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 Wilson1-2/+27
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 Wilson1-3/+3
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 Wilson2-48/+68
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 Wilson1-0/+2
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-31sna: Fix predicate inversion for assertionChris Wilson1-2/+2
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 Wilson1-1/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>