Commit Graph

893 Commits

Author SHA1 Message Date
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
Wang Zhenyu ef2f25e5c6 [PATCH] Use sf_prog.h instead
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-03 22:23:52 -08:00
Wang Zhenyu ca608028c5 [PATCH] Fix picture's transform checking
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-03 22:23:50 -08:00
Wang Zhenyu 848368d5d0 [PATCH] Fallback in mask picture for now
Do it later after finish wm kernel program.

Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-03 22:23:48 -08:00
Wang Zhenyu df23624eeb [PATCH] Fix compile, add wm header file.
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-03 22:23:44 -08:00
Wang Zhenyu fc944859b1 [PATCH] Add simplest wm kernel program for no mask picture composite
This is a try to use new gen4asm language, and will finish
composite program for mask picture with or without CA case later.

Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-03 22:23:41 -08:00
Wang Zhenyu acdc2da77b [PATCH] Add mask sampler state
Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-03 22:23:39 -08:00
Wang Zhenyu 926d7fb09a [PATCH] change some src sampler states
sampler for mask should also be set up, and fix
default border texel.

Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-03 22:23:33 -08:00
Wang Zhenyu ed73bbaf5c [PATCH] Add file for i965 exa composite
This does not include ps program, which will be added
in g4a form.

Signed-off-by: Keith Packard <keithp@neko.keithp.com>
2007-01-03 22:23:27 -08:00
Keith Packard 5a793b0dcf Merge branch 'modesetting-origin' into modesetting 2007-01-03 21:54:05 -08:00
Keith Packard f188525030 Add interlace defines for pipeconf regs 2007-01-03 21:53:07 -08:00
Eric Anholt 394124ceaa Add per-CRTC gamma control support for RandR.
This makes the CRTCs now always run in gamma-enabled mode, rather than having
flaky logic for switching modes.  Also, it should clear up issues with the LUTs
being uninitialized when outputs are first brought up.
2007-01-03 09:56:19 -08:00
Keith Packard 69f250af60 Merge branch 'modesetting-origin' into modesetting 2007-01-03 00:39:15 -08:00
Keith Packard 232e209432 Allow initial position to be set in config file. Increase 965 max size.
Add relative and absolute position configuration code, using per-output
monitor sections. Options include:

	PreferredMode	selects a preferred mode for this output by name
	Position	absolute position, x and y in a single string.

	Below		relative positions; argument names other monitor.
	RightOf
	Above
	LeftOf

	Enable		force the monitor to be disabled by setting
	Disable		enable to no or disable to yes.

	MinClock	Set valid clock ranges
	MaxClock

Monitor sections can also include sync ranges, physical size and mode lines
as documented in xorg.conf(5).

Monitors are associated with outputs through options in the Device section:

	Option "monitor-VGA" "My VGA Monitor"

Output named 'VGA' will use monitor section "My VGA Monitor".
2007-01-03 00:38:34 -08:00