summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2008-10-09For non-DRM, add NOOPs after BATCH_BUFFER_START to verify completionKeith Packard
In non-DRM mode, the driver waits for the hardware by checking the ring pointers; when the ring is empty, it assumes the hardware is idle. However, the hardware updates the ring pointers before executing a command, so if the MI_BATCH_BUFFER_START is the last command in the ring, the driver will think the hardware is idle while it may still be processing the contents of the batch buffer. Placing NOOPs after the BATCH_BUFFER_START allows the driver to know that the hardware has completed the batch buffer. Signed-off-by: Keith Packard <keithp@keithp.com>
2008-10-09i830 nondrm batch buffer insertion was missing ADVANCE_LP_RING() callKeith Packard
The ring commands to insert a batch buffer to the ring in i830 form were not terminated by a call to ADVANCE_LP_RING(). This surely would have caused chaos. Signed-off-by: Keith Packard <keithp@keithp.com>
2008-10-09Disable frame buffer compression by default for GM965.Carl Worth
We haven't found a way to make FBC work reliably with GM965 yet, (it often fails to notice CPU writes). This appears to be a specific problem with this device, (as we haven't gotten similar bug reports for subsequent devices such as GM45). So FBC is now disabled by default for GM965 but can still be enabled with the FrameBufferCompression option for experimenting/debugging. This resolves bug #16257: [GM965 EXA] Frame-buffer compression broken for CPU writes (XPutImage) https://bugs.freedesktop.org/show_bug.cgi?id=16257
2008-10-09Remove Lenovo T61 TV quirkZhenyu Wang
BIOS already says no integrated TV, and this quirk blocks TV on R61i which has the same subdevice id as T61.
2008-10-08Put forware VBIOS data parsingZhenyu Wang
i830_bios_init() is called too late after output init, which makes bios data mostly useless, and caused all TV init fail as tv_present flag is not set.
2008-10-07Fix driver build against server master.Lukas Hejtmanek
Broken by 3a4151b69daa478ac6edf042d604ee41e8429c0d
2008-10-06Fix driver build against server 1.4.2.Eric Anholt
This disables UXA and DRM modesetting pre-1.5, due to privates handling issues.
2008-10-06Fix bios_reader build against old servers.Eric Anholt
The server's pci_device structure ends up conflicting with libpciaccess's. Just don't include the server structure for this non-server tool.
2008-10-06Add support for RepeatPad and RepeatReflect to 915 and 830-class Render accel.Eric Anholt
2008-10-06Merge branch 'master' of ↵Jesse Barnes
ssh://git.freedesktop.org/git/xorg/driver/xf86-video-intel
2008-10-06Document more VBIOS functionalityJesse Barnes
Document a few more VBT structures and comment on VBIOS communication a bit. There should be enough there now for a sufficiently motivated developer to start implementing support for hotkeys and other features on pre-IGD OpRegion machines.
2008-10-06Document and use 'legacy' border color modeCarl Worth
It's very convenient that the hardware supports this non-default mode since it's exactly what is specified by the Render extension. This provides a more efficient means of fixing bug #16820: [EXA] Composition result in black for areas outside of source-surface bo https://bugs.freedesktop.org/show_bug.cgi?id=16820 without the software fallback we had in the earlier fix, (commit 76c9ece36e6400fd10f364ee330faea470e2da64 ).
2008-10-06Rename default_color to border_colorCarl Worth
This is consistent with the documentation, (and just plain makes more sense).
2008-10-06Revert "Fallback to software for RepeatNone with transformed RGB-only pictures."Carl Worth
This reverts commit 76c9ece36e6400fd10f364ee330faea470e2da64. We've learned a new technique that should let us avoid this fallback to software. See following commit.
2008-10-06Fix a typo in G965 texture video codeShuang He
2008-10-02Fallback to software for RepeatNone with transformed RGB-only pictures.Carl Worth
We wish it wouldn't, but the hardware ignores the alpha in the BorderColor we set when the source picture format has no alpha in it, (and it uses alpha of 1.0 where we want 0.0). For now, fallback for these cases. This gives a correct result, but obviously is not as fast as we would like. This fixes bug #16820: [EXA] Composition result in black for areas outside of source-surface bounds https://bugs.freedesktop.org/show_bug.cgi?id=16820
2008-10-02Work around libpciaccess reporting a 0 rom size by guessing.Eric Anholt
I required the following patch on top of this to work around libpciaccess brokenness. libpciaccess reports 0 rom size if there's no rom resource, even if the rom file exists in sysfs.
2008-10-01Eliminate INT10 call to get BIOS contentsKeith Packard
libpciaccess (and the old X server PCI code as well) provides a function to get the ROM contents. Code to use that was already present in the driver and used if the INT10 function failed. Skip the INT10 and just use libpciaccess as that eliminates several module loads and scary use of vm86. Signed-off-by: Keith Packard <keithp@keithp.com>
2008-10-01Prefer repeatType field over using both repeat and repeatType.Carl Worth
Eric informed me that the repeat field exists only for backwards compatibility with old drivers that weren't prepared for values other than 0 or 1 here. Since we are, we can just ignore that field and examine only repeatType. So the code's a (tiny) bit simpler this way.
2008-10-01Add support for RepeatPad and RepeatReflect.Carl Worth
It's quite simple to support these modes---we simply need to turn on the support for them in the hardware. These changes have been verified with the extend-pad and extend-reflect tests in cairo's test suite. However, this currently required using a custom-modified version of cairo. The issue is that released versions of cairo, (and even cairo master so far), don't pass RepeatPad and RepeatReflect to Render, (due to various bugs and workarounds in cairo and pixman). I do plan to fix those issues in cairo, so that in a future release of cairo, (1.8.2 perhaps?), the cairo test suite will usefully test these new repeat modes in our driver.
2008-10-01Examine picture repeatType as well as repeat field.Carl Worth
The existing switch statement was switching on the Boolean repeat field rather than the correct repeatType field. This had not caused any problem before as only two possible repeat values were supported (RepeatNone = 0 and RepeatNormal = 1) so they were always the same as the repeat field. Soon, however, we'll be supporting more repeat types, so we'll need to switch on the correct value.
2008-09-30Fix ordering of VGA vs. plane disableOlivier Fourdan
From the Intel 965 Programmer’s Reference Manual, volume 3, chapter 2.2.2 "Mode Switch Programming Sequence". The disable sequence should be: - Disable planes (VGA or hires) - Disable pipe - Disable VGA display in 0x71400 bit 31 This patch implements that order plus waits for a vblank at the end. Fixes bug #17756.
2008-09-30Be more verbose about panel data in VBIOS dumperJesse Barnes
Dump more panel data, including number of expected entries. Had to refactor things a bit, but now each function should get size information so further checking can be added more easily.
2008-09-30Use VBT LFP info pointers by defaultJesse Barnes
On some machines it appears that the LFP info pointers give us more accurate panel info than if we index into the LFP data table using the panel type index. Early reports indicate that using the pointers doesn't cause regressions, so switch to them by default to help 8xx machines. Fixes bug 17310 (and hopefully 17658 too).
2008-09-30Work around gcc uninitialized variable warningsJesse Barnes
GCC isn't smart enough to analyze the control flow and figure out that these are false positives, but initializing them shouldn't hurt, so work around it.
2008-09-29Use uintptr_t instead of uint64_t to hold pointer valueKeith Packard
2008-09-28 [965-xvmc] 965q indirect media data workaroundZou Nan hai
2008-09-28Bug #16631: add option for SDVO force detectZhenyu Wang
Some ADD2 card doesn't get SDVO detect status setup right, which disabled outputs on those cards. This adds a new option "ForceSDVODetect" to probe all SDVO ports anyway.
2008-09-26Render register clock gating disable fix on 4 series chipsetZhenyu Wang
2008-09-26Do force CRT detect sequence twice on 4 series chipsetZhenyu Wang
2008-09-26Bug #16515: Fix VT switch with DVI on G45Zhenyu Wang
On DVI, centered VGA mode is used instead of native mode VGA, and PLL on pipe is used instead of VGA PLL setting. So make sure PLL settled down in restore time.
2008-09-23 [965-xvmc] IGD supportZou Nan hai
2008-09-23 [965-xvmc] optimize, pack some payloadZou Nan hai
2008-09-22Add TV out quirk for HP Compaq nx6110Bryce Harrington
Adds a TV out quirk for HP Compaq nx6110. Fixes bz #17683.
2008-09-22Revert "Add no TV out quirk for HP Compaq nx6110"Jesse Barnes
This reverts commit 6a46022df57d09109fc119fedce99c156715a4d4. It should have been attributed to Bryce.
2008-09-22Add no TV out quirk for HP Compaq nx6110Jesse Barnes
Hopefully we can fix the VBT parsing code so we don't need this, but for the time being it seems necessary. Fixes bz #17683.
2008-09-22Add Cappuccino SlimPRO SP625F to no LVDS quirks listJesse Barnes
Looks like this platform might contain VBTs that indicate an LFP is present even though it isn't. Intended to fix bz #11368.
2008-09-19Fix output detection for DVI-IZhenyu Wang
For CRT this trys to probe all possible port for EDID and detects got confirmed by EDID's d/a type bit. For HDMI/DVI, also using EDID d/a type bit to ensure it should handle the connect or not.
2008-09-18Bug #17277: fix upscaling limitDavid Schleef
Oh duh (i830_video.c): /* Clamp dst width & height to 7x of src (overlay limit) */ if(drw_w > (src_w * 7)) drw_w = src_w * 7; if(drw_h > (src_h * 7)) drw_h = src_h * 7; The condition I see in the documentation appears to be src_h/drw_h < 8, that is, src_h < 8*drw_h. It appears this was "fixed" incorrectly in e784e152. It seems difficult to believe that this limitation would exist at all for the texture unit.
2008-09-18Check display stride limit when allocate front bufferZhenyu Wang
2008-09-16Move bufmgr init earlier so it's available at I830DRIDoMappings time.Xiang, Haihao
Fixes a crash with non-GEM mode. Bug #17540.
2008-09-16Put back check for pI830->hw_status in setting hws in non-GEM mode.Xiang, Haihao
Fixes crashes on non-GEM systems with physical hardware status page. Bug #17540
2008-09-12Only BO map render state if kernel mode setting is activeJesse Barnes
We'll probably end up doing this differently, but avoid this path for now.
2008-09-12Fix mis-merge of DRI2 changes related to pI830->directRenderingTypeKeith Packard
The old code had a directRendering boolean, the new one has an enum. A bunch of the merges failed to remove the '!' in front of the old name, breaking a bunch of 'we don't have DRI' tests.
2008-09-11Fix build failures that should have been in the previous merge commit.Eric Anholt
2008-09-11Add support for G41 chipsetZhenyu Wang
G41 is another 4 series chipset like G45/43.
2008-09-11Disable render standbyZhenyu Wang
Render standby is known to cause possible hang issue on some mobile chips, so always disable it.
2008-09-10Merge branch 'master' into dri2Eric Anholt
Conflicts: src/i830_batchbuffer.c src/i830_display.c
2008-09-09Track move of exec to bufmgr, and restoration of emit/wait funcs for non-drm.Eric Anholt
2008-09-09Track the move of irq emit/wait to fake bufmgr.Eric Anholt