Nameless Engine
Loading...
Searching...
No Matches
ne::QueuedForExecutionComputeShaders Struct Reference

#include <PipelineManager.h>

Public Attributes

std::array< std::array< std::unordered_map< Pipeline *, std::unordered_set< ComputeShaderInterface * > >, static_cast< size_t >(ComputeExecutionGroup::SIZE)>, static_cast< size_t >(ComputeExecutionStage::SIZE)> vGraphicsQueueStagesGroups
 

Detailed Description

Groups pointers to compute shader interfaces that were queued for execution and pipelines that they use.

Remarks
Only references compute shaders that use graphics queue to provide a fast access for the renderer to submit those shaders (the renderer does not submit compute shaders that use compute queue - they are submitted from compute shader interfaces directly).

Member Data Documentation

◆ vGraphicsQueueStagesGroups

std::array< std::array< std::unordered_map<Pipeline*, std::unordered_set<ComputeShaderInterface*> >, static_cast<size_t>(ComputeExecutionGroup::SIZE)>, static_cast<size_t>(ComputeExecutionStage::SIZE)> ne::QueuedForExecutionComputeShaders::vGraphicsQueueStagesGroups

Stores compute pipelines and compute shader interfaces that use these pipelines (one map per compute execution group).

Remarks
When the renderer submits all compute shaders from this map it clears it.
Using unordered_set to avoid executing a compute shader multiple times.

The documentation for this struct was generated from the following file: