From: Marek Olšák <marek.ol...@amd.com> --- src/gallium/drivers/radeon/r600_buffer.c | 14 ++++++++++++++ src/gallium/drivers/radeon/r600_pipe_common.c | 14 -------------- src/gallium/drivers/radeon/r600_pipe_common.h | 22 ++++++++++++---------- 3 files changed, 26 insertions(+), 24 deletions(-)
diff --git a/src/gallium/drivers/radeon/r600_buffer.c b/src/gallium/drivers/radeon/r600_buffer.c index 13d11bd..8158234 100644 --- a/src/gallium/drivers/radeon/r600_buffer.c +++ b/src/gallium/drivers/radeon/r600_buffer.c @@ -26,6 +26,20 @@ #include "r600_cs.h" +boolean r600_rings_is_buffer_referenced(struct r600_common_context *ctx, + struct radeon_winsys_cs_handle *buf, + enum radeon_bo_usage usage) +{ + if (ctx->ws->cs_is_buffer_referenced(ctx->rings.gfx.cs, buf, usage)) { + return TRUE; + } + if (ctx->rings.dma.cs && + ctx->ws->cs_is_buffer_referenced(ctx->rings.dma.cs, buf, usage)) { + return TRUE; + } + return FALSE; +} + void *r600_buffer_map_sync_with_rings(struct r600_common_context *ctx, struct r600_resource *resource, unsigned usage) diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index 2cdca77..4c95159 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -305,17 +305,3 @@ void r600_screen_clear_buffer(struct r600_common_screen *rscreen, struct pipe_re rscreen->aux_context->flush(rscreen->aux_context, NULL, 0); pipe_mutex_unlock(rscreen->aux_context_lock); } - -boolean r600_rings_is_buffer_referenced(struct r600_common_context *ctx, - struct radeon_winsys_cs_handle *buf, - enum radeon_bo_usage usage) -{ - if (ctx->ws->cs_is_buffer_referenced(ctx->rings.gfx.cs, buf, usage)) { - return TRUE; - } - if (ctx->rings.dma.cs && - ctx->ws->cs_is_buffer_referenced(ctx->rings.dma.cs, buf, usage)) { - return TRUE; - } - return FALSE; -} diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h index f0fcaac..eb54b2a 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -255,6 +255,18 @@ struct r600_common_context { unsigned first_sample, unsigned last_sample); }; +/* r600_buffer.c */ +boolean r600_rings_is_buffer_referenced(struct r600_common_context *ctx, + struct radeon_winsys_cs_handle *buf, + enum radeon_bo_usage usage); +void *r600_buffer_map_sync_with_rings(struct r600_common_context *ctx, + struct r600_resource *resource, + unsigned usage); +bool r600_init_resource(struct r600_common_screen *rscreen, + struct r600_resource *res, + unsigned size, unsigned alignment, + bool use_reusable_pool, unsigned usage); + /* r600_common_pipe.c */ bool r600_common_screen_init(struct r600_common_screen *rscreen, struct radeon_winsys *ws); @@ -267,16 +279,6 @@ bool r600_can_dump_shader(struct r600_common_screen *rscreen, const struct tgsi_token *tokens); void r600_screen_clear_buffer(struct r600_common_screen *rscreen, struct pipe_resource *dst, unsigned offset, unsigned size, unsigned value); -boolean r600_rings_is_buffer_referenced(struct r600_common_context *ctx, - struct radeon_winsys_cs_handle *buf, - enum radeon_bo_usage usage); -void *r600_buffer_map_sync_with_rings(struct r600_common_context *ctx, - struct r600_resource *resource, - unsigned usage); -bool r600_init_resource(struct r600_common_screen *rscreen, - struct r600_resource *res, - unsigned size, unsigned alignment, - bool use_reusable_pool, unsigned usage); /* r600_streamout.c */ void r600_streamout_buffers_dirty(struct r600_common_context *rctx); -- 1.8.3.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev