r600: emit 0 gds_op for tf write.
authorDave Airlie <airlied@redhat.com>
Wed, 10 Jan 2018 02:54:33 +0000 (02:54 +0000)
committerDave Airlie <airlied@redhat.com>
Thu, 18 Jan 2018 03:34:36 +0000 (03:34 +0000)
This field is ignored for tf writes so should be 0.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/eg_asm.c

index 8f9d1b85f231b658b5c17949a960b783a35fcd59..f8651bdff58e936864a0f655e3b15150fcbb066d 100644 (file)
@@ -225,9 +225,10 @@ int eg_bytecode_gds_build(struct r600_bytecode *bc, struct r600_bytecode_gds *gd
 {
        unsigned gds_op = (r600_isa_fetch_opcode(bc->isa->hw_class, gds->op) >> 8) & 0x3f;
        unsigned opcode;
-       if (gds->op == FETCH_OP_TF_WRITE)
+       if (gds->op == FETCH_OP_TF_WRITE) {
                opcode = 5;
-       else
+               gds_op = 0;
+       } else
                opcode = 4;
        bc->bytecode[id++] = S_SQ_MEM_GDS_WORD0_MEM_INST(2) |
                S_SQ_MEM_GDS_WORD0_MEM_OP(opcode) |