Age | Commit message (Collapse) | Author |
|
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
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>
|
|
By popular demand.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Reported-by: Mark Kettenis <kettenis@openbsd.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Fix cut'n'paste error such that this actually compiles.
Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Based on the previous patch by Mark Kettenis <kettenis@openbsd.org>
|
|
Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
i.e. make sure they don't end up in any caches.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|