diff options
author | Dave Airlie <[email protected]> | 2010-10-13 10:44:46 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2010-10-18 13:46:42 +1000 |
commit | 375613afe38e0704b4ce38e64765b12d9660a846 (patch) | |
tree | 64f102ce3728e121bbb3783341c37f1d08e124c2 /src/gallium/drivers/r600/r600_texture.c | |
parent | c61b97d50425236f001dbc54f098318f921fe916 (diff) |
r600g: fix transfer function for tiling.
this makes readback with tiled back work better.
Diffstat (limited to 'src/gallium/drivers/r600/r600_texture.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_texture.c | 5 |
1 files changed, 3 insertions, 2 deletions
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; } |