Commit Graph

2099 Commits

Author SHA1 Message Date
Carl Worth 98ca9e2af1 Rename default_color to border_color
This is consistent with the documentation, (and just plain makes
more sense).
2008-10-06 13:22:08 -07:00
Carl Worth 175b30e382 Revert "Fallback to software for RepeatNone with transformed RGB-only pictures."
This reverts commit 76c9ece36e.

We've learned a new technique that should let us avoid this fallback
to software. See following commit.
2008-10-06 13:22:07 -07:00
Shuang He 21cce1998a Fix a typo in G965 texture video code 2008-10-06 09:48:21 +08:00
Carl Worth 76c9ece36e Fallback to software for RepeatNone with transformed RGB-only pictures.
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-02 20:40:14 -07:00
Eric Anholt f1dbc266cc Work around libpciaccess reporting a 0 rom size by guessing.
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-02 14:45:12 -07:00
Keith Packard 8304b405e0 Eliminate INT10 call to get BIOS contents
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-01 16:39:01 -07:00
Carl Worth ab2b70f831 Prefer repeatType field over using both repeat and repeatType.
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-01 16:05:16 -07:00
Carl Worth 128223ee9b Add support for RepeatPad and RepeatReflect.
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-01 15:33:04 -07:00
Carl Worth b7279f1be1 Examine picture repeatType as well as repeat field.
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-10-01 15:33:04 -07:00
Jesse Barnes bf8a3ffeaa Revert "Use -Werror by default"
This reverts commit f315e9d1ad.  The world
isn't ready for a warning free build.
2008-09-30 16:59:02 -07:00
Olivier Fourdan 497b7420c4 Fix ordering of VGA vs. plane disable
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-30 12:53:11 -07:00
Jesse Barnes a4568740ee Be more verbose about panel data in VBIOS dumper
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-30 12:48:32 -07:00
Jesse Barnes fa2586a40f Use VBT LFP info pointers by default
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-30 12:46:20 -07:00
Jesse Barnes f315e9d1ad Use -Werror by default 2008-09-30 12:07:52 -07:00
Jesse Barnes f082e877d5 Work around gcc uninitialized variable warnings
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-30 12:06:46 -07:00
Keith Packard 836d24f2cc Use uintptr_t instead of uint64_t to hold pointer value 2008-09-29 19:02:51 -07:00
Zhenyu Wang 11d304e99c Bug #16631: add option for SDVO force detect
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-28 10:08:26 +08:00
Zhenyu Wang 1cc15ba454 Render register clock gating disable fix on 4 series chipset 2008-09-26 10:01:52 +08:00
Zhenyu Wang d6b2696f9a Do force CRT detect sequence twice on 4 series chipset 2008-09-26 09:53:03 +08:00
Zhenyu Wang d8a007b056 Bug #16515: Fix VT switch with DVI on G45
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-26 09:44:59 +08:00
Jesse Barnes a428892b76 Update supported hardware list 2008-09-23 12:36:11 -07:00
Bryce Harrington afa630b448 Add TV out quirk for HP Compaq nx6110
Adds a TV out quirk for HP Compaq nx6110.  Fixes bz #17683.
2008-09-22 18:38:35 -07:00
Jesse Barnes 204a6281aa Revert "Add no TV out quirk for HP Compaq nx6110"
This reverts commit 6a46022df5.  It should have
been attributed to Bryce.
2008-09-22 18:38:03 -07:00
Jesse Barnes 6a46022df5 Add no TV out quirk for HP Compaq nx6110
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-22 13:26:58 -07:00
Jesse Barnes 10909d9b66 Add Cappuccino SlimPRO SP625F to no LVDS quirks list
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-22 13:11:55 -07:00
Zhenyu Wang 2f93cfbc7e Fix output detection for DVI-I
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-19 15:20:55 +08:00
David Schleef 1fbe4d6028 Bug #17277: fix upscaling limit
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-18 15:37:00 +08:00
Zhenyu Wang bc36608e32 Check display stride limit when allocate front buffer 2008-09-18 10:42:33 +08:00
Xiang, Haihao 62b75df84c Move bufmgr init earlier so it's available at I830DRIDoMappings time.
Fixes a crash with non-GEM mode.  Bug #17540.
2008-09-16 13:21:43 -07:00
Xiang, Haihao 188d58dac9 Put back check for pI830->hw_status in setting hws in non-GEM mode.
Fixes crashes on non-GEM systems with physical hardware status page.

Bug #17540
2008-09-16 11:51:07 -07:00
Jesse Barnes e2743a409a Only BO map render state if kernel mode setting is active
We'll probably end up doing this differently, but avoid this path for now.
2008-09-12 14:22:48 -07:00
Zhenyu Wang ec17c88a0e Add support for G41 chipset
G41 is another 4 series chipset like G45/43.
2008-09-11 16:14:47 +08:00
Zhenyu Wang f9c625e1e5 Disable render standby
Render standby is known to cause possible hang issue on some
mobile chips, so always disable it.
2008-09-11 15:35:27 +08:00
Eric Anholt 58a3817305 Track move of exec to bufmgr, and restoration of emit/wait funcs for non-drm. 2008-09-09 19:18:10 -07:00
Eric Anholt f367334c63 Track the move of irq emit/wait to fake bufmgr. 2008-09-09 19:18:10 -07:00
Eric Anholt 0b4f7b6303 Track move of bufmgr functions to libdrm_intel. 2008-09-09 19:18:10 -07:00
Eric Anholt 0f804bfa1e Bug #17446: Don't try to manage IRQs in GEM mode.
The kernel told us that it was already doing so, resulting in failure.
2008-09-09 19:17:05 -07:00
Eric Anholt da63b5adec Add some MCHBAR registers for debugging tile swizzling issues. 2008-09-09 19:07:53 -07:00
Dave Airlie c7aaf0118b mode: fix missing comma 2008-09-09 18:13:56 +10:00
Daniel Stone b9ef0ed7d7 i830: Fix timer leak
TimerCancel just cancels the timer: it still leaves the TimerRec intact and
unfreed.
2008-09-05 05:02:08 +03:00
Stefan Dirsch fca7a4e9a5 Pipe A force quirk for Toshiba Satellite A30. 2008-09-03 15:32:11 +02:00
Fabio 57ad9cc689 Man page patch to clarify meaning of VideoRam option with i810/i815 2008-09-01 13:33:50 +08:00
Jesse Barnes a1c802e4a0 Merge branch 'master' of ssh://git.freedesktop.org/git/xorg/driver/xf86-video-intel 2008-08-29 09:23:35 -07:00
Jesse Barnes 3733a1b54c Fix build when using kernel DRM headers
Unfortunate mismatch between kernel and DRM master headers.
Kernel:
typedef struct _drm_i915_batchbuffer { ... } drm_i915_batchbuffer_t;
DRM master:
typedef struct drm_i915_batchbuffer { ... } drm_i915_batchbuffer_t;

so use the typedef rather than the morphing structure name.
2008-08-29 09:12:05 -07:00
Eamon Walsh 808b72f814 Change uxa private keys to integer variables.
Prepares for a devPrivates system that will store an index.
2008-08-26 22:34:05 -04:00
Eamon Walsh 62ce9e8f9c Remove unused exa_pixmap_key. 2008-08-26 22:23:06 -04:00
Robert Noland 087ade8e66 Fix typo in last commit 2008-08-26 16:35:07 -04:00
Robert Noland 6404ac178b Check for drm before calling modeset ioctl. 2008-08-26 15:10:52 -04:00
Zhenyu Wang c889198ab5 Fix X exit crash in NoAccel
NoAccel should still be needed for performance evaluation,
so don't crash me when exit.
2008-08-26 10:12:21 +08:00
Zhenyu Wang 0929a191ae Destroy bufmgr after allocation finish
Fixed X exit crash for me, allocation reset will
unreference bo which still requires bufmgr to be live.
2008-08-26 10:01:23 +08:00