diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2019-03-07 04:50:24 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2019-03-07 04:50:24 +0000 |
| commit | b5d6570531da747cbb6ae578b1ded175ec10a1ce (patch) | |
| tree | c9cc690bd88027018d2eb39b0a7b9fbcf0a49cf7 /Graphics/GraphicsEngineVulkan | |
| parent | Fixed issue with GLContextWindows (diff) | |
| download | DiligentCore-b5d6570531da747cbb6ae578b1ded175ec10a1ce.tar.gz DiligentCore-b5d6570531da747cbb6ae578b1ded175ec10a1ce.zip | |
Made engine factory interfaces derived from IObject (fixed https://github.com/DiligentGraphics/DiligentCore/issues/72)
Diffstat (limited to 'Graphics/GraphicsEngineVulkan')
| -rw-r--r-- | Graphics/GraphicsEngineVulkan/interface/EngineFactoryVk.h | 7 | ||||
| -rw-r--r-- | Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/Graphics/GraphicsEngineVulkan/interface/EngineFactoryVk.h b/Graphics/GraphicsEngineVulkan/interface/EngineFactoryVk.h index 861f5514..4e986054 100644 --- a/Graphics/GraphicsEngineVulkan/interface/EngineFactoryVk.h +++ b/Graphics/GraphicsEngineVulkan/interface/EngineFactoryVk.h @@ -28,6 +28,7 @@ #include <sstream> +#include "../../Primitives/interface/Object.h" #include "../../GraphicsEngine/interface/RenderDevice.h" #include "../../GraphicsEngine/interface/DeviceContext.h" #include "../../GraphicsEngine/interface/SwapChain.h" @@ -48,7 +49,11 @@ namespace Diligent { -class IEngineFactoryVk +// {F554EEE4-57C2-4637-A508-85BE80DC657C} +static const INTERFACE_ID IID_EngineFactoryVk = +{ 0xf554eee4, 0x57c2, 0x4637, { 0xa5, 0x8, 0x85, 0xbe, 0x80, 0xdc, 0x65, 0x7c } }; + +class IEngineFactoryVk : public IObject { public: virtual void CreateDeviceAndContextsVk(const EngineVkCreateInfo& EngineCI, diff --git a/Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp b/Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp index acb6265a..4014e6b6 100644 --- a/Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp +++ b/Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp @@ -34,12 +34,13 @@ #include "CommandQueueVkImpl.h" #include "VulkanUtilities/VulkanInstance.h" #include "VulkanUtilities/VulkanPhysicalDevice.h" +#include "EngineFactoryBase.h" namespace Diligent { /// Engine factory for Vk implementation -class EngineFactoryVkImpl : public IEngineFactoryVk +class EngineFactoryVkImpl : public EngineFactoryBase<IEngineFactoryVk> { public: static EngineFactoryVkImpl* GetInstance() @@ -48,6 +49,11 @@ public: return &TheFactory; } + using TBase = EngineFactoryBase<IEngineFactoryVk>; + EngineFactoryVkImpl() : + TBase(IID_EngineFactoryVk) + {} + void CreateDeviceAndContextsVk(const EngineVkCreateInfo& EngineCI, IRenderDevice** ppDevice, IDeviceContext** ppContexts, |
