summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineD3D12
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2019-03-07 04:50:24 +0000
committerEgor Yusov <egor.yusov@gmail.com>2019-03-07 04:50:24 +0000
commitb5d6570531da747cbb6ae578b1ded175ec10a1ce (patch)
treec9cc690bd88027018d2eb39b0a7b9fbcf0a49cf7 /Graphics/GraphicsEngineD3D12
parentFixed issue with GLContextWindows (diff)
downloadDiligentCore-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/GraphicsEngineD3D12')
-rw-r--r--Graphics/GraphicsEngineD3D12/interface/EngineFactoryD3D12.h7
-rw-r--r--Graphics/GraphicsEngineD3D12/src/EngineFactoryD3D12.cpp6
2 files changed, 12 insertions, 1 deletions
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 <sstream>
+#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<IEngineFactoryD3D12, DeviceType::D3D12>;
+
+ EngineFactoryD3D12Impl() :
+ TBase(IID_EngineFactoryD3D12)
+ {}
+
void CreateDeviceAndContextsD3D12(const EngineD3D12CreateInfo& EngineCI,
IRenderDevice** ppDevice,
IDeviceContext** ppContexts,