gallium: new CAP, state for primitive restart
This commit is contained in:
@@ -156,6 +156,15 @@ If there is an index buffer bound, and ``indexed`` field is true, all vertex
|
||||
indices will be looked up in the index buffer. ``min_index``, ``max_index``,
|
||||
and ``index_bias`` apply after index lookup.
|
||||
|
||||
When drawing indexed primitives, the primitive restart index can be
|
||||
used to draw disjoint primitive strips. For example, several separate
|
||||
line strips can be drawn by designating a special index value as the
|
||||
restart index. The ``primitive_restart`` flag enables/disables this
|
||||
feature. The ``restart_index`` field specifies the restart index value.
|
||||
|
||||
When primitive restart is in use, array indexes are compared to the
|
||||
restart index before adding the index_bias offset.
|
||||
|
||||
If a given vertex element has ``instance_divisor`` set to 0, it is said
|
||||
it contains per-vertex data and effective vertex attribute address needs
|
||||
to be recalculated for every index.
|
||||
|
@@ -452,6 +452,7 @@ enum pipe_cap {
|
||||
PIPE_CAP_BLEND_EQUATION_SEPARATE,
|
||||
PIPE_CAP_SM3, /*< Shader Model, supported */
|
||||
PIPE_CAP_STREAM_OUTPUT,
|
||||
PIPE_CAP_PRIMITIVE_RESTART,
|
||||
/** Maximum texture image units accessible from vertex and fragment shaders
|
||||
* combined */
|
||||
PIPE_CAP_MAX_COMBINED_SAMPLERS,
|
||||
|
@@ -457,6 +457,12 @@ struct pipe_draw_info
|
||||
int index_bias; /**< a bias to be added to each index */
|
||||
unsigned min_index; /**< the min index */
|
||||
unsigned max_index; /**< the max index */
|
||||
|
||||
/**
|
||||
* Primitive restart enable/index (only applies to indexed drawing)
|
||||
*/
|
||||
boolean primitive_restart;
|
||||
unsigned restart_index;
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user