skia2/gyp
csmartdalton 42eafa4bc0 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

Review-Url: https://codereview.chromium.org/2066993003
2016-06-30 12:15:49 -07:00
..
android_deps.gyp Fix gyp files so that gyp_to_Android.mk succeeds 2016-01-25 11:40:02 -08:00
android_framework_lib.gyp Move SkBitmapRegionDecoder to include/android and src/android 2015-11-13 06:11:09 -08:00
android_output.gyp Add copyright headers to remaining gyp files. 2015-03-25 10:22:41 -07:00
android_system.gyp Add copyright headers to remaining gyp files. 2015-03-25 10:22:41 -07:00
angle.gyp Move SkGLContext and some GrGLInterface implementations to skgputest module 2016-03-30 18:56:20 -07:00
animator.gyp rm src/animator/SkTime.cpp 2016-03-25 15:22:47 -07:00
apptype_console.gypi Remove all code related to NaCl 2015-04-02 12:16:36 -07:00
bench.gyp Remove internal calls to SkImage::getTexture 2016-02-29 11:41:52 -08:00
bench.gypi SkPDF/Bench: add bench for SkPDFSharedStream (deflate) 2016-02-24 15:17:20 -08:00
canvas_state_lib.gyp Add copyright headers to remaining gyp files. 2015-03-25 10:22:41 -07:00
codec_android.gyp Delete SkBitmapRegionCanvas 2016-05-18 06:23:57 -07:00
codec.gyp gyp: clean up warnings with clang-3.8 2016-05-23 14:02:54 -07:00
common_conditions.gypi Added warning for variable-length arrays to GYP, since they are unsupprted under Win targets 2016-06-15 09:13:51 -07:00
common_variables.gypi Remove NEON runtime detection support. 2016-05-05 10:58:39 -07:00
common.gypi Disable yet another GCC warning in Release_Developer mode. 2016-05-02 06:06:02 -07:00
core.gyp Delete ChromeOS code 2016-04-29 14:01:34 -07:00
core.gypi Move SkColorSpace ICC parsing/writing code to its own file 2016-06-28 07:16:40 -07:00
debugger.gyp Fix png encoding in skia debugger 2016-06-30 10:06:51 -07:00
dm.gyp Use a statically linked libhwui for testing. 2016-02-16 09:19:36 -08:00
dm.gypi SkMultiPictureDocument & SkMultiPictureDocumentReader 2016-06-02 12:41:14 -07:00
dng_sdk.gyp Work around missing __mulodi4() on ARMv7 + Clang builds. 2016-06-23 11:20:58 -07:00
effects.gyp Revert of sRGB support in Ganesh. Several pieces: (patchset #12 id:220001 of https://codereview.chromium.org/1789663002/ ) 2016-03-17 13:01:26 -07:00
effects.gypi remove DownSample imagefilter 2016-06-25 14:30:44 -07:00
etc1.gyp Revert of Depend on ETC1 via DEPS instead of a direct third_party checkin. (patchset #1 id:1 of https://codereview.chromium.org/1296253003/ ) 2015-08-17 11:15:00 -07:00
everything.gyp Revert of Remove Android SampleApp (patchset #5 id:80001 of https://codereview.chromium.org/2096683002/ ) 2016-06-24 05:24:16 -07:00
example.gyp Create a standalone example for using Skia with SDL 2015-11-13 11:22:19 -08:00
expat.gyp msan: build expat from source 2016-02-07 13:31:23 -08:00
experimental.gyp experimental/tools/coreGraphicsPdf2png: remove skia dependency 2016-05-05 11:17:08 -07:00
FileReaderApp.gyp remove SkGPipe 2016-01-08 06:30:14 -08:00
find.py Sort build files for consistent link order. 2015-05-20 09:26:47 -07:00
flags.gyp Move SkGLContext and some GrGLInterface implementations to skgputest module 2016-03-30 18:56:20 -07:00
freetype.gyp Delete ChromeOS code 2016-04-29 14:01:34 -07:00
freetype.gypi Update Android FreeType version. 2015-10-27 08:39:39 -07:00
fuzz.gyp Make fuzz builds set SK_FUZZ_LOGGING 2016-04-12 12:02:59 -07:00
giflib.gyp Update giflib to 5.1.1 (AOSP hash) 2015-08-24 12:00:15 -07:00
gmslides.gypi Fix png encoding in skia debugger 2016-06-30 10:06:51 -07:00
gpu.gyp Update GYP for linux Vulkan to support SDK 1.0.13 2016-06-17 12:04:05 -07:00
gpu.gypi Begin instanced rendering for simple shapes 2016-06-30 12:15:49 -07:00
gputest.gyp Delete ChromeOS code 2016-04-29 14:01:34 -07:00
harfbuzz.gyp harfbuzz test: compile fewer files 2016-05-09 08:15:58 -07:00
icu.gyp Delete ChromeOS code 2016-04-29 14:01:34 -07:00
images.gyp Delete ChromeOS code 2016-04-29 14:01:34 -07:00
iOSShell.gyp Remove custom bundle ID for iOS 2016-05-20 11:20:38 -07:00
jsoncpp.gyp Roll jsoncpp, drop dependency on Chromium overrides. 2014-08-19 07:21:00 -07:00
ktx.gyp add -Iinclude/private anywhere we have -Isrc/core 2015-07-28 08:55:14 -07:00
libjpeg-turbo-selector.gyp Remove dependencies on Android's forked decoder libraries 2015-11-06 11:15:49 -08:00
libjpeg-turbo.gyp Instruct yasm to compile position independent code on Android 2016-05-10 14:30:07 -07:00
libpng.gyp Check libpng directly into third_party/ 2016-06-02 12:59:59 -07:00
libwebp_skia.gypi Comments Style: s/skbug.com/bug.skia.org/ 2015-11-07 05:29:00 -08:00
libwebp.gyp Update libwebp to version 0.5.0 2016-01-22 06:58:27 -08:00
lua.gyp gyp: clean up warnings with clang-3.8 2016-05-23 14:02:54 -07:00
microhttpd.gyp gyp (third_party) warning changes for ccache 2016-05-20 10:36:50 -07:00
most.gyp Revert of Remove Android SampleApp (patchset #5 id:80001 of https://codereview.chromium.org/2096683002/ ) 2016-06-24 05:24:16 -07:00
nanomsg.gyp Experiment with find as a road to Gyp sanity. 2015-05-16 15:47:10 -07:00
opts.gyp Remove NEON runtime detection support. 2016-05-05 10:58:39 -07:00
opts.gypi Add stub for avx. 2016-06-23 09:40:30 -07:00
pathops_skpclip.gyp remove SkGPipe 2016-01-08 06:30:14 -08:00
pathops_unittest.gyp Move SkGLContext and some GrGLInterface implementations to skgputest module 2016-03-30 18:56:20 -07:00
pathops_unittest.gypi More conic-specific tests revealed a few conic-specific bugs. Because javascript / canvas make visualizing conics tricky, new native tools are required. 2015-10-30 12:03:06 -07:00
pdf.gyp Delete ChromeOS code 2016-04-29 14:01:34 -07:00
pdf.gypi SkAdvancedTypefaceMetrics: abstract out linked list 2016-05-08 18:47:16 -07:00
piex.gyp msan: define BREAK_IF_DEBUGGING_AND_OUT_OF_RANGE in piex 2016-02-08 09:35:05 -08:00
ports.gyp Create SkColorSpaceXform to handle color conversions 2016-06-01 14:47:18 -07:00
qcms.gyp Create SkColorSpaceXform to handle color conversions 2016-06-01 14:47:18 -07:00
SampleApp.gyp Revert of Remove Android SampleApp (patchset #5 id:80001 of https://codereview.chromium.org/2096683002/ ) 2016-06-24 05:24:16 -07:00
samples.gypi Fix mixup where SamplePathOverstroke wasn't added 2016-06-17 14:06:13 -07:00
sdl.gyp Initial gyp files for SDL 2015-10-29 07:09:53 -07:00
sfnt.gyp Move SkTemplates.h to private. 2015-08-19 11:56:48 -07:00
sfntly.gyp DEPS: update icu + sfntly 2016-05-09 08:00:26 -07:00
shaderc.gyp Create .gyp rules for shaderc libraries 2016-06-10 12:07:50 -07:00
SimpleCocoaApp.gyp Allows windowed apps to be built on the Mac just by writing a SkOSWindow subclass without needing nib/plist files. 2015-06-18 11:49:42 -07:00
SimpleiOSApp.gyp Add copyright headers to remaining gyp files. 2015-03-25 10:22:41 -07:00
skia_for_android_framework_defines.gypi Move SkTypeface to sk_sp. 2016-05-12 10:09:31 -07:00
skia_for_chromium_defines.gypi Remove SK_IGNORE_GL_TEXTURE_TARGET from skia_for_chromium_defines.gypi 2015-12-07 14:05:31 -08:00
skia_launcher.gyp Add copyright headers to remaining gyp files. 2015-03-25 10:22:41 -07:00
skia_lib.gyp Move SkBitmapRegionDecoder to include/android and src/android 2015-11-13 06:11:09 -08:00
skiaserve.gyp Prototype code that turns any/every flattenable into JSON 2016-05-04 11:06:28 -07:00
svg.gyp add -Iinclude/private anywhere we have -Isrc/core 2015-07-28 08:55:14 -07:00
tests.gypi Prototype code that turns any/every flattenable into JSON 2016-05-04 11:06:28 -07:00
tools.gyp Revert of Remove Android SampleApp (patchset #5 id:80001 of https://codereview.chromium.org/2096683002/ ) 2016-06-24 05:24:16 -07:00
utils.gyp Move headers in include/utils/win to src/utils/win. 2016-06-16 15:31:43 -07:00
utils.gypi Move headers in include/utils/win to src/utils/win. 2016-06-16 15:31:43 -07:00
v8.gyp Allows windowed apps to be built on the Mac just by writing a SkOSWindow subclass without needing nib/plist files. 2015-06-18 11:49:42 -07:00
viewer.gyp Enable viewer in non-Vulkan builds 2016-06-17 09:29:14 -07:00
views.gyp Delete ChromeOS code 2016-04-29 14:01:34 -07:00
xml.gyp remove unused BML (binary xml) code 2016-04-09 11:09:49 -07:00
xps.gyp SkXPS: clean up SkConstexprMath 2016-05-31 11:23:42 -07:00
yasm.gyp followups 2016-02-12 12:58:10 -08:00
zlib.gyp gyp: supress more warnings for zlib 2016-05-24 05:23:52 -07:00