summaryrefslogtreecommitdiff
path: root/src/sna/gen8_render.c
AgeCommit message (Collapse)Author
2014-07-16sna/gen2+: Remove assertion on draw->type for fillsChris Wilson
I overlooked the tiling-fill path passing down a temporary DrawableRec into the fill_boxes callback - invalidating the assertion. Fixes regression from commit 43176b9bfafe389c4b9ed676f4e50e3b06f858c4 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Jun 30 21:01:11 2014 +0100 sna/dri2: Pass around the correct DrawableRec for sampling from the foriegn bo Reported-by: Jiri Slaby <jirislaby@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70461#c62 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-04sna/gen8: Disable the unaligned checkChris Wilson
Note sure if this is strictly required -- but at the moment it fails for 1x1R solids, causing us to skip glyphs. The simulator doesn't complain, so just skip the check for now. Reported-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-02sna/gen6+: Tweak consideration of compositing on BLTChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-30sna/dri2: Pass around the correct DrawableRec for sampling from the foriegn boChris Wilson
One day, we will move the width/height/bpp to the bo itself... Reported-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-24sna: Decompose self-copy into overlapping/non-overlapping regionsChris Wilson
We only need to stage the copy for the overlapping portion of the self-copy, for the rest we can do in a single pass. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-23sna/gen6+: Initialise src offset before useChris Wilson
Fixes regression from commit 30348efd57135edee41fccb87133c572b6473aa8 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Jun 23 11:14:25 2014 +0100 sna/gen6+: Avoid adjusting copy coordinates until commited to using them which assumed that the render state was being zeroed. Reported-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-23sna/gen6+: Avoid adjusting copy coordinates until commited to using themChris Wilson
If we need to fallback to the BLT unit, we need to pass it the original source/dest coordinates and not our transformed render coordinates. So keep the original values intact until we start emitting the render operation. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-23sna/gen6+: Encourage the compiler to inline a couple of key functionsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-23sna: Rename IGNORE_CPU to IGNORE_DAMAGE to better reflect its purposeChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-20sna: Mark up const boxes to keep the compiler happyChris Wilson
Pass around const to suppress a few compiler warnings. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-18sna/gen8: Fix cleanup after failing to convert channelChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-18sna/gen8: Fix unaligned() to return true when not alignedChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna/gen6+: Prefer the BLT for large overlapping copiesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna/gen8: Allow reads from scanout to be cachedChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna/gen8: Check for WT support before attempting to use the WT mocsChris Wilson
It appears the kernel has a better idea when WT is supported on which gen8 parts. I assumed it was always supported, but experience suggests otherwise, so only use WT support when advertised. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79967 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna/gen8: Clear a couple more push constantsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna/gen6+: Overlapping bo by definition have compatible depthsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna/gen8: Check offset alignment before using a userptr for RENDERChris Wilson
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79053 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Silence compiler warnings for discarding const Region pointsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-02sna/gen8: Clear all URB push constant allocationsChris Wilson
A little paranoia to clear the unused portion of the URB and dedicate it to VS entries. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-02sna/gen8: Set GT levelChris Wilson
We use the GT level to decide how favourable it is to use the GPU in various circumstances, now set it. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-05-16sna/video: Only migrate the destination windowChris Wilson
By using move-area-to-gpu and specifying that we overwrite the target area, we can optimize away any needless damage migration. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-15sna: Mark partial composite operations upfrontChris Wilson
Rather than guess in the backend when we are going to be called for multiple boxes, rely on the frontend declaring it correctly. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-05sna/gen8: Shrink 3DSTATE_SAMPLE_PATTERN packetChris Wilson
This is now smaller than originally specified. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-05sna/gen8: w/a for NULL depth bufferChris Wilson
Instead of using a NULL type depth buffer, it is strongly suggested to use a 1x1 16-bit depth buffer instead (with address 0). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-04sna/gen2+: Beware the unattached ShmPixmapChris Wilson
When dereferences priv, make sure it exists first. ShmPixmaps for example, may not have one, nor do very small buffers. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-04sna/gen2+: Replace composite sources with solids where possibleChris Wilson
If the composite reads entirely from within a large pixmap which is a clear color, just replace the source with a solid. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-14sna: Allow some leeway when deciding to discard common translationsChris Wilson
Under PictFilterNearest, we can ignore fractional translations (not all renderers discard those.) And if we are being approximate, we can loosen our tolerance as well. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-13sna: Nullify extra fill.opsChris Wilson
I forgot that the initial memset(&fill, 0, sizeof(fill)) was no longer performed and we rely on explicit initialisation during the setup, so add the missing fields. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76088 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-05sna/gen8: Correct MOCS settings for render targetsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-02-23sna/gen6+: Add missing DBG argumentChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-02-01sna: Add some more DBG for choosing render targetsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-01-29sna/gen4+: Assert that the cached binding location is validChris Wilson
We can at least check that it is in the right region (i.e. not past where the current surface has been allocated from). References: https://bugs.freedesktop.org/show_bug.cgi?id=74176 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-01-29sna/gen6+: Encourage inplace uploads for CompositeChris Wilson
First try using the blt path for a potential inplace upload for a simple composite operation copying from a ShmPixmap. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-01-24sna/gen2+: Inspect composite flags to discard unneeded CPU damageChris Wilson
We can now check whether the Composite operation will require existing CPU damage and if not discard it. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-01-23sna: Avoid erroneous discarding operations for partial compositesChris Wilson
Composite operations were presumed to cover their entire width x height area. However, a few paths submit boxes that do not cover the clip region and so the optimisation made during prepare to discard completely overwritten data is incorrect (and leads to corruption - stale data is seen which the client expected to have been overdrawn). So along these more unusual paths, we must add a flag to prevent the overzealous discard. Notably, xfce4 triggers this as it uses a lot of unantialiased trapezoids in its theme drawing. References: https://bugs.freedesktop.org/show_bug.cgi?id=69528 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-01-02sna/gen7+: Emit invalidate between operations if rendering to source/maskChris Wilson
Fixes regression from commit c79cb18407273dc7798618390bd0b7d69b0f80d6 [2.99.907] Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Nov 20 11:17:20 2013 +0000 sna/gen7: Try to reduce flushes between primitive continuations Reported-by: Simon Munton <simon.j.munton@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73208 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-12-11sna/gen8: Initial backend for BroadwellChris Wilson
Should match the functionality of the earlier generations, but untuned. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>