Loading opengl/libagl/egl.cpp +14 −1 Original line number Diff line number Diff line Loading @@ -2093,6 +2093,19 @@ EGLImageKHR eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target, if (native_buffer->common.version != sizeof(android_native_buffer_t)) return setError(EGL_BAD_PARAMETER, EGL_NO_IMAGE_KHR); switch (native_buffer->format) { case HAL_PIXEL_FORMAT_RGBA_8888: case HAL_PIXEL_FORMAT_RGBX_8888: case HAL_PIXEL_FORMAT_RGB_888: case HAL_PIXEL_FORMAT_RGB_565: case HAL_PIXEL_FORMAT_BGRA_8888: case HAL_PIXEL_FORMAT_RGBA_5551: case HAL_PIXEL_FORMAT_RGBA_4444: break; default: return setError(EGL_BAD_PARAMETER, EGL_NO_IMAGE_KHR); } native_buffer->common.incRef(&native_buffer->common); return (EGLImageKHR)native_buffer; } Loading opengl/libagl/texture.cpp +27 −0 Original line number Diff line number Diff line Loading @@ -1628,6 +1628,11 @@ void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) return; } if (image == EGL_NO_IMAGE_KHR) { ogles_error(c, GL_INVALID_VALUE); return; } android_native_buffer_t* native_buffer = (android_native_buffer_t*)image; if (native_buffer->common.magic != ANDROID_NATIVE_BUFFER_MAGIC) { ogles_error(c, GL_INVALID_VALUE); Loading @@ -1652,4 +1657,26 @@ void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image) { ogles_context_t* c = ogles_context_t::get(); if (target != GL_RENDERBUFFER_OES) { ogles_error(c, GL_INVALID_ENUM); return; } if (image == EGL_NO_IMAGE_KHR) { ogles_error(c, GL_INVALID_VALUE); return; } android_native_buffer_t* native_buffer = (android_native_buffer_t*)image; if (native_buffer->common.magic != ANDROID_NATIVE_BUFFER_MAGIC) { ogles_error(c, GL_INVALID_VALUE); return; } if (native_buffer->common.version != sizeof(android_native_buffer_t)) { ogles_error(c, GL_INVALID_VALUE); return; } // well, we're not supporting this extension anyways } Loading
opengl/libagl/egl.cpp +14 −1 Original line number Diff line number Diff line Loading @@ -2093,6 +2093,19 @@ EGLImageKHR eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target, if (native_buffer->common.version != sizeof(android_native_buffer_t)) return setError(EGL_BAD_PARAMETER, EGL_NO_IMAGE_KHR); switch (native_buffer->format) { case HAL_PIXEL_FORMAT_RGBA_8888: case HAL_PIXEL_FORMAT_RGBX_8888: case HAL_PIXEL_FORMAT_RGB_888: case HAL_PIXEL_FORMAT_RGB_565: case HAL_PIXEL_FORMAT_BGRA_8888: case HAL_PIXEL_FORMAT_RGBA_5551: case HAL_PIXEL_FORMAT_RGBA_4444: break; default: return setError(EGL_BAD_PARAMETER, EGL_NO_IMAGE_KHR); } native_buffer->common.incRef(&native_buffer->common); return (EGLImageKHR)native_buffer; } Loading
opengl/libagl/texture.cpp +27 −0 Original line number Diff line number Diff line Loading @@ -1628,6 +1628,11 @@ void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) return; } if (image == EGL_NO_IMAGE_KHR) { ogles_error(c, GL_INVALID_VALUE); return; } android_native_buffer_t* native_buffer = (android_native_buffer_t*)image; if (native_buffer->common.magic != ANDROID_NATIVE_BUFFER_MAGIC) { ogles_error(c, GL_INVALID_VALUE); Loading @@ -1652,4 +1657,26 @@ void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image) { ogles_context_t* c = ogles_context_t::get(); if (target != GL_RENDERBUFFER_OES) { ogles_error(c, GL_INVALID_ENUM); return; } if (image == EGL_NO_IMAGE_KHR) { ogles_error(c, GL_INVALID_VALUE); return; } android_native_buffer_t* native_buffer = (android_native_buffer_t*)image; if (native_buffer->common.magic != ANDROID_NATIVE_BUFFER_MAGIC) { ogles_error(c, GL_INVALID_VALUE); return; } if (native_buffer->common.version != sizeof(android_native_buffer_t)) { ogles_error(c, GL_INVALID_VALUE); return; } // well, we're not supporting this extension anyways }