RESOLVED FIXED 102060
Optimize RGB565 and RGBA5551 packing/unpacking functions with NEON intrinsics
https://bugs.webkit.org/show_bug.cgi?id=102060
Summary Optimize RGB565 and RGBA5551 packing/unpacking functions with NEON intrinsics
Gabor Rapcsanyi
Reported 2012-11-13 01:47:48 PST
Optimize RGB565 and RGBA5551 packing/unpacking functions with NEON intrinsics
Attachments
proposed patch (8.72 KB, patch)
2012-11-13 02:32 PST, Gabor Rapcsanyi
no flags
patch_v2 (11.04 KB, patch)
2012-11-13 04:39 PST, Gabor Rapcsanyi
no flags
Gabor Rapcsanyi
Comment 1 2012-11-13 02:32:37 PST
Created attachment 173853 [details] proposed patch I tried it on Pandaboard with Linaro 12.10 Ubuntu. unpackOneRowOfRGB565ToRGBA8: 2.69x faster packOneRowOfRGBA8ToUnsignedShort565: 3.37x faster unpackOneRowOfRGBA5551ToRGBA8: 3.2x faster packOneRowOfRGBA8ToUnsignedShort5551: 3.31x faster
Zoltan Herczeg
Comment 2 2012-11-13 02:49:05 PST
Comment on attachment 173853 [details] proposed patch Nice job, just a minor comment: View in context: https://bugs.webkit.org/attachment.cgi?id=173853&action=review > Source/WebCore/platform/graphics/cpu/arm/GraphicsContext3DNEON.h:84 > + uint8x8_t constant1 = vdup_n_u8(0x7); > + uint8x8_t constant2 = vdup_n_u8(0xFF); > + uint16x8_t constant3 = vdupq_n_u16(0x1F); > + uint16x8_t constant4 = vdupq_n_u16(0x1); These indexes are not nice. I would prefer immediate0x7, immediate0xff, ....
Gabor Rapcsanyi
Comment 3 2012-11-13 04:39:52 PST
Created attachment 173863 [details] patch_v2 Fixed patch.
Zoltan Herczeg
Comment 4 2012-11-13 04:51:45 PST
Comment on attachment 173863 [details] patch_v2 r=me
WebKit Review Bot
Comment 5 2012-11-13 05:21:08 PST
Comment on attachment 173863 [details] patch_v2 Rejecting attachment 173863 [details] from commit-queue. Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2 Last 500 characters of output: estExpectations Auto-merging Tools/ChangeLog CONFLICT (content): Merge conflict in Tools/ChangeLog Failed to merge in the changes. Patch failed at 0001 Unreviewed Qt gardening. When you have resolved this problem run "git rebase --continue". If you would prefer to skip this patch, instead run "git rebase --skip". To restore the original branch and stop rebasing run "git rebase --abort". rebase refs/remotes/origin/master: command returned error: 1 Died at Tools/Scripts/update-webkit line 154. Full output: http://queues.webkit.org/results/14813779
Gabor Rapcsanyi
Comment 6 2012-11-13 05:50:50 PST
Note You need to log in before you can comment on or make changes to this bug.