| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Bug: 39835
Change-Id: Ied3f43b76d2bb1bdba478f57122ec0ef4d967ae4
|
|
|
|
|
|
|
|
|
|
|
| |
This skin only defines the parts that can be used. Its
layout section is expected to be generated at runtime
by the emulator when the option -dynamic-skin is used.
The assets used to generate this skin are placed in the
assets folder.
Change-Id: Ib252ed6a7b1ef16c21c3d45bdc0c977c1ad42466
|
|
|
|
|
|
|
|
|
|
|
| |
EglOS::getDefaultDisplay() can return an invalid display, e.g. on X11
if $DISPLAY is not set. This is called from the EglGlobalInfo
constructor, which doesn't have a good way to indicate failure. So
instead EglGlobalInfo::addDisplay() checks that the display is valid
before wrapping it in a EglDisplay.
Bug: 7020498
Change-Id: Id18fc568dae5bff4b45b706f3322ae5e4785d95d
|
|
|
|
| |
Change-Id: I5412777820c8b0e691d07b10df348a739f92f291
|
|
|
|
|
|
|
|
|
|
| |
Function __dyld_func_lookup is deprecated and invisible in Mac
SDK 10.6+. Instruct linker to resolve it at run-time.
Related CL https://android-review.googlesource.com/#/c/37355/
fix the build, but cause run-time "Bus error".
Change-Id: Icf3ea7a0b8ac29c69482e372f34e0b2e364472d8
|
|
|
|
|
|
|
|
|
|
|
| |
When the emulator window has non-1.0 scaling, the scale is applied
when blitting the Android framebuffer to the host window. For the
OnPost callback, we were not only reading the image back from the
window (so post-scaling), we were also storing it in a 1.0-scaled
buffer. Now we read back from the Android framebuffer image, which is
always 1.0-scaled.
Change-Id: Ia9c974711a9a4b0b19f4b997f65ecc64481b4c6a
|
|
|
|
| |
Change-Id: I84133fb36d8f15ed33e6bcba2be158e43c903901
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switch the min and mag filters for the ColorBuffer's texture object to
linear instead of nearest. This gives much better results when posting
a colorbuffer to a scaled framebuffer, which happens when the android
screen + emulator skin is too big to fit on the user's display.
The ColorBuffer's own texture object is only actually used as a
texture during post(); when used as a texture by the guest system
(e.g. by surfaceflinger composition) it's mapped through an EGLImage
to a guest-owned texture object, which has its own filter settings. So
we can just change the filter settings for the ColorBuffer texture
object at initialization without affecting anything else.
SDK Bug: 6721429
Change-Id: I8ec81125d076e0ed77a44f8b0dce412fa3cecabf
|
|
|
|
|
|
|
|
| |
ColorBuffer wasn't destroying its blit texture and associated
EGLImage, leaking one pair per Android gralloc buffer.
Change-Id: I2fa42d2ecbb654edca7b224bd002d7513a08a633
http://code.google.com/p/android/issues/detail?id=33445
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See b/5680952 "Compilation warnings in etc1.cpp" for discussion.
This is a manual merge of an update that was made to
frameworks/native/opengl/libs/ETC1/etc1.cpp.
sdk/emulator/opengl/host/libs/Translator/GLcommon/etc1.cpp is an exact
copy of frameworks/native/opengl/libs/ETC1/etc1.cpp, so we might as well
keep the two versions in synch.
Bug: 5680952
Change-Id: Icf5d5ed2e7c5c79eb9677d210b1ff5fee507271d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: I70b576a70ac3dc94155f931508b152178f1e8cd5
|
|
|
|
|
|
|
|
| |
MIPS cannot handle unaligned accesses, so this patch changes the
direct assignment of ints/floats to using memcpy
Signed-Off-By: Bhanu Chetlapalli <bhanu@mips.com>
Change-Id: I82600dece8f48f718f73b49cdf831094bbfdcde5
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Now Mac OS X SDK 10.6 is the minimal requirement.
Change-Id: Ic4ad91210048120965f13957376c5c581567cda4
|
| |
| |
| |
| |
| |
| | |
Also fix comment
Signed-Off-By: Bhanu Chetlapalli <bhanu@mips.com>
|
|/
|
|
|
| |
Change-Id: Ib39de7ccf512a81436e68ac1363010af3cb2d28a
Signed-Off-By: Bhanu Chetlapalli <bhanu@mips.com>
|
|
|
|
|
| |
Bug: 6515813
Change-Id: I738fc2663d81876dc75ad560fd08506b423a21bf
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Since per-frame readback is slow and clients don't need it on all the
time, this change allows the callback to be registered after
initialization, and allows it to be disabled later.
Change-Id: Ic73d4515d302a0981ee0c80b9e6f9ba5c84b82ae
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
emulator_renderer implicitly uses symbols defined by libX11.so
through intermediate libraries, which can cause dependency issues
if the intermediates drop the dependency. The linkers on distros
like fedora now explicilty disable such indirect dependency
resolution - which causes compilation failure.
More information is available at this URL
http://fedoraproject.org/wiki/UnderstandingDSOLinkChange
Signed-Off-By: Bhanu Chetlapalli <bhanu@mips.com>
Change-Id: If378fa76142cb6c8c7641d76802dcbc7691871d6
|
|
|
|
|
|
|
|
| |
Added OS X 10.8 to the conditional which includes dylib during compilation
on 10.7.
Change-Id: Id078e001fd52d82b345249fcf647e0a4802c1f89
Signed-off-by: Al Sutton <al@funkyandroid.com>
|
|
|
|
|
|
|
|
|
| |
This also changes the strings reported by the default OpenGL ES
1.1/2.0 to OpenGL translators so they include the strings from the
underlying OpenGL implementation. This will give more useful bug
reports and SDK deployment statistics.
Change-Id: Id2d231a4fe3c40157c24a63ec19785826e037fd3
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The emulator opengles.c file duplicated the function declarations from
libOpenglRenderer's render_api.h instead of including it directly.
This led to multiple bugs since the declarations didn't actually
match, but there was no way for the compiler or dynamic loader to
check this.
This change makes opengles.c include render_api.h to get function
pointer prototypes, and changes the prototypes/implementation as
necessary to make both sides actually match. It should be much more
difficult to introduce interface mismatch bugs now.
Two bugs this change would have prevented:
(a) The interface mismatch caused by inconsistent branching which led
to GPU acceleration crashing on Windows. With this change, we
would have caught the problem at compile time.
(b) The emulator verbose log has always been printing "Can't start
OpenGLES renderer?" even when the renderer started fine. This is
because the renderer was returning a bool (true == success) but
the emulator's declaration said it returned int, and the emulator
assumed 0 meant success. This difference in return type should now
be caught at compile time.
Change-Id: Iab3b6960e221edd135b515a166cf991b62bb60c9
|
|/
|
|
| |
Change-Id: I45e3eb12187c10b9d5625fa2521573dc9348417a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
HAL_MODULE_INFO_SYM was declared as read-only, but
the struct is written to by libhardware. This causes
a segfault when -Wl,-z,relro is enabled.
Fixed.
Change-Id: I5324418b217abbfe95e7b39825d52cc8d6e26732
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/157220
Bug: 5449033
Change-Id: I3543198b483c91a3bf7c3f17e174969af3dfb8c5
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/156801
Bug: 5449033
Change-Id: Ic2929fa9e6d15ce1710fc960c7570ee11cc7b0f6
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/156016
Bug: 5449033
Change-Id: I9736fcbb62da749c049178b03ddaccda30dcebf5
|
|
|
|
|
|
|
|
| |
The emulator's sensor module sends "magnetic-field:<x>:<y>:<z>" rather
than "magnetic:<x>:<y>:<z>", see external/qemu/android/hw-sensors.c.
Change-Id: I858f4f88a4af47504bbf204340db238cf2ac2d66
Signed-off-by: Adam Zalcman <viathor@google.com>
|
|
|
|
|
|
|
|
|
| |
This change is already under development/tools/emulator/system/qemud/qemud.c
However, this sdk/.../qemud.c source file was first deleted, then reverted,
with the change in between. So apply it here too.
Change-Id: Ib79e0e7260c392fb886b39ff5494837e045cdf1a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately, we need to keep the duplicate libraries here to prevent
breaking a few internal branches for now.
Remove obsolete emulator modules
The corresponding modules have all been moved to development/tools/emulator/system/
already. Note that we use a global variable Make trick to prevent the same module
from being built twice, so removing these files doesn't break the builds.
Another patch should remove the global variable Make trick from
development/tools/emulator/system after this patch.
Change-Id: I97332216b311608de61919cb75f4b760b249c0d9
|
|
|
|
|
|
|
|
|
|
|
| |
The corresponding modules have all been moved to development/tools/emulator/system/
already. Note that we use a global variable Make trick to prevent the same module
from being built twice, so removing these files doesn't break the builds.
Another patch should remove the global variable Make trick from
development/tools/emulator/system after this patch.
Change-Id: I547d2a0173ddf58c1870784920ce795f6a0d7bcf
|
|\ |
|
| |
| |
| |
| |
| |
| | |
This project code is moving to live under development.git/tools/emulator
Change-Id: I3f7673bc17681a0ffa14bb0b4d0880977b77f24d
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
We need to move the platform-specific modules to development.git to
avoid some clashes. This patch uses a guard Make variable to ensure that
each module is only built once.
The plan is to simply copy these modules to development.git, then remove
the current ones from sdk.git. The guard variable is here to ensure that
the transition happens smoothly, i.e. if a build contains modules in
both directories, only one of them will be built.
Change-Id: I4bc58741a18488f18a4b17e8a1edc4a4a5a93cbc
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Emugen is a tool that can be used to generate code that
deals with marshaling/unmarshaling request to/from a wire-protocol.
Its input is an API defintion files and its output is C++ source
code for the client (caller) and the server (callee) sides.
See README file for more details.
Change-Id: I45beea6657fae0887d2b4d92933213ecc20d2525
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change mksdcard to a minimum of 9 MiB, which is what
we enforce in the UI (I believe the 8 MiB min was obsoleted
by the 9 MiB one.)
Also warn the user about the min/max sdcard size properly
directly in the creation dialog, instead of relying on
mksdcard to fail later.
Change-Id: I30bc425ed6b75d8a00965e9e2e25890bd9bd8b39
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes:
- Issue 13277: mksdcard fails to create insanely large sdcard.
- Issue 14429: better error message when disk full.
Details:
- Actually report fopen/fwrite errors (instead of silently failing.)
This alone fixes the 2 reported issues.
- Check size argument parsed correctly and isn't larger than
the FAT format can handle.
- Actually indicate in the usage text the min/max size values.
- Added support for a 'G' postfix, to make gigabyte sdcards.
Change-Id: I4986c2c7c031f3b9bfd580b015b56d741aba778f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use create_thread_cb instead of pthread_create to create gps_state_thread
so it can safely call into the Java framework.
BUG: 3375089
Change-Id: Ie7b2bd4bea519702d4238ba375bf83b059095b9e
Signed-off-by: Mike Lockwood <lockwood@android.com>
|
|/
|
|
|
|
|
| |
The sensor HAL in libhardware was recently updated, this
change updates the sensor emulation to match the new HAL.
Change-Id: I1cf60665ec3cc59a14859de487a65b399ff9e343
|
|
|
|
| |
Change-Id: I787601e3ab3ac4ce3d5ef5691788af62abbf91e9
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
A proximity sensor is added to the sensors, the proximity sensor has
resolution 1 and maxRange 1. This means that it can be either 0 or 1.
Change-Id: I60e27ebe673d493124be19158e56a19b0e4813de
|
| |
| |
| |
| |
| |
| | |
Also respect 'Wipe User Data' by disabling snapshot launch, and support 'Edit AVD'.
Change-Id: I5bc94c316e550b2585ca80185a02ffbe6d3e8401
|
| |
| |
| |
| |
| |
| | |
They are now in development.git
Change-Id: I9b8ec2c65892cb7635b6be77a7c8929f62d018b8
|