aboutsummaryrefslogtreecommitdiffstats
path: root/emulator/opengl/host/libs/libOpenglRender/RenderServer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* emulator/opengl: Remove obsolete directory.David 'Digit' Turner2014-12-081-159/+0
| | | | | | | | | | | | | 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
* emulator/opengl: refactor Thread class.David 'Digit' Turner2014-07-091-3/+2
| | | | | | + Add unit test. Change-Id: I26d84cf590f6bfff3304be3f42dc0196bcc7f6d2
* emulator/opengl: Add global lock to libOpenglRender.David 'Digit' Turner2014-07-081-1/+2
| | | | | | | | | | | 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
* Prevent SocketStream to be freed twicePetar Jovanovic2013-05-171-8/+8
| | | | | | | | | 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
* Use a per-process server address for the GLES serverJesse Hall2012-07-111-3/+13
| | | | | | | | | | | | | | | 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
* Fix socket leak when shutting down rendererJesse Hall2012-07-091-1/+8
| | | | | | | | | | | | | | | | | | | 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
* Move emulator GLES from development.git to sdk.gitJesse Hall2012-04-161-0/+142
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