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/GraphicsEngineMetal | |
| 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/GraphicsEngineMetal')
| -rw-r--r-- | Graphics/GraphicsEngineMetal/interface/EngineFactoryMtl.h | 7 | ||||
| -rw-r--r-- | Graphics/GraphicsEngineMetal/src/EngineFactoryMtl.mm | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/Graphics/GraphicsEngineMetal/interface/EngineFactoryMtl.h b/Graphics/GraphicsEngineMetal/interface/EngineFactoryMtl.h index ca6088b6..225d1152 100644 --- a/Graphics/GraphicsEngineMetal/interface/EngineFactoryMtl.h +++ b/Graphics/GraphicsEngineMetal/interface/EngineFactoryMtl.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" @@ -38,7 +39,11 @@ namespace Diligent { -class IEngineFactoryMtl +// {CF4A590D-2E40-4F48-9579-0D25991F963B} +static const INTERFACE_ID IID_EngineFactoryMtl = +{ 0xcf4a590d, 0x2e40, 0x4f48, { 0x95, 0x79, 0xd, 0x25, 0x99, 0x1f, 0x96, 0x3b } }; + +class IEngineFactoryMtl : public IObject { public: virtual void CreateDeviceAndContextsMtl(const EngineMtlCreateInfo& Attribs, diff --git a/Graphics/GraphicsEngineMetal/src/EngineFactoryMtl.mm b/Graphics/GraphicsEngineMetal/src/EngineFactoryMtl.mm index 7516d45e..0aa1edf7 100644 --- a/Graphics/GraphicsEngineMetal/src/EngineFactoryMtl.mm +++ b/Graphics/GraphicsEngineMetal/src/EngineFactoryMtl.mm @@ -30,12 +30,13 @@ #include "SwapChainMtlImpl.h" #include "MtlTypeConversions.h" #include "EngineMemory.h" +#include "EngineFactoryBase.h" namespace Diligent { /// Engine factory for Mtl implementation -class EngineFactoryMtlImpl : public IEngineFactoryMtl +class EngineFactoryMtlImpl : public EngineFactoryBase<IEngineFactoryMtl> { public: static EngineFactoryMtlImpl* GetInstance() @@ -44,6 +45,11 @@ public: return &TheFactory; } + using TBase = EngineFactoryBase<IEngineFactoryMtl>; + EngineFactoryMtlImpl() : + TBase(IID_EngineFactoryMtl) + {} + void CreateDeviceAndContextsMtl(const EngineMtlCreateInfo& EngineAttribs, IRenderDevice** ppDevice, IDeviceContext** ppContexts, |
