radv: fix a memleak for merged shaders on GFX9
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 20 Jul 2018 16:48:07 +0000 (18:48 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 23 Jul 2018 09:34:39 +0000 (11:34 +0200)
modules[i] can be NULL for merged shaders but we have to
free the NIR code. radv_can_dump_shader_stats() already handles
if modules[i] is NULL, no need to check it twice.

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_pipeline.c

index 27e13a2251c16f8175612023cea0e00acfd8992b..545b618b7c2d2030b43780004515536a7286fd7c 100644 (file)
@@ -2160,7 +2160,7 @@ void radv_create_shaders(struct radv_pipeline *pipeline,
 
        for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
                free(codes[i]);
-               if (modules[i]) {
+               if (nir[i]) {
                        if (!pipeline->device->keep_shader_info)
                                ralloc_free(nir[i]);