aboutsummaryrefslogtreecommitdiffstats
path: root/make/config/jogl
diff options
context:
space:
mode:
Diffstat (limited to 'make/config/jogl')
-rw-r--r--make/config/jogl/cgl-macosx.cfg1
-rw-r--r--make/config/jogl/gl-common.cfg23
-rw-r--r--make/config/jogl/gl-gl4bc.cfg4
-rw-r--r--make/config/jogl/gl-if-CustomJavaCode-gl.java19
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-common.java6
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gl2_es2.java2
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java8
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gles1.java8
8 files changed, 59 insertions, 12 deletions
diff --git a/make/config/jogl/cgl-macosx.cfg b/make/config/jogl/cgl-macosx.cfg
index 38034a7ad..06bc94626 100644
--- a/make/config/jogl/cgl-macosx.cfg
+++ b/make/config/jogl/cgl-macosx.cfg
@@ -16,6 +16,7 @@ Opaque long void *
# Opaque directives for low-level CGL binding (for Java2D/JOGL bridge)
Opaque long CGLContextObj
+Opaque long CGLShareGroupObj
Opaque long CGLPBufferObj
Opaque long CGLPixelFormatObj
diff --git a/make/config/jogl/gl-common.cfg b/make/config/jogl/gl-common.cfg
index 2c59a74ed..2faef6f0c 100644
--- a/make/config/jogl/gl-common.cfg
+++ b/make/config/jogl/gl-common.cfg
@@ -434,7 +434,7 @@ ArgumentIsString glGetUniformIndices 2
ArgumentIsString glGetUniformBlockIndex 1
ArgumentIsString glTransformFeedbackVaryings 2
-# String output values:
+# String return values must use byte[] etc ..
# ArgumentIsString glGetActiveAttrib 6
# ArgumentIsString glGetActiveUniformBlockName 4
# ArgumentIsString glGetActiveUniformName 4
@@ -443,6 +443,27 @@ ArgumentIsString glTransformFeedbackVaryings 2
# ArgumentIsString glGetShaderInfoLog 3
# ArgumentIsString glGetShaderSource 3
# ArgumentIsString glGetTransformFeedbackVarying 6
+# ArgumentIsString glGetActiveUniformARB 6
+# ArgumentIsString glGetActiveSubroutineName 5
+# ArgumentIsString glGetActiveSubroutineUniformName 5
+# ArgumentIsString glGetNamedStringARB 4 - bug param1 is String r/o see below
+
+ArgumentIsString glBindFragDataLocationIndexed 3
+ArgumentIsString glGetFragDataIndex 1
+ArgumentIsString glGetSubroutineIndex 2
+ArgumentIsString glGetSubroutineUniformLocation 2
+
+ArgumentIsString glDebugMessageInsertARB 5
+ArgumentIsString glGetDebugMessageLogARB 7
+ArgumentIsString glDebugMessageInsertAMD 4
+ArgumentIsString glGetDebugMessageLogAMD 6
+
+ArgumentIsString glNamedStringARB 2 4
+ArgumentIsString glDeleteNamedStringARB 1
+ArgumentIsString glCompileShaderIncludeARB 2
+ArgumentIsString glIsNamedStringARB 1
+ArgumentIsString glGetNamedStringARB 1
+ArgumentIsString glGetNamedStringivARB 1
#
# Use cached GL_EXTENSION if possible,
diff --git a/make/config/jogl/gl-gl4bc.cfg b/make/config/jogl/gl-gl4bc.cfg
index 06a9c76f1..aafb9166b 100644
--- a/make/config/jogl/gl-gl4bc.cfg
+++ b/make/config/jogl/gl-gl4bc.cfg
@@ -51,6 +51,10 @@ ManuallyImplement glMapNamedBufferEXT
ForceProcAddressGen glMapNamedBufferEXT
JavaEpilogue glNamedBufferDataEXT bufferSizeTracker.setDirectStateBufferSize({0}, this, {1});
+# Manuall implement glDebugMessageCallback* using the proc address resolver
+ForceProcAddressGen glDebugMessageCallbackARB
+ForceProcAddressGen glDebugMessageCallbackAMD
+
# Force all of the methods to be emitted using dynamic linking so we
# don't need to link against any emulation library on the desktop or
# depend on the presence of an import library for a particular device
diff --git a/make/config/jogl/gl-if-CustomJavaCode-gl.java b/make/config/jogl/gl-if-CustomJavaCode-gl.java
index 1ff8b8e8e..4741b2df5 100644
--- a/make/config/jogl/gl-if-CustomJavaCode-gl.java
+++ b/make/config/jogl/gl-if-CustomJavaCode-gl.java
@@ -58,8 +58,25 @@
public void glDepthRange(double zNear, double zFar);
+ /**
+ * @param target a GL buffer (VBO) target as used in {@link GL#glBindBuffer(int, int)}, ie {@link GL#GL_ELEMENT_ARRAY_BUFFER}, {@link GL#GL_ARRAY_BUFFER}, ..
+ * @return the GL buffer (VBO) name bound to a target via {@link GL#glBindBuffer(int, int)} or 0 if unbound.
+ */
public int glGetBoundBuffer(int target);
+ /**
+ * @param buffer a GL buffer name, generated with {@link GL#glGenBuffers(int, int[], int)} and used in {@link GL#glBindBuffer(int, int)}, {@link GL#glBufferData(int, long, java.nio.Buffer, int)} or {@link GL2#glNamedBufferDataEXT(int, long, java.nio.Buffer, int)} for example.
+ * @return the size of the given GL buffer
+ */
+ public long glGetBufferSize(int buffer);
+
+ /**
+ * @return true if a VBO is bound to {@link GL.GL_ARRAY_BUFFER} via {@link GL#glBindBuffer(int, int)}, otherwise false
+ */
public boolean glIsVBOArrayEnabled();
- public boolean glIsVBOElementEnabled();
+
+ /**
+ * @return true if a VBO is bound to {@link GL.GL_ELEMENT_ARRAY_BUFFER} via {@link GL#glBindBuffer(int, int)}, otherwise false
+ */
+ public boolean glIsVBOElementArrayEnabled();
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-common.java b/make/config/jogl/gl-impl-CustomJavaCode-common.java
index 4872490b0..0a8e90171 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-common.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-common.java
@@ -7,11 +7,15 @@
return bufferStateTracker.getBoundBufferObject(target, this);
}
+ public long glGetBufferSize(int buffer) {
+ return bufferSizeTracker.getDirectStateBufferSize(buffer, this);
+ }
+
public boolean glIsVBOArrayEnabled() {
return checkArrayVBOEnabled(false);
}
- public boolean glIsVBOElementEnabled() {
+ public boolean glIsVBOElementArrayEnabled() {
return checkElementVBOEnabled(false);
}
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl2_es2.java b/make/config/jogl/gl-impl-CustomJavaCode-gl2_es2.java
index d99f46ec1..bc2af092b 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gl2_es2.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gl2_es2.java
@@ -2,7 +2,7 @@
if(array.getComponentNumber()==0) return;
if(array.isVBO()) {
glVertexAttribPointer(array.getLocation(), array.getComponentNumber(), array.getComponentType(),
- array.getNormalized(), array.getStride(), array.getOffset());
+ array.getNormalized(), array.getStride(), array.getVBOOffset());
} else {
glVertexAttribPointer(array.getLocation(), array.getComponentNumber(), array.getComponentType(),
array.getNormalized(), array.getStride(), array.getBuffer());
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java b/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java
index 6776feeb7..dbfa3ef4d 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java
@@ -358,7 +358,7 @@ native private ByteBuffer newDirectByteBuffer(long addr, long capacity);
public void glVertexPointer(GLArrayData array) {
if(array.getComponentNumber()==0) return;
if(array.isVBO()) {
- glVertexPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getOffset());
+ glVertexPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getVBOOffset());
} else {
glVertexPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getBuffer());
}
@@ -366,7 +366,7 @@ native private ByteBuffer newDirectByteBuffer(long addr, long capacity);
public void glColorPointer(GLArrayData array) {
if(array.getComponentNumber()==0) return;
if(array.isVBO()) {
- glColorPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getOffset());
+ glColorPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getVBOOffset());
} else {
glColorPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getBuffer());
}
@@ -378,7 +378,7 @@ native private ByteBuffer newDirectByteBuffer(long addr, long capacity);
throw new GLException("Only 3 components per normal allowed");
}
if(array.isVBO()) {
- glNormalPointer(array.getComponentType(), array.getStride(), array.getOffset());
+ glNormalPointer(array.getComponentType(), array.getStride(), array.getVBOOffset());
} else {
glNormalPointer(array.getComponentType(), array.getStride(), array.getBuffer());
}
@@ -386,7 +386,7 @@ native private ByteBuffer newDirectByteBuffer(long addr, long capacity);
public void glTexCoordPointer(GLArrayData array) {
if(array.getComponentNumber()==0) return;
if(array.isVBO()) {
- glTexCoordPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getOffset());
+ glTexCoordPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getVBOOffset());
} else {
glTexCoordPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getBuffer());
}
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gles1.java b/make/config/jogl/gl-impl-CustomJavaCode-gles1.java
index faff8b89f..0a0f87897 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gles1.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gles1.java
@@ -295,7 +295,7 @@ native private ByteBuffer newDirectByteBuffer(long addr, long capacity);
public void glVertexPointer(GLArrayData array) {
if(array.getComponentNumber()==0) return;
if(array.isVBO()) {
- glVertexPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getOffset());
+ glVertexPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getVBOOffset());
} else {
glVertexPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getBuffer());
}
@@ -303,7 +303,7 @@ public void glVertexPointer(GLArrayData array) {
public void glColorPointer(GLArrayData array) {
if(array.getComponentNumber()==0) return;
if(array.isVBO()) {
- glColorPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getOffset());
+ glColorPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getVBOOffset());
} else {
glColorPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getBuffer());
}
@@ -315,7 +315,7 @@ public void glNormalPointer(GLArrayData array) {
throw new GLException("Only 3 components per normal allowed");
}
if(array.isVBO()) {
- glNormalPointer(array.getComponentType(), array.getStride(), array.getOffset());
+ glNormalPointer(array.getComponentType(), array.getStride(), array.getVBOOffset());
} else {
glNormalPointer(array.getComponentType(), array.getStride(), array.getBuffer());
}
@@ -323,7 +323,7 @@ public void glNormalPointer(GLArrayData array) {
public void glTexCoordPointer(GLArrayData array) {
if(array.getComponentNumber()==0) return;
if(array.isVBO()) {
- glTexCoordPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getOffset());
+ glTexCoordPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getVBOOffset());
} else {
glTexCoordPointer(array.getComponentNumber(), array.getComponentType(), array.getStride(), array.getBuffer());
}