summaryrefslogtreecommitdiffstats
path: root/libpixelflinger
Commit message (Collapse)AuthorAgeFilesLines
* libpixelflinger: Fix -Woverloaded-virtual warnings.James Hawkins2016-02-251-0/+8
| | | | | | | | | | | GGLAssembler inherits a reset method from two parent classes, but it provides a separate reset method with a different signature, thus hiding the inherited reset methods. The fix is to explicitly hide the inherited reset methods as private. Bug: 27346663 Change-Id: Ic64b00acb6d77fb791cfdeade9ef7e20148817c1
* Use dlmalloc from external/dlmalloc instead of bionic/.Josh Gao2016-01-221-1/+1
| | | | | Bug: http://b/17207577 Change-Id: Ib9b4cd417091b765402ad217ae0b5a10e3ffbc23
* libpixelflinger: MIPS64 assembler test bug fixLjubomir Papuga2015-12-153-2/+8
| | | | Change-Id: I47f77790baabea85ee318976a2c44ab1c0c0b9cb
* Add explicit cast to shut off clang warnings.Chih-Hung Hsieh2015-11-231-23/+23
| | | | | | | * The literals are signed negative int and got warnings about .... cannot be narrowed to type uint64_t [-Wc++11-narrowing] Change-Id: I88c2fc328dfe5c7e2f9ade32bcba273e4a74a84c
* Add explicit cast to shut off clang warnings.Chih-Hung Hsieh2015-11-201-7/+7
| | | | | | | * The literals are signed int type and got warnings about .... cannot be narrowed to type int16_t [-Wc++11-narrowing] Change-Id: I156d8e456c70840953aebb24739f94256248b810
* libpixelflinger: MIPS64r6 bug fixLjubomir Papuga2015-11-101-25/+0
| | | | | | This commit fixes MIPS64r6 bootanimation crash. Change-Id: If7ca817ee2beaf92bb8052602cc759bb4a609419
* Revert "Revert "Add MIPS64r6 support for libpixelflinger""Elliott Hughes2015-11-0632-279/+5035
| | | | | | This reverts commit 7fd121788a892a0dfd4a9594304cad85fe366349. Change-Id: Ic1204a8407c235b07c643764d5f2800631fecd72
* Merge "Revert "Add MIPS64r6 support for libpixelflinger""Elliott Hughes2015-11-0532-5035/+279
|\
| * Revert "Add MIPS64r6 support for libpixelflinger"Elliott Hughes2015-11-0532-5035/+279
| | | | | | | | | | | | | | | | | | | | | | This reverts commit ab5265ebe65eac3b9555eaa3f425cf8e2759d3b3. This broke the mips64 build (which, stupidly, I hadn't tested): system/core/libpixelflinger/codeflinger/MIPS64Assembler.h:24:35: fatal error: tinyutils/KeyedVector.h: No such file or directory #include "tinyutils/KeyedVector.h" Change-Id: I4fa1c04e196592fd1ef893a83c75261a55d32290
* | Merge "Add MIPS64r6 support for libpixelflinger"Elliott Hughes2015-11-0532-279/+5035
|\|
| * Add MIPS64r6 support for libpixelflingerLjubomir Papuga2015-10-2932-279/+5035
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Added ARMtoMips64Assembler class that translates ARM instructions to MIPS64r6 instructions. Added MIPS64r6 assembly implementations for col32cb16_blend and t32cb16_blend functions. Added MIPS32r2 assembly implementation for col32cb16_blend function. Added tests for MIPS64r6 (assembler, disassembler and assembly implementation functions). Added MIPS32 tests for assembly implementation functions. Minor bug fixes for MIPS32r2 branch. Change-Id: I69e49622117be5b8167628e9702db6aafb1849d7
* | Merge "Fix some compiler warnings in libpixelflinger."Elliott Hughes2015-10-222-5/+5
|\ \ | | | | | | | | | | | | | | | | | | am: 5643f80947 * commit '5643f8094753e4672cb64ff9b4a7b307d43a80ac': Fix some compiler warnings in libpixelflinger.
| * | Fix some compiler warnings in libpixelflinger.Elliott Hughes2015-10-212-5/+5
| |/ | | | | | | | | | | class/struct mismatch and use of 'register'. Change-Id: I6cfe0f7fdc214c3a009eb01251f5ea9a8fdb895d
* | resolved conflicts for 32d86587 to mnc-dr-dev-plus-aospNarayan Kamath2015-09-0814-2168/+10
|\ \ | |/ |/| | | Change-Id: I381133e7dd93f908bd3d2b42e8af83d954e428af
| * libutils: Fix integer overflows in VectorImpl.Narayan Kamath2015-09-0214-2168/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use external/safe-iop to check for overflows on arithmetic operations. Also remove an unnecessary copy of Vector/SharedBuffer from codeflinger and use the copy from libutils instead. Note that some of the unit tests are somewhat useless due to test-runner limitations : gtest's ability to filter on abort message doesn't work when combined with messages formatted by android's logging system. bug: 22953624 Change-Id: I46b1ae8ca1f3a010be13aca36a091e76a97a7b70
* | To compile with llvm integrated assembler.Chih-Hung Hsieh2015-08-218-16/+6
|/ | | | | | | | | | | | | | * Explicitly specify default .align 0. * Use standard ldmfdlo instruction. * Before and after gas outputs are identical, with align 0 sections. * Objdump showed .text/.data/.bss section alignment attributes are 2^0 from gas and 2^2 from llvm assembler. These .S files might be working when compiled by gas, but llvm assembler's output should be more correct or conservative. Change-Id: I4e578dbc8155c0d06d1bbc1c33ec4cc851a18479
* pixelflinger: make self-containedGreg Hackmann2015-03-199-6/+1669
| | | | | | | | | | pixelflinger should not be used for new projects and should be moved out of system/core at some point. As the first step, move all its headers under system/core/libpixelflinger/include and update its Android.mk files so they're not referring to the absolute system/core path anymore. Change-Id: Idead273ab2c0450409d770f5402c4dba916192a9 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* Merge "pixelflinger: don't build static library"Greg Hackmann2015-03-171-18/+0
|\
| * pixelflinger: don't build static libraryGreg Hackmann2015-03-121-18/+0
| | | | | | | | | | | | | | | | libagl is now the only remaining pixelflinger client in the Android tree, and it links with pixelflinger dynamically. Change-Id: Ic5f8af57a88ceaeb25bf890cd6be8bc5a893fc10 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | Revert "pixelflinger: make self-contained"Paul Eastham2015-03-169-1669/+6
|/ | | | | | This reverts commit 56350fe387e77824a1e360d39a22f983b0a8ab20. Change-Id: I4cda5773f39abd3b24df65d7bd9daaef92314b52
* pixelflinger: make self-containedGreg Hackmann2015-03-129-6/+1669
| | | | | | | | | | pixelflinger should not be used for new projects and should be moved out of system/core at some point. As the first step, move all its headers under system/core/libpixelflinger/include and update its Android.mk files so they're not referring to the absolute system/core path anymore. Change-Id: I7acc3ef5b2e21d8ba6fe939ea8d3ec4c41959591 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* Remove obsolete BUILD_TINY_ANDROID.Elliott Hughes2015-01-241-2/+0
| | | | Change-Id: I876bce99efb40cd791256535d8d6c0d046b7aeae
* Linux always has POSIX clocks available.Elliott Hughes2015-01-091-8/+0
| | | | | | | pixelflinger doesn't have to run on the Mac, but the Condition code might. Change-Id: Ib4e9b4daa6e848ffd5742959427b172d45f08e3c
* Remove dead code.Elliott Hughes2014-12-032-124/+0
| | | | | | | | | | Intel accidentally made this dead code in 2010 with commit 2bef93cc20155c3a59cdbb22c564c4b385b2c160, and no one's ever noticed. Since no one noticing for so long implies that it doesn't matter, let's just kill the supposedly optimized code. Change-Id: Id5b37056cb8884c20bfe2db362e19b46f02e337d
* libpixelflinger should #define __ARM_HAVE_NEON.Elliott Hughes2014-12-031-0/+1
| | | | | Bug: 18556103 Change-Id: Ife07cf63948f1c248bcde5685cdb6d89c373d988
* Fix build.Dan Albert2014-11-281-10/+11
| | | | | | More UD literals that weren't caught by hammerhead... Change-Id: I6b0abdeef41d1f40c2fe86843b5149925ff6356e
* Fix type cast error, should be char* not void*.Chih-Hung Hsieh2014-10-231-1/+1
| | | | | BUG: 18106835 Change-Id: Ic0051d5035e5684de0091cd3528d65e1b1e57161
* Add -no-integrated-as at local level.Chih-Hung Hsieh2014-10-064-0/+15
| | | | | | | Later we will enable integrated-as as default at the global level. BUG: 17820427 Change-Id: I1beed3e75d074d970fa9112ec1c0f0df3d43947a
* Fix some clang compilation issues.Dan Albert2014-09-111-2/+2
| | | | | | | | | | | | Use expected inline behavior with clang. GCC defaults to -std=gnu90, giving C89 inline semantics with GNU extensions. Clang defaults to C99. Explicitly use gnu90. Mark an unused parameter as __unused. Fix some incorrect casts. Change-Id: I05b95585d5e3688eda71769b63b6b8a9237bcaf4
* [MIPSR6] Skip pixelflinger, memset assembler code on mips32r6Duane Sand2014-07-313-9/+13
| | | | | | Temporarily use generic C-coded libpixelflinger & memset on mips32r6. Change-Id: I629b11ba955eaba323cba1df96c39f75f4d24d62
* Build pixelflinger tests as native tests, not executables.Narayan Kamath2014-06-266-6/+14
| | | | | | | This has the side effect of building tests for both 32 and 64 bit, where required. Change-Id: I674800d34b4fa7cc5d34573c96b754ac85777970
* pixelflinger: Use pointer arithmetic to determine cache flush parametersAshok Bhat2014-06-191-3/+3
| | | | | | | | | CodeCache casts base address to long and then adds size (of type ssize_t) to get end address. This can cause sign-extension problems. This patch instead uses simple pointer arithmetic. Change-Id: Ib71d515a6fd6a7f4762cf974d6cf4eba9a601fa8 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* [MIPS64] Use generic cpu-independent libpixelflinger for mips64Duane Sand2014-06-032-6/+6
| | | | | | | For now, use generic C code instead of generated mips instructions, in the same manner as used on x86 and x86_64 targets. Change-Id: If3607484e0a446a755c62c030b3069d46ab5beb2
* Judge mmap failed by MAP_FAILED instead of NULLHurri Lu2014-05-221-1/+1
| | | | | Change-Id: I74422cfdba341fcd1a6235044700cf3986e853d0 Signed-off-by: Hurri Lu <jlu32@marvell.com>
* Cleanup: warning fixit.Sasha Levitskiy2014-04-112-12/+7
| | | | | | | bootable/recovery has a dependent commit: I9adb470b04e4301989d128c9c3097b21b4dea431 Change-Id: Icf23e659265d71d5226d527c2b40cfbc132320ee Signed-off-by: Sasha Levitskiy <sanek@google.com>
* Fix the build for NEON in libpixelflingerKévin PETIT2014-03-062-1/+5
| | | | | | | | | ARCH_ARM_HAVE_NEON is only ever defined to true, so test for that. For the NEON function to be used, the file has to include machine/cpu-features.h so that __ARM_HAVE_NEON is defined. Change-Id: I0db196b39c493092415859e009531fcff6fc1e8b Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
* Fix the handling of CodeCache return codes in pixelflingerKévin PETIT2014-02-261-2/+2
| | | | | | | | | | The error condition was not correctly detected: an error was reported by checking that the index returned by CodeCache::cache was non-zero. This did not work because this function can return a positive value on success. Change-Id: I1f90125ee62ab277b80da4dfb341733cd6e8e86a Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
* Fix compiler warnings in libpixelflingerAshok Bhat2014-02-209-53/+54
| | | | | Change-Id: I6a5708ae6bc934b196d59d81a6cd550b05ed704f Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* pixelflinger: support multilib buildsColin Cross2014-02-111-35/+31
| | | | | | | Use the LOCAL_*_arch variables to support building for 32-bit and 64-bit at the same time. Change-Id: Ibef8044e8b6500a6aa111320eb35bcdaf51ad064
* pixelflinger: use __builtin___clear_cache instead of cacheflushColin Cross2014-02-112-7/+3
| | | | | | | cacheflush doesn't exist on LP64 any more, and gcc's __builtin___clear_cache is better in every way. Use it instead. Change-Id: Ibbf6facbdefc15b6dda51d014e1c44fb7aa2b17d
* Use <stdint.h> for INT32_MIN and INT32_MAX.Elliott Hughes2014-01-241-2/+0
| | | | | Bug: 12708004 Change-Id: I99f222b2db1d128abf6ffbf7173a5aaff48f8e85
* system/core: rename aarch64 target to arm64Colin Cross2014-01-2321-174/+174
| | | | | | | Rename aarch64 build targets to arm64. The gcc toolchain is still aarch64. Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
* Pixelflinger: Add AArch64 support to pixelflinger JIT.Ashok Bhat2013-12-1224-11/+4178
| | | | | | | | | | | | | | | | | See the comment-block at the top of Aarch64Assembler.cpp for overview on how AArch64 support has been implemented In addition, this commit contains [x] AArch64 inline asm versions of gglmul series of functions and a new unit test bench to test the functions [x] Assembly implementations of scanline_col32cb16blend and scanline_t32cb16blend for AArch64, with unit test bench Change-Id: I915cded9e1d39d9a2a70bf8a0394b8a0064d1eb4 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* Pixelflinger: Support for handling 64-bit addresses in GGL AssemblerAshok Bhat2013-12-127-19/+80
| | | | | | | | | | | | | | | | | | | | | | GGLAssembler assumes addresses to be 32-bit and uses ARM 32-bit instructions to load/store/manipulate addresses. To support, 64-bit architectures, following changes has been done 1. ARMAssemblerInterface has been extended to support four new operations ADDR_LDR, ADDR_STR, ADDR_SUB, ADDR_ADD. Base class implements these virtual functions to use 32bit equivalent function. This avoids existing 32-bit Assembler backend implementations like ARMAssembler and MIPSAssembler from mapping the new functions to existing equivalent routines. This also allows 64-bit Architectures like AArch64 to override the function in their assembler backend implementations. 2. GGLAssembler code (spread over GGLAssembler.cpp, GGLAssembler.h and texturing.cpp) has been changed to use the new operations for address operations. Change-Id: I3d7eace4691e3e47cef737d97ac67ce6ef4fb18d Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* Pixelflinger: Fix issue of pointers being stored in intsAshok Bhat2013-12-123-6/+6
| | | | | | | | | | Pixelflinger's code makes assumptions, at certain places, that pointers can be stored as ints. This patch makes use of uintptr_t wherever pointers are stored as int or cast to int. Change-Id: Ie76f425cbc82ac038a747f77a95bd31774f4a8e8 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* libpixelflinger: do not use anonymous structssynergy dev2013-11-251-5/+5
| | | | | | Avoiding the use of gnu extensions improves code portability Change-Id: Ie9e94e3ce030f52a22997f8a48de1e6c1c549894
* Add liblogYing Wang2013-04-091-2/+2
| | | | | Bug: 8580410 Change-Id: Iab3a9b4307f207c14a04a922cc7350c54e60e9ad
* move tinyutils into its own namespaceMathias Agopian2013-04-0125-130/+185
| | | | | | | | | I was fed-up with the constant conflicts in Eclipse with the "libutils" version. Also fix a few copyright notices. Change-Id: I8ffcb845af4b5d0d178f5565f64dfcfbfa27fcd6
* Remove unnecessary compiler pragma.Ian Rogers2012-08-291-8/+3
| | | | | | | | | | With dlmalloc 2.8.6 the compiler pragmas to suppress warnings are not necessary. Also fix compiler warning about redefinition of LOG_TAG. Depends upon: https://android-review.googlesource.com/42351 Change-Id: I50f70be31f4bd994b09083e722759464476c70b3
* Merge "Add MIPS support to pixelflinger."Jean-Baptiste Queru2012-08-2719-182/+3970
|\