From 21dfcde3ff54e0d01ddd2c79b14db82b57541433 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Mon, 31 May 2010 04:01:56 +0200 Subject: r300g: set correct pitch in libdrm to match what DDX sets. This prevents some flushes from occuring. --- src/gallium/drivers/r300/r300_state.c | 12 ++++++------ src/gallium/drivers/r300/r300_texture.c | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src/gallium/drivers') diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index d68f4039ca..cfec8ac2b7 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -540,18 +540,18 @@ static void r300_fb_set_tiling_flags(struct r300_context *r300, level = new_state->cbufs[i]->level; r300->rws->buffer_set_tiling(r300->rws, tex->buffer, - tex->pitch[0], - tex->microtile, - tex->mip_macrotile[level]); + tex->pitch[0] * util_format_get_blocksize(tex->b.b.format), + tex->microtile, + tex->mip_macrotile[level]); } if (new_state->zsbuf) { tex = r300_texture(new_state->zsbuf->texture); level = new_state->zsbuf->level; r300->rws->buffer_set_tiling(r300->rws, tex->buffer, - tex->pitch[0], - tex->microtile, - tex->mip_macrotile[level]); + tex->pitch[0] * util_format_get_blocksize(tex->b.b.format), + tex->microtile, + tex->mip_macrotile[level]); } } diff --git a/src/gallium/drivers/r300/r300_texture.c b/src/gallium/drivers/r300/r300_texture.c index 4a5c932b7e..a4b5d34ce1 100644 --- a/src/gallium/drivers/r300/r300_texture.c +++ b/src/gallium/drivers/r300/r300_texture.c @@ -963,9 +963,9 @@ struct pipe_resource* r300_texture_create(struct pipe_screen* screen, base->bind, tex->size); rws->buffer_set_tiling(rws, tex->buffer, - tex->pitch[0], - tex->microtile, - tex->macrotile); + tex->pitch[0] * util_format_get_blocksize(tex->b.b.format), + tex->microtile, + tex->macrotile); if (!tex->buffer) { FREE(tex); @@ -1093,9 +1093,9 @@ r300_texture_from_handle(struct pipe_screen* screen, if (override_zb_flags) { rws->buffer_set_tiling(rws, tex->buffer, - tex->pitch[0], - tex->microtile, - tex->macrotile); + tex->pitch[0] * util_format_get_blocksize(tex->b.b.format), + tex->microtile, + tex->macrotile); } return (struct pipe_resource*)tex; } -- cgit v1.2.3