51 lines
2.2 KiB
Markdown
51 lines
2.2 KiB
Markdown
The resulting d3d10sw.dll implements D3D10's software rendering interface, like
|
|
WARP.
|
|
|
|
|
|
It can be used directly from WLK 1.6 and WHCK 2.0 D3D10+ tests, via the -Src
|
|
and -SWDLL options. For example:
|
|
|
|
wgf11blend.exe -Debug -DoNotCatchExceptions -DXGI:1.1 -FeatureLevel:10.0 -Src:SW -SWDLL:d3d10sw.dll -LogClean -LogVerbose
|
|
|
|
However, as of WHCK version 2.1 this mechanism no longer works reliably.
|
|
Either you use WHCK 2.0 binaries, or you must use the alternative method
|
|
cribed below (of copying d3d10sw.dll into the executable directory and rename
|
|
it such that it matches the D3D10 UMD of the test machine).
|
|
|
|
|
|
Examples can be easily modified to load it too:
|
|
|
|
D3D10CreateDeviceAndSwapChain(NULL,
|
|
D3D10_DRIVER_TYPE_SOFTWARE,
|
|
LoadLibraryA("d3d10sw"), /* Software */
|
|
Flags,
|
|
D3D10_SDK_VERSION,
|
|
&SwapChainDesc,
|
|
&g_pSwapChain,
|
|
&g_pDevice);
|
|
|
|
D3D11CreateDeviceAndSwapChain(NULL, /* pAdapter */
|
|
D3D_DRIVER_TYPE_SOFTWARE,
|
|
LoadLibraryA("d3d10sw"), /* Software */
|
|
Flags,
|
|
FeatureLevels,
|
|
sizeof FeatureLevels / sizeof FeatureLevels[0],
|
|
D3D11_SDK_VERSION,
|
|
&SwapChainDesc,
|
|
&g_pSwapChain,
|
|
&g_pDevice,
|
|
NULL, /* pFeatureLevel */
|
|
&g_pDeviceContext); /* ppImmediateContext */
|
|
|
|
|
|
Alternatively, it can be renamed into the system's D3D10 UMD driver (e.g.,
|
|
vm3dum_10.dll for VMware vGPU, nvwgf2um.dll for NVIDIA GPU), and placed into
|
|
the application directory, or system's directory, and used instead.
|
|
|
|
For the DLL to be picked from the application directory you'll need to do the
|
|
following once:
|
|
|
|
reg add "HKLM\System\CurrentControlSet\Control\Session Manager" /v "SafeDllSearchMode" /t REG_DWORD /d 0 /f
|
|
|
|
See also https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order
|