summaryrefslogtreecommitdiffstats
path: root/make/config/jogl/gl-impl-CustomCCode-gl2es12.c
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-04-22 20:39:36 +0200
committerSven Gothel <[email protected]>2010-04-22 20:39:36 +0200
commit848df0f3b4d2cd27e03fc25c424759b870c6514b (patch)
tree1e583ed6a7d570f4aa7271c7583bb0d456a9c445 /make/config/jogl/gl-impl-CustomCCode-gl2es12.c
parent94c4ef007321f24177b32174d1ab24c91271da1f (diff)
Bring back GL2ES12 impl. for GL2ES1 and GL2ES2 desktop j2se and cdc. Fixing profiles accordingly.
Diffstat (limited to 'make/config/jogl/gl-impl-CustomCCode-gl2es12.c')
-rw-r--r--make/config/jogl/gl-impl-CustomCCode-gl2es12.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/make/config/jogl/gl-impl-CustomCCode-gl2es12.c b/make/config/jogl/gl-impl-CustomCCode-gl2es12.c
new file mode 100644
index 000000000..07b821802
--- /dev/null
+++ b/make/config/jogl/gl-impl-CustomCCode-gl2es12.c
@@ -0,0 +1,24 @@
+/* Java->C glue code:
+ * Java package: com.jogamp.opengl.impl.gl2es12.GL2ES12Impl
+ * Java method: long dispatch_glMapBuffer(int target, int access)
+ * C function: void * glMapBuffer(GLenum target, GLenum access);
+ */
+JNIEXPORT jlong JNICALL
+Java_com_jogamp_opengl_impl_gl2es12_GL2ES12Impl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) {
+ PFNGLMAPBUFFERPROC ptr_glMapBuffer;
+ void * _res;
+ ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress;
+ assert(ptr_glMapBuffer != NULL);
+ _res = (* ptr_glMapBuffer) ((GLenum) target, (GLenum) access);
+ return (jlong) (intptr_t) _res;
+}
+
+/* Java->C glue code:
+ * Java package: com.jogamp.opengl.impl.gl2es12.GL2ES12Impl
+ * Java method: ByteBuffer newDirectByteBuffer(long addr, int capacity);
+ * C function: jobject newDirectByteBuffer(jlong addr, jint capacity);
+ */
+JNIEXPORT jobject JNICALL
+Java_com_jogamp_opengl_impl_gl2es12_GL2ES12Impl_newDirectByteBuffer(JNIEnv *env, jobject _unused, jlong addr, jint capacity) {
+ return (*env)->NewDirectByteBuffer(env, (void*) (intptr_t) addr, capacity);
+}