c713bce90183fa4ade82bc6f4b08280d32f1fb58 |
|
19-May-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix misc-macro-parentheses warnings in init and other core modules. Bug: 28705665 Change-Id: Ice67cebb8c42538f8fb9cf1756678f41a9d68a31
/system/core/libpixelflinger/codeflinger/disassem.c
|
cdc1cfb3e51f3caddc1f290b46dc789c036f22ed |
|
11-Apr-2014 |
Sasha Levitskiy <sanek@google.com> |
Cleanup: warning fixit. bootable/recovery has a dependent commit: I9adb470b04e4301989d128c9c3097b21b4dea431 Change-Id: Icf23e659265d71d5226d527c2b40cfbc132320ee Signed-off-by: Sasha Levitskiy <sanek@google.com>
/system/core/libpixelflinger/codeflinger/disassem.c
|
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/disassem.c
|
f42d2fac2b09547295e353ddffb281aa7932403f |
|
07-Dec-2009 |
Martyn Capewell <martyn.capewell@arm.com> |
Fix LDM addressing mode disassembly The Pixelflinger disassembler does not handle LDM addressing modes correctly, assuming that the P and U bits in the instruction mean the same in both LDM and STM. This results in the disassembler producing sequences like: stmfd r13!, {r4-r11, r14} ... ... ... ldmea r13!, {r4-r11, r14} This small patch fixes it by EORing the P and U bits with the Load/Store bit. Change-Id: Ic7a1556642c4e29415fc3697019f1239b6c26fc2
/system/core/libpixelflinger/codeflinger/disassem.c
|
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/disassem.c
|
4f6e8d7a00cbeda1e70cc15be9c4af1018bdad53 |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/system/core/libpixelflinger/codeflinger/disassem.c
|