mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 02:38:04 +02:00
draw: don't touch info values that aren't valid.
These shouldn't be accessed, and shows up as an uninit access in valgrind with piglit rasterpos Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10641>
This commit is contained in:
parent
f4abd32749
commit
5449e6d14c
1 changed files with 8 additions and 5 deletions
|
|
@ -153,7 +153,7 @@ draw_pt_arrays(struct draw_context *draw,
|
|||
if (count >= first)
|
||||
frontend->run(frontend, draw_info[i].start, count);
|
||||
|
||||
if (draw->pt.user.increment_draw_id)
|
||||
if (num_draws > 1 && draw->pt.user.increment_draw_id)
|
||||
draw->pt.user.drawid++;
|
||||
}
|
||||
|
||||
|
|
@ -525,11 +525,14 @@ draw_vbo(struct draw_context *draw,
|
|||
num_draws = 1;
|
||||
}
|
||||
|
||||
if (info->index_size)
|
||||
if (info->index_size) {
|
||||
assert(draw->pt.user.elts);
|
||||
|
||||
draw->pt.user.min_index = use_info->index_bounds_valid ? use_info->min_index : 0;
|
||||
draw->pt.user.max_index = use_info->index_bounds_valid ? use_info->max_index : ~0;
|
||||
draw->pt.user.min_index = use_info->index_bounds_valid ? use_info->min_index : 0;
|
||||
draw->pt.user.max_index = use_info->index_bounds_valid ? use_info->max_index : ~0;
|
||||
} else {
|
||||
draw->pt.user.min_index = 0;
|
||||
draw->pt.user.max_index = ~0;
|
||||
}
|
||||
draw->pt.user.eltSize = use_info->index_size ? draw->pt.user.eltSizeIB : 0;
|
||||
draw->pt.user.drawid = drawid_offset;
|
||||
draw->pt.user.increment_draw_id = use_info->increment_draw_id;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue