diff options
author | Marek Olšák <maraeo@gmail.com> | 2011-02-08 15:20:11 +0100 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2011-02-08 15:20:11 +0100 |
commit | 1ee71bdc8a8471357cee6a1cf2fbaac6a70bb86c (patch) | |
tree | e8175d89d846ae2f7e9f7ed2831a3da72d99e3a8 | |
parent | 7628c4ecb6e87dbe900d1d68feca33626c8fbfc0 (diff) |
u_vbuf_mgr: add a way to specify the BIND flag for the upload buffer
-rw-r--r-- | src/gallium/auxiliary/util/u_vbuf_mgr.c | 3 | ||||
-rw-r--r-- | src/gallium/auxiliary/util/u_vbuf_mgr.h | 1 | ||||
-rw-r--r-- | src/gallium/drivers/r300/r300_context.c | 1 | ||||
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.c | 1 |
4 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/util/u_vbuf_mgr.c b/src/gallium/auxiliary/util/u_vbuf_mgr.c index 7ebea7e99c..ca3b4dc4c4 100644 --- a/src/gallium/auxiliary/util/u_vbuf_mgr.c +++ b/src/gallium/auxiliary/util/u_vbuf_mgr.c @@ -114,6 +114,7 @@ struct u_vbuf_mgr * u_vbuf_mgr_create(struct pipe_context *pipe, unsigned upload_buffer_size, unsigned upload_buffer_alignment, + unsigned upload_buffer_bind, enum u_fetch_alignment fetch_alignment) { struct u_vbuf_mgr_priv *mgr = CALLOC_STRUCT(u_vbuf_mgr_priv); @@ -123,7 +124,7 @@ u_vbuf_mgr_create(struct pipe_context *pipe, mgr->b.uploader = u_upload_create(pipe, upload_buffer_size, upload_buffer_alignment, - PIPE_BIND_VERTEX_BUFFER); + upload_buffer_bind); mgr->caps.fetch_dword_unaligned = fetch_alignment == U_VERTEX_FETCH_BYTE_ALIGNED; diff --git a/src/gallium/auxiliary/util/u_vbuf_mgr.h b/src/gallium/auxiliary/util/u_vbuf_mgr.h index 068459af4c..8b241854c8 100644 --- a/src/gallium/auxiliary/util/u_vbuf_mgr.h +++ b/src/gallium/auxiliary/util/u_vbuf_mgr.h @@ -83,6 +83,7 @@ struct u_vbuf_mgr * u_vbuf_mgr_create(struct pipe_context *pipe, unsigned upload_buffer_size, unsigned upload_buffer_alignment, + unsigned upload_buffer_bind, enum u_fetch_alignment fetch_alignment); void u_vbuf_mgr_destroy(struct u_vbuf_mgr *mgr); diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c index b8b7afa9c2..7e0c068ff3 100644 --- a/src/gallium/drivers/r300/r300_context.c +++ b/src/gallium/drivers/r300/r300_context.c @@ -434,6 +434,7 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen, r300_init_resource_functions(r300); r300->vbuf_mgr = u_vbuf_mgr_create(&r300->context, 1024 * 1024, 16, + PIPE_BIND_VERTEX_BUFFER, U_VERTEX_FETCH_DWORD_ALIGNED); if (!r300->vbuf_mgr) goto fail; diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index ad609fbdfa..9826bf42ac 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -166,6 +166,7 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void } rctx->vbuf_mgr = u_vbuf_mgr_create(&rctx->context, 1024 * 1024, 16, + PIPE_BIND_VERTEX_BUFFER, U_VERTEX_FETCH_BYTE_ALIGNED); if (!rctx->vbuf_mgr) { r600_destroy_context(&rctx->context); |