panfrost: Don't initialise the trampolines array
authorIcecream95 <ixn@disroot.org>
Thu, 14 Oct 2021 03:38:38 +0000 (16:38 +1300)
committerMarge Bot <emma+marge@anholt.net>
Mon, 14 Mar 2022 16:33:40 +0000 (16:33 +0000)
PIPE_MAX_SHADER_SAMPLER_VIEWS is 128, so we just end up initialising a
kilobyte of memory for no reason, when usually only a couple of
sampler views are used.

Fixes: 53ef20f08d4 ("panfrost: Handle NULL sampler views")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15366>

src/gallium/drivers/panfrost/pan_cmdstream.c

index 6471bd0..8040040 100644 (file)
@@ -1401,13 +1401,15 @@ panfrost_emit_texture_descriptors(struct panfrost_batch *batch,
 
         return T.gpu;
 #else
-        uint64_t trampolines[PIPE_MAX_SHADER_SAMPLER_VIEWS] = { 0 };
+        uint64_t trampolines[PIPE_MAX_SHADER_SAMPLER_VIEWS];
 
         for (int i = 0; i < ctx->sampler_view_count[stage]; ++i) {
                 struct panfrost_sampler_view *view = ctx->sampler_views[stage][i];
 
-                if (!view)
+                if (!view) {
+                        trampolines[i] = 0;
                         continue;
+                }
 
                 panfrost_update_sampler_view(view, &ctx->base);