diff options
author | Alex Deucher <alex@t41p.hsd1.va.comcast.net> | 2008-05-08 08:45:51 -0400 |
---|---|---|
committer | Alex Deucher <alex@t41p.hsd1.va.comcast.net> | 2008-05-08 08:45:51 -0400 |
commit | 18e20bc22a55ecfee9798c01079d7b24d19f0051 (patch) | |
tree | aac20cd4d5e65b2a9260b0357d671ce0ae66b6d4 | |
parent | c3532268875fd24e6519bea2fb1b814d612bbdb4 (diff) |
RADEON: disable MMIO paths for EXA composite/texvid on IGP/R5xx
The MMIO paths eventually lead to a hang on r5xx/IGP. I haven't
been able to find out why yet.
-rw-r--r-- | src/radeon_exa_funcs.c | 7 | ||||
-rw-r--r-- | src/radeon_video.c | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/radeon_exa_funcs.c b/src/radeon_exa_funcs.c index 272ffa92..ab890adc 100644 --- a/src/radeon_exa_funcs.c +++ b/src/radeon_exa_funcs.c @@ -537,6 +537,9 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen) xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Render acceleration " "unsupported on R600 and newer cards.\n"); else if (IS_R300_3D || IS_R500_3D) { +#ifdef XF86DRI + if ((info->ChipFamily < CHIP_FAMILY_RS400) || (info->directRenderingEnabled)) { +#endif xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Render acceleration " "enabled for R300/R400/R500 type cards.\n"); info->exa->CheckComposite = R300CheckComposite; @@ -544,6 +547,10 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen) FUNC_NAME(R300PrepareComposite); info->exa->Composite = FUNC_NAME(RadeonComposite); info->exa->DoneComposite = FUNC_NAME(RadeonDoneComposite); +#ifdef XF86DRI + } else + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "EXA Composite requires CP on R5xx/IGP\n"); +#endif } else if ((info->ChipFamily == CHIP_FAMILY_RV250) || (info->ChipFamily == CHIP_FAMILY_RV280) || (info->ChipFamily == CHIP_FAMILY_RS300) || diff --git a/src/radeon_video.c b/src/radeon_video.c index 216cd658..1c13dcd4 100644 --- a/src/radeon_video.c +++ b/src/radeon_video.c @@ -286,12 +286,19 @@ void RADEONInitVideo(ScreenPtr pScreen) } if (info->ChipFamily != CHIP_FAMILY_RV250) { +#ifdef XF86DRI + if ((info->ChipFamily < CHIP_FAMILY_RS400) || (info->directRenderingEnabled)) { +#endif texturedAdaptor = RADEONSetupImageTexturedVideo(pScreen); if (texturedAdaptor != NULL) { adaptors[num_adaptors++] = texturedAdaptor; xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Set up textured video\n"); } else xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Failed to set up textured video\n"); +#ifdef XF86DRI + } else + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Textured video requires CP on R5xx/IGP\n"); +#endif } else xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Textured video disabled on RV250 due to HW bug\n"); |