From ffd5c8fd53df37e0bfd051197636ab2a933ad43f Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Sat, 18 Feb 2023 00:09:30 +0100 Subject: [PATCH] Fix crash on D3D10 --- Source/Engine/Renderer/Renderer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/Engine/Renderer/Renderer.cpp b/Source/Engine/Renderer/Renderer.cpp index 584ab6b45..edac958bc 100644 --- a/Source/Engine/Renderer/Renderer.cpp +++ b/Source/Engine/Renderer/Renderer.cpp @@ -406,7 +406,10 @@ void RenderInner(SceneRenderTask* task, RenderContext& renderContext, RenderCont // Get the light accumulation buffer auto outputFormat = renderContext.Buffers->GetOutputFormat(); - auto tempDesc = GPUTextureDescription::New2D(renderContext.Buffers->GetWidth(), renderContext.Buffers->GetHeight(), outputFormat, GPUTextureFlags::ShaderResource | GPUTextureFlags::RenderTarget | GPUTextureFlags::UnorderedAccess); + auto tempFlags = GPUTextureFlags::ShaderResource | GPUTextureFlags::RenderTarget; + if (GPUDevice::Instance->Limits.HasCompute) + tempFlags |= GPUTextureFlags::UnorderedAccess; + auto tempDesc = GPUTextureDescription::New2D(renderContext.Buffers->GetWidth(), renderContext.Buffers->GetHeight(), outputFormat, tempFlags); auto lightBuffer = RenderTargetPool::Get(tempDesc); RENDER_TARGET_POOL_SET_NAME(lightBuffer, "LightBuffer");