aboutsummaryrefslogtreecommitdiffstats
path: root/android/hw-pipe-net.c
Commit message (Collapse)AuthorAgeFilesLines
* Use a per-process server address for the GLES serverJesse Hall2012-07-111-6/+5
| | | | | | | | | | | | | | | 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: I139d32615200b36b87f2d2ede4abb4060ec02776
* Mark gles pipe connected after callback invokedJiang, Yunhong2012-06-011-2/+16
| | | | | | | | | | | | | | | Currently the net pipe is mark connected right after initialization through asyncConnector_run invokation. However, asyncConnector_run is intended only invoked when callback through select. In some extrem situation, this will cause the qemu pipe driver begin send buffer before the connection is setup. Change this to be asyncConnector_run usage correct, and sendBuffer will check the connection status. Change-Id: Ib10e72e56e1ed5017fc3654b0fce8cacf484c8f8 Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
* EmuGL: disable debug spamJesse Hall2012-01-051-1/+1
| | | | Change-Id: Idb86b2e8bbb396ee1bca606a32569b9b6b46dcb8
* Fix snapshot crashDavid 'Digit' Turner2011-11-081-0/+6
| | | | | | | | | | | | | | | - Add snapshot load/save support to QEMU Pipes This adds the ability to save and load QEMU Pipe connections with snapshots. Note that by default, all loaded pipe client connections are force-fully closed on load. We don't have a good way to save the state of network connections to persistent storage. Properly implements snapshot save / load for qemu pipe clients. Change-Id: Ie5767f8ce40c8341b958cc5844e724dd4fc1ed2b
* gles: use fast GLES pipe by default (Unix only)David Turner2011-09-131-4/+15
| | | | | | This improves performance of various benchmarks by 5% Change-Id: If2d2be0e9849429ecffe52b7d482cfbee4008473
* Add hw.gpu.enabled hardware propertyDavid 'Digit' Turner2011-08-291-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new hardware property to enable GPU emulation (named hw.gpu.enabled). It is currently disabled by default. It also modifies the UI code to display the GL output properly inside the UI window. And sets the kernel parameter qemu.gles to either 0 or 1 to indicate to the guest system's GLES libraries whether to use GPU emulation or fallback to the software renderer. A future patch will also add auto-detection of desktop GL capabilities. For example, if the emulator is started on a headless server without an X11/GL display, hw.gpu.enabled will be forced to 'no', forcing the guest to use the software renderer. Another patch will allow to change the property from the command-line for debugging purpose. NOTE: If you want to test GPU emulation, change the default value of the property in android/avd/hardware-properties.ini from 'no' to 'yes'. You will need to run a ToT master AOSP tree with the following pending patches applied: https://review.source.android.com/25797 https://review.source.android.com/25154 https://review.source.android.com/25759 Change-Id: I1fa3512be24395244fd5068f2bf59ad54db5c7d5
* Fix a crash when GPU emulation doesn't work.David 'Digit' Turner2011-08-291-10/+12
| | | | | | | This patch fixes a simple segmentation fault in the case where we can't connect to the GPU emulation rendering library. Change-Id: I47df0cae9029aee4738fd89083750e3baca5f032
* Fix qemu pipe's 'poll' callbacksVladimir Chtchetkine2011-08-251-2/+2
| | | | | | | | | Throughout emulator's code pipe's 'poll' callback was returning PIPE_WAKE_XXX, instead of PIPE_POLL_XXX flags. This created whole sort of issues with the qemu pipe service <-> client communications. This is also a fix for http://b/issue?id=5196348 Change-Id: I92202cf4ef4554559eb022c4410ee93923edec1b
* opengles: improve throughput of TCP socketDavid Turner2011-08-151-16/+16
| | | | | | | | | | | | | | Disable the TCP Nagle algorithm to drastically improve the throughput of small packets when creating the TCP socket used to talk with the OpenGLES renderer library. Coupled with a corresponding change in the server part of the code, this improves performance of most applications significantly. + get rid of shouldSetSockOpt field, by performing the buffer adjustment just after the socket is created. Change-Id: Ibacca834ff98d1e9a92fb735f450b925e373fdc0
* opengles qemu-pipe perforance on windowsGuy Zadickario2011-07-081-2/+20
| | | | | | | | | | Set the socket send buffer size to 128k on windows to allow higher throuput when sending large blocks over the pipe. On Linux the default value is already 128k. Might want to enable this for all 'tcp" pipes, currently it is only for the opengles pipe. Change-Id: I0c6868b6af54b4df1a0257bfe591baab6f76e14a
* hw-pipe-net.c: only support connecting to localhost ports.David 'Digit' Turner2011-07-071-30/+4
| | | | | | | | | | | Don't allow the 'tcp' pipe service to connect to anything other than localhost IPv4 addresses, for security reasons. Moreover, resolving host addresses is a blocking operation that could freeze the emulation for significant time, which is not acceptable. Change-Id: I0151a4a72befdc9f1d1526e1f68ef99f0b9e4464
* qemu pipes: fix Windows network pipes.David 'Digit' Turner2011-06-211-12/+8
| | | | | | | | | Never use read() or write() when using sockets on Windows, use recv() / send() instead. + Remove compiler warning on Windows. Change-Id: I53de04ceb3bad20dfebcbd8279506db87388a578
* Document new QEMU pipe implementation.David 'Digit' Turner2011-05-041-0/+520
+ Rename android/pipe-net.c to android/hw-pipe-net.c Change-Id: Ia2e2466c3bf3ea812f36639420fad7ce2e0cb61d