Commit Graph

906 Commits

Author SHA1 Message Date
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
Eric Anholt b296cd9b8f Fix transformation matrices for rotation at 90 and 270 degrees. 2007-01-18 13:02:26 -08:00
Eric Anholt d2ae2e2ccc Update CRTC values first so they can be used by the driver in mode setting.
With this, the screen now gets rotated, though there are major issues.
2007-01-18 11:37:14 -08:00
Eric Anholt 92b0f3d201 Disable the clipping for now, since it won't work. 2007-01-18 11:23:22 -08:00
Eric Anholt 14d265a023 Store fixed values, not integers, in the transformation matrix.
Also, add a bit more error checking.
2007-01-18 11:22:47 -08:00
Eric Anholt cc09dc3efe Merge branch 'modesetting' into modesetting-rotation 2007-01-18 10:20:36 -08:00
Eric Anholt 53e765d1cf Fix broken last-minute change in determining whether we're rotated or not. 2007-01-17 16:56:06 -08:00
Eric Anholt f256243fff Allocate per-crtc rotation buffers and hook up RandR 1.2 per-CRTC rotation.
It currently displays garbage.
2007-01-17 16:05:55 -08:00
Eric Anholt d17c386aee Fix some segfaults: crtc->rotatedPixmap not set and dangling damage pointer. 2007-01-17 16:02:30 -08:00
Eric Anholt 67a152c43c Set all CRTCs' allowable rotations when xf86RandR12SetRotations() is called. 2007-01-17 16:02:30 -08:00
Gary Wong 3094100cdd Bug #9550: Add a quirk for too-high clock from EDID on the EN-7100e. 2007-01-16 13:25:24 -08:00
Eric Anholt 66c6427cc8 Add a settable backlight property for LVDS.
This extends the output funcs to have a callback for when it's time to
configure properties, and another for when the server has changed a property
whose value isn't pending a mode set. (Pending properties are to be picked up
by the driver at mode_set time).
2007-01-16 12:54:29 -08:00
Keith Packard a52df90ffc Merge branch 'modesetting' into modesetting-rotation
Conflicts:

	src/i830_driver.c
	src/i830_randr.c

Just a few sync changes.
2007-01-16 12:20:26 +11:00
Keith Packard 37946c9c8a Interim work on rotation support with new xf86 code.
Yes, there are lots of bits tied together here, and we should split this
patch apart.

Move I830 mode setting to xf86 mode setting.

Make mode setting function also set the base address. This should fix
problems where the base gets set incorrectly at times.

Add driver-independent rotation support, requires driver-specific hooks for
shadow pixmap allocation, otherwise it uses Render for painting.
2007-01-16 12:14:55 +11:00
Keith Packard bfeda3bfc5 Convert I830PipeSetMode to xf86CrtcSetMode. Add rotation structures.
Makes the mode setting logic device independent.
Magic rename hooks allow multiple drivers to provide the
generic code without name conflicts.
Rotation code requires special pixmap creation hook, and uses
Render to perform the actual rotation.
2007-01-15 08:05:32 +11:00
Eric Anholt 45696aa291 EXA: Use PRIM3D_RECTLIST instead of TRIFAN so we don't get diagonal tearing.
A side effect is the reduction in vertex dispatch, which is nice.
2007-01-11 17:19:54 -08:00
Eric Anholt 6874a6f25a Restore legacy overlay size limits, due to card hangs at larger sizes. 2007-01-11 12:38:29 -08:00
Eric Anholt c288aea407 Bug #8845: Unify all our XV ports to 1920x1088 maximum size.
This increases the "legacy" size, but that was checked against the 845
documentation which claims support for 2048x2048 as well.  It decreases the
textured video size, which was running into the limits of the bigrequests
extension.  The new limits should fit within bigrequests while still supporting
HD videos.
2007-01-11 11:04:29 -08:00
Eric Anholt f5d528f8ea Don't limit cachelines to a vertical of 2048, and increase default allocation.
The cachelines are used for two things: XAA pixmap cache and XV memory.
Only XAA pixmap cache is referred to using an offset pointing at the
beginning of the front buffer in rendering, and XAA only uses the 2d BLT
engine, which actually has a vertical limit of 65536.  So, pixmap cache is now
limited to that much vertical.

Additionally, the previous cachelines allocation was too small for our
advertised XV limits, so video at the limits would fail with BadAlloc.  Now,
XAA allocates the same approximate amount of offscreen memory as EXA:
3 times the screen size, plus one packed HD video.
2007-01-11 11:03:13 -08:00
Eric Anholt d13bc016c0 Correct x/y/pitch limitations in several cases, and detail them in i830_exa.c.
This reduces max framebuffer width and increases max framebuffer height on
965, reduces max X/Y on pre-965 EXA (could have caused mis-rendering), and
increases max X/Y on 965 EXA (would have prevented acceleration).
2007-01-11 10:45:21 -08:00
Eric Anholt fa383289ac EXA: Wait for sync before we set up new state in our static state buffers. 2007-01-11 10:45:21 -08:00
Wang Zhenyu 5857b4a169 Formalize sync interface
We should just call i830MarkSync/i830WaitSync in places we need,
which care for both XAA and EXA.
2007-01-10 15:09:47 +08:00
Eric Anholt ee52c0ec4e Correct typo resulting in a crash with ivch. = != ==. 2007-01-08 16:53:07 -08:00
Keith Packard da6a00f787 Move EXA function declarations from source to header.
Several new global functions were not put into the header file leading to
potential mismatches between declaration and definition.
2007-01-08 12:36:54 -08:00
Keith Packard 66546d8a80 Merge branch 'modesetting-origin' into modesetting 2007-01-08 10:14:24 -08:00
Wang Zhenyu 0fd2752f19 minor fix on last exa mem binding commit 2007-01-07 22:47:03 -08:00
Keith Packard 40af0ee6ba Numerous symbol scope issues.
I830EntityIndex is shared between 810 and newer driver.
Move most EXA rendering state into I830 structure.
Declare shared variables in shared header files rather than .c.
2007-01-06 18:19:34 -08:00
Wang Zhenyu 736d82a6b4 Merge branch 'modesetting-origin' into modesetting 2007-01-06 15:06:39 -08:00
Zou Nan hai 53b42f5bc7 support NTSC 480i M-J, PAL 576i for 640x480-1280x1024 sizes
I still have problem with non-interlace mode and Hi Res mode.
also I don't know how to pickup those mode in xorg.conf
2007-01-06 14:59:14 -08:00
Wang Zhenyu 71946bcdc3 [PATCH] Add rotation support for 965. 2007-01-06 14:40:27 -08:00
Eric Anholt 35cebed708 [PATCH] Replace broken PCI resource size detection with pciGetBaseSize() call.
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:39:54 -08:00
Wang Zhenyu 33e912aca0 [PATCH] Fix EXA mem binding
We should check if EXA is really enabled.

Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:31 -08:00
Wang Zhenyu fa54a3c083 [PATCH] fix Makefile.am
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:31 -08:00
Wang Zhenyu 2f2c443e97 [PATCH] Formats fixes
We should use card_fmt for src/mask picture, and use dest color
buffer format helper. Also fix wrong name for G965 texture formats,
and pict_x1r5g5b5 isn't supported by sampler engine.

Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:31 -08:00
Wang Zhenyu 0bf04fe78a [PATCH] set correct default border color
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:31 -08:00
Wang Zhenyu 5c461063cd [PATCH] fix typo in ps kernel
fix corrupt in some subspans

Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:31 -08:00
Wang Zhenyu 89a42d489b [PATCH] shut up warning
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:31 -08:00
Wang Zhenyu 01bfa4fa6f [PATCH] fix alpha blending state
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:30 -08:00
Wang Zhenyu 79018bb47c [PATCH] Add in sf/wm program for mask picture without CA
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:30 -08:00
Wang Zhenyu a5b9b43846 [PATCH] misc cleanup for G965 vs/sf/wm states
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:30 -08:00
Wang Zhenyu b7c1e1656f [PATCH] WM kernel needs scratch space
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:30 -08:00
Wang Zhenyu db9cfaa35a [PATCH] Setup default border color for our samplers
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:30 -08:00
Wang Zhenyu 70276e4e9a [PATCH] fix vertex buffer size
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:30 -08:00
Wang Zhenyu e8a4cbdeff [PATCH] clean up issue cmd to ring buffer
Make it easy to track different part of ring state, and
use rectlist primitive instead.

Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:30 -08:00
Wang Zhenyu 42534474fd [PATCH] remove wrong scale_units
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:30 -08:00
Wang Zhenyu 05e8a7989d [PATCH] Rename exa sf/wm program files
Also fix some minors in wm program.

Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:30 -08:00
Wang Zhenyu 1329c86f2a [PATCH] EXA state mem for G965
Not split offscreen mem for exa, but alloc a dedicated one
for G965 states.

Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-06 14:37:29 -08:00
Jesse Barnes 4c790f614e More sparse cleanups:
NULL vs. 0
  make some variables static
  remove redundant variables

There are only a few sparse warnings left now: some bitfield warnings
and a few 'mixing code and declarations' warnings from the ring macros.
2007-01-06 08:21:36 -08:00
Wang Zhenyu f9c3ef4010 [PATCH] Mark current ps kernel is experimential with little test.
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-03 22:23:54 -08:00