From f73c0b73ec28b2fd0d98b027491806336e4768eb Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Wed, 15 May 2019 01:28:08 +0000 Subject: [PATCH] panfrost/midgard: Enable integer constant inlining Midgard ALU features two types of constants: embedded constants (128-bit chunk, zero/one per schedule bundle) and inline constants (16-bit splattered into the op, second source if present). Inline constants are much more efficient from a space and scheduling freedom standpoint, so it's desirable to inline when possible. Now that integer ops are well understood and in use, we enable inlining of integers constants in addition to floats (which have been inlined since forever). Signed-off-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/midgard/midgard_compile.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c b/src/gallium/drivers/panfrost/midgard/midgard_compile.c index 5354c0667e2..421a3343a71 100644 --- a/src/gallium/drivers/panfrost/midgard/midgard_compile.c +++ b/src/gallium/drivers/panfrost/midgard/midgard_compile.c @@ -3134,11 +3134,7 @@ embedded_to_inline_constant(compiler_context *ctx) /* Scale constant appropriately, if we can legally */ uint16_t scaled_constant = 0; - /* XXX: Check legality */ if (midgard_is_integer_op(op)) { - /* TODO: Inline integer */ - continue; - unsigned int *iconstants = (unsigned int *) ins->constants; scaled_constant = (uint16_t) iconstants[component]; -- 2.30.2