skia2/include/gpu
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
..
effects sk_sp for Ganesh. 2016-06-09 08:01:03 -07:00
gl Fix glDraw*Indirect prototypes 2016-06-09 19:42:38 -07:00
vk Enable many more tests for Vulkan 2016-06-28 08:07:26 -07:00
GrBlend.h Create fragment processor for performing input color blend with child processor 2015-09-15 15:33:27 -07:00
GrBuffer.h Refactor to separate backend object lifecycle and GpuResource budget decision 2016-04-22 01:48:29 -07:00
GrBufferAccess.h Abandon offset support with texel buffers 2016-06-03 08:50:54 -07:00
GrCaps.h Move multisampleDisableSupport into GrCaps 2016-06-10 14:06:32 -07:00
GrClip.h sk_sp for Ganesh. 2016-06-09 08:01:03 -07:00
GrColor.h GrColor4f is yet another 4f color type, unfortunately. 2016-06-24 12:50:19 -07:00
GrConfig.h Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER. 2016-04-29 06:41:35 -07:00
GrContext.h sk_sp for Ganesh. 2016-06-09 08:01:03 -07:00
GrContextOptions.h Add control of manual mipmapping to GrContextOptions 2016-06-09 13:11:08 -07:00
GrCoordTransform.h some utils for rect and matrix 2015-03-13 06:08:28 -07:00
GrDrawContext.h Begin instanced rendering for simple shapes 2016-06-30 12:15:49 -07:00
GrFragmentProcessor.h sk_sp for Ganesh. 2016-06-09 08:01:03 -07:00
GrGpuResource.h Refactor to separate backend object lifecycle and GpuResource budget decision 2016-04-22 01:48:29 -07:00
GrGpuResourceRef.h apply mozilla patch 2015-11-10 04:55:08 -08:00
GrInvariantOutput.h Make skpaint->grpaint flow work for composing draws (verts and atlas) 2015-09-28 06:26:29 -07:00
GrPaint.h GrColor4f is yet another 4f color type, unfortunately. 2016-06-24 12:50:19 -07:00
GrProcessor.h remove non-static uses of SkOncePtr 2016-05-02 07:19:41 -07:00
GrProcessorUnitTest.h sk_sp for Ganesh. 2016-06-09 08:01:03 -07:00
GrProgramElement.h Move SkTArray to include/private. 2016-02-17 13:13:44 -08:00
GrRenderTarget.h Add Gr*Proxy classes 2016-05-04 12:47:41 -07:00
GrResourceKey.h Modernize and trim down SkOnce. 2016-04-18 08:09:11 -07:00
GrShaderVar.h Refactor how we store and use samplers in Ganesh 2016-04-20 07:09:46 -07:00
GrSurface.h Added --deepColor option to SampleApp, triggers creation of a ten-bit/channel 2016-05-05 12:24:31 -07:00
GrTestUtils.h Replace GrStrokeInfo with GrStyle. 2016-05-10 09:14:17 -07:00
GrTexture.h Better (?) interface for controlling sRGB-ness of mipmaps on GrTexture 2016-06-13 07:59:48 -07:00
GrTextureAccess.h Infer sampler precision from pixel config 2016-04-11 12:03:08 -07:00
GrTextureParams.h Remove sRGB overrides on GrTextureParams. Use GrPaint flags instead. 2016-05-24 06:18:48 -07:00
GrTextureProvider.h Remove some unnecessary #includes of SkImageFilter.h 2016-04-22 07:36:12 -07:00
GrTypes.h Add a GL cap for instanced rendering to floating point 2016-06-27 09:29:07 -07:00
GrTypesPriv.h sk_sp for Ganesh. 2016-06-09 08:01:03 -07:00
GrXferProcessor.h Remove hasMixedSamples() from GrPipelineBuilder 2016-05-06 09:41:16 -07:00
SkGr.h Lots of progress on switching to SkColorSpace rather than SkColorProfileType 2016-06-16 13:03:24 -07:00
SkGrPixelRef.h Lots of progress on switching to SkColorSpace rather than SkColorProfileType 2016-06-16 13:03:24 -07:00
SkGrTexturePixelRef.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00