diff options
-rw-r--r-- | include/IrrlichtDevice.h | 4 | ||||
-rw-r--r-- | source/Irrlicht/Irrlicht.cpp | 20 |
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
|