Double check that the maximum access size computed from the bo
parameters is within the allocated size for the bo.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The danger now is that we may have either discarded the shadow pixels or
have replaced them with a GTT mapping, either way undesirable and so we
should reconstruct the shadow mapping.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
As the font is kept around and reused after UnrealizeFont, we need to
nullify the pointer to our private data in order to prevent the later
use-after-free.
Reported-by: Peter Jordan
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
As we only enter that path for singular unbounded boxes, we are
guaranteed to fill the entire trapezoid extents and so do not need the
unbounded fixup the assertion was fretting about.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
We need to do this apparently or else we never perform the VT switch.
However, we can not do it too early, especially not before we have
finished intialising the outputs.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47395
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
In some cases off-screen is stil visible, for example under a rotation.
As such xrandr -o left; glxgears -fullscreen was broken.
Reported-by: Phillip Haddad <phillip.haddad@gmail.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Mark vertical edges with dy==0 to reduce structure size and reduce
memory load during edge walking.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
As the extraction routine is now smarter and can construction
subsurfaces without copying we do not need to force tiling.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The compiler presumes that the uint64_t write is naturally aligned and
so may emit code that crashes with an unaligned moved. To workaround
this, make sure the write is so aligned.
References: https://bugs.freedesktop.org/show_bug.cgi?id=47418
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Confusion reigns between using the backing pixmap for the drawable for
the front buffer, and a fake pixmap for the auxiliary buffers.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
So that we do not keep a stale references of the last cached pixmap
across server regeneration (or shutdown).
Reported-by: Thierry Reding <thierry.reding@avionic-design.de>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47357
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
If we choose not to use the CPU bo for the upload (because we fear the
subsequent synchronisation cost), we need to fixup the shadow pointer
before dereferencing it.
On the move-to-cpu side, the fixup is already performed as we will need
to access the shadow pixels for the subsequent drawing operation.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
When the user passes extra CFLAGS and CPPFLAGS to the configure script,
they should be kept when performing subsequent checks with additional
flags. This is required to properly build in cross-compilation setups
where the user may pass in flags like --sysroot in order to pick up the
cross-built dependencies.
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
I was getting too carried with my reductions. However, IN over a
clear surface is a no-op, though unlikely!
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
As we may reduce a damage to empty along the migration paths and not
detect that reduced damage till later, handle those scenarios rather
asserting.
References: https://bugs.freedesktop.org/show_bug.cgi?42426
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
As these do not follow the normal rules of damage tracking, we have to
be careful not to force migration.
References: https://bugs.freedesktop.org/show_bug.cgi?id=42426
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>