History log of /system/core/libpixelflinger/codeflinger/ARMAssembler.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
30f991f251940be3ed11566fb71139852286f68a 10-Jan-2017 Mark Salyzyn <salyzyn@google.com> liblog: use log/log.h when utilizing ALOG macros

Test: compile
Bug: 30465923
Change-Id: Id6d76510819ebd88c3f5003d00d73a0dbe85e943
/system/core/libpixelflinger/codeflinger/ARMAssembler.cpp
66ce3e08c5632a20ea66bde6dd76397041edf034 28-Sep-2016 Mark Salyzyn <salyzyn@google.com> system/core Replace cutils/log.h with android/log.h

Should use android/log.h instead of cutils/log.h as a good example
to all others. Adjust header order to comply with Android Coding
standards.

Test: Compile
Bug: 26552300
Bug: 31289077
Change-Id: I2c9cbbbd64d8dccf2d44356361d9742e4a9b9031
/system/core/libpixelflinger/codeflinger/ARMAssembler.cpp
ecc1972fb080734d55939997008f57063556e2b4 20-Apr-2016 David 'Digit' Turner <digit@google.com> Remove qemu_tracing dependency.

The feature is not implemented anymore (and has been for a very long time).
Moreover, this will allow us to cleanup hardware/ from any QEMU-specific
items.

BUG=25875346

Change-Id: I71488f4128c737dedf2b28433499fa6ffd29dcb5
/system/core/libpixelflinger/codeflinger/ARMAssembler.cpp
d10afb17486f87a56baf97a893b4e4533eb5b851 14-Nov-2013 Ashok Bhat <ashok.bhat@arm.com> Pixelflinger: Fix issue of pointers being stored in ints

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>
/system/core/libpixelflinger/codeflinger/ARMAssembler.cpp
9857d99eecc389389da261a72461322d5cfb8eeb 02-Apr-2013 Mathias Agopian <mathias@google.com> 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
/system/core/libpixelflinger/codeflinger/ARMAssembler.cpp
2bc2b792782b304b15d8c48b54916a9b3fa3a7ac 01-Feb-2012 Paul Lind <plind@mips.com> Add MIPS support to pixelflinger.

See the comment-block at the top of MIPSAssembler.cpp for
implementation overview.

Change-Id: Id492c10610574af8c89c38d19e12fafc3652c28a
/system/core/libpixelflinger/codeflinger/ARMAssembler.cpp
fe71a61e5b0cb666675900d206251a7c18ed944b 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

Bug: 5449033
Change-Id: I4951baa981f09a84ce483e3d1bd0f9ebe009035f
/system/core/libpixelflinger/codeflinger/ARMAssembler.cpp
a7e96642a9f91620b69716cc3198c6ebb4d0553c 04-May-2010 Kan-Ru Chen <kanru@0xlab.org> codeflinger: Correct misleading comment of STM instruction

According to the ARM Architecture Reference Manual, the comment on
STM instruction should be in reverse order.

Change-Id: I4af852a0478798ff7b02ab9c29c68e320ff78696
Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
/system/core/libpixelflinger/codeflinger/ARMAssembler.cpp
4dc1fa8e8d1f14868ab8bba93a8cbb87f847c4e3 04-Dec-2009 Martyn Capewell <martyn.capewell@arm.com> Adds support for UBFX to JIT and Disassembler

This introduces UBFX instruction generation abilities to the Pixelflinger JIT,
and also modifies the component extraction function to generate the
instruction.

The extract function contains defines to prevent generation of UBFX on pre-v7
cores. The JIT itself retains the ability to produce the instruction even on
v5/6.

This patch only generates UBFX when MOV, AND or BIC can't be used. Based on
the TRM, this appears to be faster on A9 than using UBFX in all cases.

On startup, Pixelflinger JITs three chunks of code. UBFX improves these as
follows:

00000077:03515104_00000000_00000000
(Blends a single colour into an RGB565 buffer.)
Before: 27 inst/pixel, After: 24 inst/pixel, Improvement: 12.5%
00000077:03545404_00000A01_00000000
(Blends RGBA8888 texture into an RGB565 buffer using alpha.)
Before: 30 inst/pixel, After: 27 inst/pixel, Improvement: 11.1%
00000077:03545404_00000A04_00000000
(Blends RGB565 texture into an RGB565 buffer using alpha.)
Before: 29 inst/pixel, After: 27 inst/pixel, Improvement: 7.4%
/system/core/libpixelflinger/codeflinger/ARMAssembler.cpp
96dbb4fc58fe2dcf4390e073dbb42cc77ef2f0b5 07-Dec-2009 Martyn Capewell <martyn.capewell@arm.com> Adds UXTB16 support to Pixelflinger

* Add support for UXTB16 to the disassembler
* Add encoding of the UXTB16 instruction to the Pixelflinger JIT.

Introducing the UXTB16 instruction allows removal of some masking code, and is
beneficial from a pipeline point of view - lots of UXTB16 followed by MUL
sequences.

Also, further rescheduling and use of SMULWB brings extra performance
improvements.

* Use UXTB16 in bilinear filtered texturing

Uses UXTB16 to extract channels for SIMD operations, rather than creating and
ANDing with masks. Saves a register and is faster on A8, as UXTB16 result can
feed into first stage of multiply, unlike AND.

Also, used SMULWB rather than SMULBB, which allows removal of MOVs used to
rescale results.

Code has been scheduled for A8 pipeline, specifically aiming to allow
multiplies to issue in pipeline 0, for efficient dual issue operation.

Testing on SpriteMethodTest (http://code.google.com/p/apps-for-android/) gives
8% improvement (12.7 vs. 13.7 fps.)

SMULBB to SMULWB trick could be used in <v6 code path, but this hasn't been
implemented.
/system/core/libpixelflinger/codeflinger/ARMAssembler.cpp
2eef60297a0ca1433d0824d6d662efd402709cfd 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
/system/core/libpixelflinger/codeflinger/ARMAssembler.cpp
4f6e8d7a00cbeda1e70cc15be9c4af1018bdad53 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/system/core/libpixelflinger/codeflinger/ARMAssembler.cpp