From 9d8be4770646ee924dd725eb9c6bad5be5bec237 Mon Sep 17 00:00:00 2001 From: assiduous Date: Sun, 1 Nov 2020 15:30:06 -0800 Subject: Fixed engine factories in C API --- Graphics/GraphicsEngineD3D11/interface/EngineFactoryD3D11.h | 2 +- Graphics/GraphicsEngineD3D12/interface/EngineFactoryD3D12.h | 2 +- Graphics/GraphicsEngineD3D12/src/EngineFactoryD3D12.cpp | 8 ++++++++ Graphics/GraphicsEngineOpenGL/interface/EngineFactoryOpenGL.h | 2 +- Graphics/GraphicsEngineOpenGL/src/EngineFactoryOpenGL.cpp | 9 +++++++++ Graphics/GraphicsEngineVulkan/interface/EngineFactoryVk.h | 2 +- Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp | 9 +++++++++ 7 files changed, 30 insertions(+), 4 deletions(-) (limited to 'Graphics') diff --git a/Graphics/GraphicsEngineD3D11/interface/EngineFactoryD3D11.h b/Graphics/GraphicsEngineD3D11/interface/EngineFactoryD3D11.h index f58dbd27..f5ccb59f 100644 --- a/Graphics/GraphicsEngineD3D11/interface/EngineFactoryD3D11.h +++ b/Graphics/GraphicsEngineD3D11/interface/EngineFactoryD3D11.h @@ -176,7 +176,7 @@ DILIGENT_END_INTERFACE typedef struct IEngineFactoryD3D11* (*GetEngineFactoryD3D11Type)(); -inline GetEngineFactoryD3D11Type LoadGraphicsEngineD3D11() +inline GetEngineFactoryD3D11Type DILIGENT_GLOBAL_FUNCTION(LoadGraphicsEngineD3D11)() { return (GetEngineFactoryD3D11Type)LoadEngineDll("GraphicsEngineD3D11", "GetEngineFactoryD3D11"); } diff --git a/Graphics/GraphicsEngineD3D12/interface/EngineFactoryD3D12.h b/Graphics/GraphicsEngineD3D12/interface/EngineFactoryD3D12.h index b90f3aa0..cc2ca2ee 100644 --- a/Graphics/GraphicsEngineD3D12/interface/EngineFactoryD3D12.h +++ b/Graphics/GraphicsEngineD3D12/interface/EngineFactoryD3D12.h @@ -198,7 +198,7 @@ DILIGENT_END_INTERFACE typedef struct IEngineFactoryD3D12* (*GetEngineFactoryD3D12Type)(); -inline GetEngineFactoryD3D12Type LoadGraphicsEngineD3D12() +inline GetEngineFactoryD3D12Type DILIGENT_GLOBAL_FUNCTION(LoadGraphicsEngineD3D12)() { return (GetEngineFactoryD3D12Type)LoadEngineDll("GraphicsEngineD3D12", "GetEngineFactoryD3D12"); } diff --git a/Graphics/GraphicsEngineD3D12/src/EngineFactoryD3D12.cpp b/Graphics/GraphicsEngineD3D12/src/EngineFactoryD3D12.cpp index d00d72d5..940249cd 100644 --- a/Graphics/GraphicsEngineD3D12/src/EngineFactoryD3D12.cpp +++ b/Graphics/GraphicsEngineD3D12/src/EngineFactoryD3D12.cpp @@ -547,3 +547,11 @@ IEngineFactoryD3D12* GetEngineFactoryD3D12() } } // namespace Diligent + +extern "C" +{ + Diligent::IEngineFactoryD3D12* Diligent_GetEngineFactoryD3D12() + { + return Diligent::GetEngineFactoryD3D12(); + } +} diff --git a/Graphics/GraphicsEngineOpenGL/interface/EngineFactoryOpenGL.h b/Graphics/GraphicsEngineOpenGL/interface/EngineFactoryOpenGL.h index cff83e54..6f005bfa 100644 --- a/Graphics/GraphicsEngineOpenGL/interface/EngineFactoryOpenGL.h +++ b/Graphics/GraphicsEngineOpenGL/interface/EngineFactoryOpenGL.h @@ -105,7 +105,7 @@ DILIGENT_END_INTERFACE typedef struct IEngineFactoryOpenGL* (*GetEngineFactoryOpenGLType)(); -inline GetEngineFactoryOpenGLType LoadGraphicsEngineOpenGL() +inline GetEngineFactoryOpenGLType DILIGENT_GLOBAL_FUNCTION(LoadGraphicsEngineOpenGL)() { return (GetEngineFactoryOpenGLType)LoadEngineDll("GraphicsEngineOpenGL", "GetEngineFactoryOpenGL"); } diff --git a/Graphics/GraphicsEngineOpenGL/src/EngineFactoryOpenGL.cpp b/Graphics/GraphicsEngineOpenGL/src/EngineFactoryOpenGL.cpp index dacd1fe3..118a4bcf 100644 --- a/Graphics/GraphicsEngineOpenGL/src/EngineFactoryOpenGL.cpp +++ b/Graphics/GraphicsEngineOpenGL/src/EngineFactoryOpenGL.cpp @@ -302,3 +302,12 @@ Diligent::IEngineFactoryOpenGL* GetEngineFactoryOpenGL() } } // namespace Diligent + +extern "C" +{ + API_QUALIFIER + Diligent::IEngineFactoryOpenGL* Diligent_GetEngineFactoryOpenGL() + { + return Diligent::GetEngineFactoryOpenGL(); + } +} diff --git a/Graphics/GraphicsEngineVulkan/interface/EngineFactoryVk.h b/Graphics/GraphicsEngineVulkan/interface/EngineFactoryVk.h index be79c99f..0c5e347a 100644 --- a/Graphics/GraphicsEngineVulkan/interface/EngineFactoryVk.h +++ b/Graphics/GraphicsEngineVulkan/interface/EngineFactoryVk.h @@ -117,7 +117,7 @@ DILIGENT_END_INTERFACE typedef struct IEngineFactoryVk* (*GetEngineFactoryVkType)(); -inline GetEngineFactoryVkType LoadGraphicsEngineVk() +inline GetEngineFactoryVkType DILIGENT_GLOBAL_FUNCTION(LoadGraphicsEngineVk)() { return (GetEngineFactoryVkType)LoadEngineDll("GraphicsEngineVk", "GetEngineFactoryVk"); } diff --git a/Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp b/Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp index cbe1779f..fbbd9492 100644 --- a/Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp +++ b/Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp @@ -580,3 +580,12 @@ IEngineFactoryVk* GetEngineFactoryVk() } } // namespace Diligent + +extern "C" +{ + API_QUALIFIER + Diligent::IEngineFactoryVk* Diligent_GetEngineFactoryVk() + { + return Diligent::GetEngineFactoryVk(); + } +} -- cgit v1.2.3