/Engine/Source/Runtime/Engine/Public/GPUSortManager.h
Defines the order in which sort batches are processed every frame. KeyGenAfterPreRenderAndSortAfterPostRenderOpaque is the most complex case since the KeyGen is called after PreRendeR() while the sort only happens after PostRenderOpaque(). This creates a situation where theFParticleSortBuffersneed to be keep bound to the batch and can not be reused by other batches with this processing order. Note also that KeyGenAfterPreRenderAndSortAfterPostRenderOpaque could include KeyGen after PostRenderOpaque().
enum ESortBatchProcessingOrder { Undefined = 0, KeyGenAndSortAfterPreRender = 1, KeyGenAfterPreRenderAndSortAfterPostRenderOpaque = 2, KeyGenAndSortAfterPostRenderOpaque = 3, }