mirror of
https://github.com/steev/efikamx.git
synced 2026-02-04 05:36:22 +00:00
52 lines
2.0 KiB
Diff
52 lines
2.0 KiB
Diff
From 2ee27e7d79637da9173ee1bf3423e5a81534ccb4 Mon Sep 17 00:00:00 2001
|
|
From: Siarhei Siamashka <siarhei.siamashka@nokia.com>
|
|
Date: Wed, 9 Mar 2011 11:53:04 +0200
|
|
Subject: [PATCH 19/22] ARM: NEON optimization for bilinear scaled 'src_8888_0565'
|
|
|
|
Benchmark on ARM Cortex-A8 r2p2 @1GHz, 32-bit LPDDR @200MHz:
|
|
Microbenchmark (scaling 2000x2000 image with scale factor close to 1x):
|
|
before: op=1, src=20028888, dst=10020565, speed=6.56 MPix/s
|
|
after: op=1, src=20028888, dst=10020565, speed=61.65 MPix/s
|
|
---
|
|
pixman/pixman-arm-neon-asm.S | 3 +++
|
|
pixman/pixman-arm-neon.c | 5 +++++
|
|
2 files changed, 8 insertions(+), 0 deletions(-)
|
|
|
|
diff --git a/pixman/pixman-arm-neon-asm.S b/pixman/pixman-arm-neon-asm.S
|
|
index 52dc444..f0b42ca 100644
|
|
--- a/pixman/pixman-arm-neon-asm.S
|
|
+++ b/pixman/pixman-arm-neon-asm.S
|
|
@@ -2625,3 +2625,6 @@ pixman_asm_function fname
|
|
|
|
generate_bilinear_scanline_func \
|
|
pixman_scaled_bilinear_scanline_8888_8888_SRC_asm_neon, 8888, 8888, 2, 28
|
|
+
|
|
+generate_bilinear_scanline_func \
|
|
+ pixman_scaled_bilinear_scanline_8888_0565_SRC_asm_neon, 8888, 0565, 2, 28
|
|
diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c
|
|
index 98ad5f2..ba6de66 100644
|
|
--- a/pixman/pixman-arm-neon.c
|
|
+++ b/pixman/pixman-arm-neon.c
|
|
@@ -129,6 +129,8 @@ PIXMAN_ARM_BIND_SCALED_NEAREST_SRC_A8_DST (SKIP_ZERO_SRC, neon, 0565_8_0565,
|
|
|
|
PIXMAN_ARM_BIND_SCALED_BILINEAR_SRC_DST (0, neon, 8888_8888, SRC,
|
|
uint32_t, uint32_t)
|
|
+PIXMAN_ARM_BIND_SCALED_BILINEAR_SRC_DST (0, neon, 8888_0565, SRC,
|
|
+ uint32_t, uint16_t)
|
|
|
|
void
|
|
pixman_composite_src_n_8_asm_neon (int32_t w,
|
|
@@ -350,6 +352,9 @@ static const pixman_fast_path_t arm_neon_fast_paths[] =
|
|
SIMPLE_BILINEAR_FAST_PATH (SRC, a8r8g8b8, x8r8g8b8, neon_8888_8888),
|
|
SIMPLE_BILINEAR_FAST_PATH (SRC, x8r8g8b8, x8r8g8b8, neon_8888_8888),
|
|
|
|
+ SIMPLE_BILINEAR_FAST_PATH (SRC, a8r8g8b8, r5g6b5, neon_8888_0565),
|
|
+ SIMPLE_BILINEAR_FAST_PATH (SRC, x8r8g8b8, r5g6b5, neon_8888_0565),
|
|
+
|
|
{ PIXMAN_OP_NONE },
|
|
};
|
|
|
|
--
|
|
1.7.3.4
|
|
|