nir: copy explicit_invariant flag to nir vars

This will be used in the following patch.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25371>
This commit is contained in:
Timothy Arceri 2023-09-22 16:07:25 +10:00 committed by Marge Bot
parent af2a96bb37
commit 337c32cb3a
2 changed files with 8 additions and 0 deletions

View file

@ -549,6 +549,7 @@ nir_visitor::visit(ir_variable *ir)
var->data.patch = ir->data.patch;
var->data.how_declared = get_nir_how_declared(ir->data.how_declared);
var->data.invariant = ir->data.invariant;
var->data.explicit_invariant = ir->data.explicit_invariant;
var->data.location = ir->data.location;
var->data.must_be_shader_input = ir->data.must_be_shader_input;
var->data.stream = ir->data.stream;

View file

@ -496,6 +496,13 @@ typedef struct nir_variable {
unsigned patch : 1;
unsigned invariant : 1;
/**
* Was an 'invariant' qualifier explicitly set in the shader?
*
* This is used to cross validate glsl qualifiers.
*/
unsigned explicit_invariant:1;
/**
* Is the variable a ray query?
*/