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

Issue 1657503002: Look beyond SSE2 for Paeth (Closed)

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

Description

Look beyond SSE2 for Paeth You can break this CL down into three steps. Steps 2 and 3 depend on 1. Step 1: go to a 16-bit impl. Speed ~unaffected. Step 2: use SSSE3 16-bit abs. ~20% speedup to Paeth. Step 3: use SSE4.1 blendv, total ~25% speedup to Paeth. Overall this can improve PNG decoding by around 8% end-to-end. I would feel most comfortable landing this only after we have a bot exercising the SSE4.1 code, either by moving this stuff behind a function pointer (simulating Chrome/Clank) or by adding a builder with at least SSE4.1 at compile time (simulating an Android system build). We've got plenty of bots building with SSSE3 at compile time to test that path. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dimage&master=false&issue=1657503002 Committed: https://skia.googlesource.com/skia/+/b21c752eb3d55970ac45daaf3fd2cbda39c7658a

Patch Set 1 #

Patch Set 2 : comments #

Patch Set 3 : more comments #

Patch Set 4 : typo #

Total comments: 7

Patch Set 5 : kill sse4.1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+39 lines, -34 lines) Patch
M src/codec/SkPngFilters.cpp View 1 2 3 4 2 chunks +39 lines, -34 lines 0 comments Download

Messages

Total messages: 35 (16 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1657503002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1657503002/40001
4 years, 10 months ago (2016-01-31 15:48:55 UTC) #4
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Shared-Trybot on client.skia (JOB_FAILED, http://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Shared-Trybot/builds/5690)
4 years, 10 months ago (2016-01-31 15:52:55 UTC) #6
mtklein_C
There are failing bots, so clearly this is not correct, but I thought you might ...
4 years, 10 months ago (2016-01-31 16:11:34 UTC) #13
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1657503002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1657503002/60001
4 years, 10 months ago (2016-01-31 16:18:26 UTC) #15
mtklein_C
On 2016/01/31 at 16:11:34, mtklein_C wrote: > There are failing bots, so clearly this is ...
4 years, 10 months ago (2016-01-31 16:20:43 UTC) #16
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-01-31 16:30:11 UTC) #19
msarett
I like that this is faster and easier to understand. I agree that we need ...
4 years, 10 months ago (2016-02-01 15:17:34 UTC) #20
mtklein
https://codereview.chromium.org/1657503002/diff/60001/src/codec/SkPngFilters.cpp File src/codec/SkPngFilters.cpp (right): https://codereview.chromium.org/1657503002/diff/60001/src/codec/SkPngFilters.cpp#newcode100 src/codec/SkPngFilters.cpp:100: return _mm_blendv_epi8(e,t,c); On 2016/02/01 15:17:34, msarett wrote: > Is ...
4 years, 10 months ago (2016-02-01 15:28:15 UTC) #22
msarett
https://codereview.chromium.org/1657503002/diff/60001/src/codec/SkPngFilters.cpp File src/codec/SkPngFilters.cpp (right): https://codereview.chromium.org/1657503002/diff/60001/src/codec/SkPngFilters.cpp#newcode100 src/codec/SkPngFilters.cpp:100: return _mm_blendv_epi8(e,t,c); On 2016/02/01 15:28:15, mtklein wrote: > On ...
4 years, 10 months ago (2016-02-01 15:49:41 UTC) #23
mtklein
https://codereview.chromium.org/1657503002/diff/60001/src/codec/SkPngFilters.cpp File src/codec/SkPngFilters.cpp (right): https://codereview.chromium.org/1657503002/diff/60001/src/codec/SkPngFilters.cpp#newcode142 src/codec/SkPngFilters.cpp:142: d = _mm_add_epi8(d, nearest); // Note `_epi8`: we need ...
4 years, 10 months ago (2016-02-01 16:04:02 UTC) #24
msarett
Looks good to me But what is the situation with the bots? I don't want ...
4 years, 10 months ago (2016-02-01 16:12:55 UTC) #25
mtklein
If we land as is, we'll test SSE2-only (Linux+Windows bots) and SSSE3 (Mac+Android bots), but ...
4 years, 10 months ago (2016-02-01 16:22:42 UTC) #26
msarett
On 2016/02/01 16:22:42, mtklein wrote: > If we land as is, we'll test SSE2-only (Linux+Windows ...
4 years, 10 months ago (2016-02-01 16:27:12 UTC) #27
mtklein
On 2016/02/01 16:27:12, msarett wrote: > On 2016/02/01 16:22:42, mtklein wrote: > > If we ...
4 years, 10 months ago (2016-02-01 16:31:56 UTC) #28
msarett
That works for me as well :).
4 years, 10 months ago (2016-02-01 16:48:56 UTC) #29
mtklein
On 2016/02/01 16:48:56, msarett wrote: > That works for me as well :). Done.
4 years, 10 months ago (2016-02-01 19:30:38 UTC) #30
msarett
lgtm
4 years, 10 months ago (2016-02-01 19:34:03 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1657503002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1657503002/80001
4 years, 10 months ago (2016-02-01 20:08:40 UTC) #33
commit-bot: I haz the power
4 years, 10 months ago (2016-02-01 20:20:36 UTC) #35
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as
https://skia.googlesource.com/skia/+/b21c752eb3d55970ac45daaf3fd2cbda39c7658a

Powered by Google App Engine
This is Rietveld 408576698