aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
Commit message (Collapse)AuthorAge
* Reland "Respect canvas size and frame offset in webp decoder"Gravatar Matt Sarett2017-02-06
| | | | | | | | | | | | | | Original Change Reviewed At: https://skia-review.googlesource.com/c/7800 CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN BUG=skia:6185 Change-Id: I92baa9070e15ef3c62dd347c08c906c2715dda10 Reviewed-on: https://skia-review.googlesource.com/8050 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Make iOS main() functions normal.Gravatar Mike Klein2017-02-06
| | | | | | | | | | | The weird foo_mains are no longer needed when we build with GN. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm-Debug-iOS Change-Id: Iae50696741e0dc277d96dda4968a1ae41cb17c8a Reviewed-on: https://skia-review.googlesource.com/8064 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Stephan Altmueller <stephana@google.com>
* Revert "Respect canvas size and frame offset in webp decoder"Gravatar Robert Phillips2017-02-06
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0f33970c8d950a68b7d83cc626ac0500953d6b15. Reason for revert: msan complaint Original change's description: > Respect canvas size and frame offset in webp decoder > > BUG=skia:6185 > > Change-Id: Id543cb689a5e33b800ebbc18f4a234e78a4c4298 > Reviewed-on: https://skia-review.googlesource.com/7800 > Commit-Queue: Matt Sarett <msarett@google.com> > Reviewed-by: Leon Scroggins <scroggo@google.com> > TBR=borenet@google.com,msarett@google.com,scroggo@google.com,reviews@skia.org # Not skipping CQ checks because original CL landed > 1 day ago. BUG=skia:6185 Change-Id: Ie01dc7d7ebfebe36a235335d0d8cb28bccb2ecff Reviewed-on: https://skia-review.googlesource.com/8046 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Respect canvas size and frame offset in webp decoderGravatar Matt Sarett2017-02-03
| | | | | | | | | BUG=skia:6185 Change-Id: Id543cb689a5e33b800ebbc18f4a234e78a4c4298 Reviewed-on: https://skia-review.googlesource.com/7800 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* expose new tight-bounds method on SkPathGravatar Mike Reed2017-02-03
| | | | | | | | | BUG=skia: Change-Id: Ie50df49c1758af203042a84dc2cd505046373d2c Reviewed-on: https://skia-review.googlesource.com/7996 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Make shadow tessellators fail gracefully and add unit test for this.Gravatar Brian Salomon2017-02-03
| | | | | | | Change-Id: I42a9d06a18928588347a6dea2f6150518ba29aa8 Reviewed-on: https://skia-review.googlesource.com/7886 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* experimental tight-boundsGravatar Mike Reed2017-02-03
| | | | | | | | | | | | | not sure about api -- perhaps it could just return the bounds, and make them 0,0,0,0 if the path is empty -- the caller can trivially know if the path is empty themselves. BUG=skia: Change-Id: I2dbb861e8d981b27c5a6833643977f5bd6802217 Reviewed-on: https://skia-review.googlesource.com/7989 Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Added dead variable / code elimination to skslc.Gravatar Ethan Nicholas2017-02-03
| | | | | | | | | BUG=skia: Change-Id: Ib037730803a8f222f099de0e001fe06ad452a22c Reviewed-on: https://skia-review.googlesource.com/7584 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Revert "Replaced all calls to fragmentPosition() with sk_FragCoord"Gravatar Ethan Nicholas2017-02-02
| | | | | | | | | | | | | This reverts commit de4d301881e7fd084f1f0b359ec6f9b2bf8bd4c5. Reason for revert: several Chrome rendering bugs on Mac BUG=skia: Change-Id: I492082b0b7e7c902ede4b598c5809f604d210ce1 Reviewed-on: https://skia-review.googlesource.com/7887 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* make GR_TEST_UTILS=0 workGravatar Hal Canary2017-02-02
| | | | | | | Change-Id: Icce35140ca08b65217b32e6b1ffc6ad2f38ab37f Reviewed-on: https://skia-review.googlesource.com/7840 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Have Vulkan advertise that compressed textures are currently unsupportedGravatar Robert Phillips2017-02-02
| | | | | | | | | | This allows the ProxyTest to run on the Vulkan backend. Change-Id: I89a3212bdc2d4a1ceb0c27d0ff60f558d7b12647 Reviewed-on: https://skia-review.googlesource.com/7880 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Disable Vulkan backend in DeferredProxyTest (for now)Gravatar Robert Phillips2017-02-01
| | | | | | | | | With the expansion in https://skia-review.googlesource.com/c/7864/ (Add test for proactive proxy-creation failure) the ProxyTest is now failing for the PixelXL and N6p in Vulkan mode Change-Id: Iebefa1be4f1a5deb450e1f2083a06f3f2249c382 Reviewed-on: https://skia-review.googlesource.com/7870 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Fix memory leak in DeferredProxyTestGravatar Robert Phillips2017-02-01
| | | | | | | | Change-Id: Ib183f71e972b0756b8558098dabe32b6934c0847 Reviewed-on: https://skia-review.googlesource.com/7866 Commit-Queue: Robert Phillips <robertphillips@google.com> Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Hal Canary <halcanary@google.com>
* Expand SkImage::getTextureHandle callGravatar Robert Phillips2017-02-01
| | | | | | | | | | | | | | | | AFAICT cc/output/gl_renderer.cc only calls SkImage:getTexture to determine the origin of the backing GrTexture. What do y'all think of this CL as a means of removing that call to getTexture? One alternative would be to add a new entry point like: bool SkImage::getBackendTextureDesc(GrBackendTextureDesc* desc) const; which fills in the entire desc and returns whether the image is texture backed. Change-Id: Idd302c0a11d69ad08e0100bcf546b3bbaa7cf27e Reviewed-on: https://skia-review.googlesource.com/7788 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add test for proactive proxy-creation failureGravatar Robert Phillips2017-02-01
| | | | | | | | | | | This is a follow up to https://skia-review.googlesource.com/c/7828/ (Add more pre-checks to surfaceProxy creation) BUG=687174 Change-Id: I97385afbdaf1881b806ee37737020564e3f4d444 Reviewed-on: https://skia-review.googlesource.com/7864 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Reduce use of SkImage_Base::peekTextureGravatar Robert Phillips2017-01-31
| | | | | | | Change-Id: I079093c9706df4911d47fba04b786e59240e8cb4 Reviewed-on: https://skia-review.googlesource.com/7792 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* GIF: Only report a frame after knowing dependencyGravatar Leon Scroggins III2017-01-30
| | | | | | | | | | | | | | | | | | | | Previously, getFrameInfo might report a frame that was truncated prior to setting its requiredFrame. As a result, fRequiredFrame may be different depending on how much data has already been received. If there is a local color table, do not report the frame until the color table has been received, since that is used to determine fRequiredFrame. If there is no local color table, set fRequiredFrame and report the frame after reading the header. Add a test. Replace make_from_resource with GetResourceAsData Change-Id: I1b697f766c1d0e1e12ab2ae1d27167af5193395d Reviewed-on: https://skia-review.googlesource.com/7756 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Add test for outre GrSurfaceProxy requestsGravatar Robert Phillips2017-01-30
| | | | | | | | | This would've caught the N7 failure in https://skia-review.googlesource.com/c/7738/ (Make blur utils take GrTextureProxies) Change-Id: I67b56c9d38c14829b2812253c2e3f3e54eb585a5 Reviewed-on: https://skia-review.googlesource.com/7751 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Rationalize GrContext's Gr*Proxy getter namingGravatar Robert Phillips2017-01-30
| | | | | | | | | | | | | | | | | | | | | | | | This CL replaces the entry points: asDeferredSurface asDeferredTexture asDeferredRenderTarget with: GrSurfaceProxy* asSurfaceProxy sk_sp<GrSurfaceProxy> asSurfaceProxyRef GrTextureProxy* asTextureProxy sk_sp<GrTextureProxy> asTextureProxyRef GrRenderTargetProxy* asRenderTargetProxy sk_sp<GrRenderTargetProxy> asRenderTargetProxyRef Change-Id: I7c2b1ea3d702023ff23019815ca13c9ff6f3b32d Reviewed-on: https://skia-review.googlesource.com/7741 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Do not crash when the resources are missingGravatar Leon Scroggins III2017-01-30
| | | | | | | | | | | In test_conversion_possible BUG=skia:5314 Change-Id: Ia0e4178a262820b4161e55e07b0669f18322a64b Reviewed-on: https://skia-review.googlesource.com/7742 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Generate Android build targets for dm and nanobenchGravatar Leon Scroggins III2017-01-27
| | | | | | | | | | | | | | | Generate targets for dm and nanobench from ninja and add them to the generated Android.bp file. Remove nanobenchAndroid and SkAndroidSDKCanvas. These rely on HWUI internals and are currently unused. Update gyp file references to removed files, just in case. Change-Id: Ic6ae18a70bfd0c33804e7996d077f2081dfdfe07 Reviewed-on: https://skia-review.googlesource.com/7635 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Set fOptions in SkCodec::getPixelsGravatar Leon Scroggins III2017-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Subclasses sometimes try to read fOptions, but it used to not get set for full decodes. As a result, they might be reading the Options from a previous scanline/incremental decode. In addition to being wrong, this is bad in the case of an fSubset pointing to a rectangle that no longer exists. So set fOptions in getPixels, prior to any attempts to read it by sub- classes. Use a different workaround for the webp/incomplete bug. Set fSubset to null prior to calling fillIncompleteImage. It can only be non-null for webp, and in that case we do not want the fill call to be using the subset width. Modify the Codec_jpeg_rewind test to use an incomplete image, so that it will also test fillIncompleteImage. DM tests of inc0.webp and inc1.webp will verify that the incomplete bug has not resurfaced. BUG=skia:5772 Change-Id: If5e1e3c9a7f337183783299c0a9e58dcbbc84119 Reviewed-on: https://skia-review.googlesource.com/7682 Commit-Queue: Matt Sarett <msarett@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* give up on big cubics (for now) and just draw a lineGravatar Mike Reed2017-01-27
| | | | | | | | | BUG=683631, skia:6152 Change-Id: I69aa741af74a37e1d7bed25ad0401535599f6af0 Reviewed-on: https://skia-review.googlesource.com/7659 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add utilities to create GrSurfaceProxy & GrSurfaceContext from backend descsGravatar Robert Phillips2017-01-27
| | | | | | | Change-Id: Iff2278de8ddd6c0dff74e5cf1996702bad31217b Reviewed-on: https://skia-review.googlesource.com/7647 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Start of rewrite of GrFragmentProcessor optimizations.""Gravatar Brian Salomon2017-01-27
| | | | | | | | | | | This reverts commit 052fd5158f7f85e478a9f87c45fecaacf7d0f5f3. Disables the test (of unused code) until platform-specific issues are addressed. Change-Id: I7aa23a07954fccf382aa07d28afcbffb0bebcd6d Reviewed-on: https://skia-review.googlesource.com/7656 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Consolidate read/write-Pixels testing code - take 2Gravatar Robert Phillips2017-01-27
| | | | | | | Change-Id: I0de058a9eec749a7086138ac2eb79732f06ce55e Reviewed-on: https://skia-review.googlesource.com/7650 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Start of rewrite of GrFragmentProcessor optimizations."Gravatar Ethan Nicholas2017-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 85eb4226a4cd8c10a0e3f3ba2f3a60efbb2dd61b. Reason for revert: test failures on Windows, e.g. https://chromium-swarm.appspot.com/task?id=33f9527484414110&refresh=10 Original change's description: > Start of rewrite of GrFragmentProcessor optimizations. > > This adds a replacement for computeInvariantOutput buts does not use it yet. The replacement allows for three types of optimizations: > > * known input color -> known output color for GrFP elimination > * tracking of whether all color processors modulate their input for the "tweak alpha" optimziation > * opaqueness tracking > > This loses some of the generality of computInvariantOutput. It does not track the known output status of individual color components (other than opaque alpha). It does not track whether GrFragmentProcessors read their input color. It doesn't allow a processor that will receive non-constant output to advertise that it produces a constant output. These could probably be added back in the unlikely case that they prove valuable. > > Unlike computeInvariantOutput the optimizations are decided at instantiation time and constant colors are expressed as GrColor4f rather than GrColor. > > Change-Id: I684d3f9050693dde2d28154fa695e049ed8cf61a > Reviewed-on: https://skia-review.googlesource.com/7481 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> > TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I2390df257456013fa74137cb5d7b5a93820c291e Reviewed-on: https://skia-review.googlesource.com/7652 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Start of rewrite of GrFragmentProcessor optimizations.Gravatar Brian Salomon2017-01-27
| | | | | | | | | | | | | | | | | This adds a replacement for computeInvariantOutput buts does not use it yet. The replacement allows for three types of optimizations: * known input color -> known output color for GrFP elimination * tracking of whether all color processors modulate their input for the "tweak alpha" optimziation * opaqueness tracking This loses some of the generality of computInvariantOutput. It does not track the known output status of individual color components (other than opaque alpha). It does not track whether GrFragmentProcessors read their input color. It doesn't allow a processor that will receive non-constant output to advertise that it produces a constant output. These could probably be added back in the unlikely case that they prove valuable. Unlike computeInvariantOutput the optimizations are decided at instantiation time and constant colors are expressed as GrColor4f rather than GrColor. Change-Id: I684d3f9050693dde2d28154fa695e049ed8cf61a Reviewed-on: https://skia-review.googlesource.com/7481 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Consolidate read/write-Pixels testing code"Gravatar Robert Phillips2017-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0bd4a23ef40d74ef051eb7f457c133d5febc377d. Reason for revert: What?!? Original change's description: > Consolidate read/write-Pixels testing code > > Change-Id: I853f8f747ed0040333473fbc722cabac84e6ac83 > Reviewed-on: https://skia-review.googlesource.com/7560 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Osman <brianosman@google.com> > TBR=robertphillips@google.com,brianosman@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I9cb049a4f86350f849d00839a55b55fb07e861b0 Reviewed-on: https://skia-review.googlesource.com/7648 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Consolidate read/write-Pixels testing codeGravatar Robert Phillips2017-01-27
| | | | | | | Change-Id: I853f8f747ed0040333473fbc722cabac84e6ac83 Reviewed-on: https://skia-review.googlesource.com/7560 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Add SkICC::rawTransferFnData()Gravatar Matt Sarett2017-01-26
| | | | | | | | | BUG=skia: Change-Id: I912b044a0091a4d396c954d1ad1d84f5f8d50f56 Reviewed-on: https://skia-review.googlesource.com/7366 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* add test for big cubic -- currently disabledGravatar Mike Reed2017-01-26
| | | | | | | | | BUG=skia: Change-Id: Ief11a1e54d427b1241b47f3cfab5b44fb656443a Reviewed-on: https://skia-review.googlesource.com/7607 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Move SkGammaColorFilter to tools, limit to sRGBGravatar Brian Osman2017-01-26
| | | | | | | | | | | Similarly, limit GrGammaEffect to sRGB (and rename it). BUG=skia: Change-Id: I88feef11ab7040bca2fa4c2eed71923ded87a0d0 Reviewed-on: https://skia-review.googlesource.com/7375 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove redundant caps field from GrProcessorTestDataGravatar Brian Salomon2017-01-25
| | | | | | | Change-Id: Ic31338f08d1bd5b55ffab75d30c0f54436c8b917 Reviewed-on: https://skia-review.googlesource.com/7510 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Use GrSurfaceContext::read/write-Pixels moreGravatar Robert Phillips2017-01-25
| | | | | | | | Change-Id: I04bcaf91aa7a43e0563e332c1fe2836d762a04d4 Reviewed-on: https://skia-review.googlesource.com/7520 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add test for bad reuse of SkJpegCodec internal stateGravatar Matt Sarett2017-01-25
| | | | | | | | | | | | This is a test for the following fix: https://skia-review.googlesource.com/c/7451/ b/34637813 Change-Id: I3fdb0d7d50537948039b75c3a22454e789ca810a Reviewed-on: https://skia-review.googlesource.com/7454 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Revert "Remove SkImage::MakeTextureFromPixmap"Gravatar Brian Osman2017-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8ccbbb455c6ef194920c47e846b95b50f5017138. Reason for revert: Chrome perf regression BUG=chrome:684483 Original change's description: > Remove SkImage::MakeTextureFromPixmap > > Another step towards reducing the number of texture upload paths. > > BUG=skia: > > Change-Id: Ica185e7334f52dc9ebf87e21fe6f60589ef87bb3 > Reviewed-on: https://skia-review.googlesource.com/7346 > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,cblume@google.com # Not skipping CQ checks because original CL landed > 1 day ago. BUG=skia: Change-Id: I8bf6970b764018f3ebcac8123e4d6a8ad05317ff Reviewed-on: https://skia-review.googlesource.com/7484 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* conservativelyContainsRect is assertingGravatar Mike Reed2017-01-24
| | | | | | | | | BUG=skia:6156 Change-Id: Iea571f001e9a4c4e70313c1bd49fb4e3c598869a Reviewed-on: https://skia-review.googlesource.com/7423 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* restore bool version of clip-boundsGravatar Mike Reed2017-01-24
| | | | | | | | | BUG=skia: Change-Id: I94e35566cf5bcd250515c71a566dd79030e2acb4 Reviewed-on: https://skia-review.googlesource.com/7430 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* make SkPath::conservativelyContainsRect consume degenerate segmentsGravatar Lee Salzman2017-01-23
| | | | | | | | | BUG=skia: Change-Id: I3a39318bceaf6c95a50d84961d93af4ba62550e3 Reviewed-on: https://skia-review.googlesource.com/6900 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Stop tracking whether GrFragmentProcessors read their inputGravatar Brian Salomon2017-01-23
| | | | | | | Change-Id: Id5338901978b97289798eaef873527597bd8dfd6 Reviewed-on: https://skia-review.googlesource.com/7414 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Move shader register setup to SkRasterPipelineBlitter.Gravatar Mike Klein2017-01-23
| | | | | | | | | | | | | | | | | | | | | We've been seeding the initial values of our registers to x+0.5,y+0.5, 1,0, 0,0,0,0 (useful values for shaders to start with) in all pipelines. This CL changes that to do so only when blitting, and only when we have a shader. The nicest part of this change is that SkRasterPipeline itself no longer needs to have a concept of y, or what x means. It just marches x through [x,x+n), and the blitter handles y and layers the meaning of "dst x coordinate" onto x. This ought to make SkSplicer a little easier to work with too. dm --src gm --config f16 srgb 565 all draws the same. Change-Id: I69d8c1cc14a06e5dfdd6a7493364f43a18f8dec5 Reviewed-on: https://skia-review.googlesource.com/7353 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Reland "Refactor trimming logic for read/writePixels()"Gravatar Matt Sarett2017-01-23
| | | | | | | | | | | | | | | | | | | | | | | Original CL: https://skia-review.googlesource.com/c/7326/ (1) Move trimming logic into Bitmap/Pixmap level for raster. Everything goes through here, so we'll only do the work once. (2) This means it also goes to GPU level. (3) Always use SkReadPixelsRec rather than inlining the logic. (4) Create an SkWritePixelsRec to encapsulate write trimming. (5) Disabled kIndex8 as a dst - always. CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug BUG=skia:6021 Change-Id: I25a964e3c610c4e36d195a255e2150657baec649 Reviewed-on: https://skia-review.googlesource.com/7404 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* change clip-bounds getters to always return the rectGravatar Mike Reed2017-01-23
| | | | | | | | | | | | | | | | | | (actually fixes undefined result in getClipBounds) future CLs - update all callers to new apis - move/rename virtuals BUG=skia: DOCS_PREVIEW= https://skia.org/?cl=7400 Change-Id: I45b93014e915c0d1c36d97d948c9ac8931f23258 Reviewed-on: https://skia-review.googlesource.com/7400 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Refactor trimming logic for read/writePixels()"Gravatar Matt Sarett2017-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 977f64cbfad1ecd7fd4b1231c694c7e828fda1f0. Reason for revert: Triggering nanobench asserts Original change's description: > Refactor trimming logic for read/writePixels() > > (1) Move trimming logic into Bitmap/Pixmap level for > raster. Everything goes through here, so we'll > only do the work once. > (2) This means it also goes to GPU level. > (3) Always use SkReadPixelsRec rather than inlining > the logic. > (4) Create an SkWritePixelsRec to encapsulate write > trimming. > (5) Disabled kIndex8 as a dst - always. > > BUG=skia:6021 > > Change-Id: I748f50c3b726f7c6de5462e2b1ccb54bc387a510 > Reviewed-on: https://skia-review.googlesource.com/7326 > 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: If9aacc6ce8b20e3dfe8a0f22ebca653f28356175 Reviewed-on: https://skia-review.googlesource.com/7379 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Revert "offset angle check edge in common"Gravatar Cary Clark2017-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d2eb581ebc8f8009e80cccccd74d5b341ef5bd5b. Reason for revert: broke Google3 MSAN run of dm Original change's description: > offset angle check edge in common > > When curves cross, their intersection points may be nearby, but not exactly the same. > Sort the angles formed by the crossing curves when all angles don't have the same > origin. > > This sets up the framework to solve test case that currently fail (e.g., joel6) but > does not fix all related test cases (e.g., joel9). > > All older existing test cases, including extended tests, pass. > > Rework the test framework to better report when tests expected to produce failing > results now pass. > > Add new point and vector operations to support offset angles. > > TBR=reed@google.com > BUG=skia:6041 > > Change-Id: I67c651ded0a25e99ad93d55d6a35109b3ee3698e > Reviewed-on: https://skia-review.googlesource.com/6624 > Commit-Queue: Cary Clark <caryclark@google.com> > Reviewed-by: Cary Clark <caryclark@google.com> > TBR=caryclark@google.com,reviews@skia.org # Not skipping CQ checks because original CL landed > 1 day ago. BUG=skia:6041 Change-Id: I43db0808522ac44aceeb4f70e296167ea84a3663 Reviewed-on: https://skia-review.googlesource.com/7373 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* Refactor trimming logic for read/writePixels()Gravatar Matt Sarett2017-01-23
| | | | | | | | | | | | | | | | | | | (1) Move trimming logic into Bitmap/Pixmap level for raster. Everything goes through here, so we'll only do the work once. (2) This means it also goes to GPU level. (3) Always use SkReadPixelsRec rather than inlining the logic. (4) Create an SkWritePixelsRec to encapsulate write trimming. (5) Disabled kIndex8 as a dst - always. BUG=skia:6021 Change-Id: I748f50c3b726f7c6de5462e2b1ccb54bc387a510 Reviewed-on: https://skia-review.googlesource.com/7326 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* clipstack is now privateGravatar Mike Reed2017-01-21
| | | | | | | | | | BUG=skia: Change-Id: I91e601d59eb5d46de17c280898ca01fcfab89e5c NOTREECHECKS=True Reviewed-on: https://skia-review.googlesource.com/7362 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Remove SkImage::MakeTextureFromPixmapGravatar Brian Osman2017-01-20
| | | | | | | | | | | Another step towards reducing the number of texture upload paths. BUG=skia: Change-Id: Ica185e7334f52dc9ebf87e21fe6f60589ef87bb3 Reviewed-on: https://skia-review.googlesource.com/7346 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Continue making Ganesh use absolute texture coordinates - take 2Gravatar Robert Phillips2017-01-20
| | | | | | | | | | | | 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) Relanding of: https://skia-review.googlesource.com/c/6977/ Change-Id: Ibc9b9e354f7fc23b1a6e6e4fe7c9fe3cef771c02 Reviewed-on: https://skia-review.googlesource.com/7265 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>