nir: add always_active_io to nir variable
Will be used in nir link pass to decided if we can remove a varying or not. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eduardo Lima Mitev <elima@igalia.com>
This commit is contained in:
@@ -315,6 +315,7 @@ nir_visitor::visit(ir_variable *ir)
|
||||
var->type = ir->type;
|
||||
var->name = ralloc_strdup(var, ir->name);
|
||||
|
||||
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;
|
||||
|
@@ -191,6 +191,16 @@ typedef struct nir_variable {
|
||||
unsigned patch:1;
|
||||
unsigned invariant: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.
|
||||
*
|
||||
* This is also used to make sure xfb varyings that are unused by the
|
||||
* fragment shader are not removed.
|
||||
*/
|
||||
unsigned always_active_io:1;
|
||||
|
||||
/**
|
||||
* Interpolation mode for shader inputs / outputs
|
||||
*
|
||||
|
Reference in New Issue
Block a user