Commit Graph

8419 Commits

Author SHA1 Message Date
David Turner
ba19e88d53 am c4721695: Merge "emulator opengl: add OpenglOsUtils library, a set of OS utils."
* commit 'c4721695c920abda1dac55e354f032c406669612':
  emulator opengl: add OpenglOsUtils library, a set of OS utils.
2011-04-16 06:26:46 -07:00
David Turner
0a2bacf64c am b06b3c76: Merge changes If48f5ed6,Ic63a6f73
* commit 'b06b3c761c1cc90d1b3ff6b4ae5ab2e16cb8238c':
  emulator opengl: first commit of gralloc implementation.
  emulator opengl: OpenglSystemCommon library shared between gralloc/EGL/GLES.
2011-04-16 06:25:14 -07:00
David Turner
218ccb4d46 Merge "emulator opengl: small test app for the emulator renderer API." 2011-04-16 06:20:32 -07:00
David Turner
36fc1bfe1f Merge "emulator opengl: the host renderer executable." 2011-04-16 06:19:00 -07:00
David Turner
bb45561f8d Merge "emulatgor opengl: First commit of the host renderer library." 2011-04-16 06:17:11 -07:00
David Turner
c4721695c9 Merge "emulator opengl: add OpenglOsUtils library, a set of OS utils." 2011-04-16 06:12:25 -07:00
David Turner
b06b3c761c Merge changes If48f5ed6,Ic63a6f73
* changes:
  emulator opengl: first commit of gralloc implementation.
  emulator opengl: OpenglSystemCommon library shared between gralloc/EGL/GLES.
2011-04-16 06:10:24 -07:00
Guy Zadikario
cca6a5fc0e emulator opengl: small test app for the emulator renderer API.
This sample program simulates the use of the renderer api as it should
be used from the emulator program. It opens a SDL window, initialize the
renderer, process events on the window and terminate the renderer when the
window is closed.

Change-Id: If983b4ce6465dee71f548e8edaf2b56b6443f7b0
2011-04-16 10:45:48 +03:00
Guy Zadikario
555d9bece7 emulator opengl: the host renderer executable.
This is the host renderer executable. It is a small process which
just calls into libOpenglRender library. The process is invoked
through the initOpenGLRenderer function of libOpenglRenderer.

Change-Id: I85af075b5eb751ffb9543ecbd8e7fc155054f146
2011-04-16 10:45:48 +03:00
Guy Zadikario
1f0d3939ed emulatgor opengl: First commit of the host renderer library.
This is a library which includes all the OpenGL renderer functionality,
it is packaged in a library so that both the renderer process and the emulator
program will be able to use that functionality.

NOTES:
   1) gl_proc.h and GLDispatch.{h,cpp} in this commit will be replaced
      with the decoder auto-generated dispatch in a later commit, the
      auto-generated dispatch is currently missing some extension functions
      required for the renderer.
   2) look at host/include/libOpenglRender/render_api.h for the external
      interface defined for this library (to be used by the emulator).

The following is a description of each component:

FrameBuffer - The main object which manages the framebuffer and color buffers.
              This is a singleton which get initialized through its initialize
              static function. It initializes the OpenGL renderer and must be
              called first. This initialization function is not thread safe so
              it must be called before any thread that is calling to this
              library is created.

FBConfig - Includes a static set of configs supported by the renderer which get
           initialized during FrameBuffer initialization phase. Also,
           an instance of this class includes the a description of one frame
           buffer configuration supported by the renderer.

RenderContext - encapsulate a rendering context state.

ColorBuffer - implements a color buffer object as a texture which can be bind
              as render target or source.

WindowSurface - implements the functionality of a native window which can be
                bound to a rendering context and its target ColorBuffer can
                be specified and replaced.

ThreadInfo - holds per-thread information.

EGLDispatch - loads the EGL plugin library, all egl calls are made through
              this dispatch table which get initialized during initialization
              phase.

GLDispatch - loads the GLES plugin library, all GLES calls are made through
             this dispatch table which get initialized during initialization
             phase - This will be replaced by the auto-generated code of the
             decoder ...

RenderThread - implements a thread that reads command tokens from an IOStream
               and decode it.

RenderControl - implements the host side implementation of the renderControl
                API, when a renderControl token is decoded from the stream
                it is dispatched to this implementation.

RenderServer - implements a TCP server which listens to port number and
               launcges a RenderThread for each new connection.

Change-Id: I9f34d17bdfcb715893a13cd30086c767f499df87
2011-04-16 10:45:39 +03:00
Guy Zadikario
20368d96e0 emulator opengl: add OpenglOsUtils library, a set of OS utils.
This is just a set of OS dependant functionality needed by the
emulator OpenGL host renderer. It currently has implementation for
Linux and Windows only.

osDynLibrary - dlopen/dlsym abstraction
osProcess    - interface to launch a new process, wait and kill it.
osThread     - abstraction interface for creating a thread.

Change-Id: Ib0264592d8c87e865da87acf5c94e2b331801ca4
2011-04-16 10:42:43 +03:00
Guy Zadikario
f7cd7ec421 emulator opengl: first commit of gralloc implementation.
This is the emulator opengl implementation of gralloc.

NOTE that it is currently build only if BUILD_EMULATOR_OPENGL_DRIVER
is defined, This is because the other driver peices (EGL/GLES) are
still missing.

Change-Id: If48f5ed619df6efb00cb4e590d99ce49d87875f6
2011-04-16 10:42:34 +03:00
Guy Zadikario
64db3f9a02 emulator opengl: OpenglSystemCommon library shared between gralloc/EGL/GLES.
This is a static library of utilities shared between the emulator opengl
system components, gralloc, EGL, GLES. In includes host connection functionality
and access to OpenGL TLS info.

Change-Id: Ic63a6f7384a2035308ca6d316c747f0e6c6f2ef3
2011-04-16 10:32:39 +03:00
David 'Digit' Turner
d85613f138 am 72974d6a: am 3cdf8eb7: am 2a384265: Merge "Fix Mac build"
* commit '72974d6a95e1508609f20370b46b4d7a33bccd80':
  Fix Mac build
2011-04-15 07:52:55 -07:00
David 'Digit' Turner
72974d6a95 am 3cdf8eb7: am 2a384265: Merge "Fix Mac build"
* commit '3cdf8eb7548bf165c7e202631107d2d7fe2af943':
  Fix Mac build
2011-04-15 07:51:23 -07:00
David Turner
5ab75d64a5 am 43b5d0e2: am d6ad2a63: am 23a491dc: Merge "emulator opengl: renderControl API encoder/decoder"
* commit '43b5d0e259edaaf244dd4948a85b2f1fce3b3f83':
  emulator opengl: renderControl API encoder/decoder
2011-04-15 07:51:09 -07:00
David Turner
9d360bc000 am eebc97b9: am c1491eb3: am 0f0732fe: Merge "emulator opengl: Added glUtilsPixelBitSize function to glUtils."
* commit 'eebc97b987e77fb238d8d65aae1e55f332011537':
  emulator opengl: Added glUtilsPixelBitSize function to glUtils.
2011-04-15 07:51:07 -07:00
David Turner
9a6cf4f0da am 658185c5: am 961949e0: am 2732ff2d: Merge "Moved IOStream.h to be used in external API for libOpenGLRender."
* commit '658185c5507bab4365bc88728fba893bdee8b3a8':
  Moved IOStream.h to be used in external API for libOpenGLRender.
2011-04-15 07:51:05 -07:00
David Turner
cc9c9838da am f0970841: am a95826fb: am 39062218: Merge " This is a common library for the EGL/GLES/GLES2 translator libraries."
* commit 'f0970841bc634e689962091cf86ad5c7becb5285':
  This is a common library for the EGL/GLES/GLES2 translator libraries.
2011-04-15 07:50:55 -07:00
David 'Digit' Turner
3cdf8eb754 am 2a384265: Merge "Fix Mac build"
* commit '2a38426583d320ddd234f74594db1fb16ae75d16':
  Fix Mac build
2011-04-15 07:44:59 -07:00
David Turner
43b5d0e259 am d6ad2a63: am 23a491dc: Merge "emulator opengl: renderControl API encoder/decoder"
* commit 'd6ad2a63ca51f11c97042baa43eb33904e6aefb4':
  emulator opengl: renderControl API encoder/decoder
2011-04-15 07:39:15 -07:00
David Turner
eebc97b987 am c1491eb3: am 0f0732fe: Merge "emulator opengl: Added glUtilsPixelBitSize function to glUtils."
* commit 'c1491eb3b91f1e4d84b4e603d0d22d07502158a2':
  emulator opengl: Added glUtilsPixelBitSize function to glUtils.
2011-04-15 07:39:13 -07:00
David Turner
658185c550 am 961949e0: am 2732ff2d: Merge "Moved IOStream.h to be used in external API for libOpenGLRender."
* commit '961949e054c7bb99777848dd8d10ba933bd41817':
  Moved IOStream.h to be used in external API for libOpenGLRender.
2011-04-15 07:39:11 -07:00
David Turner
f0970841bc am a95826fb: am 39062218: Merge " This is a common library for the EGL/GLES/GLES2 translator libraries."
* commit 'a95826fb63f86064e0aff39290926da047e5b873':
  This is a common library for the EGL/GLES/GLES2 translator libraries.
2011-04-15 07:39:04 -07:00
David 'Digit' Turner
2a38426583 Merge "Fix Mac build" 2011-04-15 07:31:34 -07:00
David 'Digit' Turner
f85c358b27 Fix Mac build
Change-Id: I030c9903f073aced6c2778665f7961f3e9f9804d
2011-04-15 16:30:26 +02:00
David Turner
d6ad2a63ca am 23a491dc: Merge "emulator opengl: renderControl API encoder/decoder"
* commit '23a491dccdc8c294af2ecd0602d10da9f2707ac1':
  emulator opengl: renderControl API encoder/decoder
2011-04-15 07:08:25 -07:00
David Turner
c1491eb3b9 am 0f0732fe: Merge "emulator opengl: Added glUtilsPixelBitSize function to glUtils."
* commit '0f0732febfb1fa0b10f204e28384ce4671fcc969':
  emulator opengl: Added glUtilsPixelBitSize function to glUtils.
2011-04-15 07:08:22 -07:00
David Turner
961949e054 am 2732ff2d: Merge "Moved IOStream.h to be used in external API for libOpenGLRender."
* commit '2732ff2db2bea7665002e58bfb056d06895d42e0':
  Moved IOStream.h to be used in external API for libOpenGLRender.
2011-04-15 07:08:20 -07:00
David Turner
a95826fb63 am 39062218: Merge " This is a common library for the EGL/GLES/GLES2 translator libraries."
* commit '39062218ffc47f27da844dfc4019ec37c885349c':
  This is a common library for the EGL/GLES/GLES2 translator libraries.
2011-04-15 07:08:15 -07:00
David Turner
23a491dccd Merge "emulator opengl: renderControl API encoder/decoder" 2011-04-15 06:45:25 -07:00
David Turner
0f0732febf Merge "emulator opengl: Added glUtilsPixelBitSize function to glUtils." 2011-04-15 06:43:32 -07:00
David Turner
2732ff2db2 Merge "Moved IOStream.h to be used in external API for libOpenGLRender." 2011-04-15 06:42:28 -07:00
David Turner
39062218ff Merge " This is a common library for the EGL/GLES/GLES2 translator libraries." 2011-04-15 06:39:27 -07:00
David 'Digit' Turner
de830eddbc am 62b21b41: am 832388de: am 13a0b81c: Merge "Revert 776bd3e46c2fb5c003ecec4fee99f01943876644"
* commit '62b21b41467dd8ebc4ce7518de8f4418389cf436':
  Revert 776bd3e46c
2011-04-14 07:42:08 -07:00
David 'Digit' Turner
62b21b4146 am 832388de: am 13a0b81c: Merge "Revert 776bd3e46c2fb5c003ecec4fee99f01943876644"
* commit '832388de41c6b44d43bd1f1307b3386d0fcc376e':
  Revert 776bd3e46c
2011-04-14 07:39:04 -07:00
David 'Digit' Turner
832388de41 am 13a0b81c: Merge "Revert 776bd3e46c2fb5c003ecec4fee99f01943876644"
* commit '13a0b81cdd18151b4bbb4c61a6b7c7a652eca6ed':
  Revert 776bd3e46c
2011-04-14 07:32:48 -07:00
David 'Digit' Turner
13a0b81cdd Merge "Revert 776bd3e46c2fb5c003ecec4fee99f01943876644" 2011-04-14 07:19:30 -07:00
David 'Digit' Turner
a6e54e04a3 Revert 776bd3e46c
Unfortunately, we need to keep duplicate libraries under sdk/emulator/
to avoid breaking a few internal branches.

    commit 776bd3e46c
    Author: David 'Digit' Turner <digit@android.com>
    Date:   Thu Apr 7 10:58:07 2011 +0200

    emulator: Remove the global Make variable trick for emulator-specific system modules.

    Remove a sad trick that was used to smoothly move the platform-specific emulator
    modules from sdk/emulator/ to development/tools/emulator/system without creating
    build conflicts.

    Now that the sdk/ modules have been removed, we can get rid of the guard variable.

Change-Id: Id5c44a4160191d8ac9afcbbeeef7de0b9a5b0f6f
2011-04-14 14:06:05 +02:00
David 'Digit' Turner
74ca761b11 am 13e07e5c: am 28eeece2: am 755d75f4: Merge "ndk: Add missing update arm C library for android-9 platform."
* commit '13e07e5c66d20c95f7c8dd668f1e7d9d50da2c9c':
  ndk: Add missing update arm C library for android-9 platform.
2011-04-14 04:02:18 -07:00
David 'Digit' Turner
13e07e5c66 am 28eeece2: am 755d75f4: Merge "ndk: Add missing update arm C library for android-9 platform."
* commit '28eeece2152a6dd78bc630a6a0924ceb6921118a':
  ndk: Add missing update arm C library for android-9 platform.
2011-04-14 03:53:59 -07:00
David 'Digit' Turner
28eeece215 am 755d75f4: Merge "ndk: Add missing update arm C library for android-9 platform."
* commit '755d75f4a2d2bd360b5d8a92e9a4a9bc01a185e4':
  ndk: Add missing update arm C library for android-9 platform.
2011-04-14 03:26:48 -07:00
David 'Digit' Turner
755d75f4a2 Merge "ndk: Add missing update arm C library for android-9 platform." 2011-04-14 03:10:19 -07:00
David 'Digit' Turner
f76679f6ba ndk: Add missing update arm C library for android-9 platform.
The C library was updated in Gingerbread to support. The corresponding
headers were updated, but the change was missing an updated library,
used for proper linking of new functions (e.g. pthread_rwlock_init).

Fix for http://code.google.com/p/android/issues/detail?id=12990

For the record, this binary was simply pulled from an AVD created
with the standard SDK platform image for Gingerbread.

Change-Id: Ic30921582f143adfc4bcfe3f70a6293530fe0202
2011-04-14 11:44:04 +02:00
Brian Carlstrom
a0f49ace44 Merge "Tolerate missing AccountManager resource, not just missing resource name" 2011-04-13 11:13:56 -07:00
Guy Zadikario
32fc922316 emulator opengl: renderControl API encoder/decoder
That adds the renderControl API encoder/decoder which is used for
guest to host control commands. See system/renderControl_enc/README
for more info about the API itself.

Change-Id: I2c72803137889d646fbb3d2a56ecdcf94b088f40
2011-04-13 13:33:26 +03:00
Guy Zadikario
fc2d0b09ec emulator opengl: Added glUtilsPixelBitSize function to glUtils.
moved pixel size calculation from GLClientState to glUtils to be used
outside the client state scope. (needed for the renderControl encoder
which will follow in next commit).

Change-Id: I5adbc40b241537054c6743e2afc52ba44454664f
2011-04-13 13:33:26 +03:00
Guy Zadikario
caafd4df2e Moved IOStream.h to be used in external API for libOpenGLRender.
This change includes four changes:
1) moved IOStream.h into host/include/libOpenGLRender, this directory
   will include the api interface into the libOpenGLRender which will be
   used later by the emulator and we need this interface to use IOStream.h
2) Updated Andorid.mk files to include the new directory location of IOStream.h
   in the LOCAL_C_INCLUDE.
3) Added new function "read" to IOStream which reads a message without a givven
   size.
4) Updated TcpStream to use "cutils/sockets.h" instead of using directly the socket api for portability reasons. (It now compiles on windows as well).

Change-Id: I30eb40c8dcd5aacf0d993aff9cdb90b283b12dde
2011-04-13 13:33:05 +03:00
Dianne Hackborn
a8693d8b03 Add handling of tasks being removed.
Change-Id: I6141f17310e61dc6b86052ca81a17a51cc6a2193
2011-04-12 18:25:38 -07:00
David Li
7ec777341e GLES2Dbg: code gen for frame
Also loading *.gles2dbg dump files.

Change-Id: I87e5ae6fda22b3cad920d2a06671efef5adb2e8a
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00