diff --git a/src/duckstation/CMakeLists.txt b/src/duckstation/CMakeLists.txt index 58f226152..d3e9404de 100644 --- a/src/duckstation/CMakeLists.txt +++ b/src/duckstation/CMakeLists.txt @@ -20,5 +20,5 @@ if(WIN32) d3d11_host_display.cpp d3d11_host_display.h ) - target_link_libraries(duckstation PRIVATE d3d11.lib) + target_link_libraries(duckstation PRIVATE d3d11.lib winmm.lib) endif() diff --git a/src/duckstation/duckstation.vcxproj b/src/duckstation/duckstation.vcxproj index 00687754c..797ce7851 100644 --- a/src/duckstation/duckstation.vcxproj +++ b/src/duckstation/duckstation.vcxproj @@ -219,7 +219,7 @@ Console true - SDL2.lib;d3d11.lib;%(AdditionalDependencies) + SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies) $(SolutionDir)dep\msvc\lib32-debug;%(AdditionalLibraryDirectories) @@ -241,7 +241,7 @@ Console true - SDL2.lib;d3d11.lib;%(AdditionalDependencies) + SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies) $(SolutionDir)dep\msvc\lib64-debug;%(AdditionalLibraryDirectories) @@ -266,7 +266,7 @@ Console true - SDL2.lib;d3d11.lib;%(AdditionalDependencies) + SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies) $(SolutionDir)dep\msvc\lib32-debug;%(AdditionalLibraryDirectories) @@ -291,7 +291,7 @@ Console true - SDL2.lib;d3d11.lib;%(AdditionalDependencies) + SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies) $(SolutionDir)dep\msvc\lib64-debug;%(AdditionalLibraryDirectories) @@ -314,7 +314,7 @@ true true true - SDL2.lib;d3d11.lib;%(AdditionalDependencies) + SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies) $(SolutionDir)dep\msvc\lib32;%(AdditionalLibraryDirectories) Default @@ -339,7 +339,7 @@ true true true - SDL2.lib;d3d11.lib;%(AdditionalDependencies) + SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies) $(SolutionDir)dep\msvc\lib32;%(AdditionalLibraryDirectories) UseLinkTimeCodeGeneration @@ -363,7 +363,7 @@ true true true - SDL2.lib;d3d11.lib;%(AdditionalDependencies) + SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies) $(SolutionDir)dep\msvc\lib64;%(AdditionalLibraryDirectories) Default @@ -388,7 +388,7 @@ true true true - SDL2.lib;d3d11.lib;%(AdditionalDependencies) + SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies) $(SolutionDir)dep\msvc\lib64;%(AdditionalLibraryDirectories) UseLinkTimeCodeGeneration diff --git a/src/duckstation/sdl_host_interface.cpp b/src/duckstation/sdl_host_interface.cpp index 876420b5c..ff5bf10bc 100644 --- a/src/duckstation/sdl_host_interface.cpp +++ b/src/duckstation/sdl_host_interface.cpp @@ -14,6 +14,8 @@ #include "core/timers.h" #ifdef Y_PLATFORM_WINDOWS #include "d3d11_host_display.h" +#include "YBaseLib/Windows/WindowsHeaders.h" +#include #endif #include "icon.h" #include "imgui_styles.h" @@ -26,7 +28,13 @@ #include Log_SetChannel(SDLHostInterface); -SDLHostInterface::SDLHostInterface() : m_settings_filename("settings.ini") {} +SDLHostInterface::SDLHostInterface() : m_settings_filename("settings.ini") +{ + // Increase timer/sleep resolution since we use it for throttling. +#ifdef Y_PLATFORM_WINDOWS + timeBeginPeriod(1); +#endif +} SDLHostInterface::~SDLHostInterface() { @@ -36,6 +44,10 @@ SDLHostInterface::~SDLHostInterface() if (m_window) SDL_DestroyWindow(m_window); + +#ifdef Y_PLATFORM_WINDOWS + timeEndPeriod(1); +#endif } bool SDLHostInterface::CreateSDLWindow()