Zhigang Gong
e8aa9cedbf
uxa/glamor: Remove extraneous flush
...
When glamor is enabled, a pixmap will not be accessed by UXA's
accelerated functions. Only unaccelerated functions may access those
pixmaps, and before each unaccelerated rendering, it calls
uxa_prepare_access which will do a glFlush. Combined with a flush before
sending to DRI clients, we no longer need to flush after every
operation.
Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-03 21:35:03 +00:00
Zhigang Gong
4ca94ed91f
uxa/glamor: Remove dead code.
...
Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-03 21:35:03 +00:00
Chris Wilson
5576afc7d1
sna: Inline checks for over-sized buffers during pixmap creation
...
Make the tests for acceptable GPU pixmaps explicit and upfront.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-03 21:35:03 +00:00
Chris Wilson
b2dc17678f
sna: Always search for an exact active match first from the bo-cache
...
And accept second-best only if permitted by flags.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-03 21:35:03 +00:00
Chris Wilson
caf41ae23d
sna: Force tiling on medium pitches if not reduced for other reasons
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-03 21:35:03 +00:00
Chris Wilson
1b688ca0cf
sna: Delete the last buffer if destroyed without being used on the GPU
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-03 21:35:03 +00:00
Chris Wilson
4a68e72771
sna/gen3: Prefer to use the blitter for solid fills
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-03 21:35:03 +00:00
Chris Wilson
199e357dc6
sna/trapezoids: Pass the sna pointer to the callees
...
Avoid the repeated multiple indirect dereferences.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-03 21:35:03 +00:00
Chris Wilson
bd7aa1754d
sna: Avoid unnecessary call overhead for read-only move-to-cpu
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-03 21:35:03 +00:00
Chris Wilson
294c8791c4
sna: Use a cheaper no-reduction damage check for simply discarding further damage
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-03 21:35:03 +00:00
Chris Wilson
7ff42e9c83
sna/damage: Mark the box as packed so that the embedded_box is aligned correctly
...
valgrind was complaining about an overlapping memcpy on a 64-bit
platform as gcc padded the sna_damage_box to 28 bytes...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-03 21:35:03 +00:00
Chris Wilson
4652a20de5
sna/gen3: Check for a non-NULL bo before incrementing its ref in reuse_source()
...
For gen3, we may reduce a source into a constant operator and so
dispense with keeping a bo. When duplicated into the mask channel, we
then need to be careful not to dereference the NULL pointer.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-03 21:35:03 +00:00
Chris Wilson
777fcc9b11
sna: Prefer not to force the creation of gpu bo for pixmap uploads
...
As this causes a significant regression when benchmarking firefox on SNB
with firefox-planet-gnome if we already have CPU buffers.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-01 18:45:53 +00:00
Chris Wilson
1a6c16a24c
sna: Keep a freelist of buffers
...
As reallocation of bo is the most frequent cause of malloc/free.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-01 15:24:46 +00:00
Chris Wilson
f008a2a90c
sna: Tune blt routine
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-01 15:24:46 +00:00
Chris Wilson
b57c7248ac
sna: Delete some redundant code
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-01 15:24:45 +00:00
Chris Wilson
83d16455b7
sna: Eliminate one union pass when reducing damage-add
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-01 15:24:45 +00:00
Chris Wilson
2f5b769e71
sna: Move some checks against programming errors to asserts
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-01-01 10:12:59 +00:00
Chris Wilson
24bf59c43f
Revert "sna: Increase the minimum alignment constraint for g33"
...
This reverts commit 2934e778f0 . The actual
cause of the bug I was seeing on my PNV box turned out to be
a1f585a3d0 , so time to reinvestigate the alignment issues.
2011-12-31 18:57:57 +00:00
Chris Wilson
770a953ff0
uxa/video: Clear all state structures before uploading
...
A regression from eb859f6446 left some of the state uninitialised
before uploading to the GPU leading to undefined behaviour.
Reported-by: Alexey Shumitsky <alexey.shumitsky@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44338
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44252
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-31 17:22:29 +00:00
Chris Wilson
f1995c684d
uxa: the video destination should be in the render write domain
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-31 16:26:39 +00:00
Chris Wilson
511146d2e4
sna: Implement inplace trapezoidal addition (for clipmasks)
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-31 15:36:18 +00:00
Chris Wilson
a1f585a3d0
sna: Update pixmap->devKind for GTT mappings
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-31 15:36:18 +00:00
Chris Wilson
343de19ef9
sna: Implement tiled uploads for small stipples larger than patterns
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-31 15:36:18 +00:00
Chris Wilson
fb15cf2294
sna: Make sure the shadow pixmap is suitable for scanout
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-31 15:36:18 +00:00
Chris Wilson
281425551b
sna: Tweak throttling to be run before going idle
...
The goal is to avoid introducing extra latency in the middle of a
command sequence and to delay it until we have to wait for the clients.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-31 15:36:17 +00:00
Chris Wilson
2f5448f132
sna: compare tiling against minimum width for relevancy
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-31 15:36:17 +00:00
Chris Wilson
e82b3d8069
sna: Defer the initial source upload if the GPU bo will be untiled
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-31 15:36:17 +00:00
Chris Wilson
72624b0b5b
sna: Remove redundant use-gpu-bo clause
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-30 08:24:41 +00:00
Chris Wilson
6dc9bbc016
sna: Fix DBG for no intersection with damage
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-29 22:52:03 +00:00
Chris Wilson
0dc5c0651c
sna: Tune disarming of the scanout flush timer
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-29 13:49:23 +00:00
Chris Wilson
ccd895c61d
sna: Allow uploading inplace to a freshly created GPU bo
...
If the operation is favoured to be performed using a WC upload, presume
that we will use the uploaded pixmap on the GPU and so prefer to create
a GPU buffer to hold the fresh data.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-29 12:23:17 +00:00
Chris Wilson
f85a853455
sna: Only update the damage region as necesary for contains-box
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-29 11:59:57 +00:00
Chris Wilson
f53936407b
sna: Reset the source counter upon dirtying the shadow pixmap
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-29 11:59:37 +00:00
Chris Wilson
c9f7f10bc5
sna: Be paranoid and check for errors from mmapping the bo
...
Now that the error propagation is actually in place, we may as well use
it.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-29 09:03:21 +00:00
Chris Wilson
98e053503a
uxa: Depend upon DRI2 not DRI
...
The symbols required for building intel_dri.c are checked during
configure under the DRI2 defines.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-29 08:50:53 +00:00
Chris Wilson
58cee9d0de
sna/dri: Update set_bo() for change of bo ownership transfer during page-flip
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-28 23:18:31 +00:00
Chris Wilson
f9ee02be26
sna: Fix debug message for read-boxes
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-28 22:52:44 +00:00
Chris Wilson
698bd43e0f
sna: Do not create glyph caches if the gpu is wedged
...
As these will only be created in normal memory and never used.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-28 21:45:12 +00:00
Chris Wilson
78425a1559
sna: Refactor common code for testing gpu busyness of a pixmap
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-28 21:38:11 +00:00
Chris Wilson
9105b7e03a
sna: Perform clip mask compositing inplace
...
Avoid the extra composite-in pass for simple clipmask construction.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-28 15:20:10 +00:00
Chris Wilson
337635ab97
sna: Add some more debugging to find the source of a read-boxes error
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-28 10:56:57 +00:00
Chris Wilson
3bf81241cb
sna: Skip zero-sized glyphs
...
Similar to the empty glyphs make sure that we just advance by the
character width without drawing anything.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-27 17:09:59 +00:00
Chris Wilson
8fc21328a0
sna: Don't discard empty glyphs, just skip them
...
A space is encoded as a 1x1 blank glyph, but we still need to advance by
its character width and so we cannot simply discard the glyph.
References: https://bugs.freedesktop.org/show_bug.cgi?id=44091id=44091
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-27 15:33:51 +00:00
Chris Wilson
726290ea2a
sna: Rearrange damage for tail-call optimisations
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-27 13:16:34 +00:00
Chris Wilson
04396b6e50
sna: Don't force the creation of a GPU bo if it will be untiled
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-27 09:58:40 +00:00
Chris Wilson
655a96cd5f
sna: Mark the glyph cache as being unpageable
...
In order to prevent it falling foul of the inactive pixmap reaper, we
need to mark the pixmap as pinned.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-26 14:37:37 +00:00
Chris Wilson
2934e778f0
sna: Increase the minimum alignment constraint for g33
...
Still not getting the single-stream mode that I am aiming for!
Reported-by: Matti Hamalainen <ccr@tnsp.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44150
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-26 11:30:39 +00:00
Chris Wilson
f7593a995a
sna: Move the is-mappable check into the callers of region_inplace()
...
As they slightly differ in their requirements.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-25 11:20:40 +00:00
Chris Wilson
aff32e3e08
sna: Tweak damage not to reduce if it will not affect the outcome of reducing to all
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-12-25 00:36:33 +00:00