Chris Wilson
324a1dffdc
sna/gen3: Micro-optimise solid span emission
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-16 13:07:00 +00:00
Chris Wilson
47c47b85f6
sna/traps: Micro-optimise span emission
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-16 12:59:13 +00:00
Chris Wilson
3a26437f19
sna/traps: Tune nonzero_row
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-16 12:37:25 +00:00
Chris Wilson
cb04cf9f43
sna/traps: Make the inline u8 arithmetic more robust
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-16 09:53:15 +00:00
Chris Wilson
d55bbdf42c
sna/traps: Remove the old paths for mono inplace traps
...
Dead code elimination.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-16 09:29:39 +00:00
Chris Wilson
fe4ad66aad
sna: Correct the order of screen private teardown
...
So that we do not keep a stale references of the last cached pixmap
across server regeneration (or shutdown).
Reported-by: Thierry Reding <thierry.reding@avionic-design.de>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47357
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-15 21:34:01 +00:00
Chris Wilson
0a8218a535
sna: Prefer the CPU bo for uploads if last access was not through the shadow
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-15 13:32:35 +00:00
Chris Wilson
77c9c03b10
sna: Fixup the shadow pixmap pointer for move-to-gpu
...
If we choose not to use the CPU bo for the upload (because we fear the
subsequent synchronisation cost), we need to fixup the shadow pointer
before dereferencing it.
On the move-to-cpu side, the fixup is already performed as we will need
to access the shadow pixels for the subsequent drawing operation.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-15 13:32:02 +00:00
Chris Wilson
0e2fbb6a1c
uxa: Merge 'remove complicated second level caching'
...
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47345
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-15 12:44:37 +00:00
Chris Wilson
84d7a82122
uxa: Simplify allocation of backing pixmap
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-15 12:43:12 +00:00
Chris Wilson
1b1016624a
uxa/i915: Remove broken CA pass, fallback to magic 2-pass composite helper
...
The backend failed to handle all the corner cases, so remove the
complication.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-15 12:43:12 +00:00
Chris Wilson
895a56a553
uxa: Remove unused render_mask_solid members
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-15 12:43:12 +00:00
Chris Wilson
9c6f79440e
uxa: Remove unused tracking of the current render target
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-15 12:43:12 +00:00
Chris Wilson
219467ac8b
uxa: Simplify flush tracking
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-15 12:43:12 +00:00
Chris Wilson
bd8fafe0c4
uxa: Kill the complicated in-flight tracking
...
Reference leak hunting.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-15 12:43:11 +00:00
Thierry Reding
64ccc6698d
configure: Keep passed-in CFLAGS for DRI tests
...
When the user passes extra CFLAGS and CPPFLAGS to the configure script,
they should be kept when performing subsequent checks with additional
flags. This is required to properly build in cross-compilation setups
where the user may pass in flags like --sysroot in order to pick up the
cross-built dependencies.
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
2012-03-15 12:42:46 +00:00
Chris Wilson
c5c61ef378
sna/traps: dst IN WHITE does not reduce to SRC!
...
I was getting too carried with my reductions. However, IN over a
clear surface is a no-op, though unlikely!
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-15 12:39:43 +00:00
Chris Wilson
fba49e1bb8
sna/traps: Fix off-by-one for filling vertical segments in tor_inplace
...
If the last solid portion was exactly 4-pixels wide, we would miss
filling in the mask.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-15 10:31:51 +00:00
Chris Wilson
27f8f121b3
sna/damage: Handle a reduced damage rather than assert
...
As we may reduce a damage to empty along the migration paths and not
detect that reduced damage till later, handle those scenarios rather
asserting.
References: https://bugs.freedesktop.org/show_bug.cgi?42426
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-14 23:43:20 +00:00
Chris Wilson
abd1046002
sna: Treat unmapped but CPU-mappable bo as available for mapping
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-14 23:08:31 +00:00
Chris Wilson
2c492c0064
sna: Disable tiling for single row pixmaps (unless required for hw limits)
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-14 23:06:17 +00:00
Chris Wilson
6890592cd2
sna/traps: Explicitly create an unattach pixmap for fallback
...
References: https://bugs.freedesktop.org/show_bug.cgi?id=42426
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-14 21:30:33 +00:00
Chris Wilson
23b5640a0f
sna: Avoid using kgem_bo_reference() internally
...
So that we can keep the assertion to track the refcnt elsewhere.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-14 20:50:52 +00:00
Chris Wilson
03731b4e37
sna: Ellide no-op image glyphs
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-14 20:50:52 +00:00
Chris Wilson
d0e05b4294
sna: Don't mark cached upload buffers for inactivity expiration
...
As these do not follow the normal rules of damage tracking, we have to
be careful not to force migration.
References: https://bugs.freedesktop.org/show_bug.cgi?id=42426
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-14 20:21:26 +00:00
Chris Wilson
96ead26c4d
sna: Add a couple of asserts for inactive_partial reference counting
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-14 19:56:42 +00:00
Chris Wilson
6a4ac18e37
sna/traps: Use a more direct fallback path for the CPU
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-14 11:55:45 +00:00
Chris Wilson
8580677ee6
sna/traps: Rasterise using pixman inplace where appropriate
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-14 11:51:34 +00:00
Chris Wilson
8a303f195b
sna: Remove existing damage before overwriting with a composite op
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-14 11:26:03 +00:00
Chris Wilson
63eeb98463
sna/gen3: Look harder to see if we can indeed use the BLT for composite
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-14 10:30:47 +00:00
Chris Wilson
d23ee0380b
sna: Reuse the cached upload as a source GPU bo
...
References: https://bugs.freedesktop.org/show_bug.cgi?id=42426
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-13 22:00:25 +00:00
Chris Wilson
0acec16853
sna: Defer the release of the upload buffer cache till retirement
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-13 22:00:05 +00:00
Chris Wilson
06b28d541b
sna: Destroy the cached upload buffer if before copying into it
...
As we discard the buffer after the next batch, we will lose the contents
of the pixmap. Instead discard the cache, and treat it as a normal
shadow again.
References: https://bugs.freedesktop.org/show_bug.cgi?id=42426
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-13 20:01:53 +00:00
Chris Wilson
015db20287
sna: Refactor source upload-to-gpu
...
This was originally split between into functions for flexibility that
nothing used, so merge the duplicated code into a common function.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-13 17:45:05 +00:00
Chris Wilson
6dfe28f978
sna/gen6: Remove the double application of the render offset
...
Cut'n'paste error from an older generation.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-13 17:45:05 +00:00
Chris Wilson
c751242e24
sna: Only use the cpu bo for xfer between CPU and GPU if either is busy
...
The synchronisation costs overwhelm any benefit from offloading the
copy, unless we are currently streaming the updates anyway.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-13 17:45:05 +00:00
Chris Wilson
c9668a772f
sna: Reduce OVER with a clear pixmap to a BLT
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-13 17:45:05 +00:00
Chris Wilson
2ea58256f5
sna: Reuse the same upload buffer for the duration of the batch
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-13 17:45:05 +00:00
Chris Wilson
8b9abe2be1
sna: Prefer to render very thin trapezoids inplace
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-13 14:28:31 +00:00
Chris Wilson
1e2d6ee31a
sna: Always reset the source counter after rendering to with the CPU
...
The goal is to avoid moving to the GPU too early for a frequently
modified CPU buffer.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-12 20:34:42 +00:00
Chris Wilson
7bde1f55a1
sna: After move-to-gpu signals yes, force the GPU bo creation
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-12 20:25:50 +00:00
Chris Wilson
2ee7de1f17
sna/trapezoids: Reduce mono ADD/OVER against a clear background to a SRC
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-12 20:09:05 +00:00
Chris Wilson
99c239e380
sna: Treat backing pixmaps no differently from their forward facing cousins
...
Another fix for the large buffers overhaul.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-12 19:54:55 +00:00
Chris Wilson
28792be1f3
sna/display: Only flush pending output when installing a new scanout
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-12 19:45:35 +00:00
Chris Wilson
278c329b9e
sna/trapezoids: Further improve the clipping criteria for inplace traps
...
Not only must we defend against the span starting too far to the right,
we must also defend against the span terminating too far to the left.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-12 12:04:53 +00:00
Chris Wilson
7ae4558432
sna/trapezoids: Add paranoia to ensure that the span starts within the clip
...
Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47226
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-12 10:49:46 +00:00
Chris Wilson
8136bc5e11
sna: Make the maximum BLT pitch assertions consistent
...
The maximum permissibly BLT pitch value is 32767, so make the assertions
match...
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47206
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-11 19:53:20 +00:00
Chris Wilson
9896154936
sna: Feed fallback mono trapezoids through the mono rasteriser
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-10 10:45:54 +00:00
Chris Wilson
552e4fbd2c
sna/traps: Add a fast path for narrow masks
...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-09 21:31:52 +00:00
Chris Wilson
494edfaaac
sna: Handle partial reads with a pending clear
...
Skip the filling of the whole pixmap if we have a small read and we
know the GPU bo is clear. Also choose to operate inplace on the GPU bo
if we meet the usual criteria.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-09 12:19:33 +00:00