Lines Matching refs:cf
31 int eg_bytecode_cf_build(struct r600_bytecode *bc, struct r600_bytecode_cf *cf) in eg_bytecode_cf_build() argument
33 unsigned id = cf->id; in eg_bytecode_cf_build()
35 if (cf->op == CF_NATIVE) { in eg_bytecode_cf_build()
36 bc->bytecode[id++] = cf->isa[0]; in eg_bytecode_cf_build()
37 bc->bytecode[id++] = cf->isa[1]; in eg_bytecode_cf_build()
39 const struct cf_op_info *cfop = r600_isa_cf(cf->op); in eg_bytecode_cf_build()
40 unsigned opcode = r600_isa_cf_opcode(bc->isa->hw_class, cf->op); in eg_bytecode_cf_build()
44 if (cf->eg_alu_extended) { in eg_bytecode_cf_build()
46 S_SQ_CF_ALU_WORD0_EXT_KCACHE_BANK_INDEX_MODE0(cf->kcache[0].index_mode) | in eg_bytecode_cf_build()
47 S_SQ_CF_ALU_WORD0_EXT_KCACHE_BANK_INDEX_MODE1(cf->kcache[1].index_mode) | in eg_bytecode_cf_build()
48 S_SQ_CF_ALU_WORD0_EXT_KCACHE_BANK_INDEX_MODE2(cf->kcache[2].index_mode) | in eg_bytecode_cf_build()
49 S_SQ_CF_ALU_WORD0_EXT_KCACHE_BANK_INDEX_MODE3(cf->kcache[3].index_mode) | in eg_bytecode_cf_build()
50 S_SQ_CF_ALU_WORD0_EXT_KCACHE_BANK2(cf->kcache[2].bank) | in eg_bytecode_cf_build()
51 S_SQ_CF_ALU_WORD0_EXT_KCACHE_BANK3(cf->kcache[3].bank) | in eg_bytecode_cf_build()
52 S_SQ_CF_ALU_WORD0_EXT_KCACHE_MODE2(cf->kcache[2].mode); in eg_bytecode_cf_build()
56 S_SQ_CF_ALU_WORD1_EXT_KCACHE_MODE3(cf->kcache[3].mode) | in eg_bytecode_cf_build()
57 S_SQ_CF_ALU_WORD1_EXT_KCACHE_ADDR2(cf->kcache[2].addr) | in eg_bytecode_cf_build()
58 S_SQ_CF_ALU_WORD1_EXT_KCACHE_ADDR3(cf->kcache[3].addr) | in eg_bytecode_cf_build()
61 bc->bytecode[id++] = S_SQ_CF_ALU_WORD0_ADDR(cf->addr >> 1) | in eg_bytecode_cf_build()
62 S_SQ_CF_ALU_WORD0_KCACHE_MODE0(cf->kcache[0].mode) | in eg_bytecode_cf_build()
63 S_SQ_CF_ALU_WORD0_KCACHE_BANK0(cf->kcache[0].bank) | in eg_bytecode_cf_build()
64 S_SQ_CF_ALU_WORD0_KCACHE_BANK1(cf->kcache[1].bank); in eg_bytecode_cf_build()
66 S_SQ_CF_ALU_WORD1_KCACHE_MODE1(cf->kcache[1].mode) | in eg_bytecode_cf_build()
67 S_SQ_CF_ALU_WORD1_KCACHE_ADDR0(cf->kcache[0].addr) | in eg_bytecode_cf_build()
68 S_SQ_CF_ALU_WORD1_KCACHE_ADDR1(cf->kcache[1].addr) | in eg_bytecode_cf_build()
70 S_SQ_CF_ALU_WORD1_COUNT((cf->ndw / 2) - 1); in eg_bytecode_cf_build()
73 bc->bytecode[id++] = S_SQ_CF_WORD0_ADDR(cf->addr >> 1); in eg_bytecode_cf_build()
76 S_SQ_CF_WORD1_VALID_PIXEL_MODE(cf->vpm) | in eg_bytecode_cf_build()
77 S_SQ_CF_WORD1_COUNT((cf->ndw / 4) - 1); in eg_bytecode_cf_build()
79 bc->bytecode[id] |= S_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM(cf->end_of_program); in eg_bytecode_cf_build()
83 bc->bytecode[id++] = S_SQ_CF_ALLOC_EXPORT_WORD0_RW_GPR(cf->output.gpr) | in eg_bytecode_cf_build()
84 S_SQ_CF_ALLOC_EXPORT_WORD0_ELEM_SIZE(cf->output.elem_size) | in eg_bytecode_cf_build()
85 S_SQ_CF_ALLOC_EXPORT_WORD0_ARRAY_BASE(cf->output.array_base) | in eg_bytecode_cf_build()
86 S_SQ_CF_ALLOC_EXPORT_WORD0_TYPE(cf->output.type) | in eg_bytecode_cf_build()
87 S_SQ_CF_ALLOC_EXPORT_WORD0_INDEX_GPR(cf->output.index_gpr); in eg_bytecode_cf_build()
89 S_SQ_CF_ALLOC_EXPORT_WORD1_BURST_COUNT(cf->output.burst_count - 1) | in eg_bytecode_cf_build()
90 S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_X(cf->output.swizzle_x) | in eg_bytecode_cf_build()
91 S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Y(cf->output.swizzle_y) | in eg_bytecode_cf_build()
92 S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Z(cf->output.swizzle_z) | in eg_bytecode_cf_build()
93 S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_W(cf->output.swizzle_w) | in eg_bytecode_cf_build()
94 S_SQ_CF_ALLOC_EXPORT_WORD1_BARRIER(cf->barrier) | in eg_bytecode_cf_build()
95 S_SQ_CF_ALLOC_EXPORT_WORD1_MARK(cf->mark) | in eg_bytecode_cf_build()
99 bc->bytecode[id] |= S_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM(cf->end_of_program); in eg_bytecode_cf_build()
102 bc->bytecode[id++] = S_SQ_CF_ALLOC_EXPORT_WORD0_RAT_RAT_ID(cf->rat.id) | in eg_bytecode_cf_build()
103 S_SQ_CF_ALLOC_EXPORT_WORD0_RAT_RAT_INST(cf->rat.inst) | in eg_bytecode_cf_build()
104 S_SQ_CF_ALLOC_EXPORT_WORD0_RAT_RAT_INDEX_MODE(cf->rat.index_mode) | in eg_bytecode_cf_build()
105 S_SQ_CF_ALLOC_EXPORT_WORD0_RW_GPR(cf->output.gpr) | in eg_bytecode_cf_build()
106 S_SQ_CF_ALLOC_EXPORT_WORD0_ELEM_SIZE(cf->output.elem_size) | in eg_bytecode_cf_build()
107 S_SQ_CF_ALLOC_EXPORT_WORD0_TYPE(cf->output.type) | in eg_bytecode_cf_build()
108 S_SQ_CF_ALLOC_EXPORT_WORD0_INDEX_GPR(cf->output.index_gpr); in eg_bytecode_cf_build()
109 bc->bytecode[id] = S_SQ_CF_ALLOC_EXPORT_WORD1_BURST_COUNT(cf->output.burst_count - 1) | in eg_bytecode_cf_build()
110 S_SQ_CF_ALLOC_EXPORT_WORD1_BARRIER(cf->barrier) | in eg_bytecode_cf_build()
111 S_SQ_CF_ALLOC_EXPORT_WORD1_MARK(cf->mark) | in eg_bytecode_cf_build()
112 S_SQ_CF_ALLOC_EXPORT_WORD1_VALID_PIXEL_MODE(cf->vpm) | 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()
116 S_SQ_CF_ALLOC_EXPORT_WORD1_MARK(cf->output.mark); in eg_bytecode_cf_build()
118 bc->bytecode[id] |= S_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM(cf->end_of_program); in eg_bytecode_cf_build()
123 bc->bytecode[id++] = S_SQ_CF_ALLOC_EXPORT_WORD0_RW_GPR(cf->output.gpr) | in eg_bytecode_cf_build()
124 S_SQ_CF_ALLOC_EXPORT_WORD0_ELEM_SIZE(cf->output.elem_size) | in eg_bytecode_cf_build()
125 S_SQ_CF_ALLOC_EXPORT_WORD0_ARRAY_BASE(cf->output.array_base) | in eg_bytecode_cf_build()
126 S_SQ_CF_ALLOC_EXPORT_WORD0_TYPE(cf->output.type) | in eg_bytecode_cf_build()
127 S_SQ_CF_ALLOC_EXPORT_WORD0_INDEX_GPR(cf->output.index_gpr); in eg_bytecode_cf_build()
128 bc->bytecode[id] = S_SQ_CF_ALLOC_EXPORT_WORD1_BURST_COUNT(cf->output.burst_count - 1) | in eg_bytecode_cf_build()
129 S_SQ_CF_ALLOC_EXPORT_WORD1_BARRIER(cf->barrier) | in eg_bytecode_cf_build()
130 S_SQ_CF_ALLOC_EXPORT_WORD1_MARK(cf->mark) | in eg_bytecode_cf_build()
132 S_SQ_CF_ALLOC_EXPORT_WORD1_BUF_COMP_MASK(cf->output.comp_mask) | in eg_bytecode_cf_build()
133 S_SQ_CF_ALLOC_EXPORT_WORD1_BUF_ARRAY_SIZE(cf->output.array_size); in eg_bytecode_cf_build()
135 bc->bytecode[id] |= S_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM(cf->end_of_program); in eg_bytecode_cf_build()
139 bc->bytecode[id++] = S_SQ_CF_WORD0_ADDR(cf->cf_addr >> 1); in eg_bytecode_cf_build()
141 S_SQ_CF_WORD1_VALID_PIXEL_MODE(cf->vpm) | in eg_bytecode_cf_build()
143 S_SQ_CF_WORD1_COND(cf->cond) | in eg_bytecode_cf_build()
144 S_SQ_CF_WORD1_POP_COUNT(cf->pop_count) | in eg_bytecode_cf_build()
145 S_SQ_CF_WORD1_COUNT(cf->count); in eg_bytecode_cf_build()
147 bc->bytecode[id] |= S_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM(cf->end_of_program); in eg_bytecode_cf_build()