Browse Source

Fix an OpenGL error when an sRGB image is created with mipmaps in OpenGL ES 2.

--HG--
branch : minor
Alex Szpakowski 10 years ago
parent
commit
36e99b4880
1 changed files with 7 additions and 0 deletions
  1. 7 0
      src/modules/graphics/opengl/Image.cpp

+ 7 - 0
src/modules/graphics/opengl/Image.cpp

@@ -310,6 +310,13 @@ bool Image::loadVolatile()
 	{
 		if (flags.sRGB && !hasSRGBSupport())
 			throw love::Exception("sRGB images are not supported on this system.");
+
+		// GL_EXT_sRGB doesn't support glGenerateMipmap for sRGB textures.
+		if (flags.sRGB && (GLAD_ES_VERSION_2_0 && GLAD_EXT_sRGB && !GLAD_ES_VERSION_3_0))
+		{
+			flags.mipmaps = false;
+			filter.mipmap = FILTER_NONE;
+		}
 	}
 
 	// NPOT textures don't support mipmapping without full NPOT support.