| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Allow EGL implementations to expose the
EGL_KHR_create_context_no_error extension if they wish.
https://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_create_context_no_error.txt
Change-Id: I3290ccc2a69a1fa0b00ec3f1aa4f876906c64bfb
|
|
|
|
|
|
|
|
|
| |
This adds EGL wrapper functions for the following EGL extensions:
EGL_EXT_buffer_age
EGL_KHR_partial_update
EGL_KHR_swap_buffers_with_damage
Change-Id: I407acda1e0310f7f01a5efe9c915721a941138a4
|
|
|
|
|
|
|
|
| |
This extension hasn't been published yet, so it isn't in the public
registry. That will change before the next platform release to AOSP.
Bug: 15028495
Change-Id: I3f8ac50e6a7f782738518cfd4571b07f94f83c49
|
|
|
|
|
|
|
|
|
|
|
| |
gl.xml @ r26697:
https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api
GLES headers @ r26698:
https://cvs.khronos.org/svn/repos/registry/trunk/public/gles/api
Bug: 15028495
Change-Id: I57e0d8caac2bc2edb10c8252e06ffdb9a5ccf48b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Import GLES headers from Khronos SVN r26322:
https://cvs.khronos.org/svn/repos/registry/trunk/public/gles/api
There are many non-functional whitespace and parameter name changes
included here. These were introduced upstream when converting from the
old .spec registry to the new XML registry.
There are also some new extensions added. Unfortunately there isn't a
version of the XML that matches the headers the previous versions of
the *.in files were generated from, so I can't separate out the
non-functional changes from the new extensions (other than temporarily
hacking them out of the XML). See below for a list.
Finally, I had to hack the official glext.h. Khronos hasn't updated
the official GLES1 headers since switching to the XML registry, and
there is one critical difference: a "const void**" parameter in the
official header is "const void* const*" in the registry. I changed the
header to avoid build errors with code generated from the registry.
Dependencies on the *.in files required manually updating some
GLES_trace/ files as well:
- gltrace_api.{h,cpp} must be manually re-generated using
tools/genapi.py.
- New GL prototypes must be manually added to gltrace.proto.
- gltrace.pb.{h,cpp} must be regenerated using aprotoc (see dev.make)
New GLES extensions in libs/GLES_CM/glext_api.in:
- GL_OES_byte_coordinates
- GL_EXT_map_buffer_range
- GL_APPLE_copy_texture_levels
- GL_APPLE_sync
New GLES2 extensions in libs/GLES2/gl2ext_api.in:
- GL_KHR_blend_equation_advanced
- GL_KHR_debug
- GL_OES_sample_shading
- GL_OES_texture_storage_multisample_2d_array
- GL_EXT_disjoint_timer_query
- GL_EXT_draw_buffers
- GL_EXT_draw_instanced
- GL_EXT_instanced_arrays
- GL_EXT_map_buffer_range
- GL_EXT_map_buffer_range
- GL_EXT_multiview_draw_buffers
- GL_EXT_separate_shader_objects
- GL_ANGLE_instanced_arrays
- GL_ANGLE_translated_shader_source
- GL_APPLE_copy_texture_levels
- GL_APPLE_sync
- GL_INTEL_performance_query
- GL_NV_blend_equation_advanced
- GL_NV_copy_buffer
- GL_NV_draw_instanced
- GL_NV_framebuffer_blit
- GL_NV_framebuffer_multisample
- GL_NV_instanced_arrays
- GL_NV_non_square_matrices
Bug: 15028495
Change-Id: I902517c23354e14f9c63b1584db286d682315bb5
|
|
|
|
|
|
| |
This reverts commit 20670e33c76a32370695a82a3e7f2fb30be30608.
Change-Id: Iae3dfbaf852ff1b6906af1d5508c2baf1173b481
|
|
|
|
|
|
|
|
| |
Public registry is:
https://cvs.khronos.org/svn/repos/registry/trunk/public/gles/api
Bug: 15028495
Change-Id: I2269a6a2486c34b6a9e378d4a25a41492d531c81
|
|
|
|
|
|
|
|
|
|
| |
This change makes GLConsumer use the EGL_ANDROID_image_crop extension when
available on a device. The crop rectangle is passed to the EGL driver when
creating EGLImages, allowing the crop to be performed by the driver rather than
using the texture transform matrix.
Bug: 10897141
Change-Id: I63e9a5d5c85067376abc420e3639154468346311
|
|
|
|
| |
Change-Id: I22f1b3588011c88389e249f738f1e6915cc97e72
|
|
|
|
|
|
|
|
| |
- add ANDROID extensions missing from official headers:
EGL_ANDROID_wait_sync
EGL_ANDROID_presentation_time
Change-Id: I5496d0de123a6279234098c19f9a12220adec876
|
|
|
|
|
|
|
|
|
|
| |
Added EGL extension to set a timestamp on a surface.
Also, fix JNI encoding of "long" in glgen.
Bug 8191230
Change-Id: I38b7334bade3f8ff02bffe600bb74469ef22c164
|
|
|
|
|
|
|
|
| |
Add MODULE_LICENSE_MIT: The GLES headers use an MIT license or a
slight variant of it (the "SGI Free Software License B version 2.0",
http://oss.sgi.com/projects/FreeB/).
Change-Id: Ic8f946341cdd0d579f51b6f7a3ee109cd31b1691
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change has been made in Khronos SVN for GLES2 already, however it
is mildly controversial and discussion is on-going.
This change is necessary for Android because otherwise applications
cannot include both GLES2/gl2.h and GLES3/gl3.h as the glShaderSource()
prototype mismatches. Native programs may include framework headers
(which now include GLES3 headers only) but already have included GLES2
headers, creating an incompatibility.
Change-Id: I70a4075e079ee063e76cef5a227abb0ae70aebb4
|
|\
| |
| |
| |
| |
| |
| | |
glGetUniformLocation"
* commit 'a151a19db2fa07295837027fb5d84c02401cc78d':
Fix return type of glGetAttribLocation and glGetUniformLocation
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
from int to GLint.
See:
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttribLocation.xml
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformLocation.xml
Change-Id: I4a9f8e9e34b8c3cca239ae84bfe8f3cdfd94802a
|
| |
| |
| |
| |
| |
| |
| | |
eglGetRenderBufferANDROID was removed as it had no users. This commit
reintroduces this extensions as it's used by Qualcomm graphics HAL.
Change-Id: I493306830a0d4f8722a42bcc84fb49236afdabeb
|
| |
| |
| |
| | |
Change-Id: Id8b1b114e2a7a88956b857c63a0429e9b33fdb5c
|
| |
| |
| |
| | |
Change-Id: I1db43e96aa5e9e91a6176a4a3e5aa9d1f3ee4a7e
|
| |
| |
| |
| | |
Change-Id: Ie9a78e07fcaf27c5c13797141ad3c692217607fb
|
|/
|
|
|
|
|
| |
This change adds support for the EGL_ANDROID_native_fence_sync extension to the
Android EGL layer. It also fixes a couple minor issues with the extension spec.
Change-Id: Ic8829d21f37b701f33aa9c72c3d25e88e03fa3cd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the EGL implementation supports the EGL_IMG_hibernate_process
extension, use it to hibernate (and hopefully release memory or other
resources) when the process isn't actively using EGL or OpenGL ES. The
idleness heuristic used in this change is:
(a) Wake up when entering any EGL API call, and remain awake for the
duration of the call.
(b) Do not hibernate when any window surface exists; this means the
application is very likely in the foreground.
(c) Do not hibernate while any context is made current to a thread.
The app may be using a client API without the EGL layer knowing,
so it is not safe to hibernate.
(d) Only check these conditions and attempt to hibernate after a
window surface is destroyed or a thread's context is detached. By
not attempting to hibernate at the end of every EGL call, we avoid
some transient wakeups/hibernate cycles when the app is mostly idle,
or is starting to become active but hasn't created its window
surface yet.
On a Galaxy Nexus, hibernating frees 1567 VM pages from the process.
Both hibernating and waking can take anywhere from 30ms to over 100ms
-- measurements have been very inconsistent.
Change-Id: Ib555f5d9d069aefccca06e8173a89625b5f32d7e
|
|
|
|
| |
Change-Id: Ia6e489b5b4f028864bdf54923e81f604710dd8ad
|
|
|
|
| |
Change-Id: I554d9659113b4721b748ee5c1a3b1ca82b11d75e
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- don't advertise extensions that are not supported
by any implementation
- remove EGL_ANDROID_swap_rectangle which is not
implemented by anybody and confuses people
- add some comments about mandatory extensions
Bug: 5428001
Change-Id: Id8dc48116ac1d1eb79ec9ef55d03e29d4257c1f3
|
|
|
|
|
|
|
| |
This change adds the ANDROID suffix to the all the types and functions
defined by the EGL_ANDROID_blob_cache extension.
Change-Id: I087875b96d9a7053efb9c8d5614f9f765eed799d
|
|
|
|
|
|
|
|
| |
This change makes the makes the stub EGL_ANDROID_blob_cache callbacks
actually use a BlobCache object.
Bug: 5474671
Change-Id: I5cbaae2dea3aad2fe306c9f57029c3f215a0863a
|
|
|
|
|
| |
Change-Id: I62bf0fcb5ccdc77c042b425a42054fb3122575b6
Signed-off-by: Mathias Agopian <mathias@google.com>
|
|
|
|
|
|
|
|
| |
This change adds an enum value and a description of the expected
implementations to the EGL_ANDROID_recordable extension specification.
It also adds the new enum value to the 'eglext.h' header.
Change-Id: Ia0de2d5613708445ff83b85a7e550f9417531ee4
|
|
|
|
|
| |
Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change allows to use this header with the NDK's standalone toolchain.
For the record, the NDK toolchain defines __ANDROID__ as a compiler built-in
macro, this is however not the case currently for the prebuilt binaries that
are being used by the full Android build system, which otherwise defines ANDROID.
This change allows the header to be used by all toolchains properly. Note however
that we should properly should change our toolchain and sources to provide and
rely on __ANDROID__ instead of ANDROID though.
Change-Id: Iaa1aa1146985b5f24dcf3a83d9ddb9b4b59dc328
|
|
|
|
|
|
|
| |
Add correct enumerants for OES_EGL_image_external to glext.h.
SurfaceFlinger now checks for the correct extension name.
Change-Id: I2ba2728a01fa2260bd086d2df4316c68f694a9b1
|
|
|
|
| |
Change-Id: Ia87120b076ab1bf7b28f06087878d8161fb46c88
|
|
|
|
|
|
|
| |
Not yet hooked up to anything in the NDK, but requires renaming
the existing android_native_window_t type everywhere.
Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
|
|
|
|
|
|
| |
This will allow us to support YUV surfaces.
Change-Id: I2d4da75f1006a5285bdc552695d4caeecccf2183
|
|
|
|
|
|
| |
note that this doesn't update the EGL stubs.
Change-Id: I00274431a490249d93eb6b5ba13f274b7f2682ae
|
|
|
|
|
|
|
| |
the official headers have a couple typos, which
this CL fixes.
Change-Id: I0359531a05a4a62ddbdce70c5841ec1c355feb3b
|
|
|
|
| |
Change-Id: Iceef1e95504897a5e3759b0401cf7031c9e74547
|
|
|
|
|
| |
The ETC1 compressed texture format is commonly
supported by OpenGL ES 2.0-capable devices.
|
| |
|
|
|
|
| |
buffer as an android_native_buffer_t*
|
|
|
|
| |
EGL_NATIVE_BUFFER_ANDROID now maps to 0x3140 instead of using the staging range
|
| |
|
|
|
|
|
| |
- changed glTexImage2D() declaration so it matches that of GLES 1.x; otherwise we can't include both headers (!!!)
- added parameter names to the declaration of some extensions (this is needed by glapigen and glentrygen)
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
opengl/libagl/Android.mk
opengl/libs/Android.mk
opengl/libs/egl_impl.h
|
| |
| |
| |
| | |
eglext.h
|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
opengl/libagl/Android.mk
opengl/libs/Android.mk
opengl/libs/egl_impl.h
|
| |
| |
| |
| |
| |
| | |
ANDROID_swap_rectangle allows to specify the rectangle affected by eglSwapBuffers(), anything outside of this rectangle is unchanged. in particular EGL_BUFFER_DESTROYED only applies to that rectangle. This extension as well as EGL_BUFFER_PRESERVED allow major optimizations on surfaceflinger, which can redraw only the dirty area during compositing.
However, ANDROID_swap_rectangle allows further optimizations in EGL by reducing the amount of copy-back needed. ANDROID_swap_rectangle is particularily important for software implementations.
|
| |
| |
| |
| |
| |
| | |
include/ui/egl/android_natives.h and don't include it from egl.h
the android_native_ types are just forward declared in egl.h
|
| |
| |
| |
| |
| |
| | |
handle field
this abstraction was not necessary. things are easier now.
|