summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-07-23sna/dri2: Compile fix for old xorg/dri2Chris Wilson
We have to do conditional compilation as we touch structure members that may not exist in older Xserver headers. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-23Add automake magic required for libobj/Chris Wilson
So libobj/ wasn't included in the tarball, and nor was the compatability functions being added to the driver when they were needed. The oddity is that using the ./configure script (and thus make distcheck) succeeds. It was only when 'autoreconf -fi' was run was the first error encoutered. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reported-by: Tobias Klausmann
2014-07-23Fix compile failure on old Xorg with XF86_ALLOCATE_GPU_SCREENChris Wilson
Sigh, a late fix was not compile checked against xorg-1.7. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-23sna: Skip performing an async flip after fixupChris Wilson
After the first async failure and we fix up the CRTC, ordinary we queue a no-op flip in order to queue the event. For async flips, we do not want that event so just skip the flip. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-23sna/dri2: Tidy freeing the queued frame eventsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-23sna: Add a DBG message for slave damage propagationChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-23sna: Reorder disabling scanout pixmap when updating slaveChris Wilson
The assertion caught that we would unregister an invalid drawable on older Xorg. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-23sna: Disable all outputs when initializing as a slaved output providerChris Wilson
When we are constructed as a slaved device, we need to disable all outputs or else they are not correctly hooked into the master device upon startup. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-23sna/dri2: Recreate buffer in reuse rather than force recreateChris Wilson
By marking the buffer->attachment as invalid we forced the recreation of the buffer on the next DRI2GetBuffers. The only small problem with that was that the client didn't always immediately call DRI2GetBuffers after the invalidation - and if they did a DRI2CopyRegion with its stale buffers the unfound attachment would generate a BadValue and kill the client. So instead of messing around with the attachment, explicitly recreate the buffer if we attempt to reuse a buffer of the wrong size. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-22sna: Ensure errno is set after failure before reporting a modeset failureChris Wilson
A few paths we report a sanity check failure which do not set errno, but we then print out the errno as part of our message to the user. Set it to a sane value in those cases. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-22sna: Remove %# from DBG messagesChris Wilson
LogF doesn't support the 0x-prefix instruction. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-22sna: Assert that we do not overwrite an earlier COW entryChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-22sna/dri3: Don't forget to add SHM pixmaps to the list of exported DRI3 boChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-20sna/video: Bump the maximum size for spritesChris Wilson
A sprite plane is limited by the display engine who's maximum resolution has increased since the 2kx2k limitations of 8xx, so let's set it correctly to the reported maximum CRTC size (since we have no individual query for maximum sprite plane sizes). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-18sna/dri2: Protect compsiteext.h include with build checkChris Wilson
We shouldn't include calls to the composite extension if it has not been built. Reported-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-17sna: Fix compilation with older XorgChris Wilson
sna_display.c: In function 'sna_crtc_disable_shadow': sna_display.c:1375:39: error: dereferencing pointer to incomplete type DamageUnregister(&crtc->slave_damage->drawable, crtc->slave_damage); Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-17sna: Support TearFree on slaved outputsChris Wilson
By always forcing the shadow intermediatory, we can enable TearFree even ona slave scanout. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-17sna: Assert that we never attempt to flip the slave scanoutChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-17sna/dri2: Disable SwapLimit buffers with buggy prime implementationsChris Wilson
If there is a GPU screen, we have to assume that the DRI2 code may pass around the wrong pointers to ReuseBufferNotify until the fix is released: commit 4d92fab39c4225e89f2d157a1f559cb0618a6eaa Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Jun 18 11:14:43 2014 +0100 dri2: Use the PrimeScreen when creating/reusing buffers Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-17sna: Handle rotated slaved scanoutsChris Wilson
As per the usual handling of rotated scanouts with unsupported rotations, we stage the drawing onto a backbuffer then rotate onto the crtc later. The difference here is that we must read the contents from the master pixmap rather than our own screen pixmap. Spotted was looking at slaved scanouts mistakenly setting the CRTC transformed flag. Reported-by: Tomas Pruzina <pruzinat@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81383 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-17sna: Add missing DBG parametersChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-17sna: Avoid confusing failure to flip and flipping zero CRTCChris Wilson
During the present unflip path we blindly try to restore the original mode after a flip failure. However, it confuses flipping zero CRTC with a genuine failure. This has the result of undoing a DPMS change (e.g. xset dpms force dpms) under a DRI3 compositor. Reported-by: Jiri Slaby <jirislaby@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81456 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-17sna: Busy-wait for the kernel to catch up when flippingChris Wilson
If the kernel reports that it is busy, it has not yet finished processing a pending flip and we have multiple CRTC queued, just wait for the kernel to clear its backlog before submitting the next flip. On the other hand, if we can just overwrite the pending flip results. However, the EBUSY may actually be a genuine report by the kernel of an error, so check for an invalid CRTC first. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-17sna: Silence valgrind when reading plane propertiesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-17sna: Remove extraneous function wrappingChris Wilson
Since we only have the single callsite for do_page_flip, the wrapper is not adding any meaningful information. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-16sna: And remove new bogus assertionChris Wilson
We assert that damage is valid as we delete the Pixmap, and so we cannot assert that the Pixmap is still valid itself. Reported-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-16sna: Make the damage check more verboseChris Wilson
Print out the pixmap number and the damage extents for when the assertion fails. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-16sna/gen2+: Remove assertion on draw->type for fillsChris Wilson
I overlooked the tiling-fill path passing down a temporary DrawableRec into the fill_boxes callback - invalidating the assertion. Fixes regression from commit 43176b9bfafe389c4b9ed676f4e50e3b06f858c4 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Jun 30 21:01:11 2014 +0100 sna/dri2: Pass around the correct DrawableRec for sampling from the foriegn bo Reported-by: Jiri Slaby <jirislaby@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70461#c62 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-11sna: Use a stricter test for determining CRTC off before updating the cursorChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-11sna: Reduce reflections onto rotationsChris Wilson
In order to support a wider range of rotation/reflections, perform a simple reduction of the requested rotation first. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-11configure: Provide a poor man's replacement for getline()Chris Wilson
uClibc is one such library that doesn't implement getline() Reported-by: Ben Widawsky <benjamin.widawsky@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-08sna: Rewrite rotation setup on top of universal drm planesChris Wilson
The kernel interface has changed slightly since the early proposals. Now the rotation property is only on the plane and so we have to lookup the primary prime as well. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-08sna: Fix a couple of DBG messagesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-04sna: Discard operations to either CPU or GPU bo when overwriting with ↵Chris Wilson
RenderRectangles Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-04sna: Tweak number of threads for short areasChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-04sna: Convert a clear tile into a solid fillChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-04sna: Fix typo s/num_threads/max_threads/Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-04sna: Do a quirk early check for short areas before threadingChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-04sna: Disable use of threaded compositor when using threaded rendererChris Wilson
Reported-by: Zdenek Kabelac <zkabelac@redhat.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-04sna: Utilise existing cached upload for promoting to GPU boChris Wilson
If we already have a buffer that represents the data on the GPU, we can simply use that when we need to promote the pixmap onto the GPU. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-04sna: Promote tile pixmaps to GPU when reusedChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-04sna/gen8: Disable the unaligned checkChris Wilson
Note sure if this is strictly required -- but at the moment it fails for 1x1R solids, causing us to skip glyphs. The simulator doesn't complain, so just skip the check for now. Reported-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-04sna: Tighten assertions for using upload proxies concurrently with CPU readsChris Wilson
After relaxing some of the rules on when to discard the upload proxies, we also need to relax some of the complementary asserts. Reported-by: Zdenek Kabelac <zkabelac@redhat.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-04sna: Prevent creating a GPU bo for an inplace readChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-03sna: Wrap xf86DPMSSetChris Wilson
We need to wrap xf86DPMSSet() so that we can reintialize our bookkeeping and auxiliary planes after disabling/re-enabling CRTC during DPMS operations. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-03sna: Clear the cursor reference from the CRTC if the update failsChris Wilson
This should allow it to be restored correctly the next time it gets shown. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-02sna: Limit the size of the tiling object to be smaller than either the originalsChris Wilson
When we tile, we do so in order to fit an operation involving two objects larger than the aperture. If we then choose an intermediate tiling object that is larger than either of those two, the error will persist and we will be forced to recuse. In the worst case, this will provide an upper bound to the recursion. Reported-by: Bruno Prémont <bonbons@linux-vserver.org> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-02sna: Use the threaded compositor for picture conversionsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-02sna/gen6+: Tweak consideration of compositing on BLTChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-01sna: Fix typo in LinearFramebuffer handlingChris Wilson
Eeek, when not using LinearFramebuffer we still want to create the GPU bo: s/,/;/ Reported-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>