Age | Commit message (Collapse) | Author |
|
Code to drive the global configuration from a single mode setting operation
(from RandR 1.1, XFree86-VidModeExtension or XFree86-DGA) has been included
in the X server now, so remove it from this driver.
|
|
New hooks replace explicit invocation of DPMS functions to manage mode
setting sequencing.
|
|
|
|
This isn't actually tested yet as libpciaccess doesn't do rom access on
non-linux yet.
|
|
Shadow pixmap contents are copied from the main frame buffer and contain
only the bits displayed by the crtc, not the whole frame buffer. The crtc
origin is always interpreted by the shadow copying code, the frame buffer
itself doesn't move.
|
|
|
|
Add xf86CrtcConfigFuncs to xf86CrtcConfigInit
Add canGrow option to xf86InitialConfiguration
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
This should fix a number of issues with i855s, particularly with integrated
LVDS panels.
|
|
This reverts commit 1ac83f51ee46d65237eae1b5c767e106ac9e29bc.
oops, current exa state + kernel program size + scratch space
is actually ~36KB.
|
|
Origin size seems break all render, be sure to assign enough
mem. 80k works fine for me.
|
|
|
|
Previously, the structures would get allocated unnecessarily once, and
wouldn't get reallocated in time at server regen.
|
|
|
|
This fixes a crash with initial rotation and EXA due to EXA not being
initialized in time for the shadow pixmap setup.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
I'm in the process of rewriting this file, and wanted to separate my whitespace
changes.
|
|
These two headers were copied during mode setting development; as that code
is now inside the server, these files are no longer needed here.
|
|
This eliminates an unsightly flash of the hardware cursor during X server
startup.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
As sources for these have been merged to the server, use them from the
server source code instead of keeping copies in this driver.
|
|
|
|
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).
|
|
(0,0,0,1.0) is actually black...
|
|
we're getting load of multiple sf/wm programs for i965, might
need to be cleanup in future.
|
|
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.
|
|
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.
|
|
|
|
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>
|
|
|
|
|
|
|
|
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).
|