Fixes regression with enabling 8-pixels.
Reported-by: Mehran Kholdi <semekh.dev@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53044
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This reverts commit 89e75dbcb6.
Having removed the forced stall for a RENDER self-copy there is no
longer a need to encourage ring switching.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
After reducing the number of conditions where we think we need to force
the stall on the results, we can then simplify the code to detect
that remaining case.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Avoid the cumbersome lookup through the alpha gradient texture and
simply multiply the incoming opacity value. The next step will be to
reduce the number of floats required per vertex.
Now that we have removed the primary user of the alpha solid cache, it
may be time to retire that as well.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This gives a small performance increase when operating with rectangles,
which is reasonably frequent.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This gives a small performance increase when operating with rectangles,
which is reasonably frequent.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
If we forcibly update the outputs to be on, then the core will not issue
its on DPMS event and we miss out on updating the CRTC bookkeeping in
sna_crtc_dpms(). So we need to update the flag on the CRTC as we
manipulate the outputs during modesetting.
References: https://bugs.freedesktop.org/show_bug.cgi?id=52142
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
We cannot simply ignore the presence of CPU damage with IGNORE_CPU but
must remember to discard it.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
If we are copying to ourselves, we have to regularly flush the render
cache at which point the RENDER pipeline is slower than the BLT
pipeline.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
In order to construct programs on the fly to cater for the combinatorial
number of possible shaders, we need an assembler, whilst also taking the
opportunity to remove some of the inefficiencies and mistakes from the
current shaders.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
We should be asserting at the point that we insert the invalid operation
into the batch, but asserting upon submitting the batch is a useful
failsafe.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Only warn about a hung GPU if we encounter an EIO during operation, but
don't warn if we set wedged during initialisation based on unsupported
hw or user request.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Run the risk of a GPU hang (it shouldn't endanger the entire machine
normally) and let the user elect to disable it through
Option "NoAccel" "true"
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The previous implementation is to create a new textured
pixmap based on the newly created pixmap's buffer object.
This is not efficient, as we already created it when we
call CreatePixmap. We can just exchange the underlying
texture/image buffers by calling intel_glamor_exchange_buffers().
And this commit seems also fix a weird rendering problem
when working with compiz/mutter.
Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
So that if we have a flexible WAIT_FOR_EVENT that can go on either
pipeline, we can choose our preferred pipeline for DRI.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Somewhere along the way it seems that IVB GT1 was reduced to only allow
a maximum of 48 threads, as revealed in the lastest bspecs.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52473
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Similar to how SandyBridge behaves, I had hoped that with IvyBridge they
would have made the pipelined operation actually pipelined, but alas.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52473
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This allows us to continue to map a GPU bo and operate inplace if we are
force to create a GPU bo for a compositor.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>