Age | Commit message (Collapse) | Author |
|
|
|
|
|
With the new mode setting code, rotation is handled outside of the driver,
so the old usage of the 'shadow' module is no longer needed. Code to
initialize the crtc structures has been moved out of the driver and into the
modes code.
|
|
|
|
|
|
The previous code claimed to set the depth buffer up as Y tiled, but due to
lack of implementation in SetFence, it ended up being X tiled. Actually
setting the Y tiling flag in the new version broke the depth buffer, so just
switch the depth buffer to X tiling, which appears to work fine.
|
|
This is a partial revert of 7358642e64ab6d13bc1dc1a44703ee66d715ff61
If we don't allocate it now, when the DRM version is too low there won't be any
memory allocated and DRI will fail. Instead, waste the memory in the i915tex
case for now, and leave fixing it right (check DRM version up front and decide
which memory manager to set up) to later.
|
|
Not sure how I missed this before... Thanks to Todd Merrill for reporting.
|
|
pI830->mmSize is in kB.
|
|
Guard code that dereferences pI830->third_buffer with tests for that instead of
pI830->TripleBuffer. It could happen that we want to enable triple buffering
but (temporarily) can't because the third buffer couldn't be allocated.
|
|
|
|
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
|
|
The LVDS register now contains lots of new controls for dual-channel LVDS control
along with dither enabling. The PFIT register has a lot fewer controls as a result.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|