platform/upstream/xf86-video-intel.git
10 years agosna: Include reflections when logging mode changes
Chris Wilson [Mon, 25 Nov 2013 16:49:58 +0000 (16:49 +0000)]
sna: Include reflections when logging mode changes

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agointel-virtual-output: Tweak DBG messages for copying rotation
Chris Wilson [Mon, 25 Nov 2013 16:13:45 +0000 (16:13 +0000)]
intel-virtual-output: Tweak DBG messages for copying rotation

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Log mode switches on virtual outputs
Chris Wilson [Mon, 25 Nov 2013 15:33:13 +0000 (15:33 +0000)]
sna: Log mode switches on virtual outputs

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Keep @NOWARNFLAGS@ last
Chris Wilson [Mon, 25 Nov 2013 11:14:15 +0000 (11:14 +0000)]
sna: Keep @NOWARNFLAGS@ last

As the last option overrides the earlier options, make sure these
particular overrides always take effect by adding them last.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/trapezoids: trapezoids_bounds() reports not-empty, so use it
Chris Wilson [Mon, 25 Nov 2013 10:01:00 +0000 (10:01 +0000)]
sna/trapezoids: trapezoids_bounds() reports not-empty, so use it

Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Handle failure to disable old plane when switching CRTCs
Zdenek Kabelac [Mon, 25 Nov 2013 09:57:19 +0000 (09:57 +0000)]
sna: Handle failure to disable old plane when switching CRTCs

If we fail to disable the old plane, abort the PutImage and report the
error.

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
10 years agouxa: fix order of inline Bool
Zdenek Kabelac [Mon, 25 Nov 2013 08:09:35 +0000 (09:09 +0100)]
uxa: fix order of inline Bool

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
10 years agouxa,legacy: use unsigned for comparition of unsigned
Zdenek Kabelac [Mon, 25 Nov 2013 08:09:34 +0000 (09:09 +0100)]
uxa,legacy: use unsigned for comparition of unsigned

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
10 years agosna: Add missing va_end
Zdenek Kabelac [Mon, 25 Nov 2013 08:09:32 +0000 (09:09 +0100)]
sna: Add missing va_end

Put va_end() into error paths

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
10 years agouxa: Avoid relying on an assert and cleanup iterator
Zdenek Kabelac [Mon, 25 Nov 2013 08:09:31 +0000 (09:09 +0100)]
uxa: Avoid relying on an assert and cleanup iterator

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
10 years agoFix indentation for incorrectly shifted statements
Zdenek Kabelac [Mon, 25 Nov 2013 08:09:30 +0000 (09:09 +0100)]
Fix indentation for incorrectly shifted statements

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
10 years agouxa: rename some local variable to not shadow global ones
Zdenek Kabelac [Mon, 25 Nov 2013 08:09:29 +0000 (09:09 +0100)]
uxa: rename some local variable to not shadow global ones

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
10 years agouxa: Ensure mask_picture is defined
Zdenek Kabelac [Mon, 25 Nov 2013 08:09:28 +0000 (09:09 +0100)]
uxa: Ensure mask_picture is defined

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
10 years agoCast to use unsigned math
Zdenek Kabelac [Mon, 25 Nov 2013 08:09:27 +0000 (09:09 +0100)]
Cast to use unsigned math

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
10 years agoCorrect type of uevent_handler
Chris Wilson [Mon, 25 Nov 2013 09:36:32 +0000 (09:36 +0000)]
Correct type of uevent_handler

xf86AddGeneralHandler returns an opaque pointer, not a function pointer.

Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agoRemove uneeded headers
Zdenek Kabelac [Mon, 25 Nov 2013 08:09:25 +0000 (09:09 +0100)]
Remove uneeded headers

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
10 years agoconfig apostrophe
Zdenek Kabelac [Mon, 25 Nov 2013 08:09:24 +0000 (09:09 +0100)]
config apostrophe

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
10 years agoMakefile convert @var@ to $(var)
Zdenek Kabelac [Mon, 25 Nov 2013 08:09:20 +0000 (09:09 +0100)]
Makefile convert @var@ to $(var)

Avoid using @var@ since this could not be easily overwritten through
'make var=xxx' option which is normally available.
For Makefile.am users should avoid using @var@.

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
10 years agoRevert "intel-virtual-output: Only track the most recent visibility status of the...
Chris Wilson [Fri, 22 Nov 2013 17:37:57 +0000 (17:37 +0000)]
Revert "intel-virtual-output: Only track the most recent visibility status of the cursor"

This reverts commit abf1a16914d993cc150005879375d4bb17fdccf3.

We need to track visibility over all clones on a display, not just the
last.

Regression from
commit abf1a16914d993cc150005879375d4bb17fdccf3 [2.99.906]
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Nov 8 17:09:35 2013 +0000

    intel-virtual-output: Only track the most recent visibility status of the curso

Reported-by: Kirill Müller <mail@kirill-mueller.de>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71838
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agouxa,sna: Prevent bo exchange when pinned for non-DRI2 clients
Chris Wilson [Fri, 22 Nov 2013 13:34:35 +0000 (13:34 +0000)]
uxa,sna: Prevent bo exchange when pinned for non-DRI2 clients

With the advent of DRI3 (and previously with Prime and Glamor) we have
external clients who rely on the pixmap<->bo mapping being invariant.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Tidy up fallback from render composite to blt composite
Chris Wilson [Fri, 22 Nov 2013 12:07:06 +0000 (12:07 +0000)]
sna: Tidy up fallback from render composite to blt composite

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: XY_SETUP_* expects the dst tiling to be set on gen4+
Chris Wilson [Thu, 21 Nov 2013 21:52:46 +0000 (21:52 +0000)]
sna: XY_SETUP_* expects the dst tiling to be set on gen4+

A few paths failed to set the tiling flag when setting up the BLT
engine, leaving the engine in a potentially inconsistent state.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71260
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Fix typo in sna_blt_fill_begin()
Chris Wilson [Thu, 21 Nov 2013 14:48:23 +0000 (14:48 +0000)]
sna: Fix typo in sna_blt_fill_begin()

Reported-by: intelgraphics7@gmx-topmail.de
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Set supported rotations on virtual outputs
Chris Wilson [Wed, 20 Nov 2013 18:50:40 +0000 (18:50 +0000)]
sna: Set supported rotations on virtual outputs

As the virtual outputs are created later, they do not get automatically
populated with RR properties and we must do that instantiation
ourselves.

Reported-by: Kirill Müller <mail@kirill-mueller.de>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71846
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/gen7: Try to reduce flushes between primitive continuations
Chris Wilson [Wed, 20 Nov 2013 11:17:20 +0000 (11:17 +0000)]
sna/gen7: Try to reduce flushes between primitive continuations

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agointel-virtual-output: Check for failure to create a clone
Chris Wilson [Tue, 19 Nov 2013 12:15:24 +0000 (12:15 +0000)]
intel-virtual-output: Check for failure to create a clone

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agointel-virtual-output: Fix trivial and unlikely fd leak from bumblebee failure
Chris Wilson [Tue, 19 Nov 2013 12:13:26 +0000 (12:13 +0000)]
intel-virtual-output: Fix trivial and unlikely fd leak from bumblebee failure

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Fix use before assignment
Chris Wilson [Tue, 19 Nov 2013 12:09:35 +0000 (12:09 +0000)]
sna: Fix use before assignment

mono.sna was being used the line before it was assigned.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Free composite boxes in the unlikely all-invalid path
Chris Wilson [Tue, 19 Nov 2013 12:03:33 +0000 (12:03 +0000)]
sna: Free composite boxes in the unlikely all-invalid path

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Correct check for overwriting last BLT fill
Chris Wilson [Tue, 19 Nov 2013 12:01:33 +0000 (12:01 +0000)]
sna: Correct check for overwriting last BLT fill

Typo crept in from the reloc rework.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/gen4+: Clear redirect bo before falling back to BLT paths
Chris Wilson [Tue, 19 Nov 2013 12:00:08 +0000 (12:00 +0000)]
sna/gen4+: Clear redirect bo before falling back to BLT paths

Just in case we later try to take action on the already freed
redirection.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotest: Fix compilation of render-trapezoid-image
Chris Wilson [Tue, 19 Nov 2013 09:47:15 +0000 (09:47 +0000)]
test: Fix compilation of render-trapezoid-image

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71768
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/gen7: Rework random GPU flushing
Chris Wilson [Mon, 18 Nov 2013 16:59:08 +0000 (16:59 +0000)]
sna/gen7: Rework random GPU flushing

There seems to be no clear rationale for these flushes. They have been
empirically derived to pass test/render-copyarea and rendercheck,
without impacting upon a few simple benchmarks.

References: https://bugs.freedesktop.org/show_bug.cgi?id=68410
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Tell valgrind about the returned mode list
Chris Wilson [Mon, 18 Nov 2013 14:16:07 +0000 (14:16 +0000)]
sna: Tell valgrind about the returned mode list

Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Process Damage relative to dst->pDrawable not its pixmap->drawable
Chris Wilson [Mon, 18 Nov 2013 12:33:05 +0000 (12:33 +0000)]
sna: Process Damage relative to dst->pDrawable not its pixmap->drawable

References: https://bugs.freedesktop.org/show_bug.cgi?id=32734
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotests: Avoid dependence on undefined C
Chris Wilson [Mon, 18 Nov 2013 12:04:29 +0000 (12:04 +0000)]
tests: Avoid dependence on undefined C

Right-shifting by a negative value is undefined.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/damage: Tidy up a tail return
Chris Wilson [Mon, 18 Nov 2013 11:58:43 +0000 (11:58 +0000)]
sna/damage: Tidy up a tail return

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/damage: Guard against integer overflow before malloc
Chris Wilson [Fri, 15 Nov 2013 21:20:30 +0000 (21:20 +0000)]
sna/damage: Guard against integer overflow before malloc

Check that the multiplication to compute the allocation will not
overflow.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Include valgrind leakchecks for --enable-debug=memory
Chris Wilson [Fri, 15 Nov 2013 11:55:51 +0000 (11:55 +0000)]
sna: Include valgrind leakchecks for --enable-debug=memory

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Add the missing braces around the conditional block
Chris Wilson [Thu, 14 Nov 2013 16:14:09 +0000 (16:14 +0000)]
sna: Add the missing braces around the conditional block

Fixes regression from
commit f3225fcb38686f3b9701725bf3a11ecf1c100c3f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Nov 5 08:38:22 2013 +0000

    sna: Be move conservative with tiling sizes for older fenced gen

Reported-by: Jay Little <jaylittle@jaylittle.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71605
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotests: Exercise render copies under a mask
Chris Wilson [Thu, 14 Nov 2013 10:17:49 +0000 (10:17 +0000)]
tests: Exercise render copies under a mask

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/gen6+: Only substitute SRC for CLEAR if using the correct source
Chris Wilson [Wed, 13 Nov 2013 16:25:54 +0000 (16:25 +0000)]
sna/gen6+: Only substitute SRC for CLEAR if using the correct source

If the source has not been verified to be clear, then using the SRC
operator will paint the wrong color.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna/gen6+: Improve debug PREFER_RENDER to cover all decision points
Chris Wilson [Wed, 13 Nov 2013 15:28:37 +0000 (15:28 +0000)]
sna/gen6+: Improve debug PREFER_RENDER to cover all decision points

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotests: Add render-composite-solid-mask
Chris Wilson [Wed, 13 Nov 2013 15:27:05 +0000 (15:27 +0000)]
tests: Add render-composite-solid-mask

Another reference test to exercise simple composite pathways clearly.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Eliminate a compiler warning for a shadowed variable
Chris Wilson [Wed, 13 Nov 2013 14:17:51 +0000 (14:17 +0000)]
sna: Eliminate a compiler warning for a shadowed variable

sna_driver.c: In function 'sna_load_palette':
sna_driver.c:86:12: warning: declaration of 'index' shadows a global declaration [-Wshadow]

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Eliminate a compiler warning for a shadowed variable
Chris Wilson [Wed, 13 Nov 2013 14:17:51 +0000 (14:17 +0000)]
sna: Eliminate a compiler warning for a shadowed variable

We don't strictly need that local structure, so do without and keep the
compiler quiet.

sna_driver.c: In function 'fb_supports_depth':
sna_driver.c:414:23: warning: declaration of 'close' shadows a global declaration [-Wshadow]

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years ago2.99.906 snapshot 2.99.906
Chris Wilson [Tue, 12 Nov 2013 14:43:28 +0000 (14:43 +0000)]
2.99.906 snapshot

10 years agoBump experimental ioctl command numbers
Chris Wilson [Wed, 13 Nov 2013 09:52:14 +0000 (09:52 +0000)]
Bump experimental ioctl command numbers

In the meantime a new ioctl has snuck in.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Discard cached upload proxy when writing to the pixmap via the CPU
Chris Wilson [Tue, 12 Nov 2013 18:59:54 +0000 (18:59 +0000)]
sna: Discard cached upload proxy when writing to the pixmap via the CPU

Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agointel-virtual-output: Manually adjust screen size
Chris Wilson [Sun, 10 Nov 2013 10:28:01 +0000 (10:28 +0000)]
intel-virtual-output: Manually adjust screen size

When we modify the outputs and end up with a different screen size, we
need to actually tell the display to resize with an explicit
XRRSetScreenSize.

Reported-by: Jethro Beekman <freedesktop-bugs@jbeekman.nl>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71441
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agoAdd identification strings for new Atoms
Chris Wilson [Tue, 12 Nov 2013 14:36:38 +0000 (14:36 +0000)]
Add identification strings for new Atoms

All of the new Atom (Baytrail) products ship with "HD Graphics".

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Factor available memory into available aperture estimation
Chris Wilson [Tue, 12 Nov 2013 13:15:25 +0000 (13:15 +0000)]
sna: Factor available memory into available aperture estimation

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agosna: Apply drawable offset to glyph bbox prior to checking for clipping
Chris Wilson [Tue, 12 Nov 2013 00:05:11 +0000 (00:05 +0000)]
sna: Apply drawable offset to glyph bbox prior to checking for clipping

This is a correction to

commit ec0866e86d365ae3fd9790b1b263d49fc4981220
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Oct 16 22:39:54 2013 +0100

    sna/glyphs: Fix computation of extents for long strings

in order for us to correctly detect when we need to clip.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71191
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agoxvmc: Handle allocation failure around batch submission
Chris Wilson [Mon, 11 Nov 2013 14:56:22 +0000 (14:56 +0000)]
xvmc: Handle allocation failure around batch submission

If we fail to allocate a new batch, just stall and reuse the old one
rather than crashing.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agointel-virtual-output: Fix format specifiers for Visual DBG
Chris Wilson [Mon, 11 Nov 2013 13:15:07 +0000 (13:15 +0000)]
intel-virtual-output: Fix format specifiers for Visual DBG

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agointel-virtual-output: Fix cut'n'paste DBG error
Chris Wilson [Mon, 11 Nov 2013 12:56:30 +0000 (12:56 +0000)]
intel-virtual-output: Fix cut'n'paste DBG error

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Assert that gc->funcs is never set to NULL
Chris Wilson [Mon, 11 Nov 2013 11:44:17 +0000 (11:44 +0000)]
sna: Assert that gc->funcs is never set to NULL

References: https://bugs.freedesktop.org/show_bug.cgi?id=71415
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Add a couple more asserts to track a potential NULL gc->pCompositeClip
Chris Wilson [Mon, 11 Nov 2013 11:38:46 +0000 (11:38 +0000)]
sna: Add a couple more asserts to track a potential NULL gc->pCompositeClip

References: https://bugs.freedesktop.org/show_bug.cgi?id=71415
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agointel-virtual-output: Avoid the infinite loop around XPending
Chris Wilson [Mon, 11 Nov 2013 10:47:24 +0000 (10:47 +0000)]
intel-virtual-output: Avoid the infinite loop around XPending

XPending() reports if there are any events pending and does not perform
any dequeuing itself - ergo for a remote display while (XPending()) ;
becomes an infinite loop should there be an event pending.

References: https://bugs.freedesktop.org/show_bug.cgi?id=71345
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agoconfigure: Use proper variables set by PKG_CHECK_MODULES
Rémi Cardona [Fri, 8 Nov 2013 19:14:59 +0000 (20:14 +0100)]
configure: Use proper variables set by PKG_CHECK_MODULES

$DRI_CFLAGS does not actually exist. The PKG_CHECK_MODULES call creates
a $DRI1_CFLAGS variable instead. This doesn't break often because
"recent" versions of xorg-server.pc indirectly depend on xf86driproto.pc
thus bringing in the required CFLAGS through $XORG_CFLAGS.

Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=490342
Signed-off-by: Rémi Cardona <remi@gentoo.org>
11 years agointel-virtual-output: Do not hide the cursor on the local/source display
Chris Wilson [Sun, 10 Nov 2013 10:34:06 +0000 (10:34 +0000)]
intel-virtual-output: Do not hide the cursor on the local/source display

Whilst we want to take over and hide the cursor on the remote displays,
on the source we need to not interfere with the host.

Reported-by: Jethro Beekman <freedesktop-bugs@jbeekman.nl>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71439
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Assert that we do setup the gc->pCompositeClip upon ValidateGC
Chris Wilson [Sat, 9 Nov 2013 11:15:39 +0000 (11:15 +0000)]
sna: Assert that we do setup the gc->pCompositeClip upon ValidateGC

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agoMerge branch 'master' of hsw:/usr/src/xf86-video-intel
Chris Wilson [Sat, 9 Nov 2013 11:06:12 +0000 (11:06 +0000)]
Merge branch 'master' of hsw:/usr/src/xf86-video-intel

11 years agointel-virtual-output: Only track the most recent visibility status of the cursor
Chris Wilson [Fri, 8 Nov 2013 17:09:35 +0000 (17:09 +0000)]
intel-virtual-output: Only track the most recent visibility status of the cursor

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agointel-virtual-output: Fix forced synchronisation of clones
Chris Wilson [Fri, 8 Nov 2013 14:04:32 +0000 (14:04 +0000)]
intel-virtual-output: Fix forced synchronisation of clones

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agointel-virtual-output: Tighten bad_visual() checks
Chris Wilson [Fri, 8 Nov 2013 13:53:48 +0000 (13:53 +0000)]
intel-virtual-output: Tighten bad_visual() checks

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agointel-virtual-output: Disable event tracking after a failure
Chris Wilson [Fri, 8 Nov 2013 13:00:11 +0000 (13:00 +0000)]
intel-virtual-output: Disable event tracking after a failure

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agointel-virtual-output: Add DBG for the latest XSync
Chris Wilson [Fri, 8 Nov 2013 12:58:06 +0000 (12:58 +0000)]
intel-virtual-output: Add DBG for the latest XSync

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agointel-virtual-output: Perform an explicit sync
Chris Wilson [Fri, 8 Nov 2013 12:54:01 +0000 (12:54 +0000)]
intel-virtual-output: Perform an explicit sync

If we fail to track rendering using ShmCompletionEvents and begin to
drop frames, insert an explicit XSync.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agointel-virtual-output: Check for pending events before skipping draw
Chris Wilson [Fri, 8 Nov 2013 12:46:08 +0000 (12:46 +0000)]
intel-virtual-output: Check for pending events before skipping draw

Make sure we check if the destination display has caught up before
skipping a frame.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agointel-virtual-output: Add some DBG for bad_visual()
Chris Wilson [Fri, 8 Nov 2013 12:30:21 +0000 (12:30 +0000)]
intel-virtual-output: Add some DBG for bad_visual()

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Always schedule upload buffers for retirement after use
Chris Wilson [Fri, 8 Nov 2013 08:53:55 +0000 (08:53 +0000)]
sna: Always schedule upload buffers for retirement after use

Even if they are multiply referenced due to cached references.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Skip an unmappable linear bo when searching through a cache for a GTT mapping
Chris Wilson [Thu, 7 Nov 2013 14:58:08 +0000 (14:58 +0000)]
sna: Skip an unmappable linear bo when searching through a cache for a GTT mapping

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Only assert that the bo is small enough to be mmapped
Chris Wilson [Thu, 7 Nov 2013 14:54:39 +0000 (14:54 +0000)]
sna: Only assert that the bo is small enough to be mmapped

Not that is currently in a position to be mapped without eviction.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna/gen7: Request secure batches for Haswell vsync
Chris Wilson [Thu, 7 Nov 2013 13:09:25 +0000 (13:09 +0000)]
sna/gen7: Request secure batches for Haswell vsync

Since commit 8ff8eb2b38dc705f5c86f524c1cd74a811a7b04c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Sep 9 16:23:04 2013 +0100

    sna/hsw: Scanline waits require both DERRMR and forcewake

we have been emitting LRI to enable vsync on the render ring. This
requires a privileged batch buffer, and whilst we were checking for
kernel support, we forgot to actually tell the kernel to submit the
batch with the right privileges.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71328
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Always copy from the tile source
Chris Wilson [Wed, 6 Nov 2013 16:24:28 +0000 (16:24 +0000)]
sna: Always copy from the tile source

The first step when tiling with an intermediatory is to copy from the
source bo to the temporary. The alu should only be applied when copying
from the temporary to the destination.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Remove erroneous assertion from sna_tiling_blt_composite
Chris Wilson [Wed, 6 Nov 2013 15:42:35 +0000 (15:42 +0000)]
sna: Remove erroneous assertion from sna_tiling_blt_composite

We have to rely on the caller only calling us for a PictOpSrc equivalent
operation as they don't all set op->op.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Add a DBG breadcrumb to kgem_bo_convert_to_gpu()
Chris Wilson [Wed, 6 Nov 2013 15:04:24 +0000 (15:04 +0000)]
sna: Add a DBG breadcrumb to kgem_bo_convert_to_gpu()

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Use tiling BLT fallback for BLT composite operations
Chris Wilson [Wed, 6 Nov 2013 14:51:42 +0000 (14:51 +0000)]
sna: Use tiling BLT fallback for BLT composite operations

This avoid a circuituous route through the render pathways and multiple
levels of tiling fallbacks to accomplish the same copy.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Trim create flags if tiled sizes are too large
Chris Wilson [Wed, 6 Nov 2013 13:42:27 +0000 (13:42 +0000)]
sna: Trim create flags if tiled sizes are too large

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Fences are power-of-two sizes
Chris Wilson [Wed, 6 Nov 2013 13:41:39 +0000 (13:41 +0000)]
sna: Fences are power-of-two sizes

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Fixup unwind checks for future BLT commands
Chris Wilson [Wed, 6 Nov 2013 11:38:53 +0000 (11:38 +0000)]
sna: Fixup unwind checks for future BLT commands

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Clear the execlist if we completely unwind a batch after using 8x8 tiling
Chris Wilson [Wed, 6 Nov 2013 09:05:05 +0000 (09:05 +0000)]
sna: Clear the execlist if we completely unwind a batch after using 8x8 tiling

Another location, but the right function this time!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Move initialisation of loop counter to common code
Chris Wilson [Wed, 6 Nov 2013 09:40:56 +0000 (09:40 +0000)]
sna: Move initialisation of loop counter to common code

It was only being defined in x86-64 and left unitialized for x86-32.

Fixes regression from
commit 587c4866652e40e1e228b333028114766a6d3b08
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Nov 4 15:10:40 2013 +0000

    sna: Promote uint16_t to a full int to avoid overflow in computing w*h in memcpy_xor

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71286
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Clear the execlist if we completely unwind a batch after using 8x8 tiling
Chris Wilson [Wed, 6 Nov 2013 09:05:05 +0000 (09:05 +0000)]
sna: Clear the execlist if we completely unwind a batch after using 8x8 tiling

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Be more pessimistic for tiling sizes on older gen
Chris Wilson [Wed, 6 Nov 2013 08:56:01 +0000 (08:56 +0000)]
sna: Be more pessimistic for tiling sizes on older gen

On the older generation, we have severe alignment penalties for fenced
regions which dramatically reduce the amount of space we can effectively
use in a batch. To accommodate this, reduce the tiling step size.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Only operate inplace if no existing CPU damage for a read
Chris Wilson [Tue, 5 Nov 2013 22:41:06 +0000 (22:41 +0000)]
sna: Only operate inplace if no existing CPU damage for a read

With a large object, we try harder to operate inplace (to avoid creating
a second large CPU bo). This introduced an issue where we tried to read
from the GPU bo when there was already existing damage in the CPU -
triggering an assertion.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Trim the overestimate of required aperture space for fence alignment
Chris Wilson [Tue, 5 Nov 2013 21:59:37 +0000 (21:59 +0000)]
sna: Trim the overestimate of required aperture space for fence alignment

We can optimistically only require that we waste the largest fence
region in a batch, as all other fences will then be naturally aligned as
well. So long as the kernel succeeds in defragmenting the aperture...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Mark partial move_area_to_gpu with MOVE_READ on promotion to move_to_gpu
Chris Wilson [Tue, 5 Nov 2013 21:33:18 +0000 (21:33 +0000)]
sna: Mark partial move_area_to_gpu with MOVE_READ on promotion to move_to_gpu

When promoting a partial move_area_to_gpu to a full move_to_gpu, we have
to disable certain optimisations that we try to use if MOVE_READ==0.

Reported-and-tested-by: Matti Hamalainen <ccr@tnsp.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71198
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Submit execution on the bo before changing its caching status
Chris Wilson [Tue, 5 Nov 2013 18:36:45 +0000 (18:36 +0000)]
sna: Submit execution on the bo before changing its caching status

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Clear snoop flag after converting from a CPU bo
Chris Wilson [Tue, 5 Nov 2013 18:29:46 +0000 (18:29 +0000)]
sna: Clear snoop flag after converting from a CPU bo

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Use an inplace exchange for large untiled BO
Chris Wilson [Tue, 5 Nov 2013 08:49:28 +0000 (08:49 +0000)]
sna: Use an inplace exchange for large untiled BO

On older architectures, large BO have to be untiled and so we can reuse
an existing CPU bo by adjusting its caching mode.

References: https://bugs.freedesktop.org/show_bug.cgi?id=70924
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Be move conservative with tiling sizes for older fenced gen
Chris Wilson [Tue, 5 Nov 2013 08:38:22 +0000 (08:38 +0000)]
sna: Be move conservative with tiling sizes for older fenced gen

The older generations have stricter requirements for alignment of fenced
GPU surfaces, so accommodate this by reducing our estimate available
space for the temporary tile.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agotest
Chris Wilson [Mon, 4 Nov 2013 22:14:05 +0000 (22:14 +0000)]
test

11 years agosna: Check for loss of state after setting up a fill BLT op
Chris Wilson [Mon, 4 Nov 2013 16:45:00 +0000 (16:45 +0000)]
sna: Check for loss of state after setting up a fill BLT op

If we install a BLT fill operation early in the drawing sequence (i.e.
before calling a mi routine), we may lose our state to delayed
initialisation of sources and so need to subsequently recheck.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: s/active/busy/ to silence compiler warning
Chris Wilson [Mon, 4 Nov 2013 15:17:51 +0000 (15:17 +0000)]
sna: s/active/busy/ to silence compiler warning

kgem.c: In function 'kgem_check_bo':
kgem.c:4768:7: warning: declaration of 'active' shadows a global declaration [-Wshadow]
kgem.c:692:21: warning: shadowed declaration is here [-Wshadow]
kgem.c: In function 'kgem_check_many_bo_fenced':
kgem.c:4907:7: warning: declaration of 'active' shadows a global declaration [-Wshadow]
kgem.c:692:21: warning: shadowed declaration is here [-Wshadow]

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Promote uint16_t to a full int to avoid overflow in computing w*h in memcpy_xor
Chris Wilson [Mon, 4 Nov 2013 15:10:40 +0000 (15:10 +0000)]
sna: Promote uint16_t to a full int to avoid overflow in computing w*h in memcpy_xor

Reported-by: Conley Moorhous <conleymoorhous@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70527
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Apply the BLT source offset for individual copies
Chris Wilson [Mon, 4 Nov 2013 12:57:01 +0000 (12:57 +0000)]
sna: Apply the BLT source offset for individual copies

Following a complex path through multiple layers of indirections and
tiling fallbacks, resulted in hitting a path where the source offset was
subsequently ignored. This leads to the operation reading from invalid
memory (or hitting the assert warning about the same).

References: https://bugs.freedesktop.org/show_bug.cgi?id=70924
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Only use the simple stipple upload path if wholly contained
Chris Wilson [Mon, 4 Nov 2013 11:48:04 +0000 (11:48 +0000)]
sna: Only use the simple stipple upload path if wholly contained

If the stipple box is outside of the stipple pixmap, we need to
carefully upload the stipple using the modulus operation.

Buzilla: https://bugs.launchpad.net/bugs/1247785
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agosna: Update DBG formats for larger BO offset integers
Chris Wilson [Mon, 4 Nov 2013 11:47:29 +0000 (11:47 +0000)]
sna: Update DBG formats for larger BO offset integers

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