diff options
author | sfan5 <sfan5@live.de> | 2021-04-21 18:52:14 +0200 |
---|---|---|
committer | sfan5 <sfan5@live.de> | 2021-05-05 22:49:44 +0200 |
commit | 08f1a7fbed4139a0147a067d38af353935d79b57 (patch) | |
tree | 84f7c67460102e661f293baa0a366c7e2505054f /src/client/tile.cpp | |
parent | de85bc9227ef0db01854fa0eef89256646b4d578 (diff) | |
download | minetest-08f1a7fbed4139a0147a067d38af353935d79b57.tar.gz minetest-08f1a7fbed4139a0147a067d38af353935d79b57.tar.bz2 minetest-08f1a7fbed4139a0147a067d38af353935d79b57.zip |
Use Irrlicht functions to query npot texture support
Diffstat (limited to 'src/client/tile.cpp')
-rw-r--r-- | src/client/tile.cpp | 38 |
1 files changed, 3 insertions, 35 deletions
diff --git a/src/client/tile.cpp b/src/client/tile.cpp index d9f8c75a7..96312ea27 100644 --- a/src/client/tile.cpp +++ b/src/client/tile.cpp @@ -34,15 +34,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "guiscalingfilter.h" #include "renderingengine.h" - -#if ENABLE_GLES -#ifdef _IRR_COMPILE_WITH_OGLES1_ -#include <GLES/gl.h> -#else -#include <GLES2/gl2.h> -#endif -#endif - /* A cache from texture name to texture path */ @@ -1013,42 +1004,19 @@ video::IImage* TextureSource::generateImage(const std::string &name) #if ENABLE_GLES - -static inline u16 get_GL_major_version() -{ - const GLubyte *gl_version = glGetString(GL_VERSION); - return (u16) (gl_version[0] - '0'); -} - -/** - * Check if hardware requires npot2 aligned textures - * @return true if alignment NOT(!) requires, false otherwise - */ - -bool hasNPotSupport() -{ - // Only GLES2 is trusted to correctly report npot support - // Note: we cache the boolean result, the GL context will never change. - static const bool supported = get_GL_major_version() > 1 && - glGetString(GL_EXTENSIONS) && - strstr((char *)glGetString(GL_EXTENSIONS), "GL_OES_texture_npot"); - return supported; -} - /** * Check and align image to npot2 if required by hardware * @param image image to check for npot2 alignment * @param driver driver to use for image operations * @return image or copy of image aligned to npot2 */ - -video::IImage * Align2Npot2(video::IImage * image, - video::IVideoDriver* driver) +video::IImage *Align2Npot2(video::IImage *image, + video::IVideoDriver *driver) { if (image == NULL) return image; - if (hasNPotSupport()) + if (driver->queryFeature(video::EVDF_TEXTURE_NPOT)) return image; core::dimension2d<u32> dim = image->getDimension(); |