Age | Commit message (Collapse) | Author |
|
In the past, the GTT has always been sized just large enough to map the whole
graphics aperture. However, apparently on the G965 that isn't the case, and
it is actually 512KB on hardware with a 256MB aperture. This resulted in X
not bothering to allocate memory for 256KB that it thought was already mapped
into stolen memory, and thus garbage rendering (particularly visible in large
video modes that displayed this unallocated memory). The kernel happens to
get the right answer by hardwiring a 512KB GTT size already, but that may not
be true on future hardware.
Instead, we use a convenient field in PGETBL_CTL that's specifically for the
GTT size rather than the aperture size, which gets us the answer we want.
|
|
This reverts commit 997e8c9bb4235cab1fff4738387df9afcbea0a03.
The GTT is definitely located at the end of stolen memory. This commit
apparently worked around mis-estimation of the GTT size.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Make it easy to track different part of ring state, and
use rectlist primitive instead.
|
|
|
|
Also fix some minors in wm program.
|
|
Not split offscreen mem for exa, but alloc a dedicated one
for G965 states.
|
|
This also replaces calls to compat code with the real names of the functions,
and slips #defines to an i830-namespaced version in when doing compat.
The current server version (7.1.99.2) is still left as requiring compat code,
since the version hasn't been bumped yet.
This also fixes some failures to call the compat code, and some failures to
actually compile the compat code. Oops.
|
|
|
|
|
|
The X Server now has most of the mode helper functions we want, and we can
start removing compilation of our copies when the server is new enough.
|
|
Now that driver-independent code manages array of crtcs, let it track
the count and just have the driver compute how many there are in
a separate variable.
|
|
As part of the separation of driver-dependent from driver-independent code,
the interactions with RandR are moving entirely out of the driver, which
means the driver shouldn't even know about RandR, while the
driver-independent code does.
|
|
Place crtc/output in separate structure at head
of driver private structure. Use this from the config code
to make it driver-independent. Still lots of effectively driver
independent code that continues to use driver dependent stuff,
but that will change.
|
|
This reduces log noise for those of us with no SDVO devices.
|
|
|
|
|
|
To share load-detect CRTC allocation with TV driver,
move it to the output driver
|
|
Use i830GeLoadDetectPipe again (instead of missing xf86AllocCrtc). Actually
create new Crtc structures. Fix a few other NULL pointer dereferences.
|
|
Outputs and Crtcs are now split between 'generic'
and 'driver specific' pieces in the hope that more code
will be able to migrate to the xf86-generic layer.
Right now, the code remains tangled together, significant
work remains to tease the pieces apart. First the code
needs to be made to actually work as-is though.
|
|
Multi-screen configuration is moving to generic code.
|
|
|
|
This avoids heading past the 8Kbyte stride limit of DRI so
that 3D will be available by default.
|
|
3D rendering pipeline is limited to pitch of 8Kbytes and not 4096
pixels, which rather makes a difference at 32bpp.
|
|
|
|
|
|
Computation for virtual size and initial frame origin is quite
broken in xf86 common code.
|
|
Rework SDVO support so that it can deal with two channels correctly,
also save/restore all connected output timings.
|
|
|
|
|
|
Subcarrier defines were incorrect in header file leaving one of the
DDA phases disabled.
|
|
TV output is generating video with this patch, but the color burst
signal is incorrect somehow.
|
|
|
|
This works for analog, but SDVO output appears to not work yet.
Conflicts:
src/i830_driver.c
|
|
|
|
During initial configuration, outputs which are disabled have null
modes.
|
|
|
|
Using pre-init computed RandR information, make reasonable
default choices for the output configuration at startup time.
Either some preferred size or a size which yields 96dpi is chosen,
from which other monitors are set to a similar size. The largest
size sets the screen size.
This needs to be extended to respect config file settings, but
those have not been defined yet.
|
|
Conflicts:
src/i830.h
src/i830_cursor.c
src/i830_dri.c
src/i830_driver.c
src/i830_video.c
|
|
|
|
Output options will be replaced by properties.
Permits outputs to be connected to arbitrary CRTCs (within hardware limits).
No cloning yet.
|
|
Pipes are available when they are not in use.
|
|
|
|
|