Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::ShaderComputeQueue Class Reference

#include <ShaderComputeQueue.h>

Classes

struct  ShaderQueueElement
 

Public Member Functions

 ShaderComputeQueue ()
 
void idle ()
 
void process (ShaderQueueElement &element)
 
void addToQueueFront (const ShaderQueueElement &element)
 
void addToQueueBack (const ShaderQueueElement &element)
 
bool stepQueue ()
 

Private Member Functions

bool stepQueueLocked ()
 

Private Attributes

Time::ProfileTimer_queueComputeTimer
 
SharedMutex _queueLock
 
std::deque< ShaderQueueElement_shaderComputeQueue
 
std::atomic_uint _maxShaderLoadsInFlight {0u}
 

Detailed Description

Definition at line 47 of file ShaderComputeQueue.h.

Constructor & Destructor Documentation

◆ ShaderComputeQueue()

Divide::ShaderComputeQueue::ShaderComputeQueue ( )
explicit

Definition at line 11 of file ShaderComputeQueue.cpp.

Member Function Documentation

◆ addToQueueBack()

void Divide::ShaderComputeQueue::addToQueueBack ( const ShaderQueueElement element)

Definition at line 81 of file ShaderComputeQueue.cpp.

◆ addToQueueFront()

void Divide::ShaderComputeQueue::addToQueueFront ( const ShaderQueueElement element)

Definition at line 75 of file ShaderComputeQueue.cpp.

◆ idle()

void Divide::ShaderComputeQueue::idle ( )

Definition at line 16 of file ShaderComputeQueue.cpp.

◆ process()

void Divide::ShaderComputeQueue::process ( ShaderQueueElement element)

Definition at line 36 of file ShaderComputeQueue.cpp.

◆ stepQueue()

bool Divide::ShaderComputeQueue::stepQueue ( )

Definition at line 45 of file ShaderComputeQueue.cpp.

◆ stepQueueLocked()

bool Divide::ShaderComputeQueue::stepQueueLocked ( )
private

Definition at line 51 of file ShaderComputeQueue.cpp.

Member Data Documentation

◆ _maxShaderLoadsInFlight

std::atomic_uint Divide::ShaderComputeQueue::_maxShaderLoadsInFlight {0u}
private

Definition at line 80 of file ShaderComputeQueue.h.

◆ _queueComputeTimer

Time::ProfileTimer& Divide::ShaderComputeQueue::_queueComputeTimer
private

Definition at line 76 of file ShaderComputeQueue.h.

◆ _queueLock

SharedMutex Divide::ShaderComputeQueue::_queueLock
private

Definition at line 78 of file ShaderComputeQueue.h.

◆ _shaderComputeQueue

std::deque<ShaderQueueElement> Divide::ShaderComputeQueue::_shaderComputeQueue
private

Definition at line 79 of file ShaderComputeQueue.h.


The documentation for this class was generated from the following files: