panvk: Avoid allocating sysvals UBOs when the pipeline has one
authorBoris Brezillon <boris.brezillon@collabora.com>
Thu, 23 Sep 2021 07:58:41 +0000 (09:58 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 28 Sep 2021 14:03:40 +0000 (14:03 +0000)
The static sysval UBO attached to the pipeline will be used anyway,
so let's not waste memory for sysvals if we can avoid it.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13077>

src/panfrost/vulkan/panvk_vX_cmd_buffer.c

index 7ce34ff..65aee5b 100644 (file)
@@ -326,7 +326,7 @@ panvk_cmd_prepare_sysvals(struct panvk_cmd_buffer *cmdbuf,
 
    for (unsigned i = 0; i < ARRAY_SIZE(desc_state->sysvals); i++) {
       unsigned sysval_count = pipeline->sysvals[i].ids.sysval_count;
-      if (!sysval_count ||
+      if (!sysval_count || pipeline->sysvals[i].ubo ||
           (desc_state->sysvals[i] &&
            !(cmdbuf->state.dirty & pipeline->sysvals[i].dirty_mask)))
          continue;