Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(470)

Issue 1618003002: Use NEON optimizations for RGB -> RGB(FF) or BGR(FF) in SkSwizzler (Closed)

Created:
4 years, 11 months ago by msarett
Modified:
4 years, 11 months ago
Reviewers:
scroggo, mtklein
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

Use NEON optimizations for RGB -> RGB(FF) or BGR(FF) in SkSwizzler Swizzle Bench Runtime Nexus 6P xxx_xxxa 0.32x xxx_swaprb_xxxa 0.31x Swizzle Bench Runtime Nexus 9 xxx_xxxa 1.11x xxx_swaprb_xxxa 1.14x (This is a slow down.) Swizzle Bench Runtime Nexus 5 xxx_xxxa 0.12x xxx_swaprb 0.12x RGB PNG Decode Runtime Nexus 6P 0.94x Nexus 9 0.98x I don't know how to explain the fact that the Swizzle Bench was slower on Nexus 9, but the decode times got faster. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1618003002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Committed: https://skia.googlesource.com/skia/+/f1b8b6ae34e5a1f4b29e423401da39f88f0c117a

Patch Set 1 #

Total comments: 5

Patch Set 2 : Use a template to share code #

Patch Set 3 : #

Patch Set 4 : Bug fix #

Patch Set 5 : Bringing back the comments (that still make sense) #

Total comments: 17

Patch Set 6 : Response to comments #

Patch Set 7 : Rebase - doesn't compile #

Patch Set 8 : Match changes to signature #

Total comments: 3

Patch Set 9 : Fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+150 lines, -22 lines) Patch
M bench/SwizzleBench.cpp View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/codec/SkSwizzler.cpp View 1 2 3 4 5 6 7 4 chunks +15 lines, -3 lines 0 comments Download
M src/core/SkOpts.h View 1 2 3 4 5 6 7 1 chunk +3 lines, -1 line 0 comments Download
M src/core/SkOpts.cpp View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/opts/SkOpts_neon.cpp View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/opts/SkOpts_ssse3.cpp View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/opts/SkSwizzler_opts.h View 1 2 3 4 5 6 7 8 8 chunks +124 lines, -18 lines 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 20 (7 generated)
msarett
https://codereview.chromium.org/1618003002/diff/1/src/codec/SkSwizzler.cpp File src/codec/SkSwizzler.cpp (left): https://codereview.chromium.org/1618003002/diff/1/src/codec/SkSwizzler.cpp#oldcode16 src/codec/SkSwizzler.cpp:16: // This function must not be called if we ...
4 years, 11 months ago (2016-01-21 22:09:07 UTC) #3
msarett
Side Note to Self: Decode comparisons measure the effect of this CL, but not the ...
4 years, 11 months ago (2016-01-21 22:29:24 UTC) #4
scroggo
https://codereview.chromium.org/1618003002/diff/1/src/codec/SkSwizzler.cpp File src/codec/SkSwizzler.cpp (left): https://codereview.chromium.org/1618003002/diff/1/src/codec/SkSwizzler.cpp#oldcode16 src/codec/SkSwizzler.cpp:16: // This function must not be called if we ...
4 years, 11 months ago (2016-01-21 23:19:40 UTC) #5
msarett
https://codereview.chromium.org/1618003002/diff/1/src/codec/SkSwizzler.cpp File src/codec/SkSwizzler.cpp (left): https://codereview.chromium.org/1618003002/diff/1/src/codec/SkSwizzler.cpp#oldcode16 src/codec/SkSwizzler.cpp:16: // This function must not be called if we ...
4 years, 11 months ago (2016-01-21 23:29:48 UTC) #6
mtklein
https://codereview.chromium.org/1618003002/diff/80001/src/opts/SkSwizzler_opts.h File src/opts/SkSwizzler_opts.h (right): https://codereview.chromium.org/1618003002/diff/80001/src/opts/SkSwizzler_opts.h#newcode15 src/opts/SkSwizzler_opts.h:15: // These variable names in these functions just pretend ...
4 years, 11 months ago (2016-01-22 14:37:33 UTC) #7
mtklein
https://codereview.chromium.org/1618003002/diff/80001/src/opts/SkSwizzler_opts.h File src/opts/SkSwizzler_opts.h (right): https://codereview.chromium.org/1618003002/diff/80001/src/opts/SkSwizzler_opts.h#newcode18 src/opts/SkSwizzler_opts.h:18: static void premul_xxxa_portable(uint32_t dst[], const uint32_t src[], int count) ...
4 years, 11 months ago (2016-01-22 14:44:04 UTC) #8
msarett
https://codereview.chromium.org/1618003002/diff/80001/src/opts/SkSwizzler_opts.h File src/opts/SkSwizzler_opts.h (right): https://codereview.chromium.org/1618003002/diff/80001/src/opts/SkSwizzler_opts.h#newcode15 src/opts/SkSwizzler_opts.h:15: // These variable names in these functions just pretend ...
4 years, 11 months ago (2016-01-22 15:00:36 UTC) #9
mtklein
https://codereview.chromium.org/1618003002/diff/80001/src/opts/SkSwizzler_opts.h File src/opts/SkSwizzler_opts.h (right): https://codereview.chromium.org/1618003002/diff/80001/src/opts/SkSwizzler_opts.h#newcode18 src/opts/SkSwizzler_opts.h:18: static void premul_xxxa_portable(uint32_t dst[], const uint32_t src[], int count) ...
4 years, 11 months ago (2016-01-22 15:23:57 UTC) #10
msarett
https://codereview.chromium.org/1618003002/diff/80001/src/opts/SkSwizzler_opts.h File src/opts/SkSwizzler_opts.h (right): https://codereview.chromium.org/1618003002/diff/80001/src/opts/SkSwizzler_opts.h#newcode18 src/opts/SkSwizzler_opts.h:18: static void premul_xxxa_portable(uint32_t dst[], const uint32_t src[], int count) ...
4 years, 11 months ago (2016-01-22 17:27:23 UTC) #13
mtklein
lgtm https://codereview.chromium.org/1618003002/diff/180001/src/opts/SkSwizzler_opts.h File src/opts/SkSwizzler_opts.h (right): https://codereview.chromium.org/1618003002/diff/180001/src/opts/SkSwizzler_opts.h#newcode66 src/opts/SkSwizzler_opts.h:66: uint8_t b = src[2], probably clearer to go ...
4 years, 11 months ago (2016-01-22 17:35:15 UTC) #14
msarett
https://codereview.chromium.org/1618003002/diff/180001/src/opts/SkSwizzler_opts.h File src/opts/SkSwizzler_opts.h (right): https://codereview.chromium.org/1618003002/diff/180001/src/opts/SkSwizzler_opts.h#newcode66 src/opts/SkSwizzler_opts.h:66: uint8_t b = src[2], On 2016/01/22 17:35:15, mtklein wrote: ...
4 years, 11 months ago (2016-01-22 17:38:18 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1618003002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1618003002/200001
4 years, 11 months ago (2016-01-22 17:38:35 UTC) #18
commit-bot: I haz the power
4 years, 11 months ago (2016-01-22 17:54:24 UTC) #20
Message was sent while issue was closed.
Committed patchset #9 (id:200001) as
https://skia.googlesource.com/skia/+/f1b8b6ae34e5a1f4b29e423401da39f88f0c117a

Powered by Google App Engine
This is Rietveld 408576698