From b5d6570531da747cbb6ae578b1ded175ec10a1ce Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Wed, 6 Mar 2019 20:50:24 -0800 Subject: Made engine factory interfaces derived from IObject (fixed https://github.com/DiligentGraphics/DiligentCore/issues/72) --- Graphics/GraphicsEngineD3D11/interface/EngineFactoryD3D11.h | 7 ++++++- Graphics/GraphicsEngineD3D11/src/EngineFactoryD3D11.cpp | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'Graphics/GraphicsEngineD3D11') diff --git a/Graphics/GraphicsEngineD3D11/interface/EngineFactoryD3D11.h b/Graphics/GraphicsEngineD3D11/interface/EngineFactoryD3D11.h index dceab777..bfd94a98 100644 --- a/Graphics/GraphicsEngineD3D11/interface/EngineFactoryD3D11.h +++ b/Graphics/GraphicsEngineD3D11/interface/EngineFactoryD3D11.h @@ -28,6 +28,7 @@ #include +#include "../../Primitives/interface/Object.h" #include "../../GraphicsEngine/interface/RenderDevice.h" #include "../../GraphicsEngine/interface/DeviceContext.h" #include "../../GraphicsEngine/interface/SwapChain.h" @@ -39,7 +40,11 @@ namespace Diligent { -class IEngineFactoryD3D11 +// {62663A30-AAF0-4A9A-9729-9EAC6BF789F2} +static const INTERFACE_ID IID_EngineFactoryD3D11 = +{ 0x62663a30, 0xaaf0, 0x4a9a, { 0x97, 0x29, 0x9e, 0xac, 0x6b, 0xf7, 0x89, 0xf2 } }; + +class IEngineFactoryD3D11 : public IObject { public: virtual void CreateDeviceAndContextsD3D11(const EngineD3D11CreateInfo& EngineCI, diff --git a/Graphics/GraphicsEngineD3D11/src/EngineFactoryD3D11.cpp b/Graphics/GraphicsEngineD3D11/src/EngineFactoryD3D11.cpp index d69a94ee..3da158e6 100644 --- a/Graphics/GraphicsEngineD3D11/src/EngineFactoryD3D11.cpp +++ b/Graphics/GraphicsEngineD3D11/src/EngineFactoryD3D11.cpp @@ -47,6 +47,12 @@ public: static EngineFactoryD3D11Impl TheFactory; return &TheFactory; } + + using TBase = EngineFactoryD3DBase; + + EngineFactoryD3D11Impl() : + TBase(IID_EngineFactoryD3D11) + {} void CreateDeviceAndContextsD3D11(const EngineD3D11CreateInfo& EngineCI, IRenderDevice** ppDevice, -- cgit v1.2.3