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/GraphicsEngineD3D12/interface/EngineFactoryD3D12.h | 7 ++++++- Graphics/GraphicsEngineD3D12/src/EngineFactoryD3D12.cpp | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'Graphics/GraphicsEngineD3D12') diff --git a/Graphics/GraphicsEngineD3D12/interface/EngineFactoryD3D12.h b/Graphics/GraphicsEngineD3D12/interface/EngineFactoryD3D12.h index 7ac6e9e0..03b636ff 100644 --- a/Graphics/GraphicsEngineD3D12/interface/EngineFactoryD3D12.h +++ b/Graphics/GraphicsEngineD3D12/interface/EngineFactoryD3D12.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 IEngineFactoryD3D12 +// {72BD38B0-684A-4889-9C68-0A80EC802DDE} +static const INTERFACE_ID IID_EngineFactoryD3D12 = +{ 0x72bd38b0, 0x684a, 0x4889, { 0x9c, 0x68, 0xa, 0x80, 0xec, 0x80, 0x2d, 0xde } }; + +class IEngineFactoryD3D12 : public IObject { public: virtual void CreateDeviceAndContextsD3D12(const EngineD3D12CreateInfo& EngineCI, diff --git a/Graphics/GraphicsEngineD3D12/src/EngineFactoryD3D12.cpp b/Graphics/GraphicsEngineD3D12/src/EngineFactoryD3D12.cpp index 18a69020..36a2c29c 100644 --- a/Graphics/GraphicsEngineD3D12/src/EngineFactoryD3D12.cpp +++ b/Graphics/GraphicsEngineD3D12/src/EngineFactoryD3D12.cpp @@ -51,6 +51,12 @@ public: return &TheFactory; } + using TBase = EngineFactoryD3DBase; + + EngineFactoryD3D12Impl() : + TBase(IID_EngineFactoryD3D12) + {} + void CreateDeviceAndContextsD3D12(const EngineD3D12CreateInfo& EngineCI, IRenderDevice** ppDevice, IDeviceContext** ppContexts, -- cgit v1.2.3