Age | Commit message (Collapse) | Author |
|
It's been broken for years now, and KMS offers a much better chance of getting
this working sensibly without making a mess of the 2D driver.
|
|
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.
|
|
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.
|
|
This results in allocation overhead for small (8x8-128x128 or so) pixmaps with
DRI2, but we're interested in looking at tiling them in general in the near
future, anyway.
|
|
Conflicts:
src/i830_dri.c
src/i830_driver.c
src/i830_memory.c
|
|
This tracks whether the last command in each batch is an MI_FLUSH command
and avoids appending another MI_FLUSH in the non-GEM cases.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
When moving or clearing the extra buffer contents associated with DRI
windows, the XAA code needs to see which buffer is being manipulated in the
Setup functions to program the tiling values correctly. Calling
I830SelectBuffer and not then calling I830Setup... would result in mis-tiled
rendering.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
Implement DRI2CopyRegion and provide drm device filename to DRI2 module.
|
|
|
|
This disables UXA and DRM modesetting pre-1.5, due to privates handling
issues.
|
|
The previous location for pitch fixup would have only worked when depth was
used with the backbuffer, and no page flipping or other adventures occurred.
|
|
|
|
We won't have the ring mapped.
|
|
|
|
EXA and UXA have the same acceleration interface, but UXA doesn't provide
pixmap stride information as it doesn't manage pixmaps. Move all of that
into the driver structure so that the acceleration functions needn't
reference the EXA structure.
|
|
This eliminates the cost of EXA migration management while providing full
pixmap allocation control to the driver. The goal is to make something
useful for UMA drivers.
|
|
|
|
The batchbuffers are managed using libdrm and bufmgr_fake, and dispatched from
the ring from userland.
|
|
|
|
|
|
This reduces the CPU overhead of memcpying them in every time, for a speedup
in aa24text of around 30%. This is based on work by Carl Worth which is
in the intel-batchbuffer branch.
|
|
|
|
|
|
Some of the hw state restoration callbacks may want to use the ring for various
things like stopping video playback, so leave the ring enabled until we get
back from RestoreHWState. Also rename the functions so that their purpose is
clearer and remove a couple of redundant lines.
|
|
This is a step towards being able to expose buffer objects through the screen
private to DRI clients, instead of having them have to use the fake buffer
object type.
This fails in two ways. First, the kernel memory manager is not currently
suitable for doing the physical allocations we need, so we still use AGP for
those. Additionally, the DRI lock can't be initialized early enough for us, so
these buffer object allocations fail. This will be fixed by improving the
DRM interface.
|
|
Use proper unsigned type for timer variables, and try to dump 965G state.
|
|
Conflicts:
src/i830.h
src/i830_dri.c
src/i830_dri.h
src/i830_driver.c
src/i830_memory.c
src/i830_xaa.c
|
|
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.
|
|
Need to bump the DRI DDX version minor for the added SAREA fields.
|
|
The now-generic (kind of) EXA code will be cleaned up and moved to generic
files in a later commit.
|
|
NULL vs. 0
make some variables static
remove redundant variables
There are only a few sparse warnings left now: some bitfield warnings
and a few 'mixing code and declarations' warnings from the ring macros.
|
|
|
|
Conflicts:
man/i810.man
src/Makefile.am
src/i830_accel.c
src/i830_dga.c
src/i830_driver.c
|
|
(Samuel Thibault)
|
|
|
|
865GM and 915G. There is issue in picture 'repeat' support.
And also stop recursive behavior in I830WaitLpRing to allow
server to abort instead of system hang.
|
|
ones for EXA support when available). Also, add an abstraction of XAA/EXA
MarkSync and WaitSync functionality so we don't need to sprinkle the ifdefs all
over, and correctly use them.
|
|
|
|
|
|
|
|
dlloader, all framebuffer formats except cfb and the overlay modes
should work, and r128 and radeon need to be loaded from the ati
driver (both issues to be fixed soon). Tested on i740, s3virge,
mach64, tdfx, vesa, and vga drivers. elfloader users shouldn't be
affected.
|
|
Dual Head support for i830, i855, i915.
ARGB cursor support (including i810) for all chipsets.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bring the tree up to date for the Cygwin folks
|