53 plGALFenceHandle InsertFence();
88 void PushMarker(
const char* szMarker);
90 void InsertEventMarker(
const char* szMarker);
94 void BeginCompute(
const char* szName =
"");
97 plResult Dispatch(plUInt32 uiThreadGroupCountX, plUInt32 uiThreadGroupCountY, plUInt32 uiThreadGroupCountZ);
109 void Clear(
const plColor& clearColor, plUInt32 uiRenderTargetClearMask = 0xFFFFFFFFu,
bool bClearDepth =
true,
bool bClearStencil =
true,
float fDepthClear = 1.0f, plUInt8 uiStencilClear = 0x0u);
111 plResult Draw(plUInt32 uiVertexCount, plUInt32 uiStartVertex);
112 plResult DrawIndexed(plUInt32 uiIndexCount, plUInt32 uiStartIndex);
113 plResult DrawIndexedInstanced(plUInt32 uiIndexCountPerInstance, plUInt32 uiInstanceCount, plUInt32 uiStartIndex);
115 plResult DrawInstanced(plUInt32 uiVertexCountPerInstance, plUInt32 uiInstanceCount, plUInt32 uiStartVertex);
124 plGALPrimitiveTopology::Enum GetPrimitiveTopology()
const {
return m_State.m_Topology; }
125 void SetPrimitiveTopology(plGALPrimitiveTopology::Enum topology);
131 void SetViewport(
const plRectFloat& rect,
float fMinDepth = 0.0f,
float fMaxDepth = 1.0f);
132 void SetScissorRect(
const plRectU32& rect);
136 PL_ALWAYS_INLINE
plGALDevice& GetDevice() {
return m_Device; }
138 void InvalidateState();
143 void AssertRenderingThread()
149 void ClearStatisticsCounters();
150 void CountDispatchCall() { m_uiDispatchCalls++; }
151 void CountDrawCall() { m_uiDrawCalls++; }
157 plUInt32 m_uiDispatchCalls = 0;
158 plUInt32 m_uiDrawCalls = 0;
160 enum class CommandEncoderType
167 CommandEncoderType m_CurrentCommandEncoderType = CommandEncoderType::Invalid;
168 bool m_bMarker =
false;
Definition RendererFoundationDLL.h:411
Definition RendererFoundationDLL.h:425
Definition RendererFoundationDLL.h:439
static bool IsMainThread()
Helper function to check if the current thread is the main thread (e.g. the thread which initialized ...
Definition ThreadUtils_Posix.h:47
Definition RendererFoundationDLL.h:359