diff --git a/src/r600_exa.c b/src/r600_exa.c index 2dc33a8..c0fe3a3 100644 --- a/src/r600_exa.c +++ b/src/r600_exa.c @@ -1055,7 +1055,7 @@ static Bool R600CheckCompositeTexture(PicturePtr pPict, max_tex_w = 8192; max_tex_h = 8192; - if ((w > max_tex_w) || (h > max_tex_h)) + if ((w >= max_tex_w) || (h >= max_tex_h)) RADEON_FALLBACK(("Picture w/h too large (%dx%d)\n", w, h)); for (i = 0; i < sizeof(R600TexFormats) / sizeof(R600TexFormats[0]); i++) { @@ -2064,12 +2064,11 @@ R600DrawInit(ScreenPtr pScreen) #if EXA_VERSION_MAJOR > 2 || (EXA_VERSION_MAJOR == 2 && EXA_VERSION_MINOR >= 3) xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Setting EXA maxPitchBytes\n"); + /* XXX: Is this the real pitch limit? */ info->accel_state->exa->maxPitchBytes = 32768; - info->accel_state->exa->maxX = 8192; -#else - info->accel_state->exa->maxX = 8192; #endif - info->accel_state->exa->maxY = 8192; + info->accel_state->exa->maxX = 8191; + info->accel_state->exa->maxY = 8191; /* not supported yet */ info->accel_state->vsync = FALSE; diff --git a/src/radeon_exa_funcs.c b/src/radeon_exa_funcs.c index 8946638..747ae44 100644 --- a/src/radeon_exa_funcs.c +++ b/src/radeon_exa_funcs.c @@ -533,11 +538,11 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen) xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Setting EXA maxPitchBytes\n"); info->accel_state->exa->maxPitchBytes = 16320; - info->accel_state->exa->maxX = 8192; + info->accel_state->exa->maxX = 8191; #else info->accel_state->exa->maxX = 16320 / 4; #endif - info->accel_state->exa->maxY = 8192; + info->accel_state->exa->maxY = 8191; if (xf86ReturnOptValBool(info->Options, OPTION_EXA_VSYNC, FALSE)) { xf86DrvMsg(pScrn->scrnIndex, X_INFO, "EXA VSync enabled\n");