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 251 forks source link

Crash in Delta Labs Sector 3 - HST Observation #774

Closed rg3 closed 1 year ago

rg3 commented 1 year ago

When approaching the bathroom door in front of the window that overlooks the bridge, the game crashes for me.

Platform: Linux GPU: Radeon RX 6700

If playing in windowed mode, I get the following message on the terminal:

Sys_Error: Volatile constant buffer ToneMappingConstants has maxVersions = 16, which is insufficient.
shutdown terminal support
Segmentation fault (core dumped)

If playing on fullscreen, I get the following message:

FATAL: recursed fatal error:
Volatile constant buffer ToneMappingConstants has maxVersions = 16, which is insufficient.
Cannot open a command list that is already open
shutdown terminal support
Segmentation fault (core dumped)

The crash happens both on Wayland and XWayland (SDL_VIDEODRIVER=x11).

rg3 commented 1 year ago

Forgot to paste patch. This fixes the issue for me, but I have no idea of what I'm doing. :smiley:

diff --git a/neo/renderer/Passes/TonemapPass.h b/neo/renderer/Passes/TonemapPass.h
index 793eec14..21e6930f 100644
--- a/neo/renderer/Passes/TonemapPass.h
+++ b/neo/renderer/Passes/TonemapPass.h
@@ -48,7 +48,7 @@ public:
    {
        bool isTextureArray = false;
        uint32_t histogramBins = 256;
-       uint32_t numConstantBufferVersions = 16;
+       uint32_t numConstantBufferVersions = 32;
        nvrhi::IBuffer* exposureBufferOverride = nullptr;
        idImage* colorLUT = nullptr;
    };
RobertBeckebans commented 1 year ago

I need to look deeper in the code why this is an issue at all but for now it is a good workaround.