summaryrefslogtreecommitdiff
path: root/driver/xf86-video-ati/src/radeon_accelfuncs.c
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2012-01-25 21:33:36 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2012-01-25 21:33:36 +0000
commit46e73e726a6a3567a4bb19b06c59826b9c6767d1 (patch)
tree8df52bebcc8ecbe55a8f8be1afae536b5fb46319 /driver/xf86-video-ati/src/radeon_accelfuncs.c
parentee1cf1e0a2b9e0f7070a4d1efa6b426373e8ba67 (diff)
Update to xf86-video-ati 6.14.3. Tested by many.
Diffstat (limited to 'driver/xf86-video-ati/src/radeon_accelfuncs.c')
-rw-r--r--driver/xf86-video-ati/src/radeon_accelfuncs.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/driver/xf86-video-ati/src/radeon_accelfuncs.c b/driver/xf86-video-ati/src/radeon_accelfuncs.c
index 45eb6d559..d0bead353 100644
--- a/driver/xf86-video-ati/src/radeon_accelfuncs.c
+++ b/driver/xf86-video-ati/src/radeon_accelfuncs.c
@@ -827,7 +827,7 @@ FUNC_NAME(RADEONSubsequentScanlineCPUToScreenColorExpandFill)(ScrnInfoPtr
OUT_ACCEL_REG(RADEON_SC_BOTTOM_RIGHT, ((y+h) << 16) | ((x+w) & 0xffff));
OUT_ACCEL_REG(RADEON_DST_Y_X, (y << 16) | (x & 0xffff));
/* Have to pad the width here and use clipping engine */
- OUT_ACCEL_REG(RADEON_DST_HEIGHT_WIDTH, (h << 16) | ((w + 31) & ~31));
+ OUT_ACCEL_REG(RADEON_DST_HEIGHT_WIDTH, (h << 16) | RADEON_ALIGN(w, 32));
FINISH_ACCEL();
@@ -836,7 +836,7 @@ FUNC_NAME(RADEONSubsequentScanlineCPUToScreenColorExpandFill)(ScrnInfoPtr
info->accel_state->scanline_x = x;
info->accel_state->scanline_y = y;
/* Have to pad the width here and use clipping engine */
- info->accel_state->scanline_w = (w + 31) & ~31;
+ info->accel_state->scanline_w = RADEON_ALIGN(w, 32);
info->accel_state->scanline_h = h;
info->accel_state->scanline_x1clip = x + skipleft;
@@ -1206,7 +1206,7 @@ FUNC_NAME(RADEONAccelInit)(ScreenPtr pScreen, XAAInfoRecPtr a)
a->ScanlineColorExpandBuffers = info->accel_state->scratch_buffer;
if (!info->accel_state->scratch_save)
info->accel_state->scratch_save
- = xalloc(((pScrn->virtualX+31)/32*4)
+ = malloc(((pScrn->virtualX+31)/32*4)
+ (pScrn->virtualX * info->CurrentLayout.pixel_bytes));
info->accel_state->scratch_buffer[0] = info->accel_state->scratch_save;
a->SetupForScanlineCPUToScreenColorExpandFill
@@ -1332,6 +1332,7 @@ FUNC_NAME(RADEONAccelInit)(ScreenPtr pScreen, XAAInfoRecPtr a)
#endif
#ifdef RENDER
+ info->RenderAccel = FALSE;
if (info->RenderAccel && info->xaaReq.minorversion >= 2) {
a->CPUToScreenAlphaTextureFlags = XAA_RENDER_POWER_OF_2_TILE_ONLY;
@@ -1345,10 +1346,7 @@ FUNC_NAME(RADEONAccelInit)(ScreenPtr pScreen, XAAInfoRecPtr a)
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "XAA Render acceleration "
"unsupported on Radeon 9500/9700 and newer. "
"Please use EXA instead.\n");
- } else if ((info->ChipFamily == CHIP_FAMILY_RV250) ||
- (info->ChipFamily == CHIP_FAMILY_RV280) ||
- (info->ChipFamily == CHIP_FAMILY_RS300) ||
- (info->ChipFamily == CHIP_FAMILY_R200)) {
+ } else if (IS_R200_3D) {
a->SetupForCPUToScreenAlphaTexture2 =
FUNC_NAME(R200SetupForCPUToScreenAlphaTexture);
a->SubsequentCPUToScreenAlphaTexture =