summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>2020-12-16 13:01:12 -0500
committerMarge Bot <eric+marge@anholt.net>2020-12-31 14:39:02 +0000
commit6f048b5f954c6019ed303e6f5393b20ee8079f57 (patch)
treead1d11aaf98f44c0d5c60d34162830e1bd889194
parent311d3d60156fbe76d3f9570eda1cf92b714ecc68 (diff)
pan/bi: Add TEXS emit with builder
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>
-rw-r--r--src/panfrost/bifrost/bifrost_compile.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c
index a8262928aaa..47ebfdc9105 100644
--- a/src/panfrost/bifrost/bifrost_compile.c
+++ b/src/panfrost/bifrost/bifrost_compile.c
@@ -2495,6 +2495,20 @@ bi_emit_alu(bi_builder *b, nir_alu_instr *instr)
* space-efficient and with simpler RA/scheduling requirements*/
static void
+bi_emit_texs(bi_builder *b, nir_tex_instr *instr)
+{
+ int coord_idx = nir_tex_instr_src_index(instr, nir_tex_src_coord);
+ assert(coord_idx >= 0);
+ bi_index coords = bi_src_index(&instr->src[coord_idx].src);
+
+ bi_texs_2d_to(b, nir_dest_bit_size(instr->dest),
+ bi_dest_index(&instr->dest),
+ coords, bi_word(coords, 1),
+ instr->op != nir_texop_tex, /* zero LOD */
+ instr->sampler_index, instr->texture_index);
+}
+
+static void
emit_texs(bi_context *ctx, nir_tex_instr *instr)
{
bi_instruction tex = {