Age | Commit message (Collapse) | Author | Files | Lines |
|
This uses the new kernel ioctl to swap pages between objects rather
than copying pixels
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
This queries the kernel for prime support before advertising
the capabilities.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This adds support for pixmap tracking and scanout of
alternate pixmaps.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This allows the driver to be loaded by the platform loading code.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
A good brown paper bag bug release for SNA.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Though I expect all such glyphs to be caught by the non-overlapping
checks...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Simply report the values from the kernel, and transfer the blame...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
This explains why suddenly I was seeing clflush again on a couple of
machines...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
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>
|
|
Only proxies are measured in bytes not pages.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Otherwise if we fail then we incorrectly add the handle to the vmap
cache.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
No point checking boxes 1..n if box 0 is the troublemaker!
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|