Global Illumination - Video Driver Crash

Hi,

We have a scene composed of procedural content (meshes placed at run-time) along with a sky light and directional light for dynamic lighting. Scene also includes a sphere reflection capture.

When r.DistanceFieldGI=1 is added to the project’s ConsoleVariables.ini file, the instance crashes upon loading the main level.

The error:

Fatal error: [File:D:\Build\++UE4+Release-4.12+Compile\Sync\Engine\Source\Runtime\Windows\D3D11RHI\Private\D3D11Util.cpp] [Line: 176] 
Unreal Engine is exiting due to D3D device being lost. (Error: 0x887A0006 - 'HUNG')

UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:440]
UE4Editor_D3D11RHI!TerminateOnDeviceRemoved() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\windows\d3d11rhi\private\d3d11util.cpp:178]
UE4Editor_D3D11RHI!VerifyD3D11ShaderResult() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\windows\d3d11rhi\private\d3d11util.cpp:241]
UE4Editor_D3D11RHI!FD3D11DynamicRHI::RHICreateVertexShader() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\windows\d3d11rhi\private\d3d11shaders.cpp:50]
UE4Editor_RHI!FRHICommandListImmediate::CreateVertexShader() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\rhi\public\rhicommandlist.h:2367]
UE4Editor_ShaderCore!RHICreateVertexShader() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\rhi\public\rhicommandlist.h:3050]
UE4Editor_ShaderCore!FShaderResource::InitRHI() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\shadercore\private\shader.cpp:557]
UE4Editor_RenderCore!FRenderResource::InitResource() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\rendercore\private\renderresource.cpp:31]
UE4Editor_RenderCore!FRenderResource::InitResourceFromPossiblyParallelRendering() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\rendercore\private\renderresource.cpp:72]
UE4Editor_ShaderCore!FShaderResource::InitializeShaderRHI() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\shadercore\private\shader.cpp:629]
UE4Editor_ShaderCore!FShader::GetVertexShader() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\shadercore\public\shader.h:544]
UE4Editor_Renderer!FHitProxyDrawingPolicy::GetBoundShaderStateInput() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\renderer\private\scenehitproxyrendering.cpp:197]
UE4Editor_Renderer!FHitProxyDrawingPolicyFactory::DrawDynamicMesh() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\renderer\private\scenehitproxyrendering.cpp:312]
UE4Editor_Renderer!RenderHitProxies() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\renderer\private\scenehitproxyrendering.cpp:414]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::RenderHitProxies() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\renderer\private\scenehitproxyrendering.cpp:566]
UE4Editor_Renderer!RenderViewFamily_RenderThread() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\renderer\private\scenerendering.cpp:1924]
UE4Editor_Renderer!TGraphTask<`FRendererModule::BeginRenderingViewFamily'::`25'::EURCMacro_FDrawSceneCommand>::ExecuteTask() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\public\async\taskgraphinterfaces.h:999]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\async\taskgraph.cpp:932]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\async\taskgraph.cpp:679]
UE4Editor_RenderCore!RenderingThreadMain() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\rendercore\private\renderingthread.cpp:319]
UE4Editor_RenderCore!FRenderingThread::Run() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\rendercore\private\renderingthread.cpp:440]
UE4Editor_Core!FRunnableThreadWin::Run() [d:\build\++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:74]

**The log:**

[2016.07.15-18.08.04:033][918]LogD3D11RHI:Warning: FD3D11DynamicRHI::RHIMapStagingSurface failed (GetDeviceRemovedReason(): -2005270522)
[2016.07.15-18.08.04:046][918]LogD3D11RHI:Error: Direct3DDevice->CreateVertexShader( (void*)CodePtr, CodeSize, NULL, Shader->Resource.GetInitReference() ) failed trying to create shader WorldGridMaterial:VertexDensityShader.usf
 at D:\Build\++UE4+Release-4.12+Compile\Sync\Engine\Source\Runtime\Windows\D3D11RHI\Private\D3D11Shaders.cpp:47 
 with error DXGI_ERROR_DEVICE_REMOVED DXGI_ERROR_DEVICE_HUNG
[2016.07.15-18.08.04:047][918]LogWindows: Windows GetLastError: The operation completed successfully. (0)
[2016.07.15-18.08.05:900][918]LogCrashTracker: 

[2016.07.15-18.08.05:983][918]LogWindows: Windows GetLastError: The operation completed successfully. (0)
[2016.07.15-18.08.05:994][918]LogCrashTracker: 

[2016.07.15-18.08.05:994][918]LogWindows:Error: === Critical error: ===
Fatal error: [File:D:\Build\++UE4+Release-4.12+Compile\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp] [Line: 717] 
Rendering thread exception:
Fatal error: [File:D:\Build\++UE4+Release-4.12+Compile\Sync\Engine\Source\Runtime\Windows\D3D11RHI\Private\D3D11Util.cpp] [Line: 176] 
Unreal Engine is exiting due to D3D device being lost. (Error: 0x887A0006 - 'HUNG')

[2016.07.15-18.08.06:020][918]LogExit: Executing StaticShutdownAfterError
[2016.07.15-18.08.07:120][918]LogWindows: FPlatformMisc::RequestExit(1)

This crash occurs on both a NVidia GTX 980M, a NVidia GTX 980 and a Radeon R9 390 under the latest drivers.

Any help or fixes appreciated. Thanks.

Additional note: setting the shadow scalability setting to High resolves it. Setting it to Epic crashes.