| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This change brings back the eglGetRenderBufferANDROID extension Define EGL_EGLEXT_PROTOTYPES in order to be able to use this extension.
Revert "cleanup EGL a bit. remove unused extension."
This reverts commit 9d75f1341524910b00d35dd4eeb426d7e7791f6e.
Change-Id: I8b3805157cb1f72af507bc823d16910b738cec4c
|
|
|
|
|
|
|
| |
we use a hidden egl extension. the version string is printed
in SF's dumpsys log.
Change-Id: I123eb4bde6de462bb2404c67b74d6d6219a48d6a
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change introduces two new BoardConfig variables to control the size
limits of the EGL blob cache. MAX_EGL_CACHE_ENTRY_SIZE is the size
limit for values inserted into the cache, and MAX_EGL_CACHE_SIZE is the
size limit for all entries in the entire cache (including both keys and
values). If either of these BoardConfig variables are not defined then
a default size limit is used instead.
Change-Id: I6703d93f966b6389c6499f23d841e42339f9c9d7
|
|/
|
|
|
|
|
| |
This change explicitly sets swap interval 1 on the window when an
EGLSurface is created to render to it.
Change-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03
|
|\ |
|
| |
| |
| |
| |
| | |
Bug: 5474671
Change-Id: I6359063ccf23f076fc84c80b8a2f6731a65eef18
|
| |
| |
| |
| |
| |
| |
| | |
hopefully this will fix a crash in the emulator.
Bug: 5624674
Change-Id: I96586e29ea20efd73c4ad50870df5b7368bf3c3b
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
| |
the code that validated EGL objects dereferenced the object
to access its EGLDisplay -- needed for validation (!).
This was wrong for two reasons, first we dereferenced the object
before validating it (potentially leading to a crash), secondly
we didn't validate that the object existed in the right EGLDisplay.
We now use the EGLDisplay passed by the user API.
Change-Id: I66f9e851d4f8507892a6b1fee3065f124c4e7138
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
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 does not happen on high end gfx devices. This happens
only if only one EGL context is initialized in the current
process.
Change-Id: Ibd1737efdf84eef8a84108b05795440d1ae9964e
|
|/
|
|
|
|
|
|
| |
This change causes any insertions into the EGL cache to trigger an
attempt to save the cache contents to disk. The save operation is
deferred to allow multiple cache insertions to be batched up.
Change-Id: I6cfec9c0dbbef94d3f8880860e2a365dccc296c7
|
|
|
|
|
|
|
| |
This change adds support for saving and loading the contents of the EGL
cache. It also adds some simple tests for the EGL cache.
Change-Id: I18e5e789e0897a0783d29d1c1e64d26de2dd44c4
|
|
|
|
|
|
|
|
| |
This change makes the makes the stub EGL_ANDROID_blob_cache callbacks
actually use a BlobCache object.
Bug: 5474671
Change-Id: I5cbaae2dea3aad2fe306c9f57029c3f215a0863a
|
|
|
|
|
|
|
| |
This change adds a stub cache implementation that gets passed to the
underlying EGL implementation at initialization time.
Change-Id: I14437c5b6f91b7a34a19bb02ad802e6e54f88d2a
|
|
|
|
| |
Change-Id: Icfc33d4f55d1e7fb49390ce0921ba37a438c9fc2
|
|
|
|
| |
Change-Id: Ib5744564a873ea2b84100174673dc4d3ae109fcf
|
|
|
|
|
| |
Change-Id: I62bf0fcb5ccdc77c042b425a42054fb3122575b6
Signed-off-by: Mathias Agopian <mathias@google.com>
|
|
|
|
|
|
| |
enable by setting debug.egl.callstack to 1
Change-Id: I7fad9ce71b4c4c5ece97d4f9d139348eab742a3c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch modifies the library loaded in libEGL.so to
handle the case of GLES emulation as follows:
- if we detect that we run inside the emulator, check the
GPU emulation status through ro.kernel.qemu.gles, which
will be set to 1 if supported, or 0 otherwise.
When trying to run on an older version of the emulator,
the kernel parameter will not be defined at all.
- if GPU emulation is supported, use egl.cfg as usual.
It will contain a line like "0 0 emulation" that will
load libEGL_android.so appropriately.
- nothing is changed if we don't run inside the emulator.
NOTE: Ideally, we would modify libEGL_emulation.so to
redirect all calls to libEGL_android.so in this case.
However, this turns out to be extremely tedious to implement
(too many functions with different signatures).
As such, it is much simpler to make the check before
loading the library.
Change-Id: I9930bc168d9013cc8700feedc57b979384467c37
|
|
|
|
|
|
| |
we were checking against to the wrong variable
Change-Id: Iff3f5ab2d6ba5ac0d3d8161011b38e673ee7e67b
|
|
|
|
| |
Change-Id: Ie22cabff822a8fb3186f082491234b9503b431c3
|
|
|
|
|
|
|
|
|
| |
This change moves the call to native_window_api_disconnect from
eglDestroySurface to the egl_surface_t destructor. The egl_surface_t
can outlive the external EGLSurface if eglDestroySurface is called while
the surface is made current on a thread.
Change-Id: I0df6117a5633c2a19935fe356579abdd76fc471f
|
|
|
|
|
|
|
|
|
|
|
| |
the original connect/disconnect hooks are deprecated
and replace by api_connect/api_disconnect. the original
hooks are no no-ops.
api_connect/api_disconnect is now only called from the
android framework.
Bug: 5057915
Change-Id: I8ca64cd1acd6cabf915bf54689ec2e5f6dfa495a
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change fixes how the Android EGL layer overrides the size and
format of an ANativeWindow in eglCreateWindowSurface. The new behavior
is to leave the size untouched when overriding the format. The previous
behavior was to reset the ANativeWindow to use the default size set by
the ANativeWindow implementation.
It also adds two new 'perform' methods to the ANativeWindow interface:
set_buffers_dimensions and set_buffers_format, and redefines the
behavior of set_buffers_geometry to be the combination of these two new
methods.
Additionally, this change adds an error check for the return value of
the new native_window_set_buffers_format call, which required adding a
(stub) handler for to FramebufferNativeWindow.
Change-Id: I805c7ccd8d4730dfb132d10d8bc3fb058a0b9df1
|
|/
|
|
|
|
| |
Bug #5010760
Change-Id: If7500ef69683948e727df1406f458f18b11259d1
|
|
|
|
| |
Change-Id: I03cfbfeaeb8b13842248856b14b4a23711036e10
|
|
|
|
|
|
|
|
| |
as specified by the EGL specification, terminated objects's
handles become invalid, the objects themselves are destroyed
when they're not current to some thread.
Change-Id: Id3a4a5736a5bbc3926a9ae8385d43772edb88eeb
|
|
|
|
|
| |
no changes is functionality. split various objects into their own files.
make egl_display objec's lock internal.
|
|
|
|
| |
Change-Id: Ib14723ed5355fdc423226ec20a32e26fe7dd68fe
|
|
|
|
| |
Change-Id: Id47304cf38914190cec58d703801f456ab916f63
|
|
|
|
|
|
|
| |
This change removes the check that disallowed the creation of an
EGLSurface that would send frames to a SurfaceTexture.
Change-Id: I44c6d5df503cc676a88144d72d39b414692ce4c9
|
|
|
|
|
|
|
|
|
|
|
|
| |
setprop debug.egl.debug_forceUseFile 1: always use file
setprop debug.egl.debug_maxFileSize <int MB>: exit when reached
setprop debug.egl.debug_filePath <path>: may need to make the file
writable first.
setprop debug.egl.debug_port <unsigned short>
setprop debug.egl.debug_proc <proc cmdline>: to match debuggee process
Change-Id: I34ca1f3092f3abf17e2ded9d1689d0cdef6e07e8
Signed-off-by: David Li <davidxli@google.com>
|
|
|
|
|
| |
Change-Id: I493e9bff431bd939f4e80e1e9c614dd557307fa2
Signed-off-by: David Li <davidxli@google.com>
|
|
|
|
|
|
|
| |
Add missing member initialization for reference counter, used to determine
if a context is ready.
Change-Id: I45f81177ac2851129681f827afe015b60b3cd73c
|
|
|
|
|
|
|
|
|
|
|
| |
Move EGL objects (contexts, surfaces, ...) collection from global
static into EGL display object. Since EGL implementation currently
supports only one display, this doesn't change current logic. This
aims at preparing for next coming changes in eglTerminate() to
support per-display cleanup.
Bug: 4152714
Change-Id: I5e424781b89c3c275f9922f943463d5f6b1f6bc6
|
|
|
|
|
|
|
|
|
| |
Check for initialized display, and set EGL error to EGL_NOT_INITIALIZED
whenever it isn't, for all EGL functions taking an EGLDisplay as argument
and requiring it to have been initialized.
Bug: 3366011
Change-Id: Ib1d8a3a207257995518f4430fe97f8c406c7fc13
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
In message loop, use select to check for available commands from client,
rather than always expecting commands in eglSwapBuffers.
Change-Id: Ifc34dd77c2528c8b9c71f594e3eda4f93400cd2b
Signed-off-by: David Li <davidxli@google.com>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
call takes a very long time" into honeycomb-mr1
* commit '9405d98705db1c8102b77ef960f344ac416d165c':
fix [4107131] nvidia driver call takes a very long time
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We were leaking all EGLSyncKHR objects, over time the list
would grow and become very slow to operate on.
Bug: 4107131
Change-Id: I6c82daf49fe3189d04550781d64d57c30c95f552
|
|\ \ \
| |/ /
| | /
| |/
|/|
| |
| | |
into honeycomb-mr1
* commit '0ea44ac0deb5cc95d60dd512c3a8f6a1bb69f5d1':
SurfaceTexture: disallow unsupported uses.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change makes the ANativeWindow_lock NDK function error out if it is
passed an ANativeWindow with a concrete type that is not Surface. It
also makes eglCreateWindowSurface fail if it is passed a
SurfaceTextureClient as its 'window' argument.
Bug: 4087277
Change-Id: Ie68c50c52d88f72d8a387f6c094908044c83a88c
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Send VBO related commands to client, which tracks the state.
Maintain index buffer content and vertex attrib pointer/buffer state on server.
During glDrawArrays/Elements, send user memory data to client.
Change-Id: Ia920e90479329b301ae4b5735e833eeb20293c94
Signed-off-by: David Li <davidxli@google.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also added timing mode option using utils/Timers.h.
Factored out common code to reduce size.
Improved Protobuf message.
Uploads data from glBufferData and glBufferSubData.
Change-Id: Iaae5e706235d942df81c7eada7223fb0b0583911
Signed-off-by: David Li <davidxli@google.com>
|
|/
|
|
|
|
|
|
|
|
| |
Use debug.egl.debug_proc property to match process cmdline.
Binds to TCP:5039 and waits for client connection.
Sends function call parameters, textures and shaders using Protobuf.
Java Eclipse client plug-in is next.
Change-Id: I183b755263663f87e86dde1ad12f527d0445fd57
Signed-off-by: David Li <davidxli@google.com>
|