From ed745febe1c05352459869e4f67bdf6e1d2a1d0c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 24 Jul 2020 12:06:40 -0700 Subject: [PATCH] gallium/tgsi_exec: Add missing DFLR opcode support. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Marek Olšák Part-of: --- src/gallium/auxiliary/tgsi/tgsi_exec.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index e0ff9476cb2..83f0b1b0134 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -378,6 +378,16 @@ micro_dfrac(union tgsi_double_channel *dst, dst->d[3] = src->d[3] - floor(src->d[3]); } +static void +micro_dflr(union tgsi_double_channel *dst, + const union tgsi_double_channel *src) +{ + dst->d[0] = floor(src->d[0]); + dst->d[1] = floor(src->d[1]); + dst->d[2] = floor(src->d[2]); + dst->d[3] = floor(src->d[3]); +} + static void micro_dldexp(union tgsi_double_channel *dst, const union tgsi_double_channel *src0, @@ -6110,6 +6120,10 @@ exec_instruction( exec_double_unary(mach, inst, micro_dfrac); break; + case TGSI_OPCODE_DFLR: + exec_double_unary(mach, inst, micro_dflr); + break; + case TGSI_OPCODE_DLDEXP: exec_dldexp(mach, inst); break; -- 2.30.2