| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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 didn't set the debug tls properly
Change-Id: Iad9cc5b5d230a8eb7f680c4b70925c5e43e73051
|
|
|
|
|
|
| |
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
|
|/
|
|
|
|
|
|
| |
Bug #5204874
Currently disabled.
Change-Id: I5e7b35dce2981b0691f107e39c6394b260466543
|
|
|
|
|
|
| |
this allows the emulator to display some graphics
Change-Id: Ib4671ad70b8df598d02307f2b9c5b843421cea25
|
|
|
|
|
|
| |
EGLConfig selection should now work on any device
Change-Id: I4d4580e891d1faf817fa853838406fb49d12e50a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
some GLES drivers dequeue buffers before a frame is started
(which is allowed), which can cause a that frame to be rendered
into a buffer of the wrong size. Such buffer will be ignored
by the compositor. If the application draws only once after a
size change, the screen might stay in this stale state.
this can be avoided by telling the GL driver to purge all its
pending buffers, which is done by making the surface not current
and then current again.
this solution is specific to android, but acceptable because
handled solely in the framework.
Bug: 2263168
Change-Id: I3d3c9a019979a9186e329d3160fa54adac78d3f7
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Icab48d71945bf94dd53f58b728a951d46380d945
|
|
|
|
|
|
|
|
| |
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: If913611a65e8b578021e9f9a9546f05e0ce6ef44
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
Bug: 5010576
Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
|
|\ \
| | |
| | |
| | |
| | |
| | | |
* changes:
Add the EGL_ANDROID_recordable spec.
Add the spec for EGL_ANDROID_blob_cache.
|
| | |
| | |
| | |
| | | |
Change-Id: I002177a68fafd6bb941aa64445c85fd5ff56223a
|
| |/
| |
| |
| | |
Change-Id: Ibaff52fee5c856283536ad37251cc80a9f3f938b
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|
|
|
|
|
| |
currently it just tests EGLConfig selection
Change-Id: Id9d9971012d733147dd7dc02fa2054307960235e
|
|
|
|
| |
Change-Id: I4b4c8020c13b8d6ce0d302fe42410033bf5785a6
|
|
|
|
| |
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 broke recently when removing copybit support.
Change-Id: I5cc7ff7f49268411c6c2cfb2d97590d52b13dbd5
|
|
|
|
|
| |
Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I59453f7fc3997f0502a1c5d325d37fed376fabc7
|
|/
|
|
| |
Change-Id: Ia0f13a0ee6f702256482b5eb29d7fa2aa840bfc7
|
|
|
|
| |
Change-Id: Ia608099a2426c11a91d33063ba53c93e1eccb428
|
|
|
|
|
|
|
| |
This change removes the check that disallowed the creation of an
EGLSurface that would send frames to a SurfaceTexture.
Change-Id: I44c6d5df503cc676a88144d72d39b414692ce4c9
|
|\ |
|
| |
| |
| |
| |
| | |
Change-Id: Ibb36508181d4322e236b6595b28d253f282c36d7
Signed-off-by: David Li <davidxli@google.com>
|
| |
| |
| |
| |
| |
| |
| | |
(Introduced by a copy-and-paste mistake when factoring out a common
expression. D'Oh!)
Change-Id: I5e97dde2d2f4564fc74ba69bfa4a2f9db44c8873
|
|/
|
|
| |
Change-Id: Ic9d5e5d967bbc08acc524c5092ce61a1cdbfd360
|
|
|
|
|
| |
Change-Id: Ic6c51c09b1c3d2e1e1a28c6ed552714c3243827c
Signed-off-by: David Li <davidxli@google.com>
|
|
|
|
| |
Change-Id: Ibf07eff68d39267fd5c9bec2870f59a5ae2f51e3
|
|
|
|
|
|
|
|
| |
CaptureDraw specifies how many glDrawArrays/Elements to glReadPixel
CaptureSwap similarly applies to eglSwapBuffers
Change-Id: Ie7a7e3392b4ecdc0659dcee04f4bab97c35267dc
Signed-off-by: David Li <davidxli@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
To allow auto generate of Debug_glReadPixels function.
Also added AfterGeneratedCall messag type, and client override
of expectResponse for improving protocol.
Also implemented callers for client to get shader/program iv & infolog
Change-Id: I8426de0be4b7ffcb8b2b4f063ad85d19a9d2d72e
Signed-off-by: David Li <davidxli@google.com>
|
|
|
|
|
| |
Change-Id: I493e9bff431bd939f4e80e1e9c614dd557307fa2
Signed-off-by: David Li <davidxli@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just use jniThrowException instead. Note that it would be trivial to throw
seemingly more appropriate exceptions (NullPointerException and
OutOfMemoryException in particular), but I'm only attempting to preserve
existing behavior here.
I also found shadowing bugs in some of the special-case functions, which
would previously always have leaked memory.
This also moves an accidental change to a generated file (ActivityThread ->
AppGlobals) into the generator, so it won't be overwritten in future.
Change-Id: Iab570310b568cb406c60dd0e2b8211f8a36ae590
|