zink: break out nir blob deserializing
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 29 Mar 2023 12:08:00 +0000 (08:08 -0400)
committerMarge Bot <emma+marge@anholt.net>
Tue, 4 Apr 2023 01:37:41 +0000 (01:37 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22266>

src/gallium/drivers/zink/zink_compiler.c
src/gallium/drivers/zink/zink_compiler.h

index 442cbb2..27d0f48 100644 (file)
@@ -5176,11 +5176,17 @@ zink_shader_has_cubes(nir_shader *nir)
 }
 
 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
index 574db1b..343ee9b 100644 (file)
@@ -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);