Qt: move rsx capture to Utilities menu

This commit is contained in:
Megamouse 2020-04-22 20:36:10 +02:00
parent 1805cb44e6
commit 18219afbf7
6 changed files with 23 additions and 16 deletions

View File

@ -28,7 +28,7 @@ class GSRender;
#define CMD_DEBUG 0
std::atomic<bool> user_asked_for_frame_capture = false;
std::atomic<bool> g_user_asked_for_frame_capture = false;
rsx::frame_trace_data frame_debug;
rsx::frame_capture_data frame_capture;
@ -309,7 +309,7 @@ namespace rsx
m_graphics_state = pipeline_state::all_dirty;
user_asked_for_frame_capture = false;
g_user_asked_for_frame_capture = false;
if (g_cfg.misc.use_native_interface && (g_cfg.video.renderer == video_renderer::opengl || g_cfg.video.renderer == video_renderer::vulkan))
{
@ -2558,7 +2558,7 @@ namespace rsx
void thread::on_frame_end(u32 buffer, bool forced)
{
// Marks the end of a frame scope GPU-side
if (user_asked_for_frame_capture.exchange(false) && !capture_current_frame)
if (g_user_asked_for_frame_capture.exchange(false) && !capture_current_frame)
{
capture_current_frame = true;
frame_debug.reset();

View File

@ -28,7 +28,7 @@
extern u64 get_guest_system_time();
extern u64 get_system_time();
extern std::atomic<bool> user_asked_for_frame_capture;
extern std::atomic<bool> g_user_asked_for_frame_capture;
extern rsx::frame_trace_data frame_debug;
extern rsx::frame_capture_data frame_capture;

View File

@ -28,7 +28,6 @@
#include <atomic>
constexpr auto qstr = QString::fromStdString;
extern std::atomic<bool> user_asked_for_frame_capture;
debugger_frame::debugger_frame(std::shared_ptr<gui_settings> settings, QWidget *parent)
: custom_dock_widget(tr("Debugger"), parent), xgui_settings(settings)
@ -69,7 +68,6 @@ debugger_frame::debugger_frame(std::shared_ptr<gui_settings> settings, QWidget *
m_go_to_addr = new QPushButton(tr("Go To Address"), this);
m_go_to_pc = new QPushButton(tr("Go To PC"), this);
m_btn_capture = new QPushButton(tr("RSX Capture"), this);
m_btn_step = new QPushButton(tr("Step"), this);
m_btn_step_over = new QPushButton(tr("Step Over"), this);
m_btn_run = new QPushButton(RunString, this);
@ -80,7 +78,6 @@ debugger_frame::debugger_frame(std::shared_ptr<gui_settings> settings, QWidget *
hbox_b_main->addWidget(m_go_to_addr);
hbox_b_main->addWidget(m_go_to_pc);
hbox_b_main->addWidget(m_btn_capture);
hbox_b_main->addWidget(m_btn_step);
hbox_b_main->addWidget(m_btn_step_over);
hbox_b_main->addWidget(m_btn_run);
@ -132,11 +129,6 @@ debugger_frame::debugger_frame(std::shared_ptr<gui_settings> settings, QWidget *
connect(m_go_to_addr, &QAbstractButton::clicked, this, &debugger_frame::ShowGotoAddressDialog);
connect(m_go_to_pc, &QAbstractButton::clicked, this, &debugger_frame::ShowPC);
connect(m_btn_capture, &QAbstractButton::clicked, [this]()
{
user_asked_for_frame_capture = true;
});
connect(m_btn_step, &QAbstractButton::clicked, this, &debugger_frame::DoStep);
connect(m_btn_step_over, &QAbstractButton::clicked, [this]() { DoStep(true); });
@ -301,8 +293,6 @@ void debugger_frame::UpdateUI()
{
UpdateUnitList();
m_btn_capture->setEnabled(Emu.IsRunning() || Emu.IsPaused());
if (m_no_thread_selected) return;
const auto cpu = this->cpu.lock();

View File

@ -32,7 +32,6 @@ class debugger_frame : public custom_dock_widget
QTextEdit* m_regs;
QPushButton* m_go_to_addr;
QPushButton* m_go_to_pc;
QPushButton* m_btn_capture;
QPushButton* m_btn_step;
QPushButton* m_btn_step_over;
QPushButton* m_btn_run;

View File

@ -50,6 +50,8 @@
LOG_CHANNEL(gui_log, "GUI");
extern std::atomic<bool> g_user_asked_for_frame_capture;
inline std::string sstr(const QString& _in) { return _in.toStdString(); }
main_window::main_window(std::shared_ptr<gui_settings> gui_settings, std::shared_ptr<emu_settings> emu_settings, std::shared_ptr<persistent_settings> persistent_settings, QWidget *parent)
@ -1088,6 +1090,7 @@ void main_window::EnableMenus(bool enabled)
ui->toolsmemory_viewerAct->setEnabled(enabled);
ui->toolsRsxDebuggerAct->setEnabled(enabled);
ui->toolsStringSearchAct->setEnabled(enabled);
ui->actionCreate_RSX_Capture->setEnabled(enabled);
}
void main_window::BootRecentAction(const QAction* act)
@ -1359,6 +1362,10 @@ void main_window::CreateConnects()
connect(ui->bootElfAct, &QAction::triggered, this, &main_window::BootElf);
connect(ui->bootGameAct, &QAction::triggered, this, &main_window::BootGame);
connect(ui->actionopen_rsx_capture, &QAction::triggered, [this](){ BootRsxCapture(); });
connect(ui->actionCreate_RSX_Capture, &QAction::triggered, []()
{
g_user_asked_for_frame_capture = true;
});
connect(ui->addGamesAct, &QAction::triggered, [this]()
{

View File

@ -141,7 +141,7 @@
<x>0</x>
<y>0</y>
<width>1058</width>
<height>26</height>
<height>22</height>
</rect>
</property>
<property name="contextMenuPolicy">
@ -250,7 +250,10 @@
<addaction name="toolsStringSearchAct"/>
<addaction name="separator"/>
<addaction name="toolsDecryptSprxLibsAct"/>
<addaction name="separator"/>
<addaction name="actionopen_rsx_capture"/>
<addaction name="separator"/>
<addaction name="actionCreate_RSX_Capture"/>
</widget>
<widget class="QMenu" name="menuView">
<property name="title">
@ -1057,6 +1060,14 @@
<string>Create Firmware Cache</string>
</property>
</action>
<action name="actionCreate_RSX_Capture">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Create RSX Capture</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources>