This binding: gl4.glBindBuffer(GL_PARAMETER_BUFFER_ARB, bufferName[Buffer.PARAMETER]); Fires the following exception: Caused by: com.jogamp.opengl.GLException: GL_INVALID_ENUM: Invalid binding target 0x80EE at jogamp.opengl.GLBufferStateTracker.checkTargetName(GLBufferStateTracker.java:174) at jogamp.opengl.GLBufferStateTracker.setBoundBufferObject(GLBufferStateTracker.java:189) at jogamp.opengl.gl4.GL4bcImpl.glBindBuffer(GL4bcImpl.java:10213) at tests.gl_500.Gl_500_multi_draw_indirect_count_arb.initBuffer(Gl_500_multi_draw_indirect_count_arb.java:300) GL_PARAMETER_BUFFER_ARB is a legal buffer binding
Actually the fix is pretty easy :p https://github.com/sgothel/jogl/pull/98
GLBufferStateTracker needs to support ARB_indirect_parameters, i.e. checkTargetName(target) and getQueryName(target) need to recognize GL4.GL_PARAMETER_BUFFER_ARB.