So LDS ops have to be SLOT_X,
and LDS OQ reads have read port restrictions so we try
and force those into only having one per slot and avoiding
bank swizzles.
Acked-By: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
mask = 0x0F;
if (!is_cayman() && (slot_flags & AF_S))
mask |= 0x10;
+ /* Force LDS_IDX ops into SLOT_X */
+ if (op_ptr->opcode[0] == -1 && ((op_ptr->opcode[1] & 0xFF) == 0x11))
+ mask = 0x01;
return mask;
}
if (n->uses_ar() && has_mova)
return false;
+ if (consumes_lds_oqa)
+ return false;
+ if (n->consumes_lds_oq() && available_slots != (sh.get_ctx().has_trans ? 0x1F : 0x0F))
+ return false;
for (unsigned i = 0; i < nsrc; ++i) {
unsigned last_id = next_id;