From c24f644a61c9042987dc2614eea4e9dd55159428 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 11 Aug 2021 08:08:29 +0200 Subject: [PATCH] - do not perform shadowmap updates when dynamic lights are disabled. --- src/common/rendering/hwrenderer/data/hw_shadowmap.cpp | 3 ++- src/rendering/hwrenderer/hw_entrypoint.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/common/rendering/hwrenderer/data/hw_shadowmap.cpp b/src/common/rendering/hwrenderer/data/hw_shadowmap.cpp index cb5630594a..bca545b3b9 100644 --- a/src/common/rendering/hwrenderer/data/hw_shadowmap.cpp +++ b/src/common/rendering/hwrenderer/data/hw_shadowmap.cpp @@ -25,6 +25,7 @@ #include "hw_dynlightdata.h" #include "buffers.h" #include "shaderuniforms.h" +#include "g_cvars.h" #include "hwrenderer/postprocessing/hw_postprocess.h" /* @@ -98,7 +99,7 @@ bool IShadowMap::PerformUpdate() LightsProcessed = 0; LightsShadowmapped = 0; - if (gl_light_shadowmap && (screen->hwcaps & RFL_SHADER_STORAGE_BUFFER) && CollectLights != nullptr) + if (gl_lights && gl_light_shadowmap && (screen->hwcaps & RFL_SHADER_STORAGE_BUFFER) && CollectLights != nullptr) { UpdateCycles.Clock(); UploadAABBTree(); diff --git a/src/rendering/hwrenderer/hw_entrypoint.cpp b/src/rendering/hwrenderer/hw_entrypoint.cpp index 1845f051c5..76baf862a9 100644 --- a/src/rendering/hwrenderer/hw_entrypoint.cpp +++ b/src/rendering/hwrenderer/hw_entrypoint.cpp @@ -40,6 +40,7 @@ #include "flatvertices.h" #include "v_palette.h" #include "d_main.h" +#include "g_cvars.h" #include "hw_lightbuffer.h" #include "hw_cvars.h" @@ -107,7 +108,7 @@ sector_t* RenderViewpoint(FRenderViewpoint& mainvp, AActor* camera, IntRect* bou R_SetupFrame(mainvp, r_viewwindow, camera); - if (mainview && toscreen && !(camera->Level->flags3 & LEVEL3_NOSHADOWMAP) && gl_light_shadowmap && (screen->hwcaps & RFL_SHADER_STORAGE_BUFFER)) + if (mainview && toscreen && !(camera->Level->flags3 & LEVEL3_NOSHADOWMAP) && gl_lights && gl_light_shadowmap && (screen->hwcaps & RFL_SHADER_STORAGE_BUFFER)) { screen->SetAABBTree(camera->Level->aabbTree); screen->mShadowMap.SetCollectLights([=] {