diff options
author | Marek Olšák <[email protected]> | 2012-12-09 00:02:46 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-12-12 13:09:54 +0100 |
commit | 448cd5ea60403576c3eec86ffb2b892e78b9dfe0 (patch) | |
tree | 395a69bf618864ee3af1263a5531fea7a3c64f01 /src/gallium/drivers/r600 | |
parent | 1d0bf69f831e138a05a282e59746f20141046fd6 (diff) |
winsys/radeon: don't use BIND flags, add a flag for the cache bufmgr instead
Diffstat (limited to 'src/gallium/drivers/r600')
-rw-r--r-- | src/gallium/drivers/r600/r600_buffer.c | 10 | ||||
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.h | 2 | ||||
-rw-r--r-- | src/gallium/drivers/r600/r600_texture.c | 2 |
3 files changed, 8 insertions, 6 deletions
diff --git a/src/gallium/drivers/r600/r600_buffer.c b/src/gallium/drivers/r600/r600_buffer.c index 3b8d227bd38..9e2cf6650ad 100644 --- a/src/gallium/drivers/r600/r600_buffer.c +++ b/src/gallium/drivers/r600/r600_buffer.c @@ -112,7 +112,7 @@ static void *r600_buffer_transfer_map(struct pipe_context *ctx, /* Create a new one in the same pipe_resource. */ /* XXX We probably want a different alignment for buffers and textures. */ r600_init_resource(rctx->screen, rbuffer, rbuffer->b.b.width0, 4096, - rbuffer->b.b.bind, rbuffer->b.b.usage); + TRUE, rbuffer->b.b.usage); /* We changed the buffer, now we need to bind it where the old one was bound. */ /* Vertex buffers. */ @@ -203,7 +203,7 @@ static const struct u_resource_vtbl r600_buffer_vtbl = bool r600_init_resource(struct r600_screen *rscreen, struct r600_resource *res, unsigned size, unsigned alignment, - unsigned bind, unsigned usage) + bool use_reusable_pool, unsigned usage) { uint32_t initial_domain, domains; @@ -234,7 +234,9 @@ bool r600_init_resource(struct r600_screen *rscreen, break; } - res->buf = rscreen->ws->buffer_create(rscreen->ws, size, alignment, bind, initial_domain); + res->buf = rscreen->ws->buffer_create(rscreen->ws, size, alignment, + use_reusable_pool, + initial_domain); if (!res->buf) { return false; } @@ -258,7 +260,7 @@ struct pipe_resource *r600_buffer_create(struct pipe_screen *screen, rbuffer->b.b.screen = screen; rbuffer->b.vtbl = &r600_buffer_vtbl; - if (!r600_init_resource(rscreen, rbuffer, templ->width0, alignment, templ->bind, templ->usage)) { + if (!r600_init_resource(rscreen, rbuffer, templ->width0, alignment, TRUE, templ->usage)) { FREE(rbuffer); return NULL; } diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index 219bd54304a..a61a6e8c082 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -591,7 +591,7 @@ void r600_decompress_color_textures(struct r600_context *rctx, bool r600_init_resource(struct r600_screen *rscreen, struct r600_resource *res, unsigned size, unsigned alignment, - unsigned bind, unsigned usage); + bool use_reusable_pool, unsigned usage); struct pipe_resource *r600_buffer_create(struct pipe_screen *screen, const struct pipe_resource *templ, unsigned alignment); diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c index efff2c36297..56e9b64fc47 100644 --- a/src/gallium/drivers/r600/r600_texture.c +++ b/src/gallium/drivers/r600/r600_texture.c @@ -443,7 +443,7 @@ r600_texture_create_object(struct pipe_screen *screen, unsigned base_align = rtex->surface.bo_alignment; unsigned usage = R600_TEX_IS_TILED(rtex, 0) ? PIPE_USAGE_STATIC : base->usage; - if (!r600_init_resource(rscreen, resource, rtex->size, base_align, base->bind, usage)) { + if (!r600_init_resource(rscreen, resource, rtex->size, base_align, FALSE, usage)) { FREE(rtex); return NULL; } |