gsk: Don't overflow vbo_count

We use 16 bits to store vbo_count, so we can't create
batches that have more than 65535 vertices. Pay attention
to that limit when merging batches.
This commit is contained in:
Matthias Clasen 2021-06-28 15:00:41 -04:00
parent 7a493f151d
commit bd5e5beee0

View File

@ -617,6 +617,7 @@ gsk_ngl_command_queue_end_draw (GskNglCommandQueue *self)
last_batch->any.viewport.height == batch->any.viewport.height &&
last_batch->draw.framebuffer == batch->draw.framebuffer &&
last_batch->draw.vbo_offset + last_batch->draw.vbo_count == batch->draw.vbo_offset &&
last_batch->draw.vbo_count + batch->draw.vbo_count < G_MAXINT16 &&
snapshots_equal (self, last_batch, batch))
{
last_batch->draw.vbo_count += batch->draw.vbo_count;