nir/gl_nir_linker: Use nir_foreach_variable_with_modes

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966>
This commit is contained in:
Jason Ekstrand 2020-07-21 11:54:19 -05:00 committed by Marge Bot
parent c256cd900e
commit 77c41ce04b
1 changed files with 12 additions and 9 deletions

View File

@ -311,12 +311,12 @@ add_shader_variable(const struct gl_context *ctx,
}
static bool
add_vars_from_list(const struct gl_context *ctx,
add_vars_with_mode(const struct gl_context *ctx,
struct gl_shader_program *prog, struct set *resource_set,
const struct exec_list *var_list, unsigned stage,
GLenum programInterface)
nir_shader *nir, nir_variable_mode mode,
unsigned stage, GLenum programInterface)
{
nir_foreach_variable(var, var_list) {
nir_foreach_variable_with_modes(var, nir, mode) {
if (var->data.how_declared == nir_var_hidden)
continue;
@ -405,15 +405,18 @@ add_interface_variables(const struct gl_context *ctx,
switch (programInterface) {
case GL_PROGRAM_INPUT: {
bool result = add_vars_from_list(ctx, prog, resource_set,
&nir->inputs, stage, programInterface);
result &= add_vars_from_list(ctx, prog, resource_set, &nir->system_values,
bool result = add_vars_with_mode(ctx, prog, resource_set,
nir, nir_var_shader_in,
stage, programInterface);
result &= add_vars_with_mode(ctx, prog, resource_set,
nir, nir_var_system_value,
stage, programInterface);
return result;
}
case GL_PROGRAM_OUTPUT:
return add_vars_from_list(ctx, prog, resource_set, &nir->outputs, stage,
programInterface);
return add_vars_with_mode(ctx, prog, resource_set,
nir, nir_var_shader_out,
stage, programInterface);
default:
assert("!Should not get here");
break;