diff options
-rw-r--r-- | src/evergreen_exa.c | 15 | ||||
-rw-r--r-- | src/evergreen_textured_videofuncs.c | 3 | ||||
-rw-r--r-- | src/radeon_kms.c | 1 |
3 files changed, 15 insertions, 4 deletions
diff --git a/src/evergreen_exa.c b/src/evergreen_exa.c index 69d29a85..8879d011 100644 --- a/src/evergreen_exa.c +++ b/src/evergreen_exa.c @@ -59,7 +59,8 @@ EVERGREENPrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg) const_config_t ps_const_conf; struct r600_accel_object dst; - //return FALSE; + if (info->ChipFamily == CHIP_FAMILY_CAYMAN) + return FALSE; if (!RADEONCheckBPP(pPix->drawable.bitsPerPixel)) RADEON_FALLBACK(("EVERGREENCheckDatatype failed\n")); @@ -431,7 +432,8 @@ EVERGREENPrepareCopy(PixmapPtr pSrc, PixmapPtr pDst, struct radeon_accel_state *accel_state = info->accel_state; struct r600_accel_object src_obj, dst_obj; - //return FALSE; + if (info->ChipFamily == CHIP_FAMILY_CAYMAN) + return FALSE; if (!RADEONCheckBPP(pSrc->drawable.bitsPerPixel)) RADEON_FALLBACK(("EVERGREENCheckDatatype src failed\n")); @@ -1089,7 +1091,8 @@ static Bool EVERGREENPrepareComposite(int op, PicturePtr pSrcPicture, struct r600_accel_object src_obj, mask_obj, dst_obj; float *cbuf; - //return FALSE; + if (info->ChipFamily == CHIP_FAMILY_CAYMAN) + return FALSE; if (pDst->drawable.bitsPerPixel < 8 || pSrc->drawable.bitsPerPixel < 8) return FALSE; @@ -1428,6 +1431,9 @@ EVERGREENUploadToScreen(PixmapPtr pDst, int x, int y, int w, int h, } } + if (info->ChipFamily == CHIP_FAMILY_CAYMAN) + goto copy; + scratch_pitch = RADEON_ALIGN(w, drmmode_get_pitch_align(pScrn, (bpp / 8), 0)); height = RADEON_ALIGN(h, drmmode_get_height_align(pScrn, 0)); base_align = drmmode_get_base_align(pScrn, (bpp / 8), 0); @@ -1553,6 +1559,9 @@ EVERGREENDownloadFromScreen(PixmapPtr pSrc, int x, int y, int w, } + if (info->ChipFamily == CHIP_FAMILY_CAYMAN) + goto copy; + if (!accel_state->allowHWDFS) goto copy; diff --git a/src/evergreen_textured_videofuncs.c b/src/evergreen_textured_videofuncs.c index 6200cdc2..ce5d2e19 100644 --- a/src/evergreen_textured_videofuncs.c +++ b/src/evergreen_textured_videofuncs.c @@ -114,6 +114,9 @@ EVERGREENDisplayTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv) float *vs_alu_consts; const_config_t vs_const_conf; + if (info->ChipFamily == CHIP_FAMILY_CAYMAN) + return; + cont = RTFContrast(pPriv->contrast); bright = RTFBrightness(pPriv->brightness); gamma = (float)pPriv->gamma / 1000.0; diff --git a/src/radeon_kms.c b/src/radeon_kms.c index aac17e2d..ebbe30f2 100644 --- a/src/radeon_kms.c +++ b/src/radeon_kms.c @@ -280,7 +280,6 @@ static Bool RADEONPreInitAccel_KMS(ScrnInfoPtr pScrn) } if (xf86ReturnOptValBool(info->Options, OPTION_NOACCEL, FALSE) || - (info->ChipFamily >= CHIP_FAMILY_CAYMAN) || (!RADEONIsAccelWorking(pScrn))) { xf86DrvMsg(pScrn->scrnIndex, X_INFO, "GPU accel disabled or not working, using shadowfb for KMS\n"); |