Merge pull request #1280 from luisjoseromero/chrome_tracing
Integrated Chrome tracing
This commit is contained in:
@@ -122,6 +122,11 @@ BEGIN
|
||||
# endif
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Take s&creenshot\tCtrl+F11", IDM_ACTION_SCREENSHOT
|
||||
#ifdef MTR_ENABLED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Begin trace\tCtrl+T", IDM_ACTION_BEGIN_TRACE
|
||||
MENUITEM "End trace\tCtrl+T", IDM_ACTION_END_TRACE
|
||||
#endif
|
||||
END
|
||||
#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS)
|
||||
POPUP "&Logging"
|
||||
@@ -262,6 +267,9 @@ BEGIN
|
||||
#endif
|
||||
#ifdef ENABLE_LOG_BREAKPOINT
|
||||
VK_F10, IDM_LOG_BREAKPOINT, CONTROL, VIRTKEY
|
||||
#endif
|
||||
#ifdef MTR_ENABLED
|
||||
"T", IDM_ACTION_TRACE, CONTROL, VIRTKEY
|
||||
#endif
|
||||
VK_PRIOR,IDM_VID_FULLSCREEN, VIRTKEY, CONTROL , ALT
|
||||
VK_F11, IDM_ACTION_SCREENSHOT, VIRTKEY, CONTROL
|
||||
|
||||
@@ -290,7 +290,7 @@ endif
|
||||
#########################################################################
|
||||
# Nothing should need changing from here on.. #
|
||||
#########################################################################
|
||||
VPATH := $(EXPATH) . $(CODEGEN) cpu \
|
||||
VPATH := $(EXPATH) . $(CODEGEN) minitrace cpu \
|
||||
cdrom chipset device disk disk/minivhd floppy \
|
||||
game machine mem printer \
|
||||
sio sound \
|
||||
@@ -488,6 +488,12 @@ RFLAGS += -DUSE_DISCORD
|
||||
DISCORDOBJ := win_discord.o
|
||||
endif
|
||||
|
||||
ifeq ($(MINITRACE), y)
|
||||
OPTS += -DMTR_ENABLED
|
||||
RFLAGS += -DMTR_ENABLED
|
||||
MINITRACEOBJ := minitrace.o
|
||||
endif
|
||||
|
||||
# Options for the DEV branch.
|
||||
ifeq ($(DEV_BRANCH), y)
|
||||
OPTS += -DDEV_BRANCH
|
||||
@@ -794,7 +800,7 @@ OBJ := $(MAINOBJ) $(CPUOBJ) $(CHIPSETOBJ) $(MCHOBJ) $(DEVOBJ) $(MEMOBJ) \
|
||||
$(FDDOBJ) $(GAMEOBJ) $(CDROMOBJ) $(ZIPOBJ) $(MOOBJ) $(HDDOBJ) $(MINIVHDOBJ) \
|
||||
$(NETOBJ) $(PRINTOBJ) $(SCSIOBJ) $(SIOOBJ) $(SNDOBJ) $(VIDOBJ) \
|
||||
$(PLATOBJ) $(UIOBJ) $(FSYNTHOBJ) $(MUNTOBJ) $(DEVBROBJ) \
|
||||
$(DISCORDOBJ)
|
||||
$(DISCORDOBJ) $(MINITRACEOBJ)
|
||||
ifdef EXOBJ
|
||||
OBJ += $(EXOBJ)
|
||||
endif
|
||||
|
||||
@@ -49,7 +49,9 @@
|
||||
#include <86box/win_sdl.h>
|
||||
#include <86box/win.h>
|
||||
#include <86box/version.h>
|
||||
|
||||
#ifdef MTR_ENABLED
|
||||
#include <minitrace/minitrace.h>
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
WCHAR str[512];
|
||||
@@ -217,6 +219,21 @@ plat_get_string(int i)
|
||||
return((wchar_t *)str);
|
||||
}
|
||||
|
||||
#ifdef MTR_ENABLED
|
||||
void
|
||||
init_trace(void)
|
||||
{
|
||||
mtr_init("trace.json");
|
||||
mtr_start();
|
||||
}
|
||||
|
||||
void
|
||||
shutdown_trace(void)
|
||||
{
|
||||
mtr_stop();
|
||||
mtr_shutdown();
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Create a console if we don't already have one. */
|
||||
static void
|
||||
|
||||
@@ -48,6 +48,9 @@
|
||||
# include <86box/win_discord.h>
|
||||
#endif
|
||||
|
||||
#ifdef MTR_ENABLED
|
||||
#include <minitrace/minitrace.h>
|
||||
#endif
|
||||
|
||||
#define TIMER_1SEC 1 /* ID of the one-second timer */
|
||||
|
||||
@@ -294,6 +297,9 @@ ResetAllMenus(void)
|
||||
else
|
||||
EnableMenuItem(menuMain, IDM_DISCORD, MF_DISABLED);
|
||||
#endif
|
||||
#ifdef MTR_ENABLED
|
||||
EnableMenuItem(menuMain, IDM_ACTION_END_TRACE, MF_DISABLED);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -378,6 +384,19 @@ plat_power_off(void)
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
#ifdef MTR_ENABLED
|
||||
static void
|
||||
handle_trace(HMENU hmenu, int trace)
|
||||
{
|
||||
EnableMenuItem(hmenu, IDM_ACTION_BEGIN_TRACE, trace? MF_GRAYED : MF_ENABLED);
|
||||
EnableMenuItem(hmenu, IDM_ACTION_END_TRACE, trace? MF_ENABLED : MF_GRAYED);
|
||||
if (trace) {
|
||||
init_trace();
|
||||
} else {
|
||||
shutdown_trace();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Catch WM_INPUT messages for 'current focus' window. */
|
||||
#if defined(__amd64__) || defined(__aarch64__)
|
||||
@@ -489,6 +508,15 @@ MainWindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
take_screenshot();
|
||||
break;
|
||||
|
||||
#ifdef MTR_ENABLED
|
||||
case IDM_ACTION_BEGIN_TRACE:
|
||||
case IDM_ACTION_END_TRACE:
|
||||
case IDM_ACTION_TRACE:
|
||||
tracing_on = !tracing_on;
|
||||
handle_trace(hmenu, tracing_on);
|
||||
break;
|
||||
#endif
|
||||
|
||||
case IDM_ACTION_HRESET:
|
||||
win_notify_dlg_open();
|
||||
if (confirm_reset)
|
||||
|
||||
Reference in New Issue
Block a user