From b5add0f027dee3b2c3157fe4aaf0cb96143c99f8 Mon Sep 17 00:00:00 2001 From: Vincent Lejeune Date: Mon, 9 Nov 2015 23:57:35 +0100 Subject: [PATCH] rsx: better naming for draw calls --- rpcs3/Emu/RSX/RSXThread.cpp | 7 ++++--- rpcs3/Emu/RSX/RSXThread.h | 3 ++- rpcs3/Gui/RSXDebugger.cpp | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/rpcs3/Emu/RSX/RSXThread.cpp b/rpcs3/Emu/RSX/RSXThread.cpp index f766137a56..4bec2f842d 100644 --- a/rpcs3/Emu/RSX/RSXThread.cpp +++ b/rpcs3/Emu/RSX/RSXThread.cpp @@ -646,7 +646,7 @@ namespace rsx if (rsx->domethod(id, arg)) { if (rsx->capture_current_frame && id == NV4097_CLEAR_SURFACE) - rsx->capture_frame(); + rsx->capture_frame("clear"); return; } @@ -895,7 +895,7 @@ namespace rsx } } - void thread::capture_frame() + void thread::capture_frame(const std::string &name) { frame_capture_data::draw_state draw_state = {}; @@ -939,6 +939,7 @@ namespace rsx draw_state.stencil.data.resize(clip_w * clip_h * 4); copy_stencil_buffer_to_memory(draw_state.stencil.data.data()); } + draw_state.name = name; frame_debug.draw_calls.push_back(draw_state); } @@ -956,7 +957,7 @@ namespace rsx transform_constants.clear(); if (capture_current_frame) - capture_frame(); + capture_frame("Draw " + std::to_string(vertex_draw_count)); } void thread::task() diff --git a/rpcs3/Emu/RSX/RSXThread.h b/rpcs3/Emu/RSX/RSXThread.h index 44e92d96a1..33f57ba9ac 100644 --- a/rpcs3/Emu/RSX/RSXThread.h +++ b/rpcs3/Emu/RSX/RSXThread.h @@ -23,6 +23,7 @@ struct frame_capture_data struct draw_state { + std::string name; buffer color_buffer[4]; buffer depth; buffer stencil; @@ -200,7 +201,7 @@ namespace rsx virtual void load_vertex_index_data(u32 first, u32 count); bool capture_current_frame = false; - void capture_frame(); + void capture_frame(const std::string &name); public: u32 ioAddress, ioSize; int flip_status; diff --git a/rpcs3/Gui/RSXDebugger.cpp b/rpcs3/Gui/RSXDebugger.cpp index c5824160f6..edffd976ac 100644 --- a/rpcs3/Gui/RSXDebugger.cpp +++ b/rpcs3/Gui/RSXDebugger.cpp @@ -527,7 +527,7 @@ void RSXDebugger::GetMemory() command_dump.close(); for (u32 i = 0;i < frame_debug.draw_calls.size(); i++) - m_list_captured_draw_calls->InsertItem(0, std::to_string(frame_debug.draw_calls.size() - i - 1)); + m_list_captured_draw_calls->InsertItem(i, frame_debug.draw_calls[i].name); }