From c60456dfaa6decc6f1884dbd40adad61937e3f69 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 26 Oct 2015 20:56:06 -0700 Subject: [PATCH] nir/gather_info: Handle multi-slot variables in io bitfields --- src/glsl/nir/nir_gather_info.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/glsl/nir/nir_gather_info.c b/src/glsl/nir/nir_gather_info.c index c2413e3bbe2..18c8e3649dc 100644 --- a/src/glsl/nir/nir_gather_info.c +++ b/src/glsl/nir/nir_gather_info.c @@ -93,16 +93,16 @@ nir_shader_gather_info(nir_shader *shader, nir_function_impl *entrypoint) { shader->info.inputs_read = 0; foreach_list_typed(nir_variable, var, node, &shader->inputs) - shader->info.inputs_read |= (1ull << var->data.location); + shader->info.inputs_read |= nir_variable_get_io_mask(var, shader->stage); /* TODO: Some day we may need to add stream support to NIR */ shader->info.outputs_written = 0; foreach_list_typed(nir_variable, var, node, &shader->outputs) - shader->info.outputs_written |= (1ull << var->data.location); + shader->info.outputs_written |= nir_variable_get_io_mask(var, shader->stage); shader->info.system_values_read = 0; foreach_list_typed(nir_variable, var, node, &shader->system_values) - shader->info.system_values_read |= (1ull << var->data.location); + shader->info.system_values_read |= nir_variable_get_io_mask(var, shader->stage); nir_foreach_block(entrypoint, gather_info_block, shader); } -- 2.30.2