summaryrefslogtreecommitdiff
path: root/src/i830.h
AgeCommit message (Collapse)Author
2007-12-20xvmc: add disable xvmc build supportZhenyu Wang
Move xvmc source files under XVMC config
2007-12-19Merge branch 'master' into xvmcZhenyu Wang
2007-12-04Add BCM_ to backlight control method enumsJesse Barnes
Avoids polluting the global namespace with such generic terms.
2007-11-15Merge branch 'master' into xvmcZhenyu Wang
2007-11-14Don't stop ring before restoring hw stateJesse Barnes
Some of the hw state restoration callbacks may want to use the ring for various things like stopping video playback, so leave the ring enabled until we get back from RestoreHWState. Also rename the functions so that their purpose is clearer and remove a couple of redundant lines.
2007-11-14Don't enable fbc with XAA or tiling is off.Zhenyu Wang
This slightly reworks my last fbc patch. We don't support tiled front buffer with XAA now, so also disable fbc on it. If tiled alloc failed, disable fbc too.
2007-11-13Merge branch 'master' into xvmcZhenyu Wang
2007-11-12Improve backlight controlJesse Barnes
This commit fixes backlight support for several platforms. Except on recent machines supporting the IGD OpRegion specification, backlight control is rather platform specific. In some cases, we can program the native backlight control regsiters directly without any trouble. On others, we need to use the legacy backlight control register. On still others, we need a combination of the two. And on some platforms, none of the above will work, so we go through the kernel backlight interface, which provides a platform specific driver for backlight control.
2007-10-23Merge branch 'master' into xvmcZhenyu Wang
2007-10-12Fix failure in tiling setup on non-power-of-two allocations on pre-965.Eric Anholt
2007-10-11Move tiling fence register setup to bind time instead of allocate time.Eric Anholt
This allows us to allocate tiled buffers in buffer objects. In the process I removed the fence division that we had for tiled buffers on pre-965. If we resurrect that code, it should probably be managed by just dividing all the objects in roughly half and fencing those halves (to reduce the alignment requirement), instead of using giant fences until we run out of space and then trying to deal with scarce space on the last (or not) buffer. Halving our tiled objects would use 6/8 of our fence registers on that hardware.
2007-10-11Rework DRI buffer mappings and sarea setup to allow for moving buffers.Eric Anholt
While this has been a desired feature for some time, to allow for reallocation of the front buffer, it was made more necessary by the desire to avoid requiring a NO_MOVE buffer type in TTM because buffer objects may not be left pinned over VT switch. This is a step towards making those buffers movable and resizable.
2007-10-08Include xf86mm.h if using XF86DRI_MMKeith Packard
This header file doesn't appear to be getting automatically included for some reason.
2007-10-08Merge branch 'master' into xvmcZhenyu Wang
Conflicts: src/i830_driver.c
2007-10-05Replace setting of LIFETIME_FIXED on cursors with just updating the offsets.Eric Anholt
2007-10-01Fix probing of the sample CH7017 device I found by allowing GPIO overrides.Eric Anholt
It may be that the LVDS chips need to be DVOA and GPIOB only on mobility devices with them, and DVOC/GPIOE on non-mobility like this 845. But until more examples are found, just make this one device probe.
2007-09-26clean up old i915 xvmc function declareZhenyu Wang
2007-09-26fix i915 xvmc devPrivate referenceZhenyu Wang
2007-09-20Merge remote branch 'origin/master' into buffer-objectsEric Anholt
Conflicts: src/i830.h src/i830_driver.c
2007-09-19Merge branch 'master' into xvmc-i915Zhenyu Wang
Conflicts: src/i830.h src/i830_memory.c
2007-09-06Switch to pci_device_map_range/pci_device_unmap_range APIs.Keith Packard
With the libpciaccess change that added these new APIs, use them for all mapping.
2007-08-26Add libpciaccess declarations to I810Rec and I830Rec.Keith Packard
Using libpciaccess requires a different type for PciInfo (struct pci_device instead of pciVideoPtr) and it requires knowing which BAR each memory region needs to be mapped from. Add these definitions to the driver private record along with the includes necessary to use libpciaccess.
2007-08-17Replace AA allocator usage with i830_memory.c for RandR rotation.Eric Anholt
This requires EXA 2.2 (server 1.3) for rotated performance with EXA, because the i830_memory.c allocation may not fall within what EXA considers the offscreen area, so the PixmapIsOffscreen hook is needed.
2007-08-17Use i830_memory.c instead of the AA's allocator for XV buffers.Eric Anholt
This should fix issues with XV being allocated into XAA's tiled pixmap cache and resulting bad rendering. Its also brings us closer to being able to shrink the size of the pixmap cache on XAA, which is of limited utility.
2007-08-16Disambiguate plane and pipe mapping, use plane A on pipe B on pre-965 LVDSJesse Barnes
Add a new 'plane' field to the intel_crtc private structure for tracking planes separate from pipes. This allows pre-965 chips to use plane A on pipe B, enabling framebuffer compression for builtin LVDS displays.
2007-08-16Merge branch 'master' into buffer-objectsEric Anholt
Conflicts: src/i830_dri.c src/i830_memory.c
2007-08-10Save/restore tile-mode offset registers DSPATILEOFF and DSPBTILEOFFKeith Packard
Now that the driver sets these registers, they must be saved and restored.
2007-08-10Attempt to fix several front buffer tiling failure cases.Eric Anholt
Front buffer tiling is now disabled with G965 and XAA. Some of the acceleration that i830_xaa.c does can't be supported on tiled buffers. Adds a tiling field to struct i830_memory, and uses it instead of separate variables for each potential tiled buffer.
2007-08-10Enable tiling by default on 965.Jesse Barnes
2007-08-10Tiling fixes for 965Jesse Barnes
This should be close to the last set of tiling fixes for 965 chipsets. Prior to this commit, the 965 composite hook didn't take tiling into account, nor did 965 textured video, which caused display corruption. However, there seems to be at least one last bug to squash--on occasion, a configuration with tiling enabled won't properly display text. This is likely another tiling related problem with the composite hook.
2007-08-10Merge branch 'master' into xvmc-i915xvmc-i915Zhenyu Wang
2007-08-07Fix EXA rendering with tiled front buffer on pre-965.Eric Anholt
The 915 and earlier appear to respect the fence registers, while only the 965 requires the per-operation tiling setting and pitch shifting. This will also fix issues with rendering on the 965 involving multiple cliprects, where the pitch would get divided repeatedly. This removes the offset < 4096 fallback, which essentially resulted in no acceleration to tiled buffers, hiding the issues.
2007-08-07code cleanupsZhenyu Wang
and put wrap function in driver xvmc priv instead of per xv port priv
2007-08-03Tiled rendering & fbc fixes:Jesse Barnes
- actually enable tiling in DSP(A|B)CNTR if needed - add logic to EXA routines for tiled case (still needs work) - enable/disable fbc on DPMS events (meant moving functions higher in file) - fix fence register pitch programming (use correct pitch instead of kludged value)
2007-08-02Mark DRI buffers as shareable, and pass their buffer handles through the SAREA.Eric Anholt
2007-07-31Legacy backlight changes:Jesse Barnes
- add support for 965GM - make sure legacy enabled systems don't reduce the range of backlight values we can present to the user
2007-07-27Pin some buffer objects at creation time, which can't be moved yet.Eric Anholt
A number of other interfaces of ours don't allow buffer offsets to be updated after screeninit. This attempts to catalog why for each one, so that they can be fixed one by one. This happens to restore the EXA offscreen allocator for now, as a fixed-offset object.
2007-07-27Add quirk supportWang Zhenyu
This one trys to use a flag for possible quirks. It adds a quirk for my Lenovo T61 TV output, and ports some origin LVDS quirks to it.
2007-07-26Use new drmBOSetPin interface instead of NO_EVICT/NO_MOVE buffers.Eric Anholt
To do this, we have to deal with buffer offsets being set at EnterVT time instead of screen init time. We've wanted to move this direction for a long time, but there are repercussions. The EXA offscreen memory manager has to be disabled, because it can't be moved. That will be replaced by BO-backed pixmaps soon. Also unresolved is whether our moving front/back/depth/texture buffers will break the classic-mode DRI driver. This code doesn't actually work yet.
2007-07-25When TTM is available, use it instead of manual AGP allocations when possible.Eric Anholt
This is a step towards being able to expose buffer objects through the screen private to DRI clients, instead of having them have to use the fake buffer object type. This fails in two ways. First, the kernel memory manager is not currently suitable for doing the physical allocations we need, so we still use AGP for those. Additionally, the DRI lock can't be initialized early enough for us, so these buffer object allocations fail. This will be fixed by improving the DRM interface.
2007-07-191. The pitches for y/u/v surfaces are 1024bytes aligned.Xiang, Haihao
2. clean code
2007-07-191. using batch bufferroot
2. implement macroblock_ipicture instruction 3. 16bit INTRA block
2007-07-19enable XvMC for i915Xiang, Haihao
2007-07-17intel: don't try and use TTM memory manager with old libdrm interfaceDave Airlie
I probably need to release a libdrm with this interface in it now..
2007-07-13Ensure pipe/output active before doing load detection.Keith Packard
If the pipe or output have been set to DPMSOff, then load detection will not work correctly. Also, share the load detection configuration code between crt and tv outputs.
2007-07-09Fix some physical address handling for >4GB addresses.Eric Anholt
The upper bits would have been inappropriately dropped on G33-class hardware, and on G965-class hardware in a 32-bit environment. The only use of physical addresses on these should be for FBC, though, and FBC requires addresses below 4GB. This is unresolved.
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.