History log of /external/qemu/android/hw-pipe-net.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
055adab0b70c70890634649a27c12b2c25afcaca 12-Jul-2012 Jesse Hall <jessehall@google.com> Use a per-process server address for the GLES server

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
/external/qemu/android/hw-pipe-net.c
33f5c65179d1d6608463aec013c30e18811913c8 28-Apr-2012 Jiang, Yunhong <yunhong.jiang@intel.com> Mark gles pipe connected after callback invoked

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>
/external/qemu/android/hw-pipe-net.c
6b32ee5f4307f68b668b5b46893ceb49ec16fa6e 16-Dec-2011 Jesse Hall <jessehall@google.com> EmuGL: disable debug spam

Change-Id: Idb86b2e8bbb396ee1bca606a32569b9b6b46dcb8
/external/qemu/android/hw-pipe-net.c
3e92c2d49cb0e8752ce8c9a3c879c84ac3299061 11-Oct-2011 David 'Digit' Turner <digit@google.com> Fix snapshot crash

- 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
/external/qemu/android/hw-pipe-net.c
7b56a4a9a250573d5bdb8d04a2d8a64937432832 12-Sep-2011 David Turner <digit@android.com> gles: use fast GLES pipe by default (Unix only)

This improves performance of various benchmarks by 5%

Change-Id: If2d2be0e9849429ecffe52b7d482cfbee4008473
/external/qemu/android/hw-pipe-net.c
cb88e79ecbd16dea5f2201fd12320db5945db83e 26-Aug-2011 David 'Digit' Turner <digit@android.com> Add hw.gpu.enabled hardware property

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
/external/qemu/android/hw-pipe-net.c
6a8b698fff4d328c2706776c1c09171cfadb8de4 26-Aug-2011 David 'Digit' Turner <digit@android.com> Fix a crash when GPU emulation doesn't work.

This patch fixes a simple segmentation fault in the case
where we can't connect to the GPU emulation rendering library.

Change-Id: I47df0cae9029aee4738fd89083750e3baca5f032
/external/qemu/android/hw-pipe-net.c
fd16505ce923202f0abe74bfe7c3ba110d325ebe 25-Aug-2011 Vladimir Chtchetkine <vchtchetkine@google.com> Fix qemu pipe's 'poll' callbacks

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
/external/qemu/android/hw-pipe-net.c
6d02d6cb12378599d949591d6c5070e2c96dd9dd 15-Aug-2011 David Turner <digit@android.com> opengles: improve throughput of TCP socket

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
/external/qemu/android/hw-pipe-net.c
e2790e0d387de88c7ff5e3c42229c659dbe34524 08-Jul-2011 Guy Zadickario <guy@graphtech.co.il> opengles qemu-pipe perforance on windows

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
/external/qemu/android/hw-pipe-net.c
afe299d6284ecb86ba5c073d2c969aedd86597db 07-Jul-2011 David 'Digit' Turner <digit@android.com> hw-pipe-net.c: only support connecting to localhost ports.

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
/external/qemu/android/hw-pipe-net.c
82e6277377df841b6493d2ac5a30f2ab767fb156 21-Jun-2011 David 'Digit' Turner <digit@android.com> qemu pipes: fix Windows network pipes.

Never use read() or write() when using sockets on Windows, use
recv() / send() instead.

+ Remove compiler warning on Windows.

Change-Id: I53de04ceb3bad20dfebcbd8279506db87388a578
/external/qemu/android/hw-pipe-net.c
c0ac73377011befa8a3e6444d61a80cd6ada2659 02-May-2011 David 'Digit' Turner <digit@android.com> Document new QEMU pipe implementation.

+ Rename android/pipe-net.c to android/hw-pipe-net.c

Change-Id: Ia2e2466c3bf3ea812f36639420fad7ce2e0cb61d
/external/qemu/android/hw-pipe-net.c