panfrost: Don't reserve for NPOT w/o instancing

It's impossible. Down to 5 slabs + 45368.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>
This commit is contained in:
Alyssa Rosenzweig
2020-08-17 14:46:56 -04:00
committed by Tomeu Vizoso
parent 09ea7c09cc
commit 9a6934d67f
+5 -2
View File
@@ -1331,10 +1331,13 @@ panfrost_emit_vertex_data(struct panfrost_batch *batch,
unsigned instance_shift = vertex_postfix->instance_shift;
unsigned instance_odd = vertex_postfix->instance_odd;
/* Worst case: everything is NPOT */
/* Worst case: everything is NPOT, which is only possible if instancing
* is enabled. Otherwise single record is gauranteed */
bool could_npot = instance_shift || instance_odd;
struct panfrost_transfer S = panfrost_pool_alloc_aligned(&batch->pool,
MALI_ATTRIBUTE_BUFFER_LENGTH * PIPE_MAX_ATTRIBS * 2,
MALI_ATTRIBUTE_BUFFER_LENGTH * PIPE_MAX_ATTRIBS *
(could_npot ? 2 : 1),
MALI_ATTRIBUTE_BUFFER_LENGTH);
struct panfrost_transfer T = panfrost_pool_alloc_aligned(&batch->pool,