diff --git a/doc/changelog.dox b/doc/changelog.dox index a64a539aa..89172204a 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -189,6 +189,12 @@ See also: instanced buffers being too small when drawing such mesh as non-instanced. See @ref opengl-workarounds for more information, see also [mosra/magnum#539](https://github.com/mosra/magnum/pull/539). +- A new @cpp "adreno-glsl-version-stuck-at-300" @ce workaround for an + incorrect @glsl __VERSION__ @ce reported for GLSL ES 3.10 and 3.20 shaders + on Qualcomm Adreno drivers that caused builtin shaders to have broken + rendering or even crash. See @ref opengl-workarounds and + [mosra/magnum#618](https://github.com/mosra/magnum/issues/618) for more + information. @subsubsection changelog-latest-new-math Math library diff --git a/src/Magnum/GL/Implementation/ShaderState.cpp b/src/Magnum/GL/Implementation/ShaderState.cpp index 0a556fd47..2088d5d2f 100644 --- a/src/Magnum/GL/Implementation/ShaderState.cpp +++ b/src/Magnum/GL/Implementation/ShaderState.cpp @@ -77,6 +77,14 @@ ShaderState::ShaderState(Context& context, Containers::StaticArrayView= 300 #define EXPLICIT_ATTRIB_LOCATION #endif - #if __VERSION__ >= 310 + #if __VERSION__ >= 310 || (defined(MAGNUM_GLSL_VERSION) && MAGNUM_GLSL_VERSION >= 310) #define EXPLICIT_BINDING #define EXPLICIT_UNIFORM_LOCATION #endif