[Mesa-dev] [PATCH] gallium/radeon: use the internal clear_buffer callback to fix r600g
Marek Olšák
maraeo at gmail.com
Fri Jan 6 21:26:01 UTC 2017
From: Marek Olšák <marek.olsak at amd.com>
r600g doesn't set pipe_context::clear_buffer.
---
src/gallium/drivers/radeon/r600_pipe_common.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c
index 28bb791..5113765 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -538,21 +538,23 @@ bool r600_check_device_reset(struct r600_common_context *rctx)
rctx->device_reset_callback.reset(rctx->device_reset_callback.data, status);
return true;
}
static void r600_dma_clear_buffer_fallback(struct pipe_context *ctx,
struct pipe_resource *dst,
uint64_t offset, uint64_t size,
unsigned value)
{
- ctx->clear_buffer(ctx, dst, offset, size, &value, 4);
+ struct r600_common_context *rctx = (struct r600_common_context *)ctx;
+
+ rctx->clear_buffer(ctx, dst, offset, size, value, R600_COHERENCY_NONE);
}
bool r600_common_context_init(struct r600_common_context *rctx,
struct r600_common_screen *rscreen,
unsigned context_flags)
{
slab_create_child(&rctx->pool_transfers, &rscreen->pool_transfers);
rctx->screen = rscreen;
rctx->ws = rscreen->ws;
--
2.7.4
More information about the mesa-dev
mailing list