RobertBeckebans / RBDOOM-3-BFG

Doom 3 BFG Edition source port with updated DX12 / Vulkan renderer and modern game engine features
https://www.moddb.com/mods/rbdoom-3-bfg
GNU General Public License v3.0
1.38k stars 247 forks source link

D3HDP mod crash when switchting levels #822

Closed RobertBeckebans closed 2 months ago

RobertBeckebans commented 6 months ago

Moving from one level to another causes the NVRHI error: "Two or more immediate command lists cannot be open at the same time".

There is one commandlist in the renderer frontend idImageManager::LoadLevelImages( bool pacifier ) vs the commandlist in the renderer backend

stack

    RBDoom3BFG.exe!nvrhi::validation::CommandListWrapper::open() Line 163   C++
    RBDoom3BFG.exe!idRenderBackend::GL_StartFrame() Line 1555   C++
    RBDoom3BFG.exe!idRenderBackend::ExecuteBackEndCommands(const emptyCommand_t * cmds) Line 5268   C++
    RBDoom3BFG.exe!idRenderSystemLocal::RenderCommandBuffers(const emptyCommand_t * cmdHead) Line 141   C++
    RBDoom3BFG.exe!idCommonLocal::UpdateScreen(bool captureToImage, bool releaseMouse) Line 452 C++
    RBDoom3BFG.exe!idCommonLocal::UpdateLevelLoadPacifier() Line 758    C++
    RBDoom3BFG.exe!idCommonLocal::LoadPacifierBinarizeProgress(float progress) Line 839 C++
    RBDoom3BFG.exe!idCommonLocal::LoadPacifierBinarizeProgressIncrement(int step) Line 867  C++
    RBDoom3BFG.exe!idDxtEncoder::CompressNormalMapDXT5Fast_SSE2(const unsigned char * inBuf, unsigned char * outBuf, int width, int height) Line 1596   C++
    RBDoom3BFG.exe!idDxtEncoder::CompressNormalMapDXT5Fast(const unsigned char * inBuf, unsigned char * outBuf, int width, int height) Line 403 C++
    RBDoom3BFG.exe!idBinaryImage::Load2DFromMemory(int width, int height, const unsigned char * pic_const, int numLevels, textureFormat_t & textureFormat, textureColor_t & colorFormat, bool gammaMips) Line 174   C++
    RBDoom3BFG.exe!idImage::FinalizeImage(bool fromBackEnd, nvrhi::ICommandList * commandList) Line 657 C++
>   RBDoom3BFG.exe!idImageManager::LoadLevelImages(bool pacifier) Line 913  C++
    RBDoom3BFG.exe!idImageManager::EndLevelLoad() Line 937  C++
    RBDoom3BFG.exe!idRenderSystemLocal::EndLevelLoad() Line 2298    C++
    RBDoom3BFG.exe!idCommonLocal::ExecuteMapChange() Line 608   C++
    RBDoom3BFG.exe!idCommonLocal::Frame() Line 769  C++
    RBDoom3BFG.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 2052  C++
    [External Code]