Age | Commit message (Collapse) | Author |
|
|
|
The new function returns the fd, not a Bool, so the error code must now
be -1.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Use drmSetMaster/drmDropMaster instead of calling the ioctls
directly. Fixes compilation on OpenBSD where these ioctls
aren't defined.
Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
|
|
Avoid having to search the device tree once again in order to simply
recover the path we used to open the device.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Calling drmDropMaster twice along the CloseScreen path is not a good
idea.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
With the split into per-swizzle functions, and with the forced
optimisation levels, it appears that i386 doesn't suffer so badly and
the tiled memcpy are a viable method.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Always enable gcc to fully optimize the core memcpy routines (provided
that optimisations are not entirely disabled, for instance for
debugging).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The inplace routine assumed that the region to be read was already in
pixmap coordinates. Making it so makes the code easier, so do it.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Rather than peppering the discard manually before the call to free the
GPU bo, always discard the COW when we actually free the GPU bo.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Refactor the CPU mapping tests to a single function, and remember to
test for a pending GPU write (i.e. bo->exec).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This helps in the cases where we have subtracted a small number of
rectangles from an all-damage pixmap (such as a number of successive
GetImage, PutImage operations). The danger is that we end up searching a
long list of dirty boxes - maybe just search the first chunk if that
becomes noticeable?
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
With the advent of the more permissive mapping schemes and finer damage
tracking, we are more liable to have pixmaps mapped and so can reach the
upload path with the pixmap still mapped.
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>
|
|
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66297
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
As the variable they were inspecting was removed, the asserts are now
breaking the debug build.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66249
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
As suggested by Arkadiusz Miskiewicz.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
If the system doesn't support O_CLOEXEC, then we simply can't use it.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Should you ever need to read back from a tiled surface and for whatever
reason do not have a CPU bo to accelerate the operation, maybe we could
use the manual tiling instead (as it is useful elsewhere).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
struct _Screen has no canDoBGNoneRoot when ABI_VIDEODRV_VERSION is less than 10.0
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
|
|
So allow it to be compiled by default for older Xorgs as well.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Be kinder to smaller machines by lowering the threshold at which treat
an object as huge and worthy of avoiding duplication.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
As we strive to only keep one copy when working with very large objects,
so try operating inplace on a mapping for CPU operations with a large
GPU bo.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This is lower latency than the double copy incurred for first moving the
bo to the CPU and then copying it back - but due to the less efficient
tiled memcpy, it has lower throughput. So x11perf -shmget500 suffers
(by about 30%) but real world applications improve by about 2x.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
To provide symmetry with the ability to write into an X-tiled mapping of
a bo, we add the memcpy_from_tiled to be able to read back from the same
bo.
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>
|
|
There are a few more circumstances where the temporary mapping is
beneficial, such as pixmaps that are only shadow copies or operations
that require reads on the destination.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The function changed it parameters, this DBG caller did not.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Use the common function so that we correctly check for pinned GPU bo,
and adjust the hints afterwards.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Due to a bug in i915.ko the gamma ramp is left uninitialised...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
When is a newline, not a newline? When it is ajar.
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>
|
|
Use the default mechanism for picking a fallback output and mode if
nothing is connected at X startup.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
After checking for user overrides (preferred output modes, rotation and
placement), copy the current CRTC configuration from the kernel into the
desired modes. This should enable X to start without introducing any extra
flicker.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Complete logic fail for finding the bounding box of the boxes to be
copied.
Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66168
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>
|
|
If the caller requires an exactly constructed bo, abandon the attempt if
we cannot set the tiling as specified.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|