u_primconvert: Copy min/max_index from the original primitive

Graphics / Mesa 3D Graphics Library / Mesa - Eric Anholt [anholt.net] - 8 August 2014 20:59 UTC

These values are supposed to be the minimum/maximum index values used to read from the vertex buffers. This code either copies index values out of the old IB (so, same min/max as the original draw call), or generates a new IB (using index values between the start and the start + count of the old array draw info, which just happens to be what min/max_index are set to by st_draw.c).

We were incorrectly setting the max_index in the converting-from-glDrawArrays case to the start vertex plus the number of
vertices generated in the new IB, which broke QUADS primitive conversion on VC4 (where max_index really has to be correct, or the kernel might reject your draw call due to buffer overflow).

961715e u_primconvert: Copy min/max_index from the original primitive.
src/gallium/auxiliary/indices/u_primconvert.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

Upstream: cgit.freedesktop.org


  • Share