If the destination cannot fit into the 3D pipeline when we need to composite, we fallback to doing the operation on the CPU. This is very slow, and quite easy to trigger on i915 by plugging in an external display. An alternative is to extract the extents of the operation from the destination using the blitter which can usually handle much larger operations. This gives us a temporary target that can fit into the 3D pipeline and thus be accelerated, before copying back into the larger real destination. For x11perf this boosts glyph rendering on PineView, from 38kglyphs/s to 480kglyphs/s. Just a little shy of the native performance of 601kglyphs/s Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> |
||
|---|---|---|
| .. | ||
| Makefile.am | ||
| uxa-accel.c | ||
| uxa-glyphs.c | ||
| uxa-priv.h | ||
| uxa-render.c | ||
| uxa-unaccel.c | ||
| uxa.c | ||
| uxa.h | ||