summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2012-12-09 00:02:46 +0100
committerMarek Olšák <[email protected]>2012-12-12 13:09:54 +0100
commit448cd5ea60403576c3eec86ffb2b892e78b9dfe0 (patch)
tree395a69bf618864ee3af1263a5531fea7a3c64f01 /src/gallium/drivers/radeonsi
parent1d0bf69f831e138a05a282e59746f20141046fd6 (diff)
winsys/radeon: don't use BIND flags, add a flag for the cache bufmgr instead
Diffstat (limited to 'src/gallium/drivers/radeonsi')
-rw-r--r--src/gallium/drivers/radeonsi/r600_buffer.c8
-rw-r--r--src/gallium/drivers/radeonsi/r600_texture.c2
-rw-r--r--src/gallium/drivers/radeonsi/radeonsi_pipe.h2
3 files changed, 7 insertions, 5 deletions
diff --git a/src/gallium/drivers/radeonsi/r600_buffer.c b/src/gallium/drivers/radeonsi/r600_buffer.c
index 66bb4d5d914..0c33c1e162f 100644
--- a/src/gallium/drivers/radeonsi/r600_buffer.c
+++ b/src/gallium/drivers/radeonsi/r600_buffer.c
@@ -100,7 +100,7 @@ static const struct u_resource_vtbl r600_buffer_vtbl =
bool si_init_resource(struct r600_screen *rscreen,
struct si_resource *res,
unsigned size, unsigned alignment,
- unsigned bind, unsigned usage)
+ boolean use_reusable_pool, unsigned usage)
{
uint32_t initial_domain, domains;
@@ -129,7 +129,9 @@ bool si_init_resource(struct r600_screen *rscreen,
}
}
- 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;
}
@@ -154,7 +156,7 @@ struct pipe_resource *si_buffer_create(struct pipe_screen *screen,
rbuffer->b.b.screen = screen;
rbuffer->b.vtbl = &r600_buffer_vtbl;
- if (!si_init_resource(rscreen, rbuffer, templ->width0, alignment, templ->bind, templ->usage)) {
+ if (!si_init_resource(rscreen, rbuffer, templ->width0, alignment, TRUE, templ->usage)) {
FREE(rbuffer);
return NULL;
}
diff --git a/src/gallium/drivers/radeonsi/r600_texture.c b/src/gallium/drivers/radeonsi/r600_texture.c
index fdfc8f3fa28..de46640d7e4 100644
--- a/src/gallium/drivers/radeonsi/r600_texture.c
+++ b/src/gallium/drivers/radeonsi/r600_texture.c
@@ -500,7 +500,7 @@ r600_texture_create_object(struct pipe_screen *screen,
unsigned size = rtex->surface.bo_size;
base_align = rtex->surface.bo_alignment;
- if (!si_init_resource(rscreen, resource, size, base_align, base->bind, base->usage)) {
+ if (!si_init_resource(rscreen, resource, size, base_align, FALSE, base->usage)) {
FREE(rtex);
return NULL;
}
diff --git a/src/gallium/drivers/radeonsi/radeonsi_pipe.h b/src/gallium/drivers/radeonsi/radeonsi_pipe.h
index 1ccf95274dc..29e8960c9b1 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_pipe.h
+++ b/src/gallium/drivers/radeonsi/radeonsi_pipe.h
@@ -194,7 +194,7 @@ void si_flush_depth_textures(struct r600_context *rctx);
bool si_init_resource(struct r600_screen *rscreen,
struct si_resource *res,
unsigned size, unsigned alignment,
- unsigned bind, unsigned usage);
+ boolean use_reusable_pool, unsigned usage);
struct pipe_resource *si_buffer_create(struct pipe_screen *screen,
const struct pipe_resource *templ);
void r600_upload_index_buffer(struct r600_context *rctx,