From 36a3f32d6450ff32bca10eede84fa13254fa810e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Tue, 19 Mar 2019 23:54:57 +0100 Subject: [PATCH] GL: make *Texture::unbindImage() work on ARM Mali. Easy to fix, but the format should not matter in this case at all. --- doc/changelog.dox | 5 +++++ src/Magnum/GL/AbstractTexture.cpp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/changelog.dox b/doc/changelog.dox index 80066275b..cbeee38cf 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -168,6 +168,11 @@ See also: callback is called from the same thread as the one with the corresponding GL context (which is the case on Mesa AMD drivers). The documentation was updated to reflect that as well. +- @ref GL::AbstractTexture::unbindImage() "GL::*Texture::unbindImage()" now + uses a RGBA format instead of a single-channel format because + @ref GL::Context::DetectedDriver::ArmMali "ARM Mali" drivers complain about + R8 not being renderable (even though the format shouldn't matter when + unbinding a texture) @subsubsection changelog-latest-changes-math Math library diff --git a/src/Magnum/GL/AbstractTexture.cpp b/src/Magnum/GL/AbstractTexture.cpp index 4cbe0d46a..bd044c7a4 100644 --- a/src/Magnum/GL/AbstractTexture.cpp +++ b/src/Magnum/GL/AbstractTexture.cpp @@ -282,7 +282,7 @@ void AbstractTexture::unbindImage(const Int imageUnit) { /* Update state tracker, bind the texture to the unit */ std::get<0>(textureState.imageBindings[imageUnit]) = 0; - glBindImageTexture(imageUnit, 0, 0, false, 0, GL_READ_ONLY, GL_R8); + glBindImageTexture(imageUnit, 0, 0, false, 0, GL_READ_ONLY, GL_RGBA8); } #ifndef MAGNUM_TARGET_GLES