diff options
author | Damir Tatalovic <dtatalovic@mips.com> | 2012-06-22 18:13:02 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-03 01:55:44 +0200 |
commit | 614422c2e7396b27a9802b3a0d949dfd93ba688b (patch) | |
tree | 00ba3115c2d27f5bf5a95ea629e6618042624eaf /src/gui/painting/qdrawhelper_mips_dspr2_asm.S | |
parent | 60829b4a5692ebdd68b12830d7c722ccd31921ad (diff) |
MIPS DSP composition functions optimizations.
List of optimized routines:
- comp_func_DestinationOver
- comp_func_SourceIn
- comp_func_DestinationIn
- comp_func_DestinationOut
- comp_func_SourceAtop
- comp_func_DestinationAtop
- comp_func_XOR
- comp_func_SourceOut
- comp_func_solid_SourceOver
- comp_func_solid_DestinationOver
- comp_func_solid_SourceIn
- comp_func_solid_DestinationIn
- comp_func_solid_SourceAtop
- comp_func_solid_DestinationAtop
- copm_func_solid_XOR
- comp_func_solid_SourceOut
Previously optimized routines qt_blend_argb32_on_argb32_mips_dsp and
comp_func_Source_mips_dsp are redesigned and rewritten.
Overall improvement by running tst_bench_blendbench benchmark app
from tests/benchmarks/gui/image/blendbench/ is 27%.
Change-Id: I6ab09b17cac10f4aded59787074ab4c89e72ccac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/gui/painting/qdrawhelper_mips_dspr2_asm.S')
-rw-r--r-- | src/gui/painting/qdrawhelper_mips_dspr2_asm.S | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/gui/painting/qdrawhelper_mips_dspr2_asm.S b/src/gui/painting/qdrawhelper_mips_dspr2_asm.S index 213fcf8a08..7e95410a7f 100644 --- a/src/gui/painting/qdrawhelper_mips_dspr2_asm.S +++ b/src/gui/painting/qdrawhelper_mips_dspr2_asm.S @@ -41,59 +41,6 @@ #include "qt_mips_asm_dsp.h" -LEAF_MIPS_DSPR2(INTERPOLATE_PIXEL_255_asm_mips_dspr2) -/* - * a0 - uint x (First value to multiply) - * a1 - uint a (Multiplicator byte for first value) - * a2 - uint y (Second value to multiply) - * a3 - uint b (Multiplicator byte for second value) - */ - - .set reorder - replv.ph a1, a1 - replv.ph a3, a3 - li t8, 8388736 - muleu_s.ph.qbl t0, a0, a1 - muleu_s.ph.qbl t1, a2, a3 - muleu_s.ph.qbr t2, a0, a1 - muleu_s.ph.qbr t3, a2, a3 - addu.ph t4, t0, t1 - addu.ph t5, t2, t3 - preceu.ph.qbla t0, t4 - addu t1, t0, t8 - addu t1, t4, t1 - preceu.ph.qbla t6, t5 - addu t7, t6, t8 - addu t7, t5, t7 - precrq.qb.ph t2, t1, t7 - move v0, t2 - j ra - -END(INTERPOLATE_PIXEL_255_asm_mips_dspr2) - -LEAF_MIPS_DSPR2(BYTE_MUL_asm_mips_dspr2) -/* - * a0 - uint x (Value to multiply) - * a1 - uint a (Multiplicator byte) - */ - - .set reorder - replv.ph a1, a1 /* a1 = 0x00a00a */ - li t4, 8388736 /* t4 = 0x800080 */ - muleu_s.ph.qbl t0, a0, a1 - muleu_s.ph.qbr t2, a0, a1 - preceu.ph.qbla t1, t0 - addu t0, t0, t1 - addu t0, t0, t4 - preceu.ph.qbla t3, t2 - addu t2, t2, t3 - addu t2, t2, t4 - precrq.qb.ph t4, t0, t2 - move v0, t4 - j ra - -END(BYTE_MUL_asm_mips_dspr2) - LEAF_MIPS_DSPR2(qConvertRgb16To32_asm_mips_dspr2) /* * a0 - dst (a8r8g8b8) |