| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Apparently, video driver doesn't allow frame size change, once it has been
explicitly set. In order to get around this we need to reset the handle to the
camera device by closing, and then reopening it.
Change-Id: Icfd37b3c196d2643507218b965c5015884ed455b
|
|
|
|
|
|
|
| |
- Enable / Disable fake camera
- Set fake camera facing direction: back, or front
Change-Id: Iab741a694daf2bf752e91e23df566a83ac7a97e7
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By default, GPU emulation is still disabled. You can
still try to force it with '-gpu on' for experimentation
purpose (alternatively, you can define hw.gpu.enabled to
'true' in your AVD config.ini)
Change-Id: I87efdf45337a80aeadd94b3922312b3f564c1608
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
This is necessary ot initialize qemu pipes when running an
emulated x86 system. Required to try OpenGLES emulation
for x86.
Change-Id: I4fa38648dcdd4e85d1794b131238b27b4dd4b91e
|
|/
|
|
|
|
|
|
|
| |
Some processors don't have full features set as in 'qemu32',
eg. AMD doesn't have SSSE3 extensions yet.
Added code which restricts CPU features set in KVM
mode to those it actually has.
Change-Id: I37c2d44a03e4445a607b723b0f63c91989c251dc
|
|
|
|
|
|
|
| |
For some reason, there was a bug, where the option was being ignored
if set from the command-line.
Change-Id: I61c6e3127b469f4ec661b834b15c4da0841551af
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently NAND device driver need 8 MMIO access for goldfish nand device access.
MMIO access is expensive in virtualization environment because each MMIO access
will cause a context switch from in-kernel module to qemu user space process.
Through introducing a new batch command, these multiple MMIO access can be
combined into one, thus improve virtualization perofrmance. The booting time in
KVM environment is reduced from 25~26 seconds to 20~21 seconds.
A kernel patch is required to utilize this new batch command.
The patched kernel will detect the batch support through a new flags in
goldfish nand device, while current kernel is not impacted.
Change-Id: Ia460b1ba3c6fde5b1fc6101bb66f8f58e46e6a78
Signed-off-by: Xin Xiaohui <xiaohui.xin@intel.com>
Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com>
Signed-off-by: Jiang Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Nakajima Jun <jun.nakajima@intel.com>
|
|/
|
|
| |
Change-Id: I5ca4b1393211c1d8a5caba332c3f6164afb4661b
|
|
|
|
|
|
| |
Remove Windows artifact
Change-Id: I2ffd5979674619786742f14995edbf10edfff23a
|
|
|
|
|
|
| |
Add dummy rutines implementing public camera API on Mac
Change-Id: Id3c9d99d863785b0e00d1bdf6deb0a1af49ce91c
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is fully functional camera service implementation, that works (tested) on both,
Linux and Windows.
Fixed little/big endian bugs in the coverter code. Moved preview frames to use RGB32
instead of RGB565: RGB32 conversions are simpler and faster in the guest.
Made "payload size send" a separate routine
Change-Id: I96954f4c2cb4e4ef4dd6a20e41897d79c5037bae
|
|
|
|
|
|
|
|
|
|
| |
Skeleton that implements camera emulation service over QEMU pipe. More meat
will be added as the guest camera emulation develops.
This is a patch taken from approved AOSP commit that didn't go through
because of a merge conflict.
Change-Id: I6f0a2e42be4f5f0bd86d3dbf0c2a609e74b200c2
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When filling in qemud buffers in the loop, current offset in the current qemud buffer
(off_in_buff variable) has not been accounted for when calculating number of bytes
to copy from the message to qemud buffer. This caused data corruption, because number
of bytes copied has exceeded the capacity of qemud buffer.
Also, off_in_buff has not been reset when switching to the next qemud buffer.
Also fixed _qemud_char_service_connect routine to accept a client parameter string
Change-Id: I2f5a7ca5924c0b79d8755f4777145044567f3e8d
|
|\
| |
| |
| |
| |
| | |
* changes:
Add hw.gpu.enabled hardware property
Fix a crash when GPU emulation doesn't work.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
| |
This patch fixes a simple segmentation fault in the case
where we can't connect to the GPU emulation rendering library.
Change-Id: I47df0cae9029aee4738fd89083750e3baca5f032
|
|\ |
|
|/
|
|
| |
Change-Id: I746147ab0c441a05055f7fc878eda3e035c0da14
|
|\ |
|
|/
|
|
|
|
|
|
|
|
|
|
| |
This is useful for qemud pipe clients to be able to pass parameters to the
emulator service when connecting. In particular, this would be extremely
useful for camera emulation clients, which can pass name of the camera
device, and other parameters that may be required to connect to the
camera. Parameters are passed when opening the qemud pipe in form:
/dev/qemu_pipe/camera:/dev/video0
I.e. parameters follow the service name, separated from it by ':'
Change-Id: I67f0ef0ff27008e2b52652e58d72d5216b244646
|
|\ |
|
|/
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I87bd356f7673bdbcc8e5f196f4a89182b3a36cbe
|
|\ \
| |/
| |
| | |
declarations"
|
| |
| |
| |
| | |
Change-Id: I801d56668d8591e599994c65fb47b9c3ea77ff73
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Change-Id: Ia4b6b45ad305307f28858f834f284b07be7d134d
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch modifies the 'emulator' launcher program to probe
for a adequate directory containing shared libraries that will
be required by the emulator core to implement GLES emulation
properly.
It does that by looking for a library named libOpenglRender.so
(or .dll, or .dylib depending on the platform) in various directories
around the one containing the executable program.
When such a directory is found, it modifies the value of the PATH
or LD_LIBRARY_PATH environment variable before calling exec()
This is necessary because there is no way to change the list
of search directories at runtime, i.e. between the program's start
and the moment it calls dlopen() to load such a library.
Change-Id: I7346d26597382f44931cdf08936b051e74d3641a
|
|\ \ \
| |/ /
| | /
| |/
|/| |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch modifies android-configure.sh in several ways:
- It adds --gles-include and --gles-libs options to point
to the location where one can find the headers and host
shared libraries required for OpenGLES emulation support.
- It also adds --no-gles to disable adding such support.
- In the case of a platform build, it auto-configs
--gles-include and --gles-libs for you.
- adds '#define CONFIG_ANDROID_OPENGLES 1" to the
auto-generated config-host.h file.
This is in preparation of more GLES-related patches.
Note that this does *not* add GLES emulation support to the
emulator itself, this will come later.
Change-Id: I42d93475d323334db1b585f61c963688c80a3f06
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Other Android.mk parsed before this one may define SDL_CONFIG
in an unexpected way. We only use this variable as input when
want to implement the --sdl-config option in ./android-configure.sh
Use QEMU_SDL_CONFIG instead to avoid issues.
Change-Id: I89d56284017c696227d7c66ea7d7b0acaa73a9ca
|
|\ \
| |/ |
|
|/
|
|
|
|
|
|
| |
This patch adds several functions to make loading shared libraries
dynamically easier. This will be used to load the GLES emulation
libraries.
Change-Id: Ib401af339530bc647bfa86fb23a2840fe0a201dd
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Contains API that connects to a camera device, and pulls video frames from it
on request from the client.
Change-Id: If1d80c57611afff637a7734ce5c3a2c874cfc85a
|
|\ \
| | |
| | |
| | | |
hardware properties"...""
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
properties"..."
This reverts commit cccd28ca5064a7bd14282cd774ee5bb7126d5845.
c80340 add a CL to tools_r13 that broken the build. It was therefore reverted
with cccd28. This revert was merged into tools_r13 but shouldn't have been.
This reverts the revert to put back the CL in master.
Change-Id: I95fcefedb77596cfdf76269f248b2ae80c85c830
|
|\ \ |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
It looks like goldfish_pipe may make a call to the pipe after client
has been disconnected and QemudClient instance freed. This results
in a sudden death of the emulator, because _qemudPipe_recvBuffers
doesn't know that the client for that call is gone.
Change-Id: Ie1dd5481a01fd5bbb58d8c2d4e1bbe1ecfeca38a
|
|\ \
| |/
|/|
| | |
Change-Id: I4994dd2e99378bfeeb1a88ba07742e205bf07a18
|
| |\ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
When trying to connect to a host on the internet using a proxy, the
socket address was passed uninitialized to the proxy manager. The
effects were similar to the ones described in Issue 18715. The change
adds the socket address to the proxy manager after it has been
initialized.
|
|\ \ |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|