From d33c8afe9b5773419665a82a9780c3194177bf84 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Sat, 17 Oct 2020 11:30:05 +0200 Subject: [PATCH] pan/bi: Support the case where TEXC needs 0 or 1 staging reg No need to add a COMBINE instruction if TEXC only needs zero or one staging reg. Signed-off-by: Boris Brezillon Reviewed-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/bifrost_compile.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index 8ccbe0ade5b..f6ee17c9f2d 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -1471,13 +1471,17 @@ emit_texc(bi_context *ctx, nir_tex_instr *instr) combine.src[dreg_index++] = dregs[i]; } - /* Pass combined data registers together */ - if (dreg_index > 0) { + if (dreg_index > 1) { + /* Pass combined data registers together */ tex.src[0] = combine.dest; bi_emit(ctx, combine); for (unsigned i = 0; i < dreg_index; ++i) tex.swizzle[0][i] = i; + } else if (dreg_index == 1) { + tex.src[0] = combine.src[0]; + } else { + tex.src[0] = tex.dest; } /* Pass the texture operation descriptor in src2 */