Jelajahi Sumber

Merge pull request #483 from jonnyhopper/master

Fix crash on some OpenGLES devices
Branimir Karadžić 10 tahun lalu
induk
melakukan
bd8f21d1b0
1 mengubah file dengan 14 tambahan dan 0 penghapusan
  1. 14 0
      src/renderer_gl.cpp

+ 14 - 0
src/renderer_gl.cpp

@@ -1451,7 +1451,21 @@ namespace bgfx { namespace gl
 					setTextureFormat(TextureFormat::BGRA8, GL_RGBA, GL_BGRA, GL_UNSIGNED_BYTE);
 				}
 			}
+			
+#ifdef BGFX_CONFIG_RENDERER_OPENGLES
+			// on some older devices attempting glTexImage2D or glCompressedTexImage2D with unsupported compressed formats can crash
+			// so disable the format by setting to GL_ZERO
+			for (uint32_t ii = 0; ii < TextureFormat::Unknown; ++ii)
+			{
+				if ( !s_textureFormat[ ii ].m_supported )
+				{
+					s_textureFormat[ ii ].m_internalFmt = GL_ZERO;
+					s_textureFormat[ ii ].m_internalFmtSrgb = GL_ZERO;
+				}
+			}
+#endif
 
+			
 			if (BX_ENABLED(BX_PLATFORM_EMSCRIPTEN)
 			||  !isTextureFormatValid(TextureFormat::R8) )
 			{