Module: Mesa
Branch: main
Commit: dfa8c15164c2f005d4690b6b9b652451c59e1917
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfa8c15164c2f005d4690b6b9b652451c59e1917

Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Mar 29 08:08:00 2023 -0400

zink: break out nir blob deserializing

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22266>

---

 src/gallium/drivers/zink/zink_compiler.c | 12 +++++++++---
 src/gallium/drivers/zink/zink_compiler.h |  2 ++
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_compiler.c 
b/src/gallium/drivers/zink/zink_compiler.c
index 442cbb213a3..27d0f48ce10 100644
--- a/src/gallium/drivers/zink/zink_compiler.c
+++ b/src/gallium/drivers/zink/zink_compiler.c
@@ -5175,12 +5175,18 @@ zink_shader_has_cubes(nir_shader *nir)
    return false;
 }
 
+nir_shader *
+zink_shader_blob_deserialize(struct zink_screen *screen, struct blob *blob)
+{
+   struct blob_reader blob_reader;
+   blob_reader_init(&blob_reader, blob->data, blob->size);
+   return nir_deserialize(NULL, &screen->nir_options, &blob_reader);
+}
+
 nir_shader *
 zink_shader_deserialize(struct zink_screen *screen, struct zink_shader *zs)
 {
-   struct blob_reader blob;
-   blob_reader_init(&blob, zs->blob.data, zs->blob.size);
-   return nir_deserialize(NULL, &screen->nir_options, &blob);
+   return zink_shader_blob_deserialize(screen, &zs->blob);
 }
 
 void
diff --git a/src/gallium/drivers/zink/zink_compiler.h 
b/src/gallium/drivers/zink/zink_compiler.h
index 574db1b574b..343ee9b7b70 100644
--- a/src/gallium/drivers/zink/zink_compiler.h
+++ b/src/gallium/drivers/zink/zink_compiler.h
@@ -97,6 +97,8 @@ zink_shader_descriptor_is_buffer(struct zink_shader *zs, enum 
zink_descriptor_ty
 bool
 zink_shader_has_cubes(nir_shader *nir);
 nir_shader *
+zink_shader_blob_deserialize(struct zink_screen *screen, struct blob *blob);
+nir_shader *
 zink_shader_deserialize(struct zink_screen *screen, struct zink_shader *zs);
 void
 zink_shader_serialize_blob(nir_shader *nir, struct blob *blob);

Reply via email to