glsl: add some data members to nir_variable

These will be used in the following patch.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28690>
This commit is contained in:
Timothy Arceri 2024-04-02 14:43:33 +11:00
parent 344bcd1703
commit fe2e60a4d3
2 changed files with 15 additions and 0 deletions

View file

@ -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;

View file

@ -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?
*