Commit Graph

7887 Commits

Author SHA1 Message Date
David 'Digit' Turner
e872f4e101 ndk: Remove obsolete platform files
Remove the prebuilt system shared libraries and unified symbol files
from development/ndk. We don't need them anymore:

  - the unified symbol files are replaced by separate functions/variables
    symbol list, which were added in a previous commit, i.e.:

	libc.so.txt  --> libc.so.functions.txt
	                 libc.so.variables.txt

 - the shared libraries are now generated on the fly by the NDK
   gen-platforms.sh script, from the functions/variables symbol lists.

Note that we need to keep the static libraries and runtime objects,
they are required to build the cross-toolchains and target binaries.

Change-Id: Ifa0a7f2d741ed32b80216561ca3f17e67df06ce9
2011-10-10 21:52:17 +02:00
David 'Digit' Turner
02053eb7a1 ndk: separate functions and variables symbol lists
This change introduces separate symbol lists for functions
and variables of each NDK system shared library.

Note that we don't remove the unified symbol files yet. This
will be done later when we complete other changes under ndk/,
namely the ability to generate platforms trees containing shell
libraries generated directly from them.

These files were generated using the following:

  cd development/ndk
  for DIR in platforms/*/*/lib; do
    for ARCH in arm x86; do
      $NDK/build/tools/gen-system-symbols $DIR $DIR/../symbols
    done
  done

This means that the symbol lists were generated by parsing the
existing prebuilt shared libraries under platforms/ and extracting
their function and variable names.

Change-Id: Ie1e791d98260a7f0d8d2e9f71323a7ea448f2dd4
2011-10-10 21:52:09 +02:00
David 'Digit' Turner
b065016640 Merge "emulator: opengl: Add support for unix sockets." 2011-09-13 07:02:38 -07:00
David 'Digit' Turner
bde30e7480 Merge "emulator: opengl: re-enable gralloc builds" 2011-09-13 06:20:29 -07:00
David 'Digit' Turner
3d76ec1e3c emulator: opengl: Add support for unix sockets.
This patch allows the OpenGLES rendering library to use Unix
sockets instead of TCP ones when communicating with its clients.
On certain benchmarks (e.g. 0xBench teapot), this provides a
noticeable improvement (x1.05 fps) without any other changes.

On practice, Unix sockets are faster than TCP sockets, even
local ones. Also, this introduces a moderate amount of
abstraction that will allow us to use Win32 named pipes
on Windows (where TCP sockets are much slower than they
are on Unix).

Note that by default, TCP streams are still used.
The client (emulator) must call the new API 'setStreamMode'
to change it to STREAM_MODE_UNIX between 'initLibrary' and
'startOpenglRenderer' calls.

+ Adjust callers / user appropriately.

Change-Id: I4105bbf07541f3146b50a58d1a5b51e8cf044fab
2011-09-13 14:03:32 +02:00
David 'Digit' Turner
3598af3850 emulator: opengl: add missing pthread_mutex_destroy
Change-Id: Ib6be00619e06f5ff492a080d1feb2954b626fa26
2011-09-13 14:02:37 +02:00
David 'Digit' Turner
c308bfc05f emulator: opengl: re-enable gralloc builds
This re-enables the build of the gralloc GLES emulation library.

This is only for experimentation / debugging purpose. GLES emulation
is still disabled by default in the emulator. Even if you force-enable
it by using the '-gpu on' flag, this module will not properly yet
and nothing will be displayed.

Change-Id: I8f0ca8805ed99037b011365d08507ca08bff5e75
2011-09-13 13:59:53 +02:00
Vladimir Chtchetkine
455e444a1f Merge "Fake camera implementation" 2011-09-12 08:51:18 -07:00
Vladimir Chtchetkine
b97c2f0b59 Fake camera implementation
The code submitted here builds a camera.goldfish.so module that encapsulates a camera HAL.

The major components of the camera HAL implementation are:
* Generic HAL module implemented in emulated_camera_hal.cpp There is nothing much
  to it: just exporting the required HAL header.
* EmulatedCameraFactory class that manages emulated cameras, and provides handling for
  camera_module_methods_ methods. There is only one object of this class, that is statically
  instantiated when camera.goldfish.so module is loaded.
* EmulatedCamera class that implements camera_device_ops_t API. Objects of this class are
  instantiated during EmulatedCameraFactory construction, and they interact with objects
  of EmulatedCameraDevice class to get frames.
* EmulatedCameraDevice class encapsulates an actual camera device. Objects of this class
  are contained in EmulatedCameraDevice objects, and interact with them as required by the
  API.

The fake camera implementation is shared between EmulatedFakeCamera, and EmulatedFakeCameraDevice
classes. They are pretty light. In fact, EmulatedFakeCamera is nothing more than just a
placeholder for EmulatedFakeCameraDevice instance, and EmulatedFakeCameraDevice does nothing
more, than just drawing a checker board with a bouncing square.

Other components / routines are minor: helpers, wrappers, etc. The code is heavily commented,
so there will be plenty of explanations between the lines.

Change-Id: I4463e14c255c6e3b1dcca17bed5f4efde32d9879
2011-09-12 08:37:48 -07:00
Stephen Hines
bbc0bd4936 Merge "Bump minimum SDK version to 14." 2011-09-09 15:59:38 -07:00
Stephen Hines
2f8b09d926 Bump minimum SDK version to 14.
BUG=5280704

Change-Id: Ib26b93f4b41b5c910afaa49b4420d9bd4272acd9
2011-09-09 14:49:44 -07:00
Raphael
f31a96aa9f SDK packaging for unified llvm-rs-cc binary.
Change-Id: I73971ade5bddadd2f395d098e5a083a6f683c302
2011-09-08 16:42:12 -07:00
Jake Hamby
5cba0d859e Merge "Exclude some non-source folders from IntelliJ projects." 2011-09-07 13:27:10 -07:00
Raphael Moll
8ea8b906de Merge "Move sdk project ant templates into development.git" 2011-09-06 13:25:47 -07:00
David Turner
c73fe080ef Merge "emulator: opengl: Fix egl.cfg tsdefinition" 2011-09-03 03:43:51 -07:00
Raphael Moll
1fe8fd6d69 Move sdk project ant templates into development.git
These templates were previously located in sdk.git but
are actually embedded in sdk/platforms/android-n/templates
so really they should be in development.git to avoid
any multi-repo issue.

Change-Id: I88e3d8fef70c48629407faacad798f781bb1f6d9
2011-09-02 11:17:57 -07:00
Gilles Debunne
108938c95c Merge "Add switch demo" 2011-09-02 10:03:00 -07:00
David 'Digit' Turner
1cb2c5455c emulator: opengl: Fix egl.cfg tsdefinition
This fixes the definition of the emulator-specific egl.cfg file
used to indicate to our EGL system library which support modules
are available in the emulator.

We need to list two modules here:

  'emulation' corresponding to GPU emulation
  'android' corresponding to the software renderer

The indices before each name correspond to the 'display' and 'impl'
numbers that are expected by frameworks/base/opengl/libs/EGL/Loader.cpp

In a nutshell, 'display' should always be 0, and 'impl' should be 0
for the software renderer, and 1 for a hardware-based one. See the code
under framewors/base/opengl/libs/EGL/egl.cpp for mode details.

Change-Id: I52c898759200c2dfba9049ed00b31b18e8c37f69
2011-09-02 15:26:14 +02:00
Raphael Moll
169eb6ea17 Merge "Move sdk project ant templates into development.git" 2011-09-01 21:35:11 -07:00
Raphael Moll
22e4eb2957 Move sdk project ant templates into development.git
These templates were previously located in sdk.git but
are actually embedded in sdk/platforms/android-n/templates
so really they should be in development.git to avoid
any multi-repo issue.

Change-Id: I9b68f35572fa0c18001873854e1e60d2947dcb39
2011-09-01 00:51:46 -07:00
Adam Powell
758f6d0ab5 Add switch demo
Added default on state and a listener triggering a toast.

Change-Id: I79a89801d878b08fee55919e92044cd71f47108c
2011-08-31 11:23:02 -07:00
David 'Digit' Turner
1479a6cb84 am 7cd5aeb7: am dda2e51a: am 6ba16ba7: Merge "emulator: opengl: add initLibrary function to render library"
* commit '7cd5aeb7c7a109712a660c89d50fb67d35471081':
  emulator: opengl: add initLibrary function to render library
2011-08-30 09:50:49 -07:00
David 'Digit' Turner
b61218ba1b am 1ff9d194: am b6114c7b: am 7cb797f1: Merge "emulator: opengl: use bilinear filtering"
* commit '1ff9d194e3f252a03555edd90702a368a10e50cc':
  emulator: opengl: use bilinear filtering
2011-08-30 09:50:46 -07:00
David 'Digit' Turner
ad520ab701 Merge "emulator: opengl: Fix the emulator-specific builds." 2011-08-30 01:21:32 -07:00
Dianne Hackborn
96ce893673 Merge "Dang you, TabHost." 2011-08-29 18:42:41 -07:00
Dianne Hackborn
648e25f0c7 Dang you, TabHost.
Change-Id: I937cd0748fe0c44d6cd642637321aa6eb550cf91
2011-08-29 18:39:21 -07:00
David 'Digit' Turner
7cd5aeb7c7 am dda2e51a: am 6ba16ba7: Merge "emulator: opengl: add initLibrary function to render library"
* commit 'dda2e51a15ddfc44b34ec3c35e68f3bc1cfb5786':
  emulator: opengl: add initLibrary function to render library
2011-08-29 18:01:01 -07:00
David 'Digit' Turner
1ff9d194e3 am b6114c7b: am 7cb797f1: Merge "emulator: opengl: use bilinear filtering"
* commit 'b6114c7b66744729b8e0e9142e8b07eba41637d5':
  emulator: opengl: use bilinear filtering
2011-08-29 18:00:56 -07:00
David 'Digit' Turner
dda2e51a15 am 6ba16ba7: Merge "emulator: opengl: add initLibrary function to render library"
* commit '6ba16ba75232000740d0532e936df88e33b49b05':
  emulator: opengl: add initLibrary function to render library
2011-08-29 17:57:53 -07:00
David 'Digit' Turner
b6114c7b66 am 7cb797f1: Merge "emulator: opengl: use bilinear filtering"
* commit '7cb797f1fda821c0bc8498855ff8cdcd893c0985':
  emulator: opengl: use bilinear filtering
2011-08-29 17:57:52 -07:00
David 'Digit' Turner
34fa5630b7 emulator: opengl: Fix the emulator-specific builds.
The gralloc.goldfish module cannot build in master because
the gralloc interface evolved considerably since gingerbread
(which the current code is based on).

For now, disable it completely, this will make it impossible
to test GPU emulation in the internal master tree for now.

We'll have to port this module to the new world-order to solve
this.

Change-Id: I864217f9c41fd1234f0df497005499800af879e5
2011-08-29 22:20:37 +02:00
David 'Digit' Turner
ec4c093361 am 84e83659: am 13cd2cd4: am 56eca4e0: Merge "emulator: opengl: fix the build"
* commit '84e836590e5fb655c7fd1f49613a4ae9cd2fa963':
  emulator: opengl: fix the build
2011-08-29 11:05:17 -07:00
David 'Digit' Turner
8ef53760d5 am 2276a468: am 846dd223: am dbe3b024: Merge "emulator: opengl: fallback gralloc module"
* commit '2276a468202750d743848810675e62a63ace67bb':
  emulator: opengl: fallback gralloc module
2011-08-29 11:05:10 -07:00
David 'Digit' Turner
c6d73d7af4 am d960239d: am 43946da5: am 7f45e7c1: Merge "emulator: oops, really fix the build"
* commit 'd960239de6371c2368792c6cc75de6d59abe172c':
  emulator: oops, really fix the build
2011-08-29 11:05:01 -07:00
David 'Digit' Turner
bce8ca33d0 am fec153a7: am 9765cb8a: am 2a59fa7d: Merge "emulator: fix the build"
* commit 'fec153a765edf051f3b97610c748d1ab9526cbfa':
  emulator: fix the build
2011-08-29 11:04:57 -07:00
David 'Digit' Turner
6ba16ba752 Merge "emulator: opengl: add initLibrary function to render library" 2011-08-29 08:01:42 -07:00
David 'Digit' Turner
5d1e8b2f28 emulator: opengl: add initLibrary function to render library
This adds an initLibrary() function to libOpenglRender.

It will be used by the emulator to fallback on software rendering
if the library cannot be initialized properly, e.g. if it is not
possible to load the host EGL/GLES libraries.

Change-Id: I41e8ad73a315166e4a15cbee1db72c2552370f46
2011-08-29 16:57:38 +02:00
David 'Digit' Turner
7cb797f1fd Merge "emulator: opengl: use bilinear filtering" 2011-08-29 06:55:32 -07:00
David 'Digit' Turner
84e836590e am 13cd2cd4: am 56eca4e0: Merge "emulator: opengl: fix the build"
* commit '13cd2cd4f57ce3e005f8d5c150c0cd3c4daf386d':
  emulator: opengl: fix the build
2011-08-26 12:12:56 -07:00
David 'Digit' Turner
2276a46820 am 846dd223: am dbe3b024: Merge "emulator: opengl: fallback gralloc module"
* commit '846dd22375f3db7308fa676e9730757ec1e6c028':
  emulator: opengl: fallback gralloc module
2011-08-26 12:12:52 -07:00
David 'Digit' Turner
13cd2cd4f5 am 56eca4e0: Merge "emulator: opengl: fix the build"
* commit '56eca4e089ee51a43bf3c816773e7af51ca5c628':
  emulator: opengl: fix the build
2011-08-26 12:10:51 -07:00
David 'Digit' Turner
846dd22375 am dbe3b024: Merge "emulator: opengl: fallback gralloc module"
* commit 'dbe3b024cb81419796f01eebb64fba28eedaa301':
  emulator: opengl: fallback gralloc module
2011-08-26 12:10:49 -07:00
David 'Digit' Turner
56eca4e089 Merge "emulator: opengl: fix the build" 2011-08-26 09:18:42 -07:00
David 'Digit' Turner
2dfb7b549f emulator: opengl: fix the build
Change-Id: Ia20d15b63a059ed5d86c9087b827bdfa32c41c86
2011-08-26 18:17:13 +02:00
David 'Digit' Turner
dbe3b024cb Merge "emulator: opengl: fallback gralloc module" 2011-08-26 08:46:55 -07:00
David 'Digit' Turner
91572d15eb emulator: opengl: use bilinear filtering
This patch changes the filter used to scale the GL window
in the rendering library. Instead of nearest-neighbour, use
bi-linear, which will provide for much more pleasant results
when scaling the emulator UI window, or toggling to full-screen
mode.

Change-Id: If2d9e1300fa4878c25e1221eaedb565b9150431a
2011-08-26 17:31:58 +02:00
David 'Digit' Turner
783cc1bb53 emulator: opengl: fallback gralloc module
This patch modifies the gralloc.goldfish module to check
that the emulator does, indeed, support GPU emulation.

If this is not the case, it loads the framebuffer-based fallback
module (gralloc.default) explicitely and uses it instead.

This is necessary because sometimes the emulator will be started
in headless mode in restricted environment, i.e. without access
to the display subsystem or GL libraries, which make GPU emulation
impossible.

We check for ro.kernel.qemu.gles which will be either undefined
or set to 0 if the emulator doesn't support GPU emulation, or 1
otherwise.

Change-Id: Ib6b143e6dcdfb44ff2c5b889138d0fb4118bb461
2011-08-26 17:31:58 +02:00
Fred Quintana
870716fc7a Merge "Make the sync adapter driver understand the new settingsActivity parameter." 2011-08-25 17:30:14 -07:00
David Hu
d9b501bed8 Fix the location of the GspLocationTest.apk
Change-Id: I4f45bab629bb45fdc9e8ac465a330fa1ab7a7a34
2011-08-25 15:29:15 -07:00
David 'Digit' Turner
d960239de6 am 43946da5: am 7f45e7c1: Merge "emulator: oops, really fix the build"
* commit '43946da54d3dc8d840c5e39c8eaf2f46ece57518':
  emulator: oops, really fix the build
2011-08-25 14:30:12 -07:00