summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-01-23Add SwapPages support for SwapBuffersswap-pagesKeith Packard1-14/+94
This uses the new kernel ioctl to swap pages between objects rather than copying pixels Signed-off-by: Keith Packard <keithp@keithp.com>
2012-07-26intel: query kernel for caps to setup scrn capabilities.Dave Airlie1-0/+20
This queries the kernel for prime support before advertising the capabilities. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-07-26intel: add pixmap tracking and scanout support.Dave Airlie3-4/+113
This adds support for pixmap tracking and scanout of alternate pixmaps. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-07-26intel/uxa: add pixmap sharing support.Dave Airlie1-1/+74
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-07-26intel: add platform probing support.Dave Airlie2-2/+58
This allows the driver to be loaded by the platform loading code. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-07-23sna: Remove a surplus functionChris Wilson1-16/+2
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-23uxa: Pass the correct parameters to intel_detect_chipset()Chris Wilson1-2/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-23intel: Refactor the common chipset detection/overrideChris Wilson9-123/+44
Reduce the duplicate messages for which type of chip we by amalgamating the common code. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-23sna: Refactor PutImage to avoid calling drawable_gc_flags() too earlyChris Wilson1-17/+9
drawable_gc_flags() asserts that the gc has been moved to the CPU prior to its calls so that it can read the reduced raster operation. Reported-by: Zdenek Kabelac <zkabelac@redhat.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-23sna: Flesh out tiled operations using the BLTChris Wilson2-0/+291
Before enabling the RENDER pipeline for this operation, let's just see what is required to fully use the BLT pipeline as well. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-23sna: Hold a reference to the full stipple pattern for repeated tilesChris Wilson1-24/+41
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-222.20.1 releaseChris Wilson2-1/+41
A good brown paper bag bug release for SNA. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-22sna/glyphs: Also discard the glyph mask for bitmaps with an opaque sourceChris Wilson1-4/+40
Though I expect all such glyphs to be caught by the non-overlapping checks... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-22sna: Tweak the fallback hints for XYPixmap PutImageChris Wilson1-8/+18
As the fallback uses a multiple-pass algorithm updating one plane at a time, we wish to prepare the fallback surface for reads. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-22sna: Promote tiled operations to the GPU if the tile is already on the GPUChris Wilson1-0/+26
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-22sna: Use an upload buffer for large stipplesChris Wilson1-25/+310
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna/dri: We fail at predicting the flip frameChris Wilson1-19/+0
Simply report the values from the kernel, and transfer the blame... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: Adjust hints to prefer rendering convex polygon with the GPUChris Wilson1-1/+1
Keep the general polygons as only using the GPU if necessary, until the cost of the routines is analysed. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: Expand the heuristic for predicting when to use CPU bo for readbackChris Wilson1-7/+26
For tiny transfers, the cost of setting up the GPU operation outweighs the actual savings through increased throughput. So we try to guess when it will be preferrable to simply read from the GPU bo directly. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: Update assertion for cached io buffersChris Wilson1-2/+2
As kgem_buffers may be reused and repurposed through the snoop cache it is no longer true that only proxies will have the io flag set. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: Also discard the last-was-cpu flag when overwriting cpu damageChris Wilson1-1/+2
We interpret a FillRect that erradicates the existing damage as a clear-event and an opportunity to see if it is worth migrating the render commands to the GPU. This is undermined if we leave the 'prefer-cpu' flag intact. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: Enable snooping on the reused linear bufferChris Wilson1-14/+10
This explains why suddenly I was seeing clflush again on a couple of machines... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: Fix the reversed not SHM assertionChris Wilson1-1/+1
Should be double checking that we are not about to free a CPU bo pinned to a SHM pixmap. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: Avoid marking io/snoop buffers as unreusable unnecessarilyChris Wilson2-7/+5
As they are kept in special caches, we can reserve the unreusable flags for exceptional buffers. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: Correct assertion for __kgem_bo_size()Chris Wilson2-2/+2
Only proxies are measured in bytes not pages. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: Change the vmap interface name to userptrChris Wilson4-47/+46
This is in common with the other drivers and avoids the conflict with 'vmalloc/vmap' used by the kernel for allocation of contiguous virtual mappings. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: s/vmap/snoop/ since we use the flag more genericallyChris Wilson5-54/+55
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: Fix role reversal of __kgem_bo_size() and kgem_bo_size()!Chris Wilson1-2/+2
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-21sna: Refresh experimental userptr vmap supportChris Wilson10-386/+446
Bring the code uptodate with both kernel interface changes and internal adjustments following the creation of CPU buffers with set-cacheing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: Micro-optimise copying boxes with the blitterChris Wilson1-47/+108
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-21sna: Only update a buffer when it becomes dirtyChris Wilson8-19/+21
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-20sna: Tweak CPU bo promotion rules for CopyAreaChris Wilson1-7/+12
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-20sna: Only set the vmap flag after we make the bo snoopableChris Wilson1-2/+7
Otherwise if we fail then we incorrectly add the handle to the vmap cache. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-20sna: Also check whether the first upload box can use the BLTChris Wilson1-2/+4
No point checking boxes 1..n if box 0 is the troublemaker! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-20sna/gen6: Prefer the more flexible render ring for large surfacesChris Wilson1-20/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-20sna: Just use composite.box() when we only have one boxChris Wilson1-1/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-20sna/dri: Cleanup ring selection for SNB+ CopyRegionChris Wilson1-4/+8
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-20sna: Update WIP userptr example usageChris Wilson1-8/+14
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-20sna: Rename kgem_partial_bo to kgem_bufferChris Wilson2-55/+54
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-20sna: Allow the snoopable upload buffer to take pages from the CPU vma cacheChris Wilson1-50/+39
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-20sna: Remove topmost unused 'flush' attributeChris Wilson2-18/+22
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-20sna: Replace 'sync' flag with equivalent 'flush'Chris Wilson3-40/+25
The only difference is in semantics. Currently 'sync' was only used on CPU buffers for shared memory segments with 2D clients, and 'flush' on GPU buffers shared with DRI clients. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-20sna: Remove unused scanout-is-dirty? flagChris Wilson3-4/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-19sna/gen6: Bump the WM thread count to 80Chris Wilson3-3/+33
Note that we should only do this when "WiZ Hashing" is disabled. So we should be checking the GT_MODE register (bring on i915_read!) to be sure that is safe to do so. However, it gives a big boost to performance of render copies... It also causes perf benchmarks to hit thermal limits much quicker. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-19sna/gen6: Add a simple DBG option to limit usage of either BLT/RENDERChris Wilson1-0/+10
We can force the code to either select only BLT or RENDER operations - for those that we have a choice for at least! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-19sna: Handle mixed bo/buffers in assertionsChris Wilson4-9/+17
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-19sna/gen4: Hookup composite spansChris Wilson9-122/+535
Due to the unresolved flushing bug it is no faster (so only enable when we definitely can't do the operation inplace), however it does eliminate a chunk of CPU overhead. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-19sna: Tweak order of screen re-initialisationChris Wilson1-5/+5
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-19i810: Correct the double negative and enable XAA when availableChris Wilson1-1/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-19i810: Handle initialisation without the XAA module present at runtimeChris Wilson2-19/+14
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>