Commit Graph

1122 Commits

Author SHA1 Message Date
James Dong
1632bc614d Added software h264 video encoder for emulator/sdk build
o related-to-bug: 6383440

Change-Id: I0abf595cd1cabd0be6d05bc9250c90300149f16b
2012-04-25 13:51:56 -07:00
Xavier Ducrohet
262cb246e0 Add skin for 1280x800@213dpi devices.
Change-Id: I60a5f3b4b6dfbce49fbc9da7f2bc627e984e9fba
2012-04-19 10:59:42 -07:00
Eino-Ville Talvala
0819e42a0b Add skeleton implementation of a fake v2 camera device.
Change-Id: Idd2485064548a6036ea318680065b7429463d9cd
2012-04-17 10:05:17 -07:00
Eddy Talvala
3cd661a616 Merge "Revert "Revert "Multi-project commit, other commits weren't ready after all. (Revert)""" 2012-04-17 09:14:00 -07:00
Eddy Talvala
ee16c8342b Revert "Revert "Multi-project commit, other commits weren't ready after all. (Revert)""
This reverts commit a1e84accb5
2012-04-17 09:12:39 -07:00
Eddy Talvala
0ef6f51e59 Merge "Revert "Multi-project commit, other commits weren't ready after all. (Revert)"" 2012-04-17 08:57:47 -07:00
Jesse Hall
b62e28ddde Move emulator GLES from development.git to sdk.git
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: Ibe2cf8de13520aa3fcbaf72328a15ece261d7b86
2012-04-16 15:53:33 -07:00
Eddy Talvala
a1e84accb5 Revert "Multi-project commit, other commits weren't ready after all. (Revert)"
This reverts commit f3785f1414
2012-04-05 18:06:40 -07:00
Eddy Talvala
a5a83d57e7 Merge "Multi-project commit, other commits weren't ready after all." 2012-04-05 16:47:59 -07:00
Eddy Talvala
f3785f1414 Multi-project commit, other commits weren't ready after all.
Revert "Add skeleton implementation of a fake v2 camera device."

This reverts commit 5a35e724fc
2012-04-05 16:45:02 -07:00
Eino-Ville Talvala
ea52f4fab4 Merge "Add skeleton implementation of a fake v2 camera device." 2012-04-05 16:30:20 -07:00
Eino-Ville Talvala
4eef3c7178 Merge "Camera emulator: Add timestamps to PreviewWindow output." 2012-04-05 16:30:12 -07:00
Eino-Ville Talvala
5a35e724fc Add skeleton implementation of a fake v2 camera device.
Change-Id: I46df945117adef8d5c03846b1dd29435fa4c7d46
2012-04-05 16:04:29 -07:00
Eino-Ville Talvala
5318919f7f Camera emulator: Add timestamps to PreviewWindow output.
Change-Id: Ib0006fa98abebcc8ffa4b496a3bdd86b11e6c9be
2012-04-05 15:45:55 -07:00
Xavier Ducrohet
34f38a5cdd am 4db20997: am e3e74aa5: am 2a57c793: Merge "Move stuff from prebuilt to prebuilts/tools"
* commit '4db20997681bbb2c7a16e1c7d50b1a1901496144':
  Move stuff from prebuilt to prebuilts/tools
2012-04-04 14:06:28 -07:00
Xavier Ducrohet
e3e74aa50e am 2a57c793: Merge "Move stuff from prebuilt to prebuilts/tools"
* commit '2a57c79366dcdac42e330a8af752e44410556f31':
  Move stuff from prebuilt to prebuilts/tools
2012-04-04 14:01:30 -07:00
Xavier Ducrohet
40525ef472 Move stuff from prebuilt to prebuilts/tools
Also move some atree copy to sdk.git where they belong.

Change-Id: Iab62343806917f24f47d15b9dea75e44422d8764
2012-04-03 16:33:35 -07:00
Eino-Ville Talvala
d6a3832650 Update emulated camera to support HAL v2.0 modules and devices.
- Update camera HAL module to version 2

- Break out common camera HAL device functionality into
  EmulatedBaseCamera

- EmulatedCamera is now the base class for all version 1 camera
  devices.

- No camera device version 2 implementation included.

No change to supported functionality.

Change-Id: Iabb0b9a4e41f3c01dfd921256fa8fb1d40d71834
2012-03-27 16:40:12 -07:00
Jesse Hall
bebaa976c4 am 1cc6451d: am e824ff28: am db9e12c6: am 71aa2fca: Merge "EmuGL: Deliver every frame to a callback"
* commit '1cc6451d69c010008f4dded82b864043e0af8b92':
  EmuGL: Deliver every frame to a callback
2012-03-27 10:10:51 -07:00
Jesse Hall
501566de2d am ad471361: am 64cec470: am 64cd8f35: EmuGL: use custom egl.cfg in Google APIs add-on
* commit 'ad471361f1400838fa61fed1e7e45a15f6da6809':
  EmuGL: use custom egl.cfg in Google APIs add-on
2012-03-27 10:10:43 -07:00
Jesse Hall
e824ff28a6 am db9e12c6: am 71aa2fca: Merge "EmuGL: Deliver every frame to a callback"
* commit 'db9e12c671a44f84642d29427633513590516674':
  EmuGL: Deliver every frame to a callback
2012-03-26 18:29:42 -07:00
Jesse Hall
db9e12c671 am 71aa2fca: Merge "EmuGL: Deliver every frame to a callback"
* commit '71aa2fcac1cd1e5d59c210b5dd332ca4aefba530':
  EmuGL: Deliver every frame to a callback
2012-03-26 18:27:10 -07:00
Jesse Hall
64cec4708d am 64cd8f35: EmuGL: use custom egl.cfg in Google APIs add-on
* commit '64cd8f35fb9cefdeaaded4025af011d1d4c9b90a':
  EmuGL: use custom egl.cfg in Google APIs add-on
2012-03-26 15:34:41 -07:00
Jesse Hall
64cd8f35fb EmuGL: use custom egl.cfg in Google APIs add-on
Change-Id: I30468d668ce72cf3a4de1cace1f8e4f1610b9756
2012-03-26 15:07:00 -07:00
Jesse Hall
d5882467c1 EmuGL: Deliver every frame to a callback
To enable multi-touch on a tethered device, allow a callback to be
registered with the OpenGL renderer. On every frame, the framebuffer
is read into system memory and provided to the callback, so it can be
mirrored to the device.

This change is co-dependent on Idae3b026d52ed8dd666cbcdc3f3af80175c90ad3
in external/qemu.

Change-Id: I03c49bc55ed9e66ffb59462333181f77e7e46035
2012-03-22 18:19:00 -07:00
Jesse Hall
4dafe31aea Merge "Revert "EmuGL: Deliver every frame to a callback"" 2012-03-22 14:02:46 -07:00
Jesse Hall
8a33c36682 Revert "EmuGL: Deliver every frame to a callback"
This reverts commit 08d643e5eb
2012-03-22 13:56:36 -07:00
Jesse Hall
735967c2e5 Merge "EmuGL: Deliver every frame to a callback" 2012-03-22 13:48:33 -07:00
Jesse Hall
08d643e5eb EmuGL: Deliver every frame to a callback
To enable multi-touch on a tethered device, allow a callback to be
registered with the OpenGL renderer. On every frame, the framebuffer
is read into system memory and provided to the callback, so it can be
mirrored to the device.

This change is co-dependent on Idae3b026d52ed8dd666cbcdc3f3af80175c90ad3
in external/qemu.

Change-Id: I03c49bc55ed9e66ffb59462333181f77e7e46035
2012-03-22 13:29:00 -07:00
Andrew Hsieh
9e3e95f65f am 76780669: Added rules to build 64-bit libraries for 64-bit emulator
* commit '76780669f9867587693563358ccdc903e9cdcbba':
  Added rules to build 64-bit libraries for 64-bit emulator
2012-03-22 13:27:43 -07:00
Jean-Baptiste Queru
40b67a0eb0 Merge 8aafafe4
Change-Id: I41f097b5b96c4d000b1748b9e0411497d323556a
2012-03-22 12:57:54 -07:00
Andrew Hsieh
76780669f9 Added rules to build 64-bit libraries for 64-bit emulator
All ten libraries can now be built in 64-bit named "lib64*" (*)
in addition to the original 32-bit form named "lib*".

Also, dlopen "lib64*so" in 64-bit.

(*) eg. In Ubuntu, all can be built with the following command:
  make out/host/linux-x86/lib/lib64OpenglRender.so \
       out/host/linux-x86/lib/lib64EGL_translator.so \
       out/host/linux-x86/lib/lib64GLES_CM_translator.so \
       out/host/linux-x86/lib/lib64GLES_V2_translator.so

Rules to build static libraries lib64log.a, lib64cutils.a and lib64utils.a
they depend were added in other CLs.

Change-Id: I3afb64de6dda1d55dbd1b4443d2dbc78a683b19f
2012-03-22 12:36:45 -07:00
Andrew Hsieh
8aafafe4bd Fixed crash and 64-bit porting issues
1. "emugen" generates four *dec.cpp files containing code like this
   to decode offset to pointer in stream

   tmp = *(T *)(ptr + 8 + 4 + 4 + 4 + *(size_t *)(ptr +8 + 4 + 4));

   If *dec.cpp are compiled in 64-bit, size_t is 8-byte and dereferencing of
   it is likley to get wild offset for dereferencing of *(T *) to crash the
   code.  Solution is to define tsize_t for "target size_t" instead
   of using host size_t.

2. Cast pointer to "uintptr_t" instead of "unsigned int" for 2nd param of
   ShareGroup::getGlobalName(NamedObjectType, ObjectLocalName/*64bit*/).
3. Instance of EGLSurface, EGLContext and EGLImageKHR are used as 32-bit
   key for std::map< unsigned int, * > SurfacesHndlMap, ContextsHndlMap,
   and ImagesHndlMap, respectively.  Cast pointer to uintptr_t and assert
   upper 32-bit is zero before passing to map::find().
4. Instance of GLeglImageOES is used to eglAttachEGLImage() which expect
   "unsigned int".  Cast it to uintptr_t and assert upper 32-bit is zero.
5. The 5th param to GLEScontext::setPointer is GLvoid* but contains 32-bit
   offset to vbo if bufferName exists.  Cast it to uintptr_t and assert
   upper 32-bit is zero.
6. Use %zu instead of %d to print size_t
7. Cast pointer to (uintptr_t) in many other places

Change-Id: Iba6e5bda08c43376db5b011e9d781481ee1f5a12
2012-03-22 11:10:31 -07:00
Andrew Hsieh
206ea399b5 Refactor with ToTargetCompatibleHandle()
Refactor statements doing host-to-target handle conversion, eg.

   uintptr_t hndlptr = (uintptr_t)hostHandle;
   unsigned int hndl = (unsigned int)hndlptr;
   assert(sizeof(hndl) == sizeof(hndlptr) || hndl == hndlptr);

into a call to ToTargetCompatibleHandle()

Change-Id: I0bcfb37f1b50679d29e7f21fe230ad433fbbef7c
2012-03-22 01:27:44 +08:00
Vladimir Chtchetkine
c9d6edeea5 Change camera HAL to catch up with changes in emulator.
Emulator now allows fake camera to emulate both, back and front cameras at the same time.
Camera HAL is changed in this CL in order to support this.

Change-Id: I4dcf2d569bb0c6a3800b4a8da5edd4777b5a078a
2012-03-19 13:34:28 -07:00
Andrew Hsieh
129a0c2963 Merge "Added rules to build 64-bit libraries for 64-bit emulator" 2012-03-14 09:13:15 -07:00
Andrew Hsieh
a3f456f459 Added rules to build 64-bit libraries for 64-bit emulator
All ten libraries can now be built in 64-bit named "lib64*" (*)
in addition to the original 32-bit form named "lib*".

Also, dlopen "lib64*so" in 64-bit.

(*) eg. In Ubuntu, all can be built with the following command:
  make out/host/linux-x86/lib/lib64OpenglRender.so \
       out/host/linux-x86/lib/lib64EGL_translator.so \
       out/host/linux-x86/lib/lib64GLES_CM_translator.so \
       out/host/linux-x86/lib/lib64GLES_V2_translator.so

Rules to build static libraries lib64log.a, lib64cutils.a and lib64utils.a
they depend were added in other CLs.

Change-Id: I3afb64de6dda1d55dbd1b4443d2dbc78a683b19f
2012-03-13 22:40:33 -07:00
James Dong
7803a1db5b Merge "Switched to use header files in /frameworks/native" 2012-03-13 12:44:43 -07:00
Andreas Huber
bd7ef3835c Merge "We're configuring media codecs dynamically now." 2012-03-13 09:01:32 -07:00
James Dong
27b71c7383 Switched to use header files in /frameworks/native
o related-to-bug: 6044887

Change-Id: Iea98db35e51aaf52063565818ecfea8a935693f3
2012-03-12 20:37:02 -07:00
Derek Sollenberger
a96af3f6f8 am 3565ea1a: am 89e98da5: am a848b972: am 89b7a104: Merge "Add missing includes for threads.h"
* commit '3565ea1a6ecccc59839d883ee74fc4ba83f4ab02':
  Add missing includes for threads.h
2012-03-08 11:34:13 -08:00
Derek Sollenberger
89e98da5ac am a848b972: am 89b7a104: Merge "Add missing includes for threads.h"
* commit 'a848b97255a15d2ac75db1e367cc60ff46b77e20':
  Add missing includes for threads.h
2012-03-08 11:30:09 -08:00
Derek Sollenberger
a848b97255 am 89b7a104: Merge "Add missing includes for threads.h"
* commit '89b7a104d41c1ecbc1319a3d47199d40d56ebc96':
  Add missing includes for threads.h
2012-03-08 11:28:31 -08:00
Jesse Hall
cbd446a98a am 9322c5cb: Work around a y-invert bug on Macs w/ Intel GPU
* commit '9322c5cb2524c4f35408768ee3d1b8030f0360f9':
  Work around a y-invert bug on Macs w/ Intel GPU
2012-03-07 11:17:46 -08:00
Jesse Hall
1f4f50c7d2 am 767d0894: Delete dead code.
* commit '767d08948790527e9df951a752703938ff517d30':
  Delete dead code.
2012-03-07 11:17:45 -08:00
Jesse Hall
9322c5cb25 Work around a y-invert bug on Macs w/ Intel GPU
On Macs running OS X 10.6 and 10.7 with Intel HD Graphics 3000, some
screens or parts of the screen are displayed upside down. The exact
conditions/sequence that triggers this aren't known yet; I haven't
been able to reproduce it in a standalone test. This also means I
don't know whether it is a driver bug, or a bug in the OpenglRender or
Translator code that just happens to work elsewhere.

Thanks to zhiyuan.li@intel.com for a patch this change is based on.

Change-Id: I04823773818d3b587a6951be48e70b03804b33d0
2012-03-07 10:06:57 -08:00
Jesse Hall
767d089487 Delete dead code.
Change-Id: I5b87fac4e2140a903221a1f68b16fa6a96e5effc
2012-03-07 10:06:37 -08:00
Jesse Hall
a308d5ff8e Merge "Add/fix copyright notices" 2012-03-07 07:24:21 -08:00
Jesse Hall
f4a20e58aa Add/fix copyright notices
Several EmuGL files were missing copyright notices; added them. Others
had them but below other code, which makes checking for them more
difficult -- I moved these to the top of the file.

These files were all created by GraphTech as a work for hire for AOSP.

Change-Id: Iee67bcf1c9b54ad5aa8a9288ded0382a974c32cb
2012-03-06 16:13:03 -08:00
Jesse Hall
2478dfd351 Work around a y-invert bug on Macs w/ Intel GPU
On Macs running OS X 10.6 and 10.7 with Intel HD Graphics 3000, some
screens or parts of the screen are displayed upside down. The exact
conditions/sequence that triggers this aren't known yet; I haven't
been able to reproduce it in a standalone test. This also means I
don't know whether it is a driver bug, or a bug in the OpenglRender or
Translator code that just happens to work elsewhere.

Thanks to zhiyuan.li@intel.com for a patch this change is based on.

Change-Id: I04823773818d3b587a6951be48e70b03804b33d0
2012-03-06 16:09:06 -08:00