unsigned domains;
};
-/* R600/R700 STATES */
-#define R600_GROUP_MAX 16
#define R600_BLOCK_MAX_BO 32
#define R600_BLOCK_MAX_REG 128
#define R600_CONTEXT_DRAW_PENDING (1 << 0)
#define R600_CONTEXT_DST_CACHES_DIRTY (1 << 1)
-#define R600_CONTEXT_CHECK_EVENT_FLUSH (1 << 2)
struct r600_context;
struct r600_screen;
}
if (nbo) {
- ctx->flags |= R600_CONTEXT_CHECK_EVENT_FLUSH;
-
for (int j = 0; j < block->nreg; j++) {
if (block->pm4_bo_index[j]) {
/* find relocation */
}
}
- ctx->flags &= ~R600_CONTEXT_CHECK_EVENT_FLUSH;
}
optional &= (block->nreg_dirty != block->nreg);
int cp_dwords = block->pm4_ndwords;
int nbo = block->nbo;
- ctx->flags |= R600_CONTEXT_CHECK_EVENT_FLUSH;
-
if (block->status & R600_BLOCK_STATUS_RESOURCE_VERTEX) {
nbo = 1;
cp_dwords -= 2; /* don't copy the second NOP */
r600_context_bo_reloc(ctx, reloc->bo, reloc->bo_usage);
}
}
- ctx->flags &= ~R600_CONTEXT_CHECK_EVENT_FLUSH;
memcpy(&cs->buf[cs->cdw], block->pm4, cp_dwords * 4);
cs->cdw += cp_dwords;
#define R600_MAX_DRAW_CS_DWORDS 11
-#define PKT_COUNT_C 0xC000FFFF
-#define PKT_COUNT_S(x) (((x) & 0x3FFF) << 16)
-
/* these flags are used in register flags and added into block flags */
#define REG_FLAG_NEED_BO 1
#define REG_FLAG_DIRTY_ALWAYS 2