summaryrefslogtreecommitdiff
path: root/src/i830_driver.c
AgeCommit message (Collapse)Author
2007-07-07FBC fixes:Jesse Barnes
- allow FBC and Tiling to be forced off if configured to do so - only touch FBC registers if pI830->fb_compression is true
2007-07-06Fix tiling and fb compression defaults for 965 (not yet fully supported).Jesse Barnes
2007-07-06FBC and tiling changesJesse Barnes
- change framebuffer option name to "FramebufferCompression" - add new "Tiling" option (controls all tiling, not just front buffer) - add debug message to fb compression enable/disable routines - update man page with new options
2007-07-02Framebuffer compression changes:Jesse Barnes
- move FBC register definitions to i830_reg.h - add fix from Arjan for 965 depth buffer tiling - add VT switch and clear-at-server-start code for FBC registers
2007-07-02Enable framebuffer compression (use Option "FrameBufferCompression"Jesse Barnes
"true" in your xorg.conf). Should save ~0.5W during typical 2D usage.
2007-06-12Fix context switching between DRI and X.Eric Anholt
Now, all 3D pipeline consumers in the driver just call IntelEmitInvariantState(), which handles basic state setup, the caching of that state setup, and notifying DRI clients. This also removes a mistaken idle wait in the Render code which was papering over the brokenness in the context switching.
2007-06-05Add support for the G33, Q33, and Q35 chipsets.Wang Zhenyu
These chipsets require that the hardware status page be referenced by an offset in the GTT rather than a physical memory address, so the X Server allocates it rather than the DRM.
2007-05-31Add pci ids for 945GMEWang Zhenyu
2007-05-31Add pci ids for 965GME/GLE chipWang Zhenyu
2007-05-25Xv does not require directRenderingKeith Packard
2007-05-17Make each output control clones/crtcs. Split DVO into LVDS, TMDS, TV.Keith Packard
Move clone/crtc config into each output where it's easier to understand (no need for a switch statement in I830PrepareOutputs. Also, split DVO into three sub-types (TMDS, LVDS, TVOUT) as those have different cloning abilities.
2007-05-12Deal with i830 CRT load detection which cannot use FORCE_BORDER.Keith Packard
Chips newer than the i830 can force the border color for the active period of the screen, allowing the load detection to easily see the right data. In addition, newer chips appear to have more sensible load detection hardware which either ignores inactive periods on the screen or performs some longer-term averaging. The i830 appears to provide unfiltered samples of the detected load. For the i830, then, emit a border at the bottom of the screen and, for load detection, simply turn it purple and wait for the current line to be within the border. Sample an entire scanline, counting the number of times the load detection sees a monitor. In my testing, the presence of a monitor will cause the detection to succeed every time, while the absense will cause it to fail about 75% of the time. The code here, checks for presence at least 75% of the time, which should be adequate. Also, as the new mode configuration code has already taken care to enable the CRT output, eliminate much of the load detection code which is simply duplicating functionality from the general mode setting code. This should result in faster load detection as this code will now run in no more than one frame time. It does burn the CPU the whole time though, polling the displayed scanline register.
2007-05-02Fix typo s/i/index/ in LoadPalette for depth 16.Eric Anholt
Reported by: Haihao Xiang <haihao.xiang@intel.com>
2007-05-02Disable non-working GTT decoding on i830, and fix map/unmap of GTT.Eric Anholt
2007-05-02disable all outputs on EnterVTDave Airlie
This disables all outputs on EnterVT as the SDVO output can confuse the VGA output if the BIOS has enabled it on the same pipe but X isn't going to use the SDVO. Worked out on irc with keithp
2007-04-30Ignore VideoRam now that its original purpose is obsolete.Eric Anholt
It had been necessary to allow more than a small amount of memory to be allocated, but now those old small allocations people had configured are getting in the way.
2007-04-30Allow physical-memory allocations within stolen memory.Eric Anholt
Because stolen memory happens to be a contiguous block of high system memory, we can just read the GTT entries for it to get physical addresses for our allocations there if needed. This reduces fragmentation of the aperture space, and will often reclaim up to 7 MB of memory that had been left unused since the simplified aperture manager was put in place, but without reintroducing the complexities of the old aperture manager.
2007-04-30Disable some clock gating functions documented to work incorrectly.Eric Anholt
2007-04-19Eliminate LinearAlloc option and code.Keith Packard
With the fixes to the 2D frame buffer allocation that allows up to 65536 lines of 2D frame buffer in XAA mode, the old linear allocation hacks are no longer necessary.
2007-04-19Fix mismatching braces when XF86DRI_MM is not defined.Keith Packard
A closing brace was left inside #ifdef XF86DRI_MM while the matching open brace was outside.
2007-04-17Don't try to init the XAA linear region unless we allocated memory for it.Eric Anholt
Reported by JM Ibanez
2007-04-09Avoid a magic number and correct a (currently harmless) ifdef in ResetState().Eric Anholt
2007-04-03Move a bunch of debugging verbosity under Option "ModeDebug".Eric Anholt
2007-03-24Merge git://proxy01.pd.intel.com:9419/git/xorg/driver/xf86-video-intel into ↵Nian Wu
crestline
2007-03-23Record 3D state loss at EnterVT in last_3d value.Keith Packard
last_3d set to LAST_3D_OTHER indicates that the 3D hardware has unknown state.
2007-03-23Don't call AdjustFrame on EnterVT.Keith Packard
AdjustFrame is strictly for legacy compatibility; calling it on EnterVT wrecks crtc positions.
2007-03-20Merge branch 'master' into crestlineEric Anholt
Conflicts: src/i810_reg.h src/i830_display.c
2007-03-20Attempt to fix single/dual-channel issues on i9xx LVDS panels.Eric Anholt
- Use the existing single/dual-channel state when available, as changing it doesn't appear to work out. - Set the power state of the CLKB and B0-B3 pairs according to whether choose to go dual-channel or not. - Restore the LVDS register at the appropriate point (before DPLLs are re-programmed.
2007-03-20Merge branch 'master' of ↵Wang Zhenyu
git://proxy.ims.intel.com:9419/git/xorg/driver/xf86-video-intel into crestline Conflicts: src/i830_display.c Change LVDS output and postread like upstream. This might need to be retested on 965GM LVDS.
2007-03-17Build fix for pre-XF86DRI_MM environments.Keith Packard
Misplaced brace broke builds with older DRM libraries.
2007-03-15Fix sparse warnings about using 0 for NULL.Eric Anholt
2007-03-15Use new driver-independent CRTC-based cursor layer.Keith Packard
This eliminates all of the cursor rotation code and other cursor management infrastructure, leaving a fairly simple hardware layer in its place.
2007-03-11fixup missing assert includesDave Airlie
2007-03-09Merge remote branch 'origin/master' into i830-pageflipMichel Dänzer
2007-03-09Merge remote branch 'origin/master' into i830-pageflipMichel Dänzer
Conflicts: src/i830_dri.c
2007-03-07Bug #10157: Fix cursor corruption on server regen.Eric Anholt
2007-03-06Remove usage of 'shadow' module. Use xf86CrtcScreenInit.Keith Packard
With the new mode setting code, rotation is handled outside of the driver, so the old usage of the 'shadow' module is no longer needed. Code to initialize the crtc structures has been moved out of the driver and into the modes code.
2007-03-06Bug #9898: Fix a crash with NoAccel set.Eric Anholt
2007-03-06Remove leftover code that was disabling tiling after we set it up.Eric Anholt
2007-03-06Continue to allocate the legacy texture pool by default.Eric Anholt
This is a partial revert of 7358642e64ab6d13bc1dc1a44703ee66d715ff61 If we don't allocate it now, when the DRM version is too low there won't be any memory allocated and DRI will fail. Instead, waste the memory in the i915tex case for now, and leave fixing it right (check DRM version up front and decide which memory manager to set up) to later.
2007-03-06Fix reduced DRI memory manager size.Michel Dänzer
pI830->mmSize is in kB.
2007-03-06Merge remote branch 'origin/master' into i830-pageflipMichel Dänzer
Conflicts: src/i830_display.c src/i830_driver.c
2007-03-05Move EnterVT mode setting code to xf86SetDesiredModes.Keith Packard
Make the application of crtc desiredModes generic code instead of per-driver by creating xf86SetDesiredModes from the code that was in EnterVT and calling it. Also, move the frame buffer clear until just before mode setting to make sure things are mapped correctly.
2007-03-05Merge remote branch 'origin/master' into i830-pageflipMichel Dänzer
Conflicts: src/i830.h src/i830_dri.c src/i830_dri.h src/i830_driver.c src/i830_memory.c src/i830_xaa.c
2007-03-05Fix DRM memory manager initialization.Michel Dänzer
It takes the offset and size in pages, not bytes.
2007-03-05Merge branch 'modesetting' into crestlineEric Anholt
2007-03-05Fix handling of new vs. old texture pools.Michel Dänzer
Only one of them can be active.
2007-03-05Be more verbose when page flipping can't be enabled for various reasons.Michel Dänzer
2007-03-04Merge branch 'modesetting'Eric Anholt
Conflicts: configure.ac src/i830_driver.c src/i830_modes.c src/i830_video.c
2007-03-03Merge branch 'modesetting-origin' into modesettingKeith Packard