mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2024-11-28 18:45:54 -05:00
Fix crash on some OpenGLES devices
On some older OpenGLES devices, attempting to bind textures to unsupported compressed formats can crash. So explicitly disable the unsupported formats so this never happens.
This commit is contained in:
parent
b4c5bc8e02
commit
8efcae4243
1 changed files with 14 additions and 0 deletions
|
@ -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) )
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue