From 90e76d34ff335f5cde92d4c0f99d2d0ec4040988 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Fri, 17 May 2024 16:40:19 +1000 Subject: [PATCH] mesa/glsl: add nir fields to the gl shader structs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Acked-by: Marek Olšák Part-of: --- src/compiler/glsl/glsl_parser_extras.cpp | 2 ++ src/mesa/main/shader_types.h | 3 +++ src/mesa/main/shaderobj.c | 1 + 3 files changed, 6 insertions(+) diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index 29fb914b13c..add895121fd 100644 --- a/src/compiler/glsl/glsl_parser_extras.cpp +++ b/src/compiler/glsl/glsl_parser_extras.cpp @@ -2447,6 +2447,8 @@ _mesa_glsl_compile_shader(struct gl_context *ctx, struct gl_shader *shader, } ralloc_free(shader->ir); + ralloc_free(shader->nir); + shader->nir = NULL; shader->ir = new(shader) exec_list; if (!state->error && !state->translation_unit.is_empty()) _mesa_ast_to_hir(shader->ir, state); diff --git a/src/mesa/main/shader_types.h b/src/mesa/main/shader_types.h index bf1cbdf9991..9797ce68371 100644 --- a/src/mesa/main/shader_types.h +++ b/src/mesa/main/shader_types.h @@ -42,6 +42,8 @@ #include "pipe/p_state.h" +struct nir_shader; + /** * Shader information needed by both gl_shader and gl_linked shader. */ @@ -178,6 +180,7 @@ struct gl_shader */ GLbitfield BlendSupport; + struct nir_shader *nir; struct exec_list *ir; struct glsl_symbol_table *symbols; diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c index 2878d082fef..d197ccd28d6 100644 --- a/src/mesa/main/shaderobj.c +++ b/src/mesa/main/shaderobj.c @@ -134,6 +134,7 @@ _mesa_delete_shader(struct gl_context *ctx, struct gl_shader *sh) free((void *)sh->Source); free((void *)sh->FallbackSource); free(sh->Label); + ralloc_free(sh->nir); ralloc_free(sh); }