glsl: remove the always_active_io flag from GLSL IR

No longer used.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22846>
This commit is contained in:
Timothy Arceri
2023-04-05 14:05:59 +10:00
committed by Marge Bot
parent 06f3988c58
commit bc66c2588a
4 changed files with 0 additions and 23 deletions

View File

@@ -506,7 +506,6 @@ nir_visitor::visit(ir_variable *ir)
var->name = ralloc_strdup(var, ir->name);
var->data.assigned = ir->data.assigned;
var->data.always_active_io = ir->data.always_active_io;
var->data.read_only = ir->data.read_only;
var->data.centroid = ir->data.centroid;
var->data.sample = ir->data.sample;

View File

@@ -2043,7 +2043,6 @@ ir_variable::ir_variable(const struct glsl_type *type, const char *name,
this->data.depth_layout = ir_depth_layout_none;
this->data.used = false;
this->data.assigned = false;
this->data.always_active_io = false;
this->data.read_only = false;
this->data.centroid = false;
this->data.sample = false;

View File

@@ -699,13 +699,6 @@ public:
*/
unsigned assigned:1;
/**
* When separate shader programs are enabled, only input/outputs between
* the stages of a multi-stage separate program can be safely removed
* from the shader interface. Other input/outputs must remains active.
*/
unsigned always_active_io:1;
/**
* Enum indicating how the variable was declared. See
* ir_var_declaration_type.

View File

@@ -74,20 +74,6 @@ do_dead_code(exec_list *instructions)
|| !entry->declaration)
continue;
/* Section 7.4.1 (Shader Interface Matching) of the OpenGL 4.5
* (Core Profile) spec says:
*
* "With separable program objects, interfaces between shader
* stages may involve the outputs from one program object and the
* inputs from a second program object. For such interfaces, it is
* not possible to detect mismatches at link time, because the
* programs are linked separately. When each such program is
* linked, all inputs or outputs interfacing with another program
* stage are treated as active."
*/
if (entry->var->data.always_active_io)
continue;
if (!entry->assign_list.is_empty()) {
/* Remove all the dead assignments to the variable we found.
* Don't do so if it's a shader or function output, though.