Go to file
csmartdalton a7f29640f6 Begin instanced rendering for simple shapes
Adds a module that performs instanced rendering and starts using it
for a select subset of draws on Mac GL platforms. The instance
processor can currently handle rects, ovals, round rects, and double
round rects. It can generalize shapes as round rects in order to
improve batching. The instance processor also employs new drawing
algorithms, irrespective of instanced rendering, that improve GPU-side
performance (e.g. sample mask, different triangle layouts, etc.).

This change only scratches the surface of instanced rendering. The
majority of draws still only have one instance. Future work may
include:

 * Passing coord transforms through the texel buffer.
 * Sending FP uniforms through instanced vertex attribs.
 * Using instanced rendering for more draws (stencil writes,
   drawAtlas, etc.).
 * Adding more shapes to the instance processor’s repertoire.
 * Batching draws that have mismatched scissors (analyzing draw
   bounds, inserting clip planes, etc.).
 * Bindless textures.
 * Uber shaders.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066993003

Committed: https://skia.googlesource.com/skia/+/42eafa4bc00354b132ad114d22ed6b95d8849891
Review-Url: https://codereview.chromium.org/2066993003
2016-07-07 08:49:11 -07:00
animations
bench Begin instanced rendering for simple shapes 2016-07-07 08:49:11 -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 Add support for 3D colorLUTs to SkColorXform 2016-06-23 15:12:52 -07:00
example Lots of progress on switching to SkColorSpace rather than SkColorProfileType 2016-06-16 13:03:24 -07:00
experimental using_skia_and_harfbuzz: use default typeface 2016-07-01 08:48:12 -07:00
fuzz remove DownSample imagefilter 2016-06-25 14:30:44 -07:00
gm API change to allow for NormalSource selection at the user level. 2016-07-06 13:58:36 -07:00
gyp Begin instanced rendering for simple shapes 2016-07-07 08:49:11 -07:00
include Begin instanced rendering for simple shapes 2016-07-07 08:49:11 -07:00
infra Update Win toolchain 2016-07-01 17:29:18 -07:00
platform_tools More accurate render time and continuous fresh 2016-07-06 14:11:32 -07:00
resources Add gm for various font rendering combinations. 2016-07-06 11:55:05 -07:00
samplecode API change to allow for NormalSource selection at the user level. 2016-07-06 13:58:36 -07:00
site Update rebaseline instructions. 2016-07-06 10:19:54 -07:00
src Begin instanced rendering for simple shapes 2016-07-07 08:49:11 -07:00
tests centralize VECTORCALL as SK_VECTORCALL 2016-07-07 08:12:09 -07:00
third_party GN 2016-06-23 10:29:30 -07:00
tools More accurate render time and continuous fresh 2016-07-06 14:11:32 -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 GN: just new deps 2016-06-23 05:56:18 -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
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
PRESUBMIT.py Fix Gold trybot results URL 2016-05-20 03:50:01 -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-04 13:38:56 -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.