summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-04-062.21.6 release2.21.6Chris Wilson
2013-04-06configure: Allow valgrind support to be manually enabledChris Wilson
Irrespective of the DDX debug settings, some people wish to run Xorg under valgrind and so prefer to have the cleaner output by making the DDX valgrind aware. (Actually Maarten wants valgrind support enabled by default...) Suggested-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-04-06sna: Improve assertions to detect rogue priv->cpu statusChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-04-04sna: Restore bo->flush status for large boChris Wilson
Since we started discarding the flush flags on cached bo (in order to prevent DRI flush states leaking), we failed to preserve the flush flag for large bo (which uses it to keep batches trim and other hints). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-04-02sna: Adjust userptr structure for implicit paddingChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-04-02sna: Relax scanline waits on HSW to be emittable from either ringChris Wilson
My overzealous reading of the bspec lead me to the conclusion that the MI_LOAD_SCANLINES command was only available on the blitter ring. This is false, thankfully, and allows us to do vsync'ed Xv. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-04-02sna/gen4: Kill stray debugging ErrorF from previous commitChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-04-02sna/gen4: Break the Video rendering loop into 16 rectangle chunksChris Wilson
If we feed more than 16 rectangles into the video rendering pipeline, the GPU goes crazy and starts emitting corruption. Lalalala. Bugzilla: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1162046 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-04-02DRI2GetMSC: Do not send a bogus ust for when the drawable is not displayedChris Wilson
According to the opengl glx_sync_control spec, the Unadjusted System Time (or UST) is a 64-bit monotonically increasing counter that is available throughout the system: http://www.opengl.org/registry/specs/OML/glx_sync_control.txt Therefore, sending 0, even in this corner case, is out of spec. However, we cannot just return FALSE here as that triggers a BadDrawable error to be sent, and as is often the case mishandled, to the client. This results in a certain compositor terminating, for example. As an alternative we can use the monotonic system timestamp which in theory should also be monotonic with the previous and subsequent vblank times. Based on a patch by Daniel Kurtz. Reported-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-04-01sna: Try to eliminate pending operations to the bo being replacedChris Wilson
When we are replacing a bo with fresh data, we can drop pending operations to it and thereby reduce the complexity of the replacement. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-04-01sna: Allow the compiler to inline memcpy for the bitblt routinesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-28sna/gen7: Refine is_gt2() for Haswell versus IvybridgeChris Wilson
The two similar chipsets do not use the same PCI-ID encoding schema. Fixes regression from commit 235a3981ea9759317b392302a2b2b8f4fafab410 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue Mar 26 20:37:14 2013 +0000 sna/gen7: Use GT2 values for GT2 variants Reported-by: zaverel@free.fr Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-27sna/gen7: Resist the temptation to overprogram the number of PS threads for HSWChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-27sna/gen4+: Set read-write allocation mode for the target render cacheChris Wilson
As we often first clear the destination before performing a blend, we get a performance boost if that first write populates the render cache. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-27sna/gen7: Fix MOCS for HaswellChris Wilson
The memory attributes changed slightly, and in particular there is now an explicit uncached setting - which of course happened to be the value currently selected. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-27sna/gen7: Restore render acceleration for VLV power-on boardChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-27sna/gen7: Prefer spans for GT2 desktop variantsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-27sna/gen7: Use GT2 values for GT2 variantsChris Wilson
The check was only testing for GT2+ and excluding the normal GT2 devices. See also commit ce9f0448367ea6a90490a28150bfdc0a76500129 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Feb 8 16:01:54 2013 +0000 sna/gen6: Use GT2 settings for both GT2 and GT2+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-26sna: Use a more portable way to determine total RAM sizeMark Kettenis
The sysinfo function is Linux-specific. sysconf(_SC_PHYS_PAGES), while not truly portable, is available on many more systems, including Linux, Solaris, NetBSD, FreeBSD and OpenBSD. So use that instead. Verified that this results in the same value as the sysinfo call on a handful of Linux systems. Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
2013-03-26sna: Add extra '()' around bitwise &/&& for CPU feature detectionChris Wilson
By popular demand. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-26sna/gen4+: Reorder code to compile on squeezeChris Wilson
Remember to only use sse4_2, avx2 in their restricted sections that check for compiler support. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-26sna: Check for OS support of AVX/AVX2 before useChris Wilson
If the OS has not initialised support for the extended instructions, then their use may result in general protection faults. Based on code by Thiago Macieira. Reported-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-26sna: Fix AVX2 detectionChris Wilson
It requires use of the cpuid feature eax=7:ecx=0, so it requires the extended version of __cpuid to pass in the subfeature. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-26sna/gen4+: Add a couple more advanced SSE variants for composite verticesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-26sna: AVX2 is in the ebx result of cpuidChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-26sna: Trim removed fields from execbuffer2 for OpenBSD supportChris Wilson
Reported-by: Mark Kettenis <kettenis@openbsd.org> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-26sna: Fix OpenBSD backlight control implementationMark Kettenis
Fix cut'n'paste error such that this actually compiles. Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
2013-03-25Remove the GeneralSocket upon CloseScreenChris Wilson
Be neat and tidy in case we are shutdown but the server is not regenerated (e.g. a hot-unplug). Reported-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-23sna: Convert out-of-bounds sample to CLEARChris Wilson
If asked to perform pixelformat conversion of a sample that resides outside the valid area, we can simply substitute CLEAR. Bugzila: http://bugs.freedesktop.org/show_bug.cgi?id=62681 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-23sna: Fix an assertion to check the correct boChris Wilson
After syncing the GPU bo for use, that's what we should test as well. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-22sna: Fix assertions that the pixmap points into the CPU bo for fallbacksChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-22sna: Add backlight control implementationChris Wilson
Based on the previous patch by Mark Kettenis <kettenis@openbsd.org>
2013-03-22uxa: Add OpenBSD backlight control implementationMark Kettenis
Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
2013-03-22sna: Fix computation of clip extents for stipplingChris Wilson
The clip extents for the stippled BLT missed applying the drawable offset to the lower-right corner, so inevitably every operation ended up being clipped. Reported-by: Clemens Eisserer <linuxhippy@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62618 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-21sna/dri: Disable assertion and associated bookkeepingChris Wilson
Due to long standing ignored bugs in DRI2, we have to accept breakage in the driver. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62614 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-212.21.5 release2.21.5Chris Wilson
2013-03-19sna: Haswell reintroduces MI_LOAD_SCAN_LINESChris Wilson
Better late than never? Interestingly only available from the BLT ring, which makes accurate waiting for XVideo (which must use the render ring) impossible in the current form - we need to render to a temporary then do a vsynced blit in this case. References: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1156679 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-19sna: Ignore vsync waits on tiny scanline rangesChris Wilson
If the update is only a couple of lines tall, any tear will not be visible - so just ignore programming the wait into the GPU. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-18sna: Reset operation state between glyphsChris Wilson
We are not resetting sufficient state between operations as we presume that all callers of Composite() currently pass in a blank state. In the long run, we want to remove that burden and do a minimal initialisation. References: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1156387 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-18sna: Add a pair of sanity checks before creating the redirection targetChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-18sna: Skip processing an all-clipped-out glyphChris Wilson
Along the slow path, skip all processing of glyphs that are not visible. This is important as the slow path handles the per-glyph redirection case, which is much more expensive. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-17sna/dri: Fix stale Pixmap detectionChris Wilson
NB the back buffer is not associated with the Drawable and so has no pixmap field set. Hence comparing the front->pixmap against the back->pixmap was always rejecting the blit. All we can check is that front->pixmap corresponds with the current Drawable and so reject stale configuration. 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-03-17sna: Don't remove the flush flag for userptr boChris Wilson
This flag is far too overload with meaning, but for now this prevents us attempting to call free() on a SHM segment. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-16sna/dri: Clear flush flag upon bo destroyChris Wilson
Fixes sanity checks that we do not leak the flushing status, nor invoke an operation upon an unflushed bo. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-14sna: Add an LLC path for creating snoopable buffersChris Wilson
As with LLC we do not actually need to track snoopable as a separate cache state. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-14sna/gen5+: Add missing float casts in computation of scaled src offsetsChris Wilson
Without the casts, the division ends up as 0 rather than the fractional offset into the texture. The casts were missed in the claimed fix: commit 89038ddb96aabc4bc1f04402b2aca0ce546e8bf3 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Feb 28 14:35:54 2013 +0000 sna/video: Correct scaling of source offsets Reported-by: Roman Elshin <roman.elshin@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62343 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-14sna: Consider placement hints when choosing userptr read pathChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-14sna: Add handle info to sync DBGChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-14sna: Use userptr downloads for incomplete GPU damaged pixmapsChris Wilson
If the pixmap is not wholly damaged, but still contains the region to be read, then use userptr (if available). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-14sna: Add a few more assertions to track userptr through the cachesChris Wilson
i.e. make sure they don't end up in any caches. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>