[Mesa-dev] [PATCH 5/5] st/mesa: clean up min/max_index handling in st_draw_vbo
Nicolai Hähnle
nhaehnle at gmail.com
Mon Apr 24 10:01:06 UTC 2017
On 23.04.2017 01:10, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> There is no reason to check for ~0.
> Also remove the incorrect comment.
> ---
> src/mesa/state_tracker/st_draw.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c
> index d710284..e510d43 100644
> --- a/src/mesa/state_tracker/st_draw.c
> +++ b/src/mesa/state_tracker/st_draw.c
> @@ -200,28 +200,23 @@ st_draw_vbo(struct gl_context *ctx,
> if (ib) {
> /* Get index bounds for user buffers. */
> if (!index_bounds_valid)
> if (!all_varyings_in_vbos(arrays))
> vbo_get_minmax_indices(ctx, prims, ib, &min_index, &max_index,
> nr_prims);
>
> setup_index_buffer(st, ib);
>
> info.indexed = TRUE;
> - if (min_index != ~0U && max_index != ~0U) {
> - info.min_index = min_index;
> - info.max_index = max_index;
> - }
> + info.min_index = min_index;
> + info.max_index = max_index;
For this and the previous patch, I think it would be cleaner to keep the
semantics of pipe_draw_info::min_index/max_index to always make sense.
This would mean dropping the previous patch, and changing this patch to
only set the min_index/max_index if index_bounds_valid (rather than the
~0U check).
Cheers,
Nicolai
>
> - /* The VBO module handles restart for the non-indexed GLDrawArrays
> - * so we only set these fields for indexed drawing:
> - */
> setup_primitive_restart(ctx, &info, ib->index_size);
> }
> else {
> /* Transform feedback drawing is always non-indexed. */
> /* Set info.count_from_stream_output. */
> if (tfb_vertcount) {
> if (!st_transform_feedback_draw_init(tfb_vertcount, stream, &info))
> return;
> }
> }
>
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
More information about the mesa-dev
mailing list