Diligent::EngineFactoryVkImpl class

Engine factory for Vk implementation.

Contents

Base classes

template<class BaseInterface>
class EngineFactoryBase<IEngineFactoryVk>
Template class implementing base functionality of the engine factory.

Public functions

void AttachToVulkanDevice(std::shared_ptr<VulkanUtilities::VulkanInstance> Instance, std::unique_ptr<VulkanUtilities::VulkanPhysicalDevice> PhysicalDevice, std::shared_ptr<VulkanUtilities::VulkanLogicalDevice> LogicalDevice, size_t CommandQueueCount, ICommandQueueVk** ppCommandQueues, const EngineVkCreateInfo& EngineCI, IRenderDevice** ppDevice, IDeviceContext** ppContexts) virtual
Attaches to existing Vulkan device.

Function documentation

void Diligent::EngineFactoryVkImpl::AttachToVulkanDevice(std::shared_ptr<VulkanUtilities::VulkanInstance> Instance, std::unique_ptr<VulkanUtilities::VulkanPhysicalDevice> PhysicalDevice, std::shared_ptr<VulkanUtilities::VulkanLogicalDevice> LogicalDevice, size_t CommandQueueCount, ICommandQueueVk** ppCommandQueues, const EngineVkCreateInfo& EngineCI, IRenderDevice** ppDevice, IDeviceContext** ppContexts) virtual

Attaches to existing Vulkan device.

Parameters
Instance in - shared pointer to a VulkanUtilities::VulkanInstance object
PhysicalDevice in - pointer to the object representing physical device
LogicalDevice in - shared pointer to a VulkanUtilities::VulkanLogicalDevice object
CommandQueueCount
ppCommandQueues
EngineCI in - Engine creation attributes.
ppDevice out - Address of the memory location where pointer to the created device will be written
ppContexts out - Address of the memory location where pointers to the contexts will be written. Immediate context goes at position 0. If EngineCI.NumDeferredContexts > 0, pointers to the deferred contexts are written afterwards.