Age | Commit message (Collapse) | Author |
|
The artifacts only seemed to occur when EXA was falling back to software for
the front buffer.
|
|
Conflicts:
src/i830_display.c
src/i830_driver.c
|
|
Make the application of crtc desiredModes generic code instead of
per-driver by creating xf86SetDesiredModes from the code that was in EnterVT
and calling it.
Also, move the frame buffer clear until just before mode setting to make
sure things are mapped correctly.
|
|
git://proxy.ims.intel.com:9419/git/xorg/driver/xf86-video-intel
|
|
I think this is a safe way to work around any possible chip
error.
|
|
|
|
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.
|
|
Conflicts:
src/i830.h
src/i830_dri.c
src/i830_dri.h
src/i830_driver.c
src/i830_memory.c
src/i830_xaa.c
|
|
It takes the offset and size in pages, not bytes.
|
|
Only one of them can be active.
|
|
|
|
Conflicts:
configure.ac
src/i830_driver.c
src/i830_modes.c
src/i830_video.c
|
|
|
|
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.
|
|
Also call I830EmitFlush() when entering/leaving the server context. Doesn't
seem to help for artifacts with page flipping and mixed 2D/3D unfortunately.
|
|
|
|
|
|
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.
|