Go to the documentation of this file.
33 #include "../../GraphicsEngine/interface/EngineFactory.h"
34 #include "../../GraphicsEngine/interface/RenderDevice.h"
35 #include "../../GraphicsEngine/interface/DeviceContext.h"
36 #include "../../GraphicsEngine/interface/SwapChain.h"
38 #if PLATFORM_ANDROID || PLATFORM_LINUX || PLATFORM_MACOS || PLATFORM_IOS || (PLATFORM_WIN32 && !defined(_MSC_VER))
40 # define API_QUALIFIER __attribute__((visibility("default")))
42 # define API_QUALIFIER
44 # error Unsupported platform
47 #if ENGINE_DLL && PLATFORM_WIN32 && defined(_MSC_VER)
48 # include "../../GraphicsEngine/interface/LoadEngineDll.h"
49 # define EXPLICITLY_LOAD_ENGINE_VK_DLL 1
56 {0xf554eee4, 0x57c2, 0x4637, {0xa5, 0x8, 0x85, 0xbe, 0x80, 0xdc, 0x65, 0x7c}};
58 #define DILIGENT_INTERFACE_NAME IEngineFactoryVk
59 #include "../../../Primitives/interface/DefineInterfaceHelperMacros.h"
61 #define IEngineFactoryVkInclusiveMethods \
62 IEngineFactoryInclusiveMethods; \
63 IEngineFactoryVkMethods EngineFactoryVk
98 const NativeWindow
REF Window,
103 #include "../../../Primitives/interface/UndefInterfaceHelperMacros.h"
105 #if DILIGENT_C_INTERFACE
109 # define IEngineFactoryVk_CreateDeviceAndContextsVk(This, ...) CALL_IFACE_METHOD(EngineFactoryVk, CreateDeviceAndContextsVk, This, __VA_ARGS__)
110 # define IEngineFactoryVk_CreateSwapChainVk(This, ...) CALL_IFACE_METHOD(EngineFactoryVk, CreateSwapChainVk, This, __VA_ARGS__)
116 #if EXPLICITLY_LOAD_ENGINE_VK_DLL
122 return (GetEngineFactoryVkType)
LoadEngineDll(
"GraphicsEngineVk",
"GetEngineFactoryVk");
#define DILIGENT_END_INTERFACE
Definition: DefineInterfaceHelperMacros.h:88
struct INTERFACE_ID INTERFACE_ID
Definition: InterfaceID.h:54
#define VIRTUAL
Definition: DefineInterfaceHelperMacros.h:83
#define DILIGENT_BEGIN_INTERFACE(Name, Base)
Definition: CommonDefinitions.h:97
#define API_QUALIFIER
Definition: EngineFactoryMtl.h:39
#define DILIGENT_GLOBAL_FUNCTION(FuncName)
Definition: CommonDefinitions.h:95
Swap chain interface.
Definition: SwapChain.h:56
#define PURE
Definition: DefineInterfaceHelperMacros.h:85
Render device interface.
Definition: RenderDevice.h:75
#define DILIGENT_END_NAMESPACE
Definition: CommonDefinitions.h:86
API_QUALIFIER struct IEngineFactoryVk * GetEngineFactoryVk()
Definition: EngineFactoryVk.cpp:713
Swap chain description.
Definition: GraphicsTypes.h:1347
struct SwapChainDesc SwapChainDesc
Definition: GraphicsTypes.h:1421
Definition: EngineFactoryVk.h:67
FARPROC LoadEngineDll(const char *EngineName, const char *GetFactoryFuncName)
Definition: LoadEngineDll.h:49
#define REF
Definition: DefineGlobalFuncHelperMacros.h:39
#define METHOD(Name)
Definition: DefineInterfaceHelperMacros.h:87
Device context interface.
Definition: DeviceContext.h:1460
#define DILIGENT_BEGIN_NAMESPACE(Name)
Definition: CommonDefinitions.h:82
Engine factory base interface.
Definition: EngineFactory.h:60
Attributes specific to Vulkan engine.
Definition: GraphicsTypes.h:2282
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
#define THIS_
Definition: DefineInterfaceHelperMacros.h:82