skia2/gn
Brian Salomon ff574e0eb7 Add a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp.
This uses a new helper class, GrSimpleMeshDrawOpHelper, which it uses to fullfill the GrMeshDrawOp contract and to construct its GrPipline when flushed. The helper is intended to be used such that the op only stores a GrProcessorSet if it is constructed with a "nontrivial" GrPaint. "Trivial" currently means no fragment processors and src-over blending. The helper allows the op subclass to specify whether it supports stenciling via a template parameter. The helper class is initially intended to be used for ops that don't have per-vertex colors and construct a single GrPipeline at flush time, though perhaps this can be relaxed in future changes.

On the microbenchmark "rotated_rects_bw_same_transparent_srcover" this produces a 18-20% reduction in time on my Z840 running Linux and 33% on my 2010 MacPro.

Bug: skia:
Change-Id: I9f655827a70bee585b0b0e1255371ffd995a0b80
Reviewed-on: https://skia-review.googlesource.com/14604
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2017-05-03 20:50:40 +00:00
..
__init__.py Make gn directory importable in python 2017-03-20 17:40:30 +00:00
android_framework_defines.gni Only store width and height on SkPixelRef (last part) 2017-05-01 17:01:29 +00:00
ar.py GN: quiet alink spam on Mac 2016-11-07 14:19:32 +00:00
bench.gni Reland "Add a clip mask bench" 2017-05-02 15:33:06 +00:00
BUILD.gn Describe GCC-like asm steps as "assemble ..." 2017-04-26 14:59:55 +00:00
BUILDCONFIG.gn Added support for building for tvOS 2017-03-14 22:55:04 +00:00
core.gni Remove EXPERIMENTAL_SHADOWING, Part 1 2017-05-02 17:22:44 +00:00
cp.py GN: get Angle compiling on Windows. 2016-10-17 16:16:16 +00:00
effects.gni Implement SkBlurDrawLooper with SkLayerDrawLooper 2017-03-28 19:29:00 +00:00
find_headers.py Check-in vulkan.h into third_party and use that instead of local sdk vulkan.h 2017-04-20 13:09:27 +00:00
find_ios_sysroot.py Add iOS simulator support in GN. 2017-03-13 17:21:43 +00:00
gm.gni Remove EXPERIMENTAL_SHADOWING, Part 1 2017-05-02 17:22:44 +00:00
gn_helpers.py Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
gn_meta_sln.py Move, rename, and document Visual Studio GN helper script 2016-12-14 16:41:52 +00:00
gn_to_bp.py remove unused etc logic 2017-05-03 12:55:43 +00:00
gn_to_cmake.py Add support for lib_dirs to gn_to_cmake.py. 2016-10-28 15:07:10 +00:00
gpu.gni Add a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp. 2017-05-03 20:50:40 +00:00
gypi_to_gn.py Add executable bit and shebang to python files 2016-08-18 04:36:25 -07:00
is_clang.py GN: match shell behavior for cc and cxx in is_clang.py 2016-09-27 09:29:24 -07:00
opts.gni remove MIPS DSP optimizations 2016-12-21 03:55:00 +00:00
package_ios.py Automate more parts of gn/package_ios.py. 2017-01-31 17:41:16 +00:00
pdf.gni Start inverting GN reading .gypis to GYP reading .gnis. 2016-10-26 17:47:00 +00:00
push_to_android.py skia_android_serial = "auto" 2017-01-12 16:30:17 +00:00
samples.gni Remove EXPERIMENTAL_SHADOWING, Part 1 2017-05-02 17:22:44 +00:00
shared_sources.gni remove MIPS DSP optimizations 2016-12-21 03:55:00 +00:00
sksl.gni skslc can now be compiled with no Skia dependencies, in preparation for its eventual 2017-03-31 18:49:51 +00:00
tests.gni Add support for row-by-row jpeg encoding 2017-05-02 20:40:10 +00:00
utils.gni Remove EXPERIMENTAL_SHADOWING, Part 1 2017-05-02 17:22:44 +00:00
xps.gni SkXPS: new document API. 2017-02-06 19:00:28 +00:00