Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::ICommandQueueVk Struct Referenceabstract

Command queue interface. More...

#include <CommandQueueVk.h>

Inheritance diagram for Diligent::ICommandQueueVk:
Diligent::ICommandQueue Diligent.IObject

Public Member Functions

virtual Uint64 DILIGENT_CALL_TYPE SubmitCmdBuffer (VkCommandBuffer cmdBuffer)=0
 Submits a given command buffer to the command queue.
 
virtual Uint64 DILIGENT_CALL_TYPE Submit (const VkSubmitInfo &SubmitInfo)=0
 Submits a given work batch to the internal Vulkan command queue.
 
virtual VkResult DILIGENT_CALL_TYPE Present (const VkPresentInfoKHR &PresentInfo)=0
 Presents the current swap chain image on the screen.
 
virtual Uint64 DILIGENT_CALL_TYPE BindSparse (const VkBindSparseInfo &BindInfo)=0
 Submits a sparse bind commands to the internal Vulkan command queue.
 
virtual VkQueue DILIGENT_CALL_TYPE GetVkQueue ()=0
 
virtual uint32_t DILIGENT_CALL_TYPE GetQueueFamilyIndex () const =0
 Returns vulkan command queue family index.
 
virtual void DILIGENT_CALL_TYPE EnqueueSignalFence (VkFence vkFence)=0
 Signals the given fence.
 
virtual void DILIGENT_CALL_TYPE EnqueueSignal (VkSemaphore vkTimelineSemaphore, Uint64 Value)=0
 
- Public Member Functions inherited from Diligent::ICommandQueue
virtual Uint64 DILIGENT_CALL_TYPE GetNextFenceValue () const =0
 Returns the value of the internal fence that will be signaled next time.
 
virtual Uint64 DILIGENT_CALL_TYPE GetCompletedFenceValue ()=0
 Returns the last completed value of the internal fence.
 
virtual Uint64 DILIGENT_CALL_TYPE WaitForIdle ()=0
 Blocks execution until all pending GPU commands are complete.
 
- Public Member Functions inherited from Diligent.IObject
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface.
 
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
 

Detailed Description

Command queue interface.

Member Function Documentation

◆ BindSparse()

virtual Uint64 DILIGENT_CALL_TYPE Diligent::ICommandQueueVk::BindSparse ( const VkBindSparseInfo & BindInfo)
pure virtual

Submits a sparse bind commands to the internal Vulkan command queue.

Returns
Fence value associated with the submitted sparse bind command

◆ EnqueueSignal()

virtual void DILIGENT_CALL_TYPE Diligent::ICommandQueueVk::EnqueueSignal ( VkSemaphore vkTimelineSemaphore,
Uint64 Value )
pure virtual

Signals the given timeline semaphore.

Note
Requires NativeFence feature, see Diligent::DeviceFeatures.

◆ GetVkQueue()

virtual VkQueue DILIGENT_CALL_TYPE Diligent::ICommandQueueVk::GetVkQueue ( )
pure virtual

Returns Vulkan command queue handle. May return VK_NULL_HANDLE if queue is unavailable

Warning
Access to the VkQueue must be externally synchronized. Don't use this method to submit commands directly, use SubmitCmdBuffer() or Submit(), which are thread-safe.

◆ Submit()

virtual Uint64 DILIGENT_CALL_TYPE Diligent::ICommandQueueVk::Submit ( const VkSubmitInfo & SubmitInfo)
pure virtual

Submits a given work batch to the internal Vulkan command queue.

Returns
Fence value associated with the submitted command buffer

◆ SubmitCmdBuffer()

virtual Uint64 DILIGENT_CALL_TYPE Diligent::ICommandQueueVk::SubmitCmdBuffer ( VkCommandBuffer cmdBuffer)
pure virtual

Submits a given command buffer to the command queue.

Returns
Fence value associated with the submitted command buffer