r600g: Avoid duplicated initialization of TGSI_OPCODE_DFMA
authorRhys Kidd <rhyskidd@gmail.com>
Sat, 27 Aug 2016 16:05:30 +0000 (12:05 -0400)
committerEric Anholt <eric@anholt.net>
Mon, 29 Aug 2016 18:03:20 +0000 (11:03 -0700)
As reported by Clang, TGSI_OPCODE_DFMA (defined magic number 118) is
currently initialized twice for Cayman and Evergreen.

When Jan Vesely added double precision FMA opcode it did make sense
to locate it immediately after TGSI_OPCODE_DMAD, although this is
out of order.

This change cleans up the prior magic number definition and ensures
any later reordering of this struct will not create problems.

Prior change was:

  commit 015e2e0fce3eea7884f8df275c2fadc35143a324
  Author: Jan Vesely <jan.vesely@rutgers.edu>
  Date:   Sat Jul 2 16:14:54 2016 -0400

      r600g: Add double precision FMA ops

      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96782
Fixes: 54c4d525da7c7fc1e103d7a3e6db015abb132d5d ("r600g: Enable FMA on chips that support it")
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Tested-by: James Harvey <lothmordor@gmail.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: James Harvey <lothmordor@gmail.com>
src/gallium/drivers/r600/r600_shader.c

index 64aacca72f17f3b918251f1fe6661584a89de029..a39301f3b6e7a88717069c4d3d46477d6756b331 100644 (file)
@@ -9210,7 +9210,7 @@ static const struct r600_shader_tgsi_instruction eg_shader_tgsi_instruction[] =
        [TGSI_OPCODE_BREAKC]    = { ALU_OP0_NOP, tgsi_unsupported},
        [TGSI_OPCODE_KILL_IF]   = { ALU_OP2_KILLGT, tgsi_kill},  /* conditional kill */
        [TGSI_OPCODE_END]       = { ALU_OP0_NOP, tgsi_end},  /* aka HALT */
-       [118]                   = { ALU_OP0_NOP, tgsi_unsupported},
+       /* Refer below for TGSI_OPCODE_DFMA */
        [TGSI_OPCODE_F2I]       = { ALU_OP1_FLT_TO_INT, tgsi_f2i},
        [TGSI_OPCODE_IDIV]      = { ALU_OP0_NOP, tgsi_idiv},
        [TGSI_OPCODE_IMAX]      = { ALU_OP2_MAX_INT, tgsi_op2},
@@ -9433,7 +9433,7 @@ static const struct r600_shader_tgsi_instruction cm_shader_tgsi_instruction[] =
        [TGSI_OPCODE_BREAKC]    = { ALU_OP0_NOP, tgsi_unsupported},
        [TGSI_OPCODE_KILL_IF]   = { ALU_OP2_KILLGT, tgsi_kill},  /* conditional kill */
        [TGSI_OPCODE_END]       = { ALU_OP0_NOP, tgsi_end},  /* aka HALT */
-       [118]                   = { ALU_OP0_NOP, tgsi_unsupported},
+       /* Refer below for TGSI_OPCODE_DFMA */
        [TGSI_OPCODE_F2I]       = { ALU_OP1_FLT_TO_INT, tgsi_op2},
        [TGSI_OPCODE_IDIV]      = { ALU_OP0_NOP, tgsi_idiv},
        [TGSI_OPCODE_IMAX]      = { ALU_OP2_MAX_INT, tgsi_op2},