Commit Graph

36 Commits

Author SHA1 Message Date
Elliott Hughes 606d4aecfb Revert "Revert "Add MIPS64r6 support for libpixelflinger""
This reverts commit 7fd121788a.

Change-Id: Ic1204a8407c235b07c643764d5f2800631fecd72
2015-11-06 16:02:25 +01:00
Elliott Hughes c77c1a3f0a Merge "Revert "Add MIPS64r6 support for libpixelflinger"" 2015-11-05 18:55:12 +00:00
Elliott Hughes 7fd121788a Revert "Add MIPS64r6 support for libpixelflinger"
This reverts commit ab5265ebe6.

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
2015-11-05 18:54:11 +00:00
Elliott Hughes 251f8b69fb Merge "Add MIPS64r6 support for libpixelflinger" 2015-11-05 18:03:18 +00:00
Ljubomir Papuga ab5265ebe6 Add MIPS64r6 support for libpixelflinger
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
2015-10-29 17:22:17 +01:00
Narayan Kamath 51e740f802 resolved conflicts for 32d86587 to mnc-dr-dev-plus-aosp
Change-Id: I381133e7dd93f908bd3d2b42e8af83d954e428af
2015-09-08 13:59:49 +01:00
Narayan Kamath c609c31fb5 libutils: Fix integer overflows in VectorImpl.
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
2015-09-02 12:37:49 +01:00
Chih-Hung Hsieh 7244cf2aa5 To compile with llvm integrated assembler.
* 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
2015-08-21 15:58:26 -07:00
Greg Hackmann 38eb58d2a8 pixelflinger: make self-contained
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>
2015-03-19 12:34:35 -07:00
Greg Hackmann 92564d6e58 Merge "pixelflinger: don't build static library" 2015-03-17 16:43:21 +00:00
Paul Eastham cc255b4873 Revert "pixelflinger: make self-contained"
This reverts commit 56350fe387.

Change-Id: I4cda5773f39abd3b24df65d7bd9daaef92314b52
2015-03-16 19:01:38 +00:00
Greg Hackmann 593b592e93 pixelflinger: don't build static library
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>
2015-03-12 13:07:59 -07:00
Greg Hackmann 56350fe387 pixelflinger: make self-contained
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>
2015-03-12 13:02:38 -07:00
Elliott Hughes 110dd4b24b Remove obsolete BUILD_TINY_ANDROID.
Change-Id: I876bce99efb40cd791256535d8d6c0d046b7aeae
2015-01-24 22:39:10 -08:00
Elliott Hughes 053ca3fc42 libpixelflinger should #define __ARM_HAVE_NEON.
Bug: 18556103
Change-Id: Ife07cf63948f1c248bcde5685cdb6d89c373d988
2014-12-03 17:15:14 -08:00
Chih-Hung Hsieh 60c57dad4e Add -no-integrated-as at local level.
Later we will enable integrated-as as default at the global level.

BUG: 17820427
Change-Id: I1beed3e75d074d970fa9112ec1c0f0df3d43947a
2014-10-06 13:33:25 -07:00
Duane Sand 734f50c2fe [MIPSR6] Skip pixelflinger, memset assembler code on mips32r6
Temporarily use generic C-coded libpixelflinger & memset on mips32r6.

Change-Id: I629b11ba955eaba323cba1df96c39f75f4d24d62
2014-07-31 16:21:16 -07:00
Kévin PETIT d82b2a3eb4 Fix the build for NEON in libpixelflinger
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>
2014-03-06 15:53:27 +00:00
Colin Cross f88fb1fade pixelflinger: support multilib builds
Use the LOCAL_*_arch variables to support building for 32-bit and
64-bit at the same time.

Change-Id: Ibef8044e8b6500a6aa111320eb35bcdaf51ad064
2014-02-11 13:36:14 -08:00
Colin Cross d4146e6091 system/core: rename aarch64 target to arm64
Rename aarch64 build targets to arm64.  The gcc toolchain is still
aarch64.

Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
2014-01-23 18:01:14 -08:00
Ashok Bhat 658f89dc5c Pixelflinger: Add AArch64 support to pixelflinger JIT.
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>
2013-12-12 17:30:13 +00:00
Ying Wang 083b5ccba3 Add liblog
Bug: 8580410
Change-Id: Iab3a9b4307f207c14a04a922cc7350c54e60e9ad
2013-04-09 22:03:45 -07:00
Mathias Agopian 9857d99eec move tinyutils into its own namespace
I was fed-up with the constant conflicts in Eclipse
with the "libutils" version.

Also fix a few copyright notices.

Change-Id: I8ffcb845af4b5d0d178f5565f64dfcfbfa27fcd6
2013-04-01 16:50:43 -07:00
Paul Lind 2bc2b79278 Add MIPS support to pixelflinger.
See the comment-block at the top of MIPSAssembler.cpp for
implementation overview.

Change-Id: Id492c10610574af8c89c38d19e12fafc3652c28a
2012-08-13 11:41:15 -07:00
Duane Sand 068f9f3bf9 Add Mips support to libpixelflinger
Change-Id: Ib81cb01b8d90ed1afa1fd54b3cc009d7fec0f814
2012-05-30 11:48:53 -07:00
Jim Huang 9fcaff4621 libpixelflinger: ARMv6 specific objects are not used. Remove.
This patch attempts to remove the generation of libpixelflinger_armv6,
which contains the ARMv6 specific object - rotate90CW_4x4_16v6.o.  But,
libpixelflinger_armv6 is not actually used by other projects.

Change-Id: I0e26fa2cf8b4dacfd208dd4279539c3e5b07580e
2010-08-10 02:18:53 +08:00
Martyn Capewell f9e8ab03bd NEON shortcut for flat colour blending into 16-bit
This is a shortcut for the needs descriptor
00000077:03515104_00000000_00000000.  It requires blending a single 32-bit
colour value into a 16-bit framebuffer.
It's used when fading out the screen, eg. when a modal requester pops-up.

The PF JIT produces code for this using 24 instructions/pixel. The NEON
implementation requires 2.1 instructions/pixel. Performance hasn't been
benchmarked, but the improvement is quite visible.

This code has only been tested by inspection of the fading effect described
above, when press+holding a finger on the home screen to pop up the
Shortcuts/Widgets/Folders/Wallpaper requester.

Along with the NEON version, a fallback v5TE implementation is also provided.

This ARM version of col32cb16blend is not fully optimised, but is a reasonable
implementation, and better than the version produced by the JIT. It is here as
a fallback, if NEON is not available.
2009-12-07 15:00:19 +00:00
Jean-Baptiste Queru 83b65486be Merge commit 'remotes/korg/cupcake' into merge
Conflicts:
	init/devices.c
	libpixelflinger/Android.mk
2009-03-18 09:29:29 -07:00
The Android Open Source Project dd7bc3319d auto import from //depot/cupcake/@135843 2009-03-03 19:32:55 -08:00
The Android Open Source Project e54eebbf1a auto import from //depot/cupcake/@135843 2009-03-03 18:29:04 -08:00
The Android Open Source Project 261ed7551e auto import from //branches/cupcake/...@132276 2009-02-19 10:57:36 -08:00
android-build SharedAccount 439f6ca123 auto import from //branches/cupcake/...@126645 2009-01-15 16:22:10 -08:00
The Android Open Source Project 2eef60297a auto import from //branches/cupcake/...@126645 2009-01-15 16:12:14 -08:00
Brian Swetland 5a326952d7 fix TINY ANDROID build
A better fix would be to banish this qemu tracing stuff from libhardware
and also banish it from non-emulator builds, but this at least gets the
minimal build building again.
2008-12-23 22:29:27 -08:00
The Android Open Source Project 35237d1358 Code drop from //branches/cupcake/...@124589 2008-12-17 18:08:08 -08:00
The Android Open Source Project 4f6e8d7a00 Initial Contribution 2008-10-21 07:00:00 -07:00