Age | Commit message (Collapse) | Author |
|
|
|
Missed the pI830->FbBase condition when removing the KMS hook.
|
|
Oops, my bad. Reverted 8d4bc36fae50b09a73ba2cfab920adb32141a358
since my kernel doesn't yet have the new param, committed
the revert by accident.
|
|
|
|
This adds back the resize hook so we can resize the front buffer under
kernel mode setting as well.
The patch also pulls the drmmode_* structs from drmmode_display.h into
drmmode_display.c and eliminates the header file.
|
|
This fixes failure to auth DRI2 clients under KMS.
|
|
Set alignments, tile settings and flags correctly in the 2D driver to support
tiled rendering. UXA's create pixmap function currently assumes the worst
about the alignment constraints; that should probably be fixed. Some of the
1M alignment fixes could probably be done more cleanly as well.
|
|
They're tiny so it shouldn't have been a problem, but play it safe. This is
another <5% loss on top of the previously reported value, bringing the whole
series to about 8%.
|
|
Several VBT modes out in the wild have H or VSyncEnd values greater than
the H or VTotal value. This clearly ends up creating a bad mode,
causing some panels to either ignore the timing or display some sort of
corrupt image.
Check for these cases and fix them up by default, making things work for
several Dell and Sony machines.
Fixes FDO bug #17292.
|
|
The IM-945GSE-A claims to have a TV output, and always claims a connected
LVDS output. It has neither.
|
|
|
|
This eliminates the pinned memory allocation for 965 render state.
|
|
|
|
This is a first step in a series of changes to avoid requiring a pinned object,
which gets in the way of doing non-root KMS. This change appears to result in
about a 2-6% loss in x11perf -aa10text, which better algorithms in libdrm could
make up for (it hasn't really had to deal with code this bad before).
|
|
|
|
Debian "unstable" is still stuck with this ancient version.
|
|
Leaving the VT in KD_TEXT mode keeps the kernel's blanking code active,
so when a DPMS event happens, the fb console is restored rather than X's
configuration. On the downside it means the kernel won't print messages
in the background, which would be visible if a panic or emergency switch
occurred. The proper fix here is a new kernel mode, which we can move
to when ready.
|
|
Even if KMS is enabled we should do this, to avoid running batches that
depend on other state we tear down in LeaveVT.
|
|
This improves performance by avoiding repeated map/unmap cycles, which are
a bit expensive on my machine with lock debugging on in the kernel. It could
do much better if we did more than 18 or so floats at a time.
|
|
The require_space had failed since it only checked for the space required
by the batch emits in the function itself, but not in the
i965_emit_composite_state() that it called (the state we were concerned about
having set up for that 12 * 4 dwords to follow!). This is replaced by
intel_batch_start_atomic(), which will catch such mistakes in the future.
|
|
|
|
Previously it wouldn't count the pixmaps that were about to be used, which
is pretty much the only purpose of having the pain around. This also
eliminates the check_twice confusion with emit_batch_header_for_composite().
|
|
|
|
|
|
We want the objects to be created once per prepare/done both for efficiency and
so we can handle aperture checking better.
|
|
This increases the overhead for video in the presence of cliprects, but we
were already doing nasty things in that case and don't seem to care. This
could fix potential bad rendering or hangs with video, particularly with
DRI2.
|
|
|
|
It was broken on current kernels, and deprecated anyway.
|
|
It never worked with any upstream linux kernel, and is quite heavily
deprecated. A new solution based around DRI2 will probably be
forthcoming. Pageflipping itself is next.
|
|
The sony_laptop kernel module (since v2.6.23) supports backlight control
via the sysfs interface:
/sys/class/backlight/sony
This patch will enable xf86-video-intel to use this backlight control method
for Sony VAIO Laptops with Intel integrated video.
|
|
|
|
|
|
|
|
|
|
This also introduces tests to make sure that we asked for enough reserved space
and that we don't allow wrapping at the wrong time.
This fixes a hang during text rendering with DRI2 and a GL client running,
but could potentially affect text rendering with GEM in general with an
exceptional batchbuffer setup.
|
|
|
|
I915_EMIT_IRQ is a read/write ioctl, not a write only. Found by OpenBSd's
kernel code which checks these things a long more strongly than Linux.
|
|
since modesetting is compiled by default now, ifdef __linux__ the linux
only includes and ioctls.
|
|
This fixes #17235, VGA random hang on recent G45/43 board.
From spec, SR01 bit 5 should be set before VGA plane disable through
control register, otherwise we might get random crash and lockups.
|
|
As the rotation memory and rotation pixmap are allocated separately (to make
rotation at startup work), the allocate dri_bo needs to be set in the pixmap
for acceleration to work. This restores the performance in rotated modes.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
Print out the calculated mode line values (as i830_bios.c uses) and
check for validity against known problems.
|
|
Without this, rendering component-alpha glyphs may break without a mask.
Bug #19534. Ported from fix by Michel Dänzer <daenzer@vmware.com> in
xserver commit 639f289dcdbe00a516820f573c01a8339e120ed4
|
|
http://bugs.freedesktop.org/show_bug.cgi?id=19247
Because latest xorg will check whether the display is continuous frequency through one flag in monitor info structure,
if not it doesn't touch default modes. When laptop failed to fetch edid, We don't set the flag. In i830_lvds.c,
so currently we can not get default modes except only one mode line from bios.
In order to achieve default modes from xserver successfully,I set the flag and other EDID features.
|
|
If the EDID data from the LVDS doesn't indicate support for a wide range of
continuous frequencies, it will not match any of the default modes although
our LVDS scaler logic ignores refresh rates when programming LVDS modes. Fix
this by smashing the compute EDID data to open up the sync rates.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
The API should be stable at this point, and we don't want to allow mistakes.
|
|
|
|
This fixes glReadPixels failure on single-channel 915GM, as the software code
for readpixels was actually the only code in the driver doing tiling against
these buffers (everything else says "rely on fence registers", since the 2D
blits don't have a "don't rely on fence registers" option).
|
|
Yes, it would be nice to do something other than crash here.
Signed-off-by: Keith Packard <keithp@keithp.com>
|