Commit Graph

8 Commits

Author SHA1 Message Date
Jacky Romano
f99884f916 Android emulator opengl - host side EGL wrapper
This adds an EGL wrapper used by the test rendering to load an EGL
implementation that matches the OpenGL ES impelmentation that it uses.
The library is a simple wrapper that direct EGL calls through a dispatch
table that is dynamically loaded from an EGL shared library implementation

Change-Id: I6379d6b156c69f9e017da0039c96699290f0f84f
2011-03-28 19:22:31 +02:00
Jacky Romano
faa8994f17 Android emulator opengl - unit test host side renderer
This adds 'ut_renderer' - a host side unit test renderer. ut_renderer is used to
take a command stream over a socket connection and render it into an opengl window.
The renderer uses the GLESv1_dec decoder library and the ut_rendercontrol api to parse
the command stream.
The ut_renderer uses an external (plug-in) opengl impelementation.

Change-Id: I77794044ca9ca8a75a66a95a248eac384710aafe
2011-03-28 19:20:23 +02:00
Jacky Romano
a4205ba264 Android emulator opengles - unit test gles wrapper
This adds opengl es implementation driver that selects whether to use
the native android emulator opengl impelementation or use a remote,
host side renderer. This driver is used to selectivley run applications using
the remote renderer. The selection is based on the application/process name and
is configured using /etc/gles_emul.cfg in the emulator side.

This change also installs /etc/egl.cfg that is used by the Android opengl wrapper
to select an opengl implementation

Change-Id: I66eda3d48938f8057bf45e6476b7faefaf1130fb
2011-03-28 19:18:27 +02:00
Jacky Romano
2d824c62e7 Android emulator opengl - unit testing render control api
This adds minimal rendering control api codec that is used by opengl codec
unit tests. The api is used to pass messages regarding resource creation
(surfaces, opengl context) and swapbuffers notifications.
The actual encoder and decoder code is generated using 'emugen'

Change-Id: Ia9b74ae755d032a9b02fdc5f85575d4cd8ada326
2011-03-28 19:08:40 +02:00
Jacky Romano
f92438f64c Android emulator opengl - OpenGL ES 1.1 decoder
This change adds the opengl host side decoder library (libGLESv1_dec)
The library uses the GLESv1 api defintion (part of libGLESv1_enc library)
used by emugen to generate the library code. It also includes
The generated code is wrapped with the GLDecoder class to handle OpenGL
specific semantics

Change-Id: I0948f1984e538d8f6cfedc961e6296686b4be850
2011-03-28 19:08:20 +02:00
Jacky Romano
6a04b8afc5 Emulator opengl - Opengl ES 1.1 encoder
This change the opengl target side encoder library (libGLESv1_enc)
The library includes api definition files for 'emugen' code generation
tool and a serrounding code to handle opengl specific sematics (such as client state)
tracking

Change-Id: I8708b945c8c9c7fbe06147b703bdee27a576c7a0
2011-03-28 19:06:03 +02:00
Jacky Romano
c27986a3c2 Opengl implementation - codec common code
This change adds the libOpenglCodecCommon, which holds
shared code between the encoder and the decoder parts of the opengl
codec. The library is built as static with both a target version and
a host version.

Change-Id: I163eea8fdb635620e6cde9d1d75c3e7369953213
2011-03-28 19:01:49 +02:00
Jacky Romano
9760e2863a Emugen : A tool to generate wire protocol code
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.

This submission is resubmission of code that lived under
sdk/emulator/opengl/. However, it also includes minor updates
in ApiGen.cpp

Change-Id: I0ede7448e0a0e26fa0fbc5590d07d1f2f6566f0a
2011-03-16 15:58:23 +02:00