Commit Graph

988 Commits

Author SHA1 Message Date
Keith Packard 435d35558d Update for Aaron's xserver changes.
Add xf86CrtcConfigFuncs to xf86CrtcConfigInit
Add canGrow option to xf86InitialConfiguration
2007-03-03 22:46:31 -08:00
Eric Anholt fd52d63560 Add a WIP UploadToScreen implementation. This almost displays right. 2007-03-02 13:44:57 -08:00
Eric Anholt ca0fa875e8 Move EXA offscreen memory back after framebuffer to avoid fallbacks.
Without this, the EXA code decides that the framebuffer is not in video
memory because it's not located between the start of video memory and the end
of EXA allocator memory.  We should either have EXA let the driver decide if a
pointer is in video memory, or add a new field for "end of video memory" (not
just end of EXA offscreen allocation), but this fixes things for now.
2007-03-02 11:53:31 -08:00
Eric Anholt 5a73624b9b Fix a crash when an ARGB cursor allocation had failed. 2007-03-02 11:03:16 -08:00
Eric Anholt d5df52be59 Actually add the files for reg_dumper. 2007-03-01 08:35:13 -08:00
Eric Anholt 1f5d1666c8 Add a non-installed command line tool using libpciaccess to dump registers.
This reuses the i830_debug.c code, so we can run that from the console or from
the BIOS-based X server to debug some remaining issues.
2007-02-28 16:27:55 -08:00
Eric Anholt cd1d4b398e Many fixes to mode_get, mode_set, clock limits, and register dumps on i855.
This should fix a number of issues with i855s, particularly with integrated
LVDS panels.
2007-02-28 10:10:03 -08:00
Wang Zhenyu 3e8e75e5d8 Revert "EXA: enlarge 965 exa state buffer size"
This reverts commit 1ac83f51ee.
oops, current exa state + kernel program size + scratch space
is actually ~36KB.
2007-02-27 16:48:48 +08:00
Wang Zhenyu 1ac83f51ee EXA: enlarge 965 exa state buffer size
Origin size seems break all render, be sure to assign enough
mem. 80k works fine for me.
2007-02-27 13:58:47 +08:00
Wang Zhenyu acd9f3e28f Fix typo when assign overlay reg mem pointer 2007-02-27 13:56:31 +08:00
Eric Anholt 5b765065c0 Consolidate shared structure allocation to the start of ScreenInit.
Previously, the structures would get allocated unnecessarily once, and
wouldn't get reallocated in time at server regen.
2007-02-26 17:25:57 -08:00
Eric Anholt 6ed28c5aa3 Fix XV issues on 965 after the allocation rework 2007-02-26 17:12:44 -08:00
Eric Anholt 36bfeb890a Move the initial EnterVT to after we've set up acceleration.
This fixes a crash with initial rotation and EXA due to EXA not being
initialized in time for the shadow pixmap setup.
2007-02-26 16:58:33 -08:00
Eric Anholt 732885c08d Bug #9604: Align the sizes of allocations to page increments as well.
Without this, the 965 DRI driver fell over when pitch * height wasn't
page-size aligned.  Since the allocator only allocates at page-aligned offsets
anyway this shouldn't hurt us at all.
2007-02-26 15:04:56 -08:00
Eric Anholt 0bfaeaab28 Fix physical memory allocations, including description in log. 2007-02-26 11:11:56 -08:00
Eric Anholt 5732dd7221 Fix some texture memory allocation issues. 2007-02-26 09:54:04 -08:00
Eric Anholt aeeae1b40f Fix a crash in startup monitor detect. 2007-02-26 09:13:17 -08:00
Eric Anholt 84a7429730 Always allocate logical_context, since we use it in emitting invariants. 2007-02-23 14:59:24 -08:00
Eric Anholt 7bb725dee9 Improve logging of memory allocation passes, and clean the code up a bit. 2007-02-23 14:56:58 -08:00
Eric Anholt 54198b26e8 Move memory allocation to ScreenInit rather than PreInit.
This lets us do memory allocation just once rather than having several passes
(as long as things succeed), avoids trouble with zaphod mode, and will let us
do better automatic sizing of allocations soon.
2007-02-23 14:17:07 -08:00
Eric Anholt 828deff645 Fix fence allocations on 965. 2007-02-23 13:18:50 -08:00
Eric Anholt d3ac440e12 Rework the video memory allocation.
The previous allocator worked in multiple passes, with (at least) one of
setting up allocations, another to attempt to adjust those for tiling, and
then a pass to set up the offsets and fix them in memory.

The new allocator is simpler, allocating memory immediately if possible,
setting up tiling up front, and choosing offsets immediately.  AGP memory
is only allocated to back actual memory used, saving some memory that would
have been allocated for padding previous. It will also allow dynamic freeing
and reallocation of memory, which will be useful for framebuffer resizing.
2007-02-23 12:50:49 -08:00
Eric Anholt a61a6b1db6 Reformat to 4-space indents, no trailing whitespace, and 80 columns.
I'm in the process of rewriting this file, and wanted to separate my whitespace
changes.
2007-02-22 17:56:19 -08:00
Keith Packard 3bce8bf0e9 Pre-965 hardware had fixed pipe 1 for panel fitter.
The pipe mode setting code needs to disable the panel fitter when using the
pipe for things other than LVDS output. The driver was checking for panel
fitter conflicts using bits that the 965 chipset defines for selecting which
pipe the panel fitter is connected to. However, on pre-965 hardware, the
panel fitter works only with pipe 1 and those bits returned 0.

The result was that when pipe 1 was using the panel fitter, configuring pipe
0 would disable the panel fitter.

The fix provided uses a model-specific test for the panel fitter pipe.
2007-02-20 23:10:17 -08:00
Keith Packard 5a1a04649c Make distcheck fixes. Distribute all sources needed even for older servers.
Always allow (but do not require) link to server sources so that needed
files can be included in the generated tar files.

Add remaining .g4a files and assembly output to distributed file lists.
2007-02-17 17:01:04 -08:00
Keith Packard 0ca926e63c Check for presence of xf86Modes.h file.
xf86Modes.h file signals the availability of the new modes API in the
server; use that instead of counting on X server version numbers.
Also, finish eliminating use of local copies of those header files.
2007-02-16 02:19:10 -08:00
Keith Packard 972f1109d2 Remove common code that has moved to xserver/hw/xfree86/modes 2007-02-16 01:07:20 -08:00
Keith Packard 20e146a09e Change rotation pixmap creation API to permit start-time rotation.
Start time rotation requires that the pixmap be created after the server has
initialized the screens. Delay the pixmap creation until the first block
handler invocation.
2007-02-16 00:57:44 -08:00
Keith Packard 17e38e39a4 Enable mode setting function renames from shared code. 2007-02-15 23:09:43 -08:00
Keith Packard 8e7bc4b1f9 Use server sources for crtc/output generic code.
As sources for these have been merged to the server, use them from the
server source code instead of keeping copies in this driver.
2007-02-15 11:17:53 -08:00
Eric Anholt 6e33c4c440 Print the correct meaning of bit 30 of pipeconf for 965 in debug output. 2007-02-15 10:27:27 -08:00
Eric Anholt 4541150cdc Detect core clock frequencies, to avoid double-wide mode when possible.
Additionally, don't attempt to set double-wide on the 965, where there is
no such thing any more (not that we'd ever see modes high enough to trigger
it).
2007-02-15 10:27:16 -08:00
Wang Zhenyu d1be0dc4e9 EXA: fix i965 default color (0,0,0,1.0) -> (0,0,0,0)
(0,0,0,1.0) is actually black...
2007-02-15 11:03:12 +08:00
Wang Zhenyu c010d28f0a EXA: mask componentAlpha support
we're getting load of multiple sf/wm programs for i965, might
need to be cleanup in future.
2007-02-15 11:00:06 +08:00
Keith Packard ec55dd16c4 Global namespace cleanups, filename fixes.
Ensure all xf86 symbols created here are protected with XF86NAME.
Remove accidentally exported symbols from namespace.
Make all to-be-DI files prefixed with i830_xf86.
2007-02-14 14:37:02 -08:00
Keith Packard 22a271555a Create driver-independent DGA hooks, remove i830 DGA code.
As RandR needs to poke at DGA code, and we want the RandR code to be
driver-independent, it seemed easier to just make the DGA code
driver-independent as well.
2007-02-14 14:17:14 -08:00
root a7c64d5e28 WIP DGA generic support. 2007-02-14 10:20:28 -08: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