Commit Graph

5959 Commits

Author SHA1 Message Date
David Turner
cc45a2569c am cd7a4fd9: Merge "supporting EGL_KHR_image_base & EGL_KHR_gl_texture_2d_image extentions"
* commit 'cd7a4fd9375d86907463c847b4ccf9020f4f44cc':
  supporting EGL_KHR_image_base & EGL_KHR_gl_texture_2d_image extentions
2011-05-02 12:33:14 -07:00
David Turner
6b588edf74 am 70faa88e: Merge "integrating objectNameManger into GLES implementation"
* commit '70faa88ebc884519ba6e8ba8be45cff2c176ebcf':
  integrating objectNameManger into GLES implementation
2011-05-02 12:33:10 -07:00
David Turner
c46dffa2c1 am 71c92e77: Merge "Emulator\'s host translator EGL implementation."
* commit '71c92e77dc46cf457d45d1d2a64608cd9c88782a':
  Emulator's host translator EGL implementation.
2011-05-02 12:33:08 -07:00
David Turner
a2914a393a am 9d4ac946: Merge "Emulator\'s GLES translator implementation."
* commit '9d4ac946f32d23a4c8ce5723a4e7cb1153f4abb5':
  Emulator's GLES translator implementation.
2011-05-02 12:33:01 -07:00
David Turner
cd7a4fd937 Merge "supporting EGL_KHR_image_base & EGL_KHR_gl_texture_2d_image extentions" 2011-05-01 23:52:23 -07:00
David Turner
70faa88ebc Merge "integrating objectNameManger into GLES implementation" 2011-05-01 23:51:55 -07:00
David Turner
71c92e77dc Merge "Emulator's host translator EGL implementation." 2011-05-01 23:51:17 -07:00
David Turner
9d4ac946f3 Merge "Emulator's GLES translator implementation." 2011-05-01 23:50:40 -07:00
Conley Owens
f7301f0d04 am 9d89b171: Merge "Fix typo in informational text"
* commit '9d89b171ee9ce9ba96d16c0fd73c26a8ea468bde':
  Fix typo in informational text
2011-04-29 17:52:27 -07:00
David 'Digit' Turner
c37aea7b46 am ad41863c: am 3c84652d: Merge "emulator: Add libqemu static library to implement qemu pipes."
* commit 'ad41863c00467c41e392bd5565b20356dc90b393':
  emulator: Add libqemu static library to implement qemu pipes.
2011-04-29 14:53:53 -07:00
Amit Feller
0ff6e7917b supporting EGL_KHR_image_base & EGL_KHR_gl_texture_2d_image extentions
Change-Id: I69c3e975c892bcd0872c47e349b427f570d7e82d
2011-04-29 22:10:43 +02:00
Amit Feller
fce7b684b1 integrating objectNameManger into GLES implementation
Change-Id: Icda250f9e9d3af15a2d7c214136b777833d5596d
2011-04-29 22:10:43 +02:00
Amit Feller
a245cb125f Emulator's host translator EGL implementation.
This is the EGL implementation for the host EGL/GLES translator.

EglImp.cpp - includes the EGL entry points implementation.
ThreadInfo.cpp - defines the per-thread info which is shared to EGL and GLES
EglOsApi.h - platform dependant interface functions.
EglLinuxApi.cpp - implements the GLX platform of EglOsApi
EglWindowsApi.cpp - implenents the Windows platform of EglOsApi - This has not been compiled yet!!!

Change-Id: I30a8cf457858ef04febf67005787d8d18e5e7a70
2011-04-29 22:10:43 +02:00
Amit Feller
03dcd431cc Emulator's GLES translator implementation.
This is the GLESv1 on top of OpenGL implementation on the host.
GLDispatch - dispatch table to host OpenGL implementation.
GLESimp - includes GLES entry points implementation.

Change-Id: Ief5eac2253a5a98b75a5d76363a36b7587d17391
2011-04-29 22:10:43 +02:00
Conley Owens
9d89b171ee Merge "Fix typo in informational text" 2011-04-29 10:52:44 -07:00
David 'Digit' Turner
ad41863c00 am 3c84652d: Merge "emulator: Add libqemu static library to implement qemu pipes."
* commit '3c84652dd8cf01ceebf521832cd2df1ce08cfdfd':
  emulator: Add libqemu static library to implement qemu pipes.
2011-04-28 08:06:27 -07:00
David 'Digit' Turner
3c84652dd8 Merge "emulator: Add libqemu static library to implement qemu pipes." 2011-04-28 07:52:00 -07:00
David 'Digit' Turner
e1eea50214 emulator: Add libqemu static library to implement qemu pipes.
See hardware/libhardware/include/hardware/qemu_pipe.h for the API
implemented by the library. It enables very fast reads/writes between
the guest system and specific emulator services.

Define BUILD_LIBQEMU_TESTS=true in your environment to build the
test programs (a simple host ping-pong server, and a benchmark
guest program).

You can invoke them with:

1/ Testing TCP pipes:

   host:  test-libqemu-1 -tcp 8012
   guest: test-libqemu-2 -pipe tcp:8012

Alternatively

   guest: su
          test-libqemu-2 -tcp 8012

2/ Testing Unix pipes:

   host:  test-libqemu-1 -unix /tmp/libqemu-socket
   guest: test-libqemu-2 -pipe unix:/tmp/libqemu-socket

3/ Testing internal pingpong server (within the emulator)

   host:   /* nothing to do */
   guest:  test-libqemu-2

Change-Id: Ib50fc9cbee6b5f4581baca97412d6f69d4f84860
2011-04-28 16:48:15 +02:00
Bernhard Reutner-Fischer
b99b5f6b67 Fix typo in informational text
Change-Id: I43958dea3a6c89523f5d4b914effdc7eb602ae8b
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-04-26 13:27:06 +02:00
David Turner
f61c5ad575 am 092b588b: am 9e9b85c3: Merge "Really fix the Mac build."
* commit '092b588b0bcafcab6579407042a5bb0890bc890e':
  Really fix the Mac build.
2011-04-16 13:34:05 -07:00
David Turner
092b588b0b am 9e9b85c3: Merge "Really fix the Mac build."
* commit '9e9b85c3f610ebd9165644a96ccfbdd704ab3bc6':
  Really fix the Mac build.
2011-04-16 13:29:26 -07:00
David Turner
9e9b85c3f6 Merge "Really fix the Mac build." 2011-04-16 13:25:48 -07:00
David Turner
eff952cdbf Really fix the Mac build.
Damned!

Change-Id: Ice8295fb23beefe328207112b011489276b5b278
2011-04-16 22:21:57 +02:00
David Turner
e91699fe21 am 43fa53c4: am 34f083b1: Merge "Fix mac build"
* commit '43fa53c42871bc565b40a19a1bc7761d30881ba6':
  Fix mac build
2011-04-16 10:50:49 -07:00
David Turner
43fa53c428 am 34f083b1: Merge "Fix mac build"
* commit '34f083b1f3d45e60fb60bd11f9af0515cc3255fa':
  Fix mac build
2011-04-16 10:41:21 -07:00
David Turner
34f083b1f3 Merge "Fix mac build" 2011-04-16 10:25:15 -07:00
David Turner
427cb6c3b0 Fix mac build
Change-Id: Ic0ada31663beadbff06ac18ca4c5960c869b0ec8
2011-04-16 19:23:56 +02:00
David Turner
5ecdcdfb91 am a25b885e: am 218ccb4d: Merge "emulator opengl: small test app for the emulator renderer API."
* commit 'a25b885eedb4f038c38a564101aef2ad6f7bdc89':
  emulator opengl: small test app for the emulator renderer API.
2011-04-16 06:54:28 -07:00
David Turner
e99ef4fa07 am 89ea131e: am 36fc1bfe: Merge "emulator opengl: the host renderer executable."
* commit '89ea131e33cfc7867149b0f792c77bdbe664a953':
  emulator opengl: the host renderer executable.
2011-04-16 06:54:23 -07:00
David Turner
b07b714a1d am a8c91545: am bb45561f: Merge "emulatgor opengl: First commit of the host renderer library."
* commit 'a8c91545a59a9675a1a63d41d700b2c4abd003f1':
  emulatgor opengl: First commit of the host renderer library.
2011-04-16 06:54:18 -07:00
David Turner
a2192b8e17 am ba19e88d: am c4721695: Merge "emulator opengl: add OpenglOsUtils library, a set of OS utils."
* commit 'ba19e88d5351ccbb545eda1ecf4baa8056dd926d':
  emulator opengl: add OpenglOsUtils library, a set of OS utils.
2011-04-16 06:54:14 -07:00
David Turner
6504f70b74 am 0a2bacf6: am b06b3c76: Merge changes If48f5ed6,Ic63a6f73
* commit '0a2bacf64ce7fc2aff7e06a547f5e9f6b67eeda7':
  emulator opengl: first commit of gralloc implementation.
  emulator opengl: OpenglSystemCommon library shared between gralloc/EGL/GLES.
2011-04-16 06:52:26 -07:00
David Turner
a25b885eed am 218ccb4d: Merge "emulator opengl: small test app for the emulator renderer API."
* commit '218ccb4d4688d9708e440f59e883a2996725215a':
  emulator opengl: small test app for the emulator renderer API.
2011-04-16 06:26:52 -07:00
David Turner
89ea131e33 am 36fc1bfe: Merge "emulator opengl: the host renderer executable."
* commit '36fc1bfe1f2410c5995650c9e22e2182e72d0f2b':
  emulator opengl: the host renderer executable.
2011-04-16 06:26:50 -07:00
David Turner
a8c91545a5 am bb45561f: Merge "emulatgor opengl: First commit of the host renderer library."
* commit 'bb45561f8d9ecb3a0484ffad588f3339cc747a1a':
  emulatgor opengl: First commit of the host renderer library.
2011-04-16 06:26:48 -07:00
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
72974d6a95 am 3cdf8eb7: am 2a384265: Merge "Fix Mac build"
* commit '3cdf8eb7548bf165c7e202631107d2d7fe2af943':
  Fix Mac build
2011-04-15 07:51:23 -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