|
Sk4px blit mask.
Local SKP nanobenching ranges SSE between 1.05x and 0.87x, much more heavily weighted toward <1.0x ratios (speedups).
I profiled the top five regressions (1.05x-1.01x) and they look like noise. Will follow up after broad bot results.
NEON looks similar but less extreme than SSE changes, ranging between 1.02x and 0.95x, again mostly speedups in 0.99x-0.97x range.
The old code trifurcated into black, opaque-but-not-black, and general versions as a function of the constant src color. I did not see a significant difference between general and opaque-but-not-black, and I don't think a black version would be faster using SIMD. So we have here just one version of the code, the general version.
Somewhat fantastically, I see no pixel diffs on GMs or SKPs.
I will be following up with more CLs for the other procs called by SkBlitMask.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/4977983510028712528743aa877f6da83781b381
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+90 lines, -347 lines) |
Patch |
|
M |
src/core/Sk4px.h
|
View
|
|
1 chunk |
+28 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/core/SkBlitMask.h
|
View
|
1
|
1 chunk |
+0 lines, -12 lines |
0 comments
|
Download
|
|
M |
src/core/SkBlitMask_D32.cpp
|
View
|
1
|
2 chunks |
+15 lines, -102 lines |
0 comments
|
Download
|
|
M |
src/core/SkOpts.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/core/SkOpts.cpp
|
View
|
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/opts/SkBlitMask_opts.h
|
View
|
1
2
3
|
1 chunk |
+37 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/opts/SkBlitMask_opts_arm.cpp
|
View
|
1
|
1 chunk |
+0 lines, -26 lines |
0 comments
|
Download
|
|
M |
src/opts/SkBlitMask_opts_arm_neon.h
|
View
|
1
2
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/opts/SkBlitMask_opts_arm_neon.cpp
|
View
|
1
2
|
1 chunk |
+0 lines, -123 lines |
0 comments
|
Download
|
|
M |
src/opts/SkBlitMask_opts_none.cpp
|
View
|
1
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/opts/SkBlitRow_opts_SSE2.h
|
View
|
1
2
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/opts/SkBlitRow_opts_SSE2.cpp
|
View
|
1
2
|
1 chunk |
+0 lines, -48 lines |
0 comments
|
Download
|
|
M |
src/opts/SkOpts_neon.cpp
|
View
|
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/opts/SkOpts_sse2.cpp
|
View
|
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/opts/opts_check_x86.cpp
|
View
|
1
|
1 chunk |
+0 lines, -24 lines |
0 comments
|
Download
|
Total messages: 13 (6 generated)
|