Go to file
mtklein 3faf74b836 skcpu: sse4.1 floor, f16c f16<->f32
-  floor with roundps is about 4.5x faster when available
  -  f16 srcover_n is similar to but a little faster than the version in https://codereview.chromium.org/1884683002.  This new one fuses the dst load/stores into the f16<->f32 conversions:

+0x180	    movups              (%r15), %xmm1
+0x184	    vcvtph2ps           (%rbx), %xmm2
+0x189	    movaps              %xmm1, %xmm3
+0x18c	    shufps              $255, %xmm3, %xmm3
+0x190	    movaps              %xmm0, %xmm4
+0x193	    subps               %xmm3, %xmm4
+0x196	    mulps               %xmm2, %xmm4
+0x199	    addps               %xmm1, %xmm4
+0x19c	    vcvtps2ph           $0, %xmm4, (%rbx)
+0x1a2	    addq                $16, %r15
+0x1a6	    addq                $8, %rbx
+0x1aa	    decl                %r14d
+0x1ad	    jne                 +0x180

If we decide to land this it'd be a good idea to convert most or all users of SkFloatToHalf_01 and SkHalfToFloat_01 over to the pointer-based versions.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1891513002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Committed: https://skia.googlesource.com/skia/+/cbe3c1af987d622ea67ef560d855b41bb14a0ce9

Review URL: https://codereview.chromium.org/1891513002
2016-04-15 06:18:37 -07:00
animations
bench Revert of Update DisplacementMapEffect to sk_sp (patchset #3 id:40001 of https://codereview.chromium.org/1877783003/ ) 2016-04-15 05:09:32 -07:00
bin Fix gyp-and-sync for windows 2016-02-22 12:59:53 -08:00
cmake Move SkGLContext and some GrGLInterface implementations to skgputest module 2016-03-30 18:56:20 -07:00
debugger Fix old debugger for sk_sp changes 2016-03-25 07:04:35 -07:00
dm Several fixes for fp 16 rendering: 2016-04-14 12:39:00 -07:00
example switch surface to sk_sp 2016-03-23 18:59:25 -07:00
experimental mojo -> nojo 2016-04-14 09:42:34 -07:00
fuzz Revert of Update DisplacementMapEffect to sk_sp (patchset #3 id:40001 of https://codereview.chromium.org/1877783003/ ) 2016-04-15 05:09:32 -07:00
gm Revert of Update DisplacementMapEffect to sk_sp (patchset #3 id:40001 of https://codereview.chromium.org/1877783003/ ) 2016-04-15 05:09:32 -07:00
gyp mojo -> nojo 2016-04-14 09:42:34 -07:00
include Revert of Update DisplacementMapEffect to sk_sp (patchset #3 id:40001 of https://codereview.chromium.org/1877783003/ ) 2016-04-15 05:09:32 -07:00
infra More iOS swarming bot fixes 2016-04-06 11:38:55 -07:00
platform_tools Fix ChromeOS Swarming bot compile 2016-04-13 09:37:26 -07:00
resources Parse icc profiles and exif orientation from jpeg markers 2016-03-21 08:04:40 -07:00
samplecode Revert of Update DisplacementMapEffect to sk_sp (patchset #3 id:40001 of https://codereview.chromium.org/1877783003/ ) 2016-04-15 05:09:32 -07:00
site Explain Rietveld patching better on site. 2016-04-14 10:25:01 -07:00
src skcpu: sse4.1 floor, f16c f16<->f32 2016-04-15 06:18:37 -07:00
tests Revert of Update DisplacementMapEffect to sk_sp (patchset #3 id:40001 of https://codereview.chromium.org/1877783003/ ) 2016-04-15 05:09:32 -07:00
third_party Make is_ktx safer 2016-04-12 07:41:22 -07:00
tools Only eglTerminate command buffer displays when no displays are in use 2016-04-13 15:03:59 -07:00
.gitignore Ignore sampleapp_prefs.txt in git. 2016-03-24 12:20:02 -07:00
AUTHORS Add AVX/AVX2 support for runtime check 2016-04-08 15:31:45 -07:00
codereview.settings Automatically add a docs preview link and NOTRY=true when there are only docs changes. 2015-02-26 10:16:13 -08:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS mojo -> nojo 2016-04-14 09:42:34 -07:00
Doxyfile Documentation: SkCanvas API 2015-05-19 10:21:29 -07:00
gyp_skia Make Win runtime DLLs writeable before overwriting 2016-03-18 08:33:38 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Include resources directory in google3 sync. 2015-10-20 13:00:48 -07:00
make.bat Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
make.py GYP: remove stale skia_scalar gyp variable 2015-11-10 13:25:12 -05:00
Makefile Add visualbench as valid target to Makefile 2015-12-18 08:05:06 -08:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py 10.9 is no more 2016-02-25 06:52:18 -08:00
public.bzl Separate private headers for condition inclusion in BUILD file. 2016-04-11 13:45:51 -07:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
SK_IMAGE_VERSION Update SK_IMAGE_VERSION to 3 2016-02-23 08:14:19 -08:00
skia.gyp Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
SKP_VERSION Update SKP version 2016-04-10 00:30:13 -07:00
whitespace.txt Reland of Whitespace change to test Bugdroid+AutoRoll (patchset #1 id:1 of https://codereview.chromium.org/1861713002/ ) 2016-04-05 10:12:56 -07:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.