Now that we have the rudiments of accelerated deep-plane copies, we can
begin to benefit from using BO for the core dix/mi routines like
ShmPutImage.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
When comparing drawable clip extents against pixmap boundaries we need
to include the pixmap screen offset on a Composited desktop.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
These still get used (see Wine and Swing) by applications which like to
do "crisp" 1-bit rendering on the client side and then put onto the
scanout. So avoid the readbacks, and push them through the BLT instead. It
turns out to be faster than using fb too, bonus!
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
SHADER_CONSTANT is expected here, the other IMMEDIATES however should
have already been handled.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Another classic and utterly stupid mistake. At least I was consistent in
my error.
Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42414
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Fixes an off-by-one in the drawing of the rectangles caused by a
too-literal translation of the rectangles into boxes.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This is set in configure and redefining it later inside the C files just
leads to trouble and broken compilation.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Removes a couple of conditionals from the middle of the hotpath and on
Intel we are not realising the benefit of only utilising 16-bit values.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This reverts commit 15266e1b95.
KDE relies upon the ability to render into a sampler and then render
upon itself. Not the first sign of madness...
Will have to find another way of winning back the compwinwin
performance.
As exemplified by KDE (using Kate) on gen3, it would attempt to render a
large set of boxes using OVER and a transparent colour. As gen3 copied
across some of the BLT assumptions, it was incorrectly reducing that to
a CLEAR and thus rendering incorrectly.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
A regression from c2040fb8e6 (sna: Remove
the memset(0) of the fill op) left the flags for the source channel
uninitalised leaving the shader construction undefined and causing
visual glitches.
Reported-by: Paul Neumann <paul104x@yahoo.de>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42367
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This appeared to introduce a visual gitch into the xfce4 selection box
on gen6 at least.
References: https://bugs.freedesktop.org/show_bug.cgi?id=42367
Reported-by: Paul Neumann <paul104x@yahoo.de>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
A box of height/width 1 and lineWidth 0 can also be drawn with a single
box as the far edge is contiguous with far side of the near edge.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Make sure the line is clipped to the current clip box and discard if the
clip is reduced to nothing.
References: https://bugs.freedesktop.org/show_bug.cgi?id=42361
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Attempt to retire an active buffer into the inactive cache before giving
up and creating a new buffer.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
As we already know the extents and that this is a candidate for
GPU-acceleration, we can skip over those steps and emit the tiled rects.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>