diff options
author | Michel Dänzer <daenzer@vmware.com> | 2009-02-12 19:22:12 +0100 |
---|---|---|
committer | Michel Dänzer <daenzer@vmware.com> | 2009-02-12 19:22:12 +0100 |
commit | c19aa4fc8da7ac4745624098b146bcc42c0436dd (patch) | |
tree | ab85237cc421f0b22702b947530c60f689847573 /src | |
parent | adc35636aa1e936ec74cba8931ccffe2b5c11656 (diff) |
EXA: The source tiling code can't handle RepeatReflect yet.
Diffstat (limited to 'src')
-rw-r--r-- | src/radeon_exa_render.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c index a8d99ec7..c44502c1 100644 --- a/src/radeon_exa_render.c +++ b/src/radeon_exa_render.c @@ -284,7 +284,7 @@ static Bool RADEONSetupSourceTile(PicturePtr pPict, info->accel_state->need_src_tile_x = info->accel_state->need_src_tile_y = FALSE; info->accel_state->src_tile_width = info->accel_state->src_tile_height = 65536; /* "infinite" */ - if (pPict->repeat && pPict->repeatType == RepeatNormal) { + if (pPict->repeat && pPict->repeatType != RepeatPad) { Bool badPitch = needMatchingPitch && !RADEONPitchMatches(pPix); int w = pPict->pDrawable->width; @@ -297,7 +297,12 @@ static Bool RADEONSetupSourceTile(PicturePtr pPict, } else { info->accel_state->need_src_tile_x = (w & (w - 1)) != 0 || badPitch; info->accel_state->need_src_tile_y = (h & (h - 1)) != 0; - + + if ((info->accel_state->need_src_tile_x || + info->accel_state->need_src_tile_y) && + pPict->repeatType != RepeatNormal) + RADEON_FALLBACK(("Can only tile RepeatNormal at this time\n")); + if (!canTile1d) info->accel_state->need_src_tile_x = info->accel_state->need_src_tile_y = |