From: Dave Airlie Date: Wed, 13 Oct 2010 00:44:46 +0000 (+1000) Subject: r600g: fix transfer function for tiling. X-Git-Tag: android-x86-2.2~1056 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=375613afe38e0704b4ce38e64765b12d9660a846;p=android-x86%2Fexternal-mesa.git r600g: fix transfer function for tiling. this makes readback with tiled back work better. --- diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c index 07156bb7acc..edaebf86395 100644 --- a/src/gallium/drivers/r600/r600_texture.c +++ b/src/gallium/drivers/r600/r600_texture.c @@ -349,8 +349,6 @@ struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx, trans->transfer.sr = sr; trans->transfer.usage = usage; trans->transfer.box = *box; - trans->transfer.stride = rtex->pitch_in_bytes[sr.level]; - trans->offset = r600_texture_get_offset(rtex, sr.level, box->z, sr.face); if (rtex->depth) { r = r600_texture_depth_flush(ctx, texture); if (r < 0) { @@ -398,7 +396,10 @@ struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx, /* Always referenced in the blit. */ ctx->flush(ctx, 0, NULL); } + return &trans->transfer; } + trans->transfer.stride = rtex->pitch_in_bytes[sr.level]; + trans->offset = r600_texture_get_offset(rtex, sr.level, box->z, sr.face); return &trans->transfer; }