Searched refs:ir3_instruction (Results 1 - 25 of 55) sorted by relevance

123

/xsrc/external/mit/MesaLib/dist/src/freedreno/ir3/
H A Dir3_context.h65 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 Dir3_image.h34 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 Dir3.h43 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 Dir3_cp_postsched.c50 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 Dir3_a4xx.c40 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 Dir3_a6xx.c43 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 Dir3_context.c178 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 Dir3_sched.c97 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 Dir3_delay.c59 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 Dir3_cse.c40 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 Dir3_cf.c29 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 Dir3_dce.c37 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 Dir3_legalize.c90 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 Dir3_compiler_nir.c43 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 Dir3_cp.c61 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 Dir3_context.h68 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 Dir3_group.c38 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 Dir3.h42 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 Dir3_sched.c55 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 Dir3_depth.c56 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 Dir3_a6xx.c44 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 Dir3_legalize.c84 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 Dir3_context.c187 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 Dir3_a4xx.c40 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 Dencode.c40 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...]

Completed in 103 milliseconds

123