Description

Switching over to GPUCompute with Skeletal mesh surface sampling will crash in Vulkan. This does not occur with CPU sims or in D3D. When testing with D3D I would get the same Niagara compile warnings as with Vulkan, but would not crash (See attached log: R423MeshSurface.log). 

Steps to Reproduce
  1. Open the editor with -vulkan
  2. Create a Niagara emitter based on the Fountain template
  3. Disable the set velocity and gravitational force modules
  4. Add a Skeletal Mesh Surface Location module in Particle Spawn
  5. Fix errors where necessary and set the mesh to SK_Mannequin
  6. Compile and save the emitter
  7. Change to a GPUCompute sim

RESULT

After auto-recompiling Niagara will crash 

Callstack

VkLayer_khronos_validation
VkLayer_khronos_validation
VkLayer_khronos_validation
vulkan_1
UE4Editor_VulkanRHI!FVulkanComputePipelineDescriptorState::InternalUpdateDescriptorSets<1>() [e:\_release4.23\engine\source\runtime\vulkanrhi\private\vulkanpipelinestate.cpp:195]
UE4Editor_VulkanRHI!FVulkanPendingComputeState::PrepareForDispatch() [e:\_release4.23\engine\source\runtime\vulkanrhi\private\vulkanpendingstate.cpp:386]
UE4Editor_VulkanRHI!FVulkanCommandListContext::RHIDispatchComputeShader() [e:\_release4.23\engine\source\runtime\vulkanrhi\private\vulkancommands.cpp:106]
UE4Editor_RHI!FRHICommandListExecutor::ExecuteInner_DoExecute() [e:\_release4.23\engine\source\runtime\rhi\private\rhicommandlist.cpp:328]
UE4Editor_RHI!FExecuteRHIThreadTask::DoTask() [e:\_release4.23\engine\source\runtime\rhi\private\rhicommandlist.cpp:387]
UE4Editor_RHI!TGraphTask<FExecuteRHIThreadTask>::ExecuteTask() [e:\_release4.23\engine\source\runtime\core\public\async\taskgraphinterfaces.h:847]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [e:\_release4.23\engine\source\runtime\core\private\async\taskgraph.cpp:686]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [e:\_release4.23\engine\source\runtime\core\private\async\taskgraph.cpp:583]
UE4Editor_RenderCore!FRHIThread::Run() [e:\_release4.23\engine\source\runtime\rendercore\private\renderingthread.cpp:289]
UE4Editor_Core!FRunnableThreadWin::Run() [e:\_release4.23\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:96]

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-80496 in the post.

2
Login to Vote

Fixed
ComponentRendering - Niagara
Affects Versions4.23
Target Fix4.24
Fix Commit9756320
Main Commit9756418
Release Commit9756320
CreatedSep 17, 2019
ResolvedOct 23, 2019
UpdatedFeb 28, 2020