Lines Matching refs:waves
883 * those that are being executed right now with information about waves that
886 static void si_print_annotated_shader(struct si_shader *shader, struct ac_wave_info *waves,
900 if (start_addr <= waves[i].pc && waves[i].pc <= end_addr)
906 /* Remember the first found wave. The waves are sorted according to PC. */
907 waves = &waves[i];
944 /* Print which waves execute the instruction right now. */
945 while (num_waves && inst->addr == waves->pc) {
949 waves->se, waves->sh, waves->cu, waves->simd, waves->wave, waves->exec);
952 fprintf(f, "INST32=%08X" COLOR_RESET "\n", waves->inst_dw0);
954 fprintf(f, "INST64=%08X %08X" COLOR_RESET "\n", waves->inst_dw0, waves->inst_dw1);
957 waves->matched = true;
958 waves = &waves[1];
971 struct ac_wave_info waves[AC_MAX_WAVES_PER_CHIP];
972 unsigned num_waves = ac_get_wave_info(sctx->gfx_level, waves);
974 fprintf(f, COLOR_CYAN "The number of active waves = %u" COLOR_RESET "\n\n", num_waves);
976 si_print_annotated_shader(sctx->shader.vs.current, waves, num_waves, f);
977 si_print_annotated_shader(sctx->shader.tcs.current, waves, num_waves, f);
978 si_print_annotated_shader(sctx->shader.tes.current, waves, num_waves, f);
979 si_print_annotated_shader(sctx->shader.gs.current, waves, num_waves, f);
980 si_print_annotated_shader(sctx->shader.ps.current, waves, num_waves, f);
982 /* Print waves executing shaders that are not currently bound. */
986 if (waves[i].matched)
996 waves[i].se, waves[i].sh, waves[i].cu, waves[i].simd, waves[i].wave, waves[i].exec,
997 waves[i].inst_dw0, waves[i].inst_dw1, waves[i].pc);
1029 si_dump_command("Active waves (raw data)", "umr -O halt_waves -wa | column -t", f);