Lines Matching refs:cf

30 int eg_bytecode_cf_build(struct r600_bytecode *bc, struct r600_bytecode_cf *cf)
32 unsigned id = cf->id;
34 switch (cf->inst) {
40 if (cf->eg_alu_extended) {
46 S_SQ_CF_ALU_WORD0_EXT_KCACHE_BANK2(cf->kcache[2].bank) |
47 S_SQ_CF_ALU_WORD0_EXT_KCACHE_BANK3(cf->kcache[3].bank) |
48 S_SQ_CF_ALU_WORD0_EXT_KCACHE_MODE2(cf->kcache[2].mode);
50 S_SQ_CF_ALU_WORD1_EXT_KCACHE_MODE3(cf->kcache[3].mode) |
51 S_SQ_CF_ALU_WORD1_EXT_KCACHE_ADDR2(cf->kcache[2].addr) |
52 S_SQ_CF_ALU_WORD1_EXT_KCACHE_ADDR3(cf->kcache[3].addr) |
56 bc->bytecode[id++] = S_SQ_CF_ALU_WORD0_ADDR(cf->addr >> 1) |
57 S_SQ_CF_ALU_WORD0_KCACHE_MODE0(cf->kcache[0].mode) |
58 S_SQ_CF_ALU_WORD0_KCACHE_BANK0(cf->kcache[0].bank) |
59 S_SQ_CF_ALU_WORD0_KCACHE_BANK1(cf->kcache[1].bank);
60 bc->bytecode[id++] = cf->inst |
61 S_SQ_CF_ALU_WORD1_KCACHE_MODE1(cf->kcache[1].mode) |
62 S_SQ_CF_ALU_WORD1_KCACHE_ADDR0(cf->kcache[0].addr) |
63 S_SQ_CF_ALU_WORD1_KCACHE_ADDR1(cf->kcache[1].addr) |
65 S_SQ_CF_ALU_WORD1_COUNT((cf->ndw / 2) - 1);
69 bc->bytecode[id++] = S_SQ_CF_WORD0_ADDR(cf->addr >> 1);
70 bc->bytecode[id++] = cf->inst |
72 S_SQ_CF_WORD1_COUNT((cf->ndw / 4) - 1);
76 bc->bytecode[id++] = S_SQ_CF_ALLOC_EXPORT_WORD0_RW_GPR(cf->output.gpr) |
77 S_SQ_CF_ALLOC_EXPORT_WORD0_ELEM_SIZE(cf->output.elem_size) |
78 S_SQ_CF_ALLOC_EXPORT_WORD0_ARRAY_BASE(cf->output.array_base) |
79 S_SQ_CF_ALLOC_EXPORT_WORD0_TYPE(cf->output.type);
80 bc->bytecode[id] = S_SQ_CF_ALLOC_EXPORT_WORD1_BURST_COUNT(cf->output.burst_count - 1) |
81 S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_X(cf->output.swizzle_x) |
82 S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Y(cf->output.swizzle_y) |
83 S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Z(cf->output.swizzle_z) |
84 S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_W(cf->output.swizzle_w) |
85 S_SQ_CF_ALLOC_EXPORT_WORD1_BARRIER(cf->output.barrier) |
86 cf->output.inst;
88 bc->bytecode[id] |= S_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM(cf->output.end_of_program);
107 bc->bytecode[id++] = S_SQ_CF_ALLOC_EXPORT_WORD0_RW_GPR(cf->output.gpr) |
108 S_SQ_CF_ALLOC_EXPORT_WORD0_ELEM_SIZE(cf->output.elem_size) |
109 S_SQ_CF_ALLOC_EXPORT_WORD0_ARRAY_BASE(cf->output.array_base) |
110 S_SQ_CF_ALLOC_EXPORT_WORD0_TYPE(cf->output.type);
111 bc->bytecode[id] = S_SQ_CF_ALLOC_EXPORT_WORD1_BURST_COUNT(cf->output.burst_count - 1) |
112 S_SQ_CF_ALLOC_EXPORT_WORD1_BARRIER(cf->output.barrier) |
113 cf->output.inst |
114 S_SQ_CF_ALLOC_EXPORT_WORD1_BUF_COMP_MASK(cf->output.comp_mask) |
115 S_SQ_CF_ALLOC_EXPORT_WORD1_BUF_ARRAY_SIZE(cf->output.array_size);
117 bc->bytecode[id] |= S_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM(cf->output.end_of_program);
131 bc->bytecode[id++] = S_SQ_CF_WORD0_ADDR(cf->cf_addr >> 1);
132 bc->bytecode[id++] = cf->inst |
134 S_SQ_CF_WORD1_COND(cf->cond) |
135 S_SQ_CF_WORD1_POP_COUNT(cf->pop_count);
138 bc->bytecode[id++] = cf->isa[0];
139 bc->bytecode[id++] = cf->isa[1];
142 R600_ERR("unsupported CF instruction (0x%X)\n", cf->inst);