|
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 |