summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-06-30Add new compiled shader program for IGDNGZhenyu Wang
Also check intel-gen4asm tool here for new -g option, which is required to compile new programs. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-06-30Move shader programs under its own subdirectoryZhenyu Wang
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-06-29Only get the VBIOS in non-KMS modeJesse Barnes
In KMS mode, the kernel takes care of this for us, so don't bother.
2009-06-29Output error info if we fail to get DRM resourcesJesse Barnes
Useful for debugging.
2009-06-29Use swapbuffers_wait controlJesse Barnes
Commit 1eec83a203c48822400742a1fb184b2cb52c62f7, which added the new SwapbuffersWait option, didn't actually include the code which used it. So add a test to DRI2's CopyRegion call, only emitting the scanline wait command if the swapbuffers_wait option is set. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-06-29Disable XvMC on 915G/GM in KMSZhenyu Wang
These chips require physical address for XvMC surface, which is not available in KMS case. Instead of crashing X, disable it now. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-06-24Fix i830_crtc_on to only check outputs associated with the given CRTCJesse Barnes
Otherwise we may end up returning a false positive if some other output & crtc are on, but not the one in question, again leading to hangs. Reported-by: Eric Anholt <eric@anholt.net> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-06-24Treat disabled CRTCs as "not covering" for scanline wait purposesJesse Barnes
Now that swapbuffers does a scanline wait to avoid tearing, it's important to take into account the CRTC status to avoid hangs. If we do a scanline wait when the CRTC is off (due to DPMS for example) we'll hang the GPU. So add some code to check the CRTC DPMS status to the i830_covering_crtc function, returning NULL if none of the covering CRTCs are actually active. KMS vs UMS logic is hidden in new i830* functions, cleaning up both DRI2 & video paths a bit. Fixes fdo bug #22383. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-06-23Harden i830 render in case check_composite didn't throw out bad formats.Alan Coopersmith
Fixes a warning in a static analysis program, and the code's a little clearer. Bug #21667
2009-06-23Add option to control swapbuffers behaviorJesse Barnes
Until we get triple buffering, we'll want this so users can avoid taking a performance hit on apps that render slower than the refresh rate. Fixes fdo bug #22234. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-06-23 i915 xvmc, fix fd.o bug #22103Zou Nan hai
2009-06-22Fix LFP data block fetchJesse Barnes
Apparently the proper way to do this is to use the LFP data pointer block to figure out the LFP data block entry size, then use that plus the panel index to calculate an offset into the LFP data block array. Fixes fdo bug #19450. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-06-19Don't change the blank/sync width when calculating scaled modesZhao Yakui
Don't the change the blank/vsync width while doing LVDS scaled modes. And use the border instead of border minus one. At the same time, make sure the horizontal border and hsync are even for the LVDS that works in dual-channel mode. So both horizontal border and hsync start are also changed to be even, even for the LVDS in single-channel mode. https://bugs.freedesktop.org/show_bug.cgi?id=20951 Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2009-06-17TV: Set correct voltage level override valuesling.ma@intel.com
We detect TV connect status by setting DAC voltage level override values as 0.7 voltage for DAC_A/B/C. The corresponding 2-bits shold be 0x2, In order correctly to set last bit as 0, at first we must clean it. It fixed freedesktop.org bug #21204 Signed-off-by: Ma Ling <ling.ma@intel.com>
2009-06-17Set hot plug interrupt to detect HDMI outputling.ma@intel.com
We detect HDMI output connection status by writing to HOT Plug Interrupt Detect Enable bit in PORT_HOTPLUG_EN. The behavior will generate an specified interrupt, which is caught by audio driver, but during one detection driver set all Detect Enable bits of HDMIB, HDMIC and HDMID, which generate wrong interrupt signals for current output, according to the signals audio driver misunderstand device status. The patch intends to handle corresponding output precisely. It fixed fredesktop bug #21371 Signed-off-by: Ma Ling <ling.ma@intel.com>
2009-06-16add pipe a force quirk for Dell miniBryce Harrington
Add quirk to solve issue with black screen and hang occuring after closing the lid with attached external monitor, on Dell Mini. Fixes fdo bug #21960. Signed-off-by: Bryce Harrington <bryce@bryceharrington.org>
2009-06-16don't wait for vblank on rotated displaysLi Peng
We may hang or wait for the wrong line if the display is rotated, so just skip the wait in that case. Fixes fdo bug #22196.
2009-06-16pipe-a quirk for thinkpad x30Bryce Harrington
Fixes freeze when closing lid on ThinkPad X30. Fixes FDO bug # 21976. Signed-off-by: Bryce Harrington <bryce@bryceharrington.org>
2009-06-16Fix EDID for LVDS output device to add the default modesZhao Yakui
Fix the EDID for the LVDS output device to add the default modes.This is similar to what we have done in UMS mode. a. When there exists the EDID, either find the DS_RANGES block or replace a DS_VENDOR block, smashing it into a DS_RANGES block with open refresh to match all the defaults modes. b. When there is no EDID, we will construct a bogus EDID and add a DS_RANGES block with the open refresh to match all the default modes. http://bugs.freedesktop.org/show_bug.cgi?id=20801 http://bugs.freedesktop.org/show_bug.cgi?id=21094 http://bugs.freedesktop.org/show_bug.cgi?id=21346 http://bugs.freedesktop.org/show_bug.cgi?id=21417 http://bugs.freedesktop.org/show_bug.cgi?id=21671 Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2009-06-16Get the LVDS panel limit and check whether the given modeline is validZhao Yakui
When the connector type is LVDS, it will traverse the mode list returned by KMS kernel to get the LVDS panel limit. Then it will use the panel limit to check whether the given modeline is valid. If the given modeline exceeds the LVDS panel limit, it will be invalid. http://bugs.freedesktop.org/show_bug.cgi?id=20801 http://bugs.freedesktop.org/show_bug.cgi?id=21094 http://bugs.freedesktop.org/show_bug.cgi?id=21346 http://bugs.freedesktop.org/show_bug.cgi?id=21417 http://bugs.freedesktop.org/show_bug.cgi?id=21671 Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2009-06-16Add the private data for the LVDS connectorZhao Yakui
Add the private data when the connector type is LVDS. We can use the private_data to store the LVDS panel limit. For example: Hdisplay, Vdisplay. http://bugs.freedesktop.org/show_bug.cgi?id=20801 http://bugs.freedesktop.org/show_bug.cgi?id=21094 http://bugs.freedesktop.org/show_bug.cgi?id=21346 http://bugs.freedesktop.org/show_bug.cgi?id=21417 http://bugs.freedesktop.org/show_bug.cgi?id=21671 Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2009-06-15GFX: Initialize the SDVO device based on the valid slave addressZhao Yakui
When the slave address is found for the SDVO port, the SDVO device will be initialzied. When the slave address is not found for the SDVO port, it will return the slave address by using the following flowchart: a. If the SDVO device info is found for another SDVO port, it will return the slave address that is not used. For example: if 0x70 is used, then 0x72 is returned. b. If no SDVO device info is found for another SDVO port, it will return 0x70 for SDVOB and 0x72 for SDVOC. http://bugs.freedesktop.org/show_bug.cgi?id=20429 Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2009-06-15parse general definition block to get the SDVO device infoZhao Yakui
The general definition block contains the child device tables, which include the child device info. For example: device slave address, device dvo port, device type. We will get the info of SDVO device by parsing the general definition blocks. Only when a valid slave address is found, it is regarded as the SDVO device. And the info of DVO port and slave address is recorded. http://bugs.freedesktop.org/show_bug.cgi?id=20429 Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2009-06-15Dynamically get the number of child device in general definition blockZhao Yakui
The size of general definition block varies on different platform/machines. In such case the number of child device is also different. And it will be better to get the number of child device in general definition block dynamically. The number of child device can be calculated by the following formula: (block_size - block_header_size) / sizeof( struct child_device_config) http://bugs.freedesktop.org/show_bug.cgi?id=20429 Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2009-06-11intel_batch_init: test have_gem, not directRenderingTypeKeith Packard
Under KMS, directRenderingType will get set to DRI_NONE during driver initialization. When the first batch buffer is allocated, as directRenderingType is DRI_NONE, the GEM bufmgr would get trashed as intel_batch_init called a fake-bufmgr specific function. Signed-off-by: Keith Packard <keithp@keithp.com>
2009-06-11Fix xvmc buildJulien Cristau
If we don't find xext.pc, disable xvmc instead of failing configure Also add dependencies on xfixes and dri2proto (src/xvmc/dri2.h includes <X11/extensions/Xfixes.h> and <X11/extensions/dri2tokens.h>).
2009-06-10Increment version to 2.7.99.9012.7.99.901Carl Worth
This is the first release candidate for 2.8.0
2009-06-10NEWS: Summarize new developments for 2.7.99.901Carl Worth
2009-06-10DRI2 copyregion: don't wait for scanlines that won't happenLukasz Kurylo
In some configurations, it's possible to wait for a scanline outside of a given CRTC range. Make sure that can't happen to fix multihead cases with dead space. Fixes fdo bug #22203. Signed-off-by: Lukasz Kurylo <Lukasz.Kurylo@gmail.com>
2009-06-10 add missing files for previous commitZou Nan hai
2009-06-10 enable MC on g45 for player without vld patchZou Nan hai
2009-06-10Add new chipset register dumpsZhenyu Wang
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-06-10Disable composite on new chipset for nowZhenyu Wang
This depends on updated intel-gen4asm be ready for new chip. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-06-10Add new register definitionsZhenyu Wang
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-06-10Update intel_gtt utility for new chipset GTT checkZhenyu Wang
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-06-10Remove fixed MMIO sizeZhenyu Wang
Use pci resource size instead, which will get the correct MMIO range. New chipset uses obviously larger MMIO range. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-06-10Add new chipsets PCI idsZhenyu Wang
Desktop and mobile version of new chipsets are added. Also do memory config like Intel 4 series chipset. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2009-06-09UXA: Rasterize trapezoids to system memory, not a pixmapCarl Worth
Since we're only doing software rasterization right now, anyway, it makes more sense to just rasterize to system memory and then upload to a pixmap once complete. This avoids expensive read-modify-write cycles. This results in a 2.4x speedup for a real-world test case that's heavy on trapezoids, which is swfdec running on the following file: http://michalevy.com/wp-content/uploads/Giant%20Steps%202007.swf Many thanks to Chris Wilson for his cairo-traces repository and cairo-perf-trace tool which makes it so easy to measure things like this.
2009-06-09Rename i830_exa.c to i830_uxa.cCarl Worth
It was just confusing otherwise, (since the EXA code has all been removed now).
2009-06-09Fall back to fb pixmaps for backing glyph picturesKristian Høgsberg
GEM pads pixmaps to 512 byte stride and backs them with a kernel side buffer objects. We typically don't render out of glyph pictures, so we're incurring a lot of overhead per glyph by allocating a GEM pixmap per glyph. By looking at the usage hint, we can fall back to fbCreatePixmap for pixmaps backing glyph pictures, which gives us a nice tight malloced pixmap. The fast path for text rendering is compositing from the glyph cache pixmap to the destination, which shouldn't be significantly affected. Quick bit of testing: (firefox-20090601) xlib-rgba-before 384512.49: 1.01x xlib-rgba-after 389633.94: 1.00x The difference being within the margin of error for the benchmark. Signed-off-by: Eric Anholt <eric@anholt.net> Tested-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-06-09xvmc: don't include xf86dri.hXiang, Haihao
2009-06-04Merge branch 'xvmc-vld'root
2009-06-03Fix segfault in DRI2 vblank syncing if the region isn't onscreen.Eric Anholt
Also, fix some weirdness in the checking for whether the target was the screen.
2009-06-03Fix some drawable abuse in i830_dri.cEric Anholt
We were casting pixmaps to drawables even if they weren't pixmaps. They did happen to work out since we only used the drawable record out of them.
2009-06-03Replace some pixmap-related idioms with inline functions to do so.Eric Anholt
2009-06-03Provide mode line from VBT to xorg.Ma Ling
If sdvo get modes function can't find modes from EDID, transmit sdvo lvds modes from VBT to xorg. Signed-off-by: Ma Ling <ling.ma@intel.com>
2009-06-03Fetch mode line from VBT, then keep it.Ma Ling
Parse SDVO LVDS option section, then according to panel type fetch fixed mode line from SDVO LVDS DTDS section . Signed-off-by: Ma Ling <ling.ma@intel.com>
2009-06-03Wait doubled regis to be stable for load pipe detectionMa Ling
We have two approaches for VGA detections: hot plug detection for 945G onwards and load pipe detection for Pre-945G. load pipe detection will get one free pipe ,and set border color as red and blue, then check CRT status by swf register. Because pipe registers in hires mode are double buffered, once set force border bit in pipeconf register, we have to wait for a vblank until it is effective, otherwise result is unstable. It fixed freedesktop bug #20463 Signed-off-by: Ma Ling <ling.ma@intel.com>
2009-06-03Set activation periods as 64 cdclk sync up with KMSMa Ling
We use force CRT detect trigger bit(1 << 3) to detect VGA in hot plug mode, which triggers a CRT hotplug/unplug detection cycle independent of the interrupt enable bit(1 << 9), so keep bit 9. And although spec says CRT_HOTPLUG_ACTIVATION_PERIOD_64(1 << 8) is only useful for mobile platform, it is also required to detect vga on G4x platform correctly. Tested the patch on G45/G43/Q45 platforms with no regressions It fixed freedesktop.org bug #21120 and part of bug #21210. Signed-off-by: Ma Ling <ling.ma@intel.com>
2009-06-02Sync DRI2 CopyRegion to vertical retraceJesse Barnes
Akin to the Xv code, wait for the scanline to be outside the range to be copied by the DRI2 CopyRegion hook. Fixes fdo bug #20664. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>