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()