aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Reland "Fix precision caps and rrect/ellipse effect precisions"Gravatar Chris Dalton2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of e42180022720f2fcfd3c634cad855506a7940591 Original change's description: > Fix precision caps and rrect/ellipse effect precisions > > Replaces all the complex precision caps with a single flag that says > whether "float" == fp32. Updates the ellipse and rrect effects to > use float coords, and use the scale workaround when float != fp32. > > Bug: skia:7190 > Change-Id: Ieccff9f38acd05e5cec78fe90d01a5da901a9307 > Reviewed-on: https://skia-review.googlesource.com/70961 > Commit-Queue: Chris Dalton <csmartdalton@google.com> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com Bug: skia:7190 Change-Id: I7ced37a64164b83d86f6a957c35e10ce9085aba0 Reviewed-on: https://skia-review.googlesource.com/72760 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "Direct evaluation of gaussian"Gravatar Brian Osman2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5e18cdea0a0a3f23d8e8b8140c82a4b54e121402. Reason for revert: ASAN Original change's description: > Direct evaluation of gaussian > > The SVG(CSS) standard allows the 3 pass algorithm for sigma >= 2. But > sigma < 2, the code must evaluate to the convolution. The old code used > an interpolation scheme between windowed filters. This code directly > evaluates the gaussian kernel for sigma < 2. > > This code produces cleaner results, is 25% faster, and does not use a > temporary memory buffer. > > Change-Id: Ibd0caa73cadd06b637f55ba7bd4fefcfe7ac73db > Reviewed-on: https://skia-review.googlesource.com/62540 > Commit-Queue: Herb Derby <herb@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,herb@google.com Change-Id: I936077dfa659d71bc361339d98340c55545a1eb8 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/72481 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Direct evaluation of gaussianGravatar Herbert Derby2017-11-16
| | | | | | | | | | | | | | | The SVG(CSS) standard allows the 3 pass algorithm for sigma >= 2. But sigma < 2, the code must evaluate to the convolution. The old code used an interpolation scheme between windowed filters. This code directly evaluates the gaussian kernel for sigma < 2. This code produces cleaner results, is 25% faster, and does not use a temporary memory buffer. Change-Id: Ibd0caa73cadd06b637f55ba7bd4fefcfe7ac73db Reviewed-on: https://skia-review.googlesource.com/62540 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half"""Gravatar Greg Daniel2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b5fb7cf0163ccb939f90ecf53ef70732c01f23ae. Reason for revert: breaking more devices Original change's description: > Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half"" > > This reverts commit 0fb6db4be6e30777cc5c87f1b601e8c4aacff2b1. > > Reason for revert: fixed bug > > Original change's description: > > Revert "Add private grpixelconfigs for alpha_8 and alpha_half" > > > > This reverts commit 33d17cbb003975fff895954435183756f9893c17. > > > > Reason for revert: broke intel bots > > > > Original change's description: > > > Add private grpixelconfigs for alpha_8 and alpha_half > > > > > > Bug: skia: > > > Change-Id: I5191b6e045aea2a5af2b305b5972ad1e638a7ace > > > Reviewed-on: https://skia-review.googlesource.com/71763 > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > TBR=egdaniel@google.com,bsalomon@google.com > > > > Change-Id: I6fff9241f7878f1ec7fad2663df9922c9cd8f628 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/72180 > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: Ie028961ecbf5934c53cb859e019e548935b3af79 > Reviewed-on: https://skia-review.googlesource.com/72241 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ieaac3eca2fc4919699c7de61a3c33348e92a7da0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/72660 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Switched SkSL from using raw strings back to STRINGIFYGravatar Ethan Nicholas2017-11-16
| | | | | | | | | | | | | Stringify was stripping the comments from the strings, whereas raw strings preserve them, which led to an increase in executable size. The only effect of this change is to strip the comments back out. Bug: 784880 Change-Id: Icf2f9cf522cb890179f2e481a3504e8171732705 Reviewed-on: https://skia-review.googlesource.com/72524 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half""Gravatar Greg Daniel2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0fb6db4be6e30777cc5c87f1b601e8c4aacff2b1. Reason for revert: fixed bug Original change's description: > Revert "Add private grpixelconfigs for alpha_8 and alpha_half" > > This reverts commit 33d17cbb003975fff895954435183756f9893c17. > > Reason for revert: broke intel bots > > Original change's description: > > Add private grpixelconfigs for alpha_8 and alpha_half > > > > Bug: skia: > > Change-Id: I5191b6e045aea2a5af2b305b5972ad1e638a7ace > > Reviewed-on: https://skia-review.googlesource.com/71763 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: I6fff9241f7878f1ec7fad2663df9922c9cd8f628 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/72180 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ie028961ecbf5934c53cb859e019e548935b3af79 Reviewed-on: https://skia-review.googlesource.com/72241 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* test scalePixels and unpremulGravatar Mike Reed2017-11-16
| | | | | | | | | Bug: skia:5733 Change-Id: I6c661408198f6a536e1e55ba01d976948446b8eb Reviewed-on: https://skia-review.googlesource.com/70280 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* WebP - allow more scalesGravatar Leon Scroggins III2017-11-16
| | | | | | | | | | | We previously artificially restricted to using sample sizes. But there is no reason to do so. Android's new API allows arbitrary scaling, so support it. Change-Id: I15f48f9b27b11f8cabb55e3f79ae6ee5ffd39069 Reviewed-on: https://skia-review.googlesource.com/69600 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Add overbudget handling to GrResourceAllocatorGravatar Robert Phillips2017-11-16
| | | | | | | Change-Id: I5536c908310e907c77b5d55441a0edac6a74bf0e Reviewed-on: https://skia-review.googlesource.com/71182 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add method to sk_gpu_test::TestContext to automatically restore the previous ↵Gravatar Brian Salomon2017-11-16
| | | | | | | | | | | context. The motivation for this is to allow a GM to create a GL context, do some some work in it, and then return to the context that was set when it was invoked. Change-Id: Ie8496072a10f8f3ff36a08889e593a6ca961b61a Reviewed-on: https://skia-review.googlesource.com/70720 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* remove legacy Create from SkTextBlobGravatar Mike Reed2017-11-16
| | | | | | | | Bug: skia: Change-Id: I8814ac9fb6bf75b5113bd78e140adadde57d3898 Reviewed-on: https://skia-review.googlesource.com/72121 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Fix precision caps and rrect/ellipse effect precisions"Gravatar Brian Osman2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e42180022720f2fcfd3c634cad855506a7940591. Reason for revert: Also may be responsible for layout test failures? Playing it safe. Original change's description: > Fix precision caps and rrect/ellipse effect precisions > > Replaces all the complex precision caps with a single flag that says > whether "float" == fp32. Updates the ellipse and rrect effects to > use float coords, and use the scale workaround when float != fp32. > > Bug: skia:7190 > Change-Id: Ieccff9f38acd05e5cec78fe90d01a5da901a9307 > Reviewed-on: https://skia-review.googlesource.com/70961 > Commit-Queue: Chris Dalton <csmartdalton@google.com> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com,ethannicholas@google.com Change-Id: Idca2f0390e7a0eb85010255183f2f27332b8d26d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7190 Reviewed-on: https://skia-review.googlesource.com/72540 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Fold analytic clip FPs into GrReducedClip"Gravatar Brian Osman2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4355b26b359d5f2597a10012e7eb11fb3a1f025b. Reason for revert: Most likely CL for layout test failures on Chrome roll: https://bugs.chromium.org/p/chromium/issues/detail?id=785931 Original change's description: > Fold analytic clip FPs into GrReducedClip > > Perf result on Pixel phone (sorted by impact): > > GEOMEAN 7.44 -> 6.92 ms [ 93%] > > keymobi_cnn_com.skp 3.55 -> 3.59 ms [101%] > keymobi_theverge_com.skp 4.08 -> 4.13 ms [101%] > desk_skbug6850autoscroll.skp 1.21 -> 1.22 ms [101%] > ... > top25desk_weather_com.skp 14.2 -> 11.5 ms [ 81%] > keymobi_androidpolice_com_2012_.skp 3.84 -> 2.95 ms [ 77%] > keymobi_shop_mobileweb_ebay_com.skp 2.94 -> 2.26 ms [ 77%] > keymobi_boingboing_net.skp 3.08 -> 2.24 ms [ 73%] > desk_jsfiddlebigcar.skp 1.90 -> 1.25 ms [ 66%] > keymobi_m_youtube_com_watch_v_9.skp 13.5 -> 8.84 ms [ 65%] > keymobi_sfgate_com_.skp 8.55 -> 5.55 ms [ 65%] > keymobi_blogger.skp 4.01 -> 2.60 ms [ 65%] > > Cleaner code, improved skps, slightly better geometric mean time. > > Pixel C is mostly unaffected, presumably because it uses window > rectangles. > > Bug: skia:7190 > Change-Id: Ia93f68b2f971ea66b3ab19dc73557ea602932a92 > Reviewed-on: https://skia-review.googlesource.com/67424 > Commit-Queue: Chris Dalton <csmartdalton@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com,csmartdalton@google.com Change-Id: I86ff05196eaaeca4fb63836c9b449bbea76fe80b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7190 Reviewed-on: https://skia-review.googlesource.com/72480 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Fold analytic clip FPs into GrReducedClipGravatar Chris Dalton2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Perf result on Pixel phone (sorted by impact): GEOMEAN 7.44 -> 6.92 ms [ 93%] keymobi_cnn_com.skp 3.55 -> 3.59 ms [101%] keymobi_theverge_com.skp 4.08 -> 4.13 ms [101%] desk_skbug6850autoscroll.skp 1.21 -> 1.22 ms [101%] ... top25desk_weather_com.skp 14.2 -> 11.5 ms [ 81%] keymobi_androidpolice_com_2012_.skp 3.84 -> 2.95 ms [ 77%] keymobi_shop_mobileweb_ebay_com.skp 2.94 -> 2.26 ms [ 77%] keymobi_boingboing_net.skp 3.08 -> 2.24 ms [ 73%] desk_jsfiddlebigcar.skp 1.90 -> 1.25 ms [ 66%] keymobi_m_youtube_com_watch_v_9.skp 13.5 -> 8.84 ms [ 65%] keymobi_sfgate_com_.skp 8.55 -> 5.55 ms [ 65%] keymobi_blogger.skp 4.01 -> 2.60 ms [ 65%] Cleaner code, improved skps, slightly better geometric mean time. Pixel C is mostly unaffected, presumably because it uses window rectangles. Bug: skia:7190 Change-Id: Ia93f68b2f971ea66b3ab19dc73557ea602932a92 Reviewed-on: https://skia-review.googlesource.com/67424 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Fix precision caps and rrect/ellipse effect precisionsGravatar Chris Dalton2017-11-16
| | | | | | | | | | | | | Replaces all the complex precision caps with a single flag that says whether "float" == fp32. Updates the ellipse and rrect effects to use float coords, and use the scale workaround when float != fp32. Bug: skia:7190 Change-Id: Ieccff9f38acd05e5cec78fe90d01a5da901a9307 Reviewed-on: https://skia-review.googlesource.com/70961 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* rename overloaded methods as speculative fix/diagnosticGravatar Mike Reed2017-11-15
| | | | | | | | Bug:783136 Change-Id: I95df299bd9e1c6263b8e79b23fbe90340bd950e9 Reviewed-on: https://skia-review.googlesource.com/72240 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Add private grpixelconfigs for alpha_8 and alpha_half"Gravatar Greg Daniel2017-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 33d17cbb003975fff895954435183756f9893c17. Reason for revert: broke intel bots Original change's description: > Add private grpixelconfigs for alpha_8 and alpha_half > > Bug: skia: > Change-Id: I5191b6e045aea2a5af2b305b5972ad1e638a7ace > Reviewed-on: https://skia-review.googlesource.com/71763 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: I6fff9241f7878f1ec7fad2663df9922c9cd8f628 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/72180 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Nit clean up to add private GrPixelConfig CL"Gravatar Greg Daniel2017-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b8e4c44f5ff17dcb0d5a0a11b41bc04c57b1d8e4. Reason for revert: reverting parent Original change's description: > Nit clean up to add private GrPixelConfig CL > > Bug: skia: > Change-Id: Iaf793e79458ec27f81c48ec0a7d529b9127bd839 > Reviewed-on: https://skia-review.googlesource.com/72061 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: I3f92168ed490e6f5a535a4b3c16f1fea869feb59 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/72160 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Nit clean up to add private GrPixelConfig CLGravatar Greg Daniel2017-11-15
| | | | | | | | Bug: skia: Change-Id: Iaf793e79458ec27f81c48ec0a7d529b9127bd839 Reviewed-on: https://skia-review.googlesource.com/72061 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Ensure that removing last extension from GrGLExtension doesn't assert.Gravatar Vladimir Levin2017-11-15
| | | | | | | | | | | | | | | | This patch fixes an assert that triggers when removing the last extension in the list, since the index operator goes out of bounds. Added a test that fails without the code changes and passes with the changes. R=bsalomon@chromium.org Change-Id: I0d561b150899c178f638dde088af773fddf112d9 Reviewed-on: https://skia-review.googlesource.com/72000 Commit-Queue: Vladimir Levin <vmpstr@chromium.org> Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove support for image load/storeGravatar Brian Salomon2017-11-15
| | | | | | | | | This isn't used and has become a maintenance burden. Change-Id: I5f3af8f91e5c4f073fe4ea30e0a7f1f61efeea47 Reviewed-on: https://skia-review.googlesource.com/70640 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add private grpixelconfigs for alpha_8 and alpha_halfGravatar Greg Daniel2017-11-15
| | | | | | | | Bug: skia: Change-Id: I5191b6e045aea2a5af2b305b5972ad1e638a7ace Reviewed-on: https://skia-review.googlesource.com/71763 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* use validating readbufferGravatar Mike Reed2017-11-15
| | | | | | | | | Bug:784869 Change-Id: Iaf43e14ec2ad72d061e7de25364fb481229d7651 Reviewed-on: https://skia-review.googlesource.com/71764 Commit-Queue: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Temporarily disable multitexturing for iOSGravatar Jim Van Verth2017-11-15
| | | | | | | | Bug: skia:7285 Change-Id: Ia55084334dab7b1887320348fa7d291f64332fdb Reviewed-on: https://skia-review.googlesource.com/71780 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Fix webp bug compositing alpha frames on opaque"Gravatar Leon Scroggins2017-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 42bae8faa4b9b6a3341b15c6ac7c6b466e95625c. Reason for revert: Breaking GMs. A more extensive fix is needed. Original change's description: > Fix webp bug compositing alpha frames on opaque > > select_xform_alpha is used to determine how the color transform should > handle alpha values. In a similar way, we're using it here to determine > whether to premultiply pixels before blending them. In this case, the > source is unpremul, so we should be premultiplying them, but since we > are compositing on an opaque frame, the dst must be opaque and > select_xform_alpha returns kOpaque. As a result, we do not premultiply > (and even hint to the transform that the pixels are opaque). Since this > all applies to the pre-blended pixels, we should not care that the dst > is opaque. So drop the call to select_xform_alpha and just use the alpha > type of the source. This matches the comment on the lines above. > > Add the test image that failed (https://mathiasbynens.be/demo/animated-webp) > > Change-Id: Ibd13c1f067bdf369ce1c882d4f6057aadccfa313 > Reviewed-on: https://skia-review.googlesource.com/71560 > Commit-Queue: Leon Scroggins <scroggo@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,scroggo@google.com Change-Id: I6f535ff9b773a93e02a0358b830291594a6e738c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/71720 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Fix GrTextureOp to check the correct cap for multitexturingGravatar Brian Salomon2017-11-15
| | | | | | | Change-Id: I276dff12055b046423ed261d014bc58302fb1347 Reviewed-on: https://skia-review.googlesource.com/70680 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix webp bug compositing alpha frames on opaqueGravatar Leon Scroggins III2017-11-14
| | | | | | | | | | | | | | | | | | | | select_xform_alpha is used to determine how the color transform should handle alpha values. In a similar way, we're using it here to determine whether to premultiply pixels before blending them. In this case, the source is unpremul, so we should be premultiplying them, but since we are compositing on an opaque frame, the dst must be opaque and select_xform_alpha returns kOpaque. As a result, we do not premultiply (and even hint to the transform that the pixels are opaque). Since this all applies to the pre-blended pixels, we should not care that the dst is opaque. So drop the call to select_xform_alpha and just use the alpha type of the source. This matches the comment on the lines above. Add the test image that failed (https://mathiasbynens.be/demo/animated-webp) Change-Id: Ibd13c1f067bdf369ce1c882d4f6057aadccfa313 Reviewed-on: https://skia-review.googlesource.com/71560 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* "support" 3D masks like Ganesh doesGravatar Mike Klein2017-11-14
| | | | | | | | | | Ignore the mul and add planes and just use the A8 mask. It's better than not drawing anything at all. Change-Id: Ic20cec975c2db5c7aeb46ab7b430e8442dc8d8e9 Reviewed-on: https://skia-review.googlesource.com/71440 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Alloc glyph image correctly for SkMask::k3D_Format.Gravatar Ben Wagner2017-11-14
| | | | | | | | | | | | | | | | | | | | | | Re-enable the code to test the emboss mask filter, updating it to use the new emboss mask filter factory. Add a test to ensure that embossed text is drawn correctly, as before glyphs did not allocate the proper amount of memory for the k3D_Format which the emboss mask filter produces. Fixes SkEmbossMask::Emboss to write the whole of the mul and add planes to avoid pixel differences and MemorySanitizer errors. Update the GPU to understand the k3D_Format and use just the alpha plane, ignoring the mul and add plane which it currently cannot support. Change-Id: I90edf34a918c06b0c6b24bfc43ce7031419eca41 Reviewed-on: https://skia-review.googlesource.com/70260 Reviewed-on: https://skia-review.googlesource.com/70962 Reviewed-on: https://skia-review.googlesource.com/71282 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Add SkColorSpace_Base::makeColorSpinGravatar Brian Osman2017-11-14
| | | | | | | | | | | | This is a utility that creates a version of an existing XYZ color space that performs our color spin operation. Assigning this to a source remaps RGB to GBR. Assigning it to a destination does the opposite (RGB to BRG). Bug: skia: Change-Id: I3528698220bd32aa01dcd3db225e60f151a4b5bd Reviewed-on: https://skia-review.googlesource.com/71280 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert "Alloc glyph image correctly for SkMask::k3D_Format."Gravatar Brian Osman2017-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1662257bdaaaf26b016bf2a3e329c34f7f5ed581. Reason for revert: Android still using this API Original change's description: > Alloc glyph image correctly for SkMask::k3D_Format. > > Remove the no longer used outside Skia SK_SUPPORT_LEGACY_EMBOSSMASKFILTER > define, and either delete the code it guards or update it to use the new > emboss mask filter factory. > > Re-enable the code to test the emboss mask filter. > > Add a test to ensure that embossed text is drawn correctly, as before > glyphs did not allocate the proper amount of memory for the k3D_Format > which the emboss mask filter produces. > > Fixes SkEmbossMask::Emboss to write the whole of the mul and add planes > to avoid pixel differences and MemorySanitizer errors. > > Update the GPU to understand the k3D_Format and use just the alpha > plane, ignoring the mul and add plane which it currently cannot support. > > Change-Id: Icac1a3f37d6e8c6be3151df570f5e14111e18585 > Reviewed-on: https://skia-review.googlesource.com/70260 > Reviewed-by: Herb Derby <herb@google.com> > Reviewed-on: https://skia-review.googlesource.com/70962 > Commit-Queue: Ben Wagner <bungeman@google.com> TBR=djsollen@google.com,bungeman@google.com,herb@google.com Change-Id: Id6625bae8d3bd70ce7aa3045348c04fdd146c637 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/71183 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Alloc glyph image correctly for SkMask::k3D_Format.Gravatar Ben Wagner2017-11-14
| | | | | | | | | | | | | | | | | | | | | | | | Remove the no longer used outside Skia SK_SUPPORT_LEGACY_EMBOSSMASKFILTER define, and either delete the code it guards or update it to use the new emboss mask filter factory. Re-enable the code to test the emboss mask filter. Add a test to ensure that embossed text is drawn correctly, as before glyphs did not allocate the proper amount of memory for the k3D_Format which the emboss mask filter produces. Fixes SkEmbossMask::Emboss to write the whole of the mul and add planes to avoid pixel differences and MemorySanitizer errors. Update the GPU to understand the k3D_Format and use just the alpha plane, ignoring the mul and add plane which it currently cannot support. Change-Id: Icac1a3f37d6e8c6be3151df570f5e14111e18585 Reviewed-on: https://skia-review.googlesource.com/70260 Reviewed-by: Herb Derby <herb@google.com> Reviewed-on: https://skia-review.googlesource.com/70962 Commit-Queue: Ben Wagner <bungeman@google.com>
* Resolve GrSurface/GrSurfaceProxy ref counting issue in GrResourceAllocatorGravatar Robert Phillips2017-11-14
| | | | | | | | | The underlying issue is/was that (given that GrResourceProvider::createApproxTexture can pull a scratch texture out of the resource cache) resources the GrResourceAllocator thought is was controlling could magically be re-assigned behind its back. This CL resolves the issue by having the GrResourceAllocator maintain a strong ref on all the resources it believes it is controlling. Change-Id: Ibcf49009dc953bd97d882177284eb57490cd5711 Reviewed-on: https://skia-review.googlesource.com/70722 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* SPIR-V switch statement supportGravatar Ethan Nicholas2017-11-13
| | | | | | | | Bug: skia: Change-Id: I0e44b103820745614c29ff08ab100d46abd3a0de Reviewed-on: https://skia-review.googlesource.com/70960 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Alloc glyph image correctly for SkMask::k3D_Format."Gravatar Ben Wagner2017-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6b26deb8d6067589ce9b7853ab8e8d39de1a45de. Reason for revert: GPU bots failing Original change's description: > Alloc glyph image correctly for SkMask::k3D_Format. > > This removes the no longer used outside Skia > SK_SUPPORT_LEGACY_EMBOSSMASKFILTER define, and either deletes the code > it guards or updates it to use the new emboss mask filter factory. This > re-enables the code to test the emboss mask filter. Also added is a test > to ensure that embossed text is drawn correctly, as before this glyphs > did not allocate the proper amount of memory for the k3D_Format which > this mask filter produces. This also fixes SkEmbossMask::Emboss to write > the whole of the mul and add planes to avoid pixel differences and > MemorySanitizer errors. > > Change-Id: Ib492c72a19d6a27d140e3cd48179a3ca9ce313f5 > Reviewed-on: https://skia-review.googlesource.com/70260 > Commit-Queue: Ben Wagner <bungeman@google.com> > Reviewed-by: Herb Derby <herb@google.com> TBR=djsollen@google.com,bungeman@google.com,herb@google.com,reed@google.com Change-Id: I8a9db6c00e0cb84bdd4833474a9ffffa6ecc606c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/70920 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Move pixel config getter to private in GrBackendSurfaceGravatar Greg Daniel2017-11-13
| | | | | | | | | | | We eventually want to remove pixel config from GrBackendSurface so this helps to insure that clients don't rely on it. Bug: skia: Change-Id: I6b8435d12347fab62c0f9032addea1211aa703ca Reviewed-on: https://skia-review.googlesource.com/70642 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Alloc glyph image correctly for SkMask::k3D_Format.Gravatar Ben Wagner2017-11-13
| | | | | | | | | | | | | | | | | This removes the no longer used outside Skia SK_SUPPORT_LEGACY_EMBOSSMASKFILTER define, and either deletes the code it guards or updates it to use the new emboss mask filter factory. This re-enables the code to test the emboss mask filter. Also added is a test to ensure that embossed text is drawn correctly, as before this glyphs did not allocate the proper amount of memory for the k3D_Format which this mask filter produces. This also fixes SkEmbossMask::Emboss to write the whole of the mul and add planes to avoid pixel differences and MemorySanitizer errors. Change-Id: Ib492c72a19d6a27d140e3cd48179a3ca9ce313f5 Reviewed-on: https://skia-review.googlesource.com/70260 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com>
* streamline GDI botsGravatar Mike Klein2017-11-13
| | | | | | | | | | | | | - Replace build-time GDI support in all of Skia with run-time GDI support only in DM. - Make the GDI bots NativeFont bots paralelling the other NativeFonts bots. Change-Id: I424b20f6983d8a8ba8574650efefea2b8776bbe2 Reviewed-on: https://skia-review.googlesource.com/70721 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Patch up ref counting of proxies (take 2)Gravatar Robert Phillips2017-11-13
| | | | | | | | TBR=bsalomon@google.com Change-Id: I2376c6b17ac7c2b28837bafb76583934ab72558e Reviewed-on: https://skia-review.googlesource.com/70501 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Drop support for OSMesa in test tools and remove build botGravatar Brian Salomon2017-11-13
| | | | | | | | Change-Id: Ic85ee05fe292a36a053ca7a20ccce24a4da4fae2 Reviewed-on: https://skia-review.googlesource.com/70026 Reviewed-by: Joe Gregorio <jcgregorio@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* sksl enum supportGravatar Ethan Nicholas2017-11-13
| | | | | | | | Bug: skia: Change-Id: I4d505b31cf8b59de12bcdbca410aafc085977ba9 Reviewed-on: https://skia-review.googlesource.com/68621 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Patch up ref counting of proxies"Gravatar Robert Phillips2017-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8d5ce2d9ede0c241b906f1a0df9dac3cf3c3aa55. Reason for revert: ASAN failures Original change's description: > Patch up ref counting of proxies > > Bug: skia: > Change-Id: If746283d788368bf7aad6d285f181d8531768e61 > Reviewed-on: https://skia-review.googlesource.com/70024 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Ia2addb2a5dacad9e9c0080d1e53084bc62b780e0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/70540 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Patch up ref counting of proxiesGravatar Robert Phillips2017-11-13
| | | | | | | | Bug: skia: Change-Id: If746283d788368bf7aad6d285f181d8531768e61 Reviewed-on: https://skia-review.googlesource.com/70024 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Use round rather than floor for snapping text vertex positionsGravatar Brian Osman2017-11-11
| | | | | | | | Bug: skia: Change-Id: I37e93657a692a7cea49029f8694418b827dc19d5 Reviewed-on: https://skia-review.googlesource.com/70181 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Extract code for safely creating SkMasks try 2Gravatar Herb Derby2017-11-10
| | | | | | | | | | | | This is in preparation for adding a faster small radii blur. Be sure to obey the original semantics about handling dst when src.fImage is null. Change-Id: Ic0ff0ac81494799e2d5037283904f1094309c622 Reviewed-on: https://skia-review.googlesource.com/70025 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* remove legacy code for resolutionGravatar Mike Reed2017-11-10
| | | | | | | | Bug: skia: Change-Id: I6909325d4ee51140ec0edb47682de18617c23cc7 Reviewed-on: https://skia-review.googlesource.com/70100 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Try 2 for Gauss filter calculationGravatar Herb Derby2017-11-10
| | | | | | | | | | Originally reviewed at: https://skia-review.googlesource.com/c/skia/+/67723 Change-Id: Ie62d81f818899f3a79df888c1594d3fbccf6d414 Reviewed-on: https://skia-review.googlesource.com/69681 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* AVX2 specialization for lowp gradient lookupGravatar Florin Malita2017-11-10
| | | | | | | | | | | 705.32 -> 457.76 gradient_sweep_clamp_3color 609.38 -> 345.34 gradient_radial1_clamp_3color Change-Id: I0165ac8f004ee095ada4f12b33db0a94ae39fca3 Reviewed-on: https://skia-review.googlesource.com/69902 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* fixed type error in SPIRV code generatorGravatar Ethan Nicholas2017-11-10
| | | | | | | | Bug: skia:7281 Change-Id: Icf3b4fb22292ef089aeff5f54d8ea3c54bcbc2e7 Reviewed-on: https://skia-review.googlesource.com/70103 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "more powerful map()"Gravatar Greg Daniel2017-11-10
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit a3dd5ec3a769fb833ce77878cd4e551c15e5074d. Reason for revert: breaking build on Build-Debian9-Clang-x86_64_Release-Fast Original change's description: > more powerful map() > > Change-Id: Icbae002999a295e3a9d1d2e6046e686784d5f608 > Reviewed-on: https://skia-review.googlesource.com/69901 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,fmalita@chromium.org Change-Id: Ice989dd6a6b2786f318791dd91f2c06f689cb979 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/70105 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>