From 96bc8835ebbbbc545b7cefd41f01512fc0d271c1 Mon Sep 17 00:00:00 2001 From: Sean Harmer Date: Mon, 6 Aug 2012 10:55:53 +0100 Subject: OpenGL: Add finer-grained functionality checks for NPOT textures The GL_IMG_texture_npot extension only provides partial support for npot textures in that it allows use of npot textures but it does not support the GL_REPEAT texture mode (needed for tiling fill modes in the QQ2 image element). Adding this new finer-grained feature check allows QQ2 to still use npot textures where GL_REPEAT is not needed with only the IMG extension present. A follow-up commit will make a check for this in qtdeclarative. Change-Id: Iff3dbdb955fb334d9e32f3abd49e90ff0ed9836c Reviewed-by: Gunnar Sletta --- src/gui/opengl/qopenglfunctions.cpp | 5 +++-- src/gui/opengl/qopenglfunctions.h | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index a5fcbd1a8a..b2728abc10 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -265,10 +265,11 @@ static int qt_gl_resolve_features() QOpenGLFunctions::Multisample | QOpenGLFunctions::StencilSeparate; QOpenGLExtensionMatcher extensions; - if (extensions.match("GL_OES_texture_npot")) - features |= QOpenGLFunctions::NPOTTextures; if (extensions.match("GL_IMG_texture_npot")) features |= QOpenGLFunctions::NPOTTextures; + if (extensions.match("GL_OES_texture_npot")) + features |= QOpenGLFunctions::NPOTTextures | + QOpenGLFunctions::NPOTTextureRepeat; return features; #elif defined(QT_OPENGL_ES) int features = QOpenGLFunctions::Multitexture | diff --git a/src/gui/opengl/qopenglfunctions.h b/src/gui/opengl/qopenglfunctions.h index fc55a6b384..9657679bf9 100644 --- a/src/gui/opengl/qopenglfunctions.h +++ b/src/gui/opengl/qopenglfunctions.h @@ -217,7 +217,8 @@ public: CompressedTextures = 0x0200, Multisample = 0x0400, StencilSeparate = 0x0800, - NPOTTextures = 0x1000 + NPOTTextures = 0x1000, + NPOTTextureRepeat = 0x2000 }; Q_DECLARE_FLAGS(OpenGLFeatures, OpenGLFeature) -- cgit v1.2.3