From 7b91ab915c839b969826123565df69e5e03835a9 Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Sat, 7 Apr 2018 11:35:20 -0300 Subject: [PATCH] Potentially fix depth/stencil support on older phones. --- src/modules/graphics/opengl/Canvas.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/modules/graphics/opengl/Canvas.cpp b/src/modules/graphics/opengl/Canvas.cpp index b0267f31f..06457498d 100644 --- a/src/modules/graphics/opengl/Canvas.cpp +++ b/src/modules/graphics/opengl/Canvas.cpp @@ -510,6 +510,18 @@ bool Canvas::isFormatSupported(PixelFormat format, bool readable) GLuint texture = 0; GLuint renderbuffer = 0; + // Avoid the test for depth/stencil formats - not every GL version + // guarantees support for depth/stencil-only render targets (which we would + // need for the test below to work), and we already do some finagling in + // convertPixelFormat to try to use the best-supported internal + // depth/stencil format for a particular driver. + if (isPixelFormatDepthStencil(format)) + { + checkedFormats[format].set(readable, true); + supportedFormats[format].set(readable, true); + return true; + } + bool unusedSRGB = false; OpenGL::TextureFormat fmt = OpenGL::convertPixelFormat(format, readable, unusedSRGB);