summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-06-07Properly align framebuffer height for tiling.2.10Eric Anholt
This is a simple patch to avoid cherry-picking all of b5c9de10ba3a811f312e622b97ee5e601bd3b74f.
2010-02-24Extract pixel value for all formats to avoid hitting fallbacks.Chris Wilson
On failing to extract the pixel value for an alpha-only solid we actually triggered a fallback. Since this path is commonly hitting whilst fading in images, for example cairo_paint_with_alpha(), the fallback was detected during the Moblin boot sequence where it was adding a second to the overall boot time. See fallback intel: Moblin startup is hitting a composite fallback, costing a ton of performance https://bugs.freedesktop.org/show_bug.cgi?id=26189 Based on the initial patch by Arjan van de Van. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit 197cb08a2d54cabbfe97454d7db85cfe1f5f27ba)
2010-01-04configure.ac: Bump version to 2.10.0.2.10.0Carl Worth
In preparation for the 2.10.0 release.
2010-01-04NEWS: Add final release notes for the 2.10.0 release.Carl Worth
Mentioning that it's functionally identical to our most recent release candidate.
2010-01-04Take note for Pineview support in README and manpageZhenyu Wang
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2010-01-04man page: Remove section describing BACKLIGHT_CONTROL property.Carl Worth
This apparently no longer exists in a KMS world, so remove it from the documentation.
2010-01-04man page: Rename PANEL_FITTING to "scaling mode".Carl Worth
The old UMS name was PANEL_FITTING while the new KMS name is "scaling mode". Fixes bug #25606.
2010-01-04man page: Add additional indentation for some output configuration options.Carl Worth
The BACKLIGHT_CONTROL and PANEL_FITTING options appear in a list, and then each contain a sub-list of sub-options. Use indentation to make this structure more apparent to the reader.
2009-12-28configure.ac: use backticks rather than $() for cmd subsGaetan Nadon
Use "$PKG_CONFIG" rather than hard coded "pkg-config" Acked-by: Dan Nicholson <dbn.lists@gmail.com> Acked-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2009-12-10Update version to 2.9.99.902.2.9.99.902Carl Worth
For the second release-candidate snapshot in preparation for 2.10.
2009-12-10NEWS: Add notes for 2.9.99.902 (and preliminary notes for 2.10)Carl Worth
This comes from my cursory glance over the commit log from 2.9.1 to master.
2009-12-10Document the DebugFlushBatches, DebugFlushCaches, and DebugWait options.Carl Worth
These were added in 3c0815abf28744e215bea286e71d935cd486955a . The documentation added here comes straight from that commit message.
2009-12-10Fix compiler warning in i830_copy_video_data() if XvMC is disabledTobias Doerffel
The variable "intel" is unused when building i830_video.c without XvMC support which results in a compiler warning: i830_video.c: In function 'i830_copy_video_data': i830_video.c:1443: warning: unused variable `intel' Trivial fix via #ifdef.
2009-12-10Xv: enable drmmode overlayDaniel Vetter
Now that libdrm 2.4.16 is released (and already required) we can unconditionally enable this. Please add something like this to the release-notes/NEWS file: * Overlay support for kernel modesetting. This needs at least kernel v2.6.33 to work. A backport to 2.6.32 is available at: http://gitorious.org/daniel-s-linux-stuff/linux-kernel/commits/intel-kms-overlay-for-2.6.32 Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2009-12-10Revert "uxa-glyphs: Enable TILING_X on glyph caches."Chris Wilson
This reverts commit 3f11bbec420080151406c203af292e55177e77d1. For unknown reasons, enabling tiling for the glyph cache is causing glyph corruption both across suspend and resume and VT switching, on a wide range of chipsets (reports include both i8xx and gm45) This strongly suggests that we are handling tiling, or updates to tiled buffers, incorrectly across i915_gem_idle(). However, until we can find the root cause, we want to fix this regression before the next stable release, so simply revert this patch. :( Fixes: [Bug 25406] fonts garbled after resuming from suspend since 6729b508 http://bugs.freedesktop.org/show_bug.cgi?id=25406 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-08i965: Only use the affine kernels if both src and mask are affineChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-08i965: Set src_filter before testing.Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-08Assert that we only call OUT_BATCH() inside a BATCHChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-08i965: Maximum number of vertices per composite is 24, not 18Chris Wilson
Beware the potential buffer overflow. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-07uxa: Cache solid fills.Chris Wilson
Maintain a small cache of pixmaps to hold SolidFill pictures. Currently we create a pixmap the size of the damaged region and fill that using pixman before downloading it to the GPU and compositing. Needless to say this is extremely expensive compared to simply emitting the solid colour. To mitigate this cost, we maintain a small cache of 1x1R pictures which is recognised by the driver as being a solid, but at the very least is maintained as a GPU ready pixmap. This gives a good boost to cairo-xcb (which uses solid fills) on a gm45: Before: gnome-terminal-vim: 41.9s After: gnome-terminal-vim: 31.7s Compare with using a cache of 1x1R pixmaps in cairo-xcb: gnome-terminal-vim: 31.6s Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-07batch: Ensure we send a MI_FLUSH in the block handler for TFPChris Wilson
This should restore the previous level of synchronisation between textures and pixmaps, but *does not* guarantee that a texture will be flushed before use. tfp should be fixed so that the ddx can submit the batch if required to flush the pixmap. A side-effect of this patch is to rename intel_batch_flush() to intel_batch_submit() to reduce the confusion of executing a batch buffer with that of emitting a MI_FLUSH. Should fix the remaining rendering corruption involving tfp [inc compiz]: Bug 25431 [i915 bisected] piglit/texturing_tfp regressed http://bugs.freedesktop.org/show_bug.cgi?id=25431 Bug 25481 Wrong cursor format and cursor blink rate with compiz enabled http://bugs.freedesktop.org/show_bug.cgi?id=25481 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-04intel: And remember to flush the batch...Chris Wilson
In commit 98e11210 Remove flush parameter from intel_batch_flush() Maxi spotted that I had broken screen updating. It appears in my haste to eliminate the extra parameter I removed a call to intel_batch_flush() when throttling, i.e. when pushing the updates to the screen before idling. Should fix: Bug 25409 [bisected] rendering corruption since a938673e https://bugs.freedesktop.org/show_bug.cgi?id=25409 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-03Require libdrm 2.4.16Kristian Høgsberg
Needed for drmGetDeviceNameFromFd().
2009-12-02Update man page to reflect currently available optionsJesse Barnes
Many have been removed or are obsolete now that UMS is gone. And some are only available on i810/i815 or i830+, so move them to the appropriate section. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-12-02batch: Downgrade batch submission from a FatalError.Chris Wilson
If we wedge the GPU then we will return -EIO for the current batch and then attempt to reset the GPU. Meanwhile the X server detects the error, throws a FatalError and to all intents and purposes appears to crash to the user - whereas before it often just appeared to momentarily freeze. Of course, on older hardware the server remains frozen until we can find a way to reset those GPUs at runtime. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-02Remove flush parameter from intel_batch_flush()Chris Wilson
There is only a single caller that wishes to forcibly append a flush into the batch: intel_sync(). So move the logic there. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-02Rename I830Sync() to intel_sync()Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-02batch: Avoid flushing a NULL batchChris Wilson
During shutdown from a FatalError during batchbuffer submission, it is possible for the batch_ptr to be NULL, so we must be careful not to append a flush on this error path. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-02uxa_check_composite: Minor whitespace.Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-02uxa_prepare_access() don't force a flush.Chris Wilson
Only the kernel knows whether the mapping requires a flush, so do not preempt it. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-02Review use of errno after libdrm callChris Wilson
Since drm may not actually set the appropriate errno after a failure, we must use the return code instead when determining the cause of failure. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-02uxa: Review uxa_prepare_access() to remove potential nestingChris Wilson
Around a call to uxa_put_image() it is possible to mix both accelerated and fallback paths, with the fallback code making the presumed optimisation of only trying to call uxa_prepare_access() once. This fails if the accelerated path also uses prepare/finish access on the same drawable and then later fallback to the fallback path. This can happen currently if an error is reported whilst attempting to accelerate PutImage. #0 memcpy () at ../sysdeps/x86_64/memcpy.S:162 #1 0x00007ffff43ce4bd in fbBlt (srcLine=<value optimized out>, srcStride=40, srcX=<value optimized out>, dstLine=0xffffffffffffffff, dstStride=64, dstX=0, width=<value optimized out>, height=8, alu=3, pm=4294967295, bpp=8, reverse=0, upsidedown=0) at fbblt.c:93 #2 0x00007ffff43ce740 in fbBltStip (src=0xffffffffffffffff, srcStride=156555204, srcX=34, dst=0xfffffffc, dstStride=64, dstX=40, width=304, height=8, alu=3, pm=4294967295, bpp=8) at fbblt.c:944 #3 0x00007ffff4c32c53 in uxa_do_put_image (pDrawable=0x246aa410, pGC=0x2c0a4f0, depth=8, x=0, y=0, w=38, h=8, leftPad=0, format=2, bits=0x954d7c4 "") at uxa-accel.c:196 #4 uxa_do_shm_put_image (pDrawable=0x246aa410, pGC=0x2c0a4f0, depth=8, x=0, y=0, w=38, h=8, leftPad=0, format=2, bits=0x954d7c4 "") at uxa-accel.c:223 #5 uxa_put_image (pDrawable=0x246aa410, pGC=0x2c0a4f0, depth=8, x=0, y=0, w=38, h=8, leftPad=0, format=2, bits=0x954d7c4 "") at uxa-accel.c:289 #6 0x00000000004d574f in damagePutImage (pDrawable=0x246aa410, pGC=0x2c0a4f0, depth=8, x=0, y=0, w=38, h=8, leftPad=0, format=2, pImage=0x954d7c4 "") at damage.c:905 #7 0x00000000004287db in ProcPutImage (client=0x47ca72d0) at dispatch.c:2073 #8 0x000000000042bd94 in Dispatch () at dispatch.c:445 #9 0x000000000042513a in main (argc=4, argv=0x7fffffffe2a8, envp=<value optimized out>) at main.c:285 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-02i830: Simplify prepare_access / finish_accessChris Wilson
Reduce the 3 conditions into the 2 distinct cases. This has the secondary benefit of also distinguishing between the reported errors. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-01uxa: Don't treat prepare_access as a flush synchronisation point.Chris Wilson
The kernel will only emit a flush iff the buffer is currently owned by the GPU. Instead of presuming that the kernel must emit a flush, it is safer to assume that it does not and so cannot mapping the buffer on to the CPU as a synchronisation point. The most obvious counter-example is when we map the same buffer twice without using it in a batch. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-30Add i830_bios.h and i830_display.h to EXTRA_DIST.2.9.99.901Carl Worth
These files have been dropped from the generated tar file since the removal of UMS support. However, the bios_reader code still includes these, so "make distcheck" fails unless these are distributed. There's probably a cleaner fix possible, but this at least fixes the build so that the snapshot can be pushed out.
2009-11-30NEWS: Note that the driver now has a hard dependency on KMS.Carl Worth
Since the UMS code has all been removed.
2009-11-30configure.ac: Bump version to 2.9.99.901.Carl Worth
In preparation for a new snapshot.
2009-11-30NEWS: Add generic notes for the 2.9.99.901 snapshot.Carl Worth
We plan to collect real release notes before the 2.10.0 release.
2009-11-30uxa: Limit maximum size of tiled objectsChris Wilson
On older chipsets (i.e. pre-i965) tiling is very restrictive and imposes severe size and alignment constraints. Combine that with relatively small apertures and it is very easy to create a batch buffer that cannot be mapped into the aperture (but would otherwise fit based purely on total object size). To prevent this we need to not use tiling for large buffers (the very same buffers where tiling would be of most benefit!). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-30video-intel: remove i2c_vid.h from src/Makefile.amGaetan Nadon
make dist failed due to missing i2c_vid.h Commit b9b159c49854d8d9d2207946bb583537bb0d48d6 Remove UMS support. The above commit did not remove this header file from the makefile. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2009-11-30uxa: Initialise lists for private pixmap structure.Chris Wilson
When updating a buffer object for the framebuffer, we may need to allocate a fresh pixmap private structure, for example if the pixmap is replaced due to resize. When doing so it is then imperative to initialise the circularly linked lists correctly. Should fix the fault: #0 i830_set_pixmap_bo (pixmap=0x24ab380, bo=0x24ab780) at i830_uxa.c:524 #1 0x00007f8615c629fd in drmmode_xf86crtc_resize (scrn=0x247a320, width=1280, height=800) at drmmode_display.c:1345 #2 0x000000000051246c in xf86RandR12ScreenSetSize (pScreen=0x24824f0, width=<value optimized out>, height=<value optimized out>, mmWidth=<value optimized out>, mmHeight=<value optimized out>) at xf86RandR12.c:709 #3 0x0000000000512aa8 in xf86RandR12CreateScreenResources (pScreen=<value optimized out>) at xf86RandR12.c:839 #4 0x0000000000514ec0 in xf86CrtcCreateScreenResources (screen=0x24824f0) at xf86Crtc.c:727 #5 0x0000000000424fb3 in main (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>) at main.c:215 as reported by 'buscher'. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-30uxa: Remove cache flush for copyChris Wilson
As the copy uses the 2D blitter, it uses the render cache so the source should not require flushing if it has previously been used as a destination. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-30Use new drmGetDeviceNameFromFd() for mapping to drm device nameKristian Høgsberg
Should have been in libdrm to begin with.
2009-11-30i915: Disable centre-point sampling.Chris Wilson
I still have no idea how this is triggering failures, but it is. So revert until the problem is solved. Should fix once again: Bug 23803 [bisected i915] gnome characters disappear http://bugs.freedesktop.org/show_bug.cgi?id=23803 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-30i915: WhitespaceChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-30debug: Enable dumping of batchbuffer [compile-time only]Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-30i915: Remove routing of alpha channel to green.Chris Wilson
This modification is redundant since the routing is done in the blend unit anyway. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-30i915: Fix missing texture offset for mask.Chris Wilson
In commit e581ceb, I modified the shader generation to accommodate mixed textures and solids but missed applying the new computed sampler for the mask. References: Bug 23803 [bisected i915] gnome characters disappear http://bugs.freedesktop.org/show_bug.cgi?id=23803 Bug 25031 rendering and color corruption since 14109abf http://bugs.freedesktop.org/show_bug.cgi?id=25031 Bug 25047 [945GM bisected] rendercheck/repeat/triangles regressed http://bugs.freedesktop.org/show_bug.cgi?id=25047 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-30debug: Don't always flush the batch when emitting a debugging flushChris Wilson
I incorrectly changed the logic in 285f286 and caused the batch to always be flushed when debugging, instead of merely inserting a MI_FLUSH between operations. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-30overlay: Fix build after 646b4a9483Chris Wilson
The compile cleanup was not without fault... Apparently I don't have XVMC enabled anymore and so missed that this variable is actually used. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>