rsx: Simplify the debug overlay print text routines.

- Greatly simplifies adding text
This commit is contained in:
kd-11 2023-01-11 01:00:17 +03:00 committed by kd-11
parent f71e7ef1cc
commit bd87c80943
2 changed files with 37 additions and 23 deletions

View File

@ -336,12 +336,19 @@ void GLGSRender::flip(const rsx::display_flip_info_t& info)
m_text_printer.set_scale(m_frame->client_device_pixel_ratio());
m_text_printer.print_text(cmd, 4, 0, width, height, fmt::format("RSX Load: %3d%%", get_load()));
m_text_printer.print_text(cmd, 4, 18, width, height, fmt::format("draw calls: %16d", info.stats.draw_calls));
m_text_printer.print_text(cmd, 4, 36, width, height, fmt::format("draw call setup: %11dus", info.stats.setup_time));
m_text_printer.print_text(cmd, 4, 54, width, height, fmt::format("vertex upload time: %8dus", info.stats.vertex_upload_time));
m_text_printer.print_text(cmd, 4, 72, width, height, fmt::format("textures upload time: %6dus", info.stats.textures_upload_time));
m_text_printer.print_text(cmd, 4, 90, width, height, fmt::format("draw call execution: %7dus", info.stats.draw_exec_time));
int y_loc = 0;
const auto println = [&](const std::string& text)
{
m_text_printer.print_text(cmd, 4, 0, width, height, text);
y_loc += 16;
};
println(fmt::format("RSX Load: %3d%%", get_load()));
println(fmt::format("draw calls: %16d", info.stats.draw_calls));
println(fmt::format("draw call setup: %11dus", info.stats.setup_time));
println(fmt::format("vertex upload time: %8dus", info.stats.vertex_upload_time));
println(fmt::format("textures upload time: %6dus", info.stats.textures_upload_time));
println(fmt::format("draw call execution: %7dus", info.stats.draw_exec_time));
const auto num_dirty_textures = m_gl_texture_cache.get_unreleased_textures_count();
const auto texture_memory_size = m_gl_texture_cache.get_texture_memory_in_use() / (1024 * 1024);
@ -354,10 +361,10 @@ void GLGSRender::flip(const rsx::display_flip_info_t& info)
const auto num_texture_upload = m_gl_texture_cache.get_texture_upload_calls_this_frame();
const auto num_texture_upload_miss = m_gl_texture_cache.get_texture_upload_misses_this_frame();
const auto texture_upload_miss_ratio = m_gl_texture_cache.get_texture_upload_miss_percentage();
m_text_printer.print_text(cmd, 4, 126, width, height, fmt::format("Unreleased textures: %7d", num_dirty_textures));
m_text_printer.print_text(cmd, 4, 144, width, height, fmt::format("Texture memory: %12dM", texture_memory_size));
m_text_printer.print_text(cmd, 4, 162, width, height, fmt::format("Flush requests: %12d = %2d (%3d%%) hard faults, %2d unavoidable, %2d misprediction(s), %2d speculation(s)", num_flushes, num_misses, cache_miss_ratio, num_unavoidable, num_mispredict, num_speculate));
m_text_printer.print_text(cmd, 4, 180, width, height, fmt::format("Texture uploads: %15u (%u from CPU - %02u%%)", num_texture_upload, num_texture_upload_miss, texture_upload_miss_ratio));
println(fmt::format("Unreleased textures: %7d", num_dirty_textures));
println(fmt::format("Texture memory: %12dM", texture_memory_size));
println(fmt::format("Flush requests: %12d = %2d (%3d%%) hard faults, %2d unavoidable, %2d misprediction(s), %2d speculation(s)", num_flushes, num_misses, cache_miss_ratio, num_unavoidable, num_mispredict, num_speculate));
println(fmt::format("Texture uploads: %15u (%u from CPU - %02u%%)", num_texture_upload, num_texture_upload_miss, texture_upload_miss_ratio));
}
if (gl::debug::g_vis_texture)

View File

@ -772,14 +772,21 @@ void VKGSRender::flip(const rsx::display_flip_info_t& info)
m_text_writer->set_scale(m_frame->client_device_pixel_ratio());
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 0, direct_fbo->width(), direct_fbo->height(), fmt::format("RSX Load: %3d%%", get_load()));
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 18, direct_fbo->width(), direct_fbo->height(), fmt::format("draw calls: %17d", info.stats.draw_calls));
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 36, direct_fbo->width(), direct_fbo->height(), fmt::format("submits: %20d", info.stats.submit_count));
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 54, direct_fbo->width(), direct_fbo->height(), fmt::format("draw call setup: %12dus", info.stats.setup_time));
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 72, direct_fbo->width(), direct_fbo->height(), fmt::format("vertex upload time: %9dus", info.stats.vertex_upload_time));
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 90, direct_fbo->width(), direct_fbo->height(), fmt::format("texture upload time: %8dus", info.stats.textures_upload_time));
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 108, direct_fbo->width(), direct_fbo->height(), fmt::format("draw call execution: %8dus", info.stats.draw_exec_time));
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 126, direct_fbo->width(), direct_fbo->height(), fmt::format("submit and flip: %12dus", info.stats.flip_time));
int y_loc = 0;
const auto println = [&](const std::string& text)
{
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, y_loc, direct_fbo->width(), direct_fbo->height(), text);
y_loc += 16;
};
println(fmt::format("RSX Load: %3d%%", get_load()));
println(fmt::format("draw calls: %17d", info.stats.draw_calls));
println(fmt::format("submits: %20d", info.stats.submit_count));
println(fmt::format("draw call setup: %12dus", info.stats.setup_time));
println(fmt::format("vertex upload time: %9dus", info.stats.vertex_upload_time));
println(fmt::format("texture upload time: %8dus", info.stats.textures_upload_time));
println(fmt::format("draw call execution: %8dus", info.stats.draw_exec_time));
println(fmt::format("submit and flip: %12dus", info.stats.flip_time));
const auto num_dirty_textures = m_texture_cache.get_unreleased_textures_count();
const auto texture_memory_size = m_texture_cache.get_texture_memory_in_use() / (1024 * 1024);
@ -793,11 +800,11 @@ void VKGSRender::flip(const rsx::display_flip_info_t& info)
const auto num_texture_upload = m_texture_cache.get_texture_upload_calls_this_frame();
const auto num_texture_upload_miss = m_texture_cache.get_texture_upload_misses_this_frame();
const auto texture_upload_miss_ratio = m_texture_cache.get_texture_upload_miss_percentage();
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 144, direct_fbo->width(), direct_fbo->height(), fmt::format("Unreleased textures: %8d", num_dirty_textures));
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 162, direct_fbo->width(), direct_fbo->height(), fmt::format("Texture cache memory: %7dM", texture_memory_size));
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 180, direct_fbo->width(), direct_fbo->height(), fmt::format("Temporary texture memory: %3dM", tmp_texture_memory_size));
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 198, direct_fbo->width(), direct_fbo->height(), fmt::format("Flush requests: %13d = %2d (%3d%%) hard faults, %2d unavoidable, %2d misprediction(s), %2d speculation(s)", num_flushes, num_misses, cache_miss_ratio, num_unavoidable, num_mispredict, num_speculate));
m_text_writer->print_text(*m_current_command_buffer, *direct_fbo, 4, 216, direct_fbo->width(), direct_fbo->height(), fmt::format("Texture uploads: %14u (%u from CPU - %02u%%)", num_texture_upload, num_texture_upload_miss, texture_upload_miss_ratio));
println(fmt::format("Unreleased textures: %8d", num_dirty_textures));
println(fmt::format("Texture cache memory: %7dM", texture_memory_size));
println(fmt::format("Temporary texture memory: %3dM", tmp_texture_memory_size));
println(fmt::format("Flush requests: %13d = %2d (%3d%%) hard faults, %2d unavoidable, %2d misprediction(s), %2d speculation(s)", num_flushes, num_misses, cache_miss_ratio, num_unavoidable, num_mispredict, num_speculate));
println(fmt::format("Texture uploads: %14u (%u from CPU - %02u%%)", num_texture_upload, num_texture_upload_miss, texture_upload_miss_ratio));
}
direct_fbo->release();