tgsi_to_nir: implement a few needed 64-bit integer opcodes
authorMarek Olšák <marek.olsak@amd.com>
Fri, 2 Aug 2019 13:19:00 +0000 (15:19 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 6 Aug 2019 22:03:24 +0000 (18:03 -0400)
for internal radeonsi shaders

v2 (Connor):
- Split this out from the prep work, and rework the former
- Add support for U64SNE

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/auxiliary/nir/tgsi_to_nir.c

index b4c4365de326375f7751b12494d6002eb9d45b11..d2e054d7fc388008dbb1a6e38f9a59e35791b4bb 100644 (file)
@@ -1715,6 +1715,11 @@ static const nir_op op_trans[TGSI_OPCODE_LAST] = {
    [TGSI_OPCODE_INTERP_CENTROID] = 0, /* XXX */
    [TGSI_OPCODE_INTERP_SAMPLE] = 0, /* XXX */
    [TGSI_OPCODE_INTERP_OFFSET] = 0, /* XXX */
    [TGSI_OPCODE_INTERP_CENTROID] = 0, /* XXX */
    [TGSI_OPCODE_INTERP_SAMPLE] = 0, /* XXX */
    [TGSI_OPCODE_INTERP_OFFSET] = 0, /* XXX */
+
+   [TGSI_OPCODE_U64ADD] = nir_op_iadd,
+   [TGSI_OPCODE_U64MUL] = nir_op_imul,
+   [TGSI_OPCODE_U64DIV] = nir_op_udiv,
+   [TGSI_OPCODE_U64SNE] = nir_op_ine,
 };
 
 static void
 };
 
 static void