|
| plGALCommandEncoder (plGALDevice &ref_device, plGALCommandEncoderCommonPlatformInterface &ref_commonImpl) |
|
void | SetShader (plGALShaderHandle hShader) |
|
void | SetConstantBuffer (const plShaderResourceBinding &binding, plGALBufferHandle hBuffer) |
|
void | SetSamplerState (const plShaderResourceBinding &binding, plGALSamplerStateHandle hSamplerState) |
|
void | SetResourceView (const plShaderResourceBinding &binding, plGALTextureResourceViewHandle hResourceView) |
|
void | SetResourceView (const plShaderResourceBinding &binding, plGALBufferResourceViewHandle hResourceView) |
|
void | SetUnorderedAccessView (const plShaderResourceBinding &binding, plGALTextureUnorderedAccessViewHandle hUnorderedAccessView) |
|
void | SetUnorderedAccessView (const plShaderResourceBinding &binding, plGALBufferUnorderedAccessViewHandle hUnorderedAccessView) |
|
void | SetPushConstants (plArrayPtr< const plUInt8 > data) |
|
plGALTimestampHandle | InsertTimestamp () |
|
plGALOcclusionHandle | BeginOcclusionQuery (plEnum< plGALQueryType > type) |
| Starts an occlusion query. This function must be called within a render scope and EndOcclusionQuery must be called within the same scope. Only one occlusion query can be active at any given time.
|
|
void | EndOcclusionQuery (plGALOcclusionHandle hOcclusion) |
| Ends an occlusion query. The given handle must afterwards be passed into the plGALDevice::GetOcclusionQueryResult function, which needs to be repeated every frame until results are ready.
|
|
plGALFenceHandle | InsertFence () |
|
void | ClearUnorderedAccessView (plGALTextureUnorderedAccessViewHandle hUnorderedAccessView, plVec4 vClearValues) |
| Clears an unordered access view with a float value.
|
|
void | ClearUnorderedAccessView (plGALBufferUnorderedAccessViewHandle hUnorderedAccessView, plVec4 vClearValues) |
|
void | ClearUnorderedAccessView (plGALTextureUnorderedAccessViewHandle hUnorderedAccessView, plVec4U32 vClearValues) |
| Clears an unordered access view with an int value.
|
|
void | ClearUnorderedAccessView (plGALBufferUnorderedAccessViewHandle hUnorderedAccessView, plVec4U32 vClearValues) |
|
void | CopyBuffer (plGALBufferHandle hDest, plGALBufferHandle hSource) |
|
void | CopyBufferRegion (plGALBufferHandle hDest, plUInt32 uiDestOffset, plGALBufferHandle hSource, plUInt32 uiSourceOffset, plUInt32 uiByteCount) |
|
void | UpdateBuffer (plGALBufferHandle hDest, plUInt32 uiDestOffset, plArrayPtr< const plUInt8 > sourceData, plGALUpdateMode::Enum updateMode=plGALUpdateMode::Discard) |
|
void | CopyTexture (plGALTextureHandle hDest, plGALTextureHandle hSource) |
|
void | CopyTextureRegion (plGALTextureHandle hDest, const plGALTextureSubresource &destinationSubResource, const plVec3U32 &vDestinationPoint, plGALTextureHandle hSource, const plGALTextureSubresource &sourceSubResource, const plBoundingBoxu32 &box) |
|
void | UpdateTexture (plGALTextureHandle hDest, const plGALTextureSubresource &destinationSubResource, const plBoundingBoxu32 &destinationBox, const plGALSystemMemoryDescription &sourceData) |
|
void | ResolveTexture (plGALTextureHandle hDest, const plGALTextureSubresource &destinationSubResource, plGALTextureHandle hSource, const plGALTextureSubresource &sourceSubResource) |
|
void | ReadbackTexture (plGALTextureHandle hTexture) |
|
void | CopyTextureReadbackResult (plGALTextureHandle hTexture, plArrayPtr< plGALTextureSubresource > sourceSubResource, plArrayPtr< plGALSystemMemoryDescription > targetData) |
|
void | GenerateMipMaps (plGALTextureResourceViewHandle hResourceView) |
|
void | Flush () |
| Submits all pending work to the GPU. Call this if you want to wait for a fence or some other kind of GPU synchronization to take place to ensure the work is actually submitted to the GPU.
|
|
void | PushMarker (const char *szMarker) |
|
void | PopMarker () |
|
void | InsertEventMarker (const char *szMarker) |
|
void | BeginCompute (const char *szName="") |
|
void | EndCompute () |
|
plResult | Dispatch (plUInt32 uiThreadGroupCountX, plUInt32 uiThreadGroupCountY, plUInt32 uiThreadGroupCountZ) |
|
plResult | DispatchIndirect (plGALBufferHandle hIndirectArgumentBuffer, plUInt32 uiArgumentOffsetInBytes) |
|
void | BeginRendering (const plGALRenderingSetup &renderingSetup, const char *szName="") |
|
void | EndRendering () |
|
void | Clear (const plColor &clearColor, plUInt32 uiRenderTargetClearMask=0xFFFFFFFFu, bool bClearDepth=true, bool bClearStencil=true, float fDepthClear=1.0f, plUInt8 uiStencilClear=0x0u) |
| Clears active rendertargets.
|
|
plResult | Draw (plUInt32 uiVertexCount, plUInt32 uiStartVertex) |
|
plResult | DrawIndexed (plUInt32 uiIndexCount, plUInt32 uiStartIndex) |
|
plResult | DrawIndexedInstanced (plUInt32 uiIndexCountPerInstance, plUInt32 uiInstanceCount, plUInt32 uiStartIndex) |
|
plResult | DrawIndexedInstancedIndirect (plGALBufferHandle hIndirectArgumentBuffer, plUInt32 uiArgumentOffsetInBytes) |
|
plResult | DrawInstanced (plUInt32 uiVertexCountPerInstance, plUInt32 uiInstanceCount, plUInt32 uiStartVertex) |
|
plResult | DrawInstancedIndirect (plGALBufferHandle hIndirectArgumentBuffer, plUInt32 uiArgumentOffsetInBytes) |
|
void | SetIndexBuffer (plGALBufferHandle hIndexBuffer) |
|
void | SetVertexBuffer (plUInt32 uiSlot, plGALBufferHandle hVertexBuffer) |
|
void | SetVertexDeclaration (plGALVertexDeclarationHandle hVertexDeclaration) |
|
plGALPrimitiveTopology::Enum | GetPrimitiveTopology () const |
|
void | SetPrimitiveTopology (plGALPrimitiveTopology::Enum topology) |
|
void | SetBlendState (plGALBlendStateHandle hBlendState, const plColor &blendFactor=plColor::White, plUInt32 uiSampleMask=0xFFFFFFFFu) |
|
void | SetDepthStencilState (plGALDepthStencilStateHandle hDepthStencilState, plUInt8 uiStencilRefValue=0xFFu) |
|
void | SetRasterizerState (plGALRasterizerStateHandle hRasterizerState) |
|
void | SetViewport (const plRectFloat &rect, float fMinDepth=0.0f, float fMaxDepth=1.0f) |
|
void | SetScissorRect (const plRectU32 &rect) |
|
PL_ALWAYS_INLINE plGALDevice & | GetDevice () |
|
void | InvalidateState () |
|