DirectX-Graphics-Samples: MiniEngine: CommandListManager::m_CommandQueue is null
In line 78, CommandListManager::m_CommandQueue
is NULL when running the Debug and Profile builds. This bug is found in CommandQueue::Create
of CommandListManager.cpp, part of the Core library. Does not trigger when running Release configuration.
Fix: Commenting out line 100 pDevice->SetStablePowerState(TRUE);
seems to fix this bug. Forcing low GPU clocks seems to put the hardware in a state that fails creation of the CommandQueue.
My system is NVIDIA Geforce 1070, Intel i6500K
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 16 (10 by maintainers)
I’m not sure how to programmatically check for Developer Mode, but anyone who is dabbling in DX12 development with Visual Studio should probably turn it on. I’ll ask around to see if we can more gracefully avoid crashing and instead put up a dialog box or something. The two main problems we have which people learn to avoid after encountering them are 1) not installing the optional Graphics Tools and 2) not enabling Developer Mode. The Debug configuration tries to enable the validation layer, which is provided by Graphics Tools. And Debug/Profile modes try to call SetStablePowerState() to keep the GPU clock speed consistent during profiling. That requires Developer Mode.
I would like this to not be a common pain point with MiniEngine, so I’ll try to fix these two things.
issue #234 was showing similar symptoms, there it got fixed by enabling developer mode; it seems DEBUG builds are calling functions only available when developer mode is active and MiniEngine isn’t graceful about handling/reporting when you aren’t on developer mode.