/third_party/mesa3d/src/compiler/nir/ |
H A D | nir_schedule.c | 79 /* scoreboard->time value when this instruction can be scheduled without 129 nir_schedule_scoreboard *scoreboard; member 163 nir_schedule_scoreboard_get_src(nir_schedule_scoreboard *scoreboard, nir_src *src) in nir_schedule_scoreboard_get_src() argument 166 return _mesa_hash_table_search_data(scoreboard->remaining_uses, src->ssa); in nir_schedule_scoreboard_get_src() 168 return _mesa_hash_table_search_data(scoreboard->remaining_uses, in nir_schedule_scoreboard_get_src() 253 nir_schedule_get_node(state->scoreboard->instr_map, in nir_schedule_reg_src_deps() 270 nir_schedule_get_node(state->scoreboard->instr_map, in nir_schedule_reg_dest_deps() 290 struct hash_table *instr_map = state->scoreboard->instr_map; in nir_schedule_ssa_deps() 330 nir_schedule_node *n = nir_schedule_get_node(state->scoreboard->instr_map, in nir_schedule_intrinsic_deps() 332 const nir_schedule_options *options = state->scoreboard in nir_schedule_intrinsic_deps() 510 calculate_forward_deps(nir_schedule_scoreboard *scoreboard, nir_block *block) calculate_forward_deps() argument 528 calculate_reverse_deps(nir_schedule_scoreboard *scoreboard, nir_block *block) calculate_reverse_deps() argument 546 nir_schedule_scoreboard *scoreboard; global() member 554 nir_schedule_scoreboard *scoreboard = state->scoreboard; nir_schedule_regs_freed_src_cb() local 579 nir_schedule_scoreboard *scoreboard = state->scoreboard; nir_schedule_regs_freed_dest_cb() local 594 nir_schedule_regs_freed(nir_schedule_scoreboard *scoreboard, nir_schedule_node *n) nir_schedule_regs_freed() argument 615 nir_schedule_choose_instruction_fallback(nir_schedule_scoreboard *scoreboard) nir_schedule_choose_instruction_fallback() argument 661 nir_schedule_choose_instruction_csp(nir_schedule_scoreboard *scoreboard) nir_schedule_choose_instruction_csp() argument 704 nir_schedule_choose_instruction_csr(nir_schedule_scoreboard *scoreboard) nir_schedule_choose_instruction_csr() argument 820 dump_state(nir_schedule_scoreboard *scoreboard) dump_state() argument 838 nir_schedule_mark_use(nir_schedule_scoreboard *scoreboard, void *reg_or_def, nir_instr *reg_or_def_parent, int pressure) nir_schedule_mark_use() argument 866 nir_schedule_scoreboard *scoreboard = state; nir_schedule_mark_src_scheduled() local 914 nir_schedule_scoreboard *scoreboard = state; nir_schedule_mark_def_scheduled() local 925 nir_schedule_scoreboard *scoreboard = state; nir_schedule_mark_dest_scheduled() local 945 nir_schedule_mark_node_scheduled(nir_schedule_scoreboard *scoreboard, nir_schedule_node *n) nir_schedule_mark_node_scheduled() argument 974 nir_schedule_instructions(nir_schedule_scoreboard *scoreboard, nir_block *block) nir_schedule_instructions() argument 1007 nir_schedule_get_delay(nir_schedule_scoreboard *scoreboard, nir_instr *instr) nir_schedule_get_delay() argument 1063 nir_schedule_block(nir_schedule_scoreboard *scoreboard, nir_block *block) nir_schedule_block() argument 1095 nir_schedule_scoreboard *scoreboard = state; nir_schedule_ssa_def_init_scoreboard() local 1115 nir_schedule_scoreboard *scoreboard = rzalloc(NULL, nir_schedule_scoreboard); nir_schedule_get_scoreboard() local 1158 nir_schedule_validate_uses(nir_schedule_scoreboard *scoreboard) nir_schedule_validate_uses() argument 1200 nir_schedule_scoreboard *scoreboard = nir_schedule_get_scoreboard(shader, nir_schedule() local [all...] |
/third_party/mesa3d/src/panfrost/lib/ |
H A D | pan_scoreboard.h | 73 * This dependency graph forms a scoreboard. The general idea of a scoreboard 158 struct pan_scoreboard *scoreboard, in panfrost_add_job() 170 if (PAN_ARCH <= 5 && !scoreboard->write_value_index) in panfrost_add_job() 171 scoreboard->write_value_index = ++scoreboard->job_index; in panfrost_add_job() 173 if (scoreboard->tiler_dep && !inject) in panfrost_add_job() 174 global_dep = scoreboard->tiler_dep; in panfrost_add_job() 176 global_dep = scoreboard->write_value_index; in panfrost_add_job() 180 unsigned index = ++scoreboard in panfrost_add_job() 157 panfrost_add_job(struct pan_pool *pool, struct pan_scoreboard *scoreboard, enum mali_job_type type, bool barrier, bool suppress_prefetch, unsigned local_dep, unsigned global_dep, const struct panfrost_ptr *job, bool inject) panfrost_add_job() argument 240 panfrost_scoreboard_initialize_tiler(struct pan_pool *pool, struct pan_scoreboard *scoreboard, mali_ptr polygon_list) panfrost_scoreboard_initialize_tiler() argument [all...] |
H A D | pan_blitter.h | 94 struct pan_scoreboard *scoreboard, 126 struct pan_scoreboard *scoreboard,
|
H A D | pan_indirect_dispatch.h | 41 struct pan_scoreboard *scoreboard,
|
H A D | pan_indirect_draw.h | 53 struct pan_scoreboard *scoreboard,
|
H A D | pan_indirect_dispatch.c | 58 struct pan_scoreboard *scoreboard, in pan_indirect_dispatch_emit() 82 return panfrost_add_job(pool, scoreboard, MALI_JOB_TYPE_COMPUTE, in pan_indirect_dispatch_emit() 57 pan_indirect_dispatch_emit(struct pan_pool *pool, struct pan_scoreboard *scoreboard, const struct pan_indirect_dispatch_info *inputs) pan_indirect_dispatch_emit() argument
|
H A D | pan_blitter.c | 1207 struct pan_scoreboard *scoreboard, in pan_blit_emit_tiler_job() 1233 panfrost_add_job(pool, scoreboard, MALI_JOB_TYPE_TILER, in pan_blit_emit_tiler_job() 1319 struct pan_scoreboard *scoreboard, in pan_preload_emit_tiler_job() 1346 panfrost_add_job(desc_pool, scoreboard, MALI_JOB_TYPE_TILER, in pan_preload_emit_tiler_job() 1354 struct pan_scoreboard *scoreboard, in pan_preload_fb_part() 1363 job = pan_preload_emit_tiler_job(pool, scoreboard, fb, zs, coords, tsd); in pan_preload_fb_part() 1370 struct pan_scoreboard *scoreboard, in pan_preload_fb() 1395 pan_preload_fb_part(pool, scoreboard, fb, true, in pan_preload_fb() 1403 pan_preload_fb_part(pool, scoreboard, fb, false, in pan_preload_fb() 1547 struct pan_scoreboard *scoreboard, in pan_blit() 1206 pan_blit_emit_tiler_job(struct pan_pool *pool, struct pan_scoreboard *scoreboard, mali_ptr tiler, struct panfrost_ptr *job) pan_blit_emit_tiler_job() argument 1318 pan_preload_emit_tiler_job(struct pan_pool *desc_pool, struct pan_scoreboard *scoreboard, struct pan_fb_info *fb, bool zs, mali_ptr coords, mali_ptr tsd) pan_preload_emit_tiler_job() argument 1353 pan_preload_fb_part(struct pan_pool *pool, struct pan_scoreboard *scoreboard, struct pan_fb_info *fb, bool zs, mali_ptr coords, mali_ptr tsd, mali_ptr tiler) pan_preload_fb_part() argument 1369 pan_preload_fb(struct pan_pool *pool, struct pan_scoreboard *scoreboard, struct pan_fb_info *fb, mali_ptr tsd, mali_ptr tiler, struct panfrost_ptr *jobs) pan_preload_fb() argument 1545 pan_blit(struct pan_blit_context *ctx, struct pan_pool *pool, struct pan_scoreboard *scoreboard, mali_ptr tsd, mali_ptr tiler) pan_blit() argument [all...] |
H A D | pan_indirect_draw.c | 1227 struct pan_scoreboard *scoreboard, in panfrost_emit_index_min_max_search() 1260 return panfrost_add_job(pool, scoreboard, MALI_JOB_TYPE_COMPUTE, in panfrost_emit_index_min_max_search() 1266 struct pan_scoreboard *scoreboard, in panfrost_emit_indirect_draw() 1344 panfrost_emit_index_min_max_search(pool, scoreboard, draw_info, in panfrost_emit_indirect_draw() 1352 return panfrost_add_job(pool, scoreboard, MALI_JOB_TYPE_COMPUTE, in panfrost_emit_indirect_draw() 1226 panfrost_emit_index_min_max_search(struct pan_pool *pool, struct pan_scoreboard *scoreboard, const struct pan_indirect_draw_info *draw_info, const struct indirect_draw_inputs *inputs, struct indirect_draw_context *draw_ctx) panfrost_emit_index_min_max_search() argument 1265 panfrost_emit_indirect_draw(struct pan_pool *pool, struct pan_scoreboard *scoreboard, const struct pan_indirect_draw_info *draw_info, struct panfrost_ptr *ctx) panfrost_emit_indirect_draw() argument
|
/third_party/mesa3d/src/broadcom/compiler/ |
H A D | qpu_schedule.c | 502 mux_reads_too_soon(struct choose_scoreboard *scoreboard, in mux_reads_too_soon() argument 507 if (scoreboard->tick - scoreboard->last_magic_sfu_write_tick <= 2) in mux_reads_too_soon() 512 if (scoreboard->tick - scoreboard->last_ldvary_tick <= 1) in mux_reads_too_soon() 523 reads_too_soon_after_write(struct choose_scoreboard *scoreboard, in reads_too_soon_after_write() argument 536 mux_reads_too_soon(scoreboard, inst, inst->alu.add.a)) { in reads_too_soon_after_write() 540 mux_reads_too_soon(scoreboard, inst, inst->alu.add.b)) { in reads_too_soon_after_write() 547 mux_reads_too_soon(scoreboard, inst, inst->alu.mul.a)) { in reads_too_soon_after_write() 551 mux_reads_too_soon(scoreboard, ins in reads_too_soon_after_write() 562 writes_too_soon_after_write(const struct v3d_device_info *devinfo, struct choose_scoreboard *scoreboard, struct qinst *qinst) writes_too_soon_after_write() argument 580 scoreboard_is_locked(struct choose_scoreboard *scoreboard, bool lock_scoreboard_on_first_thrsw) scoreboard_is_locked() argument 593 pixel_scoreboard_too_soon(struct v3d_compile *c, struct choose_scoreboard *scoreboard, const struct v3d_qpu_instr *inst) pixel_scoreboard_too_soon() argument 621 mux_read_stalls(struct choose_scoreboard *scoreboard, const struct v3d_qpu_instr *inst) mux_read_stalls() argument 1059 choose_instruction_to_schedule(struct v3d_compile *c, struct choose_scoreboard *scoreboard, struct schedule_node *prev_inst) choose_instruction_to_schedule() argument 1277 update_scoreboard_for_magic_waddr(struct choose_scoreboard *scoreboard, enum v3d_qpu_waddr waddr, const struct v3d_device_info *devinfo) update_scoreboard_for_magic_waddr() argument 1288 update_scoreboard_for_sfu_stall_waddr(struct choose_scoreboard *scoreboard, const struct v3d_qpu_instr *inst) update_scoreboard_for_sfu_stall_waddr() argument 1298 update_scoreboard_for_chosen(struct choose_scoreboard *scoreboard, const struct v3d_qpu_instr *inst, const struct v3d_device_info *devinfo) update_scoreboard_for_chosen() argument 1485 insert_scheduled_instruction(struct v3d_compile *c, struct qblock *block, struct choose_scoreboard *scoreboard, struct qinst *inst) insert_scheduled_instruction() argument 1507 emit_nop(struct v3d_compile *c, struct qblock *block, struct choose_scoreboard *scoreboard) emit_nop() argument 1628 qpu_inst_after_thrsw_valid_in_delay_slot(struct v3d_compile *c, struct choose_scoreboard *scoreboard, const struct qinst *qinst) qpu_inst_after_thrsw_valid_in_delay_slot() argument 1717 valid_thrsw_sequence(struct v3d_compile *c, struct choose_scoreboard *scoreboard, struct qinst *qinst, int instructions_in_sequence, bool is_thrend) valid_thrsw_sequence() argument 1750 emit_thrsw(struct v3d_compile *c, struct qblock *block, struct choose_scoreboard *scoreboard, struct qinst *inst, bool is_thrend) emit_thrsw() argument 1895 emit_branch(struct v3d_compile *c, struct qblock *block, struct choose_scoreboard *scoreboard, struct qinst *inst) emit_branch() argument 2066 fixup_pipelined_ldvary(struct v3d_compile *c, struct choose_scoreboard *scoreboard, struct qblock *block, struct v3d_qpu_instr *inst) fixup_pipelined_ldvary() argument 2169 schedule_instructions(struct v3d_compile *c, struct choose_scoreboard *scoreboard, struct qblock *block, enum quniform_contents *orig_uniform_contents, uint32_t *orig_uniform_data, uint32_t *next_uniform) schedule_instructions() argument 2305 qpu_schedule_instructions_block(struct v3d_compile *c, struct choose_scoreboard *scoreboard, struct qblock *block, enum quniform_contents *orig_uniform_contents, uint32_t *orig_uniform_data, uint32_t *next_uniform) qpu_schedule_instructions_block() argument 2465 struct choose_scoreboard scoreboard; v3d_qpu_schedule_instructions() local [all...] |
/third_party/mesa3d/src/gallium/drivers/vc4/ |
H A D | vc4_qpu_schedule.c | 275 * implicitly lock the scoreboard, but it does have to in process_waddr_deps() 454 reads_too_soon_after_write(struct choose_scoreboard *scoreboard, uint64_t inst) in reads_too_soon_after_write() argument 473 scoreboard->last_waddr_a == raddr_a) || in reads_too_soon_after_write() 477 scoreboard->last_waddr_b == raddr_b)) { in reads_too_soon_after_write() 482 if (scoreboard->tick - in reads_too_soon_after_write() 483 scoreboard->last_sfu_write_tick <= 2) { in reads_too_soon_after_write() 494 if (scoreboard->last_waddr_a == mux_a + QPU_W_ACC0 || in reads_too_soon_after_write() 495 scoreboard->last_waddr_a == mux_b + QPU_W_ACC0 || in reads_too_soon_after_write() 496 scoreboard->last_waddr_b == mux_a + QPU_W_ACC0 || in reads_too_soon_after_write() 497 scoreboard in reads_too_soon_after_write() 511 pixel_scoreboard_too_soon(struct choose_scoreboard *scoreboard, uint64_t inst) pixel_scoreboard_too_soon() argument 550 choose_instruction_to_schedule(struct choose_scoreboard *scoreboard, struct list_head *schedule_list, struct schedule_node *prev_inst) choose_instruction_to_schedule() argument 657 update_scoreboard_for_chosen(struct choose_scoreboard *scoreboard, uint64_t inst) update_scoreboard_for_chosen() argument 826 emit_thrsw(struct vc4_compile *c, struct choose_scoreboard *scoreboard, uint64_t inst) emit_thrsw() argument 867 schedule_instructions(struct vc4_compile *c, struct choose_scoreboard *scoreboard, struct qblock *block, struct list_head *schedule_list, enum quniform_contents *orig_uniform_contents, uint32_t *orig_uniform_data, uint32_t *next_uniform) schedule_instructions() argument 984 qpu_schedule_instructions_block(struct vc4_compile *c, struct choose_scoreboard *scoreboard, struct qblock *block, enum quniform_contents *orig_uniform_contents, uint32_t *orig_uniform_data, uint32_t *next_uniform) qpu_schedule_instructions_block() argument 1087 struct choose_scoreboard scoreboard; qpu_schedule_instructions() local [all...] |
/third_party/mesa3d/src/intel/compiler/ |
H A D | brw_fs_scoreboard.cpp | 26 * Gfx12+ hardware lacks the register scoreboard logic that used to guarantee 635 class scoreboard { 643 if (const dependency *p = const_cast<scoreboard *>(this)->dep(r)) 661 * scoreboard objects. \sa merge(). 663 friend scoreboard 665 const scoreboard &sb0, const scoreboard &sb1) 667 scoreboard sb; 680 * scoreboard objects. \sa shadow(). 682 friend scoreboard [all...] |
/third_party/mesa3d/src/panfrost/vulkan/ |
H A D | panvk_vX_device.c | 62 if (batch->scoreboard.first_job) { in panvk_queue_submit_batch() 69 .jc = batch->scoreboard.first_job, in panvk_queue_submit_batch() 81 GENX(pandecode_jc)(batch->scoreboard.first_job, pdev->gpu_id); in panvk_queue_submit_batch() 96 if (batch->scoreboard.first_job) { in panvk_queue_submit_batch() 232 (batch->scoreboard.first_tiler ? 1 : 0) + 1; in queue_submit() 257 if (batch->scoreboard.first_tiler) in queue_submit()
|
H A D | panvk_vX_cmd_buffer.c | 84 if (!clear && !batch->scoreboard.first_job) { in cmd_close_batch() 95 panfrost_add_job(&cmdbuf->desc_pool.base, &batch->scoreboard, in cmd_close_batch() 108 if (batch->scoreboard.first_tiler) { in cmd_close_batch() 111 GENX(pan_preload_fb)(&cmdbuf->desc_pool.base, &batch->scoreboard, in cmd_close_batch() 735 if (batch->scoreboard.job_index >= (UINT16_MAX - 3)) { in panvk_cmd_draw() 777 panfrost_add_job(&cmdbuf->desc_pool.base, &batch->scoreboard, in panvk_cmd_draw() 782 panfrost_add_job(&cmdbuf->desc_pool.base, &batch->scoreboard, in panvk_cmd_draw() 1016 cmdbuf->state.batch->scoreboard.first_job) { in panvk_add_wait_event_operation() 1373 panfrost_add_job(&cmdbuf->desc_pool.base, &batch->scoreboard, in CmdDispatch()
|
H A D | panvk_vX_meta_clear.c | 192 struct pan_scoreboard *scoreboard, in panvk_meta_clear_attachment_emit_tiler_job() 228 panfrost_add_job(desc_pool, scoreboard, MALI_JOB_TYPE_TILER, in panvk_meta_clear_attachment_emit_tiler_job() 326 &batch->scoreboard, in panvk_meta_clear_attachment() 191 panvk_meta_clear_attachment_emit_tiler_job(struct pan_pool *desc_pool, struct pan_scoreboard *scoreboard, mali_ptr coords, mali_ptr push_constants, mali_ptr vpd, mali_ptr rsd, mali_ptr tsd, mali_ptr tiler) panvk_meta_clear_attachment_emit_tiler_job() argument
|
H A D | panvk_vX_meta_copy.c | 122 struct pan_scoreboard *scoreboard, in panvk_meta_copy_emit_tiler_job() 157 panfrost_add_job(desc_pool, scoreboard, MALI_JOB_TYPE_TILER, in panvk_meta_copy_emit_tiler_job() 164 struct pan_scoreboard *scoreboard, in panvk_meta_copy_emit_compute_job() 189 panfrost_add_job(desc_pool, scoreboard, MALI_JOB_TYPE_COMPUTE, in panvk_meta_copy_emit_compute_job() 708 &batch->scoreboard, in panvk_meta_copy_img2img() 1131 &batch->scoreboard, in panvk_meta_copy_buf2img() 1554 &batch->scoreboard, &num_wg, &wg_sz, in panvk_meta_copy_img2buf() 1726 &batch->scoreboard, in panvk_meta_copy_buf2buf() 1879 &batch->scoreboard, in panvk_meta_fill_buf() 1933 &batch->scoreboard, in panvk_meta_update_buf() 121 panvk_meta_copy_emit_tiler_job(struct pan_pool *desc_pool, struct pan_scoreboard *scoreboard, mali_ptr src_coords, mali_ptr dst_coords, mali_ptr texture, mali_ptr sampler, mali_ptr push_constants, mali_ptr vpd, mali_ptr rsd, mali_ptr tsd, mali_ptr tiler) panvk_meta_copy_emit_tiler_job() argument 163 panvk_meta_copy_emit_compute_job(struct pan_pool *desc_pool, struct pan_scoreboard *scoreboard, const struct pan_compute_dim *num_wg, const struct pan_compute_dim *wg_sz, mali_ptr texture, mali_ptr sampler, mali_ptr push_constants, mali_ptr rsd, mali_ptr tsd) panvk_meta_copy_emit_compute_job() argument [all...] |
H A D | panvk_vX_meta_blit.c | 125 GENX(pan_blit)(&ctx, &cmdbuf->desc_pool.base, &batch->scoreboard, tsd, tiler); in panvk_meta_blit()
|
H A D | panvk_private.h | 282 struct pan_scoreboard scoreboard;
|
/third_party/mesa3d/src/gallium/drivers/panfrost/ |
H A D | pan_job.c | 224 if (batch->scoreboard.first_job) { in panfrost_get_fresh_batch_for_fbo() 675 if (batch->scoreboard.first_tiler) in panfrost_batch_submit_ioctl() 714 return batch->scoreboard.first_tiler || batch->clear; in panfrost_has_fragment_job() 729 bool has_draws = batch->scoreboard.first_job; in panfrost_batch_submit_jobs() 730 bool has_tiler = batch->scoreboard.first_tiler; in panfrost_batch_submit_jobs() 742 ret = panfrost_batch_submit_ioctl(batch, batch->scoreboard.first_job, in panfrost_batch_submit_jobs() 793 if (!batch->scoreboard.first_job && !batch->clear) in panfrost_batch_submit() 830 if (batch->scoreboard.first_tiler || batch->clear) in panfrost_batch_submit()
|
H A D | pan_job.h | 141 struct pan_scoreboard scoreboard; member
|
H A D | pan_cmdstream.c | 2644 unsigned vertex = panfrost_add_job(&batch->pool.base, &batch->scoreboard, in panfrost_emit_vertex_tiler_jobs() 2650 panfrost_add_job(&batch->pool.base, &batch->scoreboard, in panfrost_emit_vertex_tiler_jobs() 3569 panfrost_add_job(&batch->pool.base, &batch->scoreboard, job_type, in panfrost_launch_xfb() 3726 panfrost_add_job(&batch->pool.base, &batch->scoreboard, in panfrost_direct_draw() 3741 panfrost_add_job(&batch->pool.base, &batch->scoreboard, in panfrost_direct_draw() 3903 &batch->scoreboard, in panfrost_indirect_draw() 3908 panfrost_add_job(&batch->pool.base, &batch->scoreboard, in panfrost_indirect_draw() 3967 if (unlikely(batch->scoreboard.job_index > 10000)) in panfrost_draw_vbo() 4156 &batch->scoreboard, in panfrost_launch_grid() 4161 panfrost_add_job(&batch->pool.base, &batch->scoreboard, in panfrost_launch_grid() [all...] |
H A D | pan_context.c | 71 if (!batch->scoreboard.first_job) { in panfrost_clear()
|
/third_party/mesa3d/src/asahi/compiler/ |
H A D | agx_print.c | 170 fprintf(fp, "slot %u", I->scoreboard); in agx_print_instr()
|
H A D | agx_pack.c | 527 (I->scoreboard << 30) | in agx_pack_instr() 582 assert(I->scoreboard == 0 && "todo"); in agx_pack_instr()
|
H A D | agx_compiler.h | 330 unsigned scoreboard : 1; member
|