From 7db009b59ee9df3a106f2f7e440a3ff9223b268f Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Sat, 16 Jul 2016 08:21:50 -0700 Subject: [PATCH] nir: Remove some unused fields from nir_variable All of these are happily set from glsl_to_nir or spirv_to_nir but their values are never used for anything. Reviewed-by: Iago Toral Quiroga --- src/compiler/glsl/glsl_to_nir.cpp | 5 ----- src/compiler/nir/nir.h | 34 ---------------------------------- src/compiler/spirv/vtn_variables.c | 4 ---- 3 files changed, 43 deletions(-) diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp index f60139c..4debc37 100644 --- a/src/compiler/glsl/glsl_to_nir.cpp +++ b/src/compiler/glsl/glsl_to_nir.cpp @@ -340,10 +340,6 @@ nir_visitor::visit(ir_variable *ir) var->data.interpolation = ir->data.interpolation; var->data.origin_upper_left = ir->data.origin_upper_left; var->data.pixel_center_integer = ir->data.pixel_center_integer; - var->data.explicit_location = ir->data.explicit_location; - var->data.explicit_index = ir->data.explicit_index; - var->data.explicit_binding = ir->data.explicit_binding; - var->data.has_initializer = ir->data.has_initializer; var->data.compact = false; var->data.location_frac = ir->data.location_frac; @@ -376,7 +372,6 @@ nir_visitor::visit(ir_variable *ir) var->data.image._volatile = ir->data.image_volatile; var->data.image.restrict_flag = ir->data.image_restrict; var->data.image.format = ir->data.image_format; - var->data.max_array_access = ir->data.max_array_access; var->data.fb_fetch_output = ir->data.fb_fetch_output; var->num_state_slots = ir->get_num_state_slots(); diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 1ab5737..544d4ba 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -194,32 +194,6 @@ typedef struct nir_variable { /*@}*/ /** - * Was the location explicitly set in the shader? - * - * If the location is explicitly set in the shader, it \b cannot be changed - * by the linker or by the API (e.g., calls to \c glBindAttribLocation have - * no effect). - */ - unsigned explicit_location:1; - unsigned explicit_index:1; - - /** - * Was an initial binding explicitly set in the shader? - * - * If so, constant_initializer contains an integer nir_constant - * representing the initial binding point. - */ - unsigned explicit_binding:1; - - /** - * Does this variable have an initializer? - * - * This is used by the linker to cross-validiate initializers of global - * variables. - */ - unsigned has_initializer:1; - - /** * If non-zero, then this variable may be packed along with other variables * into a single varying slot, so this offset should be applied when * accessing components. For example, an offset of 1 means that the x @@ -312,14 +286,6 @@ typedef struct nir_variable { /** Image internal format if specified explicitly, otherwise GL_NONE. */ GLenum format; } image; - - /** - * Highest element accessed with a constant expression array index - * - * Not used for non-array variables. - */ - unsigned max_array_access; - } data; /** diff --git a/src/compiler/spirv/vtn_variables.c b/src/compiler/spirv/vtn_variables.c index a38d359..be64dd9 100644 --- a/src/compiler/spirv/vtn_variables.c +++ b/src/compiler/spirv/vtn_variables.c @@ -931,7 +931,6 @@ apply_var_decoration(struct vtn_builder *b, nir_variable *nir_var, nir_var->data.location_frac = dec->literals[0]; break; case SpvDecorationIndex: - nir_var->data.explicit_index = true; nir_var->data.index = dec->literals[0]; break; case SpvDecorationBuiltIn: { @@ -952,7 +951,6 @@ apply_var_decoration(struct vtn_builder *b, nir_variable *nir_var, nir_variable_mode mode = nir_var->data.mode; vtn_get_builtin_location(b, builtin, &nir_var->data.location, &mode); - nir_var->data.explicit_location = true; nir_var->data.mode = mode; if (builtin == SpvBuiltInFragCoord || builtin == SpvBuiltInSamplePosition) @@ -1073,7 +1071,6 @@ var_decoration_cb(struct vtn_builder *b, struct vtn_value *val, int member, if (vtn_var->var) { /* This handles the member and lone variable cases */ vtn_var->var->data.location = location; - vtn_var->var->data.explicit_location = true; } else { /* This handles the structure member case */ assert(vtn_var->members); @@ -1081,7 +1078,6 @@ var_decoration_cb(struct vtn_builder *b, struct vtn_value *val, int member, glsl_get_length(glsl_without_array(vtn_var->type->type)); for (unsigned i = 0; i < length; i++) { vtn_var->members[i]->data.location = location; - vtn_var->members[i]->data.explicit_location = true; location += glsl_count_attribute_slots(vtn_var->members[i]->interface_type, is_vertex_input); -- 2.7.4