diff options
author | Marek Olšák <[email protected]> | 2012-06-25 22:53:21 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-06-25 23:53:49 +0200 |
commit | 4891c5dc64ccd8cf2bf8a8550ae23e1a61806a7d (patch) | |
tree | a2160064ae83ba0873a512ebf05f0c42bf9d8660 /src/gallium/drivers/r600/r600_texture.c | |
parent | da98bb6fc105e1a2f688a1713ca9e50f0ac8fbed (diff) |
r600g: inline r600_blit_push_depth and use resource_copy_region
We are going to have a separate resource for depth texturing and transfers
and this is just a transfer thing.
Diffstat (limited to 'src/gallium/drivers/r600/r600_texture.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_texture.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c index 10f47ec5077..236812666f5 100644 --- a/src/gallium/drivers/r600/r600_texture.c +++ b/src/gallium/drivers/r600/r600_texture.c @@ -906,7 +906,17 @@ void r600_texture_transfer_destroy(struct pipe_context *ctx, if (rtex->is_depth && !rtex->is_flushing_texture) { if ((transfer->usage & PIPE_TRANSFER_WRITE) && rtex->flushed_depth_texture) { - r600_blit_push_depth(ctx, rtex); + struct pipe_box sbox; + + sbox.x = sbox.y = sbox.z = 0; + sbox.width = texture->width0; + sbox.height = texture->height0; + /* XXX that might be wrong */ + sbox.depth = 1; + + ctx->resource_copy_region(ctx, texture, 0, 0, 0, 0, + &rtex->flushed_depth_texture->resource.b.b, 0, + &sbox); } } |