diff options
author | Marek Olšák <[email protected]> | 2013-10-05 18:34:32 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2013-10-06 03:13:48 +0200 |
commit | 373f8670d1c670003674e1eaa7c1f0cd823a0431 (patch) | |
tree | fed589d091ee705e10dfa50f51a16a487b35f1b9 /src/gallium/drivers/r600/r600_blit.c | |
parent | 2656c6118be066766f16cc7c801e8e7997539c8b (diff) |
Revert "r600g: only flush the caches that need to be flushed during CP DMA operations"
This reverts commit 7948ed1250cae78ae1b22dbce4ab23aceacc6159.
It caused graphical corruption. I've got no idea why.
Bugzilla:
https://bugs.freedesktop.org/show_bug.cgi?id=70042
https://bugs.freedesktop.org/show_bug.cgi?id=68451
Conflicts:
src/gallium/drivers/r600/evergreen_hw_context.c
src/gallium/drivers/r600/r600_hw_context.c
src/gallium/drivers/r600/r600_pipe.h
Diffstat (limited to 'src/gallium/drivers/r600/r600_blit.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_blit.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c index 5000eaed9ff..124efa5d7df 100644 --- a/src/gallium/drivers/r600/r600_blit.c +++ b/src/gallium/drivers/r600/r600_blit.c @@ -611,16 +611,9 @@ void r600_copy_buffer(struct pipe_context *ctx, struct pipe_resource *dst, unsig /* Require 4-byte alignment. */ dstx % 4 == 0 && src_box->x % 4 == 0 && src_box->width % 4 == 0) { - /* Flush both resources. */ - r600_flag_resource_cache_flush(rctx, src); - r600_flag_resource_cache_flush(rctx, dst); - r600_blitter_begin(ctx, R600_COPY_BUFFER); util_blitter_copy_buffer(rctx->blitter, dst, dstx, src, src_box->x, src_box->width); r600_blitter_end(ctx); - - /* Flush the dst in case the 3D engine has been prefetching the resource. */ - r600_flag_resource_cache_flush(rctx, dst); } else { util_resource_copy_region(ctx, dst, 0, dstx, 0, 0, src, 0, src_box); } @@ -639,15 +632,10 @@ static void r600_clear_buffer(struct pipe_context *ctx, struct pipe_resource *ds union pipe_color_union clear_value; clear_value.ui[0] = value; - r600_flag_resource_cache_flush(rctx, dst); - r600_blitter_begin(ctx, R600_DISABLE_RENDER_COND); util_blitter_clear_buffer(rctx->blitter, dst, offset, size, 1, &clear_value); r600_blitter_end(ctx); - - /* Flush again in case the 3D engine has been prefetching the resource. */ - r600_flag_resource_cache_flush(rctx, dst); } else { uint32_t *map = r600_buffer_map_sync_with_rings(&rctx->b, r600_resource(dst), PIPE_TRANSFER_WRITE); |