Additional .exe check for Witcher 3 (GoG version)
This commit is contained in:
parent
dc3445b8b7
commit
c9bca49da4
@ -165,6 +165,8 @@ IDXGISwapChain* CreateDummySwap()
|
|||||||
|
|
||||||
IDXGISwapChain *swap = NULL;
|
IDXGISwapChain *swap = NULL;
|
||||||
IUnknown *device = NULL;
|
IUnknown *device = NULL;
|
||||||
|
D3D_DRIVER_TYPE driverType = D3D_DRIVER_TYPE_NULL;
|
||||||
|
D3D10_DRIVER_TYPE driverType10 = D3D10_DRIVER_TYPE_NULL;
|
||||||
|
|
||||||
HRESULT hErr;
|
HRESULT hErr;
|
||||||
|
|
||||||
@ -174,9 +176,16 @@ IDXGISwapChain* CreateDummySwap()
|
|||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
// d3d10
|
// d3d10
|
||||||
|
|
||||||
|
if (_strcmpi(processName, "witcher3.exe") == 0)
|
||||||
|
{
|
||||||
|
driverType = D3D_DRIVER_TYPE_HARDWARE;
|
||||||
|
driverType10 = D3D10_DRIVER_TYPE_HARDWARE;
|
||||||
|
}
|
||||||
|
|
||||||
/* CoD: ghosts hack because apparently on nvidia GPUs it has some d3d10 context open */
|
/* CoD: ghosts hack because apparently on nvidia GPUs it has some d3d10 context open */
|
||||||
if (_strcmpi(processName, "iw6sp64_ship.exe") == 0 ||
|
if (_strcmpi(processName, "iw6sp64_ship.exe") == 0 ||
|
||||||
_strcmpi(processName, "iw6mp64_ship.exe") == 0)
|
_strcmpi(processName, "iw6mp64_ship.exe") == 0 ||
|
||||||
|
_strcmpi(processName, "witcher3.exe") == 0)
|
||||||
goto d3d11_only;
|
goto d3d11_only;
|
||||||
|
|
||||||
SHGetFolderPath(NULL, CSIDL_SYSTEM, NULL, SHGFP_TYPE_CURRENT, lpDllPath);
|
SHGetFolderPath(NULL, CSIDL_SYSTEM, NULL, SHGFP_TYPE_CURRENT, lpDllPath);
|
||||||
@ -189,7 +198,7 @@ IDXGISwapChain* CreateDummySwap()
|
|||||||
|
|
||||||
if(d3d10Create)
|
if(d3d10Create)
|
||||||
{
|
{
|
||||||
hErr = (*d3d10Create)(NULL, D3D10_DRIVER_TYPE_NULL, NULL, 0, D3D10_SDK_VERSION, &swapDesc, &swap, &device);
|
hErr = (*d3d10Create)(NULL, driverType10, NULL, 0, D3D10_SDK_VERSION, &swapDesc, &swap, &device);
|
||||||
|
|
||||||
if(SUCCEEDED(hErr))
|
if(SUCCEEDED(hErr))
|
||||||
{
|
{
|
||||||
@ -217,7 +226,7 @@ IDXGISwapChain* CreateDummySwap()
|
|||||||
D3D101CREATEPROC d3d101Create = (D3D101CREATEPROC)GetProcAddress(hDll, "D3D10CreateDeviceAndSwapChain1");
|
D3D101CREATEPROC d3d101Create = (D3D101CREATEPROC)GetProcAddress(hDll, "D3D10CreateDeviceAndSwapChain1");
|
||||||
if(d3d101Create)
|
if(d3d101Create)
|
||||||
{
|
{
|
||||||
hErr = (*d3d101Create)(NULL, D3D10_DRIVER_TYPE_NULL, NULL, 0, D3D10_FEATURE_LEVEL_10_1, D3D10_1_SDK_VERSION, &swapDesc, &swap, &device);
|
hErr = (*d3d101Create)(NULL, driverType10, NULL, 0, D3D10_FEATURE_LEVEL_10_1, D3D10_1_SDK_VERSION, &swapDesc, &swap, &device);
|
||||||
|
|
||||||
if(SUCCEEDED(hErr))
|
if(SUCCEEDED(hErr))
|
||||||
{
|
{
|
||||||
@ -259,7 +268,7 @@ d3d11_only:
|
|||||||
D3D_FEATURE_LEVEL receivedLevel;
|
D3D_FEATURE_LEVEL receivedLevel;
|
||||||
|
|
||||||
IUnknown *context;
|
IUnknown *context;
|
||||||
hErr = (*d3d11Create)(NULL, D3D_DRIVER_TYPE_NULL, NULL, 0, desiredLevels, 6, D3D11_SDK_VERSION, &swapDesc, &swap, &device, &receivedLevel, &context);
|
hErr = (*d3d11Create)(NULL, driverType, NULL, 0, desiredLevels, 6, D3D11_SDK_VERSION, &swapDesc, &swap, &device, &receivedLevel, &context);
|
||||||
if(SUCCEEDED(hErr))
|
if(SUCCEEDED(hErr))
|
||||||
{
|
{
|
||||||
context->Release();
|
context->Release();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user