aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/IrrlichtDevice.h4
-rw-r--r--source/Irrlicht/Irrlicht.cpp20
2 files changed, 23 insertions, 1 deletions
diff --git a/include/IrrlichtDevice.h b/include/IrrlichtDevice.h
index 07d4f9f..c6a1978 100644
--- a/include/IrrlichtDevice.h
+++ b/include/IrrlichtDevice.h
@@ -14,6 +14,7 @@
#include "ICursorControl.h"
#include "ITimer.h"
#include "IOSOperator.h"
+#include "IrrCompileConfig.h"
namespace irr
{
@@ -34,6 +35,7 @@ namespace irr
namespace video {
class IContextManager;
+ extern "C" IRRLICHT_API bool IRRCALLCONV isDriverSupported(E_DRIVER_TYPE driver);
} // end namespace video
//! The Irrlicht device. You can create it with createDevice() or createDeviceEx().
@@ -310,7 +312,7 @@ namespace irr
for a configuration requested when creating the device. */
static bool isDriverSupported(video::E_DRIVER_TYPE driver)
{
- return true;
+ return video::isDriverSupported(driver);
}
};
diff --git a/source/Irrlicht/Irrlicht.cpp b/source/Irrlicht/Irrlicht.cpp
index 826414f..50348e7 100644
--- a/source/Irrlicht/Irrlicht.cpp
+++ b/source/Irrlicht/Irrlicht.cpp
@@ -113,6 +113,26 @@ namespace core
namespace video
{
SMaterial IdentityMaterial;
+
+ extern "C" IRRLICHT_API bool IRRCALLCONV isDriverSupported(E_DRIVER_TYPE driver)
+ {
+ switch (driver) {
+ case EDT_NULL: return true;
+#ifdef _IRR_COMPILE_WITH_OPENGL_
+ case EDT_OPENGL: return true;
+#endif
+#ifdef _IRR_COMPILE_WITH_OGLES1_
+ case EDT_OGLES1: return true;
+#endif
+#ifdef _IRR_COMPILE_WITH_OGLES2_
+ case EDT_OGLES2: return true;
+#endif
+#ifdef _IRR_COMPILE_WITH_WEBGL1_
+ case EDT_WEBGL1: return true;
+#endif
+ default: return false;
+ }
+ }
}
} // end namespace irr