panfrost: Split up batches with many jobs
If there are too many jobs in a batch, split it. Although the GPU theoretically supports 65536 jobs in a batch, set the threshold lower to avoid GPU timeouts. Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8130>
This commit is contained in:
@@ -493,6 +493,11 @@ panfrost_draw_vbo(
|
||||
/* Now that we have a guaranteed terminating path, find the job. */
|
||||
|
||||
struct panfrost_batch *batch = panfrost_get_batch_for_fbo(ctx);
|
||||
|
||||
/* Don't add too many jobs to a single batch */
|
||||
if (batch->scoreboard.job_index > 10000)
|
||||
batch = panfrost_get_fresh_batch_for_fbo(ctx);
|
||||
|
||||
panfrost_batch_set_requirements(batch);
|
||||
|
||||
/* Take into account a negative bias */
|
||||
|
||||
Reference in New Issue
Block a user