summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-10-13sna: Fix typo in DBGChris Wilson1-1/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-13sna/trapezoids: Use the aligned fast path for fallbacksChris Wilson1-8/+12
Route the fallback methods through the force_fallback aligned fast paths. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-13sna: Cleanup up unused variablesChris Wilson1-2/+0
commit 951f969fa63defbe7cfa52ca97c8985b157bbed0 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sun Oct 13 12:47:20 2013 +0100 sna: Update DPMS on attached outputs before disabling the CRT left behind a couple of variables now deceased. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-13sna: Update DPMS on attached outputs before disabling the CRTCChris Wilson1-12/+42
We may want to take action such as preserving the current user value of the backlight before disabling it whilst forcing a CRTC off. This requires us to record that value first. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-13sna: Cleanup allocation of sna_output after late syscall failChris Wilson1-1/+3
If the second syscall fails (presumably as a deferred allocation failure check), cleanup the allocations made so far before reporting the failure. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-13uxa: Check for allocation failure in i915 videoChris Wilson1-0/+5
For a large screen, we have to create a temporary surface for rendering the textured video. If this pixmap creation fails we may be left with a system memory only pixmap leading to a segfault. Reported-by: Bas Wijnen <wijnen@debian.org> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-13uxa: Abort CreateScreenResources after allocation failureChris Wilson1-0/+3
One of UXA's invarients is that the ScreenPixmap is complete (i.e. has an intel_pixmap private with a bo attached). If we fail to create that private during CreateScreenResources we will die very soon afterwards, so just report the failure and shutdown gracefully. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-11configure: Allow manual specification of intel-gen4asm pathChris Wilson1-4/+17
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-10sna: Populate bo->size from dma-bufChris Wilson1-0/+6
Recent kernels gained the ability to report the actual size of the dma-buf through an lseek. We can use this to set the correct size of the bo when available, overriding the guess provided by the caller. Suggested-by: Kristian Høgsberg <krh@bitplanet.net> Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-10sna: Sanitize output->crtc before falling back oto xf86InitialConfigurationChris Wilson1-2/+16
During initialisation, we stash the currently attached CRTC id in output->crtc. This is fine as ordinarily we would not dereference output->crtc until after it had been assigned a real CRTC. However, commit 6fda305e2f2f991b39d09e67d0b17c8c3d50f9a4 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Oct 9 15:59:42 2013 +0100 sna: Append the current mode to the output list if not found introduces such an early dereference and causes a crash if we fail to probe the KMS configuration (usually due to a user override). Reported-by: Łukasz Maśko <ed@yen.ipipan.waw.pl> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-10configure: Add xfixes to X11 pkg checkDaniel Martin2-2/+2
Add xfixes to the list of PKG_CHECK_MODULES for X11. '-lXfixes' was hardcoded in test/Makefile.am before. This could lead to a broken build in very rare cases where the build environment has all specified X libraries but Xfixes. Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2013-10-10sna/gen4+: Share a few common routinesChris Wilson9-128/+140
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-10sna/gen6+: Share the common routines for ring preferrenceChris Wilson7-428/+308
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-10sna/gen6+: Only allow switching to BLT for fills if we have semaphoresChris Wilson2-2/+4
An extra caveat to these generations for commit 97d809c26bec2c0120f2dc0bcfd840379bd996fa Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Oct 10 00:15:55 2013 +0100 sna: Pass usage hint down to render fill routines is that we don't want to incur ring switch overheads that may overwhelm any advantages from using the BLT. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-10sna: Prevent changes in tiling/pitch of existing framebuffersChris Wilson1-10/+4
Reported-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-10sna: Pass usage hint down to render fill routinesChris Wilson9-35/+58
For the scanlines emitted for rendering Core drawing primitives, it is preferable to use the BLT engine, so pass those hints down. Reported-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-10sna: Upon unwinding operations, also check for exec objects to clearChris Wilson2-3/+20
If we cancel an operation after partially committing it, we may leave the batch bookkeeping in an inconsistent state with an exec object with a zero-length batch. Ordinarily, this would not be an issue as we could pass the extra object to the next batch. However, if we switch rings, we need to clear the extra objects as they are currently flagged as being on the wrong ring, leading to hilarity. Reported-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-092.99.904 snapshot2.99.904Chris Wilson2-1/+39
2013-10-09sna: Steal the current mode nameChris Wilson1-1/+2
Rather than duplicating a string, we can simply transfer ownership from the temporary mode to the mode list. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-09sna: Append the current mode to the output list if not foundChris Wilson1-6/+44
If for some reason the current mode on the CRTC (inherited most likely from fastboot) doesn't match any of the modes reported by the output, we end up with a stray mode that the client cannot control. Reported-by: Jiri Slaby <jirislaby@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70132 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-09sna/gen3+: Flush vertex buffer after computing resizeChris Wilson7-100/+124
Upon aligning the buffer, we may enlarge the vbo to accomodate the vertex alignment and push the current index past the end of the buffer. Move the space check from before the alignment computation to afterwards. Reported-by: Jiri Slaby <jirislaby@gmail.com> References: https://bugs.freedesktop.org/show_bug.cgi?id=47597 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-08sna: Emit DBG for when we fallback to xf86InitialConfig detectionChris Wilson1-1/+6
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-08sna: Rework the num_threads refinement to avoid the divisionChris Wilson5-11/+11
We can replace the division by a multiplication. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-08sna/trapezoids: Recompute num_threads to match rangeChris Wilson6-126/+97
We need to be careful not to execute threads past the end of the alloted buffer by making sure the clip extents correctly align. Reported-by: Joseph Yasi <joe.yasi@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70204 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-07sna: Trim color cache allocation to a single pageChris Wilson2-5/+6
Instead trying to allocate 4100 bytes, fix the logic to only require a maximum of 4096 bytes in the cache buffer. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-07sna/trapezoids: Only use a single thread to emit rectilinear spansChris Wilson5-69/+113
If the trapezoids are rectilinear, they should hit a fast path through the span compositors and so threading them seems pointless. Expect possibily for inplace pixman operations. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-07sna/gen7: Rename debug option ALWAYS_FLUSH to ALWAYS_INVALIDATEChris Wilson1-2/+3
This allows us to distinguish between the texture cache invalidation stage versus the opportunistic flushing, and test either. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-07sna/gen7: Tweak flushingChris Wilson1-1/+1
We pre-emptively flush the render cache before reads as that seems to improve performance. Now try not flushing if we don't subsequently need to read from the render cache. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-07sna/trapezoids: Restore overflow checkChris Wilson2-5/+7
The range can indeed overflow, so promote the assertion back into a check. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-07sna/trapezoids: Fix overstepping vertical edgesChris Wilson2-128/+47
Regression from commit c98b770a87a5ec5ed9dc0aa375ad173b0e98322e Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Oct 4 18:37:01 2013 +0100 sna/trapezoids: Add a precise scan converter Reported-by: Joseph Yasi <joe.yasi@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70204 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-06sna/gen7: Add a always-stall debug optionChris Wilson1-0/+3
References: https://bugs.freedesktop.org/show_bug.cgi?id=68410 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-05intel: Filter out the control bit from the device minorChris Wilson1-2/+2
When computing the render node for the device, filter out the potential control node. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-05compat-api: Map changes of DamageUnregister API in 1.14.99.2Chris Wilson1-0/+4
Reported-by: Emmanuel Benisty <benisty.e@gmail.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-05sna/trapezoids: Do not pass invalid trapezoids to pixmanChris Wilson1-12/+16
Bugzilla: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1197921 Link: http://lists.x.org/archives/xorg-devel/2013-October/037996.html Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-05sna/trapezoids: Add a precise scan converterChris Wilson5-141/+3541
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-04sna: Start splitting the trapezoids megafile into parseable blocksChris Wilson6-6698/+7125
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-04sna: Fix FillRectangles intersection with complex clipChris Wilson1-5/+1
Lesson 2: Use the right variables. Reported-by: Clemens Eisserer <linuxhippy@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70137 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-04sna: Tidy up FillRectangles intersection with complex clipChris Wilson1-7/+13
Lesson 1: do not accidentally overwrite the loop count inside the loop. Reported-by: Clemens Eisserer <linuxhippy@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70137 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-04sna/dri: Only move the scanout to the flip cache if destroyedChris Wilson1-5/+5
Under certain circumstances, we can retire the pageflip before the client has updated its back buffers. This leads us to pre-emptively moving the scanout to the cache, when all we need to do (and will do) is report the same back buffer back to the client. Reported-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-04sna: Add a few more DBG to track refcntsChris Wilson2-1/+7
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-04sna/gen5: Replace pipe-control with full MI_FLUSH for required CS stallChris Wilson1-0/+4
It appears that we need top-of-pipe synchronisation for changing of certain state, and that the gen5 pipecontrol instruction is insufficient. So we have to fall back on the good old MI_FLUSH in order to make sure that the GPU invalidates its state correctly. Reported-by: Clemens Eisserer <linuxhippy@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51422 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-04sna: The device fd is marked as non-blocking so beware the busy-waitChris Wilson1-1/+10
During redisplay we wait for the pageflip result. If the fd is marked as non-blocking this results in a busy-wait, so insert a poll first to remove the busy-wait. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-04intel-virtual-overlay: Error out if no X11 SHM header is definedChris Wilson1-0/+2
Make the error explicit rather than dieing later with unknown constants. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-04configure: Disable building tools if prerequisite headers not foundChris Wilson1-5/+6
After the pkg-config checks, we then probe the headers. If those probes fail, we obviously wish to prevent building the tools as the build will fail. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-03intel: Allow opening the device only through platform informationChris Wilson2-3/+3
Only fail to open the device based on the PCI address, if and only if we do not have sufficient platform information to find the correct system device. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-03intel: Handle fallback probing without match_dataChris Wilson3-11/+44
One extreme fallback path through the xf86PlatformProbe results in a call without any match data. As we have a device by this point, we can simply do a reverse match. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-03intel: Remove dependence upon having PciInfoChris Wilson13-47/+91
After some probing mechanisms, we may end up with a valid device without knowing its PCI address a priori. Having a valid device, we can just query it for the correct device id, and can safely abort any path that requires PCI information that we don't have. (Those paths are not valid under such hosting anyway - if it may be required, we could reconstruct the address.) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-03intel: And restore PlatformProbe to working orderChris Wilson1-1/+1
In the saga of the untested WIP patches for hosted device probing, was the failure in logic to detect a valid device during probing. Yikes. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-03intel: Querying device attributes must be non-NULLChris Wilson1-3/+17
Check first for a NULL platform device before querying the attributes or else suffer a segfault during PCI probing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-03intel: Fix fallout from accident push of ODEV_ATTRIB_FDChris Wilson1-10/+11
This is WIP for passing along a hosted fd. It wasn't meant to be pushed along with the bug fix this morning. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>