aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Avoid devolving to a path when conservative clipping with RRectsGravatar robertphillips2015-11-23
| | | | Review URL: https://codereview.chromium.org/1461923004
* Take span len into account when determining whether gradient is verticalGravatar fmalita2015-11-23
| | | | | | R=reed@google.com Review URL: https://codereview.chromium.org/1471753004
* Add SkPngChunkReader.Gravatar scroggo2015-11-23
| | | | | | | | | | | | | | | | | | | | This class allows a client of SkCodec to read chunks in the data stream that are not recognized by libpng. This is used by Android to specify ninepatch data. Taken from SkImageDecoder::Peeker. Modify the name of the class and its method to be more specific to their use. Make SkImageDecoder::Peeker a subclass of the new class, to help stage the change in Android. Add a test to verify that it works. BUG=skia:4574 BUG=skia:3257 Committed: https://skia.googlesource.com/skia/+/3389e00136188800b98ca69488c0418c374fd78b Review URL: https://codereview.chromium.org/1040453002
* Revert of Add SkPngChunkReader. (patchset #9 id:160001 of ↵Gravatar scroggo2015-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1040453002/ ) Reason for revert: Busted Chromium builds: ../../third_party/skia/src/ports/SkImageDecoder_empty.cpp:63:17: error: no type named 'Peeker' in 'SkImageDecoder' SkImageDecoder::Peeker* SkImageDecoder::setPeeker(Peeker*) { ~~~~~~~~~~~~~~~~^ ../../third_party/skia/src/ports/SkImageDecoder_empty.cpp:63:51: error: unknown type name 'Peeker' SkImageDecoder::Peeker* SkImageDecoder::setPeeker(Peeker*) { Original issue's description: > Add SkPngChunkReader. > > This class allows a client of SkCodec to read chunks in the data > stream that are not recognized by libpng. This is used by Android > to specify ninepatch data. > > Taken from SkImageDecoder::Peeker. Modify the name of the class > and its method to be more specific to their use. Make > SkImageDecoder::Peeker a subclass of the new class, to help stage > the change in Android. > > Add a test to verify that it works. > > BUG=skia:4574 > BUG=skia:3257 > > Committed: https://skia.googlesource.com/skia/+/3389e00136188800b98ca69488c0418c374fd78b TBR=djsollen@google.com,reed@google.com,msarett@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4574 Review URL: https://codereview.chromium.org/1472863003
* Revert of Switch Skia's libjpeg-turbo to 1.4.2 (patchset #2 id:160001 of ↵Gravatar msarett2015-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1469553002/ ) Reason for revert: Breaking jpeg decodes everywhere. I need to look into this. Original issue's description: > Switch Skia's libjpeg-turbo to 1.4.2 > > The Android security team wants Android to be on the latest version > of libjpeg-turbo, so Skia should test on this version as well. > > This shouldn't affect Gold. > > I wouldn't be surprised if this causes a few ASAN/valgrind issues > that we need to fix. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/8e8eda9d4d2e6e65e3339eaaaf8144a4ef6c721c TBR=scroggo@google.com,djsollen@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1468073002
* Add SkPngChunkReader.Gravatar scroggo2015-11-23
| | | | | | | | | | | | | | | | | | This class allows a client of SkCodec to read chunks in the data stream that are not recognized by libpng. This is used by Android to specify ninepatch data. Taken from SkImageDecoder::Peeker. Modify the name of the class and its method to be more specific to their use. Make SkImageDecoder::Peeker a subclass of the new class, to help stage the change in Android. Add a test to verify that it works. BUG=skia:4574 BUG=skia:3257 Review URL: https://codereview.chromium.org/1040453002
* Review URL: https://codereview.chromium.org/1464593004Gravatar bsalomon2015-11-23
|
* Switch Skia's libjpeg-turbo to 1.4.2Gravatar msarett2015-11-23
| | | | | | | | | | | | | | The Android security team wants Android to be on the latest version of libjpeg-turbo, so Skia should test on this version as well. This shouldn't affect Gold. I wouldn't be surprised if this causes a few ASAN/valgrind issues that we need to fix. BUG=skia: Review URL: https://codereview.chromium.org/1469553002
* Fix GLInterfaceValidation test after "Remove GrContextFactory::getGLContext"Gravatar kkinnunen2015-11-23
| | | | | | | Fix GLInterfaceValidation test crash after "Remove GrContextFactory::getGLContext" commit. Review URL: https://codereview.chromium.org/1464283002
* Remove GrContextFactory::getGLContextGravatar kkinnunen2015-11-22
| | | | | | | | | | | | | | | | | Remove GrContextFactory::getGLContext, it is problematic: It has the bug of not checking for the context type. It also is error-prone, since the GL context is not made current, but it is callers may assume it is current. It is also not used very much. Clients can use GrContextFactory::getContextInfo. BUG=skia: Review URL: https://codereview.chromium.org/1455093003
* Initial version of external_oes texture support and unit testGravatar bsalomon2015-11-22
| | | | | | Committed: https://skia.googlesource.com/skia/+/27a048700778d4cebfc23301d1780649791b0e03 Review URL: https://codereview.chromium.org/1451683002
* use pinned value during lerp for vertical gradientsGravatar reed2015-11-22
| | | | | | | | slight formatting clean up on associated gm BUG=skia: Review URL: https://codereview.chromium.org/1471543002
* SkPDF: add `final` keyword to leaf classesGravatar halcanary2015-11-22
| | | | Review URL: https://codereview.chromium.org/1461403002
* Update SKP versionGravatar update-skps2015-11-22
| | | | | | | | | Automatic commit by the RecreateSKPs bot. TBR= NO_MERGE_BUILDS Review URL: https://codereview.chromium.org/1469693002
* Revert of Add stroking support to distance field path renderer (patchset #8 ↵Gravatar fmalita2015-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:160001 of https://codereview.chromium.org/1460873002/ ) Reason for revert: Valgrind failures: http://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind/builds/420/steps/dm/logs/stdio ==7062== Use of uninitialised value of size 8 ==7062== at 0x8ECA9A: AADistanceFieldPathBatch::onPrepareDraws(GrVertexBatch::Target*) (SkTDynamicHash.h:94) ==7062== by 0x90DCF5: GrVertexBatch::onPrepare(GrBatchFlushState*) (GrVertexBatch.cpp:16) ==7062== by 0x8B592A: GrDrawTarget::prepareBatches(GrBatchFlushState*) (GrBatch.h:100) ==7062== by 0x8B51EA: GrDrawingManager::flush() (GrDrawingManager.cpp:78) ==7062== by 0x8AE568: GrContext::flush(int) (GrContext.cpp:191) ==7062== by 0x6C118A: GrContext::getTestTarget(GrTestTarget*, GrRenderTarget*) (GrTest.cpp:56) ==7062== by 0x4F4D82: GrDrawingManager::ProgramUnitTest(GrContext*, int) (GLProgramsTest.cpp:360) ==7062== by 0x4F58EC: test_GLPrograms(skiatest::Reporter*, GrContextFactory*) (GLProgramsTest.cpp:450) ==7062== by 0x40925E: run_test(skiatest::Test*) (DM.cpp:1022) ==7062== by 0x40BAC2: run_enclave_and_gpu_tests(SkTArray<Task, false>*) (DM.cpp:1033) ==7062== by 0x7621A9: SkTaskGroup::wait() (SkTaskGroup.cpp:88) ==7062== by 0x40B756: dm_main() (DM.cpp:1124) ==7062== by 0x40BA5F: main (DM.cpp:1211) ==7062== Uninitialised value was created by a stack allocation ==7062== at 0x8DB484: GrTest::TestStrokeRec(SkRandom*) (GrTestUtils.cpp:232) ==7062== { <insert_a_suppression_name_here> Memcheck:Value8 fun:_ZN24AADistanceFieldPathBatch14onPrepareDrawsEPN13GrVertexBatch6TargetE fun:_ZN13GrVertexBatch9onPrepareEP17GrBatchFlushState fun:_ZN12GrDrawTarget14prepareBatchesEP17GrBatchFlushState fun:_ZN16GrDrawingManager5flushEv fun:_ZN9GrContext5flushEi fun:_ZN9GrContext13getTestTargetEP12GrTestTargetP14GrRenderTarget fun:_ZN16GrDrawingManager15ProgramUnitTestEP9GrContexti fun:_ZL15test_GLProgramsPN8skiatest8ReporterEP16GrContextFactory fun:_ZL8run_testPN8skiatest4TestE fun:_ZL25run_enclave_and_gpu_testsP8SkTArrayI4TaskLb0EE fun:_ZN11SkTaskGroup4waitEv fun:_Z7dm_mainv fun:main } Original issue's description: > Add stroking support to distance field path renderer > > Also slightly increases sizes of paths accepted for distance field > caching. > > Committed: https://skia.googlesource.com/skia/+/5ce76efd1c847308c7bcac17bd87d567c42cd786 > > Committed: https://skia.googlesource.com/skia/+/73ee6770260dbeeabc4a78eee4f13533f0031211 TBR=robertphillips@google.com,jvanverth@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1465053002
* Revert[2] of "quick-accept clipRect calls"Gravatar reed2015-11-21
| | | | | | | | | This reverts commit ac8cabd729c75fdf774c0701b6ea7fd3ea5b9382. BUG=skia: TBR= Review URL: https://codereview.chromium.org/1470563003
* Revert of Initial version of external_oes texture support and unit test ↵Gravatar bsalomon2015-11-20
| | | | | | | | | | | | | | | | | | | (patchset #14 id:260001 of https://codereview.chromium.org/1451683002/ ) Reason for revert: Error wrapping external texture in GrTexture on some devices. Original issue's description: > Initial version of external_oes texture support and unit test > > Committed: https://skia.googlesource.com/skia/+/27a048700778d4cebfc23301d1780649791b0e03 TBR=joshualitt@google.com,egdaniel@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1459323004
* Initial version of external_oes texture support and unit testGravatar bsalomon2015-11-20
| | | | Review URL: https://codereview.chromium.org/1451683002
* Revert of option to quick-accept clipRect calls (patchset #3 id:40001 of ↵Gravatar bsalomon2015-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1458913005/ ) Reason for revert: Breaking tests on Android: D/skia ( 4469): D/skia ( 4469): Failures: D/skia ( 4469): ../../../tests/CanvasStateTest.cpp:325 clipStackBounds.width() == WIDTH D/skia ( 4469): ../../../tests/CanvasStateTest.cpp:326 clipStackBounds.height() == HEIGHT D/skia ( 4469): 2 failures http://build.chromium.org/p/client.skia.android/builders/Test-Android-GCC-NexusPlayer-CPU-SSE4-x86-Debug/builds/1387/steps/dm/logs/stdio Original issue's description: > option to quick-accept clipRect calls > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/90ba095c459e38581353073826785074b5953b8c TBR=robertphillips@google.com,fmalita@chromium.org,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1471513002
* Revert of Make specialized SrcOver XPFactory (patchset #3 id:40001 of ↵Gravatar egdaniel2015-11-20
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1455273006/ ) Reason for revert: breaking some builds Original issue's description: > Make specialized SrcOver XPFactory > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/a7006d45217d128a94fa53cb4b827cca79bc7049 TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1464933003
* fix pathops coincidence fuzz bugGravatar caryclark2015-11-20
| | | | | | | | | | | | | | | | | | | | | Simplifying a series of rects with very large bounds triggers a coincidence bug where, after one of the intersection points that marks a coincident range has been deleted, it is referenced. Both the deletion and reference is (probably) happening in the SkOpCoincidence::AddExpanded() phase of HandleCoincidence(), and may signify a bug that could happen with usable input data, but I haven't been able to determine that. For now, abort the Simplify() when the erroneous condition is detected. TBR=reed@google.com BUG=558281 Review URL: https://codereview.chromium.org/1463923002
* Add stroking support to distance field path rendererGravatar jvanverth2015-11-20
| | | | | | | | | Also slightly increases sizes of paths accepted for distance field caching. Committed: https://skia.googlesource.com/skia/+/5ce76efd1c847308c7bcac17bd87d567c42cd786 Review URL: https://codereview.chromium.org/1460873002
* Create GrGLSLVaryingHandler class for program buildingGravatar egdaniel2015-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1462123003
* Make specialized SrcOver XPFactoryGravatar egdaniel2015-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1455273006
* Tiny linear gradient GMGravatar fmalita2015-11-20
| | | | | | | | | A GM to expose issues with vertical linear gradients when points and/or positions are too close. R=reed@google.com Review URL: https://codereview.chromium.org/1464693002
* Fix UB in SkDivBitsGravatar mtklein2015-11-20
| | | | | | | | | | | | | | | | | | | | | | | This used to: DIVBITS_ITER was shifting bits up into the sign bit, which is a no-no. This turns numer into a uint32_t to make those defined, and adds a few notes. x >= 0 is always true for unsigned x, so we needed a few small logic refactors. Instead it now: Only call SkDivBits if the old behavior is required. Usually, just do the divide with /. BUG=skia:3562 Committed: https://skia.googlesource.com/skia/+/988adddd48322bfa3e3cb0c017cfce71fbbf1123 Committed: https://skia.googlesource.com/skia/+/6c7b104b4c08ae2332a6ce3c8c906da4e8c51e5f TBR=reed@google.com No API change. Review URL: https://codereview.chromium.org/1455163004
* Add SkNx_cast().Gravatar mtklein2015-11-20
| | | | | | | | | | | | | | | | | | | | SkNx_cast() can cast between any of our vector types, provided they have the same number of elements. Any types should work with the default implementation, and we can drop in specializations as needed, like the SSE and NEON Sk4f -> Sk4i I included here as an example. To make this work, I made some internal name changes: SkNi<N,T> -> SkNx<N, T> SkNf<N> -> SkNx<N, float> User aliases (Sk4f, Sk16b, etc.) stay the same. We can land this first (it's PS1) if that makes things easier. BUG=skia: CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1464623002
* Move glyph choosing to the find and place glyph code.Gravatar herb2015-11-20
| | | | | | | | | | This duplicates the functionality of the (private) SkPaint::getDrawCacheProc method into SkFindAndPlaceGlyph::LookupGlyph. Eventually LookupGlyph should replace getDrawCacheProc, at which point it should be removed. The remaining users are gpu and pdf. Review URL: https://codereview.chromium.org/1458193003
* SkFontConfigInterface::createTypeface()Gravatar fmalita2015-11-20
| | | | | | | BUG=524578 R=bungeman@google.com,reed@google.com Review URL: https://codereview.chromium.org/1454343003
* Eliminate SkFILE: it always is the same as FILE.Gravatar halcanary2015-11-20
| | | | Review URL: https://codereview.chromium.org/1467533003
* option to quick-accept clipRect callsGravatar reed2015-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1458913005
* enable conservative raster clippingGravatar reed2015-11-20
| | | | | | | | There may be other (better?) ways to enable this. For example, if we queried the device *before* we init our root DeviceCM, we wouldn't need this flag in InitFlags, since the device already has a virtual to opt-in ... BUG=skia: Review URL: https://codereview.chromium.org/1458153003
* Initialize memory for BitMask and Clip test.Gravatar herb2015-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1466713002
* Factor out GrAtlasTextBatch fromt GrAtlasTextContextGravatar joshualitt2015-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1458233003
* Pack and align SkStrokeRec to 4-byte boundary.Gravatar jvanverth2015-11-20
| | | | | | | | | | | The new key for the distance field path cache will contain an SkStrokeRec. This change guarantees that we don't have any hidden padding that has garbage values, thereby preventing apparently equal keys from hashing to two different values. This also has the nice effect of reducing the size of SkStrokeRec from 24 bytes to 16 bytes. Review URL: https://codereview.chromium.org/1465773003
* Generate list of GPU contexts outside SurfaceTest testsGravatar kkinnunen2015-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for feeding the tests with contexts directly to the unit test framework. This fixes the problem where tests are more complex than needed just in order to run the test code with multiple backends. Also makes it possible to change the logic how contexts are created. Instead of direct numbering, the different testable contexts may be generated from filtered cross-product of context options. For example: currently NVPR is a type of context. However, it could be also an on/off feature of any context. In order to test this kind of context, the enumeration can not be just of context type. It's simpler to move the enumeration out of the tests. A test targeting both normal and GPU backends would look like: static void test_obj_behavior(skiatest::Reporter* reporter, SkObj* obj, [other params] ) { ... test with obj and param .. } DEF_TEST(ObjBehavior, reporter) { for (auto& object : generate_object) { for (auto& other_param : generate_other_variant) { test_obj_behavior(reporter, object, other_param); } } } #if SK_SUPPORT_GPU DEF_GPUTEST_FOR_ALL_CONTEXTS(ObjBehavior_Gpu, reporter, context) { for (auto& object : generate_gpu_object) { for (auto& other_param : generate_other_variant) { test_obj_behavior(reporter, object, other_param); } } } #endif Uses the feature in SurfaceTests as an example. Moves SkSurface -related tests from ImageTest to SurfaceTest. BUG=skia:2992 Review URL: https://codereview.chromium.org/1446453003
* Revert of Fix UB in SkDivBits (patchset #4 id:50001 of ↵Gravatar stephana2015-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1455163004/ ) Reason for revert: This likely causes unit tests to break in depsroll. See error: http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/137723/steps/cc_unittests%20%28with%20patch%29/logs/stdio RUN ] ImageScaledRenderSurface.ImageRenderSurfaceScaled_Software [4616:3480:1119/165044:41067403:ERROR:pixel_comparator.cc(175)] Percentage of pixels with an error: 11.3967 [4616:3480:1119/165044:41067403:ERROR:pixel_comparator.cc(177)] Percentage of pixels with errors not greater than 0: 0 [4616:3480:1119/165044:41067403:ERROR:pixel_comparator.cc(180)] Average absolute error (excluding identical pixels): R=0.0600565 G=238.962 B=238.934 A=0 [4616:3480:1119/165044:41067403:ERROR:pixel_comparator.cc(185)] Largest absolute error: R=1 G=255 B=255 A=0 [4616:3480:1119/165044:41067403:ERROR:pixel_comparator.cc(203)] Error Bounding Box : 47,47 206x206 [4616:3480:1119/165044:41067419:ERROR:pixel_test_utils.cc(79)] Pixels do not match! [4616:3480:1119/165044:41067419:ERROR:pixel_test_utils.cc(80)] Actual: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAJ1klEQVR4nO3dwXEbxxaG0eYr76kMaEVAMQJYEUiOQHIEJCMQlQGcAZWBMjAcgZiB4QygCPAWKLloWiIBzgx6/u5zNtp4MVWs+nwB9PQ92W632wIQ4H+1HwBgX4IFxBAsIIZgATEEC4ghWEAMwQJiCBYQQ7CAGIIFxBAsIIZgATEEC4ghWEAMwQJiCBYQQ7CAGIIFxBAsIIZgATEEC4ghWEAMwQJiCBYQQ7CAGIIFxBAsIIZgATEEC4ghWEAMwQJiCBYQQ7CAGIIFxBAsIIZgATEEC4ghWEAMwQJiCBYQQ7CAGIIFxBAsIIZgATEEC4ghWEAMwerFZlP7CWAwwerBZlPK7W3tp4DBBKsHNzcmLJogWK27uyvl999rPwWMQrBad329+3e1qvscMALBatnnz0JFUwSrZd+mK2iEYLXq5qaU9br2U8CoBKtFm40v2mmSYLXo6soxBpokWK1ZrUr59Kn2U8AkBKs1Hz/WfgKYjGC15PbWMQaaJlit2GxMVzRPsFqxXD5+jOHvv4/3LDCRk+12u639EAy0XpdycfH0L4P+1IQzYbXg+toxBrpgwkq3WpXy+vV+/60/NeEEK93Fxe4KmX34UxPOR8Jkt7f7xwoaYMJKtdmU8vLlYd9d+VMTzoSVarn0RTvdMWElWq9309Wh/KkJZ8JK9NtvtZ8AqhCsNKuV9wXplmClGTJdCR3hBCvJU+8LQuMEK4XbGECwYrj2GAQrwt2da4+hCFYG+wWhlCJY82d7M/xDsObOdAX/EKw5s70Z/kWw5mq9tr0ZHhCsubq5Gf8Yg2mNcII1R1NtbxYswgnWHDnRDt8lWHNjezP8kGDNifcF4VGCNSduY4BHCdZcrNemK3iCYM2FE+3wJMGag9Vq984g8CjBmgPTFexFsGqzvRn2Jlg1bTbHna6c7yKcYNU0xfuC0DDBqsVtDHAwwarF9mY4mGDVYHszPItg1WC6gmcRrGNz7TE8m2Ad02bji3YYQLCOyfZmGESwjsX2ZhhMsI5lDu8Lfv1a+wlgkJPtdrut/RDN+/y5lF9/rf0UO/7cBBOsqW02pVxczOeXQX9ugvlIODXXHsNoTFhTWq9309Wcfhn05yaYCWtKbmOAUZmwprJalfL6de2n+C9/boKZsKZiAw6MTrCmYHszTMJHwrFtNqW8fDnf7678uQlmwhrbcjnfWEE4E9aY1uvddDVnX76U8upV7aeAZzFhjWkO7ws+xfRHMMEai+3NMDnBGotrj2FygjUG7wvCUQjWUJuNQ6JwJII1lPcF4WgEawjbm+Gofqr9ANESv2j/9KmUP/+s/RTU8uZN9Dk8B0efa07XHsM+zs7ifxzykfC5Eg6Jwn3LZe0nGEywnsP2ZtIsFqW8fVv7KQbzkfBQc7+NAb6nkXdITViHsr2ZNJeXTcSqFBPWYe7udkslIMXp6e7rixcvaj/JKExYh/BFO2lubpqJVSkmrP3d3maeu6JfDRxjeEiw9jG37c2wjz/+KOWXX2o/xah8JNyH2xhIs1g0F6tSTFhPm+P2ZnjKX3+V8vPPtZ9idCasp7iNgTQfPjQZq1JMWI+b6/Zm+JHGjjE8ZMJ6jGMMpFkum41VKYL1Y7e3u4OikOL8vJT372s/xaR8JPwe7wuSqMFjDA+ZsL7H9mbSvHnTfKxKMWH9V8L2Zrjv9HT39UWjvwzeZ8J6yOs3pLm66iJWpZiw/s0xBtKcne2mq4Z/GbzPhHWf6Yo0jd3G8BTB+sb7gqRZLJo/xvCQj4SlOMZApkauPT6ECasU7wuS59277mJVignLtcfkafx9wceYsLwvSJqrqy5jVUrvE5btzaRp8NrjQ/Q9YZmuSNPA9uYh+g2W7c2kaWR78xB9fiR0jIFEjV57fIg+Jyzbm0lzedl9rErpccLyviBpOj7G8FB/E9bHj7WfAA7T2fuCj+lrwrK9mTSdH2N4qJ9g2d5Mog6uPT5EPx8J3cZAmk6uPT5EHxOW7c0kcozhP/qYsK6vxYosDW9vHqL9CcsxBtI4xvBD7U9Y3hckTePbm4doO1i2N5Omg+3NQ7T7kdD7giRyjOFR7U5Yrj0mzbt3YvWENics25tJ09H25iHanLC8fkOajrY3D9HehOUYA2k62948RHsTlumKNI4x7K2tYHlfkDSuPT5IOx8JHWMgUYfbm4doZ8Jy7TFpOt3ePEQbE5btzaTxvuCztDFheV+QNB1vbx4if8KyvZk0rj1+tvxgvXzpj08W7ws+W/ZHQscYSLNYiNUA2cHyqyBpbm9rP0G07GBBEtubB8sOll9ZSHF6urvyiEGyg+XQHSlsbx5FdrAgwfn57twVgwkWTG25rP0EzRAsmJLtzaMSLJiS6WpUggVTsb15dIIFUzg780X7BAQLpuAYwyQEC8a2WNjePBHBgrE50T6Z7GA56c7c2N48qfz7sE5Oaj8B7NjePLnsCQvmxPbmyZmwYAyuPT4KExaMwYn2ozBhwVCLRSmrVe2n6IJgwVC2Nx+Nj4QwhO3NR2XCgueyvfnoTFjwXN4XPLr8CevFi1K+fq39FPTGMYYq8ics3x9Qg/2CVeQHC47N9uZqBAsOZbqqRrDgELY3VyVYsC/bm6sTLNjXcukYQ2WCBfs4P3ft8QwIFuzDbQyzIFjwFNubZ0Ow4DGnp6arGckPlp+YmZJrj2dFsOBHbG+enfxgwVTcxjA7ggXfY3vzLAkWfI8T7bMkWPCQ7c2zJVhwn2MMsyZYcN/VlS/aZ0yw4JuzM99dzZxgwTc+Cs6eYEEpu2MMb9/WfgqekB8sv+YwBtNVhPxgwVCXl7YvhRAs+uba4yiCRd+8LxhFsOiX2xjiCBb9sl8wjmDRJ9ubIwkWfTJdRRIs+vPhg5tqQwkWfTk99UV7sPxg+T8lh7C9OdrJdrvd1n6IwU5Oaj8BCc7PS7m7q/0UDJA/YcG+vC8YT7Dog2uPm+AjIe07Pd19FPR9ZzwTFu2zvbkZJizadna2m678MtgEExZtcxtDU0xYtGuxKGW1qv0UjEiwaNeXL24SbYyPhLTp3TuxalAbwVosaj8Bc2J7c7PaCBbcZ3tzswSLttje3DTBoi0+CjZNsGiH7c3NEyza4drj5gkWbbi89L5gBwSLfLY3d+On2g8wivfv3XXUs1evHGPoRBuv5gBd8JEQiCFYQAzBAmIIFhBDsIAYggXEECwghmABMQQLiCFYQAzBAmIIFhBDsIAYggXEECwghmABMQQLiCFYQAzBAmIIFhBDsIAYggXEECwghmABMQQLiCFYQAzBAmIIFhBDsIAYggXEECwghmABMQQLiCFYQAzBAmIIFhBDsIAYggXEECwghmABMQQLiCFYQAzBAmIIFhBDsIAYggXE+D+BHuY9gUrI0gAAAABJRU5ErkJggg== [4616:3480:1119/165044:41067419:ERROR:pixel_test_utils.cc(81)] Expected: data:image/png;base64,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 e:\b\build\slave\win\build\src\cc\test\layer_tree_pixel_test.cc(116): error: Value of: MatchesPNGFile(*result_bitmap_, ref_file_path, *pixel_comparator_) Actual: false Expected: true [ FAILED ] ImageScaledRenderSurface.ImageRenderSurfaceScaled_Software (57 ms) Original issue's description: > Fix UB in SkDivBits > > DIVBITS_ITER was shifting bits up into the sign bit, which is a no-no. > This turns numer into a uint32_t to make those defined, and adds a few notes. > > x >= 0 is always true for unsigned x, so we needed a few small logic refactors. > > BUG=skia:3562 > > Committed: https://skia.googlesource.com/skia/+/988adddd48322bfa3e3cb0c017cfce71fbbf1123 > > Committed: https://skia.googlesource.com/skia/+/6c7b104b4c08ae2332a6ce3c8c906da4e8c51e5f TBR=caryclark@google.com,mtklein@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3562 Review URL: https://codereview.chromium.org/1467513002
* Implement SkGifCodec::onSkipScanlines()Gravatar msarett2015-11-19
| | | | | | | | | | | | This should give a performance improvment because we are able to skip swizzling pixels. This should also fix valgrind failures caused by color table lookups with uninitialized memory. BUG=skia:4270 Review URL: https://codereview.chromium.org/1460073002
* add SkPath::isRRectGravatar caryclark2015-11-19
| | | | | | | | | | | Add helper to track when a round rect was added to a path, and then return the SkRRect specification that describes it. Move the implementation for SkPath::RawIter to SkPathRef so it can be used there as well. R=reed@google.com,robertphillips@google.com Review URL: https://codereview.chromium.org/1461763004
* Avoid geometric ninepatch if rendertarget has MSAAGravatar joshualitt2015-11-19
| | | | | | BUG=skia:4586 Review URL: https://codereview.chromium.org/1458883009
* Add more batch information printoutsGravatar robertphillips2015-11-19
| | | | Review URL: https://codereview.chromium.org/1457373003
* Revert of Add stroking support to distance field path renderer (patchset #7 ↵Gravatar jvanverth2015-11-19
| | | | | | | | | | | | | | | | | | | | | | id:120001 of https://codereview.chromium.org/1460873002/ ) Reason for revert: Asserting in nanobench and dm. Original issue's description: > Add stroking support to distance field path renderer > > Also slightly increases sizes of paths accepted for distance field > caching. > > Committed: https://skia.googlesource.com/skia/+/5ce76efd1c847308c7bcac17bd87d567c42cd786 TBR=robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1458233002
* Add stroking support to distance field path rendererGravatar jvanverth2015-11-19
| | | | | | | Also slightly increases sizes of paths accepted for distance field caching. Review URL: https://codereview.chromium.org/1460873002
* Record concat as Concat.Gravatar mtklein2015-11-19
| | | | | | | | | | | | This seems to cause very slight diffs on GMs. https://gold.skia.org/search2?issue=1462983002&unt=true&query=source_type%3Dgm&master=false I'm not sure I understand why. The diffs to at least pictureshader look like improvements. BUG=skia:4584 Review URL: https://codereview.chromium.org/1462983002
* Fix nearly-vertical gradient assertGravatar fmalita2015-11-19
| | | | | | | | Use a SkScalarNearlyZero(dx) test instead of !SkScalarIsFinite(invDx). R=reed@google.com Review URL: https://codereview.chromium.org/1456783005
* add SkRecordOptimize2 and an experimental API for more aggressive optsGravatar reed2015-11-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1462973002
* Remove unsigned < signed comparison.Gravatar mtklein2015-11-19
| | | | | | | | | This triggers -Wsign-compare on some builds. Not sure why none of those builds have -Werror set. BUG=skia:4561 Review URL: https://codereview.chromium.org/1464543002
* Parametric contour start GMGravatar fmalita2015-11-19
| | | | | | | | | A GM to capture the newly added SkPath API. BUG=chromium:315277 R=caryclark@google.com,reed@google.com Review URL: https://codereview.chromium.org/1457503002
* Fix UB in SkDivBitsGravatar mtklein2015-11-19
| | | | | | | | | | | | | DIVBITS_ITER was shifting bits up into the sign bit, which is a no-no. This turns numer into a uint32_t to make those defined, and adds a few notes. x >= 0 is always true for unsigned x, so we needed a few small logic refactors. BUG=skia:3562 Committed: https://skia.googlesource.com/skia/+/988adddd48322bfa3e3cb0c017cfce71fbbf1123 Review URL: https://codereview.chromium.org/1455163004
* Fix GpuDrawPathTest on ANGLE and enable itGravatar kkinnunen2015-11-19
| | | | | | | | | | | Fix GpuDrawPathTest on ANGLE by avoiding a crash if MSAA surface creation fails. Enable the test. BUG=skia:4581 Review URL: https://codereview.chromium.org/1463493002