diff --git a/src/platform/core/src/device/ogl_video_device.cpp b/src/platform/core/src/device/ogl_video_device.cpp index 027d0ea02..a6bc10a00 100644 --- a/src/platform/core/src/device/ogl_video_device.cpp +++ b/src/platform/core/src/device/ogl_video_device.cpp @@ -84,10 +84,14 @@ void OGLVideoDevice::UpdateTextures() { constexpr GLsizei gba_screen_width = 240; constexpr GLsizei gba_screen_height = 160; + const auto texture_format = + config->video.color == Video::Color::No ? GL_SRGB8_ALPHA8 : GL_RGBA8; + for(auto& texture_ref : texture) { glBindTexture(GL_TEXTURE_2D, texture_ref); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, gba_screen_width, gba_screen_height, 0, GL_BGRA, GL_UNSIGNED_BYTE, nullptr); + glTexImage2D(GL_TEXTURE_2D, 0, texture_format, gba_screen_width, + gba_screen_height, 0, GL_BGRA, GL_UNSIGNED_BYTE, nullptr); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, texture_filter); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, texture_filter);