void (*upload_compute_state)(struct iris_context *ice,
struct iris_batch *batch,
const struct pipe_grid_info *grid);
- void (*load_register_reg32)(struct iris_batch *batch, uint32_t src,
- uint32_t dst);
- void (*load_register_reg64)(struct iris_batch *batch, uint32_t src,
- uint32_t dst);
+ void (*load_register_reg32)(struct iris_batch *batch, uint32_t dst,
+ uint32_t src);
+ void (*load_register_reg64)(struct iris_batch *batch, uint32_t dst,
+ uint32_t src);
void (*load_register_imm32)(struct iris_batch *batch, uint32_t reg,
uint32_t val);
void (*load_register_imm64)(struct iris_batch *batch, uint32_t reg,
case PIPE_QUERY_SO_OVERFLOW_ANY_PREDICATE:
overflow_result_to_gpr0(ice, q);
- ice->vtbl.load_register_reg64(batch, CS_GPR(0), MI_PREDICATE_SRC0);
+ ice->vtbl.load_register_reg64(batch, MI_PREDICATE_SRC0, CS_GPR(0));
ice->vtbl.load_register_imm64(batch, MI_PREDICATE_SRC1, 0ull);
break;
default:
#define iris_emit_lri(b, r, v) _iris_emit_lri(b, GENX(r##_num), v)
static void
-_iris_emit_lrr(struct iris_batch *batch, uint32_t src, uint32_t dst)
+_iris_emit_lrr(struct iris_batch *batch, uint32_t dst, uint32_t src)
{
iris_emit_cmd(batch, GENX(MI_LOAD_REGISTER_REG), lrr) {
lrr.SourceRegisterAddress = src;
/* ------------------------------------------------------------------- */
static void
-iris_load_register_reg32(struct iris_batch *batch, uint32_t src,
- uint32_t dst)
+iris_load_register_reg32(struct iris_batch *batch, uint32_t dst,
+ uint32_t src)
{
- _iris_emit_lrr(batch, src, dst);
+ _iris_emit_lrr(batch, dst, src);
}
static void
-iris_load_register_reg64(struct iris_batch *batch, uint32_t src,
- uint32_t dst)
+iris_load_register_reg64(struct iris_batch *batch, uint32_t dst,
+ uint32_t src)
{
- _iris_emit_lrr(batch, src, dst);
- _iris_emit_lrr(batch, src + 4, dst + 4);
+ _iris_emit_lrr(batch, dst, src);
+ _iris_emit_lrr(batch, dst + 4, src + 4);
}
static void