summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2011-03-02 20:13:50 -0500
committerDave Airlie <airlied@redhat.com>2011-05-24 15:55:56 +1000
commite1d28e011f4a5139cbc778973c63158ed2746716 (patch)
tree202f8f0caff17793287d67c1458325b4c77c469a
parent21e44a20b8b1b64079ee77f45aaa5010206ed7b6 (diff)
kms/cayman: stub out exa support
Just fallbacks for now. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
-rw-r--r--src/evergreen_exa.c15
-rw-r--r--src/evergreen_textured_videofuncs.c3
-rw-r--r--src/radeon_kms.c1
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");