platform/upstream/xf86-video-intel.git
10 years agopackaging: Bump to 2.99.914
Philippe Coval [Fri, 1 Aug 2014 14:55:39 +0000 (16:55 +0200)]
packaging: Bump to 2.99.914

Change-Id: I295eb68d85c903489161c0aa355db05b7ab4e8d7
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
10 years agopackaging: disable sna feature (FTBFS using current xorg)
Philippe Coval [Thu, 31 Jul 2014 01:49:04 +0000 (03:49 +0200)]
packaging: disable sna feature (FTBFS using current xorg)

Change-Id: I37067db84311dcffe3474ffdbe1b5d8fbfe02c81
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
10 years agopackaging: Bump to 2.21.15
Philippe Coval [Wed, 30 Jul 2014 23:11:28 +0000 (01:11 +0200)]
packaging: Bump to 2.21.15

Change-Id: I80d0e5ce1ef91940e4e63d8f8badc78a13de6ee1
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
10 years agopackaging: use upstream tag
Philippe Coval [Wed, 30 Jul 2014 23:09:37 +0000 (01:09 +0200)]
packaging: use upstream tag

Change-Id: I943b78f3a495c1aee3b5aabaf97454436aa11fdd
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
10 years agoexclude build for inappropriate platforms (PTREL-590).
Ronan Le Martret [Fri, 10 Jan 2014 09:44:15 +0000 (10:44 +0100)]
exclude build for inappropriate platforms (PTREL-590).

build only for pure x11 platform.

wayland  |x  |meaning
---------------------------
0  |1  |pure X11 platform(no wayland)
1  |0  |pure wayland platform (no X11)
1  |1  |wayland but X compatibility
0  |0  |no X and no wayland

Change-Id: Ic8fd82ec9132ad311ce66792a44a70173c00e86d
Signed-off-by: Ronan Le Martret <ronan@fridu.net>
10 years agoresetting manifest requested domain to floor
Alexandru Cornea [Sat, 29 Jun 2013 03:50:55 +0000 (06:50 +0300)]
resetting manifest requested domain to floor

10 years agoUpdate to 2.21.2
Anas Nashif [Mon, 11 Feb 2013 15:37:00 +0000 (07:37 -0800)]
Update to 2.21.2

10 years agoUpdate to 2.21.2
Anas Nashif [Mon, 11 Feb 2013 15:34:41 +0000 (07:34 -0800)]
Update to 2.21.2

10 years agoadd packaging
Anas Nashif [Wed, 7 Nov 2012 05:16:31 +0000 (21:16 -0800)]
add packaging

10 years ago2.99.914 snapshot 2.99.914
Chris Wilson [Wed, 23 Jul 2014 14:45:31 +0000 (15:45 +0100)]
2.99.914 snapshot

10 years agosna/dri2: Compile fix for old xorg/dri2
Chris Wilson [Wed, 23 Jul 2014 15:42:46 +0000 (16:42 +0100)]
sna/dri2: Compile fix for old xorg/dri2

We have to do conditional compilation as we touch structure members that
may not exist in older Xserver headers.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agoAdd automake magic required for libobj/
Chris Wilson [Wed, 23 Jul 2014 14:41:29 +0000 (15:41 +0100)]
Add automake magic required for libobj/

So libobj/ wasn't included in the tarball, and nor was the compatability
functions being added to the driver when they were needed. The oddity is
that using the ./configure script (and thus make distcheck) succeeds. It
was only when 'autoreconf -fi' was run was the first error encoutered.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reported-by: Tobias Klausmann
10 years agoFix compile failure on old Xorg with XF86_ALLOCATE_GPU_SCREEN
Chris Wilson [Wed, 23 Jul 2014 14:19:44 +0000 (14:19 +0000)]
Fix compile failure on old Xorg with XF86_ALLOCATE_GPU_SCREEN

Sigh, a late fix was not compile checked against xorg-1.7.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years ago2.99.913 snapshot 2.99.913
Chris Wilson [Sat, 5 Jul 2014 07:47:16 +0000 (08:47 +0100)]
2.99.913 snapshot

10 years agosna: Skip performing an async flip after fixup
Chris Wilson [Wed, 23 Jul 2014 13:25:25 +0000 (14:25 +0100)]
sna: Skip performing an async flip after fixup

After the first async failure and we fix up the CRTC, ordinary we queue
a no-op flip in order to queue the event. For async flips, we do not
want that event so just skip the flip.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/dri2: Tidy freeing the queued frame events
Chris Wilson [Wed, 23 Jul 2014 12:54:19 +0000 (13:54 +0100)]
sna/dri2: Tidy freeing the queued frame events

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotest/dri2: Use the right device node
Chris Wilson [Wed, 23 Jul 2014 12:45:27 +0000 (13:45 +0100)]
test/dri2: Use the right device node

Use the device node as instructed by Xorg.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Add a DBG message for slave damage propagation
Chris Wilson [Wed, 23 Jul 2014 11:12:03 +0000 (12:12 +0100)]
sna: Add a DBG message for slave damage propagation

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Reorder disabling scanout pixmap when updating slave
Chris Wilson [Wed, 23 Jul 2014 10:01:07 +0000 (11:01 +0100)]
sna: Reorder disabling scanout pixmap when updating slave

The assertion caught that we would unregister an invalid drawable on
older Xorg.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Disable all outputs when initializing as a slaved output provider
Chris Wilson [Wed, 23 Jul 2014 09:53:40 +0000 (10:53 +0100)]
sna: Disable all outputs when initializing as a slaved output provider

When we are constructed as a slaved device, we need to disable all
outputs or else they are not correctly hooked into the master device
upon startup.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/dri2: Recreate buffer in reuse rather than force recreate
Chris Wilson [Wed, 23 Jul 2014 07:37:46 +0000 (08:37 +0100)]
sna/dri2: Recreate buffer in reuse rather than force recreate

By marking the buffer->attachment as invalid we forced the recreation of
the buffer on the next DRI2GetBuffers. The only small problem with that
was that the client didn't always immediately call DRI2GetBuffers after
the invalidation - and if they did a DRI2CopyRegion with its stale
buffers the unfound attachment would generate a BadValue and kill the
client. So instead of messing around with the attachment, explicitly
recreate the buffer if we attempt to reuse a buffer of the wrong size.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Ensure errno is set after failure before reporting a modeset failure
Chris Wilson [Tue, 22 Jul 2014 08:40:14 +0000 (09:40 +0100)]
sna: Ensure errno is set after failure before reporting a modeset failure

A few paths we report a sanity check failure which do not set errno, but
we then print out the errno as part of our message to the user. Set it
to a sane value in those cases.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Remove %# from DBG messages
Chris Wilson [Tue, 22 Jul 2014 08:15:01 +0000 (09:15 +0100)]
sna: Remove %# from DBG messages

LogF doesn't support the 0x-prefix instruction.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Assert that we do not overwrite an earlier COW entry
Chris Wilson [Tue, 22 Jul 2014 07:52:10 +0000 (08:52 +0100)]
sna: Assert that we do not overwrite an earlier COW entry

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/dri3: Don't forget to add SHM pixmaps to the list of exported DRI3 bo
Chris Wilson [Tue, 22 Jul 2014 07:48:58 +0000 (08:48 +0100)]
sna/dri3: Don't forget to add SHM pixmaps to the list of exported DRI3 bo

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/video: Bump the maximum size for sprites
Chris Wilson [Sun, 20 Jul 2014 06:29:21 +0000 (07:29 +0100)]
sna/video: Bump the maximum size for sprites

A sprite plane is limited by the display engine who's maximum resolution
has increased since the 2kx2k limitations of 8xx, so let's set it
correctly to the reported maximum CRTC size (since we have no individual
query for maximum sprite plane sizes).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agodri3-test: Print line number for shm failures
Chris Wilson [Sun, 20 Jul 2014 06:27:58 +0000 (07:27 +0100)]
dri3-test: Print line number for shm failures

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agoconfigure: Double check xinerama's headers
Chris Wilson [Fri, 18 Jul 2014 06:31:25 +0000 (07:31 +0100)]
configure: Double check xinerama's headers

Having the pkgconfig present doesn't always necessarily imply the
headers are installed correctly - just fail over gracefully for xinerama
and intel-virtual-output

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/dri2: Protect compsiteext.h include with build check
Chris Wilson [Fri, 18 Jul 2014 06:14:19 +0000 (07:14 +0100)]
sna/dri2: Protect compsiteext.h include with build check

We shouldn't include calls to the composite extension if it has not been
built.

Reported-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Fix compilation with older Xorg
Chris Wilson [Thu, 17 Jul 2014 16:10:39 +0000 (17:10 +0100)]
sna: Fix compilation with older Xorg

sna_display.c: In function 'sna_crtc_disable_shadow':
sna_display.c:1375:39: error: dereferencing pointer to incomplete type
   DamageUnregister(&crtc->slave_damage->drawable, crtc->slave_damage);

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Support TearFree on slaved outputs
Chris Wilson [Thu, 17 Jul 2014 16:04:02 +0000 (17:04 +0100)]
sna: Support TearFree on slaved outputs

By always forcing the shadow intermediatory, we can enable TearFree even
ona slave scanout.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agobacklight: Prevent dereference of potential NULL argv
Chris Wilson [Thu, 17 Jul 2014 15:14:16 +0000 (16:14 +0100)]
backlight: Prevent dereference of potential NULL argv

Adam Sampson spotted that

"It's possible (but not very sensible) to exec a program with an empty
argument list, so argv[0] is not necessarily a valid pointer. For
example:

$ cat exec0.c

int main(int argc, char *argv[]) {
    char *empty[1] = { NULL };
    execvp(argv[1], empty);
    perror("execvp");
    return 1;
}
$ ./exec0 /usr/libexec/xf86-video-intel-backlight-helper
Usage: (null) <iface>
"

He sensibly suggested that we hardcode the program name to avoid the
NULL dereference. Being the paranoid type, we should also be careful not
to write to any file descriptors outside of our control (i.e. stderr),
so disable the messages unless we are debugging.

Reported-by: Adam Sampson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Assert that we never attempt to flip the slave scanout
Chris Wilson [Thu, 17 Jul 2014 14:23:46 +0000 (15:23 +0100)]
sna: Assert that we never attempt to flip the slave scanout

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/dri2: Disable SwapLimit buffers with buggy prime implementations
Chris Wilson [Thu, 17 Jul 2014 14:01:06 +0000 (15:01 +0100)]
sna/dri2: Disable SwapLimit buffers with buggy prime implementations

If there is a GPU screen, we have to assume that the DRI2 code may pass
around the wrong pointers to ReuseBufferNotify until the fix is
released:

commit 4d92fab39c4225e89f2d157a1f559cb0618a6eaa
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Jun 18 11:14:43 2014 +0100

    dri2: Use the PrimeScreen when creating/reusing buffers

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Handle rotated slaved scanouts
Chris Wilson [Thu, 17 Jul 2014 13:40:51 +0000 (14:40 +0100)]
sna: Handle rotated slaved scanouts

As per the usual handling of rotated scanouts with unsupported
rotations, we stage the drawing onto a backbuffer then rotate onto the
crtc later. The difference here is that we must read the contents from
the master pixmap rather than our own screen pixmap.

Spotted was looking at slaved scanouts mistakenly setting the CRTC
transformed flag.

Reported-by: Tomas Pruzina <pruzinat@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81383
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Add missing DBG parameters
Chris Wilson [Thu, 17 Jul 2014 11:54:47 +0000 (12:54 +0100)]
sna: Add missing DBG parameters

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Avoid confusing failure to flip and flipping zero CRTC
Chris Wilson [Thu, 17 Jul 2014 09:06:06 +0000 (10:06 +0100)]
sna: Avoid confusing failure to flip and flipping zero CRTC

During the present unflip path we blindly try to restore the original
mode after a flip failure. However, it confuses flipping zero CRTC with
a genuine failure. This has the result of undoing a DPMS change (e.g.
xset dpms force dpms) under a DRI3 compositor.

Reported-by: Jiri Slaby <jirislaby@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81456
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Busy-wait for the kernel to catch up when flipping
Chris Wilson [Thu, 17 Jul 2014 08:20:35 +0000 (09:20 +0100)]
sna: Busy-wait for the kernel to catch up when flipping

If the kernel reports that it is busy, it has not yet finished
processing a pending flip and we have multiple CRTC queued, just wait
for the kernel to clear its backlog before submitting the next flip. On
the other hand, if we can just overwrite the pending flip results.
However, the EBUSY may actually be a genuine report by the kernel of an
error, so check for an invalid CRTC first.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Silence valgrind when reading plane properties
Chris Wilson [Thu, 17 Jul 2014 07:53:13 +0000 (08:53 +0100)]
sna: Silence valgrind when reading plane properties

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Remove extraneous function wrapping
Chris Wilson [Thu, 17 Jul 2014 07:32:14 +0000 (08:32 +0100)]
sna: Remove extraneous function wrapping

Since we only have the single callsite for do_page_flip, the wrapper is
not adding any meaningful information.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: And remove new bogus assertion
Chris Wilson [Wed, 16 Jul 2014 11:53:02 +0000 (12:53 +0100)]
sna: And remove new bogus assertion

We assert that damage is valid as we delete the Pixmap, and so we cannot
assert that the Pixmap is still valid itself.

Reported-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Make the damage check more verbose
Chris Wilson [Wed, 16 Jul 2014 07:05:34 +0000 (08:05 +0100)]
sna: Make the damage check more verbose

Print out the pixmap number and the damage extents for when the
assertion fails.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/gen2+: Remove assertion on draw->type for fills
Chris Wilson [Wed, 16 Jul 2014 06:19:03 +0000 (07:19 +0100)]
sna/gen2+: Remove assertion on draw->type for fills

I overlooked the tiling-fill path passing down a temporary DrawableRec
into the fill_boxes callback - invalidating the assertion.

Fixes regression from
commit 43176b9bfafe389c4b9ed676f4e50e3b06f858c4
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Jun 30 21:01:11 2014 +0100

    sna/dri2: Pass around the correct DrawableRec for sampling from the foriegn bo

Reported-by: Jiri Slaby <jirislaby@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70461#c62
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Use a stricter test for determining CRTC off before updating the cursor
Chris Wilson [Fri, 11 Jul 2014 21:23:55 +0000 (22:23 +0100)]
sna: Use a stricter test for determining CRTC off before updating the cursor

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Reduce reflections onto rotations
Chris Wilson [Wed, 9 Jul 2014 11:10:15 +0000 (12:10 +0100)]
sna: Reduce reflections onto rotations

In order to support a wider range of rotation/reflections, perform a
simple reduction of the requested rotation first.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agoconfigure: Provide a poor man's replacement for getline()
Chris Wilson [Thu, 10 Jul 2014 20:01:57 +0000 (21:01 +0100)]
configure: Provide a poor man's replacement for getline()

uClibc is one such library that doesn't implement getline()

Reported-by: Ben Widawsky <benjamin.widawsky@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Rewrite rotation setup on top of universal drm planes
Chris Wilson [Tue, 8 Jul 2014 10:53:13 +0000 (11:53 +0100)]
sna: Rewrite rotation setup on top of universal drm planes

The kernel interface has changed slightly since the early proposals. Now
the rotation property is only on the plane and so we have to lookup the
primary prime as well.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Fix a couple of DBG messages
Chris Wilson [Sat, 5 Jul 2014 13:40:38 +0000 (14:40 +0100)]
sna: Fix a couple of DBG messages

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotest/lowlevel-blt-bench: Add common PDF operators
Chris Wilson [Sat, 5 Jul 2014 08:46:00 +0000 (09:46 +0100)]
test/lowlevel-blt-bench: Add common PDF operators

Applications are starting to use PDF operators, so far I have spotted
multiply, dodge and lighten.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agobacklight: Fix security issues in handling of the interface path name.
Matthieu Herrb [Fri, 4 Jul 2014 16:26:09 +0000 (18:26 +0200)]
backlight: Fix security issues in handling of the interface path name.

- don't allow '/' in the interface name to avoid escaping the /sys
  hierarchy
- check snprintf() return value for overflow.

Problems reported by  Adam Sampson. Thanks.

Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
Reviewed-by: Reviewed-by: Hans de Goede <hdegoede@redhat.com>
10 years agosna: Discard operations to either CPU or GPU bo when overwriting with RenderRectangles
Chris Wilson [Fri, 4 Jul 2014 12:04:02 +0000 (13:04 +0100)]
sna: Discard operations to either CPU or GPU bo when overwriting with RenderRectangles

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Tweak number of threads for short areas
Chris Wilson [Fri, 4 Jul 2014 11:43:55 +0000 (12:43 +0100)]
sna: Tweak number of threads for short areas

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Convert a clear tile into a solid fill
Chris Wilson [Fri, 4 Jul 2014 11:39:01 +0000 (12:39 +0100)]
sna: Convert a clear tile into a solid fill

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Fix typo s/num_threads/max_threads/
Chris Wilson [Fri, 4 Jul 2014 11:26:43 +0000 (12:26 +0100)]
sna: Fix typo s/num_threads/max_threads/

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Do a quirk early check for short areas before threading
Chris Wilson [Fri, 4 Jul 2014 11:14:11 +0000 (12:14 +0100)]
sna: Do a quirk early check for short areas before threading

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Disable use of threaded compositor when using threaded renderer
Chris Wilson [Fri, 4 Jul 2014 11:10:10 +0000 (12:10 +0100)]
sna: Disable use of threaded compositor when using threaded renderer

Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Utilise existing cached upload for promoting to GPU bo
Chris Wilson [Fri, 4 Jul 2014 10:02:39 +0000 (11:02 +0100)]
sna: Utilise existing cached upload for promoting to GPU bo

If we already have a buffer that represents the data on the GPU, we can
simply use that when we need to promote the pixmap onto the GPU.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Promote tile pixmaps to GPU when reused
Chris Wilson [Fri, 4 Jul 2014 09:43:35 +0000 (10:43 +0100)]
sna: Promote tile pixmaps to GPU when reused

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/gen8: Disable the unaligned check
Chris Wilson [Fri, 4 Jul 2014 09:14:54 +0000 (10:14 +0100)]
sna/gen8: Disable the unaligned check

Note sure if this is strictly required -- but at the moment it fails for
1x1R solids, causing us to skip glyphs. The simulator doesn't complain,
so just skip the check for now.

Reported-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Tighten assertions for using upload proxies concurrently with CPU reads
Chris Wilson [Fri, 4 Jul 2014 08:55:04 +0000 (09:55 +0100)]
sna: Tighten assertions for using upload proxies concurrently with CPU reads

After relaxing some of the rules on when to discard the upload proxies,
we also need to relax some of the complementary asserts.

Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Prevent creating a GPU bo for an inplace read
Chris Wilson [Fri, 4 Jul 2014 08:48:53 +0000 (09:48 +0100)]
sna: Prevent creating a GPU bo for an inplace read

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Wrap xf86DPMSSet
Chris Wilson [Thu, 3 Jul 2014 18:18:04 +0000 (18:18 +0000)]
sna: Wrap xf86DPMSSet

We need to wrap xf86DPMSSet() so that we can reintialize our bookkeeping
and auxiliary planes after disabling/re-enabling CRTC during DPMS
operations.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Clear the cursor reference from the CRTC if the update fails
Chris Wilson [Thu, 3 Jul 2014 08:07:44 +0000 (09:07 +0100)]
sna: Clear the cursor reference from the CRTC if the update fails

This should allow it to be restored correctly the next time it gets
shown.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Limit the size of the tiling object to be smaller than either the originals
Chris Wilson [Wed, 2 Jul 2014 20:17:54 +0000 (21:17 +0100)]
sna: Limit the size of the tiling object to be smaller than either the originals

When we tile, we do so in order to fit an operation involving two
objects larger than the aperture. If we then choose an intermediate
tiling object that is larger than either of those two, the error will
persist and we will be forced to recuse.

In the worst case, this will provide an upper bound to the recursion.

Reported-by: Bruno Prémont <bonbons@linux-vserver.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotest: Create separate SHM segments for ref/out
Chris Wilson [Wed, 2 Jul 2014 09:16:07 +0000 (09:16 +0000)]
test: Create separate SHM segments for ref/out

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Use the threaded compositor for picture conversions
Chris Wilson [Wed, 2 Jul 2014 10:47:32 +0000 (10:47 +0000)]
sna: Use the threaded compositor for picture conversions

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/gen6+: Tweak consideration of compositing on BLT
Chris Wilson [Wed, 2 Jul 2014 10:31:54 +0000 (11:31 +0100)]
sna/gen6+: Tweak consideration of compositing on BLT

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Fix typo in LinearFramebuffer handling
Chris Wilson [Tue, 1 Jul 2014 16:54:49 +0000 (17:54 +0100)]
sna: Fix typo in LinearFramebuffer handling

Eeek, when not using LinearFramebuffer we still want to create the GPU
bo: s/,/;/

Reported-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Correct migration flags for initial scanout creation
Chris Wilson [Tue, 1 Jul 2014 16:53:56 +0000 (17:53 +0100)]
sna: Correct migration flags for initial scanout creation

We want to preserve any contents preloaded (not that there should be
any...)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/dri2: Add a DBG option to select copy method
Chris Wilson [Tue, 1 Jul 2014 15:59:31 +0000 (16:59 +0100)]
sna/dri2: Add a DBG option to select copy method

Often when debugging it is useful to force either use of the BLT or 3D
pipelines for copies.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Enforce LinearFramebuffer option
Chris Wilson [Tue, 1 Jul 2014 14:11:07 +0000 (15:11 +0100)]
sna: Enforce LinearFramebuffer option

This option should only be used for compatibility. Previously this was
done at a high level, this changes it to enforce the tiling as we apply
the CRTC.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/dri2: Use CPU fallback if possible
Chris Wilson [Tue, 1 Jul 2014 13:31:32 +0000 (14:31 +0100)]
sna/dri2: Use CPU fallback if possible

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/dri2: Set depth/bpp on scratch DrawableRec
Chris Wilson [Tue, 1 Jul 2014 12:10:32 +0000 (13:10 +0100)]
sna/dri2: Set depth/bpp on scratch DrawableRec

We need to initialise both depth and bitsPerPixel on the drawable struct
we pass around as they are used for selecting for the format when
copying.

Reported-by: Vedran Rodic <vrodic@gmail.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agointel: Use the i845 info structure for INTEL_I845G_IDS()
Damien Lespiau [Mon, 30 Jun 2014 18:24:13 +0000 (19:24 +0100)]
intel: Use the i845 info structure for INTEL_I845G_IDS()

I assume the intention was to provide a different structure for each of
the gen 2 devices.

This doesn't change anything really.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
10 years agosna: Add DBG breadcrumbs before flushes in BLT
Chris Wilson [Mon, 30 Jun 2014 18:56:39 +0000 (19:56 +0100)]
sna: Add DBG breadcrumbs before flushes in BLT

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/dri2: Pass around the correct DrawableRec for sampling from the foriegn bo
Chris Wilson [Mon, 30 Jun 2014 20:01:11 +0000 (21:01 +0100)]
sna/dri2: Pass around the correct DrawableRec for sampling from the foriegn bo

One day, we will move the width/height/bpp to the bo itself...

Reported-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/dri2: Apply the paraniod buffer clip in the correct coordinate system
Chris Wilson [Mon, 30 Jun 2014 15:32:45 +0000 (16:32 +0100)]
sna/dri2: Apply the paraniod buffer clip in the correct coordinate system

We need to only clip to the extents of the copy in the buffer space -
which implies that we need to translate the region into that space before
doing the clip.

Reported-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Tweak preference for small GPU bo
Chris Wilson [Mon, 30 Jun 2014 13:13:13 +0000 (14:13 +0100)]
sna: Tweak preference for small GPU bo

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotest/lowlevel-blt-bench: Update progress more frequently
Chris Wilson [Mon, 30 Jun 2014 10:20:54 +0000 (11:20 +0100)]
test/lowlevel-blt-bench: Update progress more frequently

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Reduce assertion when using asynchronous CPU access
Chris Wilson [Mon, 30 Jun 2014 10:05:33 +0000 (11:05 +0100)]
sna: Reduce assertion when using asynchronous CPU access

If we are not actually accessing the memory through the pointer, we do
not care if it not currently coherent.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Silence snarky compliers
Chris Wilson [Mon, 30 Jun 2014 09:55:20 +0000 (10:55 +0100)]
sna: Silence snarky compliers

0 != (void *)0

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Mollify assert to be consistent with the scanout flush
Chris Wilson [Mon, 30 Jun 2014 09:46:00 +0000 (10:46 +0100)]
sna: Mollify assert to be consistent with the scanout flush

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotest/lowlevel-blt-bench: Exercise masks
Chris Wilson [Mon, 30 Jun 2014 07:44:33 +0000 (08:44 +0100)]
test/lowlevel-blt-bench: Exercise masks

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotest/lowlevel-blt-bench: Exercise SHM pixmaps
Chris Wilson [Mon, 30 Jun 2014 07:44:33 +0000 (08:44 +0100)]
test/lowlevel-blt-bench: Exercise SHM pixmaps

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agointel-virtual-output: Remove one redundant cleanup on error
Chris Wilson [Mon, 30 Jun 2014 06:44:25 +0000 (07:44 +0100)]
intel-virtual-output: Remove one redundant cleanup on error

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agointel-virtual-output: Cleanup singleton on failure
Chris Wilson [Sun, 29 Jun 2014 14:25:19 +0000 (15:25 +0100)]
intel-virtual-output: Cleanup singleton on failure

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agointel-virtual-output: Convert debugging messages to verbosity
Chris Wilson [Sun, 29 Jun 2014 07:29:36 +0000 (08:29 +0100)]
intel-virtual-output: Convert debugging messages to verbosity

Original patch by main.haarp:
"A verbose switch is quite useful for debugging, it shouldn't require
editing and recompilation to gain more useful output. I added it."

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80664
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Ensure CPU bo is synchronized before writing
Chris Wilson [Sun, 29 Jun 2014 08:26:10 +0000 (09:26 +0100)]
sna: Ensure CPU bo is synchronized before writing

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Update allocation of CPU bo to avoid creating active buffers
Chris Wilson [Sun, 29 Jun 2014 06:02:44 +0000 (07:02 +0100)]
sna: Update allocation of CPU bo to avoid creating active buffers

Since we now prefer CPU detiling, exactly when we want active/inactive
buffers is a little more complex - and we also need to take into account
when we want to use the CPU bo as a render target.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Sync CPU bo before writes
Chris Wilson [Sun, 29 Jun 2014 06:00:58 +0000 (07:00 +0100)]
sna: Sync CPU bo before writes

Fixes regression from

commit 961139f5878572ebea268a0bbf47caf05af9093f [2.99.912]
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 30 09:45:15 2014 +0100

    sna: Use manual detiling for downloads

Reported-by: Harald Judt <h.judt@gmx.at>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80560
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Only preferentially upload through the GTT for large transfers
Chris Wilson [Sat, 28 Jun 2014 20:07:08 +0000 (21:07 +0100)]
sna: Only preferentially upload through the GTT for large transfers

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Prefer linear if below tile_width
Chris Wilson [Sat, 28 Jun 2014 16:38:54 +0000 (17:38 +0100)]
sna: Prefer linear if below tile_width

Be stricter in order to allow greater use of CPU bo.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/io: Prefer CPU copies on LLC
Chris Wilson [Sat, 28 Jun 2014 13:23:29 +0000 (14:23 +0100)]
sna/io: Prefer CPU copies on LLC

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Don't discard damage for SHM pixmaps
Chris Wilson [Sat, 28 Jun 2014 13:22:17 +0000 (14:22 +0100)]
sna: Don't discard damage for SHM pixmaps

We don't really want to rendering into SHM pixmaps except for copying
back due to the strict serialisation requirements.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Check for a mappable GPU bo before migrating damage
Chris Wilson [Sat, 28 Jun 2014 13:21:36 +0000 (14:21 +0100)]
sna: Check for a mappable GPU bo before migrating damage

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Skip adding damage if it is already contained
Chris Wilson [Sat, 28 Jun 2014 13:20:00 +0000 (14:20 +0100)]
sna: Skip adding damage if it is already contained

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Tidy calling memcpy_from_tiled
Chris Wilson [Sat, 28 Jun 2014 13:19:22 +0000 (14:19 +0100)]
sna: Tidy calling memcpy_from_tiled

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Micro-optimise unswizzling tiling/detiling
Chris Wilson [Sat, 28 Jun 2014 13:18:23 +0000 (14:18 +0100)]
sna: Micro-optimise unswizzling tiling/detiling

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/trapezoids: Handle mono traps just in case
Chris Wilson [Sat, 28 Jun 2014 06:05:55 +0000 (07:05 +0100)]
sna/trapezoids: Handle mono traps just in case

I disabled a few paths and ended up in an assert that mono trapezoids
shouldn't get that far...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agouxa: Update Screen Pixmap width/height first
Chris Wilson [Fri, 27 Jun 2014 15:26:24 +0000 (16:26 +0100)]
uxa: Update Screen Pixmap width/height first

Since commit dd6db82680b05cde4a47116b7096c054f3837e20 [2.99.912]
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 9 20:26:19 2014 +0100

    uxa: Add DRI3 and miSyncShm support

we verify that the attaching bo meets the constraints required for the
Pixmap. However, when updating the ScreenPixmap following a resize, we
did not update the Pixmap size until after we tried to update the bo,
resulting in a validation failure when shrinking the screen.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>