Mesa (staging/21.3): zink: set fbfetch state on lazy batch data when enabling it

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Nov 4 22:59:17 UTC 2021


Module: Mesa
Branch: staging/21.3
Commit: 56770998f3ef6a22c0969b17fd18675b1eabdf60
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=56770998f3ef6a22c0969b17fd18675b1eabdf60

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Wed Nov  3 15:03:59 2021 -0400

zink: set fbfetch state on lazy batch data when enabling it

this avoids creating new descriptor pools on every update

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13654>
(cherry picked from commit 2c54ad8f3dae152d1b3e7353313e9b65aca8c6d3)

---

 .pick_status.json                                | 2 +-
 src/gallium/drivers/zink/zink_descriptors_lazy.c | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/.pick_status.json b/.pick_status.json
index 96361ae5823..492627488d6 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -562,7 +562,7 @@
         "description": "zink: set fbfetch state on lazy batch data when enabling it",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null
     },
diff --git a/src/gallium/drivers/zink/zink_descriptors_lazy.c b/src/gallium/drivers/zink/zink_descriptors_lazy.c
index 480e02dd8b5..990fe0bd1e6 100644
--- a/src/gallium/drivers/zink/zink_descriptors_lazy.c
+++ b/src/gallium/drivers/zink/zink_descriptors_lazy.c
@@ -385,6 +385,7 @@ check_push_pool_alloc(struct zink_context *ctx, struct zink_descriptor_pool *poo
          /* overflowed pool: queue for deletion on next reset */
          util_dynarray_append(&bdd->overflowed_pools, struct zink_descriptor_pool*, pool);
          bdd->push_pool[is_compute] = create_push_pool(screen, bdd, is_compute, ctx->dd->has_fbfetch);
+         bdd->has_fbfetch = ctx->dd->has_fbfetch;
          return check_push_pool_alloc(ctx, bdd->push_pool[is_compute], bdd, is_compute);
       }
       if (!zink_descriptor_util_alloc_sets(screen, ctx->dd->push_dsl[is_compute]->layout,



More information about the mesa-commit mailing list