|
| virtual void DILIGENT_CALL_TYPE | TransitionImageLayout (ITexture *pTexture, VkImageLayout NewLayout)=0 |
| | Transitions the internal Vulkan image to the specified layout.
|
| |
| virtual void DILIGENT_CALL_TYPE | BufferMemoryBarrier (IBuffer *pBuffer, VkAccessFlags NewAccessFlags)=0 |
| | Transitions the internal Vulkan buffer object to the specified state.
|
| |
| virtual VkCommandBuffer DILIGENT_CALL_TYPE | GetVkCommandBuffer ()=0 |
| | Returns the Vulkan handle of the command buffer currently being recorded.
|
| |
|
virtual const DeviceContextDesc &DILIGENT_CALL_TYPE | GetDesc () const =0 |
| | Returns the context description.
|
| |
| virtual void DILIGENT_CALL_TYPE | Begin (Uint32 ImmediateContextId)=0 |
| | Begins recording commands in the deferred context.
|
| |
| virtual void DILIGENT_CALL_TYPE | SetPipelineState (IPipelineState *pPipelineState)=0 |
| | Sets the pipeline state.
|
| |
| virtual void DILIGENT_CALL_TYPE | TransitionShaderResources (IShaderResourceBinding *pShaderResourceBinding)=0 |
| |
| virtual void DILIGENT_CALL_TYPE | CommitShaderResources (IShaderResourceBinding *pShaderResourceBinding, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode)=0 |
| | Commits shader resources to the device context.
|
| |
| virtual void DILIGENT_CALL_TYPE | SetStencilRef (Uint32 StencilRef)=0 |
| | Sets the stencil reference value.
|
| |
| virtual void DILIGENT_CALL_TYPE | SetBlendFactors (const float *pBlendFactors=nullptr)=0 |
| | Sets the blend factors for alpha blending.
|
| |
| virtual 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=SET_VERTEX_BUFFERS_FLAG_NONE)=0 |
| | Binds vertex buffers to the pipeline.
|
| |
| virtual void DILIGENT_CALL_TYPE | InvalidateState ()=0 |
| | Invalidates the cached context state.
|
| |
| virtual void DILIGENT_CALL_TYPE | SetIndexBuffer (IBuffer *pIndexBuffer, Uint64 ByteOffset, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode)=0 |
| | Binds an index buffer to the pipeline.
|
| |
| virtual void DILIGENT_CALL_TYPE | SetViewports (Uint32 NumViewports, const Viewport *pViewports, Uint32 RTWidth, Uint32 RTHeight)=0 |
| | Sets an array of viewports.
|
| |
| virtual void DILIGENT_CALL_TYPE | SetScissorRects (Uint32 NumRects, const Rect *pRects, Uint32 RTWidth, Uint32 RTHeight)=0 |
| | Sets active scissor rects.
|
| |
| virtual void DILIGENT_CALL_TYPE | SetRenderTargets (Uint32 NumRenderTargets, ITextureView *ppRenderTargets[], ITextureView *pDepthStencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode)=0 |
| |
| virtual void DILIGENT_CALL_TYPE | SetRenderTargetsExt (const SetRenderTargetsAttribs &Attribs)=0 |
| |
| virtual void DILIGENT_CALL_TYPE | BeginRenderPass (const BeginRenderPassAttribs &Attribs)=0 |
| | Begins a new render pass.
|
| |
| virtual void DILIGENT_CALL_TYPE | NextSubpass ()=0 |
| | Transitions to the next subpass in the render pass instance.
|
| |
| virtual void DILIGENT_CALL_TYPE | EndRenderPass ()=0 |
| | Ends current render pass.
|
| |
| virtual void DILIGENT_CALL_TYPE | Draw (const DrawAttribs &Attribs)=0 |
| | Executes a draw command.
|
| |
| virtual void DILIGENT_CALL_TYPE | DrawIndexed (const DrawIndexedAttribs &Attribs)=0 |
| | Executes an indexed draw command.
|
| |
| virtual void DILIGENT_CALL_TYPE | DrawIndirect (const DrawIndirectAttribs &Attribs)=0 |
| | Executes an indirect draw command.
|
| |
| virtual void DILIGENT_CALL_TYPE | DrawIndexedIndirect (const DrawIndexedIndirectAttribs &Attribs)=0 |
| | Executes an indexed indirect draw command.
|
| |
| virtual void DILIGENT_CALL_TYPE | DrawMesh (const DrawMeshAttribs &Attribs)=0 |
| | Executes a mesh draw command.
|
| |
| virtual void DILIGENT_CALL_TYPE | DrawMeshIndirect (const DrawMeshIndirectAttribs &Attribs)=0 |
| | Executes an indirect mesh draw command.
|
| |
| virtual void DILIGENT_CALL_TYPE | MultiDraw (const MultiDrawAttribs &Attribs)=0 |
| | Executes a multi-draw command.
|
| |
| virtual void DILIGENT_CALL_TYPE | MultiDrawIndexed (const MultiDrawIndexedAttribs &Attribs)=0 |
| | Executes an indexed multi-draw command.
|
| |
| virtual void DILIGENT_CALL_TYPE | DispatchCompute (const DispatchComputeAttribs &Attribs)=0 |
| | Executes a dispatch compute command.
|
| |
| virtual void DILIGENT_CALL_TYPE | DispatchComputeIndirect (const DispatchComputeIndirectAttribs &Attribs)=0 |
| | Executes an indirect dispatch compute command.
|
| |
| virtual void DILIGENT_CALL_TYPE | DispatchTile (const DispatchTileAttribs &Attribs)=0 |
| | Executes a dispatch tile command.
|
| |
| virtual void DILIGENT_CALL_TYPE | GetTileSize (Uint32 &TileSizeX, Uint32 &TileSizeY)=0 |
| | Returns current render pass tile size.
|
| |
| virtual void DILIGENT_CALL_TYPE | ClearDepthStencil (ITextureView *pView, CLEAR_DEPTH_STENCIL_FLAGS ClearFlags, float fDepth, Uint8 Stencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode)=0 |
| | Clears a depth-stencil view.
|
| |
| virtual void DILIGENT_CALL_TYPE | ClearRenderTarget (ITextureView *pView, const void *RGBA, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode)=0 |
| | Clears a render target view.
|
| |
| virtual void DILIGENT_CALL_TYPE | FinishCommandList (ICommandList **ppCommandList)=0 |
| | Finishes recording commands and generates a command list.
|
| |
| virtual void DILIGENT_CALL_TYPE | ExecuteCommandLists (Uint32 NumCommandLists, ICommandList *const *ppCommandLists)=0 |
| | Submits an array of recorded command lists for execution.
|
| |
| virtual void DILIGENT_CALL_TYPE | EnqueueSignal (IFence *pFence, Uint64 Value)=0 |
| | Tells the GPU to set a fence to a specified value after all previous work has completed.
|
| |
| virtual void DILIGENT_CALL_TYPE | DeviceWaitForFence (IFence *pFence, Uint64 Value)=0 |
| | Waits until the specified fence reaches or exceeds the specified value, on the device.
|
| |
| virtual void DILIGENT_CALL_TYPE | WaitForIdle ()=0 |
| | Submits all outstanding commands for execution to the GPU and waits until they are complete.
|
| |
| virtual void DILIGENT_CALL_TYPE | BeginQuery (IQuery *pQuery)=0 |
| | Marks the beginning of a query.
|
| |
| virtual void DILIGENT_CALL_TYPE | EndQuery (IQuery *pQuery)=0 |
| | Marks the end of a query.
|
| |
| virtual void DILIGENT_CALL_TYPE | Flush ()=0 |
| | Submits all pending commands in the context for execution to the command queue.
|
| |
| virtual void DILIGENT_CALL_TYPE | UpdateBuffer (IBuffer *pBuffer, Uint64 Offset, Uint64 Size, const void *pData, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode)=0 |
| | Updates the data in the buffer.
|
| |
| virtual 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)=0 |
| | Copies the data from one buffer to another.
|
| |
| virtual void DILIGENT_CALL_TYPE | MapBuffer (IBuffer *pBuffer, MAP_TYPE MapType, MAP_FLAGS MapFlags, PVoid &pMappedData)=0 |
| | Maps the buffer.
|
| |
| virtual void DILIGENT_CALL_TYPE | UnmapBuffer (IBuffer *pBuffer, MAP_TYPE MapType)=0 |
| | Unmaps the previously mapped buffer.
|
| |
| virtual void DILIGENT_CALL_TYPE | UpdateTexture (ITexture *pTexture, Uint32 MipLevel, Uint32 Slice, const Box &DstBox, const TextureSubResData &SubresData, RESOURCE_STATE_TRANSITION_MODE SrcBufferTransitionMode, RESOURCE_STATE_TRANSITION_MODE TextureTransitionMode)=0 |
| | Updates the data in the texture.
|
| |
| virtual void DILIGENT_CALL_TYPE | CopyTexture (const CopyTextureAttribs &CopyAttribs)=0 |
| | Copies data from one texture to another.
|
| |
| virtual void DILIGENT_CALL_TYPE | MapTextureSubresource (ITexture *pTexture, Uint32 MipLevel, Uint32 ArraySlice, MAP_TYPE MapType, MAP_FLAGS MapFlags, const Box *pMapRegion, MappedTextureSubresource &MappedData)=0 |
| | Maps the texture subresource.
|
| |
| virtual void DILIGENT_CALL_TYPE | UnmapTextureSubresource (ITexture *pTexture, Uint32 MipLevel, Uint32 ArraySlice)=0 |
| | Unmaps the texture subresource.
|
| |
| virtual void DILIGENT_CALL_TYPE | GenerateMips (ITextureView *pTextureView)=0 |
| | Generates a mipmap chain.
|
| |
| virtual void DILIGENT_CALL_TYPE | FinishFrame ()=0 |
| | Finishes the current frame and releases dynamic resources allocated by the context.
|
| |
| virtual Uint64 DILIGENT_CALL_TYPE | GetFrameNumber () const =0 |
| | Returns the current frame number.
|
| |
| virtual void DILIGENT_CALL_TYPE | TransitionResourceStates (Uint32 BarrierCount, const StateTransitionDesc *pResourceBarriers)=0 |
| | Transitions resource states.
|
| |
| virtual void DILIGENT_CALL_TYPE | ResolveTextureSubresource (ITexture *pSrcTexture, ITexture *pDstTexture, const ResolveTextureSubresourceAttribs &ResolveAttribs)=0 |
| | Resolves a multi-sampled texture subresource into a non-multi-sampled texture subresource.
|
| |
| virtual void DILIGENT_CALL_TYPE | BuildBLAS (const BuildBLASAttribs &Attribs)=0 |
| | Builds a bottom-level acceleration structure with the specified geometries.
|
| |
| virtual void DILIGENT_CALL_TYPE | BuildTLAS (const BuildTLASAttribs &Attribs)=0 |
| | Builds a top-level acceleration structure with the specified instances.
|
| |
| virtual void DILIGENT_CALL_TYPE | CopyBLAS (const CopyBLASAttribs &Attribs)=0 |
| | Copies data from one acceleration structure to another.
|
| |
| virtual void DILIGENT_CALL_TYPE | CopyTLAS (const CopyTLASAttribs &Attribs)=0 |
| | Copies data from one acceleration structure to another.
|
| |
| virtual void DILIGENT_CALL_TYPE | WriteBLASCompactedSize (const WriteBLASCompactedSizeAttribs &Attribs)=0 |
| | Writes a bottom-level acceleration structure memory size required for compacting operation to a buffer.
|
| |
| virtual void DILIGENT_CALL_TYPE | WriteTLASCompactedSize (const WriteTLASCompactedSizeAttribs &Attribs)=0 |
| | Writes a top-level acceleration structure memory size required for compacting operation to a buffer.
|
| |
| virtual void DILIGENT_CALL_TYPE | TraceRays (const TraceRaysAttribs &Attribs)=0 |
| | Executes a trace rays command.
|
| |
| virtual void DILIGENT_CALL_TYPE | TraceRaysIndirect (const TraceRaysIndirectAttribs &Attribs)=0 |
| | Executes an indirect trace rays command.
|
| |
| virtual void DILIGENT_CALL_TYPE | UpdateSBT (IShaderBindingTable *pSBT, const UpdateIndirectRTBufferAttribs *pUpdateIndirectBufferAttribs=nullptr)=0 |
| | Updates SBT with the pending data that were recorded in IShaderBindingTable::Bind*** calls.
|
| |
| virtual void DILIGENT_CALL_TYPE | SetUserData (IObject *pUserData)=0 |
| | Stores a pointer to the user-provided data object.
|
| |
| virtual IObject *DILIGENT_CALL_TYPE | GetUserData () const =0 |
| | Returns a pointer to the user data object previously.
|
| |
| virtual void DILIGENT_CALL_TYPE | BeginDebugGroup (const Char *Name, const float *pColor=nullptr)=0 |
| | Begins a debug group with name and color.
|
| |
|
virtual void DILIGENT_CALL_TYPE | EndDebugGroup ()=0 |
| | Ends a debug group that was previously started with BeginDebugGroup().
|
| |
| virtual void DILIGENT_CALL_TYPE | InsertDebugLabel (const Char *Label, const float *pColor=nullptr)=0 |
| | Inserts a debug label with name and color.
|
| |
| virtual ICommandQueue *DILIGENT_CALL_TYPE | LockCommandQueue ()=0 |
| | Locks the internal mutex and returns a pointer to the command queue that is associated with this device context.
|
| |
|
virtual void DILIGENT_CALL_TYPE | UnlockCommandQueue ()=0 |
| | Unlocks the command queue that was previously locked by LockCommandQueue().
|
| |
| virtual void DILIGENT_CALL_TYPE | SetShadingRate (SHADING_RATE BaseRate, SHADING_RATE_COMBINER PrimitiveCombiner, SHADING_RATE_COMBINER TextureCombiner)=0 |
| | Sets the shading base rate and combiners.
|
| |
| virtual void DILIGENT_CALL_TYPE | BindSparseResourceMemory (const BindSparseResourceMemoryAttribs &Attribs)=0 |
| | Binds or unbinds memory objects to sparse buffer and sparse textures.
|
| |
|
virtual void DILIGENT_CALL_TYPE | ClearStats ()=0 |
| | Clears the device context statistics.
|
| |
|
virtual const DeviceContextStats &DILIGENT_CALL_TYPE | GetStats () const =0 |
| | Returns the device context statistics, see Diligent::DeviceContextStats.
|
| |
| virtual void DILIGENT_CALL_TYPE | QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0 |
| | Queries the specific interface.
|
| |
| template<typename DerivedType, typename = typename std::enable_if<std::is_base_of<IObject, DerivedType>::value>::type> |
| void | QueryInterface (const INTERFACE_ID &IID, DerivedType **ppInterface) |
| |
| virtual ReferenceCounterValueType DILIGENT_CALL_TYPE | AddRef ()=0 |
| | Increments the number of strong references by 1.
|
| |
| virtual ReferenceCounterValueType DILIGENT_CALL_TYPE | Release ()=0 |
| |
| virtual IReferenceCounters *DILIGENT_CALL_TYPE | GetReferenceCounters () const =0 |
| |