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>
So that if we cache the current destination bo (for example, gen3) then
a new proxy (or even just a new batchbuffer) will indeed cause the
destination buffer to be updated.
Reported-and-tested-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48636
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
A missing factor of Y-height caused the computation of coverage for the
spans to be completely wrong. This affects the vertical segments of
rounded rectangles, for instance.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Handle (and take advantage of) the fallback at the high level rather
than masquerading an inplace write.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Currently we only move a bo with an outstanding kernel flush onto the
flushing list if it is no longer in use. This leaves us potentially
stalling on a flush if we try then to write to the object believing it
to be retired and idle.
Reported-by: Jiri Slaby <jirislaby@gmail.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=47597
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
These should be pinned by the higher layers and so we should never be
attempting to replace them. If we do replace a bo->flush, then we will
end up miscounting outstanding flush bo.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
We assert that prior to installing the fallback GCops the current ops
are the default set. This is broken if we point GCops to our GPU ops,
but then fallback. So check for the fallback first.
Reported-by: Jiri Slaby <jirislaby@gmail.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=47597
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The return type for the multipliation was only 8-bits wide dating back
to the time when the function just computed a single channel and didn't
try to blend the output back into the argb pixel value. Inlining the
shift into the function means that we need the output to be 32-bits wide
instead.
Reported-by: Jiri Slaby <jirislaby@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49887
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Fixes regression from 3aa98289e3 with clipped segments. As we clipped
the empty box rather than the segment, we never drew any outlines.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Being a little lax in not updating the format after upconversion to
PICT_a8, meant we were trying to composite with a depth 1, 8 bpp a8
image and thoroughly confusing everybody when creating the upload
trapezoid mask.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
As we instruct the migration code to drop the clear when copying from
the GPU to the CPU, we then need to emit the zeros during the span
writing.
Fixes some occassional corruption behind complex clip masks.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
More often than not we only want to consider whether we can map the bo
and decide whether doing so is the better option. Whether the bo is
already mapped is not such an issue any more with the throttling.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
As we only want to track partial buffers with asynchronous reuse,
exclude all overs from the active buffers list. Secondly, keep the list
in most-recently-used order rather than by size.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
If we have work pending for the GPU and we believe it is idle, just
submit the batch in order to improve GPU/CPU concurrency and reduce
latency.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This lead to the dropping of the last pixel for small area trapezoids,
such as the right hand outline of buttons under ClearLooks.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48320
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
After attaching the bo to the scanout, mark it as retired in order to
update its domains so that the assertion during retirement later is
correct.
Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49526
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Should fix regression from fcccc5528 (sna: Improve handling of inplace
IO for large transfers) whereby it was aborting the transfer it we need
to remap the buffer for the upload.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49546
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>