• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..09-Feb-2022-

tests/H09-Feb-2022-466331

README.mdH A D09-Feb-20222.2 KiB5137

d3d10_gdi.cH A D09-Feb-20222.3 KiB8341

meson.buildH A D09-Feb-20222 KiB6053

README.md

1The resulting d3d10sw.dll implements D3D10's software rendering interface, like
2WARP.
3
4
5It can be used directly from WLK 1.6 and WHCK 2.0 D3D10+ tests, via the -Src
6and -SWDLL options. For example:
7
8    wgf11blend.exe -Debug -DoNotCatchExceptions -DXGI:1.1 -FeatureLevel:10.0 -Src:SW -SWDLL:d3d10sw.dll -LogClean -LogVerbose
9
10However, as of WHCK version 2.1 this mechanism no longer works reliably.
11Either you use WHCK 2.0 binaries, or you must use the alternative method
12cribed below (of copying d3d10sw.dll into the executable directory and rename
13it such that it matches the D3D10 UMD of the test machine).
14
15
16Examples can be easily modified to load it too:
17
18    D3D10CreateDeviceAndSwapChain(NULL,
19                                  D3D10_DRIVER_TYPE_SOFTWARE,
20                                  LoadLibraryA("d3d10sw"), /* Software */
21                                  Flags,
22                                  D3D10_SDK_VERSION,
23                                  &SwapChainDesc,
24                                  &g_pSwapChain,
25                                  &g_pDevice);
26
27    D3D11CreateDeviceAndSwapChain(NULL, /* pAdapter */
28                                  D3D_DRIVER_TYPE_SOFTWARE,
29                                  LoadLibraryA("d3d10sw"), /* Software */
30                                  Flags,
31                                  FeatureLevels,
32                                  sizeof FeatureLevels / sizeof FeatureLevels[0],
33                                  D3D11_SDK_VERSION,
34                                  &SwapChainDesc,
35                                  &g_pSwapChain,
36                                  &g_pDevice,
37                                  NULL, /* pFeatureLevel */
38                                  &g_pDeviceContext); /* ppImmediateContext */
39
40
41Alternatively, it can be renamed into the system's D3D10 UMD driver (e.g.,
42vm3dum_10.dll for VMware vGPU, nvwgf2um.dll for NVIDIA GPU), and placed into
43the application directory, or system's directory, and used instead.
44
45For the DLL to be picked from the application directory you'll need to do the
46following once:
47
48    reg add "HKLM\System\CurrentControlSet\Control\Session Manager" /v "SafeDllSearchMode" /t REG_DWORD /d 0 /f
49
50See also https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order
51