mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-08 23:40:12 +01:00
r300g: don't share u_upload_mgr with u_vbuf, create its own
This commit is contained in:
parent
ae799a4948
commit
e54cc2c070
4 changed files with 10 additions and 4 deletions
|
|
@ -103,6 +103,8 @@ static void r300_destroy_context(struct pipe_context* context)
|
|||
if (r300->vbuf_mgr)
|
||||
u_vbuf_destroy(r300->vbuf_mgr);
|
||||
|
||||
u_upload_destroy(r300->uploader);
|
||||
|
||||
/* XXX: This function assumes r300->query_list was initialized */
|
||||
r300_release_referenced_objects(r300);
|
||||
|
||||
|
|
@ -440,6 +442,9 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen,
|
|||
goto fail;
|
||||
}
|
||||
|
||||
r300->uploader = u_upload_create(&r300->context, 256 * 1024, 16,
|
||||
PIPE_BIND_INDEX_BUFFER);
|
||||
|
||||
r300->blitter = util_blitter_create(&r300->context);
|
||||
if (r300->blitter == NULL)
|
||||
goto fail;
|
||||
|
|
|
|||
|
|
@ -580,6 +580,7 @@ struct r300_context {
|
|||
struct pipe_index_buffer index_buffer;
|
||||
struct pipe_vertex_buffer vertex_buffer[PIPE_MAX_ATTRIBS];
|
||||
unsigned nr_vertex_buffers;
|
||||
struct u_upload_mgr *uploader;
|
||||
|
||||
struct util_slab_mempool pool_transfers;
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ void r300_translate_index_buffer(struct r300_context *r300,
|
|||
|
||||
switch (*index_size) {
|
||||
case 1:
|
||||
u_upload_alloc(r300->vbuf_mgr->uploader, 0, count * 2,
|
||||
u_upload_alloc(r300->uploader, 0, count * 2,
|
||||
&out_offset, &out_buffer, &ptr);
|
||||
|
||||
util_shorten_ubyte_elts_to_userptr(
|
||||
|
|
@ -51,7 +51,7 @@ void r300_translate_index_buffer(struct r300_context *r300,
|
|||
|
||||
case 2:
|
||||
if (index_offset) {
|
||||
u_upload_alloc(r300->vbuf_mgr->uploader, 0, count * 2,
|
||||
u_upload_alloc(r300->uploader, 0, count * 2,
|
||||
&out_offset, &out_buffer, &ptr);
|
||||
|
||||
util_rebuild_ushort_elts_to_userptr(&r300->context, *index_buffer,
|
||||
|
|
@ -66,7 +66,7 @@ void r300_translate_index_buffer(struct r300_context *r300,
|
|||
|
||||
case 4:
|
||||
if (index_offset) {
|
||||
u_upload_alloc(r300->vbuf_mgr->uploader, 0, count * 4,
|
||||
u_upload_alloc(r300->uploader, 0, count * 4,
|
||||
&out_offset, &out_buffer, &ptr);
|
||||
|
||||
util_rebuild_uint_elts_to_userptr(&r300->context, *index_buffer,
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ void r300_upload_index_buffer(struct r300_context *r300,
|
|||
|
||||
*index_buffer = NULL;
|
||||
|
||||
u_upload_data(r300->vbuf_mgr->uploader,
|
||||
u_upload_data(r300->uploader,
|
||||
0, count * index_size,
|
||||
ptr + (*start * index_size),
|
||||
&index_offset,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue