History log of /external/skia/src/gpu/GrDrawingManager.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
eb35f4dfaa10b9d751abbc9a1406456eb3b1649d 21-Mar-2017 Robert Phillips <robertphillips@google.com> Add pre-Flush callback to GrDrawingManager (take 2)

This will allow internal systems (e.g., fonts & path renderers) to create pre-flush atlases.

Depends on: https://skia-review.googlesource.com/c/8988/ (Allow GrSurfaceProxy-derived classes to use flags when instantiating)

Change-Id: I7ffc1b69defda625b6d4311e96776de4cf2abb87
Reviewed-on: https://skia-review.googlesource.com/9903
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
18ea816aad843117cdee99f7d996b3542e467b22 15-Mar-2017 Robert Phillips <robertphillips@google.com> Revert "Add pre-Flush callback to GrDrawingManager"

This reverts commit d222ec492f5d0229986f529134d083e589bcc4a9.

Reason for revert: TegraX1 Vulkan bot

Original change's description:
> Add pre-Flush callback to GrDrawingManager
>
> This will allow internal systems (e.g., fonts & path renderers) to create pre-flush atlases.
>
> Depends on: https://skia-review.googlesource.com/c/8988/ (Allow GrSurfaceProxy-derived classes to use flags when instantiating)
>
> Change-Id: I307796595d651cf376838bff1f9e4385c3753547
> Reviewed-on: https://skia-review.googlesource.com/8679
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,csmartdalton@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I852648adc12d2aa58cd09c57d961c340d657776c
Reviewed-on: https://skia-review.googlesource.com/9735
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
d222ec492f5d0229986f529134d083e589bcc4a9 15-Mar-2017 Robert Phillips <robertphillips@google.com> Add pre-Flush callback to GrDrawingManager

This will allow internal systems (e.g., fonts & path renderers) to create pre-flush atlases.

Depends on: https://skia-review.googlesource.com/c/8988/ (Allow GrSurfaceProxy-derived classes to use flags when instantiating)

Change-Id: I307796595d651cf376838bff1f9e4385c3753547
Reviewed-on: https://skia-review.googlesource.com/8679
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
32342f032e1dfd133040324f851f0365f9d4cb51 04-Mar-2017 Brian Osman <brianosman@google.com> Rebase and fix chromium

Combine texture provider and resource provider

Largely mechanical. Only three places that were calling createApprox
via texture provider (ie without flags), so that was simple.

BUG=skia:

Change-Id: I876367bcdc6a8db736deedab1028de1972015509
Reviewed-on: https://skia-review.googlesource.com/9176
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
2c86249465c28a532c8be55b6ba497021e3110ec 18-Jan-2017 Robert Phillips <robertphillips@google.com> Move read/write-Pixels up to GrSurfaceContext

This still needs to be propagated out in several ways:
replace more instances of GrSurface::read/write-Pixels
add colorSpace to more instances of the TextureContext

but it establishes a beach-head and is exciting enough as is.

Change-Id: If86035aa0245e70b54541e83722b3c75bc5ade13
Reviewed-on: https://skia-review.googlesource.com/7172
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
09d994ecb30de2e62a31af2c16307af31fe0e0b3 21-Dec-2016 Brian Salomon <bsalomon@google.com> Misc batch->op cleanup Part 1 of 2

Change-Id: I80f951976558a284e55386e0a368f08bd835d8ca
Reviewed-on: https://skia-review.googlesource.com/6359
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
0e8fc8b9e6a138cf4a66b421fb824679df717329 09-Dec-2016 Brian Salomon <bsalomon@google.com> Relandx2 "Remove antialiasing control from GrPaint."

Fixes a bad merge.

This reverts commit 073285c0595d46205d1482cc19af2d7d891bfeae.

Change-Id: I5e92339d9b33d3a6dc58b9fcd2a1b3a5684e8f8a
Reviewed-on: https://skia-review.googlesource.com/5774
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
073285c0595d46205d1482cc19af2d7d891bfeae 09-Dec-2016 Brian Salomon <bsalomon@google.com> Revert "Reland "Remove antialiasing control from GrPaint.""

This reverts commit 3944484020d98ff8f386378296106c321279482b.

Reason for revert: Merges badly with a recent change. Will rebase and reland.

Original change's description:
> Reland "Remove antialiasing control from GrPaint."
>
> This contains fixes for GLPrograms test and mixed samples rendering.
>
> This reverts commit 419d81eed4a010e6080db199795117cbedf9e6e4.
>
> BUG=skia:
>
> Change-Id: If8f002fbfaaaab6d1607403f2b15ccc7f1e17e87
> Reviewed-on: https://skia-review.googlesource.com/5763
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org
BUG=skia:
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Iff9657041e28604a845bc5a9acec7c9b248c53bd
Reviewed-on: https://skia-review.googlesource.com/5772
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
3944484020d98ff8f386378296106c321279482b 09-Dec-2016 Brian Salomon <bsalomon@google.com> Reland "Remove antialiasing control from GrPaint."

This contains fixes for GLPrograms test and mixed samples rendering.

This reverts commit 419d81eed4a010e6080db199795117cbedf9e6e4.

BUG=skia:

Change-Id: If8f002fbfaaaab6d1607403f2b15ccc7f1e17e87
Reviewed-on: https://skia-review.googlesource.com/5763
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
1e41f4a111e5b19e55d688033e7b857caef658e6 07-Dec-2016 Brian Salomon <bsalomon@google.com> Rename batch->op in GrOpList and subclasses

Change-Id: I9c82483c4ac0dc140fb1e5e3650d6ff1e5917e99
Reviewed-on: https://skia-review.googlesource.com/5646
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
45580d3e3024c1536e8e1b2017b704805442b634 23-Nov-2016 Brian Osman <brianosman@google.com> Added GrSurfaceContext and GrTextureContext

This lets copy-to-texture to be treated like copy-to-rt.
To match current behavior, though, copies to texture are
still executed immediately (forcing a flush).

Once MDB is enabled, copies to texture will be deferred.

BUG=skia:

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

Change-Id: Icc0ce5435507a5f0a237c22eedef879824952367
Reviewed-on: https://skia-review.googlesource.com/5093
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
e60ad620fe236ce4c1e85a31bd53ed0c848da8c3 17-Nov-2016 Robert Phillips <robertphillips@google.com> Guard against instantiate & accessRenderTarget failures

Chrome's fuzzer have reminded me that, since we are deferring allocation, instantiate and accessRenderTarget can now fail further down the call stack.

This should probably be cherry picked back to M56.

BUG=665681,665500,665621

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

Change-Id: I44d81ff29586dfe75ddda30b5ed8ca76354542d6
Reviewed-on: https://skia-review.googlesource.com/4929
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
3743013f755d23c215d852af7d829c3cd74f34a2 09-Nov-2016 Robert Phillips <robertphillips@google.com> Consolidate GrSurfaceProxy Make methods

I think GrSurfaceDesc is still the most compact way to communicate the deferred GrSurface's settings to the Proxy but this CL, at least, reduces where it is used.

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

Change-Id: Ica599c28a5aef1ed4094f47a4ac119e2d204d652
Reviewed-on: https://skia-review.googlesource.com/4559
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
c7635fa374b87711e5ccd8222957a8fbdc772f7b 28-Oct-2016 Robert Phillips <robertphillips@google.com> Make GrDrawContext be GrRenderTargetProxy-backed

This is split out of https://codereview.chromium.org/2215323003/ (Start using RenderTargetProxy (omnibus))

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

CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Debug-GN_Android-Trybot

Change-Id: I1a47f19ed1ac0c249e6ccac8db74095d7f456db4
Reviewed-on: https://skia-review.googlesource.com/3841
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
1105224f9701e57ec5ce0354d6a380b664f5c638 27-Oct-2016 Brian Osman <brianosman@google.com> Rename GrDrawContext to GrRenderTargetContext

This is in preparation for GrTextureContext and GrSurfaceContext

BUG=skia:

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

Change-Id: Ie58c93052e68f3f1f5fe8d15d63760de274a6fbd
Reviewed-on: https://skia-review.googlesource.com/4030
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
f2361d2d93c200cd4555b5e8ecea4531801abaaa 25-Oct-2016 Robert Phillips <robertphillips@google.com> Add GrOpList and rename GrDrawTarget to GrRenderTargetOpList

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

Change-Id: I026aa26ecc61a0d002e98892dca728536259e8b1
Reviewed-on: https://skia-review.googlesource.com/3910
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrDrawingManager.cpp
ee843b2ae4d75748d8bc323287f0c310fad548a7 04-Oct-2016 robertphillips <robertphillips@google.com> Revert of Make GrResourceCache dynamically change between LRU and random replacement strategies. (patchset #8 id:140001 of https://codereview.chromium.org/2321563006/ )

Reason for revert:
Causing problems on Mac & Windows bots.

Original issue's description:
> Make GrResourceCache dynamically change between LRU and random replacement strategies.
>
> Random performs significantly better when each frame exceeds the budget by a small margin whereas LRU has worst case behavior.
>
> The decision of which to use is made based on the history from a few frames of the ratio of total unique key cache misses to unique key cache misses of resources purged in the last 2 frames.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2321563006
>
> Committed: https://skia.googlesource.com/skia/+/0f147ac2ae575bbad3515a526f13700bc5c8e9d7

TBR=bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2386993004
/external/skia/src/gpu/GrDrawingManager.cpp
0f147ac2ae575bbad3515a526f13700bc5c8e9d7 03-Oct-2016 bsalomon <bsalomon@google.com> Make GrResourceCache dynamically change between LRU and random replacement strategies.

Random performs significantly better when each frame exceeds the budget by a small margin whereas LRU has worst case behavior.

The decision of which to use is made based on the history from a few frames of the ratio of total unique key cache misses to unique key cache misses of resources purged in the last 2 frames.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2321563006

Review-Url: https://codereview.chromium.org/2321563006
/external/skia/src/gpu/GrDrawingManager.cpp
a9c3c6aea5f7ade5aa2d112a221c458cd759222a 29-Sep-2016 brianosman <brianosman@google.com> Recent image filter work now allows this check to be enabled.

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

Review-Url: https://codereview.chromium.org/2379053002
/external/skia/src/gpu/GrDrawingManager.cpp
39ef7fb885d7be648b9f0ecd027bc400d1213cec 21-Sep-2016 bsalomon <bsalomon@google.com> Add optional sw generated path coverage mask caching

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

All the bots except the painfully slow windows compiler have finished so,
NOTRY=true

Review-Url: https://codereview.chromium.org/2335343008
/external/skia/src/gpu/GrDrawingManager.cpp
2695eaa41fbd208dcee9e134e180c6609856f0ac 21-Sep-2016 brianosman <brianosman@google.com> Fix some GPU image filter code to preserve precision and color space

On the pure-GPU path, we just have an SkSpecialImage (that's definitely
texture backed), and we need a renderable config for the draw context we
make. Added a helper function to pick - this is basically the high
precision analog of what we were doing before (always using 8888).

The assert that I added catches many other problems in image filter code,
but those fixes are coming in subsequent CLs.

12 GMs render correctly (or more correctly) in gpusrgb and gpuf16
configs. In most cases, they were drawing previously nothing.

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

Review-Url: https://codereview.chromium.org/2359443003
/external/skia/src/gpu/GrDrawingManager.cpp
6b2552f10983d1b6d33303e3e9965ae71944c1d5 15-Sep-2016 bsalomon <bsalomon@google.com> Add GrContextOptions flag to disable distance field path renderer.

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

Review-Url: https://codereview.chromium.org/2339213002
/external/skia/src/gpu/GrDrawingManager.cpp
6a2b1941c1da272f704439e417f212932eed2004 08-Sep-2016 bsalomon <bsalomon@google.com> Move prepareForExternalIO implementation from GrContext to GrDrawingManager
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2324473002

Review-Url: https://codereview.chromium.org/2324473002
/external/skia/src/gpu/GrDrawingManager.cpp
b77a907c2fb4402b7e70e9fff70eb71482354e67 07-Sep-2016 bsalomon <bsalomon@google.com> Restructure flushing relationship between GrContext, GrDrawingManager, and GrResourceCache.

Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough.

Removes the unused and untested discard flush variation.

Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext.

Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the
flush that just occurred.

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

Committed: https://skia.googlesource.com/skia/+/1dbb207babecdae8f1f74ed9d9900c73064df744
Review-Url: https://codereview.chromium.org/2307053002
/external/skia/src/gpu/GrDrawingManager.cpp
5eb41fdf94187d6cc22702444622ed7897c8039a 06-Sep-2016 bsalomon <bsalomon@google.com> Revert of Restructure flushing relationship between GrContext, GrDrawingManager, and GrResourceCache. (patchset #4 id:60001 of https://codereview.chromium.org/2307053002/ )

Reason for revert:
Causing assertions on bots

Original issue's description:
> Restructure flushing relationship between GrContext, GrDrawingManager, and GrResourceCache.
>
> Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough.
>
> Removes the unused and untested discard flush variation.
>
> Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext.
>
> Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the
> flush that just occurred.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2307053002
>
> Committed: https://skia.googlesource.com/skia/+/1dbb207babecdae8f1f74ed9d9900c73064df744

TBR=robertphillips@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2312123003
/external/skia/src/gpu/GrDrawingManager.cpp
1dbb207babecdae8f1f74ed9d9900c73064df744 06-Sep-2016 bsalomon <bsalomon@google.com> Restructure flushing relationship between GrContext, GrDrawingManager, and GrResourceCache.

Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough.

Removes the unused and untested discard flush variation.

Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext.

Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the
flush that just occurred.

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

Review-Url: https://codereview.chromium.org/2307053002
/external/skia/src/gpu/GrDrawingManager.cpp
dc43898bbbd06202562514ae785116e0cc40f825 31-Aug-2016 bsalomon <bsalomon@google.com> Don't purge resources for trivial GrContext flushes
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298003003

Review-Url: https://codereview.chromium.org/2298003003
/external/skia/src/gpu/GrDrawingManager.cpp
0e22eb8e6efc7d7ab7a601ba555947916d139906 30-Aug-2016 brianosman <brianosman@google.com> Some tests around surface creation and snapshotting with color space

Verify the rules that we're converging on for surfaces:
- For 8888, we only support sRGB-like gamma, or no color space at all.
- For F16, we require a color space, with linear gamma.
- For all other formats, we do not support color spaces.

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

Review-Url: https://codereview.chromium.org/2270823002
/external/skia/src/gpu/GrDrawingManager.cpp
86e7626f080028edd58f4b326e0ba9fa83c4208e 11-Aug-2016 brianosman <brianosman@google.com> Move GrAtlasTextContext to GrDrawingManager, so we only have one.

Ultimately, avoids wasteful redundant computation and storage of distance
field fake-gamma tables.

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

Review-Url: https://codereview.chromium.org/2240623002
/external/skia/src/gpu/GrDrawingManager.cpp
29f9fe45ef0a7994f6f46c55d288bbdb696295f3 05-Aug-2016 robertphillips <robertphillips@google.com> Rename GrDrawingManager::drawContext to makeDrawContext

This was violating our naming convention

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

Review-Url: https://codereview.chromium.org/2216643002
/external/skia/src/gpu/GrDrawingManager.cpp
e0d362929d6569e8737d80dead791c640390e819 29-Jul-2016 csmartdalton <csmartdalton@google.com> Add test configs for instanced rendering

Adds the following configs and enables them on select bots:

glinst, glinst4, glinstdit4, glinst16, glinstdit16,
esinst, esinst4, esinstdit4

Makes general changes to GrContextOptions, GrCaps, etc. to facilitate
this.

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

Review-Url: https://codereview.chromium.org/2182783004
/external/skia/src/gpu/GrDrawingManager.cpp
dfe4f2e4fe5b162d4adb4486fe751f1e3b30bea7 21-Jul-2016 brianosman <brianosman@google.com> Add SkColorSpace to GrDrawContext

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

Review-Url: https://codereview.chromium.org/2164363002
/external/skia/src/gpu/GrDrawingManager.cpp
a7f29640f6ab4eb50962a9d9f12d01ac2ce8b471 07-Jul-2016 csmartdalton <csmartdalton@google.com> 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
/external/skia/src/gpu/GrDrawingManager.cpp
ec7f2ac7285ad9b1ea84e7aa68a741ae2a07a777 05-Jul-2016 ksakamoto <ksakamoto@chromium.org> Revert of Begin instanced rendering for simple shapes (patchset #20 id:380001 of https://codereview.chromium.org/2066993003/ )

Reason for revert:
This caused static initializer regressions in Chromium (crbug.com/625728).

Relevant build logs here:
Linux:
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/21849

Mac:
https://build.chromium.org/p/chromium/builders/Mac/builds/17350

Relevant lines from the error log:
Linux:
# InstanceProcessor.cpp GrUniqueKey::GenerateDomain()
# InstanceProcessor.cpp gr_instanced::kShapeBufferDomain
FAILED linux-release-64/sizes/nacl_helper-si/initializers: actual 8, expected 7, better lower
FAILED linux-release-64/sizes/chrome-si/initializers: actual 8, expected 7, better lower

Mac:
FAILED mac-release/sizes/chrome-si/initializers: actual 2, expected 0, better lower

Original issue's description:
> 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

NOTREECHECKS=true
TBR=bsalomon@google.com,egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review-Url: https://codereview.chromium.org/2123693002
/external/skia/src/gpu/GrDrawingManager.cpp
42eafa4bc00354b132ad114d22ed6b95d8849891 30-Jun-2016 csmartdalton <csmartdalton@google.com> 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
/external/skia/src/gpu/GrDrawingManager.cpp
27fe1f849d2b6f96b49cc919df7d5f6d74598aa1 29-Jun-2016 robertphillips <robertphillips@google.com> Move dump of batches to be after the forwardCombine call in prepareBatches

This eliminates an unfortunate red herring. Text batching isn't actually as bad as I had feared.

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

Review-Url: https://codereview.chromium.org/2110123003
/external/skia/src/gpu/GrDrawingManager.cpp
26726d1ca7ed541e63114cd1f3bd2b88a1e2a4a4 28-Jun-2016 robertphillips <robertphillips@google.com> Spruce up batch info printouts
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2107013002

Review-Url: https://codereview.chromium.org/2107013002
/external/skia/src/gpu/GrDrawingManager.cpp
0152d731e0be311fda29467086d2c83629601aa1 20-May-2016 robertphillips <robertphillips@google.com> GrSWMaskHelper and GrSoftwarePathRenderer only need the textureProvider (not GrContext)

This is split out of: https://codereview.chromium.org/1988923002/ (Declassify GrClipMaskManager and Remove GrRenderTarget and GrDrawTarget from GrPipelineBuilder)

BUG=skia:

Review-Url: https://codereview.chromium.org/1993403002
/external/skia/src/gpu/GrDrawingManager.cpp
7761d61876ea479dd9672b684fd5c7601932a767 16-May-2016 robertphillips <robertphillips@google.com> Rename GrDrawingMgr::abandon to wasAbandoned & add a matching entry point to GrDrawingContext

Since GrDrawingContext is generally replacing GrRenderTarget, this is to provide functionality similar to GrRenderTarget::wasDestroyed.

This is split out of https://codereview.chromium.org/1930013002/ ((Mostly) Retract GrRenderTarget from SkGpuDevice)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1979913002

Review-Url: https://codereview.chromium.org/1979913002
/external/skia/src/gpu/GrDrawingManager.cpp
6c7e325236b7fbb9c9b14ebb4715f88a59718695 27-Apr-2016 robertphillips <robertphillips@google.com> Bring sk_sp to GrDrawContext

This is split out of: https://codereview.chromium.org/1914883002/ (Refactor drawContext/RenderTarget creation)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1918003003

Review-Url: https://codereview.chromium.org/1918003003
/external/skia/src/gpu/GrDrawingManager.cpp
342bfc25de5b0452b1551bf9db4bf45eac7718b2 01-Apr-2016 bsalomon <bsalomon@google.com> Simplify GrDrawBatch uploads and token uage.

GrVertexBatch subclasses no longer need "initDraw".

Simplifies GrTestBatch

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1835283002

Review URL: https://codereview.chromium.org/1835283002
/external/skia/src/gpu/GrDrawingManager.cpp
9d524f22bfde5dc3dc8f48e1be39bdebd3bb0304 29-Mar-2016 halcanary <halcanary@google.com> Style bikeshed - remove extraneous whitespace

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002

Review URL: https://codereview.chromium.org/1842753002
/external/skia/src/gpu/GrDrawingManager.cpp
96880d9e366d58e5960aa0ee6aa67260797679eb 16-Feb-2016 joshualitt <joshualitt@chromium.org> Create GrPathRenderingDrawContext

TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1701013002

Review URL: https://codereview.chromium.org/1701013002
/external/skia/src/gpu/GrDrawingManager.cpp
27004b7e653a38570d3fd1621ed0107e5443b31a 11-Feb-2016 joshualitt <joshualitt@chromium.org> Remove GrContext* from GrTextContext

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1686143003

Review URL: https://codereview.chromium.org/1686143003
/external/skia/src/gpu/GrDrawingManager.cpp
1b39f439413c52eb5b172834775104a89eb229aa 11-Feb-2016 joshualitt <joshualitt@chromium.org> Pass a GrContext pointer in GrDrawContext constructor

TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1691503002

Review URL: https://codereview.chromium.org/1691503002
/external/skia/src/gpu/GrDrawingManager.cpp
2c89bc153b5228c6316b5cfa070cad3d6da169ca 11-Feb-2016 joshualitt <joshualitt@chromium.org> Move surface props off of GrTextContext

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1685653004

Review URL: https://codereview.chromium.org/1685653004
/external/skia/src/gpu/GrDrawingManager.cpp
719c48050127b2a18793bbcfa0dc49c2df5f080a 09-Feb-2016 joshualitt <joshualitt@chromium.org> Shot in the dark to fix 581472

BUG=581472
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1679743005

Review URL: https://codereview.chromium.org/1679743005
/external/skia/src/gpu/GrDrawingManager.cpp
bc90735170b5d85a19b24df0baa865f7cf87d348 13-Jan-2016 joshualitt <joshualitt@chromium.org> GrAuditTrail hooks in GrContext + GrDrawContext

TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1580023002

Review URL: https://codereview.chromium.org/1580023002
/external/skia/src/gpu/GrDrawingManager.cpp
086cee12deaf9a9f46bbd2e52173e0e4fc4df311 12-Jan-2016 joshualitt <joshualitt@chromium.org> Add batch names and bounds to json debug information

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1577093003

Review URL: https://codereview.chromium.org/1577093003
/external/skia/src/gpu/GrDrawingManager.cpp
de8dc7e9201a14759076ea4090bdf8a54791817b 08-Jan-2016 joshualitt <joshualitt@google.com> Reland of Make a single GrSingleOwner in GrContext (patchset #1 id:1 of https://codereview.chromium.org/1565303003/ )

Reason for revert:
trying again

Original issue's description:
> Revert of Make a single GrSingleOwner in GrContext (patchset #3 id:40001 of https://codereview.chromium.org/1563703004/ )
>
> Reason for revert:
> breaking asan
>
> Original issue's description:
> > Make a single GrSingleOwner in GrContext
> >
> > TBR=bsalomon@google.com
> > BUG=skia:
> > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1563703004
> >
> > Committed: https://skia.googlesource.com/skia/+/f9bc796e0dbd31674c22b34761913ee6e8fdd66a
>
> TBR=robertphillips@google.com,joshualitt@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/94da292e39db0d41da08b1d6055ca5e0d6b498cc

TBR=robertphillips@google.com,joshualitt@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1572653002
/external/skia/src/gpu/GrDrawingManager.cpp
94da292e39db0d41da08b1d6055ca5e0d6b498cc 07-Jan-2016 joshualitt <joshualitt@google.com> Revert of Make a single GrSingleOwner in GrContext (patchset #3 id:40001 of https://codereview.chromium.org/1563703004/ )

Reason for revert:
breaking asan

Original issue's description:
> Make a single GrSingleOwner in GrContext
>
> TBR=bsalomon@google.com
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1563703004
>
> Committed: https://skia.googlesource.com/skia/+/f9bc796e0dbd31674c22b34761913ee6e8fdd66a

TBR=robertphillips@google.com,joshualitt@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1565303003
/external/skia/src/gpu/GrDrawingManager.cpp
f9bc796e0dbd31674c22b34761913ee6e8fdd66a 07-Jan-2016 joshualitt <joshualitt@chromium.org> Make a single GrSingleOwner in GrContext

TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1563703004

Review URL: https://codereview.chromium.org/1563703004
/external/skia/src/gpu/GrDrawingManager.cpp
20ccd40de96ca781dccf5690d215f3369e2a8182 05-Jan-2016 joshualitt <joshualitt@chromium.org> Add assert that memory pool is empty when GrTextBlobCache frees

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1555993005

Review URL: https://codereview.chromium.org/1555993005
/external/skia/src/gpu/GrDrawingManager.cpp
b8918c42b7a4a603e880f9db994f993ca0052ed2 18-Dec-2015 joshualitt <joshualitt@chromium.org> Add Drawing Manager guards against re-entrant flushes

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1538013002

Review URL: https://codereview.chromium.org/1538013002
/external/skia/src/gpu/GrDrawingManager.cpp
e804292e805917002cc3d7baa7f967fb20d2c7cb 11-Dec-2015 joshualitt <joshualitt@chromium.org> Move all text stuff to its own folder

BUG=skia:

Review URL: https://codereview.chromium.org/1521453002
/external/skia/src/gpu/GrDrawingManager.cpp
69cfe95b7be386cf7d349b61388e93ea7c3cd386 30-Nov-2015 bsalomon <bsalomon@google.com> Add debug option to clip each GrBatch to its device bounds

Review URL: https://codereview.chromium.org/1471083002
/external/skia/src/gpu/GrDrawingManager.cpp
0dfa62c97707ac9b0fc0bdba7acfc8405db5c836 16-Nov-2015 robertphillips <robertphillips@google.com> Update testing frameworks/tests for MDB

This CL:

Fixes an ordering problem w.r.t. drawTarget clean up in GrContext::abandonContext (for text test that abandons context)
Fixes when the lastDrawTarget field is set on a RenderTarget (now in GrDrawTarget ctor) due to GrTestTarget use case
Updates the ProgramUnitTest to use multiple drawTargets
Adds renderTarget creation to GrTestTargets (in MDB drawTargets require them)

BUG=skia:4094

Committed: https://skia.googlesource.com/skia/+/9c8605144a0f15e3e69a4e1dcd5d3e63f339380e

Review URL: https://codereview.chromium.org/1441533003
/external/skia/src/gpu/GrDrawingManager.cpp
1d5127327111e00d0e4530adae73b11ad2ee3f42 13-Nov-2015 egdaniel <egdaniel@google.com> Revert of Update testing frameworks/tests for MDB (patchset #4 id:60001 of https://codereview.chromium.org/1441533003/ )

Reason for revert:
Speculative revert for leaks based on ASAN bot (and some local valgrind testing)

Original issue's description:
> Update testing frameworks/tests for MDB
>
> This CL:
>
> Fixes an ordering problem w.r.t. drawTarget clean up in GrContext::abandonContext (for text test that abandons context)
> Fixes when the lastDrawTarget field is set on a RenderTarget (now in GrDrawTarget ctor) due to GrTestTarget use case
> Updates the ProgramUnitTest to use multiple drawTargets
> Adds renderTarget creation to GrTestTargets (in MDB drawTargets require them)
>
> BUG=skia:4094
>
> Committed: https://skia.googlesource.com/skia/+/9c8605144a0f15e3e69a4e1dcd5d3e63f339380e

TBR=joshualitt@chromium.org,joshualitt@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4094

Review URL: https://codereview.chromium.org/1450513002
/external/skia/src/gpu/GrDrawingManager.cpp
9c8605144a0f15e3e69a4e1dcd5d3e63f339380e 13-Nov-2015 robertphillips <robertphillips@google.com> Update testing frameworks/tests for MDB

This CL:

Fixes an ordering problem w.r.t. drawTarget clean up in GrContext::abandonContext (for text test that abandons context)
Fixes when the lastDrawTarget field is set on a RenderTarget (now in GrDrawTarget ctor) due to GrTestTarget use case
Updates the ProgramUnitTest to use multiple drawTargets
Adds renderTarget creation to GrTestTargets (in MDB drawTargets require them)

BUG=skia:4094

Review URL: https://codereview.chromium.org/1441533003
/external/skia/src/gpu/GrDrawingManager.cpp
a13e202563979fd5076936606dcc1d660da8c632 11-Nov-2015 robertphillips <robertphillips@google.com> Move GrBatchFlushState from GrDrawTarget to GrDrawingManager

This CL:
moves the flushState
disables immediate mode (it was proving difficult to implement)
also moves the program unit test to the drawing manager

BUG=skia:4094
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1437843002
/external/skia/src/gpu/GrDrawingManager.cpp
498d7ac86bfb45bdfc8f9aa7424f7236235987b5 30-Oct-2015 robertphillips <robertphillips@google.com> Dependencies are now added between the drawTargets in GrPipeline

This CL relies on https://codereview.chromium.org/1414773002/ (Add the machinery to GrDrawTarget to enable topological sorting)

BUG=skia:4094

Committed: https://skia.googlesource.com/skia/+/45a1c34f607a970933e5cd05e1df6cd8090db1be

Committed: https://skia.googlesource.com/skia/+/869c5e82a725a6928a45cd1fa6945ac783b8b3d8

Review URL: https://codereview.chromium.org/1414903002
/external/skia/src/gpu/GrDrawingManager.cpp
13391dd97209f36c71bc18cc75084f74c2f6af15 30-Oct-2015 robertphillips <robertphillips@google.com> Minor cleanup of clip mask manager

Follow up to https://codereview.chromium.org/1418073005/ (Remove gpu-side clip mask merging from clip mask manager).

The path renderer chain is only ever allocated when it is about to be used (so the delayed initialization doesn't buy us anything).

We can now reduce the lifetime of the pipelineBuilder in createAlphaClipMask

Review URL: https://codereview.chromium.org/1416113006
/external/skia/src/gpu/GrDrawingManager.cpp
687378229aecefc0ab7e639181593774ec8a4290 29-Oct-2015 robertphillips <robertphillips@google.com> Remove GrPipelineBuilder from getPathRenderer call

Logically this CL:

Moves the PathRendererChain from GrContext to GrDrawManager
- this was needed to untangled the Path-Chain/Renderer header mess
- this entailed adding getDrawingMgr so the CMM could access the PathRenderingChain
- this also entailed re-adding freeGpuResources to the GrDrawingMgr
Moves the CanDrawArgs struct up stack
Removes the GrPipelineBuilder from the CanDrawArgs struct

Review URL: https://codereview.chromium.org/1407883004
/external/skia/src/gpu/GrDrawingManager.cpp
648c696438410fe0f0f5db9bb7935006fecf9cad 23-Oct-2015 bsalomon <bsalomon@google.com> Add immediate mode option for gpu configs in dm

Review URL: https://codereview.chromium.org/1421853002
/external/skia/src/gpu/GrDrawingManager.cpp
a352b14c8796c0d01ea8581c157a52c7d00973f5 22-Oct-2015 robertphillips <robertphillips@google.com> Revert of Dependencies are now added between the drawTargets in GrPipeline (patchset #6 id:120001 of https://codereview.chromium.org/1414903002/ )

Reason for revert:
Breaking bots

Original issue's description:
> Dependencies are now added between the drawTargets in GrPipeline
>
> This CL relies on https://codereview.chromium.org/1414773002/ (Add the machinery to GrDrawTarget to enable topological sorting)
>
> BUG=skia:4094
>
> Committed: https://skia.googlesource.com/skia/+/45a1c34f607a970933e5cd05e1df6cd8090db1be
>
> Committed: https://skia.googlesource.com/skia/+/869c5e82a725a6928a45cd1fa6945ac783b8b3d8

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4094

Review URL: https://codereview.chromium.org/1417263002
/external/skia/src/gpu/GrDrawingManager.cpp
869c5e82a725a6928a45cd1fa6945ac783b8b3d8 22-Oct-2015 robertphillips <robertphillips@google.com> Dependencies are now added between the drawTargets in GrPipeline

This CL relies on https://codereview.chromium.org/1414773002/ (Add the machinery to GrDrawTarget to enable topological sorting)

BUG=skia:4094

Committed: https://skia.googlesource.com/skia/+/45a1c34f607a970933e5cd05e1df6cd8090db1be

Review URL: https://codereview.chromium.org/1414903002
/external/skia/src/gpu/GrDrawingManager.cpp
81bdbf8bed8b739c2b65ac576e89d0258276e6dc 21-Oct-2015 caryclark <caryclark@google.com> Revert of Dependencies are now added between the drawTargets in GrPipeline (patchset #5 id:100001 of https://codereview.chromium.org/1414903002/ )

Reason for revert:
this may have broken the TSAN and ASAN bots

Original issue's description:
> Dependencies are now added between the drawTargets in GrPipeline
>
> This CL relies on https://codereview.chromium.org/1414773002/ (Add the machinery to GrDrawTarget to enable topological sorting)
>
> BUG=skia:4094
>
> Committed: https://skia.googlesource.com/skia/+/45a1c34f607a970933e5cd05e1df6cd8090db1be

TBR=bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4094

Review URL: https://codereview.chromium.org/1419613005
/external/skia/src/gpu/GrDrawingManager.cpp
45a1c34f607a970933e5cd05e1df6cd8090db1be 20-Oct-2015 robertphillips <robertphillips@google.com> Dependencies are now added between the drawTargets in GrPipeline

This CL relies on https://codereview.chromium.org/1414773002/ (Add the machinery to GrDrawTarget to enable topological sorting)

BUG=skia:4094

Review URL: https://codereview.chromium.org/1414903002
/external/skia/src/gpu/GrDrawingManager.cpp
3dc6ae55ca01025a0d723c87d42ed72f5a4ff6ec 20-Oct-2015 robertphillips <robertphillips@google.com> Move GrDrawingManager methods to their own .cpp file

Small cleanup

Review URL: https://codereview.chromium.org/1407393004
/external/skia/src/gpu/GrDrawingManager.cpp