aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects
Commit message (Collapse)AuthorAge
* Revert "Reduce dependence on GrSurface's origin field (take 2)"Gravatar Robert Phillips2017-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 22115b4fc6ab169d45a1cfb65dae2dc7e544c80a. Reason for revert: GrAHardwareBufferImageGenerator.cpp Original change's description: > Reduce dependence on GrSurface's origin field (take 2) > > TBR=bsalomon@google.com > Change-Id: Ia238fc66b0fe10a3626c7967b2ac1f1a4bf4cd71 > Reviewed-on: https://skia-review.googlesource.com/25800 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I6dc77f02eed3073317128c48f0b426b81926787f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/26480 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add GrFragmentProcessor::clone(), implementation for ColorTableEffect, and ↵Gravatar Brian Salomon2017-07-25
| | | | | | | | | | | unit test. We occasionally make copies of GrPaints. clone() fill facilitate this case when GrFragmentProcessors are non-shareable.. Change-Id: I004e34f6ce8c293f9e0664d26532e44bd6b9fdff Reviewed-on: https://skia-review.googlesource.com/26360 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Reduce dependence on GrSurface's origin field (take 2)Gravatar Robert Phillips2017-07-25
| | | | | | | | TBR=bsalomon@google.com Change-Id: Ia238fc66b0fe10a3626c7967b2ac1f1a4bf4cd71 Reviewed-on: https://skia-review.googlesource.com/25800 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Second small fragment from "Reduce dependence on GrSurface's origin field"Gravatar Robert Phillips2017-07-24
| | | | | | | | TBR=bsalomon@google.com Change-Id: Ifcfe56b1117b64821b2bfc34ba36d120227d15fa Reviewed-on: https://skia-review.googlesource.com/25802 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Smaller fragment from "Reduce dependence on GrSurface's origin field"Gravatar Robert Phillips2017-07-21
| | | | | | | | TBR=bsalomon@google.com Change-Id: I996226ffaf84ca357740a6da9bb80a3b8febb379 Reviewed-on: https://skia-review.googlesource.com/25745 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Reduce dependence on GrSurface's origin field"Gravatar Robert Phillips2017-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 467022b1861033d968195687da15270c208279ff. Reason for revert: GrAHardwareBufferImageGenerator.cpp Original change's description: > Reduce dependence on GrSurface's origin field > > Unfortunately, GrGPU and its ilk are still using the GrSurface's origin a lot. I will clean that up in a second CL. > > Change-Id: Iba729440ce8ea8d24bb7f4e5de55ed576a0f176d > Reviewed-on: https://skia-review.googlesource.com/24700 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I1b3f5c3b82d250ac164beb1d5c83abb6c3c6ab3b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/25620 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Reduce dependence on GrSurface's origin fieldGravatar Robert Phillips2017-07-21
| | | | | | | | | Unfortunately, GrGPU and its ilk are still using the GrSurface's origin a lot. I will clean that up in a second CL. Change-Id: Iba729440ce8ea8d24bb7f4e5de55ed576a0f176d Reviewed-on: https://skia-review.googlesource.com/24700 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove GrBackendTextureDescGravatar Brian Salomon2017-07-20
| | | | | | | Change-Id: I2b123d1782400e97ab2ce2f11e3e3d325a13e6c8 Reviewed-on: https://skia-review.googlesource.com/24748 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* run skslc output through clang-formatGravatar Ethan Nicholas2017-07-19
| | | | | | | | Bug: skia: Change-Id: I97af420d1c3270e24e5d0959237b8163faa9e069 Reviewed-on: https://skia-review.googlesource.com/24646 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Revert "Revert "Revert "Improvements to GPU dither.""""Gravatar Brian Salomon2017-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f2290cb924640dfd439458a1ee5e61b31b08850f. Reason for revert: SPIRV codegen fix has landed Original change's description: > Revert "Revert "Revert "Improvements to GPU dither.""" > > This reverts commit 0f01b2e8b5e3119e91886a2f7ec772a915d97a8c. > > Reason for revert: <INSERT REASONING HERE> > > Original change's description: > > Revert "Revert "Improvements to GPU dither."" > > > > This reverts commit 38fb308f3156aab1e42a61d77d08906a06263879. > > > > Reason for revert: Reland with SkSL caps fix for vulkan > > > > Original change's description: > > > Revert "Improvements to GPU dither." > > > > > > This reverts commit 1806e33e6a09b1361de4925d32389a01e0e2c7e7. > > > > > > Reason for revert: <INSERT REASONING HERE> > > > > > > Original change's description: > > > > Improvements to GPU dither. > > > > > > > > 1) Makes the range of the offset dependent on the config. > > > > > > > > 2) Uses an ordered dither on GPUs that support integers in shaders. > > > > > > > > 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444 > > > > > > > > 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend). > > > > > > > > Bug: skia: > > > > Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e > > > > Reviewed-on: https://skia-review.googlesource.com/23485 > > > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > > > Reviewed-by: Robert Phillips <robertphillips@google.com> > > > > > > TBR=bsalomon@google.com,robertphillips@google.com > > > > > > Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9 > > > No-Presubmit: true > > > No-Tree-Checks: true > > > No-Try: true > > > Bug: skia: > > > Reviewed-on: https://skia-review.googlesource.com/24325 > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > > > TBR=bsalomon@google.com,robertphillips@google.com > > > > Change-Id: Ic38ac276c8b88b8d993a29d1fcbfe37e84becd2a > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/24282 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,robertphillips@google.com > > Change-Id: I5ce47b06a1b451942faf9066b1a45a716b1b3f3c > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/24480 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I112df51494bc3cc832fde9c22a6532082df85a81 Reviewed-on: https://skia-review.googlesource.com/24285 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Revert "Improvements to GPU dither."""Gravatar Brian Salomon2017-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0f01b2e8b5e3119e91886a2f7ec772a915d97a8c. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Revert "Improvements to GPU dither."" > > This reverts commit 38fb308f3156aab1e42a61d77d08906a06263879. > > Reason for revert: Reland with SkSL caps fix for vulkan > > Original change's description: > > Revert "Improvements to GPU dither." > > > > This reverts commit 1806e33e6a09b1361de4925d32389a01e0e2c7e7. > > > > Reason for revert: <INSERT REASONING HERE> > > > > Original change's description: > > > Improvements to GPU dither. > > > > > > 1) Makes the range of the offset dependent on the config. > > > > > > 2) Uses an ordered dither on GPUs that support integers in shaders. > > > > > > 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444 > > > > > > 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend). > > > > > > Bug: skia: > > > Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e > > > Reviewed-on: https://skia-review.googlesource.com/23485 > > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > > Reviewed-by: Robert Phillips <robertphillips@google.com> > > > > TBR=bsalomon@google.com,robertphillips@google.com > > > > Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/24325 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,robertphillips@google.com > > Change-Id: Ic38ac276c8b88b8d993a29d1fcbfe37e84becd2a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/24282 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I5ce47b06a1b451942faf9066b1a45a716b1b3f3c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/24480 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Improvements to GPU dither.""Gravatar Brian Salomon2017-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 38fb308f3156aab1e42a61d77d08906a06263879. Reason for revert: Reland with SkSL caps fix for vulkan Original change's description: > Revert "Improvements to GPU dither." > > This reverts commit 1806e33e6a09b1361de4925d32389a01e0e2c7e7. > > Reason for revert: <INSERT REASONING HERE> > > Original change's description: > > Improvements to GPU dither. > > > > 1) Makes the range of the offset dependent on the config. > > > > 2) Uses an ordered dither on GPUs that support integers in shaders. > > > > 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444 > > > > 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend). > > > > Bug: skia: > > Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e > > Reviewed-on: https://skia-review.googlesource.com/23485 > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > Reviewed-by: Robert Phillips <robertphillips@google.com> > > TBR=bsalomon@google.com,robertphillips@google.com > > Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/24325 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Ic38ac276c8b88b8d993a29d1fcbfe37e84becd2a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/24282 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Improvements to GPU dither."Gravatar Brian Salomon2017-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1806e33e6a09b1361de4925d32389a01e0e2c7e7. Reason for revert: <INSERT REASONING HERE> Original change's description: > Improvements to GPU dither. > > 1) Makes the range of the offset dependent on the config. > > 2) Uses an ordered dither on GPUs that support integers in shaders. > > 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444 > > 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend). > > Bug: skia: > Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e > Reviewed-on: https://skia-review.googlesource.com/23485 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/24325 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Improvements to GPU dither.Gravatar Brian Salomon2017-07-18
| | | | | | | | | | | | | | | | 1) Makes the range of the offset dependent on the config. 2) Uses an ordered dither on GPUs that support integers in shaders. 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend). Bug: skia: Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e Reviewed-on: https://skia-review.googlesource.com/23485 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Make dither range symmetric about 0Gravatar Brian Salomon2017-07-18
| | | | | | | Change-Id: I0c2eec60beb665c7dca9b9fddc00ac112a1ff2e1 Reviewed-on: https://skia-review.googlesource.com/24121 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* converted GrBlurredEdgeFragmentProcessor to skslGravatar Ethan Nicholas2017-07-14
| | | | | | | | Bug: skia: Change-Id: I028c85f692b2e54e64be301940708387014ee0c7 Reviewed-on: https://skia-review.googlesource.com/23540 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* converted EllipseEffect to skslGravatar Ethan Nicholas2017-07-14
| | | | | | | | Bug: skia: Change-Id: Id089b9ead7a21e903b001006dffff2381efd4ba3 Reviewed-on: https://skia-review.googlesource.com/23582 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* fixed sksl static ifs to work for CircleEffectGravatar Ethan Nicholas2017-07-14
| | | | | | | | | | | | | | | | | | static ifs (and switches) in .fp files are a bit tricky, because they aren't necessarily static when the CPP file is being produced. They become static when the CPP file produces the final SkSL; at this point the final values of the 'in' variables are known. This change permits 'deferred' static ifs and switches. The initial compilation (.fp -> .cpp) passes the @if / @switch through, and then the final compilation (.cpp's generated SkSL -> GLSL or whatever) enforces the static test. Bug: skia: Change-Id: I0087dfe1725c8fd350507ac77f64db1d82659cdf Reviewed-on: https://skia-review.googlesource.com/23403 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* converted CircleEffect to SkSLGravatar Ethan Nicholas2017-07-14
| | | | | | | | Bug: skia: Change-Id: I93d117c22ae2b374294f6a5e961c497ac2c92b09 Reviewed-on: https://skia-review.googlesource.com/23301 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Make ShadowRRectOp a non-legacy GrMeshDrawOpGravatar Brian Salomon2017-07-13
| | | | | | | | | This also removes the ability to have an arbitrary GrPaint with this op and as a consequence simplifies the op and its GrGeometryProcessor. Change-Id: I19cc1c6f73a47e8925fc826291aad42e9423164d Reviewed-on: https://skia-review.googlesource.com/22380 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Re-land of "converted GrSimpleTextureEffect to sksl"Gravatar Ethan Nicholas2017-07-13
| | | | | | | | | | This reverts commit baf981f71614e7a2fbe6af2726e65126d431ed8e. Bug: skia: Change-Id: I36f6bfb616f1ec2b89043e3a6f7cbdf473bc9588 Reviewed-on: https://skia-review.googlesource.com/22369 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "converted GrSimpleTextureEffect to sksl"Gravatar Ethan Nicholas2017-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 46b654df9e70bbfacf6dc45d3a2a7ceb13a61edb. Reason for revert: making Vulkan mad Original change's description: > converted GrSimpleTextureEffect to sksl > > Bug: skia: > Change-Id: If556c6baad75f22135f429759feabaaec095b900 > Reviewed-on: https://skia-review.googlesource.com/21720 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,ethannicholas@google.com Change-Id: I06fac3d106435e1d58e19cc54a919c5d84784d92 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/22266 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* converted GrSimpleTextureEffect to skslGravatar Ethan Nicholas2017-07-12
| | | | | | | | Bug: skia: Change-Id: If556c6baad75f22135f429759feabaaec095b900 Reviewed-on: https://skia-review.googlesource.com/21720 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Re-land "converted GrCircleBlurFragmentProcessor to sksl"Gravatar Ethan Nicholas2017-07-11
| | | | | | | | | | This reverts commit 818ac5a00dfd570d2b291b7524a70ecd4ef55770. Bug: skia: Change-Id: I9bd8a06bd2dbb40bd261d64d6d04daf864bc00a5 Reviewed-on: https://skia-review.googlesource.com/22075 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "don't compose with (forced) opaque colors"Gravatar Ethan Nicholas2017-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 81995592d8a941fcf79ba5cee71a37510fa8d6e5. Reason for revert: Various bots reporting "Processor ComposeTwo claimed output for const input doesn't match actual output" Original change's description: > don't compose with (forced) opaque colors > > Bug: skia: > Change-Id: Ic5ea706430b4698e7e937a0cc424ec29b0d8da10 > Reviewed-on: https://skia-review.googlesource.com/22029 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=bsalomon@google.com,brianosman@google.com,reed@google.com Change-Id: Idf0e0db6e2d81dd00fa39c4ea0b3bcd92af8cae0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/22067 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Remove unused ctor in GrTextureDomainGravatar Robert Phillips2017-07-10
| | | | | | | Change-Id: I82b4add39f87133157f94745902df0b3a1a23680 Reviewed-on: https://skia-review.googlesource.com/22063 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* don't compose with (forced) opaque colorsGravatar Mike Reed2017-07-10
| | | | | | | | Bug: skia: Change-Id: Ic5ea706430b4698e7e937a0cc424ec29b0d8da10 Reviewed-on: https://skia-review.googlesource.com/22029 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "converted GrCircleBlurFragmentProcessor to sksl"Gravatar Ethan Nicholas2017-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9b80ffc77b8000b493eb1226dc6ec21f1e99edfc. Reason for revert: breaking ANGLE and Android Vulkan GMs Original change's description: > converted GrCircleBlurFragmentProcessor to sksl > > Bug: skia: > Change-Id: I1b70ba2003c9e9de2b5b9acadaf25c9ed59b1198 > Reviewed-on: https://skia-review.googlesource.com/21727 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,ethannicholas@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: Ia313013b4354b34fa5a02bdb16d007a462c5ca94 Reviewed-on: https://skia-review.googlesource.com/22028 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* converted GrCircleBlurFragmentProcessor to skslGravatar Ethan Nicholas2017-07-07
| | | | | | | | Bug: skia: Change-Id: I1b70ba2003c9e9de2b5b9acadaf25c9ed59b1198 Reviewed-on: https://skia-review.googlesource.com/21727 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Plumb through need for unpremul/premulGravatar Mike Reed2017-07-07
| | | | | | | | | | Update unittest to build test image with legal premul pixels. Bug: skia: Change-Id: Iebd1d2f81cac77f8913bd79f6ac25983ed710641 Reviewed-on: https://skia-review.googlesource.com/21735 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add proper aliased support for SDF textGravatar Jim Van Verth2017-07-06
| | | | | | | | | | | | | Previously, when asked to render aliased text with distance fields, we would get the aliased glyph from the cache and then try to anti-alias the edge. This change instead grabs the anti-aliased glyph, then deliberately aliases the edge. Bug: chromium:707979 Change-Id: I05766af17d7ae58bca27aaffd9e08e5c586e789c Reviewed-on: https://skia-review.googlesource.com/21728 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* GR_TEST_UTILS fixesGravatar Brian Salomon2017-07-06
| | | | | | | | | | | | | | Fixes build of Skia lib when GR_TEST_UTILS=0 Makes GR_TEST_UTILS=0 for official builds Makes "Mini" builder bot exercise building GPU with is_official_build=true Bug: skia:6786 Change-Id: I6186683a3a216d2e779645bd9e8276a66bcff4d5 Reviewed-on: https://skia-review.googlesource.com/21524 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* rewrote GrAlphaThresholdFragmentProcessor in skslGravatar Ethan Nicholas2017-07-05
| | | | | | | | Bug: skia: Change-Id: I641b206fc3bc19ac190ad94ee755ab9e1caab9b3 Reviewed-on: https://skia-review.googlesource.com/21341 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Added new edge handling mode (clamp and repeat) to Gaussian blur filter.Gravatar wutao2017-06-30
| | | | | | | | | | | | | | | | | | | Gaussian blur filter will interpolate value by using out of bounds coords, which is 0. This makes it appears darker near the bounds in the blurred images. There are two issues: 1) when downsampling and upsampling, we should use GrTextureDomainEffect kClamp_Mode to clamp the texture coords to the bounds; 2) during Gaussian blur, we need to clamp to texture bounds. BUG=622128 TEST=cc_unittests, GM image test & manual. Some test results can be found at: https://bugs.chromium.org/p/chromium/issues/detail?id=622128#c49 Change-Id: I9283da1d91efb0da94a991f2d372e9f62c288bdc Reviewed-on: https://skia-review.googlesource.com/20465 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Speculative "fix" for crash in analyzeProcessorsGravatar Robert Phillips2017-06-30
| | | | | | | | | | | | | | From the bug it looks like a null fragment processors may be getting into the processor set. This CL tries to plug any gaps in our fragmentProcessor handling. The only real substantive part to this CL is the addition of some "if (!fp) { return nullptr; }" blocks. Everything else is just to add chokepoints for processor allocation. Bug: 734076 Change-Id: I4952b1a05bc6690d5aa09de977fa6dc54c80338a Reviewed-on: https://skia-review.googlesource.com/21267 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Re-re-land sksl fragment processor supportGravatar Ethan Nicholas2017-06-29
| | | | | | | | | | This reverts commit 5ce397205528f82084fc650c2ce27d246c01da33. Bug: skia: Change-Id: I88260c90004610a1cf8ad1a87c2b4b222525bbb6 Reviewed-on: https://skia-review.googlesource.com/21108 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Fix MDB regressionGravatar Robert Phillips2017-06-19
| | | | | | | | | | | | | This CL: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler)) introduced a perf regression. Cached textures can appear in different GrSurfaceProxies but have the same underlying GrTexture. Bug: 729233 Change-Id: Ifd7a9260a8a4535e8440c0d837bfdc445a921aa4 Reviewed-on: https://skia-review.googlesource.com/20223 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Enable constexpr for VC++ 2017Gravatar Bruce Dawson2017-06-17
| | | | | | | | | | | | | | | VC++ 2017 fixes the internal compiler error which prevented using constexpr for some BlendFormula arrays, so tweak the #ifdefs to enable constexpr for 2017. This gets rid of two constructors and slightly shrinks chrome_child.dll BUG=chromium:341941 Change-Id: Ic4079b2da393ee89dd38da5bbb2d7c8ede8020e8 Reviewed-on: https://skia-review.googlesource.com/20160 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Clean up GrResourceProvider usageGravatar Robert Phillips2017-06-15
| | | | | | | | | | | | | The only substantive changes are the removal of GrProxy instantiation in: SkGpuBlurUtils::GaussianBlur GrSimpleTextureEffect::Make* Change-Id: I10970609693bd6ff5b3a3c21b41d82642bb277bc Reviewed-on: https://skia-review.googlesource.com/19965 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Go back to using dual source blending for lcd src-over even ↵Gravatar Greg Daniel2017-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with non-opaque color"" This reverts commit 7d6fe0b9964d139de64ca88c46d87eba41c7f84e. Reason for revert: Relanding with fix Original change's description: > Revert "Go back to using dual source blending for lcd src-over even with non-opaque color" > > This reverts commit b54bdef86eb5cf63b94588afaa9197f49374a5f5. > > Reason for revert: breaking some bots > Original change's description: > > Go back to using dual source blending for lcd src-over even with non-opaque color > > > > This is change is currently still safe since earlier in Skia we are still requiring > > the dst to be opaque. The change is a workaround to spots where trying to read the > > dst to do in shader blending is failing for some reason. This also should give back > > a little performance since doing dual source blending should be better than shader > > blends. > > > > Bug: chromium:732341 > > Change-Id: I795f8a520f87f3fbf5d63a9509fbd9f394ea2b29 > > Reviewed-on: https://skia-review.googlesource.com/19703 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: Ibb9bc1ef4ec5967dabcd62c81f62c0989c14fbb8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: chromium:732341 > Reviewed-on: https://skia-review.googlesource.com/19815 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Bug: chromium:732341 Change-Id: I7481755a9aa64364371d8149af4458fc2c15c8aa Reviewed-on: https://skia-review.googlesource.com/19840 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Go back to using dual source blending for lcd src-over even with ↵Gravatar Greg Daniel2017-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | non-opaque color" This reverts commit b54bdef86eb5cf63b94588afaa9197f49374a5f5. Reason for revert: breaking some bots Original change's description: > Go back to using dual source blending for lcd src-over even with non-opaque color > > This is change is currently still safe since earlier in Skia we are still requiring > the dst to be opaque. The change is a workaround to spots where trying to read the > dst to do in shader blending is failing for some reason. This also should give back > a little performance since doing dual source blending should be better than shader > blends. > > Bug: chromium:732341 > Change-Id: I795f8a520f87f3fbf5d63a9509fbd9f394ea2b29 > Reviewed-on: https://skia-review.googlesource.com/19703 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ibb9bc1ef4ec5967dabcd62c81f62c0989c14fbb8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:732341 Reviewed-on: https://skia-review.googlesource.com/19815 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Go back to using dual source blending for lcd src-over even with non-opaque ↵Gravatar Greg Daniel2017-06-14
| | | | | | | | | | | | | | | | color This is change is currently still safe since earlier in Skia we are still requiring the dst to be opaque. The change is a workaround to spots where trying to read the dst to do in shader blending is failing for some reason. This also should give back a little performance since doing dual source blending should be better than shader blends. Bug: chromium:732341 Change-Id: I795f8a520f87f3fbf5d63a9509fbd9f394ea2b29 Reviewed-on: https://skia-review.googlesource.com/19703 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Retract GrTexture*.h & GrRenderTarget*.h from other headersGravatar Robert Phillips2017-06-13
| | | | | | | | | This does push some additional work (& includes) into the .cpp files. Change-Id: I27c847e371802270d13594dcc22aae44039990bb Reviewed-on: https://skia-review.googlesource.com/19660 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Init fDevKLMMatrix in GrGLCubicEffect (possible valgrind fix)Gravatar Robert Phillips2017-06-12
| | | | | | | | | TBR=bsalomon@google.com Change-Id: I97357291d6d4098caecc9ac37348c9b9436ce11b Reviewed-on: https://skia-review.googlesource.com/19442 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* replace 4f procs with pipeline (only called in 2 places by ganesh)Gravatar Mike Reed2017-06-09
| | | | | | | | | | | enables lots of code to delete CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Bug: skia: Change-Id: I13631ead68a9232bd8c13c5ef54727f44def26ca Reviewed-on: https://skia-review.googlesource.com/19278 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Retract GrTexture.h a bitGravatar Robert Phillips2017-06-09
| | | | | | | | | This began as cleaning up SkSpecialImage.h & spiraled out of control from there. Change-Id: I9a570ecd2a7af9ee724ebfebe4e9185748f38bbc Reviewed-on: https://skia-review.googlesource.com/19290 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Improve cubic KLM accuracyGravatar Chris Dalton2017-06-09
| | | | | | | | | | | | | | | | | | | | | | Moves cubic root finding logic out of GrPathUtils and PathOpsCubicIntersectionTest, and unifies it in SkGeometry. "Normalizes" the homogeneous parameter values of the roots, rather than the cubic inflection function. Does this normalization by twiddling the exponents instead of division (which causes a loss of precision). Abandons the built-in derivatives in GrCubicEffect. These don't have high enough precision on many mobile gpus. Instead we pass the KLM matrix to the vertex shader via uniform, where we can use it to set up new linear functionals from which the fragment shader can calculate the gradient of the implicit function. Bug: skia:4410 Change-Id: Ibd64e999520adc8cdef7803a492d3699995aef5a Reviewed-on: https://skia-review.googlesource.com/19017 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* remove unused xfermode methodsGravatar Mike Reed2017-06-08
| | | | | | | Bug: skia: Change-Id: Ib0dfa7bbf3d4e73aab355df4d5f5e2a53f653809 Reviewed-on: https://skia-review.googlesource.com/19035 Reviewed-by: Mike Reed <reed@google.com>
* move Coeff into blendmodeGravatar Mike Reed2017-06-06
| | | | | | | | Bug: skia: Change-Id: Ib4f3398b0cdc6b0f575f6db80d2ce0bf9666f077 Reviewed-on: https://skia-review.googlesource.com/18843 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Make GrSimpleMeshDrawOpHelper record whether coverage can be implemented as ↵Gravatar Brian Salomon2017-06-05
| | | | | | | | | | alpha This also makes the blend table entry for opaque src over indicate a blend of (1, ISA) rather than (1, 0) to match the actual implementation of the global src-over XP. Change-Id: I1b1f64d2546e4f0cf03c0239ce674d1baad655f6 Reviewed-on: https://skia-review.googlesource.com/18521 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>