summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-10-01sna/gen2: Clear STIPPLE setup before rendering with the 3D pipelineChris Wilson
One over-zealous removal too many. Reported-by: Timo Kamph <timo@kamph.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55455 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-30sna/dri: Check back/front buffers of a pixmap for format changeChris Wilson
Highly unlikely. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-30sna: Cache repeated use of the temporary CPU mapping for tiled_x uploadsChris Wilson
Fixes ShmPutImage regression under gnome-shell Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-30sna/dri: Only chain to a triple buffer pageflip sequenceChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-30sna/dri: Improve handling of async/sync pageflip transitionChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-30sna: Make sure the CPU bo is destroyed if we fail to mmap it during allocChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-30sna: set_cacheing returns a bool not an error-codeChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-29sna/dri: Swallow error from GetMSCChris Wilson
Just ignore the error return from WaitVBlank and make up a value for last MSC/SBC similar to an unattached Drawable. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55395 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-29sna: Release the front buffer and drop DRM master early during shutdownChris Wilson
If we delay the dropping of DRM master we may complete a VT switch before we are ready and so prevent a second X server from reacquiring master, and dying. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55446 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-292.20.9 release2.20.9Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-29uxa: Only destroy the bufmgr if it existsChris Wilson
Be wary in case the Screen is destroy before we initialise bufmgr. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-28sna: Restore LLC cache level after using a buffer for scanout (uncached)Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27sna/dri: Improve handling of flipping with no outputsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27sna: Attempt to restore the current mode if pipe is disabled on DPMS onChris Wilson
If we attempt to power up the pipe through a DPMS request, but it was previously disabled due to an error, first try re-enabling. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27uxa: Update mode->fb_id after completing pageflipsChris Wilson
As intel_crtc_on() depends upon the current value for determining if the pipe is active, we can only change the value afterwards. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27Remove the last couple of references to mibstoreChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27uxa: Fixup the last couple of commits after realising I didn't have uxa enabledChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27uxa: Do not attempt to pageflip whilst not masterChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27uxa: Confirm the pipe is alive before flippingChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27uxa/dri: Confirm Drawable is still attached to an active pipe before flippingChris Wilson
If we schedule a flip to happen on a far distant vblank, it is possible for us to disable the pipes with a modeset, whilst maintaining the fb size, or with a DPMS command. If the pipe is disabled and we still try to flip, then we trigger an EINVAL error from the kernel. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-26sna: Typo in DBGChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-26Kill mibstore pretend backwards compatibilityChris Wilson
Adam Jackson was kind enough to point out that mibstore had been a no-op since xorg-1.4 and the earliest we claim to support is xorg-1.6. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-26sna/video: Force integer promotion to avoid u16 overflow for frame sizeChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-26sna/dri: Handle pending flips when drawable disappears.Chris Wilson
The async case needs special handling as the current front buffer may be pending a flip onto the scanout which needs to be completed even if the Drawable is destroyed. Fixes regression from commit ad877abdc70b842afd202b2f97892d97a0b8d151 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sat Jul 7 17:48:52 2012 +0100 sna/dri: Attach the chain of frame events to the Window, not pixmap Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-26uxa: Prevent attempting to call intel_mode_fini() before PreInit runsChris Wilson
In the Ubuntu xserver it is apparently possible for the Screen to be deleted prior to being fully initialised. Make sure we don't crash in that situation! Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55346 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-25sna/gen5: Add WA referenceChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-25sna: Make sure the batch is flushed before setting DPMSChris Wilson
Just in case on the off-chance that the kernel modifies the pipe and we had a pipe-dependent operation in the batch. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-25sna: Accommodate changes to the Damage extension not unwrapping the GCChris Wilson
commit 4dc2a76740d921c824a4d8193f39dd373475f02a Author: Adam Jackson <ajax@redhat.com> Date: Thu Sep 20 17:57:00 2012 -0400 miext/damage: Only wrap into the GC ops chain if there's a listener (v3) leaves the GC->funcs still pointing to the damage layer as it calls into the driver functions, so we need to be careful to restore the correct function table after we manipulate the GC for fallbacks. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-25Add miInitializeBackingStore() to compat-api.hChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-25sna: Remove unused reference to mibstore.h, removed in future XorgChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-25sna/dri: Fixup a DBG statement not to print gibberishChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-23sna: Check against op->dst.bo rather than priv->cpu_bo for composite uploadChris Wilson
In this case, we may also be handling an unattached pixmap, so avoid the deferences of the sna_pixmap unless we are sure it will exist. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-23sna: Check that the CPU bo exists before declaring it is busy along uploadChris Wilson
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55251 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-23Silence a couple of potential compiler warningsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-23Allow compilation of a separate i810 driverChris Wilson
Allow --enable-ums-only as a counter-option to --enable-kms-only in case the distribution wishes to enable a non-root KMS driver but also offer a separate UMS driver for i81x. On the second pass, use "--enable-ums-only --disable-uxa --disable-sna" to get the trimmed down unaccelerated i810 support. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-23sna: Avoid overflows when translating the box16 extents during a copyChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-23sna: Add missing protection against int16 overflow when copyingChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-23Reorder INTEL_XVMC define so that we pick up Option "XvMC"Chris Wilson
Otherwise it will remain disabled. Reported-by: Giacomo Comes <comes@naic.edu> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-22sna: Force the stall before trying to upload into a busy CPU boChris Wilson
Under the circumstances where we can not instead stream the write into the GPU bo, we need to use the busy CPU bo. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54978 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-21sna: Force an inplace upload if already wedgedChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-21sna: Do not query for the NULL edid propertyChris Wilson
If the EDID blob id is set to 0, that means that it does not exist and so we can safely skip it. References: https://bugs.freedesktop.org/show_bug.cgi?id=55193 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-21sna: Use inplace X tiling for LLC uploadsChris Wilson
Based on a suggestion by Chad Versace (taken from a patch for mesa). This allows for a faster upload of pixel data through a ShmImage, or for complete replacement of a GPU bo. Using a modified version of x11perf to upload to a pixmap rather than scanout on an IVB i7-3720qm: Before: 40000000 trep @ 0.0007 msec (1410000.0/sec): ShmPutImage 10x10 square 4000000 trep @ 0.0110 msec ( 90700.0/sec): ShmPutImage 100x100 square 160000 trep @ 0.1689 msec ( 5920.0/sec): ShmPutImage 500x500 square After: 40000000 trep @ 0.0007 msec (1450000.0/sec): ShmPutImage 10x10 square 6000000 trep @ 0.0061 msec ( 164000.0/sec): ShmPutImage 100x100 square 400000 trep @ 0.1126 msec ( 8880.0/sec): ShmPutImage 500x500 square However, the real takeaway from this is that the overheads for ShmPutImage are substantial, only hitting around 70% expected efficiency, and overshadowed by PutImage, which for reference is 60000000 trep @ 0.0006 msec (1800000.0/sec): PutImage 10x10 square Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-20sna/gen3+: Trim the target extents to the CompositeClipChris Wilson
When computing the active region with of a composite operation with unknown extents we try to simply use the whole Drawable. However, this needs to be clipped otherwise it may trigger assertion failure with an offscreen pixmap. References: https://bugs.freedesktop.org/show_bug.cgi?id=55164 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-19sna/dri:Add some DBG and assertions to validate names passed back to clientsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-18sna: Add some asserts useful for tracking an xserver drawing bugChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-18sna/gen7: Add some ring switching sanity checksChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-18sna: Remove special casing of drawing depth=1 glyphsChris Wilson
It turns out that they were not so special after all, and the "fast path" was missing the important handling such as validating the GC. As a result we ended up trying to render the glyphs through a planemask of 0 and similar garbage resulting in corruption. An example given by Kaus Dittrich was the use of rotated glyphs in gnuplot. Reported-by: Klaus Dittrich Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-18sna: Check that we do not keep a GPU bo around after flushing a ShmPixmapChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-162.20.8 release2.20.8Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-15sna: Improve handling of probe failure during initialisationChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>