| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
All sources were moved to external/qemu/distrib/android-emugl
to make it easier to modify both the emulator and host libraries
at the same time. See:
https://android-review.googlesource.com/#/c/118203/
As such, the sources in this directory are now ignored and can be
safely removed.
Change-Id: I5d143c971f995e2599e5e1d6174030d6803e8080
|
|
|
|
|
|
| |
+ Add unit test.
Change-Id: I26d84cf590f6bfff3304be3f42dc0196bcc7f6d2
|
|
|
|
|
|
|
|
|
|
|
| |
This patch ensures that all render threads use the same global
lock to synchronize calls to the underlying GLES/EGL libraries.
Original patch from Thomas Knych (thomaswk@google.com)
BUG=9627179
Change-Id: I8ac9a43bc30bba8a9a06f832cf29e72263d946ce
|
|
|
|
|
|
|
|
|
| |
In cases when RenderThread failed to start, RenderServer would free the
stream first and then the thread. However, the thread itself also attemps to
free the stream and this caused a crash of the emulator in some corner
cases.
Change-Id: I2e508c37ab0a09c9261b30e59072bf1a44982dfe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we used a hardcoded address (tcp port, unix pipe path,
etc.) for the OpenGLRender system. Multiple emulators would all try to
listen on the same address, with the system non-deterministically (?)
choosing which one accepted each new connection. This resulted in
frames going to the wrong emulator window, one emulator shutting down
another's OpenGL system, etc.
Now the OpenGLRender server requests an unused tcp port or derives a
path from the pid, and reports the address back to the emulator client
to use for future connections from the guest.
Change-Id: I6af2eac0c7f27670a3b6595772eebc7aa2b24688
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This leak has always been there, but normally only leaks one socket
per emulator instance. Worse, though, is that the socket is listening
for connections on a hardcoded port, so it prevents other emulators
from listening on that port. Since we now start the GL renderer
briefly in every emulator instance (for GL string collection) this
means only one emulator can run at a time, even if none are using GL
acceleration.
Even with this fix, a GL-accelerated emulator will prevent any other
emulator (accelerated or not) from starting, since it is listening on
the hardcoded port, and the new emulator will try to listen on and
connect to that port at least for GL string collection. That will be
fixed in a future change.
Bug: 33383
Change-Id: I62a8a67eb6afb6c53cb41a19d00b6449cf5e1abe
|
|
The emulator GLES support has two interfaces: a host shared library
interface used by QEMU, and a protocol between the platform and the
host. The host library interface is not versioned; QEMU and the GLES
renderer must match. The protocol on the other hand must be backwards
compatible: a new GLES renderer must support an older platform image.
Thus for branching purposes it makes more sense to put the GLES
renderer in sdk.git, which is branched along with qemu.git for SDK
releases. Platform images will be built against the protocol version
in the platform branch of sdk.git.
Change-Id: I2c3bce627ecfd0a4b3e688d1839fe10755a21e58
|