[Mesa-dev] Mesa (primitive-restart): 682 new commits

Luca Barbieri luca at luca-barbieri.com
Wed Aug 11 20:37:51 PDT 2010

>    gallium: re-implement primitive restart through pipe_draw_info struct
>    This is better than the previous pipe_context::primitive_restart() method
>    but it's still open for discussion.

I'd suggest to put it in struct pipe_index_buffer.

The argument is that the index buffer needs to be prepared
specifically for the primitive restart enable setting:
1. If the index buffer has no restart indices, using primitive restart
will have no effect
2. If the index buffer has restart indices, not using primitive
restart will cause out-of-bounds accesses or weird rendering results

Also, the index size is there too, so there is no question of what
happens if the primitive restart index doesn't fit in the index size.

Currently the Mesa state tracker binds the index buffer for every draw
call, and thus would be unaffected (but it should stop doing that).

More information about the mesa-dev mailing list