Go to file
mtklein 036e1831e0 Add a bench to measure the best way to pack from int to uint16_t with SSE.
I measured relative runtimes on my laptop:

   pack_int_uint16_t_ss…
   1036  …e41 1x  …se3 1.01x  …e2_b 3.01x  …e2_a 3.02x

I've run into Clang problems with the actual _mm_packus_epi32 instruction, I think,
so I'm going to exercise a little cowardice and leave that option disabled for now.

The ssse3 version probably looks a little faster than it will be in practice.
We'll usually need to load its mask, which here is hoisted out of the bench loop.

The two sse2 variants are close enough in speed that I'm tie breaking them on other
concerns: the <<16, >>16 version doesn't need any scratch registers or to load any
constants, so it wins.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150343002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot

Review-Url: https://codereview.chromium.org/2150343002
2016-07-15 07:45:53 -07:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Add a bench to measure the best way to pack from int to uint16_t with SSE. 2016-07-15 07:45:53 -07:00
bin bin/fetch-skps: print instruction on error 2016-04-26 12:38:47 -07:00
build_overrides GN 2016-06-23 10:29:30 -07:00
cmake initial checkin of SkSL compiler 2016-07-01 08:22:01 -07:00
debugger Fix old debugger 2016-04-29 14:02:18 -07:00
dm deferred canvas 2016-07-08 08:43:28 -07:00
example Lots of progress on switching to SkColorSpace rather than SkColorProfileType 2016-06-16 13:03:24 -07:00
experimental tools/SkShaper: SkStream->blob 2016-07-12 09:17:43 -07:00
fuzz remove DownSample imagefilter 2016-06-25 14:30:44 -07:00
gm Probably no need for GM self-tests now that GM doesn't exist. 2016-07-14 19:39:38 -07:00
gyp Dust-off SkXMLParser 2016-07-14 19:14:06 -07:00
include Dust-off SkXMLParser 2016-07-14 19:14:06 -07:00
infra Update Win toolchain 2016-07-01 17:29:18 -07:00
platform_tools Update documents/scripts for SampleApp removal 2016-07-12 09:12:39 -07:00
resources Use hintgasp font when testing rendering. 2016-07-12 06:55:25 -07:00
samplecode Factor code to rotate a canvas about a point. 2016-07-12 15:01:19 -07:00
site Fix option name typo 2016-07-12 15:11:31 -07:00
src Add a bench to measure the best way to pack from int to uint16_t with SSE. 2016-07-15 07:45:53 -07:00
tests Expand _01 half<->float limitation to _finite. Simplify. 2016-07-15 07:00:11 -07:00
third_party GN 2016-06-23 10:29:30 -07:00
tools Add verb field in scraping scripts 2016-07-14 07:44:50 -07:00
.gitignore Add CIPD support for bot assets 2016-06-28 04:41:49 -07:00
.gn GN 2016-06-23 10:29:30 -07:00
AUTHORS SkPDF: Use type 2/3 shading for gradient shaders 2016-06-17 12:38:54 -07:00
BUILD.gn GN 2016-06-23 10:29:30 -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 Build Expat on all platforms 2016-07-14 14:02:24 -07:00
Doxyfile Documentation: SkCanvas API 2015-05-19 10:21:29 -07:00
gn.py GN 2016-06-23 10:29:30 -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 Specifying master names with "master." prefix is deprecated 2016-07-13 12:57:42 -07:00
public.bzl Exclude SkSL in public.bzl. 2016-07-02 05:12:46 -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 Remove extra DNG images and use smaller HTC.dng 2016-05-24 06:23:47 -07: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-07-10 00:41:28 -07:00
whitespace.txt Test PDFium bot again 2016-06-04 11:57:23 -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.