From 126a51724ba052ae65fabfc21983ebf01672e6d0 Mon Sep 17 00:00:00 2001
From: Matt Borgerson <contact@mborgerson.com>
Date: Fri, 26 Jul 2024 17:21:01 -0700
Subject: [PATCH] nv2a/vk: Finalize clear shaders

---
 hw/xbox/nv2a/pgraph/vk/draw.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/hw/xbox/nv2a/pgraph/vk/draw.c b/hw/xbox/nv2a/pgraph/vk/draw.c
index 91c46720c5..49f8e2b882 100644
--- a/hw/xbox/nv2a/pgraph/vk/draw.c
+++ b/hw/xbox/nv2a/pgraph/vk/draw.c
@@ -188,6 +188,14 @@ static void init_clear_shaders(PGRAPHState *pg)
         r, VK_SHADER_STAGE_FRAGMENT_BIT, solid_frag_glsl);
 }
 
+static void finalize_clear_shaders(PGRAPHState *pg)
+{
+    PGRAPHVkState *r = pg->vk_renderer_state;
+
+    pgraph_vk_destroy_shader_module(r, r->quad_vert_module);
+    pgraph_vk_destroy_shader_module(r, r->solid_frag_module);
+}
+
 void pgraph_vk_init_pipelines(PGRAPHState *pg)
 {
     PGRAPHVkState *r = pg->vk_renderer_state;
@@ -212,6 +220,7 @@ void pgraph_vk_finalize_pipelines(PGRAPHState *pg)
 {
     PGRAPHVkState *r = pg->vk_renderer_state;
 
+    finalize_clear_shaders(pg);
     finalize_pipeline_cache(pg);
 
     vkDestroyFence(r->device, r->command_buffer_fence, NULL);