Searched refs:clause (Results 1 - 25 of 36) sorted by relevance

12

/xsrc/external/mit/MesaLib/dist/src/panfrost/bifrost/
H A Dbi_layout.c26 /* The scheduler packs multiple instructions into a clause (grouped as tuple),
27 * and the packing code takes in a clause and emits it to the wire. During
29 * within the clause so constraints can be resolved during scheduling instead
32 * manipulating clause layouts.
35 /* Is embedded constant 0 packed for free in a clause with this many tuples? */
46 /* Helper to calculate the number of quadwords in a clause. This is a function
73 bi_clause_quadwords(bi_clause *clause) argument
75 unsigned X = clause->tuple_count;
78 unsigned constants = clause->constant_count;
87 * are from the beginning of a clause s
[all...]
H A Dbi_print.c83 bi_print_clause(bi_clause *clause, FILE *fp) argument
85 fprintf(fp, "id(%u)", clause->scoreboard_id);
87 if (clause->dependencies) {
91 if (clause->dependencies & (1 << i))
98 fprintf(fp, " %s", bi_flow_control_name(clause->flow_control));
100 if (!clause->next_clause_prefetch)
103 if (clause->staging_barrier)
106 if (clause->td)
109 if (clause->pcrel_idx != ~0)
110 fprintf(fp, " pcrel(%u)", clause
[all...]
H A Dbi_scoreboard.c29 /* Assign dependency slots to each clause and calculate dependencies, This pass
32 * 1. A clause that does not produce a message must use the sentinel slot #0
33 * 2a. A clause that depends on the results of a previous message-passing
43 * 8. If a clause writes to a read staging register of an unresolved
64 /* Given a scoreboard model, choose a slot for a clause wrapping a given
70 /* A clause that does not produce a message must use slot #0 */
99 bi_foreach_clause_in_block(block, clause) {
100 unsigned slot = bi_choose_scoreboard_slot(&st, clause->message);
101 clause->scoreboard_id = slot;
103 bi_clause *next = bi_next_clause(ctx, block, clause);
[all...]
H A Dbi_pack.c31 bi_pack_header(bi_clause *clause, bi_clause *next_1, bi_clause *next_2) argument
45 BIFROST_FLOW_END : clause->flow_control,
46 .terminate_discarded_threads = clause->td,
47 .next_clause_prefetch = clause->next_clause_prefetch && next_1,
49 .staging_register = clause->staging_register,
51 .dependency_slot = clause->scoreboard_id,
52 .message_type = clause->message_type,
309 bi_pack_tuple(bi_clause *clause, bi_tuple *tuple, bi_tuple *prev, bool first_tuple, gl_shader_stage stage) argument
341 clause->staging_register = add->src[0].value;
347 clause
372 bi_clause *clause = list_last_entry(&block->clauses, bi_clause, link); local in function:bi_assign_branch_offset
626 bi_pack_clause(bi_context * ctx,bi_clause * clause,bi_clause * next_1,bi_clause * next_2,struct util_dynarray * emission,gl_shader_stage stage) argument
690 bi_collect_blend_ret_addr(bi_context * ctx,struct util_dynarray * emission,const bi_clause * clause) argument
[all...]
H A Dbir.c124 bi_next_clause(bi_context *ctx, bi_block *block, bi_clause *clause) argument
126 if (!block && !clause)
129 /* Try the first clause in this block if we're starting from scratch */
130 if (!clause && !list_is_empty(&block->clauses))
133 /* Try the next clause in this block */
134 if (clause && clause->link.next != &block->clauses)
135 return list_first_entry(&(clause->link), bi_clause, link);
196 * branches and for the last instruction (clause) in a block whose
H A Dbi_schedule.c50 /* State of a single tuple and clause under construction */
72 /* Is this the last tuple in the clause */
106 /* Index of the constant into the clause */
308 struct bi_clause_state *clause, struct bi_tuple_state *tuple)
330 bi_lower_atom_c(bi_context *ctx, struct bi_clause_state *clause, struct argument
349 bi_lower_atom_c1(bi_context *ctx, struct bi_clause_state *clause, struct argument
371 struct bi_clause_state *clause, struct bi_tuple_state *tuple)
391 struct bi_clause_state *clause, struct bi_tuple_state *tuple)
552 * paired instructions) can run afoul of the "no two writes on the last clause"
721 /* Counts the number of 64-bit constants required by a clause
307 bi_lower_cubeface(bi_context * ctx,struct bi_clause_state * clause,struct bi_tuple_state * tuple) argument
370 bi_lower_seg_add(bi_context * ctx,struct bi_clause_state * clause,struct bi_tuple_state * tuple) argument
390 bi_lower_dtsel(bi_context * ctx,struct bi_clause_state * clause,struct bi_tuple_state * tuple) argument
726 bi_nconstants(struct bi_clause_state * clause) argument
739 bi_space_for_more_constants(struct bi_clause_state * clause) argument
750 bi_update_fau(struct bi_clause_state * clause,struct bi_tuple_state * tuple,bi_instr * instr,bool fma,bool destructive) argument
977 bi_instr_schedulable(bi_instr * instr,struct bi_clause_state * clause,struct bi_tuple_state * tuple,uint64_t live_after_temp,bool fma) argument
1108 bi_choose_index(struct bi_worklist st,struct bi_clause_state * clause,struct bi_tuple_state * tuple,uint64_t live_after_temp,bool fma) argument
1140 bi_pop_instr(struct bi_clause_state * clause,struct bi_tuple_state * tuple,bi_instr * instr,uint64_t live_after_temp,bool fma) argument
1163 bi_take_instr(bi_context * ctx,struct bi_worklist st,struct bi_clause_state * clause,struct bi_tuple_state * tuple,uint64_t live_after_temp,bool fma) argument
1591 bi_clause *clause = rzalloc(ctx, bi_clause); local in function:bi_schedule_clause
1967 bi_clause *clause = bi_next_clause(ctx, block, NULL); local in function:bi_add_nop_for_atest
[all...]
H A Dcompiler.h529 /* Architectural limit of 8 tuples/clause */
533 /* For scoreboarding -- the clause ID (this is not globally unique!)
536 * bitfield matching the hardware, except shifted by a clause (the
545 /* Can we prefetch the next clause? Usually it makes sense, except for
552 /* Corresponds to the usual bit but shifted by a clause */
555 /* Constants read by this clause. ISA limit. Must satisfy:
574 /* Unique in a clause */
893 bi_clause * bi_next_clause(bi_context *ctx, bi_block *block, bi_clause *clause);
900 void bi_print_clause(bi_clause *clause, FILE *fp);
969 /* Returns the size of the final clause */
1072 bi_first_instr_in_clause(bi_clause * clause) argument
1078 bi_last_instr_in_clause(bi_clause * clause) argument
1109 bi_before_clause(bi_clause * clause) argument
1121 bi_after_clause(bi_clause * clause) argument
[all...]
H A Dbi_helper_invocations.c30 * to skip execution. Each clause has a `terminate_discarded_threads` bit,
33 * The terminate bit should be set on the last clause requiring helper
49 * set, and the clause containing the derivative has the terminate bit set.
191 bi_foreach_clause_in_block_rev(block, clause) {
192 bi_foreach_instr_in_clause_rev(block, clause, I) {
196 clause->td = !helpers;
H A Dbifrost_compile.c56 * clause of the shader, this range must be valid instructions or zero. */
3069 bi_count_tuple_stats(bi_clause *clause, bi_tuple *tuple, struct bi_stats *stats) argument
3075 if (tuple->add != clause->message) {
3084 switch (clause->message_type) {
3087 stats->nr_varying += (clause->message->vecsize + 1) *
3088 (bi_is_regfmt_16(clause->message->register_format) ? 1 : 2);
3138 bi_foreach_clause_in_block(block, clause) {
3140 stats.nr_tuples += clause->tuple_count;
3142 for (unsigned i = 0; i < clause->tuple_count; ++i)
3143 bi_count_tuple_stats(clause,
[all...]
/xsrc/external/mit/xorg-server.old/dist/mi/
H A Dmizerarc.h60 #define MIARCOCTANTSHIFT(clause) \
81 clause \
104 #define MIARCCIRCLESTEP(clause) \
117 clause \
/xsrc/external/mit/xorg-server/dist/mi/
H A Dmizerarc.h59 #define MIARCOCTANTSHIFT(clause) \
80 clause \
103 #define MIARCCIRCLESTEP(clause) \
116 clause \
/xsrc/external/mit/MesaLib.old/dist/src/gallium/drivers/r600/sb/
H A Dsb_gcm.cpp332 container_node *clause = NULL; local in function:r600_sb::gcm::bu_sched_bb
388 clause = NULL;
416 sampler_indexing = true; // Give sampler indexed ops get their own clause
438 if (!clause || sampler_indexing) {
454 clause = sh.create_clause(nst);
455 bb->push_front(clause);
458 clause = bb;
461 bu_schedule(clause, n);
H A Dsb_sched.cpp882 // Can't happen since clause only contains MOVA/CF_SET_IDX0/1
899 // Can't happen since clause only contains MOVA/CF_SET_IDX0/1
1141 // Can't happen since clause only contains MOVA/CF_SET_IDX0/1
1648 // Cannot schedule in same clause as instructions using this index value
1876 // can lead to breaking clause slot count limit - we don't want mova to
1877 // end up in the end of the new clause instead of beginning of the
1878 // current clause.
1983 group(), clause(),
2000 if (!clause) {
2001 clause
[all...]
H A Dsb_sched.h215 cf_node *clause; member in class:r600_sb::alu_clause_tracker
224 // till the end of clause (in fact, beginning, because we're scheduling
258 val_set live; // values live at the end of the alu clause
H A Dsb_bc_finalize.cpp214 * to emit the else clause.
438 cf_node *clause = static_cast<cf_node*>(g->parent); local in function:r600_sb::bc_finalizer::finalize_alu_src
439 assert(clause->is_alu_clause());
440 sel_chan k = translate_kcache(clause, v);
/xsrc/external/mit/MesaLib/dist/src/gallium/drivers/r600/sb/
H A Dsb_gcm.cpp332 container_node *clause = NULL; local in function:r600_sb::gcm::bu_sched_bb
388 clause = NULL;
416 sampler_indexing = true; // Give sampler indexed ops get their own clause
438 if (!clause || sampler_indexing) {
454 clause = sh.create_clause(nst);
455 bb->push_front(clause);
458 clause = bb;
461 bu_schedule(clause, n);
H A Dsb_sched.cpp882 // Can't happen since clause only contains MOVA/CF_SET_IDX0/1
899 // Can't happen since clause only contains MOVA/CF_SET_IDX0/1
1141 // Can't happen since clause only contains MOVA/CF_SET_IDX0/1
1648 // Cannot schedule in same clause as instructions using this index value
1876 // can lead to breaking clause slot count limit - we don't want mova to
1877 // end up in the end of the new clause instead of beginning of the
1878 // current clause.
1986 group(), clause(),
2003 if (!clause) {
2004 clause
[all...]
H A Dsb_sched.h215 cf_node *clause; member in class:r600_sb::alu_clause_tracker
224 // till the end of clause (in fact, beginning, because we're scheduling
258 val_set live; // values live at the end of the alu clause
H A Dsb_bc_finalize.cpp214 * to emit the else clause.
438 cf_node *clause = static_cast<cf_node*>(g->parent); local in function:r600_sb::bc_finalizer::finalize_alu_src
439 assert(clause->is_alu_clause());
440 sel_chan k = translate_kcache(clause, v);
/xsrc/external/mit/MesaLib/dist/src/amd/compiler/tests/
H A Dtest_isel.cpp139 BEGIN_TEST(isel.sparse.clause)
/xsrc/external/mit/MesaLib/dist/docs/relnotes/
H A D21.1.3.rst121 - aco: do not clause NSA instructions
H A D17.3.4.rst100 - r600/sb: insert the else clause when we might depart from a loop
H A D20.1.0.rst404 - pan/bi: Add clause header fields to bi_clause
498 - pan/bi: Setup initial clause packing
514 - pan/bi: Route through clause header
515 - pan/bi: Pretty-print clause types in disassembler
517 - pan/bi: Track clause types during scheduling
2197 else-clause
/xsrc/external/mit/MesaLib/dist/src/amd/compiler/
H A DREADME-ISA.md280 "MIMG-NSA in a hard clause has unpredictable results on GFX10.1"
H A Daco_scheduler.cpp54 * or below a group of instruction that hardware can execute as a clause.
59 int insert_idx_clause; /* First clause instruction */
60 int insert_idx; /* First instruction *after* the clause */
62 /* Maximum demand of all clause instructions,
106 * exclude the instructions in the clause, since new instructions in the
107 * clause are not moved past any other instructions in the clause. */
113 MoveResult downwards_move(DownwardsCursor&, bool clause);
204 /* If add_to_clause is true, the current clause is extended by moving the
205 * instruction at source_idx in front of the clause
[all...]

Completed in 56 milliseconds

12