gallium/tgsi_exec: Add missing DFLR opcode support.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6567>
diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c
index e0ff947..83f0b1b 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_exec.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c
@@ -379,6 +379,16 @@
 }
 
 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,
              union tgsi_exec_channel *src1)
@@ -6110,6 +6120,10 @@
       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;