summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-08-16sna/video: Don't assert on a client error, return BadAllocChris Wilson
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>
2013-08-16uxa: Restore the lost copyright block after splitting i965_reg.h from i915_reg.hChris Wilson
Reported-by: "Lim, Siew Hoon" <siew.hoon.lim@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-15sna: Clip the tiled copy during framebuffer resizeChris Wilson
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>
2013-08-14Correct misspelled cachingSedat Dilek
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
2013-08-14sna: Make sure the frontbuffer exists before doing pitch checksChris Wilson
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>
2013-08-14sna: Rename sna_pixmap_get_bo()Chris Wilson
Mark how dangerous this function is by giving it a __ prefix. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-14sna: Tile the old image onto the new framebuffer when enlargingChris Wilson
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>
2013-08-14sna: Check that we successfully install the required hosting midlayerChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-14sna: unwrap old modesetting API whilst hostedChris Wilson
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>
2013-08-13sna: Fix the assertions for the composite fb pathChris Wilson
Having updated the offsets for the dst, we also need to update the assertions. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-12Link the driver against pixmanJulien Cristau
2013-08-12configure: use CPPFLAGS for xaa.h check, not CFLAGSJulien Cristau
CFLAGS aren't passed to the preprocessor, which then can't find the header. Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-08-12Check for struct sysinfo as well as <sys/sysinfo.h>Julien Cristau
Non-linux glibc systems have the latter but not the former. Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-08-12sna/glyphs: Do not attempt to release the negative cache lookupChris Wilson
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>
2013-08-12intel: Check for HW_SKIP_CONSOLE before useChris Wilson
For the older xserver. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-12configure: Correct the spelling of XORG_TESTSET_CFLAGSChris Wilson
Reported-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-12sna: Fix use of obsolete this_atlas in a DBG messageChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-12configure: Fix reversed check for XORG_TESTSET_CFLAGChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-12sna: Reorder composite fallback migration to handle src==dst || mask==dstChris Wilson
Order is important when moving and marking damaged regions. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-12sna: Fix destination offset along memcpy composite fallback fastbackChris Wilson
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>
2013-08-11sna/gen7: Refine ring selectionChris Wilson
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>
2013-08-10sna: Avoid confusing conflicting CRTC probes vs a DRM raceChris Wilson
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>
2013-08-10sna: Remove the redundant clearing of kgem at startupChris Wilson
struct kgem is contained within a cleared superstruct. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-10sna/glyphs: Micro-optimise glyphs-to-dstChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-10sna/glyphs: Micro-optimise glyph drawingChris Wilson
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>
2013-08-10sna: Tune pixmap_inplace() not to use a pinned busy GPU bo for replacementChris Wilson
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>
2013-08-09sna: Allow LLC to reuse any active write bufferChris Wilson
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>
2013-08-09sna: Squelch a "valid" mode without a dotclockChris Wilson
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>
2013-08-09intel: Disable incompatible features whilst hostedChris Wilson
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>
2013-08-09sna: Rewrite the can-mmap-cpu test to handle stolen unclaimed boChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-09sna: Check for EINVAL after mmappingChris Wilson
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>
2013-08-09configure: Only use XORG_TESTSET_CFLAG if definedChris Wilson
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>
2013-08-08sna: Use create2 to allocate a DISPLAY bo even if we have not enough stolenChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-08sna: Always reuse scanout bo where possibleChris Wilson
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>
2013-08-08sna: Avoid leaking stolen framebuffer boChris Wilson
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>
2013-08-08sna/dri: Do not create a scanout-capable buffer if not flippingChris Wilson
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>
2013-08-08configure: Include the experimental features in the configuration summaryChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-08sna: Only use the experimental create2 if we support DISPLAY cacheing as wellChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-08Micro-optimise box intersectionsRaul Fernandes
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.
2013-08-07sna: Update experimental create2 struct definitionChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-06configure.ac: fix dri enabled with kms only pickedDave Airlie
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>
2013-08-05sna: Rename the attribute macro __packed__ to avoid clang barfingChris Wilson
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>
2013-08-04sna: Tweak threading thresholdsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-04sna/trapezoids: Some minor DBG to investigate threaded renderingChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-04sna: Define fast function attribute for old gcc or other compilersChris Wilson
Also written by Mark Kettenis and reported by Sedat Dilek. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-042.21.14 release2.21.14Chris Wilson
2013-08-04sna: Mark the entire userptr proxy chain as flush/non-reusableChris Wilson
Fixes cache bookkeepping when mixing userptr uploads. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-02sna: Reserve relocation entries for the deferred VBOChris Wilson
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>
2013-08-01sna/dri: Disable TripleBuffering by default for compositorsChris Wilson
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>
2013-08-01sna: Add a few more details to the log for mode switchingChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>