Nebula
|
#include <drawthread.h>
A CoreGraphics thread meant to only record draw commands to command buffers.
Inherits Thread.
Inherited by Vulkan::VkCommandBufferThread.
Classes | |
struct | Command |
struct | CommandBuffer |
struct | SyncCommand |
Public Types | |
enum | CommandType { BeginCommand , ResetCommand , EndCommand , GraphicsPipeline , ComputePipeline , InputAssemblyVertex , InputAssemblyIndex , Draw , IndirectDraw , IndirectIndexedDraw , Dispatch , BindDescriptors , PushRange , Viewport , ViewportArray , ScissorRect , ScissorRectArray , StencilRefs , StencilReadMask , StencilWriteMask , UpdateBuffer , SetEvent , ResetEvent , WaitForEvent , Barrier , Sync , Timestamp , BeginQuery , EndQuery , BeginMarker , EndMarker , InsertMarker } |
Public Member Functions | |
DrawThread () | |
constructor | |
void | EmitWakeupSignal () override |
called if thread needs a wakeup call before stopping | |
template<typename T > | |
void | Push (const T &command) |
push command to thread | |
void | Flush () |
flush commands | |
void | Signal (Threading::Event *event) |
submit sync call | |
Protected Attributes | |
Threading::CriticalSection | lock |
Threading::Event | signalEvent |
Util::Array< Command > | commands |
CommandBuffer | commandBuffer |
Threading::Event * | event |
CoreGraphics::DrawThread::DrawThread | ( | ) |
constructor
|
override |
called if thread needs a wakeup call before stopping
void CoreGraphics::DrawThread::Flush | ( | ) |
flush commands
|
inline |
push command to thread
void CoreGraphics::DrawThread::Signal | ( | Threading::Event * | event | ) |
submit sync call
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |