summaryrefslogtreecommitdiff
path: root/src/compiler/nir/nir.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/nir/nir.c')
-rw-r--r--src/compiler/nir/nir.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/compiler/nir/nir.c b/src/compiler/nir/nir.c
index 552b42dd4e1..123f3e44502 100644
--- a/src/compiler/nir/nir.c
+++ b/src/compiler/nir/nir.c
@@ -2254,3 +2254,14 @@ nir_rewrite_image_intrinsic(nir_intrinsic_instr *intrin, nir_ssa_def *src,
nir_instr_rewrite_src(&intrin->instr, &intrin->src[0],
nir_src_for_ssa(src));
}
+
+unsigned
+nir_image_intrinsic_coord_components(const nir_intrinsic_instr *instr)
+{
+ enum glsl_sampler_dim dim = nir_intrinsic_image_dim(instr);
+ int coords = glsl_get_sampler_dim_coordinate_components(dim);
+ if (dim == GLSL_SAMPLER_DIM_CUBE)
+ return coords;
+ else
+ return coords + nir_intrinsic_image_array(instr);
+}