* commit 'ee8e31ad5229634770ecd6eb5c3a52ff03284c17':
Android emulator opengl - host side EGL wrapper
Android emulator opengl - unit test host side renderer
This is a temporary patch until we update the prebuilt/ tree accordingly
to include libxcb.so for Linux.
Change-Id: I76d9966bfb73bf3f5ca35cc30f6e12fb262dc2b2
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
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
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
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
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
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
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
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
This copies the platform-specific emulator modules from sdk.git into
development.git/tools/emulator/system/. Note the use of guard variables
to prevent clashes when the original modules are still in the tree.
The goal is to submit this and https://review.source.android.com/#change,21737,
then later remove the modules from sdk.git when we move the internal sdk branch
to the appropriate tools_rXXX branch.
Change-Id: I762d0efb72d93a935d96c4549f36029c258c3ef9