Age | Commit message (Collapse) | Author |
|
My 8500 in i845 doesn't work with fastwrites even setup by the firmware.
|
|
Based on the assumption that firmware should have set up the card and host
bridge appropriately for these settings, this may actually be safer, at least
for the transfer rate; leaving fast writes enabled is hopefully safe as well,
it certainly is on my sytem.
See https://bugs.freedesktop.org/show_bug.cgi?id=9284 .
|
|
Instead of calling the DRM CP idle ioctl, just emit the cache flush commands
into the CP stream.
|
|
In theory the driver should be able to handle the front buffer not at VRAM 0
In practice it didn't.. this is cleanup for at least XAA parts of the driver
to allow for the frontbuffer to move. It has to re-organise a large part of ScreenInit so things happen in the correct order otherwise some things get setup in-correctly. (not sure EXA with fb not at 0 works yet...)
|
|
We still have to force-sync the pages on enabling page flipping with XAA as the
second page may have been clobbered by the offscreen pixmap cache since they
were last synced.
|
|
This way we don't ever have to forcedly synchronize the pages so we hopefully
never clobber one page's contents when we shouldn't.
|
|
Also move the DamageEmpty() call into RADEONDRIRefreshArea().
|
|
Also use the damage layer directly instead of via shadowfb and blit dirty
rectangles to the second page in LeaveServer in order to try and improve the
tradeoff between performance and correctness.
|
|
|
|
Rather than publish a non-existant driver name for RN50, just don't bother
initializing it in the first place.
|
|
OTOH, flush everything when the previous engine mode is unknown, and mark the
engine mode as unknown in a couple more cases.
|
|
|
|
|
|
Also make the formatting of the if statements consistent.
|
|
This allows getting higher depth buffer precision and stencil hardware
acceleration in depth 16 or saving some video RAM at the cost of these features
in depth 24.
|
|
The radeon driver builds warning-free with gcc -Wall here now.
|
|
|
|
|
|
Sauerbeck).
|
|
various problems up to system hangs on X server startup have been
reported with that and DRI enabled.
|
|
switching to console with 3D clients running.
|
|
is double-buffered by default, which is desirable in a number of
situations, in particular when running a GLX compositing manager with
AIGLX.
|
|
aperture size. Otherwise it tries to overmap things if they are up near
the end of memory.
|
|
suspend/resume work a lot better on PCIE cards.
|
|
symbols directly. The xf86* versions aren't supposed to be used
directly.
Drop libc wrapper; don't include xf86_ansic.h and add includes now missing.
|
|
right for requesting drm versions, replace the use of some numbers with
the respective macro defines in radeon_video.c, and add some more macro
defines. None of that really matters.
|
|
the normal CloseScreen callback chain at a spot that matches the call
to DRIFinishScreenInit in order to unwrap at the right time.
|
|
module version early, in order to properly limit the framebuffer size
when a module that doesn't support the new map is loaded. That will
improve backward compatibility. I also made the minimum required kernel
module version 1.3 which hopefully shouldn't be a problem for anybody,
and cleaned up the ordering in which we test for DRM version to enable
features
|
|
before XAAInit(), which breaks ShadowFB.
|
|
detects available & accessible video memory and initializes the card
internal memory map. Along the way, I re-ordered some of the stuffs in
pre-init in order to remove some dodgy codepath, fixed various init,
exit and vt switch issues, and overall made the driver more robust. The
full memory map fix requires an updated DRM. The X driver no longer
tries to position the AGP aperture, this becomes entirely DRM
responsibility.
|
|
|
|
the clients to get access to a secure area of framebuffer.
|
|
the function (the code above will cause pixmap cache to be freed and
copied around, and these functions must be called after that otherwise
pixmap damage will occur). May be related to #4440, #4456 (unclear if
these setups involve 3d apps)
|
|
stubs from drivers, comment the non-empty ones.
|
|
allow for PCI/AGP/PCIE cards. Set PCI gart allocation to only happen on
PCIE cards. Add Radeon PCIE card detection using capability bits.
|
|
controlled at compile time, plus the runtime option of Option
"AccelMethod" "EXA" or "XAA". The XAA support appears to remain as
before, while the EXA pieces need just a little more polishing. Notable
features:
- Render acceleration working on Radeon 100 and 200-series with DRI on.
- DRI works with EXA Notable issues:
- DGA disabled in the EXA case.
- Backbuffer moves disabled in the EXA case.
- No textured XVideo.
- MMIO render acceleration is close but still has some issues.
- Memory pressure while using Composite is really troublesome with DRI on.
This patch is based on an initial patch by Zack Rusin, with significant
work by Benjamin Herrenschmidt and myself.
|
|
needed to support PCIE Radeons using a new DRM.
|
|
|
|
|
|
|
|
number of the DRIInfoRec, disambiguating it from the XF86DRI protocol
version number. Modify DRIQueryVersion to return the libdri version
number, which all DDXes were requesting implicitly. Fix the DDXes to
check for the DRIINFO version they were compiled against.
|
|
Hui Yu)
|
|
R300 and above - presumably the filtering should take place at the DRM
driver level. Correct cut'n'paste position misprint. Big thanks for
Michel Danzer for pointing out both improvements.
|
|
chips work fine with R300 microcode. Thanks go to Rune Petersen for
careful investigation.
|
|
Convert all XAA accel code to use explicit dst and src offset pitch
control to make it work. Use the new drm surface ioctls to set up the
tiled surfaces (if dri is enabled).
|
|
|
|
programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
Move DMA robustness fix into radeon_dri.c::RADEONEnterServer() as per
suggestion by Michel Dänzer.
I could not trigger a lockup, even with r300_demo (possibly it has code
that flushes cache inside ?), so this must be good enough..
|
|
programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
Enable DRM support permanently, allowing its use for any CHIP_FAMILY >
R300. Fix bug in naming Mesa3d driver (it was defaulting to r200)
|
|
|
|
programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
programs/Xserver/hw/xfree86/drivers/ati/radeon_common.h
programs/Xserver/hw/xfree86/drivers/ati/radeon_version.h Add R300 (and
later) DRM support, protected by X_R300_DRM option.
Note: at the moment this is for 2d support only, if enabled running
glxgears locks up my machine, but DMAForXv=yes works fine.
|