Well, here it is (finally!). Lots of changes in this release (see below for the shortlog & download URLs). We planned several things for this release: 1) usable EXA support 2) support for GEM (if supported by the currently running kernel) 3) support for kernel mode setting (again, if the underlying kernel supports it) 4) no more video tearing with textured video & XvMC 5) Bug fixing 6) removal of XAA code
Item (4) was the main thing we missed this time (Nanhai has been working flat out to get MPEG2 offload working so we didn't get a chance to try different approaches for vblank sync'ing). I think the real fix here will be DRI2, which should allow us to run compositing managers in DRI mode, with real vblank sync'ing for all their drawing. Also, I didn't follow through with my threat to remove XAA, even though EXA improved significantly this time around (especially with post-1.5 X servers). The blocker list was almost completely cleared out. We still have a few issues (including a Sony/GM45 related problem we still don't understand), but overall all our bug fixers deserve a big thank you. GEM support is looking great now, and is now in upstream Linux, so should be part of the 2.6.28 release. Kernel mode setting support is also included, though the kernel bits aren't queued up yet. Small patches will be needed when it finally lands upstream, mainly for mapping pixmaps through the GTT for better fallback handling. This release also includes UXA, a new acceleration architecture Keith put together specifically for UMA machines. It does its own pixmap management, but as a result really wants the same sort of GTT mapping interface that we need for kernel mode setting. I'm hoping to have that fixed up this week (again this means small patches on top of 2.5.0 to get good performance). This release requires libdrm 2.4.0 which was recently released, but should work on both GEM and non-GEM enabled kernels. It should also build & work against old X servers (theoretically going back to 1.3 I think, but I haven't tested that configuration recently). So please pull this release down and give it a try. As usual, report bugs to bugs.freedesktop.org and use xorg@ and intel-gfx@ for questions and development discussion. Thanks, Jesse Adam Jackson (2): Don't touch pScrn->monitor->DDC directly. Fix Mac mini crash in DDC mode probe Alan Coopersmith (1): Man page typo fixes Bryce Harrington (1): Add TV out quirk for HP Compaq nx6110 Carl Worth (17): Move VERTEX_BUFFERS setup from prepare_composite to composite Allow for multiple vertex buffers (though only use one for now) Use up to 256 separate vertex buffers Add intel_statuspage to .gitignore Add OUT_RELOC macro and backing intel_batch_emit_reloc function Switch to using a buffer object for the vertex buffer Eliminate unnecessary flush from i965_composite Add call to intel_bufmgr_gem_enable_reuse Call DRM_I915_GEM_THROTTLE from I830BlockHandler Examine picture repeatType as well as repeat field. Add support for RepeatPad and RepeatReflect. Prefer repeatType field over using both repeat and repeatType. Fallback to software for RepeatNone with transformed RGB-only pictures. Revert "Fallback to software for RepeatNone with transformed RGB-only pictures." Rename default_color to border_color Document and use 'legacy' border color mode Disable frame buffer compression by default for GM965. Daniel Stone (1): i830: Fix timer leak Dave Airlie (3): [gem] remove one more unused bit intel: fix drm check. mode: fix missing comma David Schleef (1): Bug #17277: fix upscaling limit Eamon Walsh (2): Remove unused exa_pixmap_key. Change uxa private keys to integer variables. Eric Anholt (48): Add initial GEM hacks to bring the server up. [gem] Reduce console spam from debugging. [gem] Note if pinning a buffer fails. Add a little program to dump out the first 64 dwords of the status page. Use batchbuffers instead of ring emits for general commands. Avoid needless flush emits in the blockhandler. Use the DRM for submitting batchbuffers when available. Change most usage of pixmap offsets to using a reloc macro. Use bufmgr_gem when available instead of the fake bufmgr. [gem] Don't set up the ring in GEM mode, as that'll be handled by the kernel. [gem] Chase move of create ioctl from generic to device-specific. Require libdrm 2.4.0 always since we need the bufmgr code. [gem] Catch -EINTR from blocking GEM ioctl and restart. Add little hotplug detector app. Remove VGA regs from debug output. Add DisplayPort registers. Initial HDMI work. Not currently hooked up at startup. The phase shift its are now reserved, and add HDMI clock limits. Add pixel multiplier support for HDMI Set the sync active bits like we're supposed to, matching the BIOS. Get HDMI output working. Fix hdmi POSTING_READ to use the register number instead of the register value. Automatically detect the presence of HDMI. Fix a crash in i830_sdvo_init error paths by setting up dev_priv earlier. Set tiling state for buffers allocated using GEM. Fix DSPARB setting on 845/865, which have only the AEND field and 96 entries. Bump version number past the 2.4 stable branch. Get prototype for i830_bios_get_tv(). Fix uninitialized-use warning in i830_debug.c ring dumping. Fix distcheck. Don't set up the HWS page in GEM mode now that the kernel manages it. intel-gem: Give a better error message if the kernel rejects the tiling mode. intel-gem: Use new getparam to detect kernel GEM support. intel_idle: Instead if #if 0, add an ignore flag for unreliable INSTDONE bits. Set lvds_ddc_mode before use to avoid a segfault on mac mini. Add some MCHBAR registers for debugging tile swizzling issues. Bug #17446: Don't try to manage IRQs in GEM mode. Track move of bufmgr functions to libdrm_intel. Track the move of irq emit/wait to fake bufmgr. Track move of exec to bufmgr, and restoration of emit/wait funcs for non-drm. Work around libpciaccess reporting a 0 rom size by guessing. Add support for RepeatPad and RepeatReflect to 915 and 830-class Render accel. Fix bios_reader build against old servers. Fix driver build against server 1.4.2. Add a GTT dumper for G4x debugging. Fix broken stolen memory counting on G4X. Remove gratuitous flushing in EXA after solid operations. Enable Option "Legacy3D" for 965 as well, and clarify both the docs and code. Fabio (1): Man page patch to clarify meaning of VideoRam option with i810/i815 Hong Liu (1): Fix SDVO HDMI output. Jesse Barnes (60): Add support for keeping vblank counters sane across mode setting Fix back buffer damage handler for 965+ chips Remove ErrorF debugging from modeset ioctl Add pipe a force enable quirk for Lenovo T60 Add pipea force enable quirk for HP Pavilion ze4944ea Improve FBC size checking Improve VBIOS feature detection, add SSC support Add VBIOS based TV connector detection Don't disable pipe A on 855 chips Choose a split for DSPARB based on the configured modes for both planes. Add no LVDS quirk for Transtec Senyo 610 mini PC Update DSPARB while planes are still off Update man page Reorganize VBIOS code Revert "Switch to using a buffer object for the vertex buffer" Initial port of kernel modesetting from old intel-kernelmode branch Make it actually build the kernel stuff if possible Add EXA pixmap management functions for kernel mode setting Update DRM based modesetting support Don't wait for ring if kernel mode setting is active Don't run old accel init code Don't set tiling (yet) if kernel mode setting is active Map gen4 render state buffer before initializing Make EXA & UXA share bo getting function Use pwrite for cursor updates Fixup AccelMethod kernel mode setting code Map/unmap render state only when bo is available Fix pipe A force quirk Remove last TTM bits Pack bdb_general_definitions block Remove unused VBIOS flag defines Add VBIOS software flags dumper program Add quirk for pre-915s with working PFIT regs Bail out if kernel mode setting is active but DRI fails Don't allocate EXA offscreen space if kernel mode setting is active Use GTT mapping for EXA PrepareAccess function Add swf_dumper to .gitignore Add more panel debugging info to register dump & vbios reader Don't allocate a pipe for hotplug detection Don't disable planes in i830_update_dsparb Fix compiler warnings in VBIOS utils Hide kernel mode setting EXA code behind XF86DRM_MODE Update version to post-2.5 Update version to 2.4.97 for first 2.5 test release Fix UXA build for distcheck Fix UXA build for distcheck Fix build when using kernel DRM headers Only BO map render state if kernel mode setting is active Add Cappuccino SlimPRO SP625F to no LVDS quirks list Add no TV out quirk for HP Compaq nx6110 Revert "Add no TV out quirk for HP Compaq nx6110" Update supported hardware list Work around gcc uninitialized variable warnings Use -Werror by default Use VBT LFP info pointers by default Be more verbose about panel data in VBIOS dumper Revert "Use -Werror by default" Document more VBIOS functionality Update version to 2.4.98 for 2.5.0 release candidate Bump version to 2.5.0 for release Julien Cristau (6): Fix gen4asm rule to work with a build dir Link the driver with -lpciaccess and -ldrm if needed Link with -lm for sin/cos Fix up the HP Pavilion ze4944ea quirk Don't skip the checks for DRI headers with --enable-dri Typo fix Keith Packard (31): Set pin alignment for gem on non-965 Use GEM for buffer naming now. Fix up ring dumping code for non-i965 Move a declaration under #ifndef HAVE_FREE_SHADOW Record alignment requirements in mem structure for use by GEM. Track name changes in GEM ioctls. Add check for GEM, use that to enable driver GEM support Remove some unreliable regs for i915 Flush pending batch in block handler Add UXA - the unified memory acceleration architecture. Make EXA functions work for UXA as well Don't call sync on prepare_access -- just let the driver deal with it. Use dri_bo for all object allocations, including pixmaps under uxa Add throttling Add batch flush in i830_uxa_prepare_access Change PrepareAccess to take access mode rather than index Rename uxa using _ instead of caps Use EXA by default instead of UXA until we have GTT mapping [uxa] Check xalloc returns and deal with failure [uxa] Remove unused pixmap size limits. Use uintptr_t instead of uint64_t to hold pointer value Eliminate INT10 call to get BIOS contents i830 nondrm batch buffer insertion was missing ADVANCE_LP_RING() call For non-DRM, add NOOPs after BATCH_BUFFER_START to verify completion XAA tiling support was mis-computing adjusted pitch (>>4 instead of >>2) Handle differently tiled front/back/depth/third in DRI window management Check for DRI module before initializing GEM mm Remove accidental 'return;' left at the top of I830DRIInitBuffers No need to check for drmCommandWriteRead; we link against libdrm Reduce incidence of MI_FLUSH usage. Use pipes, not planes for sarea geometry data Lukas Hejtmanek (1): Fix driver build against server master. Olivier Fourdan (3): Apply pipe A quirk to 845 as well. Fix DPMS off in the presence of the pipe A quirk. Fix ordering of VGA vs. plane disable Robert Noland (2): Check for drm before calling modeset ioctl. Fix typo in last commit Roland Test-tools Bär (1): i810: Remove an effectively unused variable (only used in an incorrect free()) Shaohua Li (1): avoid duplicate mode set in lvds Shuang He (1): Fix a typo in G965 texture video code Stefan Dirsch (2): Add pipea force enable quirk for another 855GM machine. Pipe A force quirk for Toshiba Satellite A30. Tomas Carnecky (1): Reorder visuals reported by the intel driver Xiang, Haihao (4): Put back check for pI830->hw_status in setting hws in non-GEM mode. Move bufmgr init earlier so it's available at I830DRIDoMappings time. Put back check for pI830->hw_status in setting hws in non-GEM mode. Move bufmgr init earlier so it's available at I830DRIDoMappings time. Zhenyu Wang (48): Add support for Intel 4 series chipsets. Add backlight kernel method support on Asus and Eeepc xvmc: formalize surface type definition xvmc: environ debug option support xvmc: init one-time mc context once xvmc: init dest and reference buffer once xvmc: init mc render load indirect command once xvmc: only allocate memory requiring physical address on 915G xvmc: enlarge batch buffer size xvmc: Don't copy on xvmc surface in PutImage xvmc: fix motion_type dump for frame/field picture Fix SDVOC typo Give asus and eeepc backlight method higher priority Fix official name for GM45 chipset move FBC register dump out of display registers xvmc: use vector based structure Only initialize integrated TV encoder for mobile chips Thinkpad R60e TV quirk via DMI info Check underrun on enabled pipe SSC is LVDS only only check pipe underrun if vtSema is true. Bug #16801: fix X crash when NoAccel on 965 Fix HDMI output number Fix distcheck for clean doltcompile shut up gcc warning Don't program dsparb on new Intel chip Fix SDVO reg definition Fix SDVO HDMI encoding detect (#16920) Disable display clock gating for 4 series chips Fix possible spurious interrupts in hotplug detect on 4 series chip Make skip_panel_detect clear for its meaning Always check and free driver private in LVDS destroy Fix reverted LVDS bios capability dword definition Destroy bufmgr after allocation finish Fix X exit crash in NoAccel Disable render standby Add support for G41 chipset Check display stride limit when allocate front buffer Fix output detection for DVI-I Bug #16515: Fix VT switch with DVI on G45 Do force CRT detect sequence twice on 4 series chipset Render register clock gating disable fix on 4 series chipset Bug #16631: add option for SDVO force detect Put forware VBIOS data parsing Remove Lenovo T61 TV quirk Bug #17892: Fix possible crash in CRT probe Make GTT dumper work on other 9XX chips Don't handle irq in GEM mode Zou Nan hai (1): Fix from He Shuang([EMAIL PROTECTED]), lipeng (1): Fix GPIO pin usage for DDC on second HDMI port. git tag: xf86-video-intel-2.5.0 http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.5.0.tar.bz2 MD5: 462f205bd47766265246cc39801b75e7 xf86-video-intel-2.5.0.tar.bz2 SHA1: 081709117a665af9d9f0339b58a298b8a7c786f8 xf86-video-intel-2.5.0.tar.bz2 http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.5.0.tar.gz MD5: 3d5f44ee1d60cfa88881a18c81c766c3 xf86-video-intel-2.5.0.tar.gz SHA1: e5eec7e2ad72ff4333d38de56dd4b46dbec6f51d xf86-video-intel-2.5.0.tar.gz _______________________________________________ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg