Module: Mesa
Branch: staging/23.3
Commit: 2934ae2736e99eaa7d53b862c46439b777b9e93e
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2934ae2736e99eaa7d53b862c46439b777b9e93e

Author: Friedrich Vock <[email protected]>
Date:   Thu Jan  4 14:37:08 2024 +0100

radv/rt: Free traversal NIR after compilation

Could lead to OOM in games that compile RTPSOs often,
like Ghostwire Tokyo.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26892>
(cherry picked from commit 34cc76517286b88c8191a3e10dda0a3293c09127)

---

 .pick_status.json                 | 2 +-
 src/amd/vulkan/radv_pipeline_rt.c | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/.pick_status.json b/.pick_status.json
index 307feeb4e34..8468534155e 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -14,7 +14,7 @@
         "description": "radv/rt: Free traversal NIR after compilation",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null,
         "notes": null
diff --git a/src/amd/vulkan/radv_pipeline_rt.c 
b/src/amd/vulkan/radv_pipeline_rt.c
index 810f6041b1d..c61d2becf47 100644
--- a/src/amd/vulkan/radv_pipeline_rt.c
+++ b/src/amd/vulkan/radv_pipeline_rt.c
@@ -609,6 +609,7 @@ radv_rt_compile_shaders(struct radv_device *device, struct 
vk_pipeline_cache *ca
    radv_shader_layout_init(pipeline_layout, MESA_SHADER_INTERSECTION, 
&traversal_stage.layout);
    result = radv_rt_nir_to_asm(device, cache, pCreateInfo, key, pipeline, 
false, &traversal_stage, NULL, NULL,
                                
&pipeline->base.base.shaders[MESA_SHADER_INTERSECTION]);
+   ralloc_free(traversal_module.nir);
 
 cleanup:
    for (uint32_t i = 0; i < pCreateInfo->stageCount; i++)

Reply via email to