summaryrefslogtreecommitdiff
path: root/src/sna
AgeCommit message (Collapse)Author
2012-12-27sna/gen6+: Tidy up ring preferencesChris Wilson
Remove a few duplicated tests. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-27sna: Do not try and set a 0x0 modeChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-26sna/gen6+: Tweak to only consider active ring on destinationChris Wilson
Otherwise we decide to use BLT when hitting the render/sampler cache is preferrable for a source bo. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-26sna: Explicitly track self-relocation entriesChris Wilson
Avoid having to walk the full relocation array for the few entries that need to be updated for the batch buffer offset. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-21sna/video: Initialise alignment for video ports > 0Chris Wilson
We repeatedly set the alignment value on the first port, rather than once for each. Reported-by: Jiri Slaby <jirislaby@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47597 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-21sna: Remove assertions that the pixmap is wholly defined when uploadingChris Wilson
As the user may only write to a portion of a pixmap (thus only creating a small amount of damage) and then attempt to use the whole as a source, we run the risk of triggering an assertion that the whole was defined. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-21sna: Remove a pair of stale assertionsChris Wilson
For gen2-5, it does not matter what mode the batch is in when we insert the scanline wait. With the more aggressive batch flushing, and relaxed assigned of mode for those generations, we are likely to see that the batch is idle when we go to insert the waits. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-21sna: Refactor test for a rotation matrixChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-21sna/dri: Refactor get_current_msc between blit/flip pathsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-21sna/dri: Set the correct current_msc for the no readback pathChris Wilson
If we are asked to render immediately, then in order to pass the tests when comparing it to target, we need to set the current_msc to the ultimate future value, -1. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-21sna/gen4: Backport tight vertex packing of renderblitsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-21sna/gen4: Backport more recent state tracking tweaksChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-21sna/gen5: Backport tight vertex packing for simple renderblitsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-21sna/dri: Avoid querying the current-msc with swapbbufers wait disabledChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-20sna/video: Assert that the frame is initialisedChris Wilson
References: https://bugs.freedesktop.org/show_bug.cgi?id=47597 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-20sna: Check the correct variable for a failed allocationChris Wilson
Having already checked 'dst' and just allocated 'src', that is who we should be checking. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-20sna/gen4+: Amalgamate all the gen4-7 vertex buffer emissionChris Wilson
Having reduced all the vb code for these generations to the same set of routines, we can refactor them into a single set of functions. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-20sna: Do not throttle before move-to-cpuChris Wilson
The idea being that when creating a surface to perform inplace rasterisation, we won't be using the GPU for a while and so give it time to naturally throttle. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-20sna: Ignore throttling during vertex closeChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-20sna/video: Remove XvMCScreenInitProcChris Wilson
The symbols disappears without warning in xorg-1.14 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58552 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-19sna/gen4+: Tweak preference of GPU placement for spansChris Wilson
If the CPU bo is busy, make sure we do not stall for an inplace operation. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-18sna/video: Fix presentation of cropped spritesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-18sna/video: Fix up copying cropped textured video packed dataChris Wilson
Simply ignore the cropping and copy the whole plane rather than complicate the computation of the packed destination pixels. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-18sna/video: Fix up destination offset for copying cropped textured video planesChris Wilson
Oh fun. Textured video expects the source content to be relative to the origin, whereas overlay video expects the source at the origin. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-18sna/video: Fix up the image size for copyingChris Wilson
Yikes, setting image.x2 == image.x1 meant no data was copied whilst the video was clipped. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-18sna/video: Amalgamate the computation of source vs dest offsetsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-18sna/video: Fix adjustment of drawable vs source origin wrt to clipChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-18sna/xvmc: Clean up to avoid crash'n'burnChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-18sna: Prefer the GPU once again for PolyPointChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-18sna/gen7: Mark the ring switch before checking boChris Wilson
As we may do a batch submission due to the change of mode. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-17sna: Refine check for an unset context switchChris Wilson
So it appears that we end up performing a context switch on an empty batch, but already has a mode. This is caught later, too late, by assertions. However, we can change the guards slightly to prevent those assertions without altering the code too greatly. And I can then think how to detect where we are setting a mode on the batch but doing no work - which is likely masking a bigger bug. Reported-by: Jiri Slaby <jirislaby@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47597 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-17sna: Untangle the confusion of caching large LLC boChris Wilson
We only use a single cache for very large buffers, so we need to be careful that we set the tiling on them. More so, we need to take extra care when allocating large CPU bo from that cache to be sure that they are untiled and the flags are true. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-17sna: Promote pinned-batches to run-time detectionChris Wilson
Now that the feature has been committed upstream, we can rely on the runtime detection. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-17sna/video: Pass along the video source offsetChris Wilson
Fortunately nobody had yet noticed that all videos were assumed to play with a matching src/dst origin. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-17sna: Limit the default upload buffer size to half the cpu cacheChris Wilson
This seems to help with small slow caches. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16sna: Enable support for opting out of the kernel CS workaroundChris Wilson
Keeping a set of pinned batches in userspace is considerably faster as we can avoid the blit overhead. However, combining the two approaches yields even greater performance, as fast as without either w/a, and yet stable. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16sna: Try to reuse pinned batches by inspecting the kernel busy statusChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16sna: Precompute the base set of batch-flagsChris Wilson
This is to make it easier to extend in future. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16sna: Only flush at the low fence wm if idleChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16intel: Support debugging through AccelMethodChris Wilson
Ease debugging by allowing all acceleration or render acceleration to be disabled through AccelMethod: Option "AccelMethod" "off" -> disable all acceleration Option "AccelMethod" "blt" -> disable render acceleration (only use BLT) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16sna: Tweak the idle SHM CopyArea path to also replace a busy GPU boChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16sna: Do not force use of the GPU for a copy from a SHM pixmapChris Wilson
As we will undoubtably flush and sync upon the SHM request very shortly afterwards, we only want to use the GPU for the SHM upload iff it is currently busy. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16sna/gen6+: Tweak prefer-blt-boChris Wilson
Split the decision between where it is imperative to use the BLT to avoid TLB misses and the second case where it is merely preferential to witch. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16sna/gen6+: Keep the bo on its current ringChris Wilson
Track the most recent ring each bo is executed on, and prefer to keep it on that ring for the next operation. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16sna/gen6+: Apply the is_scanout to the key not value in the binding cacheChris Wilson
Oops, we never managed to reuse the cached location of the target surface as we entered it into the cache with the wrong key. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16sna/trapezoids: Add another inline hintChris Wilson
cell_list_alloc() is only called from one place, and the compiler should already be inlining it - but does not appear to be. Hint harder. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16sna: Include shm hint in render placementChris Wilson
The goal is to reduce the preference of rendering to a SHM pixmap - only if it is already active, will we consider continuing to use it on the GPU. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-15sna/dri: Fallback to a blit after a failed flipChris Wilson
...rather than force the exchange. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-15sna/dri: Honour TripleBuffer OptionChris Wilson
In case anyone ever wants to disable the default. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-14sna/dri: Store and check size of front/back bo attached to a DRI2 drawableChris Wilson
So that we can prevent feeding back a stale bo when the DRI2 client tries to swap an old buffer. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57212 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>