Commit Graph

5528 Commits

Author SHA1 Message Date
Chris Wilson fbfbbee828 sna: Fix glyph DBG to include clip extents and actual glyph origin
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-17 09:20:21 +01:00
Chris Wilson f0ed0ca234 sna: Promote an undamaged pixmap to use the full GPU
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-17 08:35:20 +01:00
Chris Wilson 1f79e877fb sna: Share the pixmap migration decision with the BLT composite routines
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 23:48:10 +01:00
Chris Wilson d141a2d590 sna: Disable snoopable bo for gen4
Further inspection reveals that whilst it may not hang the GPU, the
results are not pleasant or complete.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 23:27:32 +01:00
Chris Wilson 107feed2a4 sna: Disable snoopable uplaod buffers for gen4
The sampler really does not like using snoopable buffers...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 18:58:30 +01:00
Chris Wilson 818c21165c sna: Fixup pixmap validation for sna_copy_area()
Remember to offset the box by the drawable deltas in order to
compensate for compositing.

Reported-by: Jiri Slaby <jirislaby@gmail.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=52142
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 16:28:00 +01:00
Chris Wilson 623d84bed7 Wrap defines to avoid redefinition warnings
Currently this only catches out ARRAY_SIZE, but wrap the other common
defines for consistency.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 16:07:37 +01:00
Chris Wilson 907a2a7c97 sna/trapezoids: Fix inplace unaligned fills (on gen4)
Reported-by: Sergio Callegari <sergio.callegari@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52150
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 14:49:45 +01:00
Chris Wilson 6ce2f40249 sna/trapezoids: Add some DBG to unaligned fills
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 14:46:39 +01:00
Chris Wilson 2721214868 sna: Move the disabling of CPU bo for gen4 to the render unit
They appear to work fine with the BLT and only seem to cause issues when
used with the sammpler. So enable them for accelerated uploads and
downloads.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 13:52:39 +01:00
Chris Wilson 0777b146bf sna: Use set-cache-level to allocate snoopable upload buffers
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 13:49:39 +01:00
Chris Wilson 33443f7ee4 sna: Add a couple of DBG options to control accelerated up/downloads
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 12:51:54 +01:00
Chris Wilson 9240602938 sna: Discard and recreate the CPU buffer when busy during move-to-cpu
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 12:30:44 +01:00
Chris Wilson 7024ef771f sna: Add a few DBG to show when CPU bos are being used for xfer
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 12:30:43 +01:00
Chris Wilson c564414157 sna: Disable the scanout flush when switch off via DPMS
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 12:17:40 +01:00
Chris Wilson 536e7ab756 intel: Don't use stdbool without declaring it
Reported-by: Fabio Pedretti <fabio.ped@libero.it>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-16 12:17:40 +01:00
Chris Wilson 0c32be15b0 uxa: Remove Shadow hack
This was an incomplete hack so deprecate in favour of Shadow-on-Steriods,
SNA.

References: https://bugs.freedesktop.org/show_bug.cgi?id=47324
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-15 20:56:58 +01:00
Chris Wilson 6a18a0936e configure: version bump for 2.20.0 release
The day SNA hits mainstream...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-15 20:26:30 +01:00
Chris Wilson 6fa059330d sna: Avoid creating a CPU bo for uploads if we already have a large GPU bo
And vice-versa if already have a large CPU bo.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-15 15:14:47 +01:00
Chris Wilson a253c95ec6 sna: Prefer uploads to be staged in snoopable bo
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-15 15:13:23 +01:00
Chris Wilson ef6d94a844 sna: Simply reverse all the boxes if dx <= 0 and dy <= 0
In this fairly common case, avoid both the double pass and use a simpler
algorithm as we can simply reverse the order of the boxes.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-15 11:46:53 +01:00
Chris Wilson 6601a943ff sna: Keep track of the base pointer for the reordered boxes
So that we avoid freeing an invalid pointer.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-15 11:39:56 +01:00
Chris Wilson ef34d5cf41 sna: Make sure we check for a busy CPU bo before declaring is-cpu
Even if the pixmap is entirely damaged on the CPU, we still may be in
the process of transferring it and so cause an unwanted stall.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 23:25:17 +01:00
Chris Wilson 0e397e4a1d sna/glyphs: Perform the fallback mask reduce before moving the glyph pointers
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 21:36:45 +01:00
Chris Wilson db1ee13a53 sna/gen7: Check for gradient allocation failure within spans
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 21:26:01 +01:00
Chris Wilson 86479e9746 sna/gen7: Uses EXTEND_PAD for its alpha-gradient with spans
Fixes regression from 2b94f9a043.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 21:24:04 +01:00
Chris Wilson f17037275c sna: Reorder overlapping boxes for CopyArea/Window
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 20:15:26 +01:00
Chris Wilson 86e09d14bd sna: Tidy sna_copy_boxes
So there appears to be a bug hidden here. But only when we scroll
upwards in a GTK+ application. Hmm.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 19:44:17 +01:00
Chris Wilson 924f596463 sna: Avoid BLT to snoopable bo on older gen
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 19:16:07 +01:00
Chris Wilson 44e226b1d9 sna/glyphs: A repeat of the earlier typo for pixman glyphs
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 18:39:09 +01:00
Chris Wilson 797ebf937f sna/glyphs: Fix typo and render glyphs to the small mask
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 16:58:18 +01:00
Chris Wilson 2b94f9a043 sna/gen7: Preselect sampler
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 16:40:06 +01:00
Chris Wilson 50d61c38bd sna/gen4: Fix typo introduced in checking dst format
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 16:07:32 +01:00
Chris Wilson fc91b1f157 sna/gen7: Only emit the render flushes between operations
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 15:57:32 +01:00
Chris Wilson d30dc59651 sna/gen7: Only fallback to BLT for a redirected target
As we can always use a partial surface for the source.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 15:42:19 +01:00
Chris Wilson 9f05b0c03b sna/gen4+: Fix up card/dest format confusion in previous commit
That would have been much more successful had I not supplied the wrong
opaque formats to the sampler.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 15:10:56 +01:00
Chris Wilson fffbc34e46 sna/gen4+: Translate to card format using a switch
GCC produces faster code than a walk over the format tables.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 14:54:27 +01:00
Chris Wilson 95fdd9af5c sna: Enable pixman_glyphs if available
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 14:15:11 +01:00
Chris Wilson 3f764ee4c5 sna/dri: Presume an unknown chipset will want i965_dri.so
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 12:29:47 +01:00
Chris Wilson 39845280b5 sna: Allow BLT support on future unknown hardware
Assume that if the kernel recognises the chipset and declares it has a
BLT, we can use it.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 12:14:28 +01:00
Chris Wilson b260ca44b3 Drop some unused includes
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 10:02:51 +01:00
Chris Wilson f517bdb12b sna: Do not perform batch compaction on old kernels
As they will reject the delta pointing outside of the target batch.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 09:21:17 +01:00
Chris Wilson ce69a1e868 sna: Add some DBG for selecting glyph path
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 09:21:17 +01:00
Chris Wilson b68b2d9091 sna: Add some DBG for short-circuiting choice of source bo
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 09:21:17 +01:00
Chris Wilson ad4786b285 sna: Aim for consistency and use stdbool except for core X APIs
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-14 09:21:12 +01:00
Chris Wilson a05c3547bb sna/gen4: Simplify comparing the pipeline-pointers against the previous
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-13 15:06:15 +01:00
Chris Wilson ea9ec18505 sna: Split CloseScreen into two phases
In order to get the ordering correct we need to free the xf86_cursors
before calling the miPointerCloseScreen. This requires us to insert a
hook at the top of the CloseScreen chain. However we still require the
final CloseScreen hook in order to do the fundamental clean up, hence
split the CloseScreen callback into two phases.

Reported-by: Jiri Slaby <jirislaby@gmail.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=47597
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-13 11:46:09 +01:00
Chris Wilson 0f03f7b435 sna: Only try to enable DRI2 if the module is available at runtime
Blatantly cribbed from Michel Danzer's patch for ati...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-13 10:35:27 +01:00
Chris Wilson b5d6a57f12 Enable compilation of SNA by default
But only if we meet the required versions of Xorg and leave UXA as the
default AccelMethod for the time being.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-12 22:16:55 +01:00
Chris Wilson 6c2975ab29 Fix the reporting of whether SNA is configured
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-12 22:14:59 +01:00