nvk: Add an nvk_shader_finish() helper
authorFaith Ekstrand <faith.ekstrand@collabora.com>
Sat, 14 Oct 2023 05:18:45 +0000 (00:18 -0500)
committerMarge Bot <emma+marge@anholt.net>
Mon, 16 Oct 2023 09:40:59 +0000 (09:40 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25747>

src/nouveau/vulkan/nvk_pipeline.c
src/nouveau/vulkan/nvk_shader.c
src/nouveau/vulkan/nvk_shader.h

index 2b5815e..36a71c4 100644 (file)
@@ -32,14 +32,8 @@ nvk_pipeline_free(struct nvk_device *dev,
                   struct nvk_pipeline *pipeline,
                   const VkAllocationCallbacks *pAllocator)
 {
-   for (uint32_t s = 0; s < ARRAY_SIZE(pipeline->shaders); s++) {
-      if (pipeline->shaders[s].upload_size > 0) {
-         nvk_heap_free(dev, &dev->shader_heap,
-                       pipeline->shaders[s].upload_addr,
-                       pipeline->shaders[s].upload_size);
-      }
-      free(pipeline->shaders[s].xfb);
-   }
+   for (uint32_t s = 0; s < ARRAY_SIZE(pipeline->shaders); s++)
+      nvk_shader_finish(dev, &pipeline->shaders[s]);
 
    vk_object_free(&dev->vk, pAllocator, pipeline);
 }
index ee7df9b..59c550d 100644 (file)
@@ -1306,3 +1306,14 @@ nvk_shader_upload(struct nvk_device *dev, struct nvk_shader *shader)
 
    return result;
 }
+
+void
+nvk_shader_finish(struct nvk_device *dev, struct nvk_shader *shader)
+{
+   if (shader->upload_size > 0) {
+      nvk_heap_free(dev, &dev->shader_heap,
+                    shader->upload_addr,
+                    shader->upload_size);
+   }
+   free(shader->xfb);
+}
index 8c4c58d..14b2fa4 100644 (file)
@@ -146,4 +146,7 @@ nvk_compile_nir(struct nvk_physical_device *dev, nir_shader *nir,
 
 VkResult
 nvk_shader_upload(struct nvk_device *dev, struct nvk_shader *shader);
+
+void
+nvk_shader_finish(struct nvk_device *dev, struct nvk_shader *shader);
 #endif