There is not point repeating the search after retiring if we know that
there is no outstanding suitable active buffer.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Trivial readibility fix, as the actual ordering is serialised through
there being only a single thread.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
If the GPU is busy, then we may not actually schedule our copy for
several vblanks, resulting in us falsely reporting that the work
completed too early and allowing the client to continue scheduling more
work and racing ahead of the queued copies.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
So that we may benefit from the caching of buffers and the automatic
selection of the preferred upload method.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
See if we have a bo that we can cheaply map to an inplace upload, rather
than rely on an existing GTT map.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Updating one CRTC may cause the kernel to turn off another, so be
paranoid and run the check in a loop after applying the CRTC set.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
We do no want to slow down the detection phase by performing our
self-tests, so only running those before initialising the driver.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
As these should be the only time that they change and we now have the
checks in place, we can drop the workaround of doing the check just
before emitting the wait.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Section "Device"
Option "AccelMethod" "uxa/glamor/sna"
EndSection
The appropriate backend must also be enabled at compile time for the
runtime option to be available (i.e. --enable-uxa (default) --enable-sna
--enable-glamor)
Demanded-by: Adam Jackson <ajax@redhat.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50290
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Unifies available options for both UXA and SNA drivers, and
moves them into a common header file, intel_opts.h.
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
So that a latter attempt to set the DesiredMode may succeed and we do
not modify the configuration without notifying clients.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
If we presume that userspace will set the correct mode shortly
afterwards, we can ignore the failure of the automatic restore.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Even after all outstanding requests have been completed we may still
have buffers on the flushing list that need to become idle.
Once such consequence would be to prevent the vblank flush from going
idle, causing spurious wakeups every vrefresh when otherwise idle.
References: https://bugs.freedesktop.org/show_bug.cgi?id=50078
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The compat header takes care of the old server vs new server.
this commit was autogenerated from util/modular/x-driver-screen-scrn-conv.sh
Signed-off-by: Dave Airlie <airlied@redhat.com>
For consistency before moving to new APIs.
This just changes the files where the API changes will touch.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Not only do we confuse ourselves, but we end up confusing the damage
tracking on the root window whenever we update the Screen Pixmap. So for
the time being, don't.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
If we attempt to change to a mode with a disabled connector the kernel
will silently switch off that connector (and crtc) and report that the
modeswitch is successful.
Reported-by: Kyle Hill <kyle.hill@tacomafia.net>
References: https://bugs.freedesktop.org/show_bug.cgi?id=50078
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>