api-impl: add native implementations for more GL and EGL java wrappers

This commit is contained in:
Mis012
2024-06-13 20:40:58 +02:00
parent 26657d4a26
commit ccc2a86cf7
6 changed files with 29 additions and 10 deletions

View File

@@ -252,3 +252,8 @@ JNIEXPORT void JNICALL Java_android_opengl_GLES20_glGetFloatv__I_3FI(JNIEnv *env
(*env)->ReleasePrimitiveArrayCritical(env, params_ref, params_base, 0); (*env)->ReleasePrimitiveArrayCritical(env, params_ref, params_base, 0);
} }
JNIEXPORT void JNICALL Java_android_opengl_GLES20_glFlush(JNIEnv *env, jclass this)
{
glFlush();
}

View File

@@ -125,3 +125,11 @@ JNIEXPORT jboolean JNICALL Java_com_google_android_gles_1jni_EGLImpl_native_1egl
{ {
return eglDestroyContext(_PTR(display), _PTR(context)); return eglDestroyContext(_PTR(display), _PTR(context));
} }
JNIEXPORT jlong JNICALL Java_com_google_android_gles_1jni_EGLImpl_native_1eglCreatePbufferSurface(JNIEnv *env, jobject this, jlong display, jlong config, jintArray _attrib_list)
{
EGLint *attrib_list = get_int_array_crit(env, _attrib_list);
EGLSurface ret = eglCreatePbufferSurface(_PTR(display), _PTR(config), attrib_list);
release_int_array_crit(env, _attrib_list, attrib_list);
return _INTPTR(ret);
}

View File

@@ -87,6 +87,14 @@ JNIEXPORT jboolean JNICALL Java_com_google_android_gles_1jni_EGLImpl_native_1egl
JNIEXPORT jboolean JNICALL Java_com_google_android_gles_1jni_EGLImpl_native_1eglDestroyContext JNIEXPORT jboolean JNICALL Java_com_google_android_gles_1jni_EGLImpl_native_1eglDestroyContext
(JNIEnv *, jobject, jlong, jlong); (JNIEnv *, jobject, jlong, jlong);
/*
* Class: com_google_android_gles_jni_EGLImpl
* Method: native_eglCreatePbufferSurface
* Signature: (JJ[I)J
*/
JNIEXPORT jlong JNICALL Java_com_google_android_gles_1jni_EGLImpl_native_1eglCreatePbufferSurface
(JNIEnv *, jobject, jlong, jlong, jintArray);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@@ -263,14 +263,6 @@ JNIEXPORT void JNICALL Java_com_google_android_gles_1jni_GLImpl_glEnableClientSt
JNIEXPORT void JNICALL Java_com_google_android_gles_1jni_GLImpl_glFinish JNIEXPORT void JNICALL Java_com_google_android_gles_1jni_GLImpl_glFinish
(JNIEnv *, jobject); (JNIEnv *, jobject);
/*
* Class: com_google_android_gles_jni_GLImpl
* Method: glFlush
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_com_google_android_gles_1jni_GLImpl_glFlush
(JNIEnv *, jobject);
/* /*
* Class: com_google_android_gles_jni_GLImpl * Class: com_google_android_gles_jni_GLImpl
* Method: glFogf * Method: glFogf

View File

@@ -118,9 +118,12 @@ public class EGLImpl implements EGL10 {
return native_eglDestroyContext(display.native_egl_display, context.native_egl_context); return native_eglDestroyContext(display.native_egl_display, context.native_egl_context);
} }
public EGLSurface eglCreatePbufferSurface(EGLDisplay display, EGLConfig config, int[] attrib_list) {
return new EGLSurfaceImpl(native_eglCreatePbufferSurface(display.native_egl_display, config.native_egl_config, attrib_list));
}
/* STUBS */ /* STUBS */
public boolean eglCopyBuffers(EGLDisplay display, EGLSurface surface, Object native_pixmap) { return false; } public boolean eglCopyBuffers(EGLDisplay display, EGLSurface surface, Object native_pixmap) { return false; }
public EGLSurface eglCreatePbufferSurface(EGLDisplay display, EGLConfig config, int[] attrib_list) { return null; }
public EGLSurface eglCreatePixmapSurface(EGLDisplay display, EGLConfig config, Object native_pixmap, int[] attrib_list) { return null; } public EGLSurface eglCreatePixmapSurface(EGLDisplay display, EGLConfig config, Object native_pixmap, int[] attrib_list) { return null; }
public boolean eglGetConfigs(EGLDisplay display, EGLConfig[] configs, int config_size, int[] num_config) { return false; } public boolean eglGetConfigs(EGLDisplay display, EGLConfig[] configs, int config_size, int[] num_config) { return false; }
public EGLContext eglGetCurrentContext() { return null; } public EGLContext eglGetCurrentContext() { return null; }
@@ -146,4 +149,5 @@ public class EGLImpl implements EGL10 {
private native boolean native_eglSwapBuffers(long native_egl_display, long native_surface); private native boolean native_eglSwapBuffers(long native_egl_display, long native_surface);
private native boolean native_eglDestroySurface(long native_egl_display, long native_surface); private native boolean native_eglDestroySurface(long native_egl_display, long native_surface);
private native boolean native_eglDestroyContext(long native_egl_display, long native_context); private native boolean native_eglDestroyContext(long native_egl_display, long native_context);
private native long native_eglCreatePbufferSurface(long native_egl_display, long native_egl_config, int[] attrib_list);
} }

View File

@@ -344,7 +344,9 @@ public class GLImpl implements GL10, GL10Ext, GL11, GL11Ext, GL11ExtensionPack {
// C function void glFlush ( void ) // C function void glFlush ( void )
public native void glFlush(); public void glFlush() {
GLES10.glFlush();
}
// C function void glFogf ( GLenum pname, GLfloat param ) // C function void glFogf ( GLenum pname, GLfloat param )