aboutsummaryrefslogtreecommitdiffstats
path: root/emulator
Commit message (Collapse)AuthorAgeFilesLines
* emulator/opengl: Cleanup build files + remove obsolete tests.David 'Digit' Turner2014-08-2762-6756/+84
| | | | | | | | | | | | | | | | | | | | | | 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>
* Merge changes I551e0f3d,I26d84cf5,I27c993d1 into idea133David 'Digit' Turner2014-07-2140-1077/+876
|\ | | | | | | | | | | | | | | | | automerge: 4e42336 * commit '4e4233679d4ef4e25d13fe3b56bd8cdaa3b822cc': emulator/opengl: Remove out-of-process handling code. emulator/opengl: refactor Thread class. emulator/opengl: refactor shared library handling.
| * emulator/opengl: Remove out-of-process handling code.David 'Digit' Turner2014-07-0912-628/+17
| | | | | | | | | | | | | | | | | | | | | | This removes the last pieces of shared/OpenglOsUtils which were never used since the code in render_api.cpp always used thread-based rendering, instead of process-based one. This feature could be re-implemented in the future, if really desirable. Change-Id: I551e0f3d6d5a06ff66cb40b007e2b24c295f1dd8
| * emulator/opengl: refactor Thread class.David 'Digit' Turner2014-07-0915-279/+467
| | | | | | | | | | | | + Add unit test. Change-Id: I26d84cf590f6bfff3304be3f42dc0196bcc7f6d2
| * emulator/opengl: refactor shared library handling.David 'Digit' Turner2014-07-0917-174/+396
| | | | | | | | | | | | + Add a unit test. Change-Id: I27c993d1dc819e5bd89fc1e9ae266e11e6ef9a76
* | Merge "emulator/opengl: Add global lock to libOpenglRender." into idea133David 'Digit' Turner2014-07-214-14/+17
|\ \ | |/ | | | | | | | | | | | | automerge: d1dd8ee * commit 'd1dd8ee1e85f60569ddf6ebc7fe1cbde7ebb6f38': emulator/opengl: Add global lock to libOpenglRender. Move SdkVersionInfo from sdk-common to sdklib, part 3.
| * emulator/opengl: Add global lock to libOpenglRender.David 'Digit' Turner2014-07-084-14/+17
| | | | | | | | | | | | | | | | | | | | | | This patch ensures that all render threads use the same global lock to synchronize calls to the underlying GLES/EGL libraries. Original patch from Thomas Knych (thomaswk@google.com) BUG=9627179 Change-Id: I8ac9a43bc30bba8a9a06f832cf29e72263d946ce
* | Merge "Enable large sd cards." into idea133Xavier Ducrohet2014-06-191-0/+4
|\ \ | |/ | | | | | | | | | | automerge: b554f97 * commit 'b554f97341e9ac128bcf23df74667c53fdafb670': Enable large sd cards.
| * Enable large sd cards.Xavier Ducrohet2014-06-191-0/+4
| | | | | | | | Change-Id: I446336cd4f33bf1959a6bec8803223c8899ef416
* | Merge "Move to custom plugin for native setup." into idea133Xavier Ducrohet2014-06-121-66/+1
|\ \ | |/ | | | | | | | | | | automerge: a6e9f7b * commit 'a6e9f7b2fc87932fdb0bf23c12b6ceb8c7d832eb': Move to custom plugin for native setup.
| * Move to custom plugin for native setup.Xavier Ducrohet2014-06-111-66/+1
| | | | | | | | Change-Id: If7c667b97aa6f1469dae2e4018d792afe951e675
* | Merge "move to prebuilt mingw32." into idea133Xavier Ducrohet2014-06-121-0/+59
|\ \ | |/ | | | | | | | | | | | | automerge: 5952d03 * commit '5952d031979bc67e85c20990fe4d69fbd60a1f34': move to prebuilt mingw32. Win build for mksdcard.
| * move to prebuilt mingw32.Xavier Ducrohet2014-06-111-14/+9
| | | | | | | | Change-Id: I0bfc8be25c5da58659379657f42794b611373f7d
| * Merge "Win build for mksdcard." into idea133Xavier Ducrohet2014-06-111-0/+64
| |\
| | * Win build for mksdcard.Xavier Ducrohet2014-06-111-0/+64
| | | | | | | | | | | | | | | | | | Requires mingw32 in /usr/bin/i586-mingw32msvc-* Change-Id: Ic3028257d42cf1f15aea279da3ed03a4a4ebddc2
* | | Merge "emulator/opengl: Prepare for 64-bit build changes." into idea133David 'Digit' Turner2014-06-1113-22/+24
|\ \ \ | |/ / | | | | | | | | | | | | | | | automerge: 343a78f * commit '343a78fae064d666b02416b56039b86c554fa615': emulator/opengl: Prepare for 64-bit build changes.
| * | emulator/opengl: Prepare for 64-bit build changes.David 'Digit' Turner2014-06-1113-22/+24
| |/ | | | | | | | | | | | | | | | | | | | | 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
* | Merge "emulator/opengl: Fix compilation with Mingw64 toolchain." into idea133David 'Digit' Turner2014-06-101-2/+2
|\ \ | |/ | | | | | | | | | | automerge: 183aa4f * commit '183aa4f4213a03aa4081aec487bec101db64b3f7': emulator/opengl: Fix compilation with Mingw64 toolchain.
| * emulator/opengl: Fix compilation with Mingw64 toolchain.David 'Digit' Turner2014-06-041-2/+2
| | | | | | | | | | | | | | | | | | | | When using the newest Mingw64 toolchain, both the forward declaration and the definition of functions need to use GLAPI / GLAPIENTRY or the compiler will complain. BUG=15402623 Change-Id: Ida9e1cb9b177759e7d6688dc1d883dd856abda04
* | Merge "emulator/opengl: Fix GPU emulation library crash on Windows." into ↵David 'Digit' Turner2014-06-101-2/+2
|\ \ | |/ | | | | | | | | | | | | | | idea133 automerge: 3e92426 * commit '3e924260e43a43057196e98976a5c4643eb7a480': emulator/opengl: Fix GPU emulation library crash on Windows.
| * emulator/opengl: Fix GPU emulation library crash on Windows.David 'Digit' Turner2014-06-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The definitions of two EGL translator functions were missing EGLAPI / EGLAPIENTRY macros. On Windows, these enforces the __stdcall procedure call modifier, which changes the way the stack pointer is modified on function exit. Without this patch, a call to these function will result in a corrupted stack pointer in the caller, quickly followed by a random crash. BUG=15402623 Change-Id: Ia0f7ebef29e1252086fb59ebf2e6f907c2a69487
* | Merge "opengl: rcOpenColorBuffer must be synchronous" into idea133David Turner2014-05-286-13/+24
|\ \ | |/ | | | | | | | | | | automerge: a509402 * commit 'a509402a6b907a871b62f89ea713ff63286c23ae': opengl: rcOpenColorBuffer must be synchronous
| * opengl: rcOpenColorBuffer must be synchronousJesse Hall2014-05-276-13/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | The gralloc register_buffer() function, which calls rcOpenColorBuffer, must actually increment the reference count before returning. Otherwise the buffer allocator may release its reference before the client has obtained one, and the buffer will be freed prematurely. Since rcOpenColorBuffer was just sending a message to the host without waiting for it to be received/processed, this guarantee was not met. Adding a return value makes the call synchronous. Bug: 12988668 Change-Id: I8b2399cfb0f600f99b3387f630343291b59bc9a6
* | Merge "emulator/opengl: A few debugging, stability improvements to emugl" ↵David Turner2014-05-213-4/+8
|\ \ | |/ | | | | | | | | | | | | | | into idea133 Auto-merge: 66ff424 * commit '66ff42468f7dc836f73cc9507bdf8d6f21e17d7f': emulator/opengl: A few debugging, stability improvements to emugl
| * emulator/opengl: A few debugging, stability improvements to emuglKen Mixter2014-05-213-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Zero output parameters so that errors don't return random data (even if the target code was careful to zero its output parameters.) Spec says that we will not modify values in case of an error, which is not currently possible, but at least this means we return deterministic values. * Similarly, avoid passing uninitialized data if an error occurs during getting the viewport. * Fix a bug where glGetError may be called when NULL is decoded in CHECK_GL_ERROR mode. * Output more information about the stream in DEBUG_PRINTOUT mode to help separate from multiple streams. Change-Id: I31706b92642efe4c7ed38d178b49e72835a9c9a6
* | Merge "Update to new notice support." into idea133Xavier Ducrohet2014-05-202-23/+380
|\ \ | |/ | | | | | | | | | | Auto-merge: b22dbfb * commit 'b22dbfb00380ef5b4dfd5b9ca72c4b408878ae87': Update to new notice support.
| * Update to new notice support.Xavier Ducrohet2014-05-202-23/+380
| | | | | | | | | | | | | | Update the build.gradle file to specify notice files, add missing notice files. Change-Id: Ib5e56bb1c53de3584f3942643bbdf736a872dc06
* | Merge "Fix build of mksdcard with Gradle." into idea133Xavier Ducrohet2014-05-151-9/+0
|\ \ | |/ | | | | | | | | | | Auto-merge: 14bad8a * commit '14bad8a95b3677b037f1bdaa5a128817e4bb576b': Fix build of mksdcard with Gradle.
| * Fix build of mksdcard with Gradle.Xavier Ducrohet2014-05-151-9/+0
| | | | | | | | Change-Id: I6126f49ecfa417c3aace65ff5b72cf6ec8678ddd
* | Merge "Build mksdcard for mac/linux with Gradle." into idea133Xavier Ducrohet2014-05-154-1/+66
|\ \ | |/ | | | | | | | | | | Auto-merge: 180a34c * commit '180a34c165f2497cae1018701278df7398186bb0': Build mksdcard for mac/linux with Gradle.
| * Build mksdcard for mac/linux with Gradle.Xavier Ducrohet2014-05-154-1/+66
| | | | | | | | Change-Id: Ie7db983ab953ee3820189e9eb0f4cf47fe40d1e5
* | emulator: Do not build emulator-related modules with platform-build.David 'Digit' Turner2014-05-111-6/+3
|/ | | | | | | | | | | | | | This patch removes the emulator modules from the Windows SDK build, as well as the GPU emulation library modules from emulator-specific platform builds. Note that these binaries and libraries are now directly built from sources through the emulator's own standalone build system, i.e.: cd external/qemu ./android-rebuild.sh Change-Id: I5fd1f154f5118c3d9eee80c24ffa45068d7cfc33
* emulator/opengl: Fix GCC 4.8 warnings.David 'Digit' Turner2014-04-285-31/+32
| | | | | | | | 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: Backport fixes from master branch.David 'Digit' Turner2014-04-174-5/+19
| | | | | | | | | | This back-ports several fixes from aosp/master branch into idea133: 145e25 Fix the Google Maps crash issue e33909 Support GL_MAX_TEXTURE_SIZE case to glGetIntegerv API c6dd20 Fix Mac build. Change-Id: I26a05956c3b926dddeb638c6cff979199075ecbb
* Merge "Fix compilation error due to missing getopt with ↵David Turner2014-04-161-3/+0
|\ | | | | | | x86_64-linux-glibc2.11-4.8" into idea133
| * Fix compilation error due to missing getopt with x86_64-linux-glibc2.11-4.8Andrew Hsieh2014-03-181-3/+0
| | | | | | | | | | | | | | | | Unlike its 4.6 counterpart, the new x86_64-linux-glibc2.11-4.8/x86_64-linux/include/c++/4.8/x86_64-linux/bits/gthr-default.h (line #39) no longer unconditionally include unistd.h which provides getopt prototype Change-Id: I53310bb0f27e6ed7b4ee732ef301c4868decccb4
* | emulator/opengl: Fix misc. compiler warnings.David 'Digit' Turner2014-04-0115-62/+29
| | | | | | | | | | | | | | These warnings appear when building the sources through the emulator's standalone build system, not the platform one. Change-Id: Ib5d51cf6211f32763be00c7436ae14c06f76b436
* | emulator/opengl: Fix Windows EGL queryConfigs().David 'Digit' Turner2014-04-011-2/+2
| | | | | | | | | | | | | | | | | | | | The function uses DescribePixelFormat() which doesn't return a count, but a maximum index, in a base-1 list of possible formats, so adjust the code accordingly. See http://msdn.microsoft.com/en-us/library/windows/desktop/dd318302(v=vs.85).aspx Change-Id: Id0cc92249348e6c845570adaaf4c280721a194bb
* | emulator/opengl: Fix eglWaitGL implementation.David 'Digit' Turner2014-04-011-1/+3
|/ | | | | | | | | | | The eglWaitEGL implementation didn't restore the previous bound API after calling eglWaitClient. This probably isn't a big concern for emugl correctness, but fixing this removes a compiler warning. See http://www.khronos.org/registry/egl/sdk/docs/man/xhtml/eglWaitGL.html Change-Id: I143ffeeefa01aff502d27d4e1d6f892f0d1efe5b
* emulator/opengl: Fix Windows SDK build.David 'Digit' Turner2014-03-112-1/+29
| | | | | | | | | | | | | | | | | | This patch fixes the Windows SDK build. A previous patch apparently broke it even though I could not reproduce this locally before submitting. What it does is, when using the platform build to generate Windows binaries, use the host Linux binary instead of rebuilding the 'emugen' tool from sources. Note that the emulator's standalone build supports building host Linux binaries even when targetting Windows by default. + Add a missing module import that got lost in translation for some odd reason. Change-Id: I2ccd962d8b3df859b2cba82573225820b69b0d32
* emulator/opengl: Allow standalone build.David 'Digit' Turner2014-03-1124-142/+406
| | | | | | | | 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 libcutils/libutils/liblogDavid 'Digit' Turner2014-03-115-26/+10
| | | | | | | | Final patch to completely remove dependencies on libcutils/libutils/liblog from the host-side GPU emulation libraries. Change-Id: I84a058bbd0ca676b18c0b0a094ac8bae692f9c94
* emulator/opengl: Remove <utils/List.h> + <utils/String8.h>David 'Digit' Turner2014-03-112-2/+6
| | | | | | | | | | | | | This removes dependencies on two libutils headers. Rather than provide alternative data types, simply disable the corresponding code because it looks like the corresponding fields are simply never used by the code? It is likely that this code is only used in the guest portion of the code, and thus completely un-necessary on the host side. Change-Id: I22c67f114c2c77381ceba8de23dd631158276596
* emulator/opengl: Remove android::KeyedVector usage.David 'Digit' Turner2014-03-116-146/+636
| | | | | | | 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-117-8/+582
| | | | | | | | | | | | | 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-116-55/+308
| | | | | | | | 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-1113-37/+990
| | | | | | | | | | | | | | | | | 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-1130-220/+458
| | | | | | | | | | | 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-063-4/+45
| | | | | | | This is done by building a special version of GoogleTest specially for the GPU emulation libraries. Change-Id: Ie27c75d9a85836f392375e110a5152031af586bc