summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--man/radeon.man8
-rw-r--r--src/radeon.h3
-rw-r--r--src/radeon_driver.c14
3 files changed, 20 insertions, 5 deletions
diff --git a/man/radeon.man b/man/radeon.man
index eb775ed..db090d5 100644
--- a/man/radeon.man
+++ b/man/radeon.man
@@ -26,7 +26,7 @@ driver supports PCI and AGP video cards based on the following ATI chips
Radeon 7200
.TP 12
.B RV100
-Radeon 7000(VE), M6
+Radeon 7000(VE), M6, RN50/ES1000
.TP 12
.B RS100
Radeon IGP320(M)
@@ -625,6 +625,12 @@ case. This is only useful for LVDS panels (laptop internal panels).
The default is
.B on.
.TP
+.BI "Option \*qRN50Force3D\*q \*q" boolean \*q
+Enable DRI support for RN50/ES1000 chips. The 3D engine on these chips has
+not been validated at the hardware level and is not likely to work in most
+cases. If it does, you got lucky. The default is
+.B off.
+.TP
.SH SEE ALSO
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
diff --git a/src/radeon.h b/src/radeon.h
index 1f44163..0f5dae0 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -156,7 +156,8 @@ typedef enum {
OPTION_LVDS_PROBE_PLL,
OPTION_ACCELMETHOD,
OPTION_CONSTANTDPI,
- OPTION_REVERSE_DISPLAY
+ OPTION_REVERSE_DISPLAY,
+ OPTION_RN50_3D
} RADEONOpts;
/* ------- mergedfb support ------------- */
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index cd5a807..1d217ae 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -198,6 +198,7 @@ static const OptionInfoRec RADEONOptions[] = {
{ OPTION_ACCELMETHOD, "AccelMethod", OPTV_STRING, {0}, FALSE },
{ OPTION_CONSTANTDPI, "ConstantDPI", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_REVERSE_DISPLAY,"ReverseDisplay", OPTV_BOOLEAN, {0}, FALSE },
+ { OPTION_RN50_3D, "RN50Force3D", OPTV_BOOLEAN, {0}, FALSE },
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
@@ -2511,9 +2512,16 @@ static Bool RADEONPreInitDRI(ScrnInfoPtr pScrn)
if (info->Chipset == PCI_CHIP_RN50_515E ||
info->Chipset == PCI_CHIP_RN50_5969) {
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "Direct rendering not supported on RN50\n");
- return FALSE;
+ if (xf86ReturnOptValBool(info->Options, OPTION_RN50_3D, FALSE)) {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Direct rendering for RN50 forced on -- "
+ "This is NOT officially supported at the hardware level "
+ "and may cause instability or lockups\n");
+ } else {
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Direct rendering not officially supported on RN50\n");
+ return FALSE;
+ }
}
if (info->Chipset == PCI_CHIP_RS400_5A41 ||