aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Revert of Add GM/slide to simulate Android-style reveal clip (patchset #6 ↵Gravatar robertphillips2016-09-07
| | | | | | | | | | | | | | | | | | | | | | | | id:100001 of https://codereview.chromium.org/2316593003/ ) Reason for revert: Shader compilation failure Original issue's description: > Add GM/slide to simulate Android-style reveal clip > > Hopefully, this will let us play w/ geometric and shader-based solutions. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2316593003 > > Committed: https://skia.googlesource.com/skia/+/ffac5c4aae18fc706e4077763c190a89c8507fb0 TBR=jvanverth@google.com,djsollen@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/2316303002
* Add minimal support for readPixels in raster F16Gravatar brianosman2016-09-07
| | | | | | | | | | | Still doesn't support doing premul <-> unpremul conversions, but handles the simple cases (which would previously always fail). Fixes the new gamut gm (partially) in f16 config. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2321673002 Review-Url: https://codereview.chromium.org/2321673002
* Use demux API in SkWebpCodecGravatar msarett2016-09-07
| | | | | | | | | | | | | | | * Necessary to read ICC profiles * Will be necessary to implement animation * Requires consolidated data with length Doesn't affect decode performance (thought I believe our performance tests only cover SkStreams with memory bases). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2311793004 Review-Url: https://codereview.chromium.org/2311793004
* Add GM/slide to simulate Android-style reveal clipGravatar robertphillips2016-09-07
| | | | | | | | Hopefully, this will let us play w/ geometric and shader-based solutions. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2316593003 Review-Url: https://codereview.chromium.org/2316593003
* Restructure flushing relationship between GrContext, GrDrawingManager, and ↵Gravatar bsalomon2016-09-07
| | | | | | | | | | | | | | | | | | GrResourceCache. Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough. Removes the unused and untested discard flush variation. Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext. Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the flush that just occurred. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2307053002 Committed: https://skia.googlesource.com/skia/+/1dbb207babecdae8f1f74ed9d9900c73064df744 Review-Url: https://codereview.chromium.org/2307053002
* SkPDF: remove unused fallback clipping codeGravatar halcanary2016-09-07
| | | | | | | | | This code is untested and unnecessary. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2319653002 Review-Url: https://codereview.chromium.org/2319653002
* Revert of Make AALinearizingConvexPathRenderer able to handle stroke and ↵Gravatar robertphillips2016-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | fill (patchset #7 id:120001 of https://codereview.chromium.org/2301353004/ ) Reason for revert: Image quality issues on Android devices Original issue's description: > Make AALinearizingConvexPathRenderer able to handle stroke and fill > > This is intended to catch stroke-and-fill convex paths with potentially small stroke widths (e.g., .1). > > It does have the disconcerting side effect of changing bevel-joined stroke-and-filled degenerate-single-line-rects into plain rects (w/o triangular end-caps). > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2301353004 > > Committed: https://skia.googlesource.com/skia/+/522bcd99fa65a8abd130880f59b500cf367d0845 TBR=ethannicholas@google.com,jvanverth@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/2318183002
* fix pathops fuzzersGravatar caryclark2016-09-07
| | | | | | | | | | | | | | Extreme values trigger asserts that in range values allow. Disable asserts and other tests to prevent extreme values from crashing. TBR=reed@google.com BUG=644684. 644680, 644640 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2316173002 Review-Url: https://codereview.chromium.org/2316173002
* Add color gamut xform helpers to GrGLSLShaderBuilderGravatar brianosman2016-09-07
| | | | | | | | | | | | | | New helper functions inject the necessary shader function. Texture lookup functions can now insert the gamut xform at the appropriate place, too. As written, could be used to transform non-texture colors (e.g. vertex colors) as well. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2180803005 Review-Url: https://codereview.chromium.org/2180803005
* made point light shadowsGravatar vjiaoblack2016-09-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2294323003 Review-Url: https://codereview.chromium.org/2294323003
* Merge GrGLSLProgramDesc into GrProgramDescGravatar egdaniel2016-09-07
| | | | | | BUG=skia: Review-Url: https://codereview.chromium.org/2318523006
* Add gammaIsLinear() API to SkColorSpaceGravatar msarett2016-09-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2319073002 Review-Url: https://codereview.chromium.org/2319073002
* Make AALinearizingConvexPathRenderer able to handle stroke and fillGravatar robertphillips2016-09-07
| | | | | | | | | | This is intended to catch stroke-and-fill convex paths with potentially small stroke widths (e.g., .1). It does have the disconcerting side effect of changing bevel-joined stroke-and-filled degenerate-single-line-rects into plain rects (w/o triangular end-caps). GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2301353004 Review-Url: https://codereview.chromium.org/2301353004
* Revert of More robust check for sRGB gamma tables (patchset #2 id:60001 of ↵Gravatar msarett2016-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2263233003/ ) Reason for revert: From the previous commit message: "This check is not fast. If we find that it doesn't help us recognize sRGB curves, we should delete it." Turns out it doesn't help. Looks to me like the tables are not sRGB. Original issue's description: > More robust check for sRGB gamma tables > > This is in response to a UMA showing that 5% dst gammas are > unidentified tables. We want to see if some of these tables > should be marked as sRGB. > https://uma.googleplex.com/p/chrome/histograms?endDate=latest&dayCount=1&histograms=Blink.ColorSpace.Destination&fixupData=true&showMax=true&filters=isofficial%2Ceq%2CTrue&implicitFilters=isofficial > > This check is not fast. If we find that it doesn't help > us recognize sRGB curves, we should delete it. > > BUG=skia:5656 > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2263233003 > > Committed: https://skia.googlesource.com/skia/+/4ff08df15a8042cdb4fc90a82e1044847d0de300 TBR=mtklein@google.com,brianosman@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=skia:5656 Review-Url: https://codereview.chromium.org/2315863003
* [SVGDevice] Observe even-odd path fillsGravatar fmalita2016-09-06
| | | | | | | | BUG=skia:5712 R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2311333002 Review-Url: https://codereview.chromium.org/2311333002
* Revert of Restructure flushing relationship between GrContext, ↵Gravatar bsalomon2016-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrDrawingManager, and GrResourceCache. (patchset #4 id:60001 of https://codereview.chromium.org/2307053002/ ) Reason for revert: Causing assertions on bots Original issue's description: > Restructure flushing relationship between GrContext, GrDrawingManager, and GrResourceCache. > > Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough. > > Removes the unused and untested discard flush variation. > > Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext. > > Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the > flush that just occurred. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2307053002 > > Committed: https://skia.googlesource.com/skia/+/1dbb207babecdae8f1f74ed9d9900c73064df744 TBR=robertphillips@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/2312123003
* Revert of fix uninit immediate mode member var in GrDrawingManager (patchset ↵Gravatar bsalomon2016-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | #1 id:1 of https://codereview.chromium.org/2312333002/ ) Reason for revert: Reverting in order to revert earlier CL Original issue's description: > fix uninit immediate mode member var in GrDrawingManager > > TBR=robertphillips@google.com > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2312333002 > > NOTRY=true > > Committed: https://skia.googlesource.com/skia/+/ce3b852529ad1f026aad3976f3213c8943554ba2 TBR=robertphillips@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/2311243003
* fix uninit immediate mode member var in GrDrawingManagerGravatar bsalomon2016-09-06
| | | | | | | | | TBR=robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2312333002 NOTRY=true Review-Url: https://codereview.chromium.org/2312333002
* added radial lights to SkLightsGravatar vjiaoblack2016-09-06
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2301173004 Review-Url: https://codereview.chromium.org/2301173004
* Restructure flushing relationship between GrContext, GrDrawingManager, and ↵Gravatar bsalomon2016-09-06
| | | | | | | | | | | | | | | | | GrResourceCache. Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough. Removes the unused and untested discard flush variation. Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext. Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the flush that just occurred. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2307053002 Review-Url: https://codereview.chromium.org/2307053002
* check for null-layer-paint after prev fix to savelayer opsGravatar reed2016-09-06
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2314073002 Review-Url: https://codereview.chromium.org/2314073002
* Delete SkColorSpace::kUnknown_Named, remove fNamed fieldGravatar msarett2016-09-06
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302413002 Committed: https://skia.googlesource.com/skia/+/54682e856cb66c653bc7e253981a421a2618398e Review-Url: https://codereview.chromium.org/2302413002
* Improve usage of window rectanglesGravatar csmartdalton2016-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Skips non-AA diff rect elements and replaces them with window rectangles. * Places window rectangles in the interiors of antialiased diff rects. * Arranges two overlapping window rectangles in a plus shape inside of diff rounded rects. * Enables window rectangles when clearing and generating clip masks. GTX 960 perf result (with vs. without window rectangles): glinst4 msaa16 gpu keymobi_pinterest.skp 0.48 -> 0.17 [ 35%] 2.77 -> 1.49 [ 54%] 0.22 -> 0.16 [ 70%] keymobi_digg_com.skp 0.42 -> 0.23 [ 55%] 2.34 -> 1.08 [ 46%] 0.25 -> 0.21 [ 83%] desk_jsfiddlebigcar.skp 0.28 -> 0.16 [ 59%] 1.70 -> 0.96 [ 57%] 0.19 -> 0.14 [ 70%] top25desk_wordpress.skp 0.45 -> 0.18 [ 40%] 2.78 -> 1.53 [ 55%] 0.21 -> 0.19 [ 94%] top25desk_weather_com.skp 2.01 -> 1.93 [ 96%] 23.5 -> 2.54 [ 11%] 1.90 -> 1.68 [ 88%] keymobi_blogger.skp 0.57 -> 0.37 [ 65%] 2.87 -> 1.54 [ 54%] 0.43 -> 0.33 [ 77%] keymobi_linkedin.skp 0.32 -> 0.17 [ 51%] 1.93 -> 1.04 [ 54%] 0.17 -> 0.15 [ 91%] keymobi_bing_com_search_... 0.29 -> 0.25 [ 83%] 1.85 -> 1.23 [ 66%] 0.50 -> 0.24 [ 48%] keymobi_theverge_com_201... 1.00 -> 0.67 [ 68%] 9.46 -> 3.84 [ 41%] 0.72 -> 0.65 [ 90%] keymobi_sfgate_com_.skp 1.56 -> 1.13 [ 72%] 4.49 -> 2.86 [ 64%] 1.54 -> 1.11 [ 72%] ... GEOMEAN (All 79 blink skps) 1.04 -> 0.90 [ 86%] 4.22 -> 2.81 [ 67%] 0.95 -> 0.89 [ 94%] BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289363005 Committed: https://skia.googlesource.com/skia/+/db42be9a326c747ff92ed1da8c3536c5b3e8e22b Review-Url: https://codereview.chromium.org/2289363005
* Work around VS 2015 Update 3 optimizer internal compiler errorGravatar brucedawson2016-09-06
| | | | | | | | | | | | | | | | VS 2015 Update 3 comes with a fancy new optimizer and this optimizer causes an internal compiler error on one skia function. This change works around the bug by disabling optimize-for-time for that function. Other options would be to add /d2SSAOptimizer- to the command-line for the file or project but that would *require* Update 3 which is not yet desirable. VS bug report is here: https://connect.microsoft.com/VisualStudio/feedback/details/3100520 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2308833002 Review-Url: https://codereview.chromium.org/2308833002
* SkDocument: turn off SK_SUPPORT_LEGACY_DOCUMENT_APIGravatar halcanary2016-09-06
| | | | | | | | no one seems to be using it. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2299653002 Review-Url: https://codereview.chromium.org/2299653002
* test dont-clip-layerGravatar reed2016-09-06
| | | | | | | | | depends on fix from https://codereview.chromium.org/2309623002/ BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2296703003 Review-Url: https://codereview.chromium.org/2296703003
* provide safe exit for runaway intersectionsGravatar caryclark2016-09-06
| | | | | | | | | | | | | | Curve intersections with extreme numbers may cause the intersection template code to loop forever. Detect this by looking for marking more spans gone than exist, and return without any intersections found. TBR=reed@google.com BUG=643855 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2310113002 Review-Url: https://codereview.chromium.org/2310113002
* compare degenerates with toleranceGravatar caryclark2016-09-06
| | | | | | | | | | | | | | | | | | | Conics with very large w values can be approximated with two straight lines. This avoids iterating endlessly in an attempt to create quadratics with unstable numerics. Check to see if the first chop generated a pair of lines within the default point comparison tolerance. R=reed@google.com BUG=643933, 643665 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2312923002 Review-Url: https://codereview.chromium.org/2312923002
* Revert of Improve usage of window rectangles (patchset #9 id:160001 of ↵Gravatar caryclark2016-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2289363005/ ) Reason for revert: broke build. See https://build.chromium.org/p/client.skia/builders/Perf-Win8-MSVC-ShuttleA-GPU-GTX960-x86_64-Debug/builds/186 Original issue's description: > Improve usage of window rectangles > > * Skips non-AA diff rect elements and replaces them with window > rectangles. > * Places window rectangles in the interiors of antialiased diff rects. > * Arranges two overlapping window rectangles in a plus shape inside of > diff rounded rects. > * Enables window rectangles when clearing and generating clip masks. > > GTX 960 perf result (with vs. without window rectangles): > > glinst4 msaa16 gpu > keymobi_pinterest.skp 0.48 -> 0.17 [ 35%] 2.77 -> 1.49 [ 54%] 0.22 -> 0.16 [ 70%] > keymobi_digg_com.skp 0.42 -> 0.23 [ 55%] 2.34 -> 1.08 [ 46%] 0.25 -> 0.21 [ 83%] > desk_jsfiddlebigcar.skp 0.28 -> 0.16 [ 59%] 1.70 -> 0.96 [ 57%] 0.19 -> 0.14 [ 70%] > top25desk_wordpress.skp 0.45 -> 0.18 [ 40%] 2.78 -> 1.53 [ 55%] 0.21 -> 0.19 [ 94%] > top25desk_weather_com.skp 2.01 -> 1.93 [ 96%] 23.5 -> 2.54 [ 11%] 1.90 -> 1.68 [ 88%] > keymobi_blogger.skp 0.57 -> 0.37 [ 65%] 2.87 -> 1.54 [ 54%] 0.43 -> 0.33 [ 77%] > keymobi_linkedin.skp 0.32 -> 0.17 [ 51%] 1.93 -> 1.04 [ 54%] 0.17 -> 0.15 [ 91%] > keymobi_bing_com_search_... 0.29 -> 0.25 [ 83%] 1.85 -> 1.23 [ 66%] 0.50 -> 0.24 [ 48%] > keymobi_theverge_com_201... 1.00 -> 0.67 [ 68%] 9.46 -> 3.84 [ 41%] 0.72 -> 0.65 [ 90%] > keymobi_sfgate_com_.skp 1.56 -> 1.13 [ 72%] 4.49 -> 2.86 [ 64%] 1.54 -> 1.11 [ 72%] > keymobi_ftw_usatoday_com... 0.59 -> 0.34 [ 57%] 2.80 -> 1.54 [ 55%] 1.21 -> 1.20 [ 99%] > keymobi_shop_mobileweb_e... 0.46 -> 0.32 [ 70%] 2.60 -> 1.26 [ 48%] 0.35 -> 0.34 [ 97%] > keymobi_cnn_com.skp 0.68 -> 0.42 [ 63%] 3.40 -> 2.10 [ 62%] 0.49 -> 0.45 [ 93%] > keymobi_plus_google_com_... 0.77 -> 0.46 [ 60%] 4.83 -> 3.56 [ 74%] 0.52 -> 0.46 [ 89%] > keymobi_wordpress.skp 0.50 -> 0.40 [ 81%] 2.60 -> 1.31 [ 50%] 0.40 -> 0.37 [ 91%] > keymobi_androidpolice_co... 0.84 -> 0.73 [ 87%] 4.15 -> 2.05 [ 49%] 0.77 -> 0.67 [ 87%] > keymobi_online_wsj_com_h... 0.55 -> 0.43 [ 78%] 2.91 -> 1.66 [ 57%] 0.45 -> 0.41 [ 90%] > keymobi_iphone_capitolvo... 1.18 -> 0.96 [ 81%] 6.26 -> 4.96 [ 79%] 0.95 -> 0.92 [ 97%] > keymobi_wikipedia__1_tab... 0.46 -> 0.41 [ 89%] 2.51 -> 1.24 [ 49%] 0.40 -> 0.38 [ 95%] > keymobi_wikipedia__1_tab... 0.46 -> 0.42 [ 90%] 2.52 -> 1.25 [ 50%] 0.40 -> 0.38 [ 96%] > keymobi_boingboing_net.skp 0.62 -> 0.56 [ 90%] 3.15 -> 1.80 [ 57%] 0.61 -> 0.56 [ 92%] > keymobi_cnn_com_2012_10_... 0.86 -> 0.82 [ 95%] 2.81 -> 1.50 [ 53%] 0.91 -> 0.83 [ 91%] > top25desk_techcrunch_com... 0.61 -> 0.56 [ 92%] 3.03 -> 1.76 [ 58%] 0.62 -> 0.56 [ 91%] > top25desk_ebay_com.skp 1.18 -> 1.08 [ 92%] 2.23 -> 1.24 [ 56%] 1.14 -> 1.09 [ 96%] > desk_css3gradients.skp 0.64 -> 0.61 [ 95%] 2.99 -> 1.54 [ 52%] 0.62 -> 0.61 [ 99%] > top25desk_blogger.skp 0.61 -> 0.59 [ 96%] 2.50 -> 1.37 [ 55%] 0.60 -> 0.57 [ 95%] > keymobi_nytimes_com_.skp 0.65 -> 0.64 [ 98%] 2.69 -> 1.42 [ 53%] 0.62 -> 0.59 [ 96%] > keymobi_wowwiki_com_worl... 0.99 -> 0.92 [ 92%] 3.46 -> 2.06 [ 60%] 0.98 -> 0.95 [ 96%] > keymobi_cuteoverload_com... 1.37 -> 1.26 [ 92%] 3.24 -> 2.45 [ 76%] 1.38 -> 1.35 [ 98%] > keymobi_mobile_news_sand... 0.88 -> 0.81 [ 93%] 3.50 -> 2.07 [ 59%] 0.82 -> 0.81 [100%] > top25desk_linkedin.skp 0.87 -> 0.87 [100%] 2.92 -> 1.73 [ 59%] 0.94 -> 0.86 [ 91%] > top25desk_docs___1_open_... 1.43 -> 1.36 [ 95%] 1.87 -> 1.42 [ 76%] 0.73 -> 0.66 [ 91%] > keymobi_reddit_com_r_pro... 0.68 -> 0.66 [ 96%] 2.49 -> 1.23 [ 49%] 0.65 -> 0.66 [102%] > ... > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289363005 > > Committed: https://skia.googlesource.com/skia/+/db42be9a326c747ff92ed1da8c3536c5b3e8e22b TBR=bsalomon@google.com,egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=skia: Review-Url: https://codereview.chromium.org/2312173002
* test picture-ops for savelayerGravatar reed2016-09-06
| | | | | | | BUG=skia:5716 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2309623002 Review-Url: https://codereview.chromium.org/2309623002
* interpolation of coincidence must be local to a single spanGravatar caryclark2016-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pathops makes up intersections that it doesn't detect directly, but do exist. For instance, if a is coincident with b, and b is coincident with c, then for where they overlap a is coincident with c. The intersections are made up in different ways. In a few places, the t values that are detected are interpolated to guess the t values that represent invented intersections. The interpolated t is not necessarily linear, but a linear guess is good enough if the invented t lies between known t values. Additionally, improve debugging. This passes the extended release test suite and additionally passes the first 17 levels in the tiger test suite; previously, path ops passed 7 levels. The tiger suite is composed of 37 levels in increasing complexity, described by about 300K tests. TBR=reed@google.com BUG=skia:5131 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300203002 Review-Url: https://codereview.chromium.org/2300203002
* Add a makeDrawContextWithFallback that handles config fallbackGravatar robertphillips2016-09-06
| | | | | | | | This fixes a bug in find_or_create_rrect_blur_mask where an A8-based drawContext was desired but creation was failing b.c. A8 wasn't renderable. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2296193005 Review-Url: https://codereview.chromium.org/2296193005
* Delete kInvalid_GammaNamed (part 2)Gravatar msarett2016-09-05
| | | | | | | | | We are done using this for UMA. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2306123002 Review-Url: https://codereview.chromium.org/2306123002
* Revert of Delete SkColorSpace::kUnknown_Named, remove fNamed field (patchset ↵Gravatar mgiuca2016-09-05
| | | | | | | | | | | | | | | | | | | | | | | #1 id:20001 of https://codereview.chromium.org/2302413002/ ) Reason for revert: This CL introduced two static initializers (gAdobeRGB and gSRGB) which are causing a sizes regression on Chromium builders: https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/24981 Original issue's description: > Delete SkColorSpace::kUnknown_Named, remove fNamed field > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302413002 > > Committed: https://skia.googlesource.com/skia/+/54682e856cb66c653bc7e253981a421a2618398e TBR=reed@google.com,brianosman@google.com,msarett@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=skia:5724 Review-Url: https://codereview.chromium.org/2306313002
* Delete SkColorSpace::kUnknown_Named, remove fNamed fieldGravatar msarett2016-09-02
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302413002 Review-Url: https://codereview.chromium.org/2302413002
* remove unused SkDevice::setMatrixClipGravatar reed2016-09-02
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2308733002 Review-Url: https://codereview.chromium.org/2308733002
* Improve usage of window rectanglesGravatar csmartdalton2016-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Skips non-AA diff rect elements and replaces them with window rectangles. * Places window rectangles in the interiors of antialiased diff rects. * Arranges two overlapping window rectangles in a plus shape inside of diff rounded rects. * Enables window rectangles when clearing and generating clip masks. GTX 960 perf result (with vs. without window rectangles): glinst4 msaa16 gpu keymobi_pinterest.skp 0.48 -> 0.17 [ 35%] 2.77 -> 1.49 [ 54%] 0.22 -> 0.16 [ 70%] keymobi_digg_com.skp 0.42 -> 0.23 [ 55%] 2.34 -> 1.08 [ 46%] 0.25 -> 0.21 [ 83%] desk_jsfiddlebigcar.skp 0.28 -> 0.16 [ 59%] 1.70 -> 0.96 [ 57%] 0.19 -> 0.14 [ 70%] top25desk_wordpress.skp 0.45 -> 0.18 [ 40%] 2.78 -> 1.53 [ 55%] 0.21 -> 0.19 [ 94%] top25desk_weather_com.skp 2.01 -> 1.93 [ 96%] 23.5 -> 2.54 [ 11%] 1.90 -> 1.68 [ 88%] keymobi_blogger.skp 0.57 -> 0.37 [ 65%] 2.87 -> 1.54 [ 54%] 0.43 -> 0.33 [ 77%] keymobi_linkedin.skp 0.32 -> 0.17 [ 51%] 1.93 -> 1.04 [ 54%] 0.17 -> 0.15 [ 91%] keymobi_bing_com_search_... 0.29 -> 0.25 [ 83%] 1.85 -> 1.23 [ 66%] 0.50 -> 0.24 [ 48%] keymobi_theverge_com_201... 1.00 -> 0.67 [ 68%] 9.46 -> 3.84 [ 41%] 0.72 -> 0.65 [ 90%] keymobi_sfgate_com_.skp 1.56 -> 1.13 [ 72%] 4.49 -> 2.86 [ 64%] 1.54 -> 1.11 [ 72%] keymobi_ftw_usatoday_com... 0.59 -> 0.34 [ 57%] 2.80 -> 1.54 [ 55%] 1.21 -> 1.20 [ 99%] keymobi_shop_mobileweb_e... 0.46 -> 0.32 [ 70%] 2.60 -> 1.26 [ 48%] 0.35 -> 0.34 [ 97%] keymobi_cnn_com.skp 0.68 -> 0.42 [ 63%] 3.40 -> 2.10 [ 62%] 0.49 -> 0.45 [ 93%] keymobi_plus_google_com_... 0.77 -> 0.46 [ 60%] 4.83 -> 3.56 [ 74%] 0.52 -> 0.46 [ 89%] keymobi_wordpress.skp 0.50 -> 0.40 [ 81%] 2.60 -> 1.31 [ 50%] 0.40 -> 0.37 [ 91%] keymobi_androidpolice_co... 0.84 -> 0.73 [ 87%] 4.15 -> 2.05 [ 49%] 0.77 -> 0.67 [ 87%] keymobi_online_wsj_com_h... 0.55 -> 0.43 [ 78%] 2.91 -> 1.66 [ 57%] 0.45 -> 0.41 [ 90%] keymobi_iphone_capitolvo... 1.18 -> 0.96 [ 81%] 6.26 -> 4.96 [ 79%] 0.95 -> 0.92 [ 97%] keymobi_wikipedia__1_tab... 0.46 -> 0.41 [ 89%] 2.51 -> 1.24 [ 49%] 0.40 -> 0.38 [ 95%] keymobi_wikipedia__1_tab... 0.46 -> 0.42 [ 90%] 2.52 -> 1.25 [ 50%] 0.40 -> 0.38 [ 96%] keymobi_boingboing_net.skp 0.62 -> 0.56 [ 90%] 3.15 -> 1.80 [ 57%] 0.61 -> 0.56 [ 92%] keymobi_cnn_com_2012_10_... 0.86 -> 0.82 [ 95%] 2.81 -> 1.50 [ 53%] 0.91 -> 0.83 [ 91%] top25desk_techcrunch_com... 0.61 -> 0.56 [ 92%] 3.03 -> 1.76 [ 58%] 0.62 -> 0.56 [ 91%] top25desk_ebay_com.skp 1.18 -> 1.08 [ 92%] 2.23 -> 1.24 [ 56%] 1.14 -> 1.09 [ 96%] desk_css3gradients.skp 0.64 -> 0.61 [ 95%] 2.99 -> 1.54 [ 52%] 0.62 -> 0.61 [ 99%] top25desk_blogger.skp 0.61 -> 0.59 [ 96%] 2.50 -> 1.37 [ 55%] 0.60 -> 0.57 [ 95%] keymobi_nytimes_com_.skp 0.65 -> 0.64 [ 98%] 2.69 -> 1.42 [ 53%] 0.62 -> 0.59 [ 96%] keymobi_wowwiki_com_worl... 0.99 -> 0.92 [ 92%] 3.46 -> 2.06 [ 60%] 0.98 -> 0.95 [ 96%] keymobi_cuteoverload_com... 1.37 -> 1.26 [ 92%] 3.24 -> 2.45 [ 76%] 1.38 -> 1.35 [ 98%] keymobi_mobile_news_sand... 0.88 -> 0.81 [ 93%] 3.50 -> 2.07 [ 59%] 0.82 -> 0.81 [100%] top25desk_linkedin.skp 0.87 -> 0.87 [100%] 2.92 -> 1.73 [ 59%] 0.94 -> 0.86 [ 91%] top25desk_docs___1_open_... 1.43 -> 1.36 [ 95%] 1.87 -> 1.42 [ 76%] 0.73 -> 0.66 [ 91%] keymobi_reddit_com_r_pro... 0.68 -> 0.66 [ 96%] 2.49 -> 1.23 [ 49%] 0.65 -> 0.66 [102%] ... BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289363005 Review-Url: https://codereview.chromium.org/2289363005
* SkMakeUnique.h defines skstd::make_unique<T>(Args...)Gravatar halcanary2016-09-02
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2293963002 Review-Url: https://codereview.chromium.org/2293963002
* Add option to skip rects to drawImageLattice()Gravatar msarett2016-09-02
| | | | | | | | | | | | | | | | HWUI skips transparent rects when drawing. When skia draws using bilerp, we will blend transparent rects with neighboring rects and might draw a bit of a smudge. This CL adds the option to skip rects, allowing us to have compatible behavior with the framework. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2305433002 Review-Url: https://codereview.chromium.org/2305433002
* Small perf optimizations preparing sampled images in vulkanGravatar egdaniel2016-09-02
| | | | | | | | | | | | In our current setup, there is no need for storing the sampled images in an array and then putting in barriers for them later. If we ever change the system to building up these secondary command buffers early, we will need to go back to storing the sampled images. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302333002 Review-Url: https://codereview.chromium.org/2302333002
* Revert of Force SkPath::getConvexity() cache for thread safety. (patchset #1 ↵Gravatar mtklein2016-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | id:1 of https://codereview.chromium.org/2300003003/ ) Reason for revert: I don't see anything else in the roll that could have caused the diff. Original issue's description: > Force SkPath::getConvexity() cache for thread safety. > > I happened to stumble on this in a run of TSAN: > https://luci-milo.appspot.com/swarming/task/30fffe9497dc6310/steps/dm/0/stdout > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300003003 > > Committed: https://skia.googlesource.com/skia/+/d0634eeb565d706df2e148a33f137c6edf42bf2e TBR=reed@google.com,mtklein@chromium.org # 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/2303303002
* record drawfiltersGravatar reed2016-09-02
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2303033002 Review-Url: https://codereview.chromium.org/2303033002
* Make swizzler optional for SkPngCodec, refactor xformsGravatar msarett2016-09-01
| | | | | | | | | | | | | | | | | | | | | | I think is a good redesign that will allow us to handle more png xforms more efficiently. And I also think it reduces a bit of complexity. PNGs can be RGBA, RGB, Gray, GrayAlpha, Index8. The swizzler handles all of those input formats and all Skia output formats. Swizzler also provides sampling/subsetting. Color xforms currently only handles RGBA. So we use the swizzler to convert to RGBA first. I've started thinking about adding RGB, Gray, etc. support for color xforms. In this case (and the RGBA case), we should skip the swizzling step. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2279313003 Review-Url: https://codereview.chromium.org/2279313003
* Request legacy mode behavior from SkCodec in BitmapRegionDecoderGravatar msarett2016-09-01
| | | | | | | | | | Png assets look funny when we perform a correct, linear premultiply. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302953002 Review-Url: https://codereview.chromium.org/2302953002
* SkPDF: revert changes to CMapName/Registry/Ordering in 3d01c62Gravatar halcanary2016-09-01
| | | | | | | | BUG=skia:5606 TBR=bungeman@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2305803002 Review-Url: https://codereview.chromium.org/2305803002
* Force SkPath::getConvexity() cache for thread safety.Gravatar mtklein2016-09-01
| | | | | | | | | | I happened to stumble on this in a run of TSAN: https://luci-milo.appspot.com/swarming/task/30fffe9497dc6310/steps/dm/0/stdout BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300003003 Review-Url: https://codereview.chromium.org/2300003003
* Disable MSAAPathRender for Android Framework buildsGravatar robertphillips2016-09-01
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298613005 Review-Url: https://codereview.chromium.org/2298613005
* SkFontMgr_FontConfigInterface create typeface from FontParameters.Gravatar bungeman2016-09-01
| | | | | | | | | | | | This implements SkFontMgr_FontConfigInterface::onCreateFromStream(SkStreamAsset*, const FontParameters&) and makes the changes needed to support it. This will allow Chromium to create variation fonts from data. BUG=skia:5697 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2296843002 Review-Url: https://codereview.chromium.org/2296843002
* Remove some useless declarationsGravatar sylvestre.ledru2016-09-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270613003 Review-Url: https://codereview.chromium.org/2270613003
* Enable the screenspace AA tessellating path renderer.Gravatar senorblanco2016-09-01
| | | | | | | | | | | | | | | | | | | | | | | | This will enable the new path renderer in Skia. It is still disabled in Chrome, to protect layout test results. Note: this will cause minor pixel diffs in a number of GMs' GPU results, including drawregionmodes, dstreadshuffle, smallarc, path-reverse, bug339297, parsedpaths, zero_control_stroke, strokedlines, smallpaths, circular_arcs_stroke_round, concavepaths, circular_arcs_stroke_square, clipcubic, arcto, persp_shaders_aa, complexclip3_complex, circular_arcs_stroke_and_fill_butt, complexclip_aa, complexclip_aa_layer, complexclip_aa_invert, complexclip3_simple, complexclip_aa_layer_invert, shadertext, shadertext2, convex-lineonly-paths-stroke-and-fill, poly2poly, glyph_pos_h_b, glyph_pos_h_f, glyph_pos_n_f, and glyph_pos_n_s. Note: it also "fixes" crbug_640176, or more accurately, hides the failure, since the default path renderer likely still has the bug. BUG=642376 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2303743002 Review-Url: https://codereview.chromium.org/2303743002