summaryrefslogtreecommitdiff
path: root/src/radeon_exa_render.c
diff options
context:
space:
mode:
authorMichel Dänzer <daenzer@vmware.com>2009-02-12 19:22:12 +0100
committerMichel Dänzer <daenzer@vmware.com>2009-02-12 19:22:12 +0100
commitc19aa4fc8da7ac4745624098b146bcc42c0436dd (patch)
treeab85237cc421f0b22702b947530c60f689847573 /src/radeon_exa_render.c
parentadc35636aa1e936ec74cba8931ccffe2b5c11656 (diff)
EXA: The source tiling code can't handle RepeatReflect yet.
Diffstat (limited to 'src/radeon_exa_render.c')
-rw-r--r--src/radeon_exa_render.c9
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 =