diff --git a/GPU/Debugger/Debugger.cpp b/GPU/Debugger/Debugger.cpp index 2f00c804d1..088836c2ff 100644 --- a/GPU/Debugger/Debugger.cpp +++ b/GPU/Debugger/Debugger.cpp @@ -57,6 +57,9 @@ void SetBreakNext(BreakNext next) { GPUBreakpoints::AddCmdBreakpoint(GE_CMD_PRIM, true); GPUBreakpoints::AddCmdBreakpoint(GE_CMD_BEZIER, true); GPUBreakpoints::AddCmdBreakpoint(GE_CMD_SPLINE, true); + } else if (next == BreakNext::CURVE) { + GPUBreakpoints::AddCmdBreakpoint(GE_CMD_BEZIER, true); + GPUBreakpoints::AddCmdBreakpoint(GE_CMD_SPLINE, true); } GPUStepping::ResumeFromStepping(); } diff --git a/GPU/Debugger/Debugger.h b/GPU/Debugger/Debugger.h index caf1e8f37f..2a45f93ba0 100644 --- a/GPU/Debugger/Debugger.h +++ b/GPU/Debugger/Debugger.h @@ -29,6 +29,7 @@ enum class BreakNext { NONTEX, FRAME, PRIM, + CURVE, }; void SetActive(bool flag); diff --git a/Windows/GEDebugger/GEDebugger.cpp b/Windows/GEDebugger/GEDebugger.cpp index 0b878c7dab..e36fe84a52 100644 --- a/Windows/GEDebugger/GEDebugger.cpp +++ b/Windows/GEDebugger/GEDebugger.cpp @@ -716,6 +716,10 @@ BOOL CGEDebugger::DlgProc(UINT message, WPARAM wParam, LPARAM lParam) { SetBreakNext(BreakNext::PRIM); break; + case IDC_GEDBG_STEPCURVE: + SetBreakNext(BreakNext::CURVE); + break; + case IDC_GEDBG_BREAKTEX: { GPUDebug::SetActive(true); diff --git a/Windows/ppsspp.rc b/Windows/ppsspp.rc index 3099c3e3f9..e461def071 100644 --- a/Windows/ppsspp.rc +++ b/Windows/ppsspp.rc @@ -214,8 +214,9 @@ BEGIN PUSHBUTTON "Step &Tex",IDC_GEDBG_STEPTEX,62,2,48,14 PUSHBUTTON "Step &Draw",IDC_GEDBG_STEPDRAW,114,2,48,14 PUSHBUTTON "Step &Prim",IDC_GEDBG_STEPPRIM,166,2,48,14 - PUSHBUTTON "Step &Into",IDC_GEDBG_STEP,218,2,48,14 - PUSHBUTTON "&Resume",IDC_GEDBG_RESUME,270,2,48,14 + PUSHBUTTON "Step &Curve",IDC_GEDBG_STEPCURVE,218,2,48,14 + PUSHBUTTON "Step &Into",IDC_GEDBG_STEP,270,2,48,14 + PUSHBUTTON "&Resume",IDC_GEDBG_RESUME,322,2,48,14 PUSHBUTTON "Rec&ord",IDC_GEDBG_RECORD,440,2,48,14 CONTROL "",IDC_GEDBG_TEX,"SimpleGLWindow",WS_CHILD | WS_VISIBLE,10,20,128,128 CONTROL "",IDC_GEDBG_FRAME,"SimpleGLWindow",WS_CHILD | WS_VISIBLE,148,20,256,136 diff --git a/Windows/resource.h b/Windows/resource.h index 9c3c1a7b38..665db6d8f8 100644 --- a/Windows/resource.h +++ b/Windows/resource.h @@ -341,6 +341,7 @@ #define ID_OPTIONS_WINDOW10X 40176 #define ID_EMULATION_PAUSE 40177 #define ID_HELP_DISCORD 40178 +#define IDC_GEDBG_STEPCURVE 40179 // Dummy option to let the buffered rendering hotkey cycle through all the options. #define ID_OPTIONS_BUFFEREDRENDERINGDUMMY 40500