summaryrefslogtreecommitdiff
path: root/tools/emulator/opengl/shared/OpenglCodecCommon/TcpStream.cpp
Commit message (Collapse)AuthorAgeFilesLines
* move emulator HALs to device/generic/goldfishkeunyoung2013-03-111-91/+0
| | | | Change-Id: I1ff304d540c75c4d27c5fddeb7315e177d366fb3
* Move emugl system code to development.gitJesse Hall2012-06-061-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because of the way the SDK and Android system images are branched, host code that goes into the SDK tools can't live in the same repository as code that goes into the system image. This change keeps the emugl host code in sdk.git/emulator/opengl while moving the emugl system code to development.git/tools/emulator/opengl. A few changes were made beyond simply cloning the directories: (a) Makefiles were modified to only build the relevant components. Not doing so would break the build due to having multiple rule definitions. (b) Protocol spec files were moved from the guest encoder directories to the host decoder directories. The decoder must support older versions of the protocol, but not newer versions, so it makes sense to keep the latest version of the protocol spec with the decoder. (c) Along with that, the encoder is now built from checked in generated encoder source rather than directly from the protocol spec. The generated code must be updated manually. This makes it possible to freeze the system encoder version without freezing the host decoder version, and also makes it very obvious when a protocol changes is happening that will require special backwards-compatibility support in the decoder/renderer. (d) Host-only and system-only code were removed from the repository where they aren't used. (e) README and DESIGN documents were updated to reflect this split. No actual source code was changed due to the above. Change-Id: I2c936101ea0405b372750d36ba0f01e84d719c43
* Move emulator GLES from development.git to sdk.gitJesse Hall2012-04-181-91/+0
| | | | | | | | | | | | | | | 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: Ie73fce12815c9740e27d0f56caa53c6ceb3d30cc
* emulator: opengl: Add support for unix sockets.David 'Digit' Turner2011-09-131-141/+10
| | | | | | | | | | | | | | | | | | | | | | This patch allows the OpenGLES rendering library to use Unix sockets instead of TCP ones when communicating with its clients. On certain benchmarks (e.g. 0xBench teapot), this provides a noticeable improvement (x1.05 fps) without any other changes. On practice, Unix sockets are faster than TCP sockets, even local ones. Also, this introduces a moderate amount of abstraction that will allow us to use Win32 named pipes on Windows (where TCP sockets are much slower than they are on Unix). Note that by default, TCP streams are still used. The client (emulator) must call the new API 'setStreamMode' to change it to STREAM_MODE_UNIX between 'initLibrary' and 'startOpenglRenderer' calls. + Adjust callers / user appropriately. Change-Id: I4105bbf07541f3146b50a58d1a5b51e8cf044fab
* emulator opengles: improve TcpStream throughputDavid Turner2011-08-161-0/+12
| | | | | | | | | | | | This patch improves the performance of the TcpStream implementation on the host by disabling the Nagle algorithm, thus improving the bandwidth of small packets. When used with the corresponding change in the emulator, this significantly improves the speed of OpenGLES emulation for many applications. Change-Id: Ic09e51ecddf04bc7d667f46e1d260030d5fcad88
* opengles emulator: Fixed Windows renderer terminationGuy Zadickario2011-08-101-0/+4
| | | | | | | | | | | | | Make the event pump loop in the renderer process we do on Windows exit when the Framebuffer's subwindow is destroyed. Fixed TcpStream to close the socket using 'closesocket' on windows, otherwise the other end of the socket does not sense that the socket is closed. + Use WS_DISABLED to ensure that our GL subwindow doesn't receive any input events. Change-Id: Icb477b3e1d7993a8880acb5e01bc5da29309ae50
* emulator opengl: more few fixups needed for the system to load.Stas Gurtovoy2011-06-211-4/+1
| | | | Change-Id: I698b14d0f594c091c237a605aeefbb048bf746ca
* emulator: opengl: Use QEMU pipe.David 'Digit' Turner2011-05-031-2/+2
| | | | | | | | | | | | | | | | This patch modifies the guest libraries to use the new fast qemu "opengles" pipe to communicate with the host renderer process. Note that the renderer is still listening on a TCP socket on port 22468. Change-Id: I6ab84f972a8024e1fdababa4615d0650c8d461bf Conflicts: tools/emulator/opengl/tests/gles_android_wrapper/Android.mk tools/emulator/opengl/tests/gles_android_wrapper/ServerConnection.h
* Fix Mac buildDavid 'Digit' Turner2011-04-151-1/+1
| | | | Change-Id: I030c9903f073aced6c2778665f7961f3e9f9804d
* Moved IOStream.h to be used in external API for libOpenGLRender.Guy Zadikario2011-04-131-68/+46
| | | | | | | | | | | | | | This change includes four changes: 1) moved IOStream.h into host/include/libOpenGLRender, this directory will include the api interface into the libOpenGLRender which will be used later by the emulator and we need this interface to use IOStream.h 2) Updated Andorid.mk files to include the new directory location of IOStream.h in the LOCAL_C_INCLUDE. 3) Added new function "read" to IOStream which reads a message without a givven size. 4) Updated TcpStream to use "cutils/sockets.h" instead of using directly the socket api for portability reasons. (It now compiles on windows as well). Change-Id: I30eb40c8dcd5aacf0d993aff9cdb90b283b12dde
* emulator opengl - directory rearrangmentJacky Romano2011-04-041-0/+231
Move system/OpenglCodecCommon into shared/OpenglCodecCommon so it's code can be shared among more components of the project. Move tests/ut_renderer/TimeUtils.* into a the common area Annotate ErrLog.h and GLDecoderContextData.h with the project license statement Change-Id: Ieea42e95edd5ad89fda4cfa40356a012304ee976