DirectX D3D11CreateDeviceAndSwapChain returning E_INVALIDARG
DirectX D3D11CreateDeviceAndSwapChain returning E_INVALIDARG
我有以下调用,无论我尝试什么,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
都是假的。
所有其他变量的类型如下:
currentAdapter
是一个IDXGIAdapter*
swapChainDescriptor
是一个DXGI_SWAP_CHAIN_DESC
swapChain
是一个IDXGISwapChain*
graphicsCardInterface
是一个ID3D11Device*
runningFeatureLevel
是一个D3D_FEATURE_LEVEL
graphicsCardContext
是一个ID3D11DeviceContext*
误报:我的交换链描述符中出现错误(即我的 MSAA 计数和质量值被交换)。
希望这将来帮助将来的其他人。
相关文章:
- ZLib GZIP Returning Z_BUF_ERROR(-5)
- C++:寻找"returning address of local variable..."的更正
- cin.fail() not returning true
- "Warning : No return statement in function returning non-void"是什么意思?
- std::localtime returning null
- 为什么我收到以下错误:"returning reference to temporary [-Werror=return-local-addr]"
- GetComboBoxInfo returning false
- Returning std::vector with std::move
- 如何修复空虚拟方法的"warning: no return statement in function returning non-void [-Wreturn-type]"
- Returning std::make_pair with std::forward
- GetThreadContext() returning 87
- 为什么不触发"returning reference to temporary object"编译器警告?
- MoveFileEx - returning GetLastError(): 17
- 为什么 decltype 在 "auto returning" 函数中是必需的?
- Self-returning class?
- Qt findChild returning 0
- SDL_LoadBMP only returning NULL
- C++11 lambda returning lambda
- cvLoadImage Returning NULL
- xrces item returning NULL