diff options
author | Vladimir Dergachev <volodya@mindspring.com> | 2004-12-12 16:05:35 +0000 |
---|---|---|
committer | Vladimir Dergachev <volodya@mindspring.com> | 2004-12-12 16:05:35 +0000 |
commit | 36b92808e4ff1311f91543388c18cbe8e9eb4aab (patch) | |
tree | 6db8c8aa8db6cc665e44d832629170e6a4b58d98 /src/radeon_driver.c | |
parent | 68ea67ce98b8f3ad4c17f987e0e2b92f79a96fbf (diff) |
Modified:
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.
Diffstat (limited to 'src/radeon_driver.c')
-rw-r--r-- | src/radeon_driver.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c index faed1523..ba9f4c1c 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -142,6 +142,7 @@ typedef enum { OPTION_PAGE_FLIP, OPTION_NO_BACKBUFFER, OPTION_XV_DMA, + OPTION_R300_DRM, #endif OPTION_PANEL_OFF, OPTION_DDC_MODE, @@ -195,6 +196,7 @@ static const OptionInfoRec RADEONOptions[] = { { OPTION_PAGE_FLIP, "EnablePageFlip", OPTV_BOOLEAN, {0}, FALSE }, { OPTION_NO_BACKBUFFER, "NoBackBuffer", OPTV_BOOLEAN, {0}, FALSE }, { OPTION_XV_DMA, "DMAForXv", OPTV_BOOLEAN, {0}, FALSE }, + { OPTION_R300_DRM, "X_R300_DRM", OPTV_BOOLEAN, {0}, FALSE }, #endif { OPTION_PANEL_OFF, "PanelOff", OPTV_BOOLEAN, {0}, FALSE }, { OPTION_DDC_MODE, "DDCMode", OPTV_BOOLEAN, {0}, FALSE }, @@ -4709,11 +4711,21 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) (pScrn->displayWidth * pScrn->virtualY * info->CurrentLayout.pixel_bytes * 3 + 1023) / 1024); info->directRenderingEnabled = FALSE; - } else if (info->ChipFamily >= CHIP_FAMILY_R300) { - info->directRenderingEnabled = FALSE; - xf86DrvMsg(scrnIndex, X_WARNING, - "Direct rendering not yet supported on " - "Radeon 9500 and newer cards\n"); + } else if (info->ChipFamily >= CHIP_FAMILY_R300) { + if ( xf86ReturnOptValBool(info->Options, OPTION_R300_DRM, FALSE) ) { + xf86DrvMsg(scrnIndex, X_WARNING, + "Direct rendering support is highly experimental for " + "Radeon 9500/9700 and newer cards\n" + "\t\tIn fact, the only thing you could probably use it for is better 2d acceleration.\n" + ); + info->directRenderingEnabled = RADEONDRIScreenInit(pScreen); + } else { + info->directRenderingEnabled = FALSE; + xf86DrvMsg(scrnIndex, X_WARNING, + "Direct rendering is not yet supported on " + "Radeon 9500 and newer cards. \n" + "\t\tTo enable it anyway turn on X_R300_DRM option. Note: this might lockup your computer\n"); + } } else if (info->IsSecondary) { info->directRenderingEnabled = FALSE; } else if (xf86IsEntityShared(info->pEnt->index)) { |