aboutsummaryrefslogtreecommitdiffstats
path: root/emulator/opengl/shared/emugl
Commit message (Collapse)AuthorAgeFilesLines
* emulator/opengl: Remove obsolete directory.David 'Digit' Turner2014-12-0832-4197/+0
| | | | | | | | | | | | | All sources were moved to external/qemu/distrib/android-emugl to make it easier to modify both the emulator and host libraries at the same time. See: https://android-review.googlesource.com/#/c/118203/ As such, the sources in this directory are now ignored and can be safely removed. Change-Id: I5d143c971f995e2599e5e1d6174030d6803e8080
* emulator/opengl: Add UniqueIntegerMap class.David 'Digit' Turner2014-09-163-0/+329
| | | | | | | | This helper class will be used by future patches to map arbitraty opaque 'void*' values (e.g. EGLImage values) to 32-bit unique values that can be sent through the wire protocol. Change-Id: I5b17a1f230e5f9f8b905af66ba79b312f3f01e55
* emulator/opengl: Cleanup build files + remove obsolete tests.David 'Digit' Turner2014-08-271-19/+13
| | | | | | | | | | | | | | | | | | | | | | This patch cleans up the build files for the GPU emulation libraries (i.e. there is no need to test for BUILD_EMULATOR_64BITS anymore, filtering is now handled by the build system directly). + Remove a bunch obsolete tests, which were not unit tests, despite their name beginning with ut_xxxx. Which includes removing dependency on SDL too. + Remove -m64 and -fPIC flags from compilation. These are not necessary anymore (again, the build system now takes charge of placing them when necessary), and generated link-time warning when building Windows executables. + Remove a few declarations related to the now-obsolete platform build (these libraries are only built with the emulator's build system now). Change-Id: I27c28979c42cd51f2fe9e30edd4141136e80ee03
* Support dynamic lib name without ".dylib" on MacTina Zhang2014-07-273-4/+44
| | | | | | | | | | On Mac, some of the dynamic libs has name without ".dylib". Like, "System/Library/Frameworks/OpenGL.framework/OpenGL", we need solution to handle it in the dlopen() API. Change-Id: Ie513ace5a0d7d154f73e0f13919005d1498901d7 Signed-off-by: Tina Zhang <tina.zhang@intel.com> Signed-off-by: Chao Qin <chaox.qin@intel.com>
* emulator/opengl: refactor Thread class.David 'Digit' Turner2014-07-095-1/+453
| | | | | | + Add unit test. Change-Id: I26d84cf590f6bfff3304be3f42dc0196bcc7f6d2
* emulator/opengl: refactor shared library handling.David 'Digit' Turner2014-07-095-2/+372
| | | | | | + Add a unit test. Change-Id: I27c993d1dc819e5bd89fc1e9ae266e11e6ef9a76
* emulator/opengl: Prepare for 64-bit build changes.David 'Digit' Turner2014-06-111-2/+2
| | | | | | | | | | | This patch slightly modifies the build files for the GPU emulation libraries to prepare for future changes in the emulator-specific build system that will be necessary to support Win64 binaries. The main difference is the introduction of 64-bit versions of the emugl-begin-host-<type> macros, named emugl-begin-host64-<type>. Change-Id: Ib40c030fa407b0ed951755dd9b007fda85778e03
* emulator/opengl: Fix GCC 4.8 warnings.David 'Digit' Turner2014-04-281-1/+2
| | | | | | | | This fixes a few compiler warnings when building the GPU emulation libraries with GCC 4.8. Note that GLbyte is defined as khronos_int8_t which is signed! Change-Id: I52027cd2eb20d6162983319f22d4da150ff514ed
* emulator/opengl: Fix misc. compiler warnings.David 'Digit' Turner2014-04-012-3/+0
| | | | | | | These warnings appear when building the sources through the emulator's standalone build system, not the platform one. Change-Id: Ib5d51cf6211f32763be00c7436ae14c06f76b436
* emulator/opengl: Allow standalone build.David 'Digit' Turner2014-03-111-8/+16
| | | | | | | | This patch improves the build files for the GPU emulation libraries to allow them to be built directly with the emulator's own standalone build system. Change-Id: I205392bdfe4223a5c43fa67e24a2beffcbcbc07a
* emulator/opengl: Remove android::KeyedVector usage.David 'Digit' Turner2014-03-114-0/+530
| | | | | | | Replace it with a custom emugl::IdToObjectMap template class that owns the objects, simplifying the code. Change-Id: Id18319e8080211acebed814bc0d702fbaab3b245
* emulator/opengl: Remove android::Vector<> usage.David 'Digit' Turner2014-03-115-0/+574
| | | | | | | | | | | | | This remove the use of android::Vector<> by providing an alternative vector implementation (emugl::PodVector<>) which is heavily based on the emulator version under external/qemu/android/base/containers/PodVector.h. Ultimately the GPU emulation libraries will move under external/qemu/, and the code will be changed to use android::base::PodVector<> instead of emugl::PodVector<>. Change-Id: I9836ed961795c0791115c61e731d15d17f036972
* emulator/opengl: Remove <cutils/sockets.h>David 'Digit' Turner2014-03-113-0/+279
| | | | | | | | Remove the dependency on <cutils/sockets.h> by providing "emugl/common/sockets.h" instead, which contains similar utility wrappers. Change-Id: Ifd48abeb208b004c801c9447a4141881f6fa8f44
* emulator/opengl: Remove Android-specific thread_store.David 'Digit' Turner2014-03-117-0/+906
| | | | | | | | | | | | | | | | | This patch removes the use of the 'thread_store' class from <utils/threads.h> by providing its own implementation instead under shared/emugl/common/thread_store.h, plus appropriate unit tests. Note that unlike the Android version, this properly destroys the thread-local values on thread exit (instead of leaking them). + Provide a LazyInstance class used to perform thread-safe lazy initialization of static variables without the use of C++ constructors. Change-Id: Iabe01fbd713c6872b5fe245d7255c3c03749a88a
* emulator/opengl: Remove android::Mutex.David 'Digit' Turner2014-03-114-2/+280
| | | | | | | | | | | This patch removes the dependency on android::Mutex from <cutils/threads.h> by providing a custom implementation, which is a simple wrapper around pthread_mutex_t / CriticalSection, under shared/emugl/common/mutex.h + Provide unit tests. Change-Id: I379ef0c480c478ab9ba5f2faaf8274267eff37ba
* emulator/opengl: Build 64-bit unit tests.David 'Digit' Turner2014-03-061-4/+5
| | | | | | | This is done by building a special version of GoogleTest specially for the GPU emulation libraries. Change-Id: Ie27c75d9a85836f392375e110a5152031af586bc
* emulator/opengl: Fix SmartPtr memory leak.David 'Digit' Turner2014-03-062-2/+4
| | | | Change-Id: I35d0650f2d69b3616167ee03decdc96b7ec09b2a
* gtest needs -lpthread.Elliott Hughes2014-01-281-0/+1
| | | | Change-Id: I020a56c0a762c4df9c0c7cabc17c862e05699c18
* emulator/opengl: Refactor SmartPtr implementation.David 'Digit' Turner2014-01-214-0/+435
This gets rid of two copies of SmartPtr.h and replaces them with a single implementation under shared/emugl/common/smart_ptr.* Note that this uses a new include path rooted at the shared/ directory for classes that are likely to be built both for the host and the device (in case we back-port this to device/generic/goldfish/opengl/ in the future). + Add a gtest-based set of unittests, after building, just call 'emugl_common_host_unittests' to run it. Note that this probably needs a 64-bit version as well, will come later once I find a way to build GTest for 64-bits without breaking the platform build :-) Also note that this moves the class to the 'emugl' namespace, in order to make the code easier to build out of the platform tree, and embed it in other projects. More classes will be transitioned / refactored in future patches. AOSP_BUG=64806 Change-Id: Ieb326c5f3f002a21537b8a391a82ce2ef9925073