Loading api/current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -25546,7 +25546,7 @@ package android.opengl { method public static android.opengl.EGLContext eglCreateContext(android.opengl.EGLDisplay, android.opengl.EGLConfig, android.opengl.EGLContext, int[], int); method public static android.opengl.EGLSurface eglCreatePbufferFromClientBuffer(android.opengl.EGLDisplay, int, int, android.opengl.EGLConfig, int[], int); method public static android.opengl.EGLSurface eglCreatePbufferSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int[], int); method public static android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int); method public static deprecated android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int); method public static android.opengl.EGLSurface eglCreateWindowSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, java.lang.Object, int[], int); method public static boolean eglDestroyContext(android.opengl.EGLDisplay, android.opengl.EGLContext); method public static boolean eglDestroySurface(android.opengl.EGLDisplay, android.opengl.EGLSurface); Loading Loading @@ -64219,7 +64219,7 @@ package javax.microedition.khronos.egl { method public abstract boolean eglCopyBuffers(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, java.lang.Object); method public abstract javax.microedition.khronos.egl.EGLContext eglCreateContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, javax.microedition.khronos.egl.EGLContext, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePbufferSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract deprecated javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreateWindowSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract boolean eglDestroyContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext); method public abstract boolean eglDestroySurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface); api/system-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -28073,7 +28073,7 @@ package android.opengl { method public static android.opengl.EGLContext eglCreateContext(android.opengl.EGLDisplay, android.opengl.EGLConfig, android.opengl.EGLContext, int[], int); method public static android.opengl.EGLSurface eglCreatePbufferFromClientBuffer(android.opengl.EGLDisplay, int, int, android.opengl.EGLConfig, int[], int); method public static android.opengl.EGLSurface eglCreatePbufferSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int[], int); method public static android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int); method public static deprecated android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int); method public static android.opengl.EGLSurface eglCreateWindowSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, java.lang.Object, int[], int); method public static boolean eglDestroyContext(android.opengl.EGLDisplay, android.opengl.EGLContext); method public static boolean eglDestroySurface(android.opengl.EGLDisplay, android.opengl.EGLSurface); Loading Loading @@ -67742,7 +67742,7 @@ package javax.microedition.khronos.egl { method public abstract boolean eglCopyBuffers(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, java.lang.Object); method public abstract javax.microedition.khronos.egl.EGLContext eglCreateContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, javax.microedition.khronos.egl.EGLContext, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePbufferSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract deprecated javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreateWindowSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract boolean eglDestroyContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext); method public abstract boolean eglDestroySurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface); api/test-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -25633,7 +25633,7 @@ package android.opengl { method public static android.opengl.EGLContext eglCreateContext(android.opengl.EGLDisplay, android.opengl.EGLConfig, android.opengl.EGLContext, int[], int); method public static android.opengl.EGLSurface eglCreatePbufferFromClientBuffer(android.opengl.EGLDisplay, int, int, android.opengl.EGLConfig, int[], int); method public static android.opengl.EGLSurface eglCreatePbufferSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int[], int); method public static android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int); method public static deprecated android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int); method public static android.opengl.EGLSurface eglCreateWindowSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, java.lang.Object, int[], int); method public static boolean eglDestroyContext(android.opengl.EGLDisplay, android.opengl.EGLContext); method public static boolean eglDestroySurface(android.opengl.EGLDisplay, android.opengl.EGLSurface); Loading Loading @@ -64491,7 +64491,7 @@ package javax.microedition.khronos.egl { method public abstract boolean eglCopyBuffers(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, java.lang.Object); method public abstract javax.microedition.khronos.egl.EGLContext eglCreateContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, javax.microedition.khronos.egl.EGLContext, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePbufferSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract deprecated javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreateWindowSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract boolean eglDestroyContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext); method public abstract boolean eglDestroySurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface); core/jni/com_google_android_gles_jni_EGLImpl.cpp +1 −49 Original line number Diff line number Diff line Loading @@ -254,59 +254,11 @@ static jlong jni_eglCreatePbufferSurface(JNIEnv *_env, jobject _this, jobject di return reinterpret_cast<jlong>(sur); } static PixelFormat convertPixelFormat(SkColorType format) { switch (format) { case kN32_SkColorType: return PIXEL_FORMAT_RGBA_8888; case kARGB_4444_SkColorType: return PIXEL_FORMAT_RGBA_4444; case kRGB_565_SkColorType: return PIXEL_FORMAT_RGB_565; default: return PIXEL_FORMAT_NONE; } } static void jni_eglCreatePixmapSurface(JNIEnv *_env, jobject _this, jobject out_sur, jobject display, jobject config, jobject native_pixmap, jintArray attrib_list) { if (display == NULL || config == NULL || native_pixmap == NULL || !validAttribList(_env, attrib_list)) { jniThrowException(_env, "java/lang/IllegalArgumentException", NULL); return; } EGLDisplay dpy = getDisplay(_env, display); EGLConfig cnf = getConfig(_env, config); jint* base = 0; SkBitmap nativeBitmap; GraphicsJNI::getSkBitmap(_env, native_pixmap, &nativeBitmap); SkPixelRef* ref = nativeBitmap.pixelRef(); if (ref == NULL) { jniThrowException(_env, "java/lang/IllegalArgumentException", "Bitmap has no PixelRef"); return; } SkSafeRef(ref); ref->lockPixels(); egl_native_pixmap_t pixmap; pixmap.version = sizeof(pixmap); pixmap.width = nativeBitmap.width(); pixmap.height = nativeBitmap.height(); pixmap.stride = nativeBitmap.rowBytes() / nativeBitmap.bytesPerPixel(); pixmap.format = convertPixelFormat(nativeBitmap.colorType()); pixmap.data = (uint8_t*)ref->pixels(); base = beginNativeAttribList(_env, attrib_list); EGLSurface sur = eglCreatePixmapSurface(dpy, cnf, &pixmap, base); endNativeAttributeList(_env, attrib_list, base); if (sur != EGL_NO_SURFACE) { _env->SetLongField(out_sur, gSurface_EGLSurfaceFieldID, reinterpret_cast<jlong>(sur)); _env->SetLongField(out_sur, gSurface_NativePixelRefFieldID, reinterpret_cast<jlong>(ref)); } else { ref->unlockPixels(); SkSafeUnref(ref); } jniThrowException(_env, "java/lang/UnsupportedOperationException", "eglCreatePixmapSurface"); } static jlong jni_eglCreateWindowSurface(JNIEnv *_env, jobject _this, jobject display, Loading opengl/java/android/opengl/EGL14.java +1 −0 Original line number Diff line number Diff line Loading @@ -284,6 +284,7 @@ public static final int EGL_CORE_NATIVE_ENGINE = 0x305B; // C function EGLSurface eglCreatePixmapSurface ( EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list ) @Deprecated public static native EGLSurface eglCreatePixmapSurface( EGLDisplay dpy, EGLConfig config, Loading Loading
api/current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -25546,7 +25546,7 @@ package android.opengl { method public static android.opengl.EGLContext eglCreateContext(android.opengl.EGLDisplay, android.opengl.EGLConfig, android.opengl.EGLContext, int[], int); method public static android.opengl.EGLSurface eglCreatePbufferFromClientBuffer(android.opengl.EGLDisplay, int, int, android.opengl.EGLConfig, int[], int); method public static android.opengl.EGLSurface eglCreatePbufferSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int[], int); method public static android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int); method public static deprecated android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int); method public static android.opengl.EGLSurface eglCreateWindowSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, java.lang.Object, int[], int); method public static boolean eglDestroyContext(android.opengl.EGLDisplay, android.opengl.EGLContext); method public static boolean eglDestroySurface(android.opengl.EGLDisplay, android.opengl.EGLSurface); Loading Loading @@ -64219,7 +64219,7 @@ package javax.microedition.khronos.egl { method public abstract boolean eglCopyBuffers(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, java.lang.Object); method public abstract javax.microedition.khronos.egl.EGLContext eglCreateContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, javax.microedition.khronos.egl.EGLContext, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePbufferSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract deprecated javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreateWindowSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract boolean eglDestroyContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext); method public abstract boolean eglDestroySurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface);
api/system-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -28073,7 +28073,7 @@ package android.opengl { method public static android.opengl.EGLContext eglCreateContext(android.opengl.EGLDisplay, android.opengl.EGLConfig, android.opengl.EGLContext, int[], int); method public static android.opengl.EGLSurface eglCreatePbufferFromClientBuffer(android.opengl.EGLDisplay, int, int, android.opengl.EGLConfig, int[], int); method public static android.opengl.EGLSurface eglCreatePbufferSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int[], int); method public static android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int); method public static deprecated android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int); method public static android.opengl.EGLSurface eglCreateWindowSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, java.lang.Object, int[], int); method public static boolean eglDestroyContext(android.opengl.EGLDisplay, android.opengl.EGLContext); method public static boolean eglDestroySurface(android.opengl.EGLDisplay, android.opengl.EGLSurface); Loading Loading @@ -67742,7 +67742,7 @@ package javax.microedition.khronos.egl { method public abstract boolean eglCopyBuffers(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, java.lang.Object); method public abstract javax.microedition.khronos.egl.EGLContext eglCreateContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, javax.microedition.khronos.egl.EGLContext, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePbufferSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract deprecated javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreateWindowSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract boolean eglDestroyContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext); method public abstract boolean eglDestroySurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface);
api/test-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -25633,7 +25633,7 @@ package android.opengl { method public static android.opengl.EGLContext eglCreateContext(android.opengl.EGLDisplay, android.opengl.EGLConfig, android.opengl.EGLContext, int[], int); method public static android.opengl.EGLSurface eglCreatePbufferFromClientBuffer(android.opengl.EGLDisplay, int, int, android.opengl.EGLConfig, int[], int); method public static android.opengl.EGLSurface eglCreatePbufferSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int[], int); method public static android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int); method public static deprecated android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int); method public static android.opengl.EGLSurface eglCreateWindowSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, java.lang.Object, int[], int); method public static boolean eglDestroyContext(android.opengl.EGLDisplay, android.opengl.EGLContext); method public static boolean eglDestroySurface(android.opengl.EGLDisplay, android.opengl.EGLSurface); Loading Loading @@ -64491,7 +64491,7 @@ package javax.microedition.khronos.egl { method public abstract boolean eglCopyBuffers(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, java.lang.Object); method public abstract javax.microedition.khronos.egl.EGLContext eglCreateContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, javax.microedition.khronos.egl.EGLContext, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePbufferSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract deprecated javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract javax.microedition.khronos.egl.EGLSurface eglCreateWindowSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]); method public abstract boolean eglDestroyContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext); method public abstract boolean eglDestroySurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface);
core/jni/com_google_android_gles_jni_EGLImpl.cpp +1 −49 Original line number Diff line number Diff line Loading @@ -254,59 +254,11 @@ static jlong jni_eglCreatePbufferSurface(JNIEnv *_env, jobject _this, jobject di return reinterpret_cast<jlong>(sur); } static PixelFormat convertPixelFormat(SkColorType format) { switch (format) { case kN32_SkColorType: return PIXEL_FORMAT_RGBA_8888; case kARGB_4444_SkColorType: return PIXEL_FORMAT_RGBA_4444; case kRGB_565_SkColorType: return PIXEL_FORMAT_RGB_565; default: return PIXEL_FORMAT_NONE; } } static void jni_eglCreatePixmapSurface(JNIEnv *_env, jobject _this, jobject out_sur, jobject display, jobject config, jobject native_pixmap, jintArray attrib_list) { if (display == NULL || config == NULL || native_pixmap == NULL || !validAttribList(_env, attrib_list)) { jniThrowException(_env, "java/lang/IllegalArgumentException", NULL); return; } EGLDisplay dpy = getDisplay(_env, display); EGLConfig cnf = getConfig(_env, config); jint* base = 0; SkBitmap nativeBitmap; GraphicsJNI::getSkBitmap(_env, native_pixmap, &nativeBitmap); SkPixelRef* ref = nativeBitmap.pixelRef(); if (ref == NULL) { jniThrowException(_env, "java/lang/IllegalArgumentException", "Bitmap has no PixelRef"); return; } SkSafeRef(ref); ref->lockPixels(); egl_native_pixmap_t pixmap; pixmap.version = sizeof(pixmap); pixmap.width = nativeBitmap.width(); pixmap.height = nativeBitmap.height(); pixmap.stride = nativeBitmap.rowBytes() / nativeBitmap.bytesPerPixel(); pixmap.format = convertPixelFormat(nativeBitmap.colorType()); pixmap.data = (uint8_t*)ref->pixels(); base = beginNativeAttribList(_env, attrib_list); EGLSurface sur = eglCreatePixmapSurface(dpy, cnf, &pixmap, base); endNativeAttributeList(_env, attrib_list, base); if (sur != EGL_NO_SURFACE) { _env->SetLongField(out_sur, gSurface_EGLSurfaceFieldID, reinterpret_cast<jlong>(sur)); _env->SetLongField(out_sur, gSurface_NativePixelRefFieldID, reinterpret_cast<jlong>(ref)); } else { ref->unlockPixels(); SkSafeUnref(ref); } jniThrowException(_env, "java/lang/UnsupportedOperationException", "eglCreatePixmapSurface"); } static jlong jni_eglCreateWindowSurface(JNIEnv *_env, jobject _this, jobject display, Loading
opengl/java/android/opengl/EGL14.java +1 −0 Original line number Diff line number Diff line Loading @@ -284,6 +284,7 @@ public static final int EGL_CORE_NATIVE_ENGINE = 0x305B; // C function EGLSurface eglCreatePixmapSurface ( EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list ) @Deprecated public static native EGLSurface eglCreatePixmapSurface( EGLDisplay dpy, EGLConfig config, Loading