Node capabilities and compiler hints.
More...
#include <ParticleGraph.h>
|
| enum | Enum : StorageType {
None = 0U
, HasSideEffects = XII_BIT(0)
, ReadsNeighborGrid = XII_BIT(1)
, WritesNeighborGrid = XII_BIT(2)
,
EmitsEvents = XII_BIT(3)
, ConsumesEvents = XII_BIT(4)
, SupportsAsyncCompute = XII_BIT(5)
, RequiresDeterminism = XII_BIT(6)
,
SupportsMolecularDomain = XII_BIT(7)
, ToolOnly = XII_BIT(8)
, Default = SupportsAsyncCompute
} |
|
using | StorageType = xiiUInt16 |
Node capabilities and compiler hints.
◆ Enum
| Enumerator |
|---|
| None | No special capabilities or requirements.
|
| HasSideEffects | Node performs side effects such as writing to global buffers, emitting events, or interfacing with engine systems. Nodes without this flag can be safely reordered or culled if their outputs are unused.
|
| ReadsNeighborGrid | Node reads from the neighbor grid, which may require special handling for data dependencies and scheduling. Nodes with this flag may need to be scheduled after the neighbor grid is built and before any nodes that write to it.
|
| WritesNeighborGrid | Node writes to the neighbor grid, which may require special handling for data dependencies and scheduling. Nodes with this flag may need to be scheduled before any nodes that read from the neighbor grid.
|
| EmitsEvents | Node emits events that can be consumed by other nodes or the game engine. This may require special handling for event queues and scheduling to ensure correct ordering and visibility of events.
|
| ConsumesEvents | Node consumes events emitted by other nodes or the game engine. This may require special handling for event queues and scheduling to ensure correct ordering and visibility of events.
|
| SupportsAsyncCompute | Node can be scheduled on an async compute queue, which may allow for better performance by overlapping with graphics work. Nodes without this flag may need to be scheduled on the main compute queue to ensure correct ordering with rendering.
|
| RequiresDeterminism | Node requires deterministic execution order and results, which may restrict certain optimizations or scheduling strategies. Nodes with this flag may need to be scheduled in a fixed order and may not be eligible for certain parallelization techniques.
|
| SupportsMolecularDomain | Node can operate in a molecular dynamics domain, which may have special requirements for data layout, precision, or scheduling. Nodes without this flag may need to be scheduled in a separate phase or with different resource bindings when operating in a molecular domain.
|
| ToolOnly | Node is only used for editor tooling and should be stripped from runtime builds. This may require special handling in the editor to allow usage of these nodes, while ensuring they are not included in runtime graphs.
|
The documentation for this struct was generated from the following file:
- /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Particles/ParticleGraph.h