Open Radio30 opened 6 years ago
I'm leaning towards this being better off living in dxwrapper and just seeing d3d8to9 as the base component that takes care of the wrapping, but not doing much compatibility fixing beyond that.
Ok, sounds good.
A quick and dirty search @WinDLLsExports shows that while
SwapEffectUpgradesShim
is already shipping in W10 dlls,SwapEffectUpgradeEnable
(andDX_DATABASE_QUERY_TYPE_SWAPEFFECTUPGRADE_ENABLE
) is only present from W11.
Sounds like there is a compatibility fix in Windows 11 for this? I know the fix I put in works for both W10 and W11.
It has "shim" in the name, but after entering a colossal rabbit hole I just found out it's not a normal one implemented in the general application compatibility layers..
First of all, SwapEffectUpgradesShim
inside of d3d9 and dxgi was added in W10 1709 (which was also about "peak FSO", before they scaled back on the amount of automatic upgrades). Maybe it was a new knob to toggle what they had already been doing for a while, maybe they refined or covered only some specific cases back then, but nonetheless today it is what it is (W10 1803 further added SwapEffectTransitionShim
but idk).
Finally Windows 11 added WindowedSwapEffectUpgrade
(which of course controls this) and this "DirectX Database query" thing that I spotted. After some creative search, I guessed that refers to DirectXApps.sdb, DirectXApps_FOD.sdb or DirectXApps_OEM.sdb which should have been introduced from W10 1903 onwards (and which only the god knows in functioning: presumably that's associated with a directxdatabaseupdater.exe scheduled task and starting in W11 with directxdatabasehelper.dll too).
Last but not least, after opening them with SDB explorer (because the ACT tools don't seem to parse anything besides the entries names) I found they are used to set some default value for settings like GpuPreference
, AutoHDREnable
and SwapEffectUpgradeEnable
. The absolute lack of recognition of even just the existence of all of this kinda baffles me.
Thanks. A lot of good data.
Finally Windows 11 added
WindowedSwapEffectUpgrade
(which of course controls this)
I just tested the steps here and enabled "flip presentation model" and it did not fix the issue here with a black screen. I am not quite sure what it does, but it is not a fix for this issue.
I found they are used to set some default value for settings like
GpuPreference
,AutoHDREnable
andSwapEffectUpgradeEnable
.
I installed the latest Compatibility Manager for Windows 11 and I was unable to find any Compatibility Fix for SwapEffectUpgradeEnable
. If you know a way to enable this outside of calling the API I listed above I would be interested in it.
This in Indiana Jones and the Emporer's Tomb.
All the intro and cut-scene movies are in .bik format and while using d3d8to9 the audio plays during the videos but the screen is black. Any idea what could be causing this?