Add Collapsible Code Blocks #5622 by Bigsby11 · Pull Request #6247 · processing/processing
and others added 30 commits
Testing on the latest Raspbian release shows that the open-source Mesa driver can handle 4 lights on all P3D examples without tripping up during register allocation. Still an issue with 8 lights, so leave it at 4 for now, and re-test with 6 next time around.
Fixes: java.lang.RuntimeException: GL function glRenderbufferStorageMultisample() is not available on this hardware (or driver) Read <a href="http://wiki.processing.org/w/OpenGL_Issues" target="_blank" rel="nofollow">http://wiki.processing.org/w/OpenGL_Issues</a> for help. at processing.opengl.PJOGL.renderbufferStorageMultisample(PJOGL.java:1941) at processing.opengl.PGL.createFBOLayer(PGL.java:955) at processing.opengl.PGL.beginRender(PGL.java:727) at processing.opengl.PGraphicsOpenGL.beginOnscreenDraw(PGraphicsOpenGL.java:6577) at processing.opengl.PGraphicsOpenGL.beginDraw(PGraphicsOpenGL.java:1459) at processing.core.PApplet.handleDraw(PApplet.java:2388) 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)
Fixes: java.lang.RuntimeException: GL function glReadBuffer() is not available on this hardware (or driver) Read <a href="http://wiki.processing.org/w/OpenGL_Issues" target="_blank" rel="nofollow">http://wiki.processing.org/w/OpenGL_Issues</a> for help. at processing.opengl.PJOGL.readBuffer(PJOGL.java:1954) at processing.opengl.PJOGL.initFBOLayerES(PJOGL.java:310) at processing.opengl.PJOGL.initFBOLayer(PJOGL.java:301) at processing.opengl.PGL.createFBOLayer(PGL.java:988) at processing.opengl.PGL.beginRender(PGL.java:727) at processing.opengl.PGraphicsOpenGL.beginOnscreenDraw(PGraphicsOpenGL.java:6576) at processing.opengl.PGraphicsOpenGL.beginDraw(PGraphicsOpenGL.java:1459) at processing.core.PApplet.handleDraw(PApplet.java:2388) 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)
Fixes: java.lang.RuntimeException: GL function glBlitFramebuffer() is not available on this hardware (or driver) Read <a href="http://wiki.processing.org/w/OpenGL_Issues" target="_blank" rel="nofollow">http://wiki.processing.org/w/OpenGL_Issues</a> 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)
Fixes:
GLDebugEvent[ id 0xb
type Error
severity High: dangerous undefined behavior
source GL API
msg Error:glGetFloatv::<pname> is not an accepted value
when 1524036153380
source 3.1 (ES profile, arb, debug, compat[ES2, ES3, ES31], FBO, hardware) - OpenGL ES 3.1 v1.r17p0-01rel0.a881d28363cdb20f0017ed13c980967e - hash 0xc39cf5]
[2]: jogamp.opengl.GLDebugMessageHandler$StdErrGLDebugListener.messageSent(GLDebugMessageHandler.java:347)
[3]: jogamp.opengl.GLDebugMessageHandler.sendMessage(GLDebugMessageHandler.java:332)
[4]: jogamp.opengl.GLDebugMessageHandler.glDebugMessageARB(GLDebugMessageHandler.java:358)
[5]: jogamp.opengl.es3.GLES3Impl.dispatch_glGetFloatv1(Native Method)
[6]: jogamp.opengl.es3.GLES3Impl.glGetFloatv(GLES3Impl.java:1157)
[7]: com.jogamp.opengl.DebugGLES3.glGetFloatv(DebugGLES3.java:3260)
[8]: processing.opengl.PJOGL.getFloatv(PJOGL.java:1106)
[9]: processing.opengl.PGraphicsOpenGL.getGLParameters(PGraphicsOpenGL.java:6892)
[10]: processing.opengl.PGraphicsOpenGL.beginDraw(PGraphicsOpenGL.java:1454)
[11]: processing.core.PApplet.handleDraw(PApplet.java:2388)
[12]: processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:866)
[13]: jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
[14]: jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
[15]: jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
[16]: jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
[17]: jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
[18]: com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
[19]: com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
[20]: com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
[21]: com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
[22]: java.util.TimerThread.mainLoop(Timer.java:555)
[23]: java.util.TimerThread.run(Timer.java:505)
Aarch64 version compiled courtesy of @xranby
Fixes:
GLDebugEvent[ id 0x32
type Error
severity High: dangerous undefined behavior
source GL API
msg Error:glEnable::<cap> is not one of the accepted values
when 1524184964512
source 3.1 (ES profile, arb, debug, compat[ES2, ES3, ES31], FBO, hardware) - OpenGL ES 3.1 v1.r17p0-01rel0.a881d28363cdb20f0017ed13c980967e - hash 0x1f928e9]
[2]: jogamp.opengl.GLDebugMessageHandler$StdErrGLDebugListener.messageSent(GLDebugMessageHandler.java:347)
[3]: jogamp.opengl.GLDebugMessageHandler.sendMessage(GLDebugMessageHandler.java:332)
[4]: jogamp.opengl.GLDebugMessageHandler.glDebugMessageARB(GLDebugMessageHandler.java:358)
[5]: jogamp.opengl.es3.GLES3Impl.dispatch_glEnable1(Native Method)
[6]: jogamp.opengl.es3.GLES3Impl.glEnable(GLES3Impl.java:734)
[7]: com.jogamp.opengl.DebugGLES3.glEnable(DebugGLES3.java:2121)
[8]: processing.opengl.PJOGL.enable(PJOGL.java:1068)
[9]: processing.opengl.PGraphicsOpenGL.setGLSettings(PGraphicsOpenGL.java:6784)
[10]: processing.opengl.PGraphicsOpenGL.checkSettings(PGraphicsOpenGL.java:6740)
[11]: processing.opengl.PGraphicsOpenGL.beginDraw(PGraphicsOpenGL.java:1463)
[12]: processing.core.PApplet.handleDraw(PApplet.java:2388)
[13]: processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:866)
[14]: jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
[15]: jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
[16]: jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
[17]: jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
[18]: jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
[19]: com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
[20]: com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
[21]: com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
[22]: com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
[23]: java.util.TimerThread.mainLoop(Timer.java:555)
[24]: java.util.TimerThread.run(Timer.java:505)
This now matches the logic in setGLSettings(), as suggested by @JakubValtar.
The error code returned from C seems to have changed from -EIO to -EREMOTEIO during some recent kernel version.
If the file node is not accessible yet, NativeInterface.writeFile() will return -EACCES instead of -EPERM. Thanks @msurguy for reporting this and testing.
Wikipedia had it wrong: the spec for the OpenGL ES Shading Language Version 1.00 defines the version preprocessor directive as "#version 100", and _not_ "#version 100 es", like version 3.00+ of the language wants it. This made the Raspberry Pi with the legacy driver unhappy. Thanks @DangusTaargus for reporting. see https://www.khronos.org/files/opengles_shading_language.pdf
github-actions
Bot
locked as resolved and limited conversation to collaborators
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters