diff --git a/Source/Engine/Renderer/ContrastAdaptiveSharpeningPass.cpp b/Source/Engine/Renderer/ContrastAdaptiveSharpeningPass.cpp index 2d93d525d..0e5e24dd1 100644 --- a/Source/Engine/Renderer/ContrastAdaptiveSharpeningPass.cpp +++ b/Source/Engine/Renderer/ContrastAdaptiveSharpeningPass.cpp @@ -35,16 +35,17 @@ void ContrastAdaptiveSharpeningPass::Dispose() bool ContrastAdaptiveSharpeningPass::setupResources() { // Lazy-load shader - if (!_shader) + if (_lazyInit && !_shader) { + _lazyInit = false; _shader = Content::LoadAsyncInternal(TEXT("Shaders/CAS")); if (!_shader) - return false; + return true; #if COMPILE_WITH_DEV_ENV _shader.Get()->OnReloading.Bind(this); #endif } - if (!_shader->IsLoaded()) + if (!_shader || !_shader->IsLoaded()) return true; const auto shader = _shader->GetShader(); diff --git a/Source/Engine/Renderer/ContrastAdaptiveSharpeningPass.h b/Source/Engine/Renderer/ContrastAdaptiveSharpeningPass.h index d98f7fa3c..ba317c01d 100644 --- a/Source/Engine/Renderer/ContrastAdaptiveSharpeningPass.h +++ b/Source/Engine/Renderer/ContrastAdaptiveSharpeningPass.h @@ -13,6 +13,7 @@ class ContrastAdaptiveSharpeningPass : public RendererPass _shader; GPUPipelineState* _psCAS = nullptr; + bool _lazyInit = true; public: bool CanRender(const RenderContext& renderContext);