4

次の呼び出しがあり、何を試して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
    );

上記のログ行によると、 と の両方useSoftwareEmulationenableRenderDebuggingfalseです

他のすべての変数の型は次のとおりです。

currentAdapterですIDXGIAdapter*

swapChainDescriptorですDXGI_SWAP_CHAIN_DESC

swapChainですIDXGISwapChain*

graphicsCardInterfaceですID3D11Device*

runningFeatureLevelですD3D_FEATURE_LEVEL

graphicsCardContextですID3D11DeviceContext*

4

1 に答える 1

4

誤報: swapChainDescriptor にエラーがありました (つまり、MSAA カウントと品質値が交換されました)。

これが将来他の誰かに役立つことを願っています。

于 2013-10-13T19:38:36.477 に答える