aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Pull handling of blurred circles out of GrRRectBlurEffect::MakeGravatar robertphillips2016-08-15
| | | | | | | | | | GrRRectBlurEffect is going away so this process can't live there anymore. Split out of: https://codereview.chromium.org/2245653002/ (Start using vertex attributes for nine-patch blurred rrect draws) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2243133002 Review-Url: https://codereview.chromium.org/2243133002
* Revert of increase small allocator limit to encompass compose shader ↵Gravatar caryclark2016-08-15
| | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/2234423005/ ) Reason for revert: Increase in stack broke Google3 Original issue's description: > increase small allocator limit to encompass compose shader > > R=reed@google.com > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234423005 > > Committed: https://skia.googlesource.com/skia/+/8c200694f8eec5f623b3934b85c31dbb382be12c TBR=reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2244293002
* Optimize color xforms when src and dst are matchingGravatar msarett2016-08-15
| | | | | | | | | | | | | | | Useful when: (1) Client does not realize src and dst match (calls color xform anyway). (2) Client wants half floats, src and dst have matching gamuts (3) Client wants premul (done correctly in linear space), src and dst have matching gamuts. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2206403003 Review-Url: https://codereview.chromium.org/2206403003
* Fix copying of data in vulkan testing textureGravatar egdaniel2016-08-15
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2248703002 Review-Url: https://codereview.chromium.org/2248703002
* add parallel public API for recording SkLiteDL.Gravatar mtklein2016-08-15
| | | | | | | | | | The API is restricted to pretty much just what Derek calls, but it's enough that we can switch testing over to use it. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246893002 Review-Url: https://codereview.chromium.org/2246893002
* [SVGDom] Deferred SampleApp parsingGravatar fmalita2016-08-15
| | | | | | | | | | Parse SVG files in onOnceBeforeDraw() rather than ctor, to avoid front-loading a bunch of work when passed a loarge number of SVGs. R=stephana@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2245993002 Review-Url: https://codereview.chromium.org/2245993002
* Skip CompressCheckerboard unit test on N6.Gravatar mtklein2016-08-15
| | | | | | | | | | | | | | This is at least one of the failures making the bot red. The particular signal indicates it's probably an alignment problem. BUG=skia:5637 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2245063002 CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-GCC-Nexus6-CPU-NEON-Arm7-Debug-Trybot TBR=robertphillips@google.com Review-Url: https://codereview.chromium.org/2245063002
* Add specialized code for hard stop gradients on GPUGravatar fmenozzi2016-08-15
| | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003 Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d Committed: https://skia.googlesource.com/skia/+/99818d69372d29a139935cfe5c379e491432931b Committed: https://skia.googlesource.com/skia/+/2a4959181fc98d5d7ee862e7cd1c7993b3343be6 Review-Url: https://codereview.chromium.org/2223203003
* Documentation: Important things on front pageGravatar halcanary2016-08-15
| | | | | | | NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=2112643003 Review-Url: https://codereview.chromium.org/2112643003
* increase small allocator limit to encompass compose shaderGravatar caryclark2016-08-14
| | | | | | | R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234423005 Review-Url: https://codereview.chromium.org/2234423005
* Webp has_alpha is a hint onlyGravatar msarett2016-08-14
| | | | | | | | | | | | The has_alpha bit on webps is a hint only. We are correct to always assume that the image may have alpha. https://groups.google.com/a/webmproject.org/forum/#!msg/webp-discuss/2rFPKOzxuSM/uabYhmSNJAAJ TBR=scroggo@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2243153002 Review-Url: https://codereview.chromium.org/2243153002
* Assert fDeviceClipBounds is always empty when clip is emptyGravatar msarett2016-08-14
| | | | | | | | | | | | | | | | I've fixed a few issues where this assert triggers. The nastiest case is when the client sets the clip to a strange version of an empty rect (Ex: L,T,R,B=0,0,0,10). I think I've made sufficient fixes so that fDeviceClipBounds is always empty when clip is empty. Let's test it though. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246503003 Review-Url: https://codereview.chromium.org/2246503003
* Prevent overflows when using gamma_alloc_sizeGravatar gogil2016-08-14
| | | | | | | BUG=636268 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2230163002 Review-Url: https://codereview.chromium.org/2230163002
* Update SKP versionGravatar update-skps2016-08-14
| | | | | | | | | | Automatic commit by the RecreateSKPs bot. TBR= NO_MERGE_BUILDS GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2249443002 Review-Url: https://codereview.chromium.org/2249443002
* Remove stencil settings param from stencilPath()Gravatar csmartdalton2016-08-12
| | | | | | | | | | stencilPath() picks its own user stencil settings. This argument should not be there. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2241873002 Review-Url: https://codereview.chromium.org/2241873002
* [SVGDom] SVGPong sample appGravatar fmalita2016-08-12
| | | | | | | | | Shows off SVG dom-based animations. R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2243853003 Review-Url: https://codereview.chromium.org/2243853003
* Re-adding analytical GeoProc for rectanglesGravatar dvonbeck2016-08-12
| | | | | | | | | | | | | Adapted old GeoProc because its knowledge of the geometry is helpful for computing the distance vector: https://skia.googlesource.com/skia/+/6006d0f8c4f19d19a12de20826f731f52ac822a7/src/gpu/GrAARectRenderer.cpp Added distance vector capabilities to this GeoProc. Modified GrDrawContext to used this GeoProc when drawing anti-aliased vectors with a shader that requires distance vectors. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2230513004 Review-Url: https://codereview.chromium.org/2230513004
* Revert of Exact Ganesh Gradients for Special Cases (patchset #9 id:160001 of ↵Gravatar halcanary2016-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2223203003/ ) Reason for revert: specualtive revert to fix valgrind bot Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind Original issue's description: > Remove generalized gradient code > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003 > > Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d > Committed: https://skia.googlesource.com/skia/+/99818d69372d29a139935cfe5c379e491432931b > Committed: https://skia.googlesource.com/skia/+/2a4959181fc98d5d7ee862e7cd1c7993b3343be6 TBR=bsalomon@google.com,fmenozzi@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2245533005
* [SVGDom] <polygon> & <polyline> supportGravatar fmalita2016-08-12
| | | | | | | R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2235273003 Review-Url: https://codereview.chromium.org/2235273003
* Allow vulkan to upload data to testing textures with optimal layoutsGravatar egdaniel2016-08-12
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2242553002 Review-Url: https://codereview.chromium.org/2242553002
* Added PointLights to SkLights::LightGravatar vjiaoblack2016-08-12
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237493002 Review-Url: https://codereview.chromium.org/2237493002
* Add Android Shadow sampleGravatar jvanverth2016-08-12
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2245693002 Review-Url: https://codereview.chromium.org/2245693002
* Add extracting GM comments to the housekeeper bot.Gravatar jcgregorio2016-08-12
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237033002 Review-Url: https://codereview.chromium.org/2237033002
* Optimized implementation of quickReject()Gravatar msarett2016-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Impl Overview (1) Keep the device clip bounds up to date. This requires minimal additional work in a few places throughout canvas. (2) Keep track of if the ctm isScaleTranslate. Yes, there's a function that does this, but it's slow to call. (3) Perform the src->device transform in quick reject, then check intersection/nan. Other Notes: (1) NaN and intersection checks are performed simultaneously. (2) We no longer quick reject infinity. (3) Affine and perspective are both handled in the slow case. (4) SkRasterClip::isEmpty() is handled by the intersection check. Performance on Nexus 6P: 93.2ms -> 59.8ms Overall Android Jank Tests Performance Impact: Should gain us a ms or two on some tests. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225393002 Committed: https://skia.googlesource.com/skia/+/d22a817ff57986407facd16af36320fc86ce02da Review-Url: https://codereview.chromium.org/2225393002
* SkPDF: Subset Type3 (fallback) fontGravatar halcanary2016-08-12
| | | | | | | | | | | | | | | | | | | Motivation: significant file-size reduction. Also: SkPDFFont::subsetFont() returns a sk_sp<SkPDFObject> rather than a SkPDFFont*. SkPDFType3Font constructor no longer populates font info; relies on subsetting. SkPDFFont::Create is easier to read Also: SkPDFType3Font are scaled by emSize rather than 1000. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231483002 Committed: https://skia.googlesource.com/skia/+/88b138da99328b04cae9a8ee19c3882b8847a550 Review-Url: https://codereview.chromium.org/2231483002
* Turn on SVGs for all Test botsGravatar rmistry2016-08-12
| | | | | | | BUG=skia:5628 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2240153002 Review-Url: https://codereview.chromium.org/2240153002
* Remove generalized gradient codeGravatar fmenozzi2016-08-12
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003 Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d Committed: https://skia.googlesource.com/skia/+/99818d69372d29a139935cfe5c379e491432931b Review-Url: https://codereview.chromium.org/2223203003
* Create gradient fuzzersGravatar kjlubick2016-08-12
| | | | | | | | | This would have caught the bug patched by https://codereview.chromium.org/2234663002 BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2239463002 Review-Url: https://codereview.chromium.org/2239463002
* Revert of Optimized implementation of quickReject() (patchset #12 id:260001 ↵Gravatar mtklein2016-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/2225393002/ ) Reason for revert: New assert triggering in the Chrome roll, https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/208750/steps/webkit_unit_tests%20%28with%20patch%29%20on%20Ubuntu-12.04/logs/FrameThrottlingTest.SynchronousLayoutInAnimationFrameCallback and breaks the SKNX_NO_SIMD bot, https://codereview.chromium.org/2236363004 Original issue's description: > Optimized implementation of quickReject() > > Impl Overview > (1) Keep the device clip bounds up to date. This > requires minimal additional work in a few places > throughout canvas. > (2) Keep track of if the ctm isScaleTranslate. Yes, > there's a function that does this, but it's slow > to call. > (3) Perform the src->device transform in quick reject, > then check intersection/nan. > > Other Notes: > (1) NaN and intersection checks are performed > simultaneously. > (2) We no longer quick reject infinity. > (3) Affine and perspective are both handled in the slow > case. > (4) SkRasterClip::isEmpty() is handled by the intersection > check. > > Performance on Nexus 6P: > 93.2ms -> 59.8ms > > Overall Android Jank Tests Performance Impact: > Should gain us a ms or two on some tests. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225393002 > > Committed: https://skia.googlesource.com/skia/+/d22a817ff57986407facd16af36320fc86ce02da TBR=reed@google.com,herb@google.com,msarett@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2231393003
* Revert of Exact Ganesh Gradients for Special Cases (patchset #8 id:140001 of ↵Gravatar halcanary2016-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2223203003/ ) Reason for revert: Chrome iOS build break https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/50777/steps/compile/logs/stdio error: unused function 'close_to_one_half' Original issue's description: > Remove generalized gradient code > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003 > > Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d > Committed: https://skia.googlesource.com/skia/+/99818d69372d29a139935cfe5c379e491432931b TBR=bsalomon@google.com,fmenozzi@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2241483003
* Revert of Fix 4444 on Vulkan devices who don't support RGBA_4444 (patchset ↵Gravatar egdaniel2016-08-11
| | | | | | | | | | | | | | | | | | | | | | | | #4 id:60001 of https://codereview.chromium.org/2238563002/ ) Reason for revert: test failing on some gpus Original issue's description: > Fix 4444 on Vulkan devices who don't support RGBA_4444 > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2238563002 > > Committed: https://skia.googlesource.com/skia/+/637b3bf2b9c10398d823bd015a722842d4f2f971 TBR=bsalomon@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2240713003
* Only open X Display once for all test GLX contextsGravatar bsalomon2016-08-11
| | | | | | | | Saves about 4 seconds of runtime for 'dm --src gm --config gpu' on my system. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2240673002 Review-Url: https://codereview.chromium.org/2240673002
* Optimized implementation of quickReject()Gravatar msarett2016-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Impl Overview (1) Keep the device clip bounds up to date. This requires minimal additional work in a few places throughout canvas. (2) Keep track of if the ctm isScaleTranslate. Yes, there's a function that does this, but it's slow to call. (3) Perform the src->device transform in quick reject, then check intersection/nan. Other Notes: (1) NaN and intersection checks are performed simultaneously. (2) We no longer quick reject infinity. (3) Affine and perspective are both handled in the slow case. (4) SkRasterClip::isEmpty() is handled by the intersection check. Performance on Nexus 6P: 93.2ms -> 59.8ms Overall Android Jank Tests Performance Impact: Should gain us a ms or two on some tests. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225393002 Review-Url: https://codereview.chromium.org/2225393002
* LightingShader and NormalSource comment and style fixesGravatar dvonbeck2016-08-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237963002 Review-Url: https://codereview.chromium.org/2237963002
* Revert of SkPDF: Subset Type3 (fallback) font (patchset #8 id:200001 of ↵Gravatar halcanary2016-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2231483002/ ) Reason for revert: internal failing Original issue's description: > SkPDF: Subset Type3 (fallback) font > > Motivation: significant file-size reduction. > > Also: SkPDFFont::subsetFont() returns a sk_sp<SkPDFObject> > rather than a SkPDFFont*. > > SkPDFType3Font constructor no longer populates font info; > relies on subsetting. > > SkPDFFont::Create is easier to read > > Also: SkPDFType3Font are scaled by emSize rather than 1000. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231483002 > > Committed: https://skia.googlesource.com/skia/+/88b138da99328b04cae9a8ee19c3882b8847a550 TBR=bungeman@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2232283003
* Fix 4444 on Vulkan devices who don't support RGBA_4444Gravatar egdaniel2016-08-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2238563002 Review-Url: https://codereview.chromium.org/2238563002
* Use SVGs CIPD package and use SVG as a DM source.Gravatar rmistry2016-08-11
| | | | | | | | | | Currently only turned on for one bot. May turn it on for more after more conversations. BUG=skia:5628 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231943002 Review-Url: https://codereview.chromium.org/2231943002
* Remove generalized gradient codeGravatar fmenozzi2016-08-11
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003 Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d Review-Url: https://codereview.chromium.org/2223203003
* SkPDF: Subset Type3 (fallback) fontGravatar halcanary2016-08-11
| | | | | | | | | | | | | | | | | | Motivation: significant file-size reduction. Also: SkPDFFont::subsetFont() returns a sk_sp<SkPDFObject> rather than a SkPDFFont*. SkPDFType3Font constructor no longer populates font info; relies on subsetting. SkPDFFont::Create is easier to read Also: SkPDFType3Font are scaled by emSize rather than 1000. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231483002 Review-Url: https://codereview.chromium.org/2231483002
* Move GrAtlasTextContext to GrDrawingManager, so we only have one.Gravatar brianosman2016-08-11
| | | | | | | | | | Ultimately, avoids wasteful redundant computation and storage of distance field fake-gamma tables. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2240623002 Review-Url: https://codereview.chromium.org/2240623002
* start working on tiger againGravatar caryclark2016-08-11
| | | | | | | | | | | | | | | The tiger tests are a suite under development that exercise many coincident edge cases. This fixes the case when a duplicate point is not ignored when the coincident span references the primary point. TBR=reed@google.com BUG=skia:5131 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2239803002 Review-Url: https://codereview.chromium.org/2239803002
* Avoid creating full screen clear batches when there is already one in the queue.Gravatar bsalomon2016-08-11
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237633003 Review-Url: https://codereview.chromium.org/2237633003
* Delete quickRejectY()Gravatar msarett2016-08-11
| | | | | | | | | | This is the first step in a refactor of quickReject(). TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2241473002 Review-Url: https://codereview.chromium.org/2241473002
* [SVGDom] Add more presentation attributes.Gravatar fmalita2016-08-11
| | | | | | | | | | | | | | | | Implement proper presentation attribute inheritance, and add support for * fill-opacity * stroke-linecap * stroke-linejoin * stroke-opacity * stroke-width R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234153002 Review-Url: https://codereview.chromium.org/2234153002
* Improvements to build_command_buffer.pyGravatar bsalomon2016-08-11
| | | | | | | | | | | | Allows a shortcut, -t, for --chrome-build-type and clarifies meaning of the value in help. Removes --fetch. This used to work with gyp builds but since it doesn't run gn it currently fails to build after fetching the src. Also, it wasn't being used. Adds --no-hooks. Like --no-sync it but also doesn't run gclient runhooks. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2236953002 Review-Url: https://codereview.chromium.org/2236953002
* Always give simple circular rrects a shot at being directly blurred on the GPUGravatar robertphillips2016-08-11
| | | | | | | | I believe we want to do this but split it out of https://codereview.chromium.org/2201133002/ (Implement GPU occluded blur mask filter) b.c. it has its own perf implications and changes several GMs on its own. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2232263002 Review-Url: https://codereview.chromium.org/2232263002
* Fix crash in viewer on certain android devicesGravatar egdaniel2016-08-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2239493002 Review-Url: https://codereview.chromium.org/2239493002
* GN: take over some exisiting botsGravatar mtklein2016-08-11
| | | | | | | | | | | | | | | As an experiment, instead of replacing these with -GN twins, take them over in-place. This should take over: -FAST -SKFOO CQ_INCLUDE_TRYBOTS=master.client.skia:Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2229463002 Review-Url: https://codereview.chromium.org/2229463002
* Inline fast path for GrPaint::isConstantBlendedColor when no color FPs and ↵Gravatar bsalomon2016-08-11
| | | | | | | | src-over blend. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2236423002 Review-Url: https://codereview.chromium.org/2236423002
* SkLiteDL: turn vtable sidewaysGravatar mtklein2016-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using virtuals for polymorphism, store each polymorphic operation in its own array of function pointers. This removes an indirection when calling the function, and lets us use nullptr as a signal to skip the call entirely. Unfortunately (as the old code is rather simpler) this makes an unambiguous speed improvement. Before: curr/maxrss loops min median mean max stddev samples config bench 21/26 MB 2 44.6µs 46.4µs 48.3µs 274µs 13% 51724 nonrendering desk_nytimes.skp 23/26 MB 11 11.4µs 11.9µs 12.4µs 75.1µs 15% 36716 nonrendering keymobi_nytimes_com_.skp After: 19/26 MB 4 40.4µs 41.6µs 42.5µs 197µs 10% 29379 nonrendering desk_nytimes.skp 20/26 MB 14 10.5µs 10.7µs 11.2µs 59.5µs 13% 31971 nonrendering keymobi_nytimes_com_.skp Broader comparison: keymobi_linkedin.skp 1.76us -> 1.77us 1x keymobi_bing_com_search_q_sloth.skp 5.09us -> 5.05us 0.99x keymobi_digg_com.skp 17.4us -> 17.3us 0.99x keymobi_theverge_com.skp 3.37us -> 3.34us 0.99x top25desk_mail_google_com_mail_.skp 30.8us -> 30.4us 0.99x tabl_gmail.skp 3.44us -> 3.38us 0.98x top25desk_wikipedia__1_tab_.skp 100us -> 97.7us 0.98x keymobi_cnn_com_2012_10_03_poli.skp 52.9us -> 51.7us 0.98x desk_chalkboard.skp 107us -> 104us 0.97x desk_css3gradients.skp 17.8us -> 17.3us 0.97x keymobi_androidpolice_com_2012_.skp 42.3us -> 41.1us 0.97x desk_googlehome.skp 1.94us -> 1.88us 0.97x keymobi_mlb_com_.skp 5.38us -> 5.18us 0.96x top25desk_pinterest.skp 92.1us -> 88.5us 0.96x keymobi_iphone_capitolvolkswage.skp 15.1us -> 14.5us 0.96x keymobi_techcrunch_com.skp 9.45us -> 9.05us 0.96x desk_espn.skp 31.3us -> 30us 0.96x keymobi_slashdot_org_.skp 8.72us -> 8.34us 0.96x desk_tiger8svg.skp 30.6us -> 29.2us 0.96x keymobi_blogger.skp 4.09us -> 3.91us 0.95x keymobi_baidu_com_s_wd_barack_o.skp 11.9us -> 11.3us 0.95x keymobi_cuteoverload_com.skp 54.2us -> 51.6us 0.95x keymobi_deviantart_com_.skp 17.2us -> 16.4us 0.95x desk_mapsvg.skp 163ns -> 155ns 0.95x keymobi_pinterest.skp 6.97us -> 6.62us 0.95x top25desk_games_yahoo_com.skp 94.1us -> 89.3us 0.95x top25desk_google_com_calendar_.skp 18us -> 17us 0.95x keymobi_google_co_uk_search_hl_.skp 11.4us -> 10.8us 0.95x tabl_pravda.skp 38.5us -> 36.4us 0.94x desk_gmailthread.skp 19us -> 17.9us 0.94x keymobi_reddit_com_r_programmin.skp 76.1us -> 71.7us 0.94x top25desk_linkedin.skp 20us -> 18.8us 0.94x tabl_gamedeksiam.skp 118us -> 112us 0.94x keymobi_boingboing_net.skp 20.4us -> 19.1us 0.93x top25desk_google_com__hl_en_q_b.skp 17.6us -> 16.4us 0.93x keymobi_amazon_com_gp_aw_s_ref_.skp 12.5us -> 11.6us 0.93x keymobi_sfgate_com_.skp 16.6us -> 15.5us 0.93x keymobi_booking_com_searchresul.skp 16.2us -> 15.1us 0.93x tabl_digg.skp 28.8us -> 26.8us 0.93x tabl_mozilla.skp 80.4us -> 74.6us 0.93x desk_wowwiki.skp 39.2us -> 36.4us 0.93x top25desk_youtube_com.skp 42us -> 38.9us 0.93x top25desk_facebook.skp 23.7us -> 22us 0.93x top25desk_blogger.skp 38.2us -> 35.4us 0.93x keymobi_online_wsj_com_home_pag.skp 12.8us -> 11.9us 0.93x top25desk_wordpress.skp 28.9us -> 26.8us 0.93x top25desk_answers_yahoo_com.skp 37.2us -> 34.4us 0.93x keymobi_plus_google_com_app_bas.skp 9.56us -> 8.85us 0.93x keymobi_wordpress.skp 16.1us -> 14.9us 0.92x keymobi_mobile_news_sandbox_goo.skp 27.1us -> 24.9us 0.92x top25desk_techcrunch_com.skp 31.1us -> 28.6us 0.92x keymobi_worldjournal_com_.skp 50.7us -> 46.5us 0.92x keymobi_theverge_com_2012_10_28.skp 26.2us -> 24us 0.92x desk_jsfiddlebigcar.skp 1.73us -> 1.59us 0.92x top25desk_weather_com.skp 31.3us -> 28.7us 0.92x top25desk_google_com_search_q_c.skp 48.2us -> 44.1us 0.92x top25desk_twitter.skp 27.8us -> 25.5us 0.92x tabl_worldjournal.skp 29.3us -> 26.8us 0.91x desk_nytimes.skp 46us -> 42us 0.91x top25desk_docs___1_open_documen.skp 6.04us -> 5.51us 0.91x keymobi_wikipedia__1_tab_.skp 59.7us -> 54.4us 0.91x desk_unicodetable.skp 1.12ms -> 1.02ms 0.91x top25desk_ebay_com.skp 17.8us -> 16.2us 0.91x keymobi_ftw_usatoday_com_2014_0.skp 26.8us -> 24.3us 0.91x top25desk_sports_yahoo_com_.skp 49.9us -> 45.3us 0.91x keymobi_cnn_com.skp 9.94us -> 9.03us 0.91x keymobi_m_youtube_com_watch_v_9.skp 13.4us -> 12.2us 0.91x top25desk_amazon_com.skp 26.6us -> 24.1us 0.91x keymobi_news_yahoo_com.skp 17.5us -> 15.8us 0.9x keymobi_wowwiki_com_world_of_wa.skp 11.2us -> 10.2us 0.9x top25desk_plus_google_com_11003.skp 93.5us -> 84.4us 0.9x desk_carsvg.skp 53.5us -> 48.2us 0.9x top25desk_news_yahoo_com.skp 44.7us -> 40.3us 0.9x keymobi_wikipedia__1_tab____del.skp 59.4us -> 53.4us 0.9x desk_googlespreadsheet.skp 66us -> 59.2us 0.9x keymobi_answers_yahoo_com_quest.skp 30.2us -> 27us 0.89x desk_ugamsolutions.skp 13us -> 11.6us 0.89x keymobi_shop_mobileweb_ebay_com.skp 6.96us -> 6.21us 0.89x keymobi_nytimes_com_.skp 12.1us -> 10.8us 0.89x keymobi_gsp_ro.skp 5.54us -> 4.92us 0.89x top25desk_booking_com.skp 54.9us -> 48.6us 0.89x top25desk_espn.skp 37us -> 32.6us 0.88x keymobi_facebook_com_barackobam.skp 23.3us -> 20.4us 0.88x BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231103002 Committed: https://skia.googlesource.com/skia/+/ac243914af957a806d842318a43dddaf5f941dc3 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng Review-Url: https://codereview.chromium.org/2231103002