| /xsrc/external/mit/MesaLib/dist/src/freedreno/ir3/ |
| H A D | ir3_context.h | 65 struct ir3_instruction **inputs; 66 struct ir3_instruction **outputs; 81 struct ir3_instruction *ij[IJ_COUNT]; 84 struct ir3_instruction *frag_face, *frag_coord; 87 struct ir3_instruction *vertex_id, *basevertex, *instance_id, *base_instance, 91 struct ir3_instruction *samp_id, *samp_mask_in; 94 struct ir3_instruction *primitive_id; 95 struct ir3_instruction *gs_header; 98 struct ir3_instruction *patch_vertices_in; 99 struct ir3_instruction *tcs_heade [all...] |
| H A D | ir3_image.h | 34 struct ir3_instruction *ir3_ssbo_to_ibo(struct ir3_context *ctx, nir_src src); 36 struct ir3_instruction *ir3_image_to_ibo(struct ir3_context *ctx, nir_src src);
|
| H A D | ir3.h | 43 struct ir3_instruction; 192 struct ir3_instruction *instr; 232 struct ir3_instruction { struct 416 DECLARE_ARRAY(struct ir3_instruction *, deps); 463 DECLARE_ARRAY(struct ir3_instruction *, inputs); 471 DECLARE_ARRAY(struct ir3_instruction *, baryfs); 483 DECLARE_ARRAY(struct ir3_instruction *, a0_users); 486 DECLARE_ARRAY(struct ir3_instruction *, a1_users); 489 DECLARE_ARRAY(struct ir3_instruction *, predicates); 494 DECLARE_ARRAY(struct ir3_instruction *, astc_srg [all...] |
| H A D | ir3_cp_postsched.c | 50 has_conflicting_write(struct ir3_instruction *src, struct ir3_instruction *use, 109 valid_flags(struct ir3_instruction *use, struct ir3_instruction *mov) 125 instr_cp_postsched(struct ir3_instruction *mov) 190 util_dynarray_append(&newdeps, struct ir3_instruction *, use); 203 util_dynarray_foreach (&newdeps, struct ir3_instruction *, instrp) { 204 struct ir3_instruction *newdep = *instrp; 209 return util_dynarray_num_elements(&newdeps, struct ir3_instruction **) > 0;
|
| H A D | ir3_a4xx.c | 40 struct ir3_instruction **dst) 43 struct ir3_instruction *ldgb, *src0, *src1, *byte_offset, *offset; 45 struct ir3_instruction *ssbo = ir3_ssbo_to_ibo(ctx, intr->src[0]); 70 struct ir3_instruction *stgb, *src0, *src1, *src2, *byte_offset, *offset; 76 struct ir3_instruction *ssbo = ir3_ssbo_to_ibo(ctx, intr->src[1]); 120 static struct ir3_instruction * 124 struct ir3_instruction *atomic; 127 struct ir3_instruction *ssbo = ir3_ssbo_to_ibo(ctx, intr->src[0]); 129 struct ir3_instruction *data = ir3_get_src(ctx, &intr->src[2])[0]; 131 struct ir3_instruction *byte_offse [all...] |
| H A D | ir3_a6xx.c | 43 struct ir3_instruction **dst) 46 struct ir3_instruction *offset; 47 struct ir3_instruction *ldib; 69 struct ir3_instruction *stib, *val, *offset; 109 static struct ir3_instruction * 113 struct ir3_instruction *atomic, *ibo, *src0, *src1, *data, *dummy; 138 struct ir3_instruction *compare = ir3_get_src(ctx, &intr->src[3])[0]; 194 struct ir3_instruction *split; 202 struct ir3_instruction **dst) 205 struct ir3_instruction *ldi [all...] |
| H A D | ir3_context.c | 178 struct ir3_instruction ** 181 struct ir3_instruction **value = 182 ralloc_array(ctx->def_ht, struct ir3_instruction *, n); 187 struct ir3_instruction ** 190 struct ir3_instruction **value; 195 value = ralloc_array(ctx, struct ir3_instruction *, n); 208 struct ir3_instruction *const * 220 struct ir3_instruction *addr = NULL; 221 struct ir3_instruction **value = 222 ralloc_array(ctx, struct ir3_instruction *, num_component [all...] |
| H A D | ir3_sched.c | 97 struct ir3_instruction *scheduled; /* last scheduled instr */ 98 struct ir3_instruction *addr0; /* current a0.x user, if any */ 99 struct ir3_instruction *addr1; /* current a1.x user, if any */ 100 struct ir3_instruction *pred; /* current p0.x user, if any */ 102 struct ir3_instruction *split; /* most-recently-split a0/a1/p0 producer */ 123 struct ir3_instruction *instr; 144 struct ir3_instruction *collect; 169 struct ir3_instruction *instr); 170 static void sched_node_add_dep(struct ir3_instruction *instr, 171 struct ir3_instruction *sr [all...] |
| H A D | ir3_delay.c | 59 ir3_delayslots(struct ir3_instruction *assigner, 60 struct ir3_instruction *consumer, unsigned n, bool soft) 112 count_instruction(struct ir3_instruction *n) 123 distance(struct ir3_block *block, struct ir3_instruction *instr, unsigned maxd) 142 delay_calc_srcn_prera(struct ir3_block *block, struct ir3_instruction *assigner, 143 struct ir3_instruction *consumer, unsigned srcn) 173 ir3_delay_calc_prera(struct ir3_block *block, struct ir3_instruction *instr) 211 delay_calc_srcn_postra(struct ir3_instruction *assigner, 212 struct ir3_instruction *consumer, unsigned assigner_n, 306 delay_calc_postra(struct ir3_block *block, struct ir3_instruction *star [all...] |
| H A D | ir3_cse.c | 40 const struct ir3_instruction *instr = data; 45 foreach_src (src, (struct ir3_instruction *)instr) { 58 instrs_equal(const struct ir3_instruction *i1, const struct ir3_instruction *i2) 94 instr_can_cse(const struct ir3_instruction *instr) 136 struct ir3_instruction *instr = src->def->instr->data;
|
| H A D | ir3_cf.c | 29 is_safe_conv(struct ir3_instruction *instr, type_t src_type, opc_t *src_opc) 87 all_uses_safe_conv(struct ir3_instruction *conv_src, type_t src_type) 112 rewrite_src_uses(struct ir3_instruction *src) 128 try_conversion_folding(struct ir3_instruction *conv) 130 struct ir3_instruction *src;
|
| H A D | ir3_dce.c | 37 mark_array_use(struct ir3_instruction *instr, struct ir3_register *reg) 47 instr_dce(struct ir3_instruction *instr, bool falsedep) 77 struct ir3_instruction *src = ssa(instr->srcs[0]); 153 struct ir3_instruction *src = ssa(instr->srcs[0]); 162 struct ir3_instruction *instr = ir->a0_users[i]; 168 struct ir3_instruction *instr = ir->a1_users[i]; 174 struct ir3_instruction *instr = ir->predicates[i];
|
| H A D | ir3_legalize.c | 90 struct ir3_instruction *last_rel = NULL; 91 struct ir3_instruction *last_n = NULL; 227 struct ir3_instruction *nop; 240 struct ir3_instruction *samgp; 313 struct ir3_instruction *last_input = n; 315 struct ir3_instruction *baryf; 345 struct ir3_instruction *baryf; 404 struct ir3_instruction *op_p = ir3_instr_clone(n); 467 struct ir3_instruction *instr = 468 list_first_entry(&block->instr_list, struct ir3_instruction, nod [all...] |
| H A D | ir3_compiler_nir.c | 43 ir3_handle_nonuniform(struct ir3_instruction *instr, 53 ir3_handle_bindless_cat6(struct ir3_instruction *instr, nir_src rsrc) 63 static struct ir3_instruction * 66 struct ir3_instruction *in; 77 static struct ir3_instruction * 78 create_frag_input(struct ir3_context *ctx, struct ir3_instruction *coord, 82 struct ir3_instruction *instr; 84 struct ir3_instruction *inloc = create_immed(block, n); 100 static struct ir3_instruction * 123 static struct ir3_instruction * [all...] |
| H A D | ir3_cp.c | 61 is_eligible_mov(struct ir3_instruction *instr, 62 struct ir3_instruction *dst_instr, bool allow_flags) 67 struct ir3_instruction *src_instr = ssa(src); 100 is_foldable_double_cmp(struct ir3_instruction *cmp) 102 struct ir3_instruction *cond = ssa(cmp->srcs[0]); 114 combine_flags(unsigned *dstflags, struct ir3_instruction *src) 150 struct ir3_instruction *srcsrc = ssa(src->srcs[0]); 160 lower_immed(struct ir3_cp_ctx *ctx, struct ir3_instruction *instr, unsigned n, 249 unuse(struct ir3_instruction *instr) 274 try_swap_mad_two_srcs(struct ir3_instruction *inst [all...] |
| /xsrc/external/mit/MesaLib.old/dist/src/freedreno/ir3/ |
| H A D | ir3_context.h | 68 struct ir3_instruction *ij_pixel, *ij_sample, *ij_centroid, *ij_size; 71 struct ir3_instruction *frag_face, *frag_coord; 74 struct ir3_instruction *vertex_id, *basevertex, *instance_id; 77 struct ir3_instruction *samp_id, *samp_mask_in; 80 struct ir3_instruction *local_invocation_id, *work_group_id; 106 struct ir3_instruction **last_dst; 129 struct ir3_instruction **dst); 131 struct ir3_instruction * (*emit_intrinsic_atomic_ssbo)(struct ir3_context *ctx, nir_intrinsic_instr *intr); 133 struct ir3_instruction * (*emit_intrinsic_atomic_image)(struct ir3_context *ctx, nir_intrinsic_instr *intr); 150 struct ir3_instruction ** ir3_get_dst_ss [all...] |
| H A D | ir3_group.c | 38 struct ir3_instruction *(*get)(void *arr, int idx); 39 void (*insert_mov)(void *arr, int idx, struct ir3_instruction *instr); 42 static struct ir3_instruction *arr_get(void *arr, int idx) 44 return ((struct ir3_instruction **)arr)[idx]; 46 static void arr_insert_mov_out(void *arr, int idx, struct ir3_instruction *instr) 48 ((struct ir3_instruction **)arr)[idx] = 51 static void arr_insert_mov_in(void *arr, int idx, struct ir3_instruction *instr) 58 struct ir3_instruction *in; 72 ((struct ir3_instruction **)arr)[idx] = in; 77 static struct ir3_instruction *instr_ge [all...] |
| H A D | ir3.h | 42 struct ir3_instruction; 127 struct ir3_instruction *instr; 159 struct ir3_instruction { struct 313 * struct ir3_instruction *instr; 324 struct ir3_instruction *left, *right; 333 struct ir3_instruction *address; 338 DECLARE_ARRAY(struct ir3_instruction *, deps); 377 static inline struct ir3_instruction * 378 ir3_neighbor_first(struct ir3_instruction *instr) 391 static inline int ir3_neighbor_count(struct ir3_instruction *inst [all...] |
| H A D | ir3_sched.c | 55 struct ir3_instruction *scheduled; /* last scheduled instr XXX remove*/ 56 struct ir3_instruction *addr; /* current a0.x user, if any */ 57 struct ir3_instruction *pred; /* current p0.x user, if any */ 62 static bool is_sfu_or_mem(struct ir3_instruction *instr) 68 unuse_each_src(struct ir3_sched_ctx *ctx, struct ir3_instruction *instr) 70 struct ir3_instruction *src; 91 use_each_src(struct ir3_instruction *instr) 93 struct ir3_instruction *src; 109 update_live_values(struct ir3_sched_ctx *ctx, struct ir3_instruction *instr) 126 list_for_each_entry (struct ir3_instruction, inst [all...] |
| H A D | ir3_depth.c | 56 ignore_dep(struct ir3_instruction *assigner, 57 struct ir3_instruction *consumer, unsigned n) 82 int ir3_delayslots(struct ir3_instruction *assigner, 83 struct ir3_instruction *consumer, unsigned n) 117 ir3_insert_by_depth(struct ir3_instruction *instr, struct list_head *list) 123 list_for_each_entry (struct ir3_instruction, pos, list, node) { 134 ir3_instr_depth(struct ir3_instruction *instr, unsigned boost, bool falsedep) 136 struct ir3_instruction *src; 173 list_for_each_entry_safe (struct ir3_instruction, instr, &block->instr_list, node) { 178 struct ir3_instruction *sr [all...] |
| H A D | ir3_a6xx.c | 44 struct ir3_instruction **dst) 47 struct ir3_instruction *offset; 48 struct ir3_instruction *ldib; 71 struct ir3_instruction *stib, *val, *offset; 114 static struct ir3_instruction * 118 struct ir3_instruction *atomic, *ibo, *src0, *src1, *data, *dummy; 145 struct ir3_instruction *compare = ir3_get_src(ctx, &intr->src[3])[0]; 146 src1 = ir3_create_collect(ctx, (struct ir3_instruction*[]){ 151 src1 = ir3_create_collect(ctx, (struct ir3_instruction*[]){ 211 struct ir3_instruction *sti [all...] |
| H A D | ir3_legalize.c | 84 struct ir3_instruction *last_input = NULL; 85 struct ir3_instruction *last_rel = NULL; 86 struct ir3_instruction *last_n = NULL; 113 list_for_each_entry_safe (struct ir3_instruction, n, &instr_list, node) { 186 struct ir3_instruction *nop; 197 struct ir3_instruction *last = list_last_entry(&block->instr_list, 198 struct ir3_instruction, node); 218 struct ir3_instruction *samgp; 286 struct ir3_instruction *baryf; 377 struct ir3_instruction *inst [all...] |
| H A D | ir3_context.c | 187 struct ir3_instruction ** 190 struct ir3_instruction **value = 191 ralloc_array(ctx->def_ht, struct ir3_instruction *, n); 196 struct ir3_instruction ** 199 struct ir3_instruction **value; 204 value = ralloc_array(ctx, struct ir3_instruction *, n); 217 struct ir3_instruction * const * 229 struct ir3_instruction *addr = NULL; 230 struct ir3_instruction **value = 231 ralloc_array(ctx, struct ir3_instruction *, num_component [all...] |
| H A D | ir3_a4xx.c | 40 struct ir3_instruction **dst) 43 struct ir3_instruction *ldgb, *src0, *src1, *byte_offset, *offset; 52 src0 = ir3_create_collect(ctx, (struct ir3_instruction*[]){ 75 struct ir3_instruction *stgb, *src0, *src1, *src2, *byte_offset, *offset; 94 src2 = ir3_create_collect(ctx, (struct ir3_instruction*[]){ 126 static struct ir3_instruction * 130 struct ir3_instruction *atomic, *ssbo, *src0, *src1, *src2, *byte_offset, 149 src2 = ir3_create_collect(ctx, (struct ir3_instruction*[]){ 186 src0 = ir3_create_collect(ctx, (struct ir3_instruction*[]){ 209 static struct ir3_instruction * [all...] |
| /xsrc/external/mit/MesaLib/dist/src/freedreno/isa/ |
| H A D | encode.c | 40 struct ir3_instruction *instr; 44 * Helpers defining how to map from ir3_instruction/ir3_register/etc to fields 49 extract_SRC1_R(struct ir3_instruction *instr) 59 extract_SRC2_R(struct ir3_instruction *instr) 72 __instruction_case(struct encode_state *s, struct ir3_instruction *instr) 155 extract_cat5_SRC(struct ir3_instruction *instr, unsigned n) 166 extract_cat5_FULL(struct ir3_instruction *instr) 176 extract_cat5_DESC_MODE(struct ir3_instruction *instr) 212 extract_cat6_DESC_MODE(struct ir3_instruction *instr) 232 extract_cat6_SRC(struct ir3_instruction *inst [all...] |