1
0
mirror of https://github.com/narzoul/DDrawCompat synced 2024-12-30 08:55:36 +01:00

Added ForceD3D9On12=forceoff setting

The default "off" setting no longer replaces D3D9On12 with igd9trinity32.dll.
It was causing issues when used with older driver versions.
Newer drivers use igd9trinity32.dll by default.
This commit is contained in:
narzoul 2024-08-17 16:37:27 +02:00
parent ae10673b3e
commit 2e9f55a2f0
2 changed files with 7 additions and 5 deletions

View File

@ -1,16 +1,18 @@
#pragma once
#include <Config/BoolSetting.h>
#include <Config/EnumSetting.h>
namespace Config
{
namespace Settings
{
class ForceD3D9On12 : public BoolSetting
class ForceD3D9On12 : public EnumSetting
{
public:
enum Values { FORCEOFF, OFF, ON };
ForceD3D9On12()
: BoolSetting("ForceD3D9On12", "off")
: EnumSetting("ForceD3D9On12", "off", { "forceoff", "off", "on" })
{
}
};

View File

@ -210,7 +210,7 @@ namespace
switch (pData->Type)
{
case KMTQAITYPE_UMDRIVERNAME:
if (Config::forceD3D9On12.get() &&
if (Config::Settings::ForceD3D9On12::ON == Config::forceD3D9On12.get() &&
KMTUMDVERSION_DX9 == static_cast<D3DKMT_UMDFILENAMEINFO*>(pData->pPrivateDriverData)->Version)
{
return STATUS_INVALID_PARAMETER;
@ -237,7 +237,7 @@ namespace
}
}
}
else if (!Config::forceD3D9On12.get() &&
else if (Config::Settings::ForceD3D9On12::FORCEOFF == Config::forceD3D9On12.get() &&
KMTQAITYPE_UMDRIVERNAME == pData->Type &&
KMTUMDVERSION_DX9 == static_cast<D3DKMT_UMDFILENAMEINFO*>(pData->pPrivateDriverData)->Version)
{