diff options
Diffstat (limited to 'libs/hwui/Extensions.cpp')
-rw-r--r-- | libs/hwui/Extensions.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/libs/hwui/Extensions.cpp b/libs/hwui/Extensions.cpp index 4dc7536d60bc..1d675791b851 100644 --- a/libs/hwui/Extensions.cpp +++ b/libs/hwui/Extensions.cpp @@ -45,13 +45,18 @@ Extensions::Extensions() { mHas1BitStencil = extensions.has("GL_OES_stencil1"); mHas4BitStencil = extensions.has("GL_OES_stencil4"); mHasUnpackSubImage = extensions.has("GL_EXT_unpack_subimage"); - mHasSRGB = extensions.has("GL_EXT_sRGB"); - mHasSRGBWriteControl = extensions.has("GL_EXT_sRGB_write_control"); - // If linear blending is enabled, the device must have ES3.0 and GL_EXT_sRGB_write_control #ifdef ANDROID_ENABLE_LINEAR_BLENDING - assert(mVersionMajor >= 3 || mHasSRGB); - assert(mHasSRGBWriteControl); + mHasSRGB = mVersionMajor >= 3 || extensions.has("GL_EXT_sRGB"); + mHasSRGBWriteControl = extensions.has("GL_EXT_sRGB_write_control"); + + // If linear blending is enabled, the device must have (ES3.0 or EXT_sRGB) + // and EXT_sRGB_write_control + LOG_ALWAYS_FATAL_IF(!mHasSRGB, "Linear blending requires ES 3.0 or EXT_sRGB"); + LOG_ALWAYS_FATAL_IF(!mHasSRGBWriteControl, "Linear blending requires EXT_sRGB_write_control"); +#else + mHasSRGB = false; + mHasSRGBWriteControl = false; #endif const char* version = (const char*) glGetString(GL_VERSION); |