aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Harden SkTextBlob deserializationGravatar Florin Malita2017-11-20
| | | | | | | | | | | | | | | | 1) validate allocInternal args - these can originate either from users or deserialization 2) skip invoking SkTypefaceResolverProc if we failed to read a valid id in SkTypefaceResolverReadBuffer::readTypeface 3) validate textSize and buffer sanity in MakeFromBuffer before attempting to allocate runs BUG=chromium:786524 Change-Id: I6cf80dc60bc3ca6fcad7198d36dacf84d091b779 Reviewed-on: https://skia-review.googlesource.com/73521 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Require glyph positions in SkAtlasTextTarget::drawTextGravatar Brian Salomon2017-11-20
| | | | | | | Change-Id: Idf0977befc8ed4fd9eb3b733db5e945457b2164c Reviewed-on: https://skia-review.googlesource.com/73701 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Only use flat varyings for integer texIndex.Gravatar Jim Van Verth2017-11-20
| | | | | | | | | | Flat varyings aren't supported with ES 2.0, so just fall back to non-flat if we can only handle float. Change-Id: Id47a773b86666c46916efe5bcb1c629743977ccf Reviewed-on: https://skia-review.googlesource.com/73800 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Make SkAtlasTextTarget use glyph IDsGravatar Brian Salomon2017-11-20
| | | | | | | | Bug: skia: Change-Id: Idefd69f02f62fea22c41a3476676773221c3ae81 Reviewed-on: https://skia-review.googlesource.com/73700 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Use int when possible to calculate atlas indices in shaders.Gravatar Jim Van Verth2017-11-20
| | | | | | | | | | | | | | | | On certain iOS devices half has a mantissa of only 10 bits, which is not enough to perform the floating point trickery to get the lower bits out of the "texture coordinates". Instead we use int if available, and float if not available. Also re-enables multitexturing for iOS and adds a sample which stresses the issue. Bug: skia:7285 Change-Id: I365532c7cbbcca7c7753af209bef46e05be49e11 Reviewed-on: https://skia-review.googlesource.com/71181 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Revert "Add Atlas Text interface for rendering SDF glyphs.""Gravatar Brian Salomon2017-11-19
| | | | | | | | | | This reverts commit 9c2202ffc22b4293b48a4edeafa1b5d2bab8bb83. Bug: skia: Change-Id: I482ddf74f8e40d3d0908c840ba5c6ff981ccefbd Reviewed-on: https://skia-review.googlesource.com/73345 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix assert in blink chromeosGravatar Greg Daniel2017-11-19
| | | | | | | | Bug: skia: Change-Id: I894effdde72a8777e0f943decc327d1c6616a69d Reviewed-on: https://skia-review.googlesource.com/73520 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Revert "Revert "Revert "Revert "Revert "Add private grpixelconfigs ↵Gravatar Greg Daniel2017-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for alpha_8 and alpha_half"""""" This reverts commit b092cea5b17420926557d0e8b8d2df6db894725c. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Revert "Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half""""" > > This reverts commit 68ab18611a03449915dfe2ffef96a849b72aa95c. > > Reason for revert: Command Buffer bot > > Original change's description: > > Revert "Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half"""" > > > > This reverts commit 3b2f5b60ff9a82ade01746d7e7cbbcc9348d6c03. > > > > Reason for revert: more attempts at a fixed version > > > > Original change's description: > > > Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half""" > > > > > > 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> > > > > TBR=egdaniel@google.com,bsalomon@google.com > > > > Change-Id: Ifcf1b97c2a9493ce9a77a8aa0f4e5a8fb393def3 > > Reviewed-on: https://skia-review.googlesource.com/72802 > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: Ie2277f59f5a1294392b5d153ce2429c20b3e4182 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/73320 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com Change-Id: Ibba9d2109f35ea710e313d604b3e5ee742916234 Reviewed-on: https://skia-review.googlesource.com/73360 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Revert "Add Atlas Text interface for rendering SDF glyphs."Gravatar Greg Daniel2017-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 39631f3df172feb385527a5d125bc53b0bded7e6. Reason for revert: break google3 rool Original change's description: > Add Atlas Text interface for rendering SDF glyphs. > > This new API is built upon SDF text atlas code from the GPU backend. Unlike using the GPU > backend to draw text, this set of interfaces allows the client to render the SDF glyphs. The > client issues text draws to potentially multiple targets and then the client flushes. The > client then gets commands from Skia with data to put into a texture atlas and vertices to > draw that reference the texture. The client is responsible for creating the texture, uploading > the SDF data to the texture, and drawing the vertices provided by Skia. > > Change-Id: Ie9447e19b85f0ce1c2b942e5216c787a74f335d3 > Reviewed-on: https://skia-review.googlesource.com/59360 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I4aad0c99e645b476fd8ba25731f2a10e8802bb25 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/73420 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Add Atlas Text interface for rendering SDF glyphs.Gravatar Brian Salomon2017-11-17
| | | | | | | | | | | | | | This new API is built upon SDF text atlas code from the GPU backend. Unlike using the GPU backend to draw text, this set of interfaces allows the client to render the SDF glyphs. The client issues text draws to potentially multiple targets and then the client flushes. The client then gets commands from Skia with data to put into a texture atlas and vertices to draw that reference the texture. The client is responsible for creating the texture, uploading the SDF data to the texture, and drawing the vertices provided by Skia. Change-Id: Ie9447e19b85f0ce1c2b942e5216c787a74f335d3 Reviewed-on: https://skia-review.googlesource.com/59360 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* converted Premul / Unpremul to SkSLGravatar Ethan Nicholas2017-11-17
| | | | | | | | Bug: skia: Change-Id: I4944badbb530e17b9ff7cca389f943e0b5982e01 Reviewed-on: https://skia-review.googlesource.com/72983 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Revert "Revert "Revert "Revert "Add private grpixelconfigs for ↵Gravatar Brian Osman2017-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | alpha_8 and alpha_half""""" This reverts commit 68ab18611a03449915dfe2ffef96a849b72aa95c. Reason for revert: Command Buffer bot Original change's description: > Revert "Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half"""" > > This reverts commit 3b2f5b60ff9a82ade01746d7e7cbbcc9348d6c03. > > Reason for revert: more attempts at a fixed version > > Original change's description: > > Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half""" > > > > 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> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: Ifcf1b97c2a9493ce9a77a8aa0f4e5a8fb393def3 > Reviewed-on: https://skia-review.googlesource.com/72802 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ie2277f59f5a1294392b5d153ce2429c20b3e4182 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/73320 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove api call from SkGaussFilterGravatar Herb Derby2017-11-17
| | | | | | | | | | | Simplify the SkGaussFilter API to facilitate using ranged-for loops. Change-Id: Id853bd6bfe342ae95b7c6248c459fbf865f75d1e Reviewed-on: https://skia-review.googlesource.com/73262 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and ↵Gravatar Greg Daniel2017-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | alpha_half"""" This reverts commit 3b2f5b60ff9a82ade01746d7e7cbbcc9348d6c03. Reason for revert: more attempts at a fixed version Original change's description: > Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half""" > > 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> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ifcf1b97c2a9493ce9a77a8aa0f4e5a8fb393def3 Reviewed-on: https://skia-review.googlesource.com/72802 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Do not return null paint if shaderFP is nullGravatar Yuqian Li2017-11-17
| | | | | | | | | | | | | | | | | | | This fixes the ripple bug reported by LG: https://b.corp.google.com/issues/68964656 In that bug, the button is so tall that our image shader returns a null fragment processor because the height exceeds GL_MAX_TEXTURE_SIZE. If we return null paint, the ripple is completely gone. This CL returns a default paint so we can still see the ripple, and that matches HWUI's behaviour. A GM will be added later after some other urgent Android ripple bug fixes. Bug: skia: Change-Id: I9bcafc078916a6a15fbd84d2019f39ac88d2b2f8 Reviewed-on: https://skia-review.googlesource.com/73200 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Add method to sk_gpu_test::TestContext to automatically ↵Gravatar Brian Salomon2017-11-17
| | | | | | | | | | | restore the previous context."" This reverts commit 1e09e461d2ffcf8b07242cfe93dd7d12c4d75866. Change-Id: I95d5544a7baaa078536790493ce4119816a77e94 Reviewed-on: https://skia-review.googlesource.com/72903 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix webp bug compositing alpha frames on opaque (better fix)Gravatar Leon Scroggins III2017-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old code made the wrong assumptions about premultiplication. There are three relevant steps here for decoding a webp frame: 1 tell libwebp to decode 2 colorXform the result (sometimes) 3 blend with the prior frame (sometimes) Rearrange the code to premultiply at the blend step, in a linear space. If the client wants unpremul, the blend step will unpremul after. If there is no blending, the colorXform (if any) will premultiply. If only step 1 is necessary, let libwebp premultiply. This fixes an animated image that has an opaque frame 0 followed by a frame with alpha that blends with it. Add the test image that failed (https://mathiasbynens.be/demo/animated-webp) The prior fix is in 42bae8faa4b9b6a3341b15c6ac7c6b466e95625c. It did not properly handle the colorXform when there was no blending step. Change-Id: I2b9d265ba162eaf7e55a106c8f79341826cee0d3 Reviewed-on: https://skia-review.googlesource.com/72281 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert "Revert "Direct evaluation of gaussian""Gravatar Herb Derby2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a53d999007f92ecd4244b078fa909b76fd0d9f3b. Reason for revert: Bug in SkNx_sse fixed. Original change's description: > Revert "Direct evaluation of gaussian" > > 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> TBR=mtklein@google.com,herb@google.com,brianosman@google.com Change-Id: I4c30e3481308a8148d40223519e286885ec6f880 Reviewed-on: https://skia-review.googlesource.com/72900 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Revert "Add method to sk_gpu_test::TestContext to automatically restore the ↵Gravatar Brian Osman2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | previous context." This reverts commit 5627d65146cb92624b682389e017d488872228c7. Reason for revert: Google3 Original change's description: > Add method to sk_gpu_test::TestContext to automatically restore the previous 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> TBR=bsalomon@google.com,brianosman@google.com Change-Id: Ifb79638c9d4500ca3be9a5be39a5ad78b20247c1 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/72981 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* converted GrAARectEffect to SkSLGravatar Ethan Nicholas2017-11-16
| | | | | | | | Bug: skia: Change-Id: I08254806fe7cb97dab21c5625aa16dd34aea9468 Reviewed-on: https://skia-review.googlesource.com/72120 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Fix Sk8b reading too many bytesGravatar Herb Derby2017-11-16
| | | | | | | Change-Id: I0e94ef1620b54405a23470507e2b2c4bb54731c9 Reviewed-on: https://skia-review.googlesource.com/72860 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Reland "Fold analytic clip FPs into GrReducedClip"Gravatar Chris Dalton2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 4355b26b359d5f2597a10012e7eb11fb3a1f025b 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 Bug: skia:7190 Change-Id: I92f1ed21b6292feb3209fcbd1725487784d420da Reviewed-on: https://skia-review.googlesource.com/72562 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* 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>