Lines Matching defs:cmdbuf
585 copy_query_value_gpu(struct tu_cmd_buffer *cmdbuf,
604 emit_copy_query_pool_results(struct tu_cmd_buffer *cmdbuf,
663 copy_query_value_gpu(cmdbuf, cs, result_iova, buffer_iova,
681 copy_query_value_gpu(cmdbuf, cs, result_iova, buffer_iova,
688 copy_query_value_gpu(cmdbuf, cs, available_iova, buffer_iova,
704 TU_FROM_HANDLE(tu_cmd_buffer, cmdbuf, commandBuffer);
707 struct tu_cs *cs = &cmdbuf->cs;
716 return emit_copy_query_pool_results(cmdbuf, cs, pool, firstQuery,
726 emit_reset_query_pool(struct tu_cmd_buffer *cmdbuf,
731 struct tu_cs *cs = &cmdbuf->cs;
768 TU_FROM_HANDLE(tu_cmd_buffer, cmdbuf, commandBuffer);
778 emit_reset_query_pool(cmdbuf, pool, firstQuery, queryCount);
813 emit_begin_occlusion_query(struct tu_cmd_buffer *cmdbuf,
826 * record the packets on the secondary draw command stream. cmdbuf->draw_cs
830 struct tu_cs *cs = cmdbuf->state.pass ? &cmdbuf->draw_cs : &cmdbuf->cs;
845 emit_begin_stat_query(struct tu_cmd_buffer *cmdbuf,
849 struct tu_cs *cs = cmdbuf->state.pass ? &cmdbuf->draw_cs : &cmdbuf->cs;
853 bool need_cond_exec = cmdbuf->state.pass && cmdbuf->state.prim_counters_running;
854 cmdbuf->state.prim_counters_running++;
865 tu6_emit_event_write(cmdbuf, cs, START_PRIMITIVE_CTRS);
868 tu_cs_emit_qw(cs, global_iova(cmdbuf, vtx_stats_query_not_running));
877 tu6_emit_event_write(cmdbuf, cs, START_FRAGMENT_CTRS);
881 tu6_emit_event_write(cmdbuf, cs, START_COMPUTE_CTRS);
905 emit_begin_perf_query(struct tu_cmd_buffer *cmdbuf,
909 struct tu_cs *cs = cmdbuf->state.pass ? &cmdbuf->draw_cs : &cmdbuf->cs;
912 if (cmdbuf->state.pass) {
913 cmdbuf->state.rp.draw_cs_writes_to_cond_pred = true;
983 emit_begin_xfb_query(struct tu_cmd_buffer *cmdbuf,
988 struct tu_cs *cs = cmdbuf->state.pass ? &cmdbuf->draw_cs : &cmdbuf->cs;
992 tu6_emit_event_write(cmdbuf, cs, WRITE_PRIMITIVE_COUNTS);
996 emit_begin_prim_generated_query(struct tu_cmd_buffer *cmdbuf,
1000 struct tu_cs *cs = cmdbuf->state.pass ? &cmdbuf->draw_cs : &cmdbuf->cs;
1003 if (cmdbuf->state.pass) {
1004 cmdbuf->state.rp.has_prim_generated_query_in_rp = true;
1006 cmdbuf->state.prim_generated_query_running_before_rp = true;
1009 cmdbuf->state.prim_counters_running++;
1011 if (cmdbuf->state.pass) {
1020 tu6_emit_event_write(cmdbuf, cs, START_PRIMITIVE_CTRS);
1030 if (cmdbuf->state.pass) {
1041 TU_FROM_HANDLE(tu_cmd_buffer, cmdbuf, commandBuffer);
1051 emit_begin_occlusion_query(cmdbuf, pool, query);
1054 emit_begin_xfb_query(cmdbuf, pool, query, 0);
1057 emit_begin_prim_generated_query(cmdbuf, pool, query);
1060 emit_begin_perf_query(cmdbuf, pool, query);
1063 emit_begin_stat_query(cmdbuf, pool, query);
1079 TU_FROM_HANDLE(tu_cmd_buffer, cmdbuf, commandBuffer);
1085 emit_begin_xfb_query(cmdbuf, pool, query, index);
1088 emit_begin_prim_generated_query(cmdbuf, pool, query);
1096 emit_end_occlusion_query(struct tu_cmd_buffer *cmdbuf,
1114 const struct tu_render_pass *pass = cmdbuf->state.pass;
1115 struct tu_cs *cs = pass ? &cmdbuf->draw_cs : &cmdbuf->cs;
1161 cs = &cmdbuf->draw_epilogue_cs;
1179 emit_stop_primitive_ctrs(struct tu_cmd_buffer *cmdbuf,
1183 bool is_secondary = cmdbuf->vk.level == VK_COMMAND_BUFFER_LEVEL_SECONDARY;
1184 cmdbuf->state.prim_counters_running--;
1185 if (cmdbuf->state.prim_counters_running == 0) {
1189 is_pipeline_query_with_vertex_stage(cmdbuf->inherited_pipeline_statistics);
1192 tu6_emit_event_write(cmdbuf, cs, STOP_PRIMITIVE_CTRS);
1199 tu_cs_emit_qw(cs, global_iova(cmdbuf, vtx_stats_query_not_running));
1200 tu_cs_emit_qw(cs, global_iova(cmdbuf, vtx_stats_query_not_running));
1204 tu6_emit_event_write(cmdbuf, cs, STOP_PRIMITIVE_CTRS);
1210 tu_cs_emit_qw(cs, global_iova(cmdbuf, vtx_stats_query_not_running));
1216 emit_end_stat_query(struct tu_cmd_buffer *cmdbuf,
1220 struct tu_cs *cs = cmdbuf->state.pass ? &cmdbuf->draw_cs : &cmdbuf->cs;
1232 emit_stop_primitive_ctrs(cmdbuf, cs, VK_QUERY_TYPE_PIPELINE_STATISTICS);
1236 tu6_emit_event_write(cmdbuf, cs, STOP_FRAGMENT_CTRS);
1240 tu6_emit_event_write(cmdbuf, cs, STOP_COMPUTE_CTRS);
1269 if (cmdbuf->state.pass)
1270 cs = &cmdbuf->draw_epilogue_cs;
1279 emit_end_perf_query(struct tu_cmd_buffer *cmdbuf,
1283 struct tu_cs *cs = cmdbuf->state.pass ? &cmdbuf->draw_cs : &cmdbuf->cs;
1348 if (cmdbuf->state.pass)
1349 cs = &cmdbuf->draw_epilogue_cs;
1358 emit_end_xfb_query(struct tu_cmd_buffer *cmdbuf,
1363 struct tu_cs *cs = cmdbuf->state.pass ? &cmdbuf->draw_cs : &cmdbuf->cs;
1375 tu6_emit_event_write(cmdbuf, cs, WRITE_PRIMITIVE_COUNTS);
1378 tu6_emit_event_write(cmdbuf, cs, CACHE_FLUSH_TS);
1389 tu6_emit_event_write(cmdbuf, cs, CACHE_FLUSH_TS);
1407 emit_end_prim_generated_query(struct tu_cmd_buffer *cmdbuf,
1411 struct tu_cs *cs = cmdbuf->state.pass ? &cmdbuf->draw_cs : &cmdbuf->cs;
1413 if (!cmdbuf->state.pass) {
1414 cmdbuf->state.prim_generated_query_running_before_rp = false;
1422 if (cmdbuf->state.pass) {
1449 emit_stop_primitive_ctrs(cmdbuf, cs, VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT);
1451 if (cmdbuf->state.pass) {
1455 if (cmdbuf->state.pass)
1456 cs = &cmdbuf->draw_epilogue_cs;
1507 TU_FROM_HANDLE(tu_cmd_buffer, cmdbuf, commandBuffer);
1513 emit_end_occlusion_query(cmdbuf, pool, query);
1516 emit_end_xfb_query(cmdbuf, pool, query, 0);
1519 emit_end_prim_generated_query(cmdbuf, pool, query);
1522 emit_end_perf_query(cmdbuf, pool, query);
1525 emit_end_stat_query(cmdbuf, pool, query);
1533 handle_multiview_queries(cmdbuf, pool, query);
1542 TU_FROM_HANDLE(tu_cmd_buffer, cmdbuf, commandBuffer);
1549 emit_end_xfb_query(cmdbuf, pool, query, index);
1552 emit_end_prim_generated_query(cmdbuf, pool, query);