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