[Mesa-dev] [PATCH 3/9] st/mesa: make user index buffers optional
Brian Paul
brianp at vmware.com
Mon Apr 30 10:53:40 PDT 2012
On 04/26/2012 12:54 PM, Jose Fonseca wrote:
> ----- Original Message -----
>> ---
>> src/mesa/state_tracker/st_context.c | 4 +++-
>> src/mesa/state_tracker/st_context.h | 1 +
>> src/mesa/state_tracker/st_draw.c | 5 +++++
>> src/mesa/state_tracker/st_extensions.c | 4 ++++
>> 4 files changed, 13 insertions(+), 1 deletions(-)
>>
>> diff --git a/src/mesa/state_tracker/st_context.c
>> b/src/mesa/state_tracker/st_context.c
>> index 84aae81..164cc45 100644
>> --- a/src/mesa/state_tracker/st_context.c
>> +++ b/src/mesa/state_tracker/st_context.c
>> @@ -155,7 +155,9 @@ st_create_context_priv( struct gl_context *ctx,
>> struct pipe_context *pipe )
>> st->dirty.mesa = ~0;
>> st->dirty.st = ~0;
>>
>> - st->uploader = u_upload_create(st->pipe, 65536, 4,
>> PIPE_BIND_VERTEX_BUFFER);
>> + st->uploader = u_upload_create(st->pipe, 128 * 1024, 4,
>> + PIPE_BIND_VERTEX_BUFFER |
>> + PIPE_BIND_INDEX_BUFFER);
>
> Marek,
>
> Instead of lumping this into the same hardware buffer, I think it would be better to use two separate uploaders so that the driver can effectively do optimization based on PIPE_BIND_VERTEX_BUFFER or PIPE_BIND_INDEX_BUFFER. A quick look on current drivers showed that they do look at these bind flags.
>
> Otherwise I don't see anything wrong with this series. It seems a nice cleanup/speedup.
>
> Brian's OOTO till Monday, so allow more time for him to comment.
>
> Also, once you updated the series, please provide it in a clonable git branch for testing.
I'm testing the gallium-userbuf branch now. With piglit's draw-batch
test there's a failing assertion in svga_resource_buffer_upload.c at
line 557 (the buffer in question is in a mapped state). I disabled
the assertion but then the test fails (it passes on master). I'll try
to dig a big deeper.
-Brian
More information about the mesa-dev
mailing list