Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::DeviceContextWebGPUImpl Class Referencefinal

Device context implementation in WebGPU backend. More...

#include <DeviceContextWebGPUImpl.hpp>

Inheritance diagram for Diligent::DeviceContextWebGPUImpl:
Diligent::DeviceContextBase< EngineWebGPUImplTraits > Diligent::ObjectBase< EngineWebGPUImplTraits::DeviceContextInterface > Diligent::RefCountedObject< EngineWebGPUImplTraits::DeviceContextInterface > Diligent::IDeviceContextWebGPU Diligent.IDeviceContext Diligent.IObject

Public Member Functions

void DILIGENT_CALL_TYPE Begin (Uint32 ImmediateContextId) override final
 Implementation of IDeviceContext::Begin() in WebGPU backend.
 
void DILIGENT_CALL_TYPE SetPipelineState (IPipelineState *pPipelineState) override final
 Implementation of IDeviceContext::SetPipelineState() in WebGPU backend.
 
void DILIGENT_CALL_TYPE TransitionShaderResources (IShaderResourceBinding *pShaderResourceBinding) override final
 Implementation of IDeviceContext::TransitionShaderResources() in WebGPU backend.
 
void DILIGENT_CALL_TYPE CommitShaderResources (IShaderResourceBinding *pShaderResourceBinding, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
 Implementation of IDeviceContext::CommitShaderResources() in WebGPU backend.
 
void DILIGENT_CALL_TYPE SetStencilRef (Uint32 StencilRef) override final
 Implementation of IDeviceContext::SetStencilRef() in WebGPU backend.
 
void DILIGENT_CALL_TYPE SetBlendFactors (const float *pBlendFactors=nullptr) override final
 Implementation of IDeviceContext::SetBlendFactors() in WebGPU backend.
 
void DILIGENT_CALL_TYPE SetVertexBuffers (Uint32 StartSlot, Uint32 NumBuffersSet, IBuffer *const *ppBuffers, const Uint64 *pOffsets, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode, SET_VERTEX_BUFFERS_FLAGS Flags) override final
 Implementation of IDeviceContext::SetVertexBuffers() in WebGPU backend.
 
void DILIGENT_CALL_TYPE InvalidateState () override final
 Implementation of IDeviceContext::InvalidateState() in WebGPU backend.
 
void DILIGENT_CALL_TYPE SetIndexBuffer (IBuffer *pIndexBuffer, Uint64 ByteOffset, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
 Implementation of IDeviceContext::SetIndexBuffer() in WebGPU backend.
 
void DILIGENT_CALL_TYPE SetViewports (Uint32 NumViewports, const Viewport *pViewports, Uint32 RTWidth, Uint32 RTHeight) override final
 Implementation of IDeviceContext::SetViewports() in WebGPU backend.
 
void DILIGENT_CALL_TYPE SetScissorRects (Uint32 NumRects, const Rect *pRects, Uint32 RTWidth, Uint32 RTHeight) override final
 Implementation of IDeviceContext::SetScissorRects() in WebGPU backend.
 
void DILIGENT_CALL_TYPE SetRenderTargetsExt (const SetRenderTargetsAttribs &Attribs) override final
 Implementation of IDeviceContext::SetRenderTargetsExt() in WebGPU backend.
 
void DILIGENT_CALL_TYPE BeginRenderPass (const BeginRenderPassAttribs &Attribs) override final
 Implementation of IDeviceContext::BeginRenderPass() in WebGPU backend.
 
void DILIGENT_CALL_TYPE NextSubpass () override final
 Implementation of IDeviceContext::NextSubpass() in WebGPU backend.
 
void DILIGENT_CALL_TYPE EndRenderPass () override final
 Implementation of IDeviceContext::EndRenderPass() in WebGPU backend.
 
void DILIGENT_CALL_TYPE Draw (const DrawAttribs &Attribs) override final
 Implementation of IDeviceContext::Draw() in WebGPU backend.
 
void DILIGENT_CALL_TYPE DrawIndexed (const DrawIndexedAttribs &Attribs) override final
 Implementation of IDeviceContext::DrawIndexed() in WebGPU backend.
 
void DILIGENT_CALL_TYPE DrawIndirect (const DrawIndirectAttribs &Attribs) override final
 Implementation of IDeviceContext::DrawIndirect() in WebGPU backend.
 
void DILIGENT_CALL_TYPE DrawIndexedIndirect (const DrawIndexedIndirectAttribs &Attribs) override final
 Implementation of IDeviceContext::DrawIndexedIndirect() in WebGPU backend.
 
void DILIGENT_CALL_TYPE DrawMesh (const DrawMeshAttribs &Attribs) override final
 Implementation of IDeviceContext::DrawMesh() in WebGPU backend.
 
void DILIGENT_CALL_TYPE DrawMeshIndirect (const DrawMeshIndirectAttribs &Attribs) override final
 Implementation of IDeviceContext::DrawMeshIndirect() in WebGPU backend.
 
void DILIGENT_CALL_TYPE MultiDraw (const MultiDrawAttribs &Attribs) override final
 Implementation of IDeviceContext::MultiDraw() in WebGPU backend.
 
void DILIGENT_CALL_TYPE MultiDrawIndexed (const MultiDrawIndexedAttribs &Attribs) override final
 Implementation of IDeviceContext::MultiDrawIndexed() in WebGPU backend.
 
void DILIGENT_CALL_TYPE DispatchCompute (const DispatchComputeAttribs &Attribs) override final
 Implementation of IDeviceContext::DispatchCompute() in WebGPU backend.
 
void DILIGENT_CALL_TYPE DispatchComputeIndirect (const DispatchComputeIndirectAttribs &Attribs) override final
 Implementation of IDeviceContext::DispatchComputeIndirect() in WebGPU backend.
 
void DILIGENT_CALL_TYPE ClearDepthStencil (ITextureView *pView, CLEAR_DEPTH_STENCIL_FLAGS ClearFlags, float fDepth, Uint8 Stencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
 Implementation of IDeviceContext::ClearDepthStencil() in WebGPU backend.
 
void DILIGENT_CALL_TYPE ClearRenderTarget (ITextureView *pView, const void *RGBA, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
 Implementation of IDeviceContext::ClearRenderTarget() in WebGPU backend.
 
void DILIGENT_CALL_TYPE UpdateBuffer (IBuffer *pBuffer, Uint64 Offset, Uint64 Size, const void *pData, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
 Implementation of IDeviceContext::UpdateBuffer() in WebGPU backend.
 
void DILIGENT_CALL_TYPE CopyBuffer (IBuffer *pSrcBuffer, Uint64 SrcOffset, RESOURCE_STATE_TRANSITION_MODE SrcBufferTransitionMode, IBuffer *pDstBuffer, Uint64 DstOffset, Uint64 Size, RESOURCE_STATE_TRANSITION_MODE DstBufferTransitionMode) override final
 Implementation of IDeviceContext::CopyBuffer() in WebGPU backend.
 
void DILIGENT_CALL_TYPE MapBuffer (IBuffer *pBuffer, MAP_TYPE MapType, MAP_FLAGS MapFlags, PVoid &pMappedData) override final
 Implementation of IDeviceContext::MapBuffer() in WebGPU backend.
 
void DILIGENT_CALL_TYPE UnmapBuffer (IBuffer *pBuffer, MAP_TYPE MapType) override final
 Implementation of IDeviceContext::UnmapBuffer() in WebGPU backend.
 
void DILIGENT_CALL_TYPE UpdateTexture (ITexture *pTexture, Uint32 MipLevel, Uint32 Slice, const Box &DstBox, const TextureSubResData &SubresData, RESOURCE_STATE_TRANSITION_MODE SrcBufferStateTransitionMode, RESOURCE_STATE_TRANSITION_MODE TextureStateTransitionMode) override final
 Implementation of IDeviceContext::UpdateTexture() in WebGPU backend.
 
void DILIGENT_CALL_TYPE CopyTexture (const CopyTextureAttribs &CopyAttribs) override final
 Implementation of IDeviceContext::CopyTexture() in WebGPU backend.
 
void DILIGENT_CALL_TYPE MapTextureSubresource (ITexture *pTexture, Uint32 MipLevel, Uint32 ArraySlice, MAP_TYPE MapType, MAP_FLAGS MapFlags, const Box *pMapRegion, MappedTextureSubresource &MappedData) override final
 Implementation of IDeviceContext::MapTextureSubresource() in WebGPU backend.
 
void DILIGENT_CALL_TYPE UnmapTextureSubresource (ITexture *pTexture, Uint32 MipLevel, Uint32 ArraySlice) override final
 Implementation of IDeviceContext::UnmapTextureSubresource() in WebGPU backend.
 
void DILIGENT_CALL_TYPE FinishCommandList (ICommandList **ppCommandList) override final
 Implementation of IDeviceContext::FinishCommandList() in WebGPU backend.
 
void DILIGENT_CALL_TYPE ExecuteCommandLists (Uint32 NumCommandLists, ICommandList *const *ppCommandLists) override final
 Implementation of IDeviceContext::ExecuteCommandLists() in WebGPU backend.
 
void DILIGENT_CALL_TYPE EnqueueSignal (IFence *pFence, Uint64 Value) override final
 Implementation of IDeviceContext::EnqueueSignal() in WebGPU backend.
 
void DILIGENT_CALL_TYPE DeviceWaitForFence (IFence *pFence, Uint64 Value) override final
 Implementation of IDeviceContext::DeviceWaitForFence() in WebGPU backend.
 
void DILIGENT_CALL_TYPE WaitForIdle () override final
 Implementation of IDeviceContext::WaitForIdle() in WebGPU backend.
 
void DILIGENT_CALL_TYPE BeginQuery (IQuery *pQuery) override final
 Implementation of IDeviceContext::BeginQuery() in WebGPU backend.
 
void DILIGENT_CALL_TYPE EndQuery (IQuery *pQuery) override final
 Implementation of IDeviceContext::EndQuery() in WebGPU backend.
 
void DILIGENT_CALL_TYPE Flush () override final
 Implementation of IDeviceContext::Flush() in WebGPU backend.
 
void DILIGENT_CALL_TYPE BuildBLAS (const BuildBLASAttribs &Attribs) override final
 Implementation of IDeviceContext::BuildBLAS() in WebGPU backend.
 
void DILIGENT_CALL_TYPE BuildTLAS (const BuildTLASAttribs &Attribs) override final
 Implementation of IDeviceContext::BuildTLAS() in WebGPU backend.
 
void DILIGENT_CALL_TYPE CopyBLAS (const CopyBLASAttribs &Attribs) override final
 Implementation of IDeviceContext::CopyBLAS() in WebGPU backend.
 
void DILIGENT_CALL_TYPE CopyTLAS (const CopyTLASAttribs &Attribs) override final
 Implementation of IDeviceContext::CopyTLAS() in WebGPU backend.
 
void DILIGENT_CALL_TYPE WriteBLASCompactedSize (const WriteBLASCompactedSizeAttribs &Attribs) override final
 Implementation of IDeviceContext::WriteBLASCompactedSize() in WebGPU backend.
 
void DILIGENT_CALL_TYPE WriteTLASCompactedSize (const WriteTLASCompactedSizeAttribs &Attribs) override final
 Implementation of IDeviceContext::WriteTLASCompactedSize() in WebGPU backend.
 
void DILIGENT_CALL_TYPE TraceRays (const TraceRaysAttribs &Attribs) override final
 Implementation of IDeviceContext::TraceRays() in WebGPU backend.
 
void DILIGENT_CALL_TYPE TraceRaysIndirect (const TraceRaysIndirectAttribs &Attribs) override final
 Implementation of IDeviceContext::TraceRaysIndirect() in WebGPU backend.
 
void DILIGENT_CALL_TYPE UpdateSBT (IShaderBindingTable *pSBT, const UpdateIndirectRTBufferAttribs *pUpdateIndirectBufferAttribs) override final
 Implementation of IDeviceContext::UpdateSBT() in WebGPU backend.
 
void DILIGENT_CALL_TYPE BeginDebugGroup (const Char *Name, const float *pColor) override final
 Implementation of IDeviceContext::BeginDebugGroup() in WebGPU backend.
 
void DILIGENT_CALL_TYPE EndDebugGroup () override final
 Implementation of IDeviceContext::EndDebugGroup() in WebGPU backend.
 
void DILIGENT_CALL_TYPE InsertDebugLabel (const Char *Label, const float *pColor) override final
 Implementation of IDeviceContext::InsertDebugLabel() in WebGPU backend.
 
void DILIGENT_CALL_TYPE SetShadingRate (SHADING_RATE BaseRate, SHADING_RATE_COMBINER PrimitiveCombiner, SHADING_RATE_COMBINER TextureCombiner) override final
 Implementation of IDeviceContext::SetShadingRate() in WebGPU backend.
 
void DILIGENT_CALL_TYPE BindSparseResourceMemory (const BindSparseResourceMemoryAttribs &Attribs) override final
 Implementation of IDeviceContext::BindSparseResourceMemory() in WebGPU backend.
 
void DILIGENT_CALL_TYPE GenerateMips (ITextureView *pTexView) override final
 Implementation of IDeviceContext::GenerateMips() in WebGPU backend.
 
void DILIGENT_CALL_TYPE FinishFrame () override final
 Implementation of IDeviceContext::FinishFrame() in WebGPU backend.
 
void DILIGENT_CALL_TYPE TransitionResourceStates (Uint32 BarrierCount, const StateTransitionDesc *pResourceBarriers) override final
 Implementation of IDeviceContext::TransitionResourceStates() in WebGPU backend.
 
ICommandQueue *DILIGENT_CALL_TYPE LockCommandQueue () override final
 Implementation of IDeviceContext::LockCommandQueue() in WebGPU backend.
 
void DILIGENT_CALL_TYPE UnlockCommandQueue () override final
 Implementation of IDeviceContext::UnlockCommandQueue() in WebGPU backend.
 
void DILIGENT_CALL_TYPE ResolveTextureSubresource (ITexture *pSrcTexture, ITexture *pDstTexture, const ResolveTextureSubresourceAttribs &ResolveAttribs) override final
 Implementation of IDeviceContext::ResolveTextureSubresource() in WebGPU backend.
 
WGPUQueue DILIGENT_CALL_TYPE GetWebGPUQueue () override final
 Implementation of IDeviceContextWebGPU::GetWebGPUQueue() in WebGPU backend.
 
- Public Member Functions inherited from Diligent::DeviceContextBase< EngineWebGPUImplTraits >
 DeviceContextBase (IReferenceCounters *pRefCounters, DeviceImplType *pRenderDevice, const DeviceContextDesc &Desc)
 
virtual const DeviceContextDesc &DILIGENT_CALL_TYPE GetDesc () const override final
 Implementation of IDeviceContext::GetDesc().
 
virtual void DILIGENT_CALL_TYPE SetRenderTargets (Uint32 NumRenderTargets, ITextureView *ppRenderTargets[], ITextureView *pDepthStencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
 Implementation of IDeviceContext::SetRenderTargets().
 
void CommitShaderResources (IShaderResourceBinding *pShaderResourceBinding, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode, int)
 Base implementation of IDeviceContext::CommitShaderResources(); validates parameters.
 
void SetViewports (Uint32 NumViewports, const Viewport *pViewports, Uint32 &RTWidth, Uint32 &RTHeight)
 Caches the viewports.
 
void SetScissorRects (Uint32 NumRects, const Rect *pRects, Uint32 &RTWidth, Uint32 &RTHeight)
 Caches the scissor rects.
 
virtual Uint64 DILIGENT_CALL_TYPE GetFrameNumber () const override final
 
virtual void DILIGENT_CALL_TYPE SetUserData (IObject *pUserData) override final
 Implementation of IDeviceContext::SetUserData.
 
virtual IObject *DILIGENT_CALL_TYPE GetUserData () const override final
 Implementation of IDeviceContext::GetUserData.
 
virtual void DILIGENT_CALL_TYPE DispatchTile (const DispatchTileAttribs &Attribs) override
 Base implementation of IDeviceContext::DispatchTile.
 
virtual void DILIGENT_CALL_TYPE GetTileSize (Uint32 &TileSizeX, Uint32 &TileSizeY) override
 Base implementation of IDeviceContext::GetTileSize.
 
virtual void DILIGENT_CALL_TYPE ClearStats () override final
 
virtual const DeviceContextStats &DILIGENT_CALL_TYPE GetStats () const override final
 
void GetPipelineState (IPipelineState **ppPSO, float *BlendFactors, Uint32 &StencilRef)
 Returns currently bound pipeline state and blend factors.
 
void GetRenderTargets (Uint32 &NumRenderTargets, ITextureView **ppRTVs, ITextureView **ppDSV)
 Returns currently bound render targets.
 
void GetViewports (Uint32 &NumViewports, Viewport *pViewports)
 Returns currently set viewports.
 
IRenderDeviceGetDevice ()
 Returns the render device.
 
bool UnbindTextureFromFramebuffer (TextureImplType *pTexture, bool bShowMessage)
 
- Public Member Functions inherited from Diligent::ObjectBase< EngineWebGPUImplTraits::DeviceContextInterface >
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)
 
- Public Member Functions inherited from Diligent::RefCountedObject< EngineWebGPUImplTraits::DeviceContextInterface >
virtual IReferenceCounters *DILIGENT_CALL_TYPE GetReferenceCounters () const override final
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE AddRef () override final
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE Release () override
 

Additional Inherited Members

- Protected Member Functions inherited from Diligent::DeviceContextBase< EngineWebGPUImplTraits >
bool SetRenderTargets (const SetRenderTargetsAttribs &Attribs)
 
bool SetSubpassRenderTargets ()
 Initializes render targets for the current subpass.
 
void ClearStateCache ()
 Clears all cached resources.
 
bool CheckIfBoundAsRenderTarget (TextureImplType *pTexture)
 Checks if the texture is currently bound as a render target.
 
bool CheckIfBoundAsDepthStencil (TextureImplType *pTexture)
 Checks if the texture is currently bound as depth-stencil buffer.
 
void UpdateAttachmentStates (Uint32 SubpassIndex)
 Updates the states of render pass attachments to match states within the given subpass.
 
- Protected Attributes inherited from Diligent::DeviceContextBase< EngineWebGPUImplTraits >
RefCntAutoPtr< DeviceImplType > m_pDevice
 Strong reference to the device.
 
VertexStreamInfo< BufferImplType > m_VertexStreams [MAX_BUFFER_SLOTS]
 Vertex streams. Every stream holds strong reference to the buffer.
 
Uint32 m_NumVertexStreams
 Number of bound vertex streams.
 
RefCntAutoPtr< PipelineStateImplType > m_pPipelineState
 
RefCntAutoPtr< BufferImplType > m_pIndexBuffer
 
Uint64 m_IndexDataStartOffset
 Offset from the beginning of the index buffer to the start of the index data, in bytes.
 
Uint32 m_StencilRef
 Current stencil reference value.
 
Float32 m_BlendFactors [4]
 Current blend factors.
 
Viewport m_Viewports [MAX_VIEWPORTS]
 Current viewports.
 
Uint32 m_NumViewports
 Number of current viewports.
 
Rect m_ScissorRects [MAX_VIEWPORTS]
 Current scissor rects.
 
Uint32 m_NumScissorRects
 Number of current scissor rects.
 
RefCntAutoPtr< TextureViewImplType > m_pBoundRenderTargets [MAX_RENDER_TARGETS]
 
Uint32 m_NumBoundRenderTargets
 Number of bound render targets.
 
Uint32 m_FramebufferWidth
 Width of the currently bound framebuffer.
 
Uint32 m_FramebufferHeight
 Height of the currently bound framebuffer.
 
Uint32 m_FramebufferSlices
 Number of array slices in the currently bound framebuffer.
 
Uint32 m_FramebufferSamples
 Number of samples in the currently bound framebuffer.
 
RefCntAutoPtr< TextureViewImplType > m_pBoundDepthStencil
 
RefCntAutoPtr< FramebufferImplType > m_pBoundFramebuffer
 Strong reference to the bound framebuffer.
 
RefCntAutoPtr< RenderPassImplType > m_pActiveRenderPass
 Strong reference to the render pass.
 
RefCntAutoPtr< ITextureViewm_pBoundShadingRateMap
 
Uint32 m_SubpassIndex
 Current subpass index.
 
RESOURCE_STATE_TRANSITION_MODE m_RenderPassAttachmentsTransitionMode
 Render pass attachments transition mode.
 

Detailed Description

Device context implementation in WebGPU backend.