Quoting Kenneth Graunke (2017-09-13 21:54:13) > +/** > + * Target sizes of the batch and state buffers. We create the initial > + * buffers at these sizes, and flush when they're nearly full. If we > + * underestimate how close we are to the end, and suddenly need more space > + * in the middle of a draw, we can grow the buffers, and finish the draw. > + * At that point, we'll be over our target size, so the next operation > + * should flush. Each time we flush the batch, we recreate both buffers > + * at the original target size, so it doesn't grow without bound.
Time for heuristics and testing! :) How about (last_size + base_size) / 2? You could lose days trying to polish the corner case ;) If it weren't for cmdparser you would just do batch chaining - worth it for !gen7? -Chris _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev