Remove handling for Windows versions that are no longer supported

This commit is contained in:
Cameron Gutman 2026-01-26 20:04:15 -06:00
commit f5f06ae44e
5 changed files with 19 additions and 37 deletions

View file

@ -57,9 +57,8 @@ SystemProperties::SystemProperties()
{ {
USHORT processArch, machineArch; USHORT processArch, machineArch;
// Use IsWow64Process2 on TH2 and later, because it supports ARM64 // Use IsWow64Process2() because it doesn't lie on ARM64
auto fnIsWow64Process2 = (decltype(IsWow64Process2)*)GetProcAddress(GetModuleHandleA("kernel32.dll"), "IsWow64Process2"); if (IsWow64Process2(GetCurrentProcess(), &processArch, &machineArch)) {
if (fnIsWow64Process2 != nullptr && fnIsWow64Process2(GetCurrentProcess(), &processArch, &machineArch)) {
switch (machineArch) { switch (machineArch) {
case IMAGE_FILE_MACHINE_I386: case IMAGE_FILE_MACHINE_I386:
nativeArch = "i386"; nativeArch = "i386";

View file

@ -37,26 +37,23 @@ void SdlInputHandler::disableTouchFeedback()
#ifdef Q_OS_WIN32 #ifdef Q_OS_WIN32
if (info.subsystem == SDL_SYSWM_WINDOWS) { if (info.subsystem == SDL_SYSWM_WINDOWS) {
auto fnSetWindowFeedbackSetting = (decltype(SetWindowFeedbackSetting)*)GetProcAddress(GetModuleHandleW(L"user32.dll"), "SetWindowFeedbackSetting"); constexpr FEEDBACK_TYPE feedbackTypes[] = {
if (fnSetWindowFeedbackSetting) { FEEDBACK_TOUCH_CONTACTVISUALIZATION,
constexpr FEEDBACK_TYPE feedbackTypes[] = { FEEDBACK_PEN_BARRELVISUALIZATION,
FEEDBACK_TOUCH_CONTACTVISUALIZATION, FEEDBACK_PEN_TAP,
FEEDBACK_PEN_BARRELVISUALIZATION, FEEDBACK_PEN_DOUBLETAP,
FEEDBACK_PEN_TAP, FEEDBACK_PEN_PRESSANDHOLD,
FEEDBACK_PEN_DOUBLETAP, FEEDBACK_PEN_RIGHTTAP,
FEEDBACK_PEN_PRESSANDHOLD, FEEDBACK_TOUCH_TAP,
FEEDBACK_PEN_RIGHTTAP, FEEDBACK_TOUCH_DOUBLETAP,
FEEDBACK_TOUCH_TAP, FEEDBACK_TOUCH_PRESSANDHOLD,
FEEDBACK_TOUCH_DOUBLETAP, FEEDBACK_TOUCH_RIGHTTAP,
FEEDBACK_TOUCH_PRESSANDHOLD, FEEDBACK_GESTURE_PRESSANDTAP,
FEEDBACK_TOUCH_RIGHTTAP, };
FEEDBACK_GESTURE_PRESSANDTAP,
};
for (FEEDBACK_TYPE ft : feedbackTypes) { for (FEEDBACK_TYPE ft : feedbackTypes) {
BOOL val = FALSE; BOOL val = FALSE;
fnSetWindowFeedbackSetting(info.info.win.window, ft, 0, sizeof(val), &val); SetWindowFeedbackSetting(info.info.win.window, ft, 0, sizeof(val), &val);
}
} }
} }
#endif #endif

View file

@ -10,7 +10,6 @@
#include "streaming/session.h" #include "streaming/session.h"
#include <SDL_syswm.h> #include <SDL_syswm.h>
#include <VersionHelpers.h>
#include <dwmapi.h> #include <dwmapi.h>
@ -465,13 +464,6 @@ bool D3D11VARenderer::initialize(PDECODER_PARAMETERS params)
"D3D11VA is disabled by environment variable"); "D3D11VA is disabled by environment variable");
return false; return false;
} }
else if (!IsWindows10OrGreater()) {
// Use DXVA2 on anything older than Win10, so we don't have to handle a bunch
// of legacy Win7/Win8 codepaths in here.
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
"D3D11VA renderer is only supported on Windows 10 or later.");
return false;
}
if (!SDL_DXGIGetOutputInfo(SDL_GetWindowDisplayIndex(params->window), if (!SDL_DXGIGetOutputInfo(SDL_GetWindowDisplayIndex(params->window),
&m_AdapterIndex, &outputIndex)) { &m_AdapterIndex, &outputIndex)) {

View file

@ -18,7 +18,6 @@ extern "C" {
#define WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN
#include <Windows.h> #include <Windows.h>
#include <VersionHelpers.h>
#include <dwmapi.h> #include <dwmapi.h>
#include <Limelight.h> #include <Limelight.h>

View file

@ -4,7 +4,6 @@
#ifdef Q_OS_WIN32 #ifdef Q_OS_WIN32
#define WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN
#include <Windows.h> #include <Windows.h>
#include <VersionHelpers.h>
#include "dxvsyncsource.h" #include "dxvsyncsource.h"
#endif #endif
@ -283,11 +282,7 @@ bool Pacer::initialize(SDL_Window* window, int maxVideoFps, bool enablePacing)
switch (info.subsystem) { switch (info.subsystem) {
#ifdef Q_OS_WIN32 #ifdef Q_OS_WIN32
case SDL_SYSWM_WINDOWS: case SDL_SYSWM_WINDOWS:
// Don't use D3DKMTWaitForVerticalBlankEvent() on Windows 7, because m_VsyncSource = new DxVsyncSource(this);
// it blocks during other concurrent DX operations (like actually rendering).
if (IsWindows8OrGreater()) {
m_VsyncSource = new DxVsyncSource(this);
}
break; break;
#endif #endif