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>
As we discard the buffer after the next batch, we will lose the contents
of the pixmap. Instead discard the cache, and treat it as a normal
shadow again.
References: https://bugs.freedesktop.org/show_bug.cgi?id=42426
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This was originally split between into functions for flexibility that
nothing used, so merge the duplicated code into a common function.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The synchronisation costs overwhelm any benefit from offloading the
copy, unless we are currently streaming the updates anyway.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>