-// Copyright (C) 2015 Patryk Nadrowski\r
-// Copyright (C) 2009-2010 Amundis\r
-// 2017 modified by Michael Zeilfelder (unifying extension handlers)\r
-// This file is part of the "Irrlicht Engine".\r
-// For conditions of distribution and use, see copyright notice in Irrlicht.h\r
-\r
-#include "ExtensionHandler.h"\r
-\r
-#include "irrString.h"\r
-#include "SMaterial.h"\r
-#include "fast_atof.h"\r
-#include <mt_opengl.h>\r
-\r
-namespace irr\r
-{\r
-namespace video\r
-{\r
- void COpenGL3ExtensionHandler::initExtensions()\r
- {\r
- GLint major, minor;\r
- glGetIntegerv(GL_MAJOR_VERSION, &major);\r
- glGetIntegerv(GL_MINOR_VERSION, &minor);\r
- Version = 100 * major + 10 * minor;\r
-\r
- GLint ext_count = 0;\r
- GL.GetIntegerv(GL_NUM_EXTENSIONS, &ext_count);\r
- for (int k = 0; k < ext_count; k++) {\r
- auto ext_name = (char *)GL.GetStringi(GL_EXTENSIONS, k);\r
- for (size_t j=0; j<IRR_OGLES_Feature_Count; ++j) {\r
- if (!strcmp(getFeatureString(j), ext_name)) {\r
- FeatureAvailable[j] = true;\r
- break;\r
- }\r
- }\r
- }\r
-\r
- GLint val=0;\r
- glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &val);\r
- Feature.MaxTextureUnits = static_cast<u8>(val);\r
-\r
- #ifdef GL_EXT_texture_filter_anisotropic\r
- if (FeatureAvailable[IRR_GL_EXT_texture_filter_anisotropic])\r
- {\r
- glGetIntegerv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &val);\r
- MaxAnisotropy = static_cast<u8>(val);\r
- }\r
- #endif\r
- #ifdef GL_MAX_ELEMENTS_INDICES\r
- glGetIntegerv(GL_MAX_ELEMENTS_INDICES, &val);\r
- MaxIndices=val;\r
- #endif\r
- glGetIntegerv(GL_MAX_TEXTURE_SIZE, &val);\r
- MaxTextureSize=static_cast<u32>(val);\r
- #ifdef GL_EXT_texture_lod_bias\r
- if (FeatureAvailable[IRR_GL_EXT_texture_lod_bias])\r
- glGetFloatv(GL_MAX_TEXTURE_LOD_BIAS_EXT, &MaxTextureLODBias);\r
- #endif\r
- glGetFloatv(GL_ALIASED_LINE_WIDTH_RANGE, DimAliasedLine);\r
- glGetFloatv(GL_ALIASED_POINT_SIZE_RANGE, DimAliasedPoint);\r
-\r
- Feature.MaxTextureUnits = core::min_(Feature.MaxTextureUnits, static_cast<u8>(MATERIAL_MAX_TEXTURES));\r
- Feature.ColorAttachment = 1;\r
- }\r
-\r
-} // end namespace video\r
-} // end namespace irr\r
+// Copyright (C) 2015 Patryk Nadrowski
+// Copyright (C) 2009-2010 Amundis
+// 2017 modified by Michael Zeilfelder (unifying extension handlers)
+// This file is part of the "Irrlicht Engine".
+// For conditions of distribution and use, see copyright notice in Irrlicht.h
+
+#include "ExtensionHandler.h"
+
+#include "irrString.h"
+#include "SMaterial.h"
+#include "fast_atof.h"
+#include <mt_opengl.h>
+
+namespace irr
+{
+namespace video
+{
+ void COpenGL3ExtensionHandler::initExtensions()
+ {
+ GLint major, minor;
+ glGetIntegerv(GL_MAJOR_VERSION, &major);
+ glGetIntegerv(GL_MINOR_VERSION, &minor);
+ Version = 100 * major + 10 * minor;
+
+ GLint ext_count = 0;
+ GL.GetIntegerv(GL_NUM_EXTENSIONS, &ext_count);
+ for (int k = 0; k < ext_count; k++) {
+ auto ext_name = (char *)GL.GetStringi(GL_EXTENSIONS, k);
+ for (size_t j=0; j<IRR_OGLES_Feature_Count; ++j) {
+ if (!strcmp(getFeatureString(j), ext_name)) {
+ FeatureAvailable[j] = true;
+ break;
+ }
+ }
+ }
+
+ GLint val=0;
+ glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &val);
+ Feature.MaxTextureUnits = static_cast<u8>(val);
+
+ #ifdef GL_EXT_texture_filter_anisotropic
+ if (FeatureAvailable[IRR_GL_EXT_texture_filter_anisotropic])
+ {
+ glGetIntegerv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &val);
+ MaxAnisotropy = static_cast<u8>(val);
+ }
+ #endif
+ #ifdef GL_MAX_ELEMENTS_INDICES
+ glGetIntegerv(GL_MAX_ELEMENTS_INDICES, &val);
+ MaxIndices=val;
+ #endif
+ glGetIntegerv(GL_MAX_TEXTURE_SIZE, &val);
+ MaxTextureSize=static_cast<u32>(val);
+ #ifdef GL_EXT_texture_lod_bias
+ if (FeatureAvailable[IRR_GL_EXT_texture_lod_bias])
+ glGetFloatv(GL_MAX_TEXTURE_LOD_BIAS_EXT, &MaxTextureLODBias);
+ #endif
+ glGetFloatv(GL_ALIASED_LINE_WIDTH_RANGE, DimAliasedLine);
+ glGetFloatv(GL_ALIASED_POINT_SIZE_RANGE, DimAliasedPoint);
+
+ Feature.MaxTextureUnits = core::min_(Feature.MaxTextureUnits, static_cast<u8>(MATERIAL_MAX_TEXTURES));
+ Feature.ColorAttachment = 1;
+ }
+
+} // end namespace video
+} // end namespace irr