Commit Graph

5856 Commits

Author SHA1 Message Date
Chris Wilson 55cef974a5 sna: Review validity of damage when discarding CPU bo
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-05 10:57:48 +01:00
Chris Wilson 587499bbf5 sna/video: Use the scanout flag and FB id for sprite framebuffers
So that we can use the same teardown path as normal scanouts.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-05 10:56:18 +01:00
Chris Wilson 913adacc54 sna/gen7: Always emit a stall when flushing the texture cache
Reported-by: Reinhard Karcher <reinhard.karcher@gmx.net>
References: https://bugs.freedesktop.org/show_bug.cgi?id=54488
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-05 09:20:55 +01:00
Chris Wilson bdfedb46bd sna: Use async upload only if the last render was not CPU
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-05 09:15:12 +01:00
Chris Wilson 67b75ae6f6 sna: Tweak upload path to remove redundant code
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-05 08:46:39 +01:00
Chris Wilson 38fb77af75 sna: Don't upload ignored cpu damage
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-05 08:23:34 +01:00
Chris Wilson 2eb32f711d sna: Add DBG control to disable CPU bo
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-05 00:22:04 +01:00
Chris Wilson 19e170aa6f sna: Fix comparison of memcpy overlap to include x-offsets
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-05 00:05:33 +01:00
Chris Wilson 7895416eab sna: Rearrange use_cpu() tests for composite ops to avoid syncing CPU bo
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-04 22:20:03 +01:00
Chris Wilson ad57ac07a2 sna: Flush the batch before a render operation if the GPU is idle
Experiment with pushing those first commands earlier.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-04 22:19:43 +01:00
Chris Wilson 6325d7e29a NEWS: fixup missing links to bugs referenced in 2.20.6 release notes
Reported-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-04 14:51:54 +01:00
Chris Wilson bc309bad39 sna: And remember to flush the damage to the output slaves...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-04 14:22:15 +01:00
Chris Wilson 68d207588a sna: Improve handling of output offloading
In particular, don't forget to flush when we only have offload slaves
and no native pixmaps.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-04 14:12:38 +01:00
Chris Wilson 8cf7ac776b sna: Fix a typo in an error message
s/achieve/retrieve/ otherwise it is nonsense.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-04 14:11:26 +01:00
Chris Wilson be83b98d29 sna: Add some DBG to the prime paths
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-04 11:28:40 +01:00
Chris Wilson d0684d55e3 sna: Fixup CREATE_USAGE_SHARED
The DRI2 code tries to create pixmaps with non-zero width/height,
whoops.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-04 11:07:26 +01:00
Chris Wilson b6ced7a226 sna: Fix typo for detecting prime ioctls
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-04 10:05:46 +01:00
Chris Wilson df68723baa sna: Port prime interfacing
Preliminary prime support.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-04 08:49:59 +01:00
Chris Wilson e3ad18036b sna: Enable platform probing
Completing commit 0768ac4d19
Author: Dave Airlie <airlied@redhat.com>
Date:   Wed Jul 25 16:11:23 2012 +1000

    intel: add platform probing support.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-03 23:09:08 +01:00
Сковорода Никита Андреевич 3dc644b2a9 uxa: Fix Backlight option support.
Signed-off-by: Сковорода Никита Андреевич <chalkerx@gmail.com>
2012-09-03 23:09:08 +01:00
Chris Wilson a972affe0c sna/gen6+: Redirect fills if the destination is too large for 3D
Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54134
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-03 23:09:07 +01:00
Dave Airlie 18d26076c7 intel: fix return value for no pEnt
Probably never gets hit but shuold return FALSE,

pointed out on irc by Lekensteyn

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-04 07:19:12 +10:00
Dave Airlie d14ff42f2a intel: query kernel for caps to setup scrn capabilities.
This queries the kernel for prime support before advertising
the capabilities.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-03 12:28:29 +10:00
Dave Airlie 6705d8237a intel: add pixmap tracking and scanout support. (v2)
This adds support for pixmap tracking and scanout of
alternate pixmaps.

v2: do dirty updates after uxa block handler, check if kernel
can flush vmap for us so we don't have to.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-03 12:28:29 +10:00
Dave Airlie 69827126ab intel/uxa: add pixmap sharing support.
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-03 12:25:07 +10:00
Dave Airlie 0768ac4d19 intel: add platform probing support.
This allows the driver to be loaded by the platform loading code.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-03 12:25:07 +10:00
Chris Wilson 164ae7a4f9 man: Malformed "Backlight" section
Reported-by: Matthew Monaco <dgbaley27@0x01b.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54397
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-02 17:20:19 +01:00
Chris Wilson 67b4410416 sna: Cache the temporary upload buffer when copying boxes
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-02 12:47:36 +01:00
Chris Wilson 4b558281e0 sna: Don't retire when searching for a snoopable buffer without hw support
If the hw/kernel doesn't support snoopable buffers, then it makes little
sense to search for one, and force a retire in the certainty of not
finding any.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-02 12:23:59 +01:00
Chris Wilson d933f3a796 2.20.6 release
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-02 10:30:13 +01:00
Chris Wilson 62e7e69d88 sna: Tweak placement rules if we already have a CPU bo
If we have a CPU bo, consider if it may be quicker to render to it then
create a GPU bo.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-02 09:53:55 +01:00
Chris Wilson f837807cc2 sna/dri: Remove busy-wait spin from vblank chaining of swapbuffers
The issue being that, due to the delay, the chained swap would miss its
intended vblank and so cause an unwanted reduction in frame throughput
and increase output latency even further. Since both client and server
have other rate-limiting processes in place, we can forgo the stall here
and still keep the clients in check.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54274
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-01 12:25:57 +01:00
Chris Wilson b56e8c5105 sna: Nullify gpu_bo after free in case final release is deferred in destroy
As we may defer the actual release of the pixmap until after completion
of the last shm operation, we need to make sure in that case we mark the
GPU bo as released to prevent a use-after-free.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-01 12:17:05 +01:00
Chris Wilson c4d9940141 sna/gen2+: Add the missing assertions in case the drawrect is invalid
Only the later gen had these useful assertions, add them to the rest
just in case.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-01 10:44:50 +01:00
Chris Wilson 25c1b478a9 sna: Discard cached CPU upload early when clearing with a solid fill
Otherwise we end up considering the GPU bo as a real target, causing
confusion and failed asserts.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-01 10:12:58 +01:00
Chris Wilson 530b1d1516 sna/dri: Use common routine for testing busyness after flush
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-30 22:21:57 +01:00
Chris Wilson 00d8c776b3 sna/dri: Hold a reference to the vsync blit
Fixes regression from

commit 96a921487e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Aug 27 21:50:32 2012 +0100

    sna: Track outstanding requests per-ring

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-30 21:47:17 +01:00
Chris Wilson b2a6c74c21 sna: Remove inconsistent assertion
As we now may not prefer to use the GPU even if all-damaged and clear,
asserting that if we choose to use the CPU if clear is now bogus.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-29 14:51:40 +01:00
Chris Wilson deaa1cac26 sna: Align active upload buffers to the next page for reuse
If we write to the same page as it already active on the GPU then
despite the invalidation performed at the beginning of each batch, we do
not seem to correctly sample the new data.

References: https://bugs.freedesktop.org/show_bug.cgi?id=51422
References: https://bugs.freedesktop.org/show_bug.cgi?id=52299
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-28 22:25:02 +01:00
Chris Wilson 9e0305a392 sna: Discard inplace flag if we create a CPU map for the upload buffer
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-28 22:03:53 +01:00
Chris Wilson f3e122554e sna: Propagate the request to flush rather than directly submit the batch
The subtly is that we need to reset the mode correctly after
submitting the batch which was not handled by kgem_flush(). If we fail
to set the appropriate mode then the next operation will be on a random
ring, which can prove fatal with SandyBridge+.

Reported-by: Reinis Danne <reinis.danne@gmail.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-28 21:27:04 +01:00
Chris Wilson b5c8efe430 sna: Make sure we reset the domain tracking when exporting DRI bo
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-28 08:33:00 +01:00
Chris Wilson 96a921487e sna: Track outstanding requests per-ring
In order to properly track when the GPU is idle, we need to account for
the completion order that may differ on architectures like SandyBridge
with multiple mostly independent rings.

Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54127
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-27 22:12:01 +01:00
Chris Wilson 26c731efc2 sna: Ensure that we create a GTT mapping for the inplace upload buffer
As the code will optimistically convert a request for a GTT mapping into
a CPU mapping if the object is still in the CPU domain, we need to
overrule that in this case where we explicitly want to write directly
into the GTT and furthermore keep the buffer around in an upload cache.

References: https://bugs.freedesktop.org/show_bug.cgi?id=51422
References: https://bugs.freedesktop.org/show_bug.cgi?id=52299
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-27 20:51:35 +01:00
Chris Wilson 2cbf88980e sna: Force the stall if using a busy ShmPixmap bo with PutImage
As we will stall in the near future to serialise access with the
ShmPixmap, we may as well stall first and do a simple copy using the
CPU in this highly unlikely scenario.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-27 20:51:35 +01:00
Chris Wilson 705103d77e sna: Add a modicum of DBG to kgem_is_idle()
Print out the handle of the bo we just checked.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-27 20:51:35 +01:00
Chris Wilson 8218e5da2b sna: Fix crash with broken DBG missing one of its arguments
Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54127
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-27 19:36:03 +01:00
Chris Wilson 593f549b45 sna: A little more DBG to try and identify ratelimiting ops
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-27 16:43:19 +01:00
Chris Wilson 71ac12e9b6 sna: Assert that the bo is marked as 'flush' when exported to DRI clients
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-27 15:55:24 +01:00
Chris Wilson cf64c8ce75 sna: Upload PutImage inplace to a fresh GPU bo if the device doesn't snoop
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-27 15:55:24 +01:00