summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/r600/evergreen_hw_context.c7
-rw-r--r--src/gallium/drivers/r600/r600_hw_context.c13
-rw-r--r--src/gallium/drivers/r600/r600_hw_context_priv.h10
-rw-r--r--src/gallium/drivers/r600/r600_pipe.h3
4 files changed, 1 insertions, 32 deletions
diff --git a/src/gallium/drivers/r600/evergreen_hw_context.c b/src/gallium/drivers/r600/evergreen_hw_context.c
index 118ba265c5f..8fc83512a37 100644
--- a/src/gallium/drivers/r600/evergreen_hw_context.c
+++ b/src/gallium/drivers/r600/evergreen_hw_context.c
@@ -997,13 +997,6 @@ int evergreen_context_init(struct r600_context *ctx)
ctx->cs = ctx->ws->cs_create(ctx->ws);
- /* allocate cs variables */
- ctx->bo = calloc(RADEON_MAX_CMDBUF_DWORDS, sizeof(void *));
- if (ctx->bo == NULL) {
- r = -ENOMEM;
- goto out_err;
- }
-
r600_init_cs(ctx);
ctx->max_db = 8;
return 0;
diff --git a/src/gallium/drivers/r600/r600_hw_context.c b/src/gallium/drivers/r600/r600_hw_context.c
index 5e6447dceaa..1569562f7d0 100644
--- a/src/gallium/drivers/r600/r600_hw_context.c
+++ b/src/gallium/drivers/r600/r600_hw_context.c
@@ -781,7 +781,6 @@ void r600_context_fini(struct r600_context *ctx)
r600_free_resource_range(ctx, &ctx->fs_resources, ctx->num_fs_resources);
free(ctx->range);
free(ctx->blocks);
- free(ctx->bo);
ctx->ws->cs_destroy(ctx->cs);
}
@@ -913,13 +912,6 @@ int r600_context_init(struct r600_context *ctx)
ctx->cs = ctx->ws->cs_create(ctx->ws);
- /* allocate cs variables */
- ctx->bo = calloc(RADEON_MAX_CMDBUF_DWORDS, sizeof(void *));
- if (ctx->bo == NULL) {
- r = -ENOMEM;
- goto out_err;
- }
-
r600_init_cs(ctx);
ctx->max_db = 4;
return 0;
@@ -1463,11 +1455,6 @@ void r600_context_flush(struct r600_context *ctx, unsigned flags)
/* Flush the CS. */
ctx->ws->cs_flush(ctx->cs, flags);
- /* restart */
- for (int i = 0; i < ctx->creloc; i++) {
- pipe_resource_reference((struct pipe_resource**)&ctx->bo[i], NULL);
- }
- ctx->creloc = 0;
ctx->pm4_dirty_cdwords = 0;
ctx->flags = 0;
diff --git a/src/gallium/drivers/r600/r600_hw_context_priv.h b/src/gallium/drivers/r600/r600_hw_context_priv.h
index 79fa57b8c81..55df6e991b7 100644
--- a/src/gallium/drivers/r600/r600_hw_context_priv.h
+++ b/src/gallium/drivers/r600/r600_hw_context_priv.h
@@ -74,16 +74,8 @@ void evergreen_set_streamout_enable(struct r600_context *ctx, unsigned buffer_en
static INLINE unsigned r600_context_bo_reloc(struct r600_context *ctx, struct r600_resource *rbo,
enum radeon_bo_usage usage)
{
- unsigned reloc_index;
-
assert(usage);
-
- reloc_index = ctx->ws->cs_add_reloc(ctx->cs, rbo->cs_buf, usage, rbo->domains);
- if (reloc_index >= ctx->creloc)
- ctx->creloc = reloc_index+1;
-
- pipe_resource_reference((struct pipe_resource**)&ctx->bo[reloc_index], &rbo->b.b.b);
- return reloc_index * 4;
+ return ctx->ws->cs_add_reloc(ctx->cs, rbo->cs_buf, usage, rbo->domains) * 4;
}
#endif
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h
index c3279545fe8..a9d21bd9f67 100644
--- a/src/gallium/drivers/r600/r600_pipe.h
+++ b/src/gallium/drivers/r600/r600_pipe.h
@@ -294,9 +294,6 @@ struct r600_context {
unsigned ctx_pm4_ndwords;
unsigned init_dwords;
- unsigned creloc;
- struct r600_resource **bo;
-
/* The list of active queries. Only one query of each type can be active. */
struct list_head active_query_list;
unsigned num_cs_dw_queries_suspend;