summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2015-10-26 20:56:06 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2015-12-24 00:47:20 -0800
commitc60456dfaa6decc6f1884dbd40adad61937e3f69 (patch)
tree66b14546b5ed2f1d8508e277dc7c68ddcfc4b0ac /src
parentbbebd2de13edd35c0b2f70676367be08a227a904 (diff)
downloadexternal_mesa3d-c60456dfaa6decc6f1884dbd40adad61937e3f69.zip
external_mesa3d-c60456dfaa6decc6f1884dbd40adad61937e3f69.tar.gz
external_mesa3d-c60456dfaa6decc6f1884dbd40adad61937e3f69.tar.bz2
nir/gather_info: Handle multi-slot variables in io bitfields
Diffstat (limited to 'src')
-rw-r--r--src/glsl/nir/nir_gather_info.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/glsl/nir/nir_gather_info.c b/src/glsl/nir/nir_gather_info.c
index c2413e3..18c8e36 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);
}