Skip to content

gallium/u_vbuf: drop min/max-scanning for empty indirect draws

Erik Faye-Lund requested to merge kusma/mesa:fix-map-assert into gl-4.3

When building with asserts enabled, we'll end up triggering an assert in pipe_buffer_map_range down this code-path, due to trying to map an empty range. Even if we avoid that, we'll trigger another assert a bit later, because u_vbuf_get_minmax_index returns a min-index of -1 here, which gets promoted to an unsigned value, and gives us an out-of-bounds buffer-mapping offset.

Since we can't really have a well-defined min/max range here when the range is empty anyway, we should just drop this dance in the first place. After all, no rendering is going to be produced.

This fixes a crash in dEQP-GLES31.functional.draw_indirect.random.0 on VirGL for me, when run with the default runner with all tests.

Signed-off-by: Erik Faye-Lund erik.faye-lund@collabora.com

Merge request reports