Commit Graph

954 Commits

Author SHA1 Message Date
Michel Dänzer 3bd8edb95f Revive i830 page flipping support.
Use the damage layer directly instead of via shadowfb.
2007-02-14 12:57:35 +01:00
Michel Dänzer 1d22bad33b Update SAREA pipe fields in i830PipeSetBase. 2007-02-14 12:57:12 +01:00
Michel Dänzer 0df490938a If the DRM can handle it, enable vertical blank interrupts for both pipes. 2007-02-14 12:54:57 +01:00
Eric Anholt 1623b47c48 Switch the RECTLIST vertex order to (x2, y2), (x1, y2), (x1, y1).
This is the documented correct ordering, and while the previous ordering
(reversed) worked on some hardware, it failed on others.

Reported by:	Wang Zhenyu <zhenyu.z.wang@intel.com>
2007-02-13 17:42:47 -08:00
Eric Anholt 4bd4058dfd Bug #9941: ViewSonic VX2025wm sync polarity quirk to fix mode distortion. 2007-02-13 14:29:52 -08:00
Eric Anholt 0ec4ffcb4e Fix double free in the case of LVDS disabled through quirks. 2007-02-13 13:18:15 -08:00
Eric Anholt 699fa88d25 Merge branch 'modesetting-origin' into modesetting 2007-02-13 13:10:08 -08:00
Eric Anholt 6641aec0a1 Attempt to detect panel fixed mode from EDID or current programmed mode.
These two sources are placed in higher priority to the BIOS data when
available, since the BIOS data has proven unreliable.  The BIOS data is still
read, and warnings printed if it doesn't match what we probe.  The BIOS data
remains useful for the situation where we want to turn on LVDS but there is no
EDID available and no current mode programmed (i.e. booting with VGA or TV
connected).
2007-02-13 10:21:12 -08:00
Eric Anholt 991439d4c7 Remove dead #if 0-ed structure. 2007-02-13 10:07:47 -08:00
Eric Anholt c3aed56d46 Fix comments on 965 pitch alignment restrictions. 2007-02-09 13:16:37 -08:00
Daniel Stone 98318dfcc9 add missing files to fix distcheck
A bunch of files were missing from _SOURCES, and the build was also broken
for missing files (from EXTRA_DIST) when building without gen4asm.
2007-02-09 16:20:57 +02:00
Zou Nan hai fce4390c4f TV Enable 2007-02-09 11:32:22 +08:00
Wang Zhenyu 10712c7a78 EXA: i965 pixmap pitch align
This seems like a typo, which causes screen artifacts.
2007-02-08 08:56:42 +08:00
Wang Zhenyu 44eacf2323 EXA: fix render issue with i965
Fix SF kernel with corrent coeffient work, and correct
VUE storage in multi texture case.
2007-02-07 17:30:51 +08:00
Eric Anholt 681b91924c Add subpixel offsets to fix accelerated rotated rendering on i915.
This fixes the rendercheck "transformed src/mask coords 2" tests. Previously,
the source pixels chosen would be off by one in some cases.

The particular values were taken from Mesa, which uses .125 offsets (except
apparently broken for y), but the signs are changed.  I would be happier if
I had better justification for why this worked.
2007-02-02 17:41:40 -08:00
Eric Anholt 76a4f2eea8 Fix bad offsets in "right" rotation of the CRTC in cursor and update handling. 2007-02-02 17:34:41 -08:00
Keith Packard 785a59ead0 Rename driver from i810 to intel. Permit old name for compatibility.
Driver installs as intel_drv.so with symlink to i810_drv.so to ensure
existing configurations continue to work. Updated manual page to reflect
name change and add attributions for recent work.
2007-02-01 22:48:44 -08:00
Keith Packard 1dde7a15a3 Merge branch 'modesetting-origin' into modesetting 2007-02-01 21:31:27 -08:00
Keith Packard 16f30b2e6c Add "Ignore" option to per-output monitor, removes output from server.
Setting option "Ignore" "Yes" will cause the server to pretend as if the
specified output does not exist at all. It will not be listed by the
RandR1.2 extension, and the server will not attempt to detect monitors at
startup time.
2007-02-01 21:30:19 -08:00
Keith Packard 9f0acf1eb0 Check for rotation change in xf86RandR12CrtcSet.
xf86RandRCrtcSet was ignoring changes to only rotation, so the screen would
be left incorrectly rotated.
2007-02-01 15:44:18 -08:00
Eric Anholt 1ba45a3fcd Improve register debugging output.
This includes not reporting some fields on hardware where those bits are
reserved, correcting one of the hardware error bit numbers, and reducing
the severity of the debugging output warnings.
2007-02-01 13:26:38 -08:00
Eric Anholt 9bfeadbd5b Remove some more dead options. 2007-02-01 12:06:10 -08:00
Eric Anholt d6bc03c379 Bug #9819: Add two headers that are apparently necessary on older X Servers. 2007-02-01 11:28:34 -08:00
Eric Anholt 351866b032 Sync before overwriting Render acceleration state on the 965. 2007-01-31 15:49:03 -08:00
Eric Anholt 96783a4589 Fix copy-and-paste-o in the render code cleanup that broke XAA. 2007-01-31 15:48:02 -08:00
Eric Anholt 5238ff9c80 Naming and formatting cleanup in Render acceleration code. 2007-01-31 14:01:41 -08:00
Eric Anholt c47210d94e Move the render code to non-EXA-specific filenames. 2007-01-31 12:50:31 -08:00
Eric Anholt 72ea0e514d Remove custom accelerated rotation code now that it's all done through Render. 2007-01-31 12:43:38 -08:00
Eric Anholt e62751db8b Add an accelerated path for rotation Render operations in XAA.
The now-generic (kind of) EXA code will be cleaned up and moved to generic
files in a later commit.
2007-01-31 12:15:38 -08:00
Eric Anholt 4cd552e8f4 Fix accelerated Render transformations.
Previously, we tried to use 2 points instead of 3 to describe the source
rectangles, which mostly just worked for scaling.
2007-01-30 16:34:50 -08:00
Eric Anholt 6a628ae12b Simplify EXA acceleration transform handling. 2007-01-30 16:25:27 -08:00
Keith Packard c8581254cb Merge branch 'modesetting-rotation' into modesetting
This adds reasonably driver-independent rotation support to the common
layer. The piece required in the driver is to allocate and redirect the crtc
to a shadow frame buffer. The driver uses Render to perform the actual
rotation operation (which leaves us free to do fun projective transforms at
some point in the future :-).
2007-01-29 21:25:13 -08:00
Eric Anholt 9da1791eec Restore a few important lines from 89ace3e81f
Typical results were failure to sync, and a black screen.
2007-01-29 17:10:39 -08:00
Eric Anholt 67c6a490e6 Remove dead code to undo the damage of xf86SetModeCrtc() blank limiting. 2007-01-29 09:53:58 -08:00
Eric Anholt 89ace3e81f Bug #9680: Remove bogus blank length limiting in xf86SetModeCrtc().
Our modes typically come from EDID or default modes, and when the monitor
asks for a specific mode, deciding to tweak it usually results in incorrect
display.  And if the user is specifying a mode by hand, tweaking it then is
still pretty rude.

Reviewed by: ajax
2007-01-29 09:43:35 -08:00
Dave Airlie 6eb69e7378 ch7xxx: actually power up the chip around connection detection 2007-01-29 20:27:20 +11:00
Keith Packard d329fa121b Fetch from root window instead of screen pixmap during rotation.
The XAA Composite wrapper doesn't check for sourcing from the root pixmap
when deciding whether to sync the hardware drawing. Fix the rotation code to
reference the root window in IncludeInferiors mode to avoid reading without
correct synchronization.
2007-01-27 18:36:15 -08:00
Keith Packard 20419d664c Paint ARGB cursor data to ARGB cursor memory space in frame buffer.
When converting from global cursor to per-crtc cursor, the ARGB cursor data
was accidentally painted to the wrong location, overwriting some critical
data and causing the hardware to lock up. (along with generating a garbage
cursor image from uninitialized data).
2007-01-27 18:34:12 -08:00
Krzysztof Halasa 00decd3b6c Don't zero out mode structure after setting name field.
Instead of using memset to zero the structure (at the wrong time, no less),
use xcalloc to gather pre-initialized memory.
2007-01-27 12:29:31 -08:00
Keith Packard 7a5f17087b Mark crtc region as damaged when rotation is set.
When shadow frame buffer is allocated for rotation, it needs to be
initialized by copying from the frame buffer. Do this by simply marking the
entire screen as damaged which will force an update.
2007-01-27 00:11:21 -08:00
Keith Packard 2d95cb6f04 Make rotated pixmap size of mode, not rotated mode. Update only damage.
Rotated pixmap should match size of displayed mode, not the rotated version
of that size.

Take damaged region, rotate each box and display them instead of displaying
the whole screen after each damage update. This exposes a bug where the
screen is not correctly damaged after rotation.
2007-01-27 00:04:13 -08:00
Eric Anholt 5c1e27cdd2 Make rotated shadow buffer allocation dynamic.
For EXA, this requires version 2.1 of EXA to do rotation, as the VT switching
issues were too complicated otherwise.
2007-01-25 15:31:22 -08:00
Eric Anholt 83cc4601b2 Fix a possible failure to misalign video allocation in XAA. 2007-01-24 16:52:22 +08:00
Eric Anholt e213324195 Warning fix. 2007-01-24 12:32:38 +08:00
Dave Airlie effe579e69 ch7xxx: fix output detection as per datasheet, have no DVI to test this. 2007-01-23 16:10:53 +11:00
Dave Airlie c68dae2705 fix building with 7.1 server by hiding stuff inside RANDR_12_INTERFACE 2007-01-23 16:10:25 +11:00
Eric Anholt 8eb861fb61 Replace the custom SaveScreen function with a generic function calling DPMS.
With this, additional power saving occurs with the core screensaver, for
example by turning off LVDS backlight.
2007-01-22 15:50:14 +08:00
Wang Zhenyu 7161e824e8 Fix DRI issue when EXA enabled
tell DRI we are smashing the context state.
2007-01-19 15:15:19 +08:00
Eric Anholt 74ebff6732 Allocate separate cursor memory per CRTC and rotate cursors appropriately.
Also, add bind/unbind of the shadow rotate buffers, which was missed in a
previous commit.
2007-01-18 14:26:21 -08:00
Eric Anholt 8759f4d89a Partially deal with cursor rotation.
The remaining issue is having a cursor image per CRTC so that the cursors can
be rotated on the independently rotated CRTCs.
2007-01-18 13:13:46 -08:00