diff options
author | RSDuck <RSDuck@users.noreply.github.com> | 2019-07-14 04:33:36 +0200 |
---|---|---|
committer | RSDuck <rsduck@users.noreply.github.com> | 2020-04-26 13:03:03 +0200 |
commit | 9d76d63af5d496e232018d6ddf8ee1e55ad440ad (patch) | |
tree | ba8948dd796d7d119543dc83cd3a4ce0db608d5a /src/libui_sdl | |
parent | dcf6e1cad2b38dc4fe0dcbdb789f92e01f802a4a (diff) |
jit: make everything configurable
Diffstat (limited to 'src/libui_sdl')
-rw-r--r-- | src/libui_sdl/DlgEmuSettings.cpp | 16 | ||||
-rw-r--r-- | src/libui_sdl/PlatformConfig.cpp | 1 | ||||
-rw-r--r-- | src/libui_sdl/main.cpp | 17 |
3 files changed, 22 insertions, 12 deletions
diff --git a/src/libui_sdl/DlgEmuSettings.cpp b/src/libui_sdl/DlgEmuSettings.cpp index 0ccaed7..116d2da 100644 --- a/src/libui_sdl/DlgEmuSettings.cpp +++ b/src/libui_sdl/DlgEmuSettings.cpp @@ -57,10 +57,20 @@ void OnOk(uiButton* btn, void* blarg) { Config::DirectBoot = uiCheckboxChecked(cbDirectBoot); + Config::JIT_Enable = uiCheckboxChecked(cbJITEnabled); + long blockSize = strtol(uiEntryText(enJITMaxBlockSize), NULL, 10); + if (blockSize < 1) + blockSize = 1; + if (blockSize > 32) + blockSize = 32; + Config::JIT_MaxBlockSize = blockSize; + Config::Save(); uiControlDestroy(uiControl(win)); opened = false; + + ApplyNewSettings(4); } void OnJITStateChanged(uiCheckbox* cb, void* blarg) @@ -143,6 +153,12 @@ void Open() uiCheckboxSetChecked(cbDirectBoot, Config::DirectBoot); + uiCheckboxSetChecked(cbJITEnabled, Config::JIT_Enable); + { + char maxBlockSizeStr[10]; + sprintf(maxBlockSizeStr, "%d", Config::JIT_MaxBlockSize); + uiEntrySetText(enJITMaxBlockSize, maxBlockSizeStr); + } OnJITStateChanged(cbJITEnabled, NULL); uiControlShow(uiControl(win)); diff --git a/src/libui_sdl/PlatformConfig.cpp b/src/libui_sdl/PlatformConfig.cpp index f78b195..b6d1e8d 100644 --- a/src/libui_sdl/PlatformConfig.cpp +++ b/src/libui_sdl/PlatformConfig.cpp @@ -64,6 +64,7 @@ char MicWavPath[512]; char LastROMFolder[512]; +bool EnableJIT; ConfigEntry PlatformConfigFile[] = { diff --git a/src/libui_sdl/main.cpp b/src/libui_sdl/main.cpp index 8e8bf9e..d6809c3 100644 --- a/src/libui_sdl/main.cpp +++ b/src/libui_sdl/main.cpp @@ -48,6 +48,7 @@ #include "../Wifi.h" #include "../Platform.h" #include "../Config.h" +#include "../ARMJIT.h" #include "../Savestate.h" @@ -2408,19 +2409,11 @@ void ApplyNewSettings(int type) GPU3D::InitRenderer(Screen_UseGL); if (Screen_UseGL) uiGLMakeContextCurrent(NULL); } - /*else if (type == 4) // vsync + else if (type == 4) { - if (Screen_UseGL) - { - uiGLMakeContextCurrent(GLContext); - uiGLSetVSync(Config::ScreenVSync); - uiGLMakeContextCurrent(NULL); - } - else - { - // TODO eventually: VSync for non-GL screen? - } - }*/ + if (Config::JIT_Enable) + ARMJIT::InvalidateBlockCache(); + } EmuRunning = prevstatus; } |