• Home
  • History
  • Annotate
  • only in /development/tools/emulator/opengl/shared/OpenglOsUtils/
History log of /development/tools/emulator/opengl/shared/OpenglOsUtils/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
56513f5ff4f3e851c5f0cb38dc8851d18616b3c0 30-May-2012 Jesse Hall <jessehall@google.com> Move emugl system code to development.git

Because of the way the SDK and Android system images are branched,
host code that goes into the SDK tools can't live in the same
repository as code that goes into the system image. This change keeps
the emugl host code in sdk.git/emulator/opengl while moving the emugl
system code to development.git/tools/emulator/opengl.

A few changes were made beyond simply cloning the directories:

(a) Makefiles were modified to only build the relevant components. Not
doing so would break the build due to having multiple rule
definitions.

(b) Protocol spec files were moved from the guest encoder directories
to the host decoder directories. The decoder must support older
versions of the protocol, but not newer versions, so it makes
sense to keep the latest version of the protocol spec with the
decoder.

(c) Along with that, the encoder is now built from checked in
generated encoder source rather than directly from the protocol
spec. The generated code must be updated manually. This makes it
possible to freeze the system encoder version without freezing the
host decoder version, and also makes it very obvious when a
protocol changes is happening that will require special
backwards-compatibility support in the decoder/renderer.

(d) Host-only and system-only code were removed from the repository
where they aren't used.

(e) README and DESIGN documents were updated to reflect this split.

No actual source code was changed due to the above.

Change-Id: I2c936101ea0405b372750d36ba0f01e84d719c43
ndroid.mk
sDynLibrary.cpp
sDynLibrary.h
sProcess.h
sProcessUnix.cpp
sProcessWin.cpp
sThread.h
sThreadUnix.cpp
sThreadWin.cpp
80d4ba77162126cfb60f9ca75f8a1d3a458ed31f 18-Apr-2012 Jesse Hall <jessehall@google.com> Move emulator GLES from development.git to sdk.git

The emulator GLES support has two interfaces: a host shared library
interface used by QEMU, and a protocol between the platform and the
host. The host library interface is not versioned; QEMU and the GLES
renderer must match. The protocol on the other hand must be backwards
compatible: a new GLES renderer must support an older platform image.

Thus for branching purposes it makes more sense to put the GLES
renderer in sdk.git, which is branched along with qemu.git for SDK
releases. Platform images will be built against the protocol version
in the platform branch of sdk.git.

Change-Id: Ie73fce12815c9740e27d0f56caa53c6ceb3d30cc
ndroid.mk
sDynLibrary.cpp
sDynLibrary.h
sProcess.h
sProcessUnix.cpp
sProcessWin.cpp
sThread.h
sThreadUnix.cpp
sThreadWin.cpp
76780669f9867587693563358ccdc903e9cdcbba 02-Mar-2012 Andrew Hsieh <andrewhsieh@google.com> Added rules to build 64-bit libraries for 64-bit emulator

All ten libraries can now be built in 64-bit named "lib64*" (*)
in addition to the original 32-bit form named "lib*".

Also, dlopen "lib64*so" in 64-bit.

(*) eg. In Ubuntu, all can be built with the following command:
make out/host/linux-x86/lib/lib64OpenglRender.so \
out/host/linux-x86/lib/lib64EGL_translator.so \
out/host/linux-x86/lib/lib64GLES_CM_translator.so \
out/host/linux-x86/lib/lib64GLES_V2_translator.so

Rules to build static libraries lib64log.a, lib64cutils.a and lib64utils.a
they depend were added in other CLs.

Change-Id: I3afb64de6dda1d55dbd1b4443d2dbc78a683b19f
ndroid.mk
sDynLibrary.h
8aafafe4bdf6c3e0873a0b0fa6787b573eac24ee 29-Feb-2012 Andrew Hsieh <andrewhsieh@google.com> Fixed crash and 64-bit porting issues

1. "emugen" generates four *dec.cpp files containing code like this
to decode offset to pointer in stream

tmp = *(T *)(ptr + 8 + 4 + 4 + 4 + *(size_t *)(ptr +8 + 4 + 4));

If *dec.cpp are compiled in 64-bit, size_t is 8-byte and dereferencing of
it is likley to get wild offset for dereferencing of *(T *) to crash the
code. Solution is to define tsize_t for "target size_t" instead
of using host size_t.

2. Cast pointer to "uintptr_t" instead of "unsigned int" for 2nd param of
ShareGroup::getGlobalName(NamedObjectType, ObjectLocalName/*64bit*/).
3. Instance of EGLSurface, EGLContext and EGLImageKHR are used as 32-bit
key for std::map< unsigned int, * > SurfacesHndlMap, ContextsHndlMap,
and ImagesHndlMap, respectively. Cast pointer to uintptr_t and assert
upper 32-bit is zero before passing to map::find().
4. Instance of GLeglImageOES is used to eglAttachEGLImage() which expect
"unsigned int". Cast it to uintptr_t and assert upper 32-bit is zero.
5. The 5th param to GLEScontext::setPointer is GLvoid* but contains 32-bit
offset to vbo if bufferName exists. Cast it to uintptr_t and assert
upper 32-bit is zero.
6. Use %zu instead of %d to print size_t
7. Cast pointer to (uintptr_t) in many other places

Change-Id: Iba6e5bda08c43376db5b011e9d781481ee1f5a12
sThread.h
sThreadUnix.cpp
3598af3850b4da94b8226f35304c56fed4eaa7f8 06-Sep-2011 David 'Digit' Turner <digit@google.com> emulator: opengl: add missing pthread_mutex_destroy

Change-Id: Ib6be00619e06f5ff492a080d1feb2954b626fa26
sThreadUnix.cpp
1d3f5f58ce2c4c3f55540d7dce9b7b0080e1ea16 27-Jun-2011 Amit Feller <amit@graphtech.co.il> opengl renderer: create rendering subwindow

The application provides the window handle to which the
OpenglRenderer should render to however only a sub-region of
this window needs to be rendered. This change adds this functionality
by creating a native child subwindow into which rendering will happen.
ndroid.mk
8422a11a21d6d4c14759c944e9722abb1df7ffb4 22-Jun-2011 David 'Digit' Turner <digit@android.com> emulator: opengl: Update/simplify build scripts

This patch is a major rework of the build opengl-emulation
build scripts. See README for details.

In a nutshell, this introduces various functions that considerably
simplify the declaration of the 26+ modules in this implementation,
by handling auto-generation of sources and module imports/exports.

Change-Id: I827522d783c7b6cf5eafd37204a1025c235458cd
ndroid.mk
5def410ff53842b04c6c848d0d94d468c68c5a49 01-Jun-2011 Stas Gurtovoy <stas@graphtech.co.il> emulator opengl: more few fixups needed for the system to load.

Change-Id: I698b14d0f594c091c237a605aeefbb048bf746ca
sDynLibrary.cpp
f0b7c2e4f9237e27a39f501e7b3c32b167be03ad 11-May-2011 Amit Feller <amit@graphtech.co.il> this checkin supports windows OS in all Translator libs

Note: this is a re-submit of Ie5111d9c435b64d205b140a79863c0273742ee7f,
fixed to avoid breaking the Mac build.

Change-Id: Ib534063d3f403d33d162956bf510baf9689a246a
ndroid.mk
sProcessWin.cpp
603b37abaca141229b40f071e73daa0177a300b5 17-May-2011 Raphael Moll <ralf@android.com> Revert "this checkin supports windows OS in all Translator libs"

This reverts commit 0bf68485710cb86ec9950f64b1389889ce2974e1.

This commit breaks Mca builds:
development/tools/emulator/opengl/host/libs/Translator/EGL/EglImp.cpp: In function 'EGLBoolean eglChooseConfig(void*, const EGLint*, void**, EGLint, EGLint*)':
development/tools/emulator/opengl/host/libs/Translator/EGL/EglImp.cpp:412: error: 'PIXEL_FORMAT_INITIALIZER' was not declared in this scope
make: *** [out/host/darwin-x86/obj/SHARED_LIBRARIES/libEGL_translator_intermediates/EglImp.o] Error 1
ndroid.mk
sProcessWin.cpp
0bf68485710cb86ec9950f64b1389889ce2974e1 11-May-2011 Amit Feller <amit@graphtech.co.il> this checkin supports windows OS in all Translator libs

Change-Id: Ie5111d9c435b64d205b140a79863c0273742ee7f
ndroid.mk
sProcessWin.cpp
427cb6c3b018fab9933fdb98743709ee2282b62a 16-Apr-2011 David Turner <digit@android.com> Fix mac build

Change-Id: Ic0ada31663beadbff06ac18ca4c5960c869b0ec8
ndroid.mk
sProcess.h
20368d96e070f781abef8b2471d1a01f6f782294 10-Apr-2011 Guy Zadikario <guy@graphtech.co.il> 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
ndroid.mk
sDynLibrary.cpp
sDynLibrary.h
sProcess.h
sProcessUnix.cpp
sProcessWin.cpp
sThread.h
sThreadUnix.cpp
sThreadWin.cpp