summaryrefslogtreecommitdiffstats
path: root/unityplugin/UnityEmulator
diff options
context:
space:
mode:
Diffstat (limited to 'unityplugin/UnityEmulator')
-rw-r--r--unityplugin/UnityEmulator/src/MacOS/UnityAppMacOS.cpp14
-rw-r--r--unityplugin/UnityEmulator/src/UnityAppBase.cpp3
2 files changed, 9 insertions, 8 deletions
diff --git a/unityplugin/UnityEmulator/src/MacOS/UnityAppMacOS.cpp b/unityplugin/UnityEmulator/src/MacOS/UnityAppMacOS.cpp
index 4968530..7d96d83 100644
--- a/unityplugin/UnityEmulator/src/MacOS/UnityAppMacOS.cpp
+++ b/unityplugin/UnityEmulator/src/MacOS/UnityAppMacOS.cpp
@@ -34,12 +34,10 @@ public:
m_DeviceType = Diligent::RENDER_DEVICE_TYPE_GL;
}
- virtual void Initialize(void* view)override final
+ virtual void Initialize(void* view, RenderMode Mode)override final
{
- if (view != nullptr)
- {
- UNSUPPORTED("This app does not support Vulkan");
- }
+ if (Mode != RenderMode::OpenGL)
+ LOG_ERROR_AND_THROW("This app only supports OpenGL mode");
InitGraphics(nullptr, 0/*Unused*/, 0/*Unused*/);
InitScene();
}
@@ -80,7 +78,9 @@ bool UnityAppBase::LoadPlugin()
void UnityAppBase::UnloadPlugin()
{
- m_GraphicsEmulator->InvokeDeviceEventCallback(kUnityGfxDeviceEventShutdown);
- UnityPluginUnload();
+ if (m_GraphicsEmulator)
+ m_GraphicsEmulator->InvokeDeviceEventCallback(kUnityGfxDeviceEventShutdown);
+ if (UnityPluginUnload)
+ UnityPluginUnload();
}
diff --git a/unityplugin/UnityEmulator/src/UnityAppBase.cpp b/unityplugin/UnityEmulator/src/UnityAppBase.cpp
index f497bee..15cecdd 100644
--- a/unityplugin/UnityEmulator/src/UnityAppBase.cpp
+++ b/unityplugin/UnityEmulator/src/UnityAppBase.cpp
@@ -62,7 +62,8 @@ UnityAppBase::~UnityAppBase()
UnloadPlugin();
m_DiligentGraphics.reset();
- m_GraphicsEmulator->Release();
+ if (m_GraphicsEmulator)
+ m_GraphicsEmulator->Release();
}