diff --git a/DDrawCompat/D3dDdi/Adapter.cpp b/DDrawCompat/D3dDdi/Adapter.cpp index c0fce79..b22c4f8 100644 --- a/DDrawCompat/D3dDdi/Adapter.cpp +++ b/DDrawCompat/D3dDdi/Adapter.cpp @@ -437,7 +437,7 @@ namespace D3dDdi pCreateData->Interface = origInterface; if (SUCCEEDED(result)) { - DeviceFuncs::hookVtable(*pCreateData->pDeviceFuncs, m_driverVersion); + DeviceFuncs::hookVtable(*pCreateData->pDeviceFuncs, std::min(m_runtimeVersion, m_driverVersion)); Device::add(*this, pCreateData->hDevice); } return result; diff --git a/DDrawCompat/D3dDdi/Hooks.cpp b/DDrawCompat/D3dDdi/Hooks.cpp index 5a796f0..80e1127 100644 --- a/DDrawCompat/D3dDdi/Hooks.cpp +++ b/DDrawCompat/D3dDdi/Hooks.cpp @@ -121,7 +121,7 @@ namespace pOpenData->Interface = origInterface; if (SUCCEEDED(result)) { - D3dDdi::AdapterFuncs::hookVtable(*pOpenData->pAdapterFuncs, pOpenData->DriverVersion); + D3dDdi::AdapterFuncs::hookVtable(*pOpenData->pAdapterFuncs, std::min(pOpenData->Version, pOpenData->DriverVersion)); D3dDdi::Adapter::add(*pOpenData); } return result;