次の呼び出しがあり、何を試してhresult
も常に E_INVALIDARG です。
LogMessage(L"Creating swap chain. Emulation: " + std::to_wstring(useSoftwareEmulation) + L", Debugging: " + std::to_wstring(enableRenderDebugging));
HRESULT hresult = D3D11CreateDeviceAndSwapChain(
(useSoftwareEmulation ? NULL : currentAdapter),
(useSoftwareEmulation ? D3D_DRIVER_TYPE_WARP : D3D_DRIVER_TYPE_UNKNOWN),
NULL,
(enableRenderDebugging ? D3D11_CREATE_DEVICE_DEBUG | D3D11_CREATE_DEVICE_DEBUGGABLE : 0),
NULL,
0,
D3D11_SDK_VERSION,
&swapChainDescriptor,
&swapChain,
&graphicsCardInterface,
&runningFeatureLevel,
&graphicsCardContext
);
上記のログ行によると、 と の両方useSoftwareEmulation
がenableRenderDebugging
falseです。
他のすべての変数の型は次のとおりです。
currentAdapter
ですIDXGIAdapter*
swapChainDescriptor
ですDXGI_SWAP_CHAIN_DESC
swapChain
ですIDXGISwapChain*
graphicsCardInterface
ですID3D11Device*
runningFeatureLevel
ですD3D_FEATURE_LEVEL
graphicsCardContext
ですID3D11DeviceContext*