diff options
author | Marek Olšák <[email protected]> | 2012-07-18 00:17:46 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-07-18 00:21:53 +0200 |
commit | b242adbe5cfa165b252064a1ea36f802d8251ef1 (patch) | |
tree | 9438e162228ccdf0684c17a7fb9613e2a8dcb5d9 /src/gallium/drivers/r600/r600_blit.c | |
parent | 611dd529425281d73f1f0ad2000362d4a5525a25 (diff) |
r600g: remove needless wrapper r600_texture_depth_flush
Diffstat (limited to 'src/gallium/drivers/r600/r600_blit.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_blit.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c index 9429a1bdcc8..6147a9fd610 100644 --- a/src/gallium/drivers/r600/r600_blit.c +++ b/src/gallium/drivers/r600/r600_blit.c @@ -336,10 +336,15 @@ static void r600_resource_copy_region(struct pipe_context *ctx, return; } - if (rsrc->is_depth && !rsrc->is_flushing_texture) - r600_texture_depth_flush(ctx, src, NULL, - src_level, src_level, - src_box->z, src_box->z + src_box->depth - 1); + /* This must be done before entering u_blitter to avoid recursion. */ + if (rsrc->is_depth && !rsrc->is_flushing_texture) { + if (!r600_init_flushed_depth_texture(ctx, src, NULL)) + return; /* error */ + + r600_blit_uncompress_depth(ctx, rsrc, NULL, + src_level, src_level, + src_box->z, src_box->z + src_box->depth - 1); + } restore_orig[0] = restore_orig[1] = FALSE; |