summaryrefslogtreecommitdiffstats
path: root/src/glsl
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2015-12-21 21:20:50 -0800
committerJason Ekstrand <jason.ekstrand@intel.com>2015-12-23 13:49:56 -0800
commitaf74ce5a19315284f229277b44b84bede5be4d99 (patch)
tree8c142d9beb62c3e7f045d592c64b8b05ebbd1e1a /src/glsl
parent79b8b42081a6d4e219350882316bdc971c68ceec (diff)
downloadexternal_mesa3d-af74ce5a19315284f229277b44b84bede5be4d99.zip
external_mesa3d-af74ce5a19315284f229277b44b84bede5be4d99.tar.gz
external_mesa3d-af74ce5a19315284f229277b44b84bede5be4d99.tar.bz2
spirv/nir: Handle non-vector extractions in vtn_composite_extract
Diffstat (limited to 'src/glsl')
-rw-r--r--src/glsl/nir/spirv_to_nir.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/glsl/nir/spirv_to_nir.c b/src/glsl/nir/spirv_to_nir.c
index d56f9be..23c2c48 100644
--- a/src/glsl/nir/spirv_to_nir.c
+++ b/src/glsl/nir/spirv_to_nir.c
@@ -2824,6 +2824,8 @@ vtn_composite_extract(struct vtn_builder *b, struct vtn_ssa_value *src,
ret->type = glsl_scalar_type(glsl_get_base_type(cur->type));
ret->def = vtn_vector_extract(b, cur->def, indices[i]);
return ret;
+ } else {
+ cur = cur->elems[indices[i]];
}
}