Age | Commit message (Collapse) | Author |
|
|
|
|
|
The XAA allocator returned an offset from the beginning of the frontbuffer
allocation (where the linear allocations come from), while EXA returned one
from the start of framebuffer. Now, both of them use the start of framebuffer
as the reference.
|
|
|
|
|
|
|
|
|
|
|
|
With this, we no longer allocate XV through the XF86 linear allocator in the
EXA case. We also no longer allocate extra space for the XF86 2D allocator
that we don't use in EXA mode, or space for the EXA allocator in XAA mode.
The EXA offscreen allocator now gets enough space for several screenfuls of
pixmaps plus one 1920x1088 movie.
A large duplicated section of code for allocating each framebuffer in the old
dual-screen mode was also factored out.
|
|
Monitors without detailed modes, or those which do not bother to set a
physical size in their detailed modes may still have physical size in the
global data.
|
|
|
|
This larger model reported different (but still incorrect)
sync polarities, so instead of flipping them, just set them to the right
value.
|
|
The default I2C timeouts are very short, and while most
modern monitors have no trouble responding at that rate,
some older ones cannot manage.
|
|
When removing the very last mode for a monitor, move the ->Last pointer to
the previous list element.
|
|
For EDID with known errors, add a quirk mechanism to automatically
compensate. The first quirk is for a Belinea 1440x900 monitor which
incorrectly specifies sync polarities in the detailed mode.
|
|
m2 was ranging from min <= m2 < max instead of <= max resulting in
inaccurate PLL frequencies for some modes.
|
|
|
|
Extract correct color conversion values for all video formats from
documentation. Use those, with appropriate conversions, for the color
conversion register values.
|
|
The constants provided in the documentation for the subcarrier DDA values
assumed the clock was programmed to precisely 108MHz, but the PLL can't hit
that value exactly (or our PLL computation can't, in any case). The
result was an incorrect subcarrier frequency which resulted in synthetic
subcarrier phase shift and a lovely rainbow effect on the screen.
Unfortunately, the documentation didn't exactly describe the function
performed by the subcarrier clock hardware, so a bit of detective work was
needed. New constants were computed using the code in tv.5c and those, along
with lots of other values from the documentation were inserted into the
necessary tables.
The result appears to generate stable NTSC video on the svideo connector.
|
|
if the sdvo is not initialized, X will crash. So any application which
SetMode will crash X if there is no SDVO output.
|
|
I hit this when running doom3-demo
|
|
DGA has a copy of the current mode list (yes, this is broken).
Regenerate it whenever the ddx mode list changes.
|
|
|
|
TV output private type field was set to I830_OUTPUT_SDVO instead of
I830_OUTPUT_TVOUT. When DGA mode setting occurred, the sdvo output debug
code would be invoked and attempt to dereference sdvo-specific bits of the
private structure leading to a segfault.
|
|
Physical screen size from the config file or DDC will already
be set correctly in the screen structure, unless it was computed from the
virtual size using the -dpi command line option. Recompute physical size as
we reset the screen size if the -dpi option was used.
|
|
|
|
|
|
|
|
|
|
Also, clean up the message if the limitation is hit.
|
|
This bug resulted in broken xinerama, among other issues.
|
|
|
|
We're not supposed to turn off pipes/planes/dplls with outputs attached, which
we could have done before this.
|
|
|
|
We were forcing bus lines to 1 which was breaking DDC for some monitors.
Instead, make the PutBits function just tristate when writing 1 bits.
|
|
|
|
|
|
|
|
The old Init() function is removed and the previous Detect() function is now
init(). This leaves us room in the namespace for a detect() like other
outputs have ("is the monitor connected?"). Also, Power() became dpms(),
taking a DPMSMode*. In general, the mode setting path now matches the intel
internal path, except for the lack of mode_fixup().
|
|
Don't load if we don't match name
|
|
|
|
With this, the driver works at 640x480 and 1280x1024 on my panel.
|
|
|
|
|
|
|
|
|
|
This reverts commit 08575331ac75783c9910cfb6e78db701a29983ac.
|
|
This is an un(der?)-documented part of the render protocol: If the mask is
alpha only, then the component alpha flag is ignored on it.
|
|
|
|
Add delays after output and CRTC disable. Restore panel fit register before
PLLs are restarted. Move all VGA restore code last. Shuffle various register
writes around and add delays to match PipeSetMode code.
|