Age | Commit message (Collapse) | Author |
|
If the client sends a BO that is too small to satifsy the PutImage, then
reject with BadAlloc rather than die with an assert.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Reported-by: "Lim, Siew Hoon" <siew.hoon.lim@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
If we use the BLT for copies, then we need to supply correctly clipped
coordinates.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
|
|
An unusual path to be sure, to call sna_crtc_set_mode_major before we
create a GPU bo for the scanout - but might be possible after a GPU
hang, or it appears after trying to set a 0x0 mode. At any rate, make
sure the GPU bo exists before dereferencing.
Bugzilla: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1212344
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Mark how dangerous this function is by giving it a __ prefix.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This improves the transition from going from a mirrored fbcon
framebuffer to an extended mode.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
If we are hosted, then we do not have our own modesetting backend and
calling it results in fireworks. So leave the old modesetting entry
points for the hosting midlayer to control.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Having updated the offsets for the dst, we also need to update the
assertions.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
|
|
CFLAGS aren't passed to the preprocessor, which then can't find the
header.
Signed-off-by: Julien Cristau <jcristau@debian.org>
|
|
Non-linux glibc systems have the latter but not the former.
Signed-off-by: Julien Cristau <jcristau@debian.org>
|
|
Following
commit 021c59f6243c51871f664e5fdd43aa00a809033a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Sat Aug 10 13:15:48 2013 +0000
sna/glyphs: Micro-optimise glyph drawing
we need to be careful during sna_glyph_release() that the atlas points
into the glyph cache before releasing it. Fortunately caught by an
assertion.
Reported-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
For the older xserver.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Reported-by: Julien Cristau <jcristau@debian.org>
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>
|
|
Order is important when moving and marking damaged regions.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The application of dst_x|y was incorrect, and so the drawing could end
up in the wrong location for a window.
References: https://bugs.freedesktop.org/show_bug.cgi?id=66990
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Don't force us to select BLT too early if we allow ring switching. As
the RENDER ring benefits from more cacheing over time (e.g. HSW:GT3e) it
becomes much more preferable to use it over the BLT. Since we already
have the logic to decide if ring switching is possible/preferred, relax
the initial checks on where the current activity is to allow switching
between batches.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Only bail we fail to find the CRTC for this output amongst the allowed
set for this ZaphodHead - but allow us to find an invalid CRTC.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
struct kgem is contained within a cleared superstruct.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
When you don't have many cycles to play with, every one counts.
Here we make sure we cache negative lookups for large glyphs.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Obviously we can only replace the bo if it is not pinned and so just
incur a stall when we could have instead rerouted the rendering through
its CPU bo.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The inplace write distinction is not important on LLC, so pick any
buffer that is on the GPU and available for reuse.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
There is yet another race in drm initialisation where X is starting long
before the drm device is completely ready, and is being told that the
output has a valid mode, but with bogus settings. Ignore it, and hope it
comes to its senses later on.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Start adding the infrastructure to disable direct hardware access if X
is being run under a system compositor (aka "hosted").
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
I want to catch this error as it happens to see which (stolen) bo is
being erroneously mmapped.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Repairs the build for f16 which has an older version of xorg-macros.
Fortunately, as it doesn't define XORG_TESTSET_CFLAG it also doesn't use
it generate noisy output.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
When looking for an inactive scanout and all are busy, select the oldest
for reuse.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Framebuffers created from stolen bo were not being released and so the
kernel would keep the fb and bo alive, causing the memory to be
remain unreusable whilst X lived and us to leak all available stolen
memory.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Avoid paying the penalty of creating an uncached buffer if we never
intend to flip to it.
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>
|
|
We can shave a few instructions off the routine by incrementally
performing the "is-empty" check as soon as we compute the intersection
in each dimension.
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Otherwise we'd fail saying DRI1 wasn't possible, when that
is exactly what we asked for.
[ickle: The breakage was introduced with
commit bd6ffd1ad2f903215d2c631252e742a0f6893054 [2.21.14]
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Sat Jul 27 15:33:19 2013 +0100
configure: Print a summary of compilation options
which modified the search to only take place if UMS was enabled, but
missed mollifying the resulting error.]
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Using __packed__ as shorthand for ___attribute__(__packed__) confuses
clang as. (I guess to it expands (__packed__) which gcc skips.) As
clang also uses packed in its builtins, we have to find a compromise,
and so tightly_packed wins for being a more verbose description without
the dangerous leading underscores.
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>
|
|
Also written by Mark Kettenis and reported by Sedat Dilek.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
|
|
Fixes cache bookkeepping when mixing userptr uploads.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Whilst we reserved exec entry slots for the deferred VBO, there were no
relocation spaces reserved. So if we submitted a render command followed
by a multitude of BLT copies, we could then overrun the relocation array
when adding the deferred vbo to the batch.
Reported-by: Danny <moondrake@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67504
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Ideally, the method of swapping is something that the applications have
control over, along with how to synchronise to the vertical refresh.
Whilst triple buffering is good to reduce jitter for games (at the cost of
an extra frame of latency, usually considered a good tradeoff), it
prevents the applications from accurately controlling the presentation
of animations. One vocal critique is Owen Taylor, who demands accurate
swap control for smooth animations in gnome-shell. For example,
http://blog.fishsoup.net/2012/11/28/avoiding-jitter-in-composited-frame-display/
In lieu of application control, just apply a quirk for the compositor.
Everyone else will just have to wait for DRI3.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|