aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2020-03-27 16:34:27 +1000
committerDave Airlie <[email protected]>2020-05-19 10:26:46 +1000
commit3f71a5e25f3560292952ce7d7fe250d2b6c2f4c8 (patch)
tree63d8930733b478f66fc8e30e8f562784916d9620 /src/gallium/auxiliary
parent06c10fa3a50cdefd95512f0c6b9060834f9dd33c (diff)
llvmpipe: add interp instruction support
This allows interpolating an attribute at offset/sample/centroid locations. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_nir.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir.c b/src/gallium/auxiliary/gallivm/lp_bld_nir.c
index 32ad96e1a4a..d31d0408374 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_nir.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir.c
@@ -1338,6 +1338,7 @@ static void visit_interp(struct lp_build_nir_context *bld_base,
}
} else if (instr->intrinsic == nir_intrinsic_interp_deref_at_sample) {
offsets[0] = get_src(bld_base, instr->src[1]);
+ offsets[0] = cast_type(bld_base, offsets[0], nir_type_int, 32);
sample = true;
}
bld_base->interp_at(bld_base, num_components, var, centroid, sample, const_index, indir_index, offsets, result);