History log of /external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7c8460e10135c05a42d0744b84838bbc24398ac2 12-May-2017 Brian Salomon <bsalomon@google.com> Make GrRenderTarget[(Proxy)|(Context)]? advertise a "full scene aa type".

Bug: skia:
Change-Id: I24549604e8305028e34e0022bfef992a8e8c33f7
Reviewed-on: https://skia-review.googlesource.com/16230
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
0166cfd311bb151af7745fe04fe850ee28b17e0a 13-Mar-2017 Brian Salomon <bsalomon@google.com> Remove GrClipsStackClip member from SkGpuDevice

Change-Id: Ibfbfeda86e3d6a819bf198af5c36852744897fb8
Reviewed-on: https://skia-review.googlesource.com/9635
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
3b65598bceb65736486db27ed49a56d787032747 07-Mar-2017 Brian Osman <brianosman@google.com> Make SkGr.h private and remove unused functions

BUG=skia:

Change-Id: I6699d00c5412ed9d9bf14b032a08b06b1c766bce
Reviewed-on: https://skia-review.googlesource.com/9398
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
82f44319159bb98dcacdbbec7ea643dde5ed024b 11-Jan-2017 Brian Salomon <bsalomon@google.com> Make GrPaints move their GrProcessor ownership into GrPipelineBuilder.

This makes GrPaints usable only once. In some places we must make copies in order to issue draws with the same paint state.

Change-Id: Ie816e5185ce93a064111cad64c6880e1e21184c2
Reviewed-on: https://skia-review.googlesource.com/6844
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/SkGpuDevice_drawTexture.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/SkGpuDevice_drawTexture.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/SkGpuDevice_drawTexture.cpp
61624f0c716b576706659750d87b6956f4c15722 09-Dec-2016 Brian Osman <brianosman@google.com> Plumb dst color space in many places, rather than "mode"

This is less to type in most cases, and gives us more information
(for things like picture-backed images, where we need to know all
about the destination surface).

Additionally, strip out the plumbing entirely for bitmap sources,
where we don't need to know anything.

BUG=skia:

Change-Id: I4deff6c7c345fcf62eb08b2aff0560adae4313da
Reviewed-on: https://skia-review.googlesource.com/5748
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/SkGpuDevice_drawTexture.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/SkGpuDevice_drawTexture.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/SkGpuDevice_drawTexture.cpp
419d81eed4a010e6080db199795117cbedf9e6e4 08-Dec-2016 Brian Salomon <bsalomon@google.com> Revert "Remove antialiasing control from GrPaint."

This reverts commit 9f549358b3ac9f61e78b194e39d6ac6eb322e35e.

Reason for revert: hitting asserts

Change-Id: I542d34edc05ecf72b7646263f25736a0950c78e7
Reviewed-on: https://skia-review.googlesource.com/5707
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
9f549358b3ac9f61e78b194e39d6ac6eb322e35e 08-Dec-2016 Brian Salomon <bsalomon@google.com> Remove antialiasing control from GrPaint.

This adds an additional param (of new enum type GrAA) to draws that can antialias and a new enum GrAAType to indicate the AA technique (none, fragment shader computed coverage, msaa).

Some GMs change due to this:
1) In some places we weren't disabling MSAA when the draw was supposed to be unantialiased.
2) Some bounding rect draws that use GrFragmentProcessors were unnecessarily turning on antialiasing, by disabling it a very small number of pixel LSBs change.

Change-Id: I7d8d8793dda70bcd373d09055beb9949c1a8a4d0
Reviewed-on: https://skia-review.googlesource.com/5608
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
e8e54580c3c91fd485187af040af118aa5153261 28-Nov-2016 Brian Osman <brianosman@google.com> GrTextureProducer cleanup, phase two: Producer, Adjuster, Maker

Previously: GrTextureProducer, GrTextureAdjuster, and GrTextureMaker
were all in GrTextureParamsAdjuster.h. Now they're each in their own
header.

BUG=skia:

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

Change-Id: I17fa9057b11511aa4d3e15569ea1c378cfec4c80
Reviewed-on: https://skia-review.googlesource.com/5202
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
514baff8be7f71111aa7bfb9b099a096b31e16ec 17-Nov-2016 Brian Salomon <bsalomon@google.com> Rename GrTextureParams to GrSamplerParams

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

Change-Id: I7d52e81c670e92ca96117284f44b274ce3cc3671
Reviewed-on: https://skia-review.googlesource.com/4965
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
7b8400dad2f82dcc6ed3c7cc1707ebaf85f04840 08-Nov-2016 Brian Osman <brianosman@google.com> Rename SkSourceGammaTreatment to SkDestinationSurfaceColorMode

This is much more explicit about what that type represents (are we in
legacy mode or not), which also makes it suitable for other (upcoming)
usage.

BUG=skia:

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

Change-Id: Iacb397c34e7765f1ca86c0195bc622b2be4d9acf
Reviewed-on: https://skia-review.googlesource.com/4529
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
144caf55ffc692bcda77703a73bb9a894f7d024f 07-Nov-2016 Hal Canary <halcanary@google.com> src/gpu: s/SkAutoTUnref/sk_sp/g

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

Change-Id: I23f0548f98e7c355da05e143e8baa330d4bc04cc
Reviewed-on: https://skia-review.googlesource.com/4527
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/gpu/SkGpuDevice_drawTexture.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/SkGpuDevice_drawTexture.cpp
6cfb10600250c5a67f0912694fd16719cf41ed51 23-Aug-2016 robertphillips <robertphillips@google.com> Fix Ganesh analytic blurred rect draws

This CL does two things:
It fixes the SkBlurMaskFilterImpl::directFilterRRectMaskGPU draw path to explicitly handle rects
It fixes the SkGpuDevice::drawTextureProducerImpl draw path to provide the correct (src & device space) inputs to directFilterRRectMaskGPU.

How this was working before was that GrRRectBlurEffect::Make would reject rect-rrects and the code would fallback to
GrBlurUtils::drawPathWithMaskFilter which mapped the rect-rrect into device space correctly (of course,
the rect-ness of the path was removed at that point so it was going through the slow path).

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

Review-Url: https://codereview.chromium.org/2268583002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
27cdd947903a4262bb483e7d35153358f4541bf8 11-Aug-2016 robertphillips <robertphillips@google.com> Implement GPU occluded blur mask filter

Spawned off: https://codereview.chromium.org/2214163003/ (Minor clean up related to blur mask filters)

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

Review-Url: https://codereview.chromium.org/2201133002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
f5a83e818483ef910ffd107df8f98b5ee24671f5 10-Aug-2016 robertphillips <robertphillips@google.com> Create blurred RRect mask on GPU (rather than uploading it)

This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)

All blurred rrects using the "analytic" path will change slightly with this CL.

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

Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479
Committed: https://skia.googlesource.com/skia/+/94b5c5a41160e0f55e267fc3d830df65736fac50
Review-Url: https://codereview.chromium.org/2222083004
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
3f0e6945f89036068fc3cb36f4ac9e9e0631d245 10-Aug-2016 robertphillips <robertphillips@google.com> Revert of Create blurred RRect mask on GPU (rather than uploading it) (patchset #5 id:80001 of https://codereview.chromium.org/2222083004/ )

Reason for revert:
No NoGPU bot on commit queue ?

Original issue's description:
> Create blurred RRect mask on GPU (rather than uploading it)
>
> This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)
>
> All blurred rrects using the "analytic" path will change slightly with this CL.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004
>
> Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479
> Committed: https://skia.googlesource.com/skia/+/94b5c5a41160e0f55e267fc3d830df65736fac50

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/2232953002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
94b5c5a41160e0f55e267fc3d830df65736fac50 10-Aug-2016 robertphillips <robertphillips@google.com> Create blurred RRect mask on GPU (rather than uploading it)

This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)

All blurred rrects using the "analytic" path will change slightly with this CL.

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

Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479
Review-Url: https://codereview.chromium.org/2222083004
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
69cfa9c28dc847a813644c6a1f7ba034419601b6 10-Aug-2016 robertphillips <robertphillips@google.com> Revert of Create blurred RRect mask on GPU (rather than uploading it) (patchset #4 id:60001 of https://codereview.chromium.org/2222083004/ )

Reason for revert:
Erg - dumb bug

Original issue's description:
> Create blurred RRect mask on GPU (rather than uploading it)
>
> This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)
>
> All blurred rrects using the "analytic" path will change slightly with this CL.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004
>
> Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479

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/2236493002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
75ccdc77a70ec2083141bf9ba98eb2f01ece2479 10-Aug-2016 robertphillips <robertphillips@google.com> Create blurred RRect mask on GPU (rather than uploading it)

This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)

All blurred rrects using the "analytic" path will change slightly with this CL.

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

Review-Url: https://codereview.chromium.org/2222083004
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
9aff85a545703af5880e10726dfb40005ea9934e 05-Aug-2016 robertphillips <robertphillips@google.com> Minor clean up related to blur mask filters

This is the non-substantive portion of: https://codereview.chromium.org/2201133002/ (Implement GPU occluded blur mask filter)

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

Review-Url: https://codereview.chromium.org/2214163003
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
8fe485b793f6b3c286700988138e1395b0d33487 25-Jul-2016 brianosman <brianosman@google.com> Just pass the draw context to paint conversion

Concentrate on using draw context functionality to answer gamma and color
related queries in more places.

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

Review-Url: https://codereview.chromium.org/2182603003
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
1638c0deea80e4a580fe43babeb04279dd163e98 25-Jul-2016 brianosman <brianosman@google.com> Add destination color space to AsFPArgs. Eliminates last XFORMTODO.

This is going to be needed in many more places as I finish connecting the
dots. Even better - I'd like to switch to a world where SkColorSpace !=
nullptr is the only signal we use for gamma-correct rendering, so I can
eliminate SkSourceGammaTreatment and SkSurfaceProps::isGammaCorrect.

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

Review-Url: https://codereview.chromium.org/2180503002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
500bb3e3e47268fa271b0ac76e57a87379614a87 22-Jul-2016 brianosman <brianosman@google.com> Connect dst color space in a few places (removing TODOs)

There is one more XFORMTODO left, but it requires more plumbing.
With this change, certain drawing paths do gamut conversion with
no special hacking required.

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

Review-Url: https://codereview.chromium.org/2174843002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
06ca8ec87cf6fab57cadd043a5ac18c4154a4129 09-Jun-2016 bungeman <bungeman@google.com> sk_sp for Ganesh.

Convert use of GrFragmentProcessor, GrGeometryProcessor, and
GrXPFactory to sk_sp. This clarifies ownership and should
reduce reference count churn by moving ownership.

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

Review-Url: https://codereview.chromium.org/2041113004
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
982eb7f377a0c771345276558072deb2fcea0d3e 06-Jun-2016 brianosman <brianosman@google.com> Add new SkSourceGammaTreatment enum, used in situations like mipmap construction, where we need to know if we should respect (vs. ignore) the gamma encoding of sRGB tagged images. Plumb that extensively.

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

Review-Url: https://codereview.chromium.org/2037413002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
071457b7fcea3ef34e463c6122ec0376a582e529 16-May-2016 robertphillips <robertphillips@google.com> Add isUnifiedMultisampled entry point to GrDrawContext

GrRenderTargetProxy supports the isUnifiedMultisampled call so GrDrawContext will be able to support it even when GrRenderTargetProxy-backed.

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=1982583002

Review-Url: https://codereview.chromium.org/1982583002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
6663acff010ce752e4bf778da81fa97448c9db31 10-May-2016 bsalomon <bsalomon@google.com> Replace GrStrokeInfo with GrStyle.

A side effect is that arbitrary path effects can no be pushed deeper into the Ganesh flow for paths. They may be applied by path renderers.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957363002

Committed: https://skia.googlesource.com/skia/+/33595bdf4b64a745f6340338d307e806e96c587f

Review-Url: https://codereview.chromium.org/1957363002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
85d9667f59d4138438427bb2cdf67992d100e1a0 10-May-2016 bsalomon <bsalomon@google.com> Revert of Replace GrStrokeInfo with GrStyle. (patchset #4 id:160001 of https://codereview.chromium.org/1957363002/ )

Reason for revert:
Breaking some bots

Original issue's description:
> Replace GrStrokeInfo with GrStyle.
>
> A side effect is that arbitrary path effects can no be pushed deeper into the Ganesh flow for paths. They may be applied by path renderers.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957363002
>
> Committed: https://skia.googlesource.com/skia/+/33595bdf4b64a745f6340338d307e806e96c587f

TBR=egdaniel@google.com,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/1967513002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
33595bdf4b64a745f6340338d307e806e96c587f 10-May-2016 bsalomon <bsalomon@google.com> Replace GrStrokeInfo with GrStyle.

A side effect is that arbitrary path effects can no be pushed deeper into the Ganesh flow for paths. They may be applied by path renderers.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957363002

Review-Url: https://codereview.chromium.org/1957363002
/external/skia/src/gpu/SkGpuDevice_drawTexture.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/SkGpuDevice_drawTexture.cpp
983294f78f11159a7def7fd2ea0c12f911d17688 18-Apr-2016 ericrk <ericrk@chromium.org> Skia Filter Quality and Scaling Metrics

Adds histogram metrics to log the filter quality and scale factor of
each image draw. To make the data easier to consume, this is broken
down into a number of individual histograms:
- Filter quality across all draw calls
- Scale amount across all draw calls
- Scale amount per filter quality (4 histograms total)

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

Committed: https://skia.googlesource.com/skia/+/f57b3a6e4a002caf01378832cbd756c6c163a783

Review URL: https://codereview.chromium.org/1686203002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
b461d3457567cf79a3efac3123c00f7afc37fecb 13-Apr-2016 brianosman <brianosman@google.com> Rename lots of things from 'sRGB' to 'GammaCorrect', where appropriate

Trying to be much more explicit about where we really mean sRGB as a format,
and where we mean gamma-correct, as in: "not legacy behavior". Most of the
changes to rendering behavior are dependent on the latter, so let's be precise.

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

Review URL: https://codereview.chromium.org/1884873006
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
898235c4864df66aa7f6d32bc2a8b8551040ce1e 06-Apr-2016 brianosman <brianosman@google.com> SkSurfaceProps now has a gamma-correct ("AllowSRGBInputs") flag. That's propagated in a few places so that the backend can do the right thing for L32 vs S32 mode.

Also added SkSurfaceProps to SkSpecialImage, so that Image -> Surface conversion can preserve the desired behavior during filtering.

Many small changes, including a bunch of comments about places where we may be losing information right now. My approach was to ensure that if anything fails, it will always fall back to "legacy" mode - gamma-correctness is opt-in, so I'll just have to feed things through as missing cases are exposed.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1838953007

Review URL: https://codereview.chromium.org/1845283003
/external/skia/src/gpu/SkGpuDevice_drawTexture.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/SkGpuDevice_drawTexture.cpp
82e26bf23923f20828c850d1a0e01d8bde69cfff 26-Feb-2016 ericrk <ericrk@chromium.org> Revert of Skia Filter Quality and Scaling Metrics (patchset #3 id:60001 of https://codereview.chromium.org/1686203002/ )

Reason for revert:
reverting this to address Ilya's comments.

Original issue's description:
> Skia Filter Quality and Scaling Metrics
>
> Adds histogram metrics to log the filter quality and scale factor of
> each image draw. To make the data easier to consume, this is broken
> down into a number of individual histograms:
> - Filter quality across all draw calls
> - Scale amount across all draw calls
> - Scale amount per filter quality (4 histograms total)
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1686203002
>
> Committed: https://skia.googlesource.com/skia/+/f57b3a6e4a002caf01378832cbd756c6c163a783

TBR=bsalomon@google.com,isherman@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/1735423002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
f57b3a6e4a002caf01378832cbd756c6c163a783 25-Feb-2016 ericrk <ericrk@chromium.org> Skia Filter Quality and Scaling Metrics

Adds histogram metrics to log the filter quality and scale factor of
each image draw. To make the data easier to consume, this is broken
down into a number of individual histograms:
- Filter quality across all draw calls
- Scale amount across all draw calls
- Scale amount per filter quality (4 histograms total)

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

Review URL: https://codereview.chromium.org/1686203002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
369e9375a3ab7bb56580fc6b22690a76ad759240 06-Feb-2016 ericrk <ericrk@chromium.org> Add Histogram Macros to Skia

Adds a set of histogram macros to Skia, modeled after Chrome's
UMA_HISTOGRAM_* macros. These allow logging of high frequency events,
and are useful to analyze real world usage of certain features.

By default, these macros are no-ops. Users can provide a custom
header file which defines these macros if they wish to collect
histogram data. Chrome will provide such a header.

I've currently only added two macros:
- SK_HISTOGRAM_BOOLEAN - logs a true/false type relationship (whether
we are tiling a texture or not on each draw).
- SK_HISTOGRAM_ENUMERATION - logs a set of potential values (which of
a number of choices were selected for the texture upload path).

We could add more unused macros at the moment, but it seems easier to
add these as needed, WDYT?

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

Review URL: https://codereview.chromium.org/1652053004
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
f1ecd21bf6fd69953f78dd79502c7c9df92cdc9a 10-Dec-2015 bsalomon <bsalomon@google.com> Make "alpha only" be a property of GrTextureProducer

Review URL: https://codereview.chromium.org/1507973005
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
7bceedc550513b13e0065aca66e55204a2ba3e1f 01-Dec-2015 robertphillips <robertphillips@google.com> Retract GrRenderTarget a bit

These sites don't necessarily need the full power of a GrRenderTarget object. This is a clean up for switching over to GrRenderTargetProxys.

Review URL: https://codereview.chromium.org/1486923004
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
0e7029eaef917d314475dcc9df9df174af88de52 30-Nov-2015 robertphillips <robertphillips@google.com> Clean up Ganesh path render a little bit

I'm not sure if this is an improvement but this is an attempt to start moving the handling of pathEffects up the call stack (ideally to SkGpuDevice).

Note that the duplicate path sniffing in GrDrawContext::drawPath is still useful since it can be invoked if a path has to be explicitly drawn for a mask filter.

Review URL: https://codereview.chromium.org/1472333003
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
33a5fce6126dc5d3927a71fdc6c35af6f5893fd5 18-Nov-2015 joshualitt <joshualitt@chromium.org> Initial implementation of GPU no filter NinePatch

TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1454933002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
a911f8f8bb7f1e8442a0a520269e6f850b4c8b2d 18-Nov-2015 Brian Salomon <bsalomon@google.com> Fix has_aligned_samples helper for SkGpuDevice::drawTextureProducer

Review URL: https://codereview.chromium.org/1454183002 .
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
b1b019985bee2bcbf35c2fbb4281904d0d3465bb 18-Nov-2015 bsalomon <bsalomon@google.com> Convert SkGpuDevice::drawTextureAdjuster to SkGpuDevice::drawTextureProducer

Move createFragmentProcessor to GrTextureProducer base class.

Make non-tiled sw-bitmap draws go through drawTextureProducer.

Review URL: https://codereview.chromium.org/1459433002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
3aa5fce54e1d8f4a682eaf6446fa73df962b3778 12-Nov-2015 bsalomon <bsalomon@google.com> API changes to GrTextureAdjuster.

These changes are to facilitate converting SkGpuDevice::drawTextureAdjuster to SkGpuDevice::drawTextureProducer.

Make constraint rect relative to content area

Store dimensions in GrTextureProducer

Make originalTexture() protected.

Remove getContentArea()

Provide pre-normalized texture matrix to GrTextureAdjuster::createFragmentProcessor. Define it to be be relative to content area.

Review URL: https://codereview.chromium.org/1438663004
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
3877ab81ba5b45d6055dbd932732a7e4beb95c93 12-Nov-2015 bsalomon <bsalomon@google.com> In SkGpuDevice;drawTextureAdjuster perform texture w\h divide in texture matrix

Review URL: https://codereview.chromium.org/1440763002
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp
c55271f2551533b37043aa2e37f754832a43073c 09-Nov-2015 bsalomon <bsalomon@google.com> Separate out natively-texture image/bmp draws from cached-as-texture image/bmp draws

This makes texture-backed images and bitmaps down a new code path. It adds a pinch point via the texture adjuster that will be used to handle copied necessary for different texture targets. It also fixes bugs in the existing code exhibited by recent updates to the bleed GM. The plan is to move the the sw/generator-backed imgs/bmps on to this code path with future changes.

Review URL: https://codereview.chromium.org/1424313010
/external/skia/src/gpu/SkGpuDevice_drawTexture.cpp