aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Revert "Revert "move device headers to core""Gravatar Mike Reed2017-01-19
| | | | | | | | | | | This reverts commit d4bdee5f2c4c2c1387426d287f61645b5af8f8e0. BUG=skia: Change-Id: If5c316f8585881e43321412a2a38f97fd4aa5f02 Reviewed-on: https://skia-review.googlesource.com/7315 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Fix reset and deleting behavior.Gravatar Herb Derby2017-01-19
| | | | | | | | | | * Reset the Arena state. * Call all the dtors before deleting the blocks. Change-Id: I6d90463966ac7bf9f0a4fda229f67d508c86bebb Reviewed-on: https://skia-review.googlesource.com/7308 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Added constant propagation and better variable liveness tracking to skslc.Gravatar Ethan Nicholas2017-01-19
| | | | | | | | | | | | | | | | | | This allows skslc to track the values of variables with constant values across multiple statements and replace variable references with constant values where appropriate. The improved liveness tracking allows skslc to realize that a variable is no longer alive if all references to it have been replaced. It is not yet doing much with this information; better dead code elimination is coming in a followup change. BUG=skia: Change-Id: I068c5d2e9a362e75299b1de1f4575339f5ddc3bb Reviewed-on: https://skia-review.googlesource.com/7302 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* remove clipstack from lua -- deprecatedGravatar Mike Reed2017-01-19
| | | | | | | | | BUG=skia: Change-Id: I7974b5921aeeabc9c58fdf76731d80b8f0702a70 Reviewed-on: https://skia-review.googlesource.com/7309 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* explictly fail to draw unpremul, as this is buggy, incomplete, tricky, and ↵Gravatar Mike Reed2017-01-19
| | | | | | | | | | | unused BUG=skia: Change-Id: Ie9da6015cc4955c0f27f6db53fc6ae532e0132f4 Reviewed-on: https://skia-review.googlesource.com/7304 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* new hacky api to get cliprgn for androidGravatar Mike Reed2017-01-19
| | | | | | | | | BUG=skia: Change-Id: I42711a474906084adb3c888a599ae02505726484 Reviewed-on: https://skia-review.googlesource.com/7220 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Move srgb enable flags to GrProcessorSet from pipelinebuilderGravatar Brian Salomon2017-01-19
| | | | | | | | | BUG=skia: Change-Id: I533d032a8019980b3870d432ada59bac805d7c36 Reviewed-on: https://skia-review.googlesource.com/7268 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* No need to fake makeArrayDefault() now that it exists.Gravatar Mike Klein2017-01-19
| | | | | | | Change-Id: I5e3cbac5caa483dfebd17444d9fb98e1adf1fdff Reviewed-on: https://skia-review.googlesource.com/7267 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Revert "Added constant propagation and better variable liveness tracking to"Gravatar Ethan Nicholas2017-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f54b07121f81a56145fb118a2e18841fc135717d. Reason for revert: ASAN failure Original change's description: > Added constant propagation and better variable liveness tracking to > skslc. > > This allows skslc to track the values of variables with constant > values across multiple statements and replace variable references with > constant values where appropriate. > > The improved liveness tracking allows skslc to realize that a > variable is no longer alive if all references to it have been > replaced. It is not yet doing much with this information; better > dead code elimination is coming in a followup change. > > BUG=skia: > > Change-Id: I6bf267d478b769caf0063ac3597dc16bbe618cb4 > Reviewed-on: https://skia-review.googlesource.com/7033 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> > TBR=egdaniel@google.com,ethannicholas@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: Id2e26bce96b27df73948f8b32d3dff2e358ae0d6 Reviewed-on: https://skia-review.googlesource.com/7274 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Added constant propagation and better variable liveness tracking toGravatar Ethan Nicholas2017-01-19
| | | | | | | | | | | | | | | | | | | | skslc. This allows skslc to track the values of variables with constant values across multiple statements and replace variable references with constant values where appropriate. The improved liveness tracking allows skslc to realize that a variable is no longer alive if all references to it have been replaced. It is not yet doing much with this information; better dead code elimination is coming in a followup change. BUG=skia: Change-Id: I6bf267d478b769caf0063ac3597dc16bbe618cb4 Reviewed-on: https://skia-review.googlesource.com/7033 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Don't require GrPipelineBuilder to build GrPipelineGravatar Brian Salomon2017-01-19
| | | | | | | Change-Id: Ic978913aa9dd0811eac102755934d77b4853a568 Reviewed-on: https://skia-review.googlesource.com/7207 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Use fixed size buffer for RLE bmpsGravatar Leon Scroggins III2017-01-19
| | | | | | | | | | | | | | | | | | | | | | | An RLE bmp reports how many bytes it should contain. This number may be incorrect, or it may be a very large number. Previously, we buffered all bytes in a single allocation. Instead, use a fixed size buffer and only read what fits into the buffer. We already have code to refill the buffer if there is more data, so rely on that to keep reading. Choose an arbitrary size for the buffer. It is larger than the maximum possible number of bytes we need to read at once. Add a test with a test image that reports a very large number for the number of bytes it should contain. With the old method, we would allocate 4 gigs of memory to decode this image, which is unnecessary and may result in OOM. BUG=b/33251605 Change-Id: I6d66eace626002725f62237617140cab99ce42f3 Reviewed-on: https://skia-review.googlesource.com/7028 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* remove metadata from deviceGravatar Mike Reed2017-01-19
| | | | | | | | | | BUG=skia: Change-Id: I46eaea4ddc103bb490b327a52fc5b3ce592c6670 Reviewed-on: https://skia-review.googlesource.com/7240 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Fix reset and deleting behavior."Gravatar Herb Derby2017-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 412a86d014783be99a7a9a0fae407791b95806e8. Reason for revert: <INSERT REASONING HERE> Original change's description: > Fix reset and deleting behavior. > > * Reset the Arena state. > * Call all the dtors before deleting the blocks. > > TBR=mtklein@google.com > > Change-Id: Iac320fec16e572cc9a6184c1f580089ab720f036 > Reviewed-on: https://skia-review.googlesource.com/7221 > Reviewed-by: Herb Derby <herb@google.com> > Commit-Queue: Herb Derby <herb@google.com> > TBR=herb@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I4f4d34e0190a60d418f11326a9a9688d7487b8d8 Reviewed-on: https://skia-review.googlesource.com/7261 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Fix reset and deleting behavior.Gravatar Herb Derby2017-01-18
| | | | | | | | | | | | * Reset the Arena state. * Call all the dtors before deleting the blocks. TBR=mtklein@google.com Change-Id: Iac320fec16e572cc9a6184c1f580089ab720f036 Reviewed-on: https://skia-review.googlesource.com/7221 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* ensure path bounds after rounding contain path edges when using ↵Gravatar Lee Salzman2017-01-18
| | | | | | | | | | | SK_RASTERIZE_EVEN_ROUNDING BUG=skia: Change-Id: I34e93de8fd4faa44336c2698d06595e9c4de86c3 Reviewed-on: https://skia-review.googlesource.com/7040 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Reject horizontal edges in FDot6 precisionGravatar Yuqian Li2017-01-18
| | | | | | | | | | | | This simplifies the slope computation because we don't have to check dy != 0. BUG=skia: Change-Id: I5c09a9217ceed65f81f9d82cb045e33a70218077 Reviewed-on: https://skia-review.googlesource.com/7180 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* Revert "Disallow readPixels() conversions from untagged srcs to tagged dsts"Gravatar Matt Sarett2017-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ccfd1083a7b9d546735ddd1037f3240635cce72d. Reason for revert: Roll is failing. Original change's description: > Disallow readPixels() conversions from untagged srcs to tagged dsts > > This might break the roll into Chrome. But let's see how. > > BUG=skia:6021 > > Change-Id: I2698b5d6fe72d01bed0dc64703b592a03d441a80 > Reviewed-on: https://skia-review.googlesource.com/7127 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Matt Sarett <msarett@google.com> > TBR=msarett@google.com,brianosman@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6021 Change-Id: I4b62178fd7c23f43cf69ca69fc14526ecd503956 Reviewed-on: https://skia-review.googlesource.com/7205 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Revert concave AAAGravatar Yuqian Li2017-01-18
| | | | | | | | | | BUG=skia:6131 TBR=reed@google.com,caryclark@google.com Change-Id: Ib580a4fb9023f43518a3d89cd70bf2589ad02bb6 Reviewed-on: https://skia-review.googlesource.com/7200 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com>
* Disallow readPixels() conversions from untagged srcs to tagged dstsGravatar Matt Sarett2017-01-18
| | | | | | | | | | | This might break the roll into Chrome. But let's see how. BUG=skia:6021 Change-Id: I2698b5d6fe72d01bed0dc64703b592a03d441a80 Reviewed-on: https://skia-review.googlesource.com/7127 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Rename GrProcOptInfo::addProcessors to analyzeProcessorsGravatar Brian Salomon2017-01-18
| | | | | | | Change-Id: I49d5fa568d5b9835ee8a76fd8b2b450ece944728 Reviewed-on: https://skia-review.googlesource.com/7182 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add class GrProcessorSet which represents color and coverage FPs and a ↵Gravatar Brian Salomon2017-01-18
| | | | | | | | | | | | | XPFactory. Eventually ops can use this to hold their ops and create GrPipelines at flush time. For now it is used by GrPipelineBuilder. Change-Id: I0db3892032f2d07238e4c847a790678b3aab456f Reviewed-on: https://skia-review.googlesource.com/7132 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Move read/write-Pixels up to GrSurfaceContextGravatar Robert Phillips2017-01-18
| | | | | | | | | | | | | | This still needs to be propagated out in several ways: replace more instances of GrSurface::read/write-Pixels add colorSpace to more instances of the TextureContext but it establishes a beach-head and is exciting enough as is. Change-Id: If86035aa0245e70b54541e83722b3c75bc5ade13 Reviewed-on: https://skia-review.googlesource.com/7172 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Respect full precision for RGB16 PNGs"Gravatar Matt Sarett2017-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7a090c403da1dad6a2e19f2011158bd894a62d91. Reason for revert: <INSERT REASONING HERE> Original change's description: > Respect full precision for RGB16 PNGs > > BUG=skia: > > CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD > > Change-Id: If58d201daae97bce2f8efbc453c2ec452e682493 > Reviewed-on: https://skia-review.googlesource.com/7085 > Commit-Queue: Matt Sarett <msarett@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> > Reviewed-by: Leon Scroggins <scroggo@google.com> > Reviewed-by: Mike Reed <reed@google.com> > TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,scroggo@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: Ibd9879bc4f65ca0c2457dd0bfb5eb008d9a8f672 Reviewed-on: https://skia-review.googlesource.com/7183 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Revert "Revert "SkImageInfoValidConversion (part 2)""Gravatar Matt Sarett2017-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8dadd9e8936a1c8f44fccdfde7f883dfe2d89c96. Reason for revert: Fixed Chrome. This should roll now. Original change's description: > Revert "SkImageInfoValidConversion (part 2)" > > This reverts commit 94bd50cc5575b90eb60234399d69905b8651c27e. > > Reason for revert: Still breaking roll > > Original change's description: > > SkImageInfoValidConversion (part 2) > > > > Disabling non-opaque -> opaque should be fine now that the > > Chrome unit test has been fixed. > > > > BUG=skia:6021 > > > > Change-Id: I39f087e2695bdefacf793bd137931e3115ec58cb > > Reviewed-on: https://skia-review.googlesource.com/7121 > > Reviewed-by: Brian Osman <brianosman@google.com> > > Commit-Queue: Matt Sarett <msarett@google.com> > > > > TBR=msarett@google.com,brianosman@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia:6021 > > Change-Id: I79843ea6cf60ca94822446c548f3386706924ee6 > Reviewed-on: https://skia-review.googlesource.com/7164 > Commit-Queue: Matt Sarett <msarett@google.com> > Reviewed-by: Matt Sarett <msarett@google.com> > TBR=msarett@google.com,brianosman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6021 Change-Id: I40a85ac2e407de15916f0893d55163aea44157cb Reviewed-on: https://skia-review.googlesource.com/7181 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Respect full precision for RGB16 PNGsGravatar Matt Sarett2017-01-18
| | | | | | | | | | | | | BUG=skia: CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: If58d201daae97bce2f8efbc453c2ec452e682493 Reviewed-on: https://skia-review.googlesource.com/7085 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Turn on concave analytic AAGravatar Yuqian Li2017-01-18
| | | | | | | | | | | | | | | | | | This will allow Skia trybots to exercise analytic AA. But there's still a guard flag in Chromium that prevents layout tests failure. Additionally, we 1. fixed nagative shift problem 2. relax the ASSERT when slope is too large: If slope is large, the accuracy of the slope is limited due to conversion to SkFDot6 and division. Hence we have to relax the constraint. 3. handle the special case where dx != 0 while slope == 0 because of very large dy and limited precision. BUG=skia: Change-Id: Ice70164f3f396f0db3896bedc7b96fbd613078dc Reviewed-on: https://skia-review.googlesource.com/7120 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Revert "SkImageInfoValidConversion (part 2)"Gravatar Matt Sarett2017-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 94bd50cc5575b90eb60234399d69905b8651c27e. Reason for revert: Still breaking roll Original change's description: > SkImageInfoValidConversion (part 2) > > Disabling non-opaque -> opaque should be fine now that the > Chrome unit test has been fixed. > > BUG=skia:6021 > > Change-Id: I39f087e2695bdefacf793bd137931e3115ec58cb > Reviewed-on: https://skia-review.googlesource.com/7121 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Matt Sarett <msarett@google.com> > TBR=msarett@google.com,brianosman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6021 Change-Id: I79843ea6cf60ca94822446c548f3386706924ee6 Reviewed-on: https://skia-review.googlesource.com/7164 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Revert "move device headers to core"Gravatar Mike Reed2017-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 98420d0c9b5934d6b08ea994844476ddedd23de0. Reason for revert: <INSERT REASONING HERE> blink_headless ImageBufferSurface.cpp Original change's description: > move device headers to core > > CANNOT LAND until we update lots of call-sites > > BUG=skia: > > Change-Id: Ibb957dbbf5baf2a2920887e48c03709d1f6c51e1 > Reviewed-on: https://skia-review.googlesource.com/6982 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> > TBR=bungeman@google.com,fmalita@chromium.org,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: I11f108137ed0a8efd553af6ea6039904cf3a3870 Reviewed-on: https://skia-review.googlesource.com/7161 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Fix code that relied on readPixels not doing color space conversionGravatar Brian Osman2017-01-17
| | | | | | | | | | | | | SampleApp doesn't have (can't easily get) an image, so I couldn't use the new helper function there. It's probably still worth having? BUG=skia: Change-Id: I60c208ff958076015a9539359921b9aff68f25c8 Reviewed-on: https://skia-review.googlesource.com/7129 Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* move device headers to coreGravatar Mike Reed2017-01-17
| | | | | | | | | | | CANNOT LAND until we update lots of call-sites BUG=skia: Change-Id: Ibb957dbbf5baf2a2920887e48c03709d1f6c51e1 Reviewed-on: https://skia-review.googlesource.com/6982 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Revert "Continue making Ganesh use absolute texture coordinates"Gravatar Joe Gregorio2017-01-17
| | | | | | | | | | | This reverts commit 4493a9dc9df8cf306a974bde7e0e9c5470ebcdc9. Reason for revert: Continuing failures https://luci-milo.appspot.com/swarming/task/33c693c3539a1410 Change-Id: Id371d6df6a875a5f6872f4ebd91b08a354d949de Reviewed-on: https://skia-review.googlesource.com/7125 Commit-Queue: Joe Gregorio <jcgregorio@google.com> Reviewed-by: Joe Gregorio <jcgregorio@google.com>
* SkImageInfoValidConversion (part 2)Gravatar Matt Sarett2017-01-17
| | | | | | | | | | | | Disabling non-opaque -> opaque should be fine now that the Chrome unit test has been fixed. BUG=skia:6021 Change-Id: I39f087e2695bdefacf793bd137931e3115ec58cb Reviewed-on: https://skia-review.googlesource.com/7121 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* SkSplicer: no need for AI. Clang is good at this.Gravatar Mike Klein2017-01-17
| | | | | | | Change-Id: I1d5b82c0c2748b4d206d8d104fdd5dc04dc2693b Reviewed-on: https://skia-review.googlesource.com/7116 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Pass GrAppliedClip to pipeline creation.Gravatar Brian Salomon2017-01-17
| | | | | | | | | This skips adding the clip's coverage processor to the GrPipelineBuilder before creating GrPipeline. Change-Id: I1282dd8600701ab2b6a049abd8ad571abbbcbbe5 Reviewed-on: https://skia-review.googlesource.com/7020 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Continue making Ganesh use absolute texture coordinatesGravatar Robert Phillips2017-01-17
| | | | | | | | | The idea here is that the GrCoordTransform will actually hold a GrTextureProxy (rather than a GrTexture) and then, in GrGLSLPrimitiveProcessor::GetTransformMatrix, use the instantiated width & height (when uploading the transform matrix) Change-Id: Ibac3a540fcb1967ceef571157d41c1937acfadf8 Reviewed-on: https://skia-review.googlesource.com/6977 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Enforce our rules about valid images when making textures""Gravatar Brian Osman2017-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8bbdd49805bd77fec61e6e31f59d31a361e8be30. Reason for revert: Original change re-landed. Original change's description: > Revert "Enforce our rules about valid images when making textures" > > This reverts commit 7035f3c466826a4116e2f31deb64d1645ea9441b. > > Reason for revert: Need to revert earlier change to fix DEPS roll. > > Original change's description: > > Enforce our rules about valid images when making textures > > > > I'm working to make GrUploadPixmapToTexture more robust > > and easier to follow. This is one step on that journey. > > > > BUG=skia: > > > > Change-Id: I3ac39057e20ff8249843bb41ceca25f629aff31c > > Reviewed-on: https://skia-review.googlesource.com/7037 > > Commit-Queue: Brian Osman <brianosman@google.com> > > Reviewed-by: Matt Sarett <msarett@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > TBR=bsalomon@google.com,msarett@google.com,robertphillips@google.com,brianosman@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Change-Id: I1d7fef2d3777f0fcabc6c36749908409bd31a0f1 > Reviewed-on: https://skia-review.googlesource.com/7094 > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Osman <brianosman@google.com> > TBR=bsalomon@google.com,msarett@google.com,robertphillips@google.com,brianosman@google.com # Not skipping CQ checks because original CL landed > 1 day ago. BUG=skia: Change-Id: I53319ebca4b13175014e6000d7b613932d02612b Reviewed-on: https://skia-review.googlesource.com/7114 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Reland "Add SkImageInfoValidConversion() and SkImageInfoIsValid"Gravatar Matt Sarett2017-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original is at: https://skia-review.googlesource.com/c/6887/ The only change to the original is to temporarily comment out a check in SkImageInfoPriv.h until a Chrome unit test can be fixed. The idea is share these standards for the following: SkImage::readPixels() SkCanvas::readPixels() SkCanvas::writePixels() SkBitmap::readPixels() SkPixmap::readPixels() On the raster side, SkPixmap::readPixels() is the right place to check, because all raster calls go through there eventually. Then at lower levels (ex: SkPixelInfo), we can assert. There's not really a unifying location for gpu calls, so I've added this in multiple places. I haven't really dug into the gpu code to SkASSERT() on invalid cases that we will have already caught. Follow-up work: Similar refactor for SkReadPixelRec::trim(). Code cleanup in SkPixelInfo::CopyPixels() BUG=skia:6021 Change-Id: I6a16f9479bc09e3c87e10c72b0378579f1a70866 Reviewed-on: https://skia-review.googlesource.com/7104 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Simplify GrProcOptInfo initialization.Gravatar Brian Salomon2017-01-17
| | | | | | | | | | | | | Removes unused single channel tracking. Makes it so that only the op/gp can initiate lcd coverage. Makes GrProcOptInfo fragment processor analysis continuable. Change-Id: I003a8aa3836bb64d04b230ddee581dc500e613a9 Reviewed-on: https://skia-review.googlesource.com/7039 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* add and test SkFixed15::to_u8()Gravatar Mike Klein2017-01-17
| | | | | | | Change-Id: Iedbcd2d938122cdc8f6b235745eb6165e348c237 Reviewed-on: https://skia-review.googlesource.com/7108 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* GrTessellator: fix for disappearing thin path.Gravatar Stephen White2017-01-17
| | | | | | | | | | | | | | | | | | simplify_boundary() was incorrectly comparing squared distances against a non-squared constant. For .25 of a pixel, we need to compare against 0.25 squared, or 0.0625. This also includes a fix to get_edge_normal(), We were actually returning edge "vectors", instead of edge normals. This wasn't causing problems, since the error cancels itself out, but it's confusing. BUG=skia: Change-Id: I0d50f2d001ed5e41de2900139c396b9ef75d2ddf Reviewed-on: https://skia-review.googlesource.com/7043 Commit-Queue: Stephan White <senorblanco@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* SkSplicer: fix a typo in srcover stage.Gravatar Mike Klein2017-01-17
| | | | | | | | Change-Id: Iafd23c860395587c77cd412a3b522ba851b4570d Reviewed-on: https://skia-review.googlesource.com/7107 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* do/while loops in SPIR-V no longer cause an assertion failureGravatar Ethan Nicholas2017-01-17
| | | | | | | | | BUG=skia: Change-Id: Ic5f590879d8ada5d4580b5c6e9091ccc9532be4b Reviewed-on: https://skia-review.googlesource.com/6605 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Split ShadowMaskFilter into separate ambient and spot mask filtersGravatar Jim Van Verth2017-01-16
| | | | | | | | | | | | This does not change the public API. BUG=skia:6119 Change-Id: Ibdcd2f8611bc2eec332d8a65e5d51246b89a0a90 Reviewed-on: https://skia-review.googlesource.com/7083 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove SkFallbackAlloc and SkFixedAlloc.Gravatar Herb Derby2017-01-16
| | | | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN;skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN TBR=reed@google.com Change-Id: I1000dc9ed8ad65b249798759d9af99f47fc237d2 Reviewed-on: https://skia-review.googlesource.com/6809 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Add SkImageInfoValidConversion() and SkImageInfoIsValid"Gravatar Brian Osman2017-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit cf5d6caff7a58f1c7ecc36d9a91ccdada5fc7b78. Reason for revert: Chrome DEPS roll failing, based on the unit tests, I suspect this is the cause. Original change's description: > Add SkImageInfoValidConversion() and SkImageInfoIsValid > > The idea is share these standards for the following: > SkImage::readPixels() > SkCanvas::readPixels() > SkCanvas::writePixels() > SkBitmap::readPixels() > SkPixmap::readPixels() > > On the raster side, SkPixmap::readPixels() is the right > place to check, because all raster calls go through > there eventually. Then at lower levels (ex: SkPixelInfo), > we can assert. > > There's not really a unifying location for gpu calls, > so I've added this in multiple places. I haven't really > dug into the gpu code to SkASSERT() on invalid cases > that we will have already caught. > > Follow-up work: > Similar refactor for SkReadPixelRec::trim(). > Code cleanup in SkPixelInfo::CopyPixels() > > BUG=skia:6021 > > Change-Id: I91ecce10e46c1a6530f0af24a9eb8226dbecaaa2 > Reviewed-on: https://skia-review.googlesource.com/6887 > Reviewed-by: Brian Osman <brianosman@google.com> > Reviewed-by: Mike Reed <reed@google.com> > TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reed@google.com,reviews@skia.org # Not skipping CQ checks because original CL landed > 1 day ago. BUG=skia:6021 Change-Id: I63b88e90bdbb3051a14de00ac73a8351ab776d25 Reviewed-on: https://skia-review.googlesource.com/7095 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Enforce our rules about valid images when making textures"Gravatar Brian Osman2017-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7035f3c466826a4116e2f31deb64d1645ea9441b. Reason for revert: Need to revert earlier change to fix DEPS roll. Original change's description: > Enforce our rules about valid images when making textures > > I'm working to make GrUploadPixmapToTexture more robust > and easier to follow. This is one step on that journey. > > BUG=skia: > > Change-Id: I3ac39057e20ff8249843bb41ceca25f629aff31c > Reviewed-on: https://skia-review.googlesource.com/7037 > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Matt Sarett <msarett@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,msarett@google.com,robertphillips@google.com,brianosman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: I1d7fef2d3777f0fcabc6c36749908409bd31a0f1 Reviewed-on: https://skia-review.googlesource.com/7094 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Enforce our rules about valid images when making texturesGravatar Brian Osman2017-01-14
| | | | | | | | | | | | | I'm working to make GrUploadPixmapToTexture more robust and easier to follow. This is one step on that journey. BUG=skia: Change-Id: I3ac39057e20ff8249843bb41ceca25f629aff31c Reviewed-on: https://skia-review.googlesource.com/7037 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Exercise concave analytic AA"Gravatar Mike Reed2017-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 480a1c6a1643ccbe959fa849fb91df6d86d51ec3. Reason for revert: <INSERT REASONING HERE> 2.32m done 8888 skp http___www_yespornplease_com.skp 2.32m start 8888 skp http___www_freepostcodelottery_com.skp 2.32m done 8888 skp http___www_pingwest_com.skp 2.32m start 8888 skp http___www_fbdown_net.skp ../../../../../work/skia/src/core/SkAnalyticEdge.cpp:116: fatal error: "assert(slope == SK_MaxS32 || SkAbs32(fSnappedX + SkFixedMul(slope, newSnappedY - fSnappedY) - newSnappedX) < SK_FixedHalf)" ../../../src/core/SkScan_AAAPath.cpp:746:61: runtime error: left shift of negative value -1 #0 0x30c120a in blit_aaa_trapezoid_row(AdditiveBlitter*, int, int, int, int, int, int, int, unsigned char, unsigned char*, bool, bool, bool) (/b/swarm_slave/w/irNiQodn/out/Debug/dm+0x30c120a) #1 0x30bc557 in aaa_walk_edges(SkAnalyticEdge*, SkAnalyticEdge*, SkPath::FillType, AdditiveBlitter*, int, int, int, int, bool, bool, bool, bool) (/b/swarm_slave/w/irNiQodn/out/Debug/dm+0x30bc557) #2 0x30aed31 in aaa_fill_path(SkPath const&, SkIRect const&, AdditiveBlitter*, int, int, bool, bool, bool) (/b/swarm_slave/w/irNiQodn/out/Debug/dm+0x30aed31) #3 0x30addc5 in SkScan::AAAFillPath(SkPath const&, SkRegion const&, SkBlitter*, bool) (/b/swarm_slave/w/irNiQodn/out/Debug/dm+0x30addc5) #4 0x30af56d in SkScan::AAAFillPath(SkPath const&, SkRasterClip const&, SkBlitter*) (/b/swarm_slave/w/irNiQodn/out/Debug/dm+0x30af56d) #5 0x30dc96b in SkScan::AntiFillPath(SkPath const&, SkRasterClip const&, SkBlitter*) (/b/swarm_slave/w/irNiQodn/out/Debug/dm+0x30dc96b) Original change's description: > Exercise concave analytic AA > > This will allow Skia trybots (e.g., 1M skp) to exercise analytic AA. > There's still a guard flag in Chromium that prevents layout tests failure. > > TBR=reed@google.com,caryclark@google.com > > BUG=skia: > > Change-Id: Ie893c10d34bf969e013ef047c1bbf4b004d584cc > Reviewed-on: https://skia-review.googlesource.com/7091 > Reviewed-by: Yuqian Li <liyuqian@google.com> > Commit-Queue: Yuqian Li <liyuqian@google.com> > TBR=caryclark@google.com,liyuqian@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: I9b621f2d0cd143b37a2570a10471d2ad8cb149fd Reviewed-on: https://skia-review.googlesource.com/7092 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Exercise concave analytic AAGravatar Yuqian Li2017-01-14
| | | | | | | | | | | | | | This will allow Skia trybots (e.g., 1M skp) to exercise analytic AA. There's still a guard flag in Chromium that prevents layout tests failure. TBR=reed@google.com,caryclark@google.com BUG=skia: Change-Id: Ie893c10d34bf969e013ef047c1bbf4b004d584cc Reviewed-on: https://skia-review.googlesource.com/7091 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>