From fe2e60a4d30a742704b180aec4cf0f3ecfbe7d2f Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Tue, 2 Apr 2024 14:43:33 +1100 Subject: [PATCH] glsl: add some data members to nir_variable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These will be used in the following patch. Reviewed-by: Alejandro Piñeiro Reviewed-by: Marek Olšák Part-of: --- src/compiler/glsl/glsl_to_nir.cpp | 2 ++ src/compiler/nir/nir.h | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp index 5660a2a7821..6477f62ed4a 100644 --- a/src/compiler/glsl/glsl_to_nir.cpp +++ b/src/compiler/glsl/glsl_to_nir.cpp @@ -586,6 +586,8 @@ nir_visitor::visit(ir_variable *ir) var->data.bindless = ir->data.bindless; var->data.offset = ir->data.offset; var->data.access = (gl_access_qualifier)mem_access; + var->data.has_initializer = ir->data.has_initializer; + var->data.is_implicit_initializer = ir->data.is_implicit_initializer; if (glsl_type_is_image(glsl_without_array(var->type))) { var->data.image.format = ir->data.image_format; diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 8c9636f2db0..033b6ee3b24 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -616,6 +616,19 @@ typedef struct nir_variable { */ int max_array_access; + /** + * Does this variable have an initializer? + * + * This is used by the linker to cross-validiate initializers of global + * variables. + */ + unsigned has_initializer:1; + + /** + * Is the initializer created by the compiler (glsl_zero_init) + */ + unsigned is_implicit_initializer:1; + /** * Is this varying used by transform feedback? *