From d3b7148cbc8a5740ff5720fe2cab28360394df4b Mon Sep 17 00:00:00 2001 From: gohai Date: Tue, 17 Apr 2018 18:27:14 -0700 Subject: [PATCH] ARM Mali: Implement glBlitFramebuffer for gl3es3 Fixes: java.lang.RuntimeException: GL function glBlitFramebuffer() is not available on this hardware (or driver) Read http://wiki.processing.org/w/OpenGL_Issues for help. at processing.opengl.PJOGL.blitFramebuffer(PJOGL.java:1939) at processing.opengl.PGL.syncBackTexture(PGL.java:595) at processing.opengl.PGL.endRender(PGL.java:769) at processing.opengl.PGraphicsOpenGL.endOnscreenDraw(PGraphicsOpenGL.java:6598) at processing.opengl.PGraphicsOpenGL.endDraw(PGraphicsOpenGL.java:1483) at processing.core.PApplet.handleDraw(PApplet.java:2444) at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:866) at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692) at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674) at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443) at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293) at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147) at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759) at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81) at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452) at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505) --- core/src/processing/opengl/PJOGL.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/src/processing/opengl/PJOGL.java b/core/src/processing/opengl/PJOGL.java index 0d0504a3a..c15eefb53 100644 --- a/core/src/processing/opengl/PJOGL.java +++ b/core/src/processing/opengl/PJOGL.java @@ -1934,6 +1934,8 @@ public class PJOGL extends PGL { gl2x.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } else if (gl3 != null) { gl3.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + } else if (gl3es3 != null) { + gl3es3.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } else { throw new RuntimeException(String.format(MISSING_GLFUNC_ERROR, "glBlitFramebuffer()")); }