aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Expose SkPath validation as booleanGravatar Adrienne Walker2017-08-10
| | | | | | | | | | | | | | | | As a part of serializing SkPaths, I want to be able to know (without asserting) whether or not a path is valid so that I can discard potentially malicious deserialized paths. Currently, SkPath(Ref) both just have asserting validation functions which can't be used externally. This patch adds accessors that don't assert. Bug: chromium:752755 skia:6955 Change-Id: I4d0ceb31ec660b87e3fda438392ad2b60a27a0da Reviewed-on: https://skia-review.googlesource.com/31720 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* Bypass libandroid dynamic linking for ATrace in framework buildsGravatar Brian Osman2017-08-10
| | | | | | | | | | | | | | | These symbols were resolving, but weren't really connected to systrace on Android. Using the macros/functions allows this to work correctly. This change doesn't actually cause anything to happen in framework builds - that still requires installing an instance of SkATrace, but now doing so will route all of Skia's TRACE_EVENT macros to systrace. Bug: skia: Change-Id: I6d2eafac7ef2531ba92094b92f68e59e0490ef62 Reviewed-on: https://skia-review.googlesource.com/33400 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove fStencilClearValue from Vulkan's CommandBufferInfo structGravatar Robert Phillips2017-08-10
| | | | | | | | | | | Adding this extra field to the CommandBufferInfo may or may not have led to a memory regression. Remove it until it is actually needed. Change-Id: Ibdddbeb7625f91f5199584a575289f07f6e95304 Reviewed-on: https://skia-review.googlesource.com/33280 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Hide GrPaint copy constructor and add GrPaint::Clone and remove MoveOrNew ↵Gravatar Brian Salomon2017-08-10
| | | | | | | | | | | and MoveOrCopy. Also makes paint clones use cloned fragment processors. Change-Id: I60efcfc6a46a4f8430a72f4d1ec79c7d99fbe593 Reviewed-on: https://skia-review.googlesource.com/33084 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Some performance tweaks for DAAGravatar Yuqian Li2017-08-10
| | | | | | | | | | | | | | | | | | | | | | | 1. Always inline (Clang previously ignored inline and got 25% slower) 2. SIMD everywhere other than x86 gcc: non-SIMD is only faster in my desktop with gcc; with Clang on my desktop, SIMD is 50% faster than non-SIMD. 3. Allocate 4x memory instead of 2x when running out of space: on old Android devices with Linux kernel 3.10 (e.g., Nexus 6P, 5X), the alloc/memcpy will triger a major bottleneck in kernel (30% of the running time). Such bottleneck goes away (the kernel is no longer doing stupid things during alloc/memcpy) in Linux kernel 3.18 (e.g., Pixel), and that's why DAA is much faster on Pixel than on Nexus 6P. I think maybe I should adopt SkRasterPipeline for device-specific optimizations. Bug: skia: Change-Id: I0408aa7671a5f1b39aad3bec25f8fc994ff5a1bb Reviewed-on: https://skia-review.googlesource.com/30820 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Revert "Revert "Support single line objects and arrays""Gravatar Brian Osman2017-08-10
| | | | | | | | | | This reverts commit a5a69cfb480b99747ddc272149d35c6302abf1bf. Bug: skia: Change-Id: I08475d96255b9df13e5c86e1ef9c7f4739e51459 Reviewed-on: https://skia-review.googlesource.com/33202 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Avoid errors about re-defining __STDC_FORMAT_MACROSGravatar Brian Osman2017-08-10
| | | | | | | | Bug: skia: Change-Id: I880e3d5a668743ac12fb0101baca637443e920b4 Reviewed-on: https://skia-review.googlesource.com/33082 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Revert "GrContext::dump that produces JSON formatted output""Gravatar Brian Osman2017-08-10
| | | | | | | | | | This reverts commit 0f450acd76fd58a2f7464f99869ed6afbfac303c. Bug: skia: Change-Id: I97428fbbc6d82bf8b186ec5fdbf1a939c00e4126 Reviewed-on: https://skia-review.googlesource.com/32726 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Replace interp() with clut_{3,4}D stages.Gravatar Mike Klein2017-08-10
| | | | | | | | | | | | | | | I tried to follow exactly the same strategy as a start. (Though I did fix the off-by-one dimensions.) It does rather look like we only need 3D and 4D now that I've looked at the call sites. Looks like about a 20% speedup. Change-Id: I8b1af64750ad1750716ee1ab0767e64591c7206a Reviewed-on: https://skia-review.googlesource.com/32842 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Move GrAppliedClip into GrPipelineGravatar Brian Salomon2017-08-10
| | | | | | | Change-Id: I522c2fd52bea9813baba7cdb3f11b63e7ab96b50 Reviewed-on: https://skia-review.googlesource.com/28861 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove accessRenderTarget calls in service of binding stencil bufferGravatar Robert Phillips2017-08-10
| | | | | | | Change-Id: Ifca6e21c619a0433ecf0b8699d92661f8c3068a8 Reviewed-on: https://skia-review.googlesource.com/31243 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* No chop at y extrema for cubicsGravatar Yuqian Li2017-08-09
| | | | | | | | | | | | | | | | | | The new Delta AA scan converter does not need the edge to be updated with monotonic Y so chopping at y extrema is not necessary. Removing such chopping brings ~10% performance increase to chalkboard.svg which has tons of small cubics (the same is true for many svgs I saw). We didn't remove the chopping for quads because that does not bring a significant speedup. Moreover, dropping those y extremas would make our strokecircle animation look a little more wobbly (because we would have fewer divisions for the quads at the top and bottom of the circle). Bug: skia: Change-Id: I3984d2619f9f77269ed24e8cbfa9f1429ebca4a8 Reviewed-on: https://skia-review.googlesource.com/31940 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Revert "GrContext::dump that produces JSON formatted output"Gravatar Brian Osman2017-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 175af0d01177fc6e5a81e979cd2ae3009c375940. Reason for revert: Chrome doesn't know about portable format specifiers. Sigh. Original change's description: > GrContext::dump that produces JSON formatted output > > Includes caps, GL strings, and extensions > > Bug: skia: > Change-Id: I1e8b3dd50fb68357f9de8ca6149cf65443d027ef > Reviewed-on: https://skia-review.googlesource.com/32340 > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,brianosman@google.com Change-Id: Ie280b25275725f0661da7541f54ed62897abb82f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/32861 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Support single line objects and arrays"Gravatar Brian Osman2017-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6a7d56fa0f7009be9df36774774f3c337d7c7760. Reason for revert: Earlier commit needs to be reverted for Chrome roll. Original change's description: > Support single line objects and arrays > > This is just a formatting nicety. The new caps dump has several large > arrays of structs, and keeping each object on one line makes them much > more readable. (It also limits the total length of the output, which > helps when scanning through). > > Example of the output, before and after this change: > https://gist.github.com/brianosman/872f33be9af49031023b791e7db0b1fb > > Bug: skia: > Change-Id: I0fe0c2241b0c7f451b0837500e554d0491126d5e > Reviewed-on: https://skia-review.googlesource.com/32820 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=bsalomon@google.com,brianosman@google.com Change-Id: I2b05cf79ca4804e5944f2eb3e17fe4be4d5af290 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/32860 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Move GrProcessorSet into GrPipelineGravatar Brian Salomon2017-08-09
| | | | | | | Change-Id: Ibfa5e1adda3c32140590aa62a31d35654cef79dd Reviewed-on: https://skia-review.googlesource.com/28187 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove SkColorLookUpTable::interp3D().Gravatar Mike Klein2017-08-09
| | | | | | | | | | It looks like our recursive approach is faster than interp3D(), and we'd prefer trilinear interpolation over tetrahedral for quality. Change-Id: I1019254b9ecf24b2f4feff17ed8ae1b48fcc281e Reviewed-on: https://skia-review.googlesource.com/32800 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Store discard request on the opList and remove GrDiscardOp"Gravatar Robert Phillips2017-08-09
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit b681a0f1b0acebe36130fd463d14016d48295b97. Reason for revert: Seems to be messing up some MacMini & Nexus7 bots Original change's description: > Store discard request on the opList and remove GrDiscardOp > > Change-Id: Ic1f76bb91c16b23df1fe71c07a4d5ad5abf1dc26 > Reviewed-on: https://skia-review.googlesource.com/32640 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I8a89fae7bb11791bd023d7444a074bb34d006fd0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/32704 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Move gFDot6INVERSE definition to cpp fileGravatar Yuqian Li2017-08-09
| | | | | | | | Bug: skia:6946 Change-Id: Iee029a73ae899b0f73910b45c7cf83bd37dc07c3 Reviewed-on: https://skia-review.googlesource.com/32840 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Support single line objects and arraysGravatar Brian Osman2017-08-09
| | | | | | | | | | | | | | | | This is just a formatting nicety. The new caps dump has several large arrays of structs, and keeping each object on one line makes them much more readable. (It also limits the total length of the output, which helps when scanning through). Example of the output, before and after this change: https://gist.github.com/brianosman/872f33be9af49031023b791e7db0b1fb Bug: skia: Change-Id: I0fe0c2241b0c7f451b0837500e554d0491126d5e Reviewed-on: https://skia-review.googlesource.com/32820 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* GrContext::dump that produces JSON formatted outputGravatar Brian Osman2017-08-09
| | | | | | | | | | Includes caps, GL strings, and extensions Bug: skia: Change-Id: I1e8b3dd50fb68357f9de8ca6149cf65443d027ef Reviewed-on: https://skia-review.googlesource.com/32340 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* add gamma stageGravatar Mike Klein2017-08-09
| | | | | | | | | | | | | | | | Until now we've been using 3 separate parametric stages to apply gamma to r,g,b. That works fine, but is kind of unnecessarily slow, and again less clear in a stack trace than seeing "gamma". The new bench runs in about 60% of the time the old one does on my Trashcan. BUG=skia:6939 Change-Id: I079698d3009b081f1c23a2e27fc26e373b439610 Reviewed-on: https://skia-review.googlesource.com/32721 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Store discard request on the opList and remove GrDiscardOpGravatar Robert Phillips2017-08-09
| | | | | | | Change-Id: Ic1f76bb91c16b23df1fe71c07a4d5ad5abf1dc26 Reviewed-on: https://skia-review.googlesource.com/32640 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Improve float-based dither logicGravatar Eric Karl2017-08-09
| | | | | | | | | | | | | This code simulates the integer-based ordered-dither using step/mod with only floating point values. Produces similar results. R=bsalomon@google.com Bug: skia:4430 Change-Id: I1406f751f0ddd6bfd14e532dfb4efc0bb5784992 Reviewed-on: https://skia-review.googlesource.com/28942 Commit-Queue: Eric Karl <ericrk@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Fix stencil clear load in VulkanGravatar Robert Phillips2017-08-09
| | | | | | | | | | A later clear call was nuking the stencil clear load setting. Bug: skia:6936 Change-Id: Ib2c5cd930273cd6e613ca7191f8b7806abe6c218 Reviewed-on: https://skia-review.googlesource.com/32541 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Store GrRenderTarget in GrGpuCommandBufferGravatar Robert Phillips2017-08-09
| | | | | | | Change-Id: I545d53ffb5f9d450b87a360516b03bdd47232a70 Reviewed-on: https://skia-review.googlesource.com/32460 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Added SkJSONWriterGravatar Brian Osman2017-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a stand-alone helper class for writing properly structured JSON to an SkWStream. It currently solves two problems (although this CL only uses it in one context): 1) Performance. Writing out JSON this way is about 10x faster than using JSONCPP. For the large amounts of data generated by the tracing system, that's a big win. 2) Makes it easy to emit structured JSON from code that's not fully centralized. We'd like to spit out JSON that describes a GrContext, GrGpu, GrCaps, etc... Doing that with simple string manipulation is complex, and spreads this logic over all those functions. Using JSONCPP adds yet another (large) third party library dependency (that we only build into our own tools right now). This went through several revisions. I originally planned it as a stateful SkString wrapper, so the user could just build their JSON as a string. That's O(N^2), though, because SkString grows by a (small) constant amount. Even using a better growth strategy still means needing RAM for all the resulting text, which is usually pointless. This version has a constant memory cost, so writing huge amounts of JSON to disk (tracing a long DM run can emit 100's of MBs) doesn't stress resources. Bug: skia: Change-Id: Ia716524b246db0f97d332da60d2ce9903069e748 Reviewed-on: https://skia-review.googlesource.com/31204 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Add explicit clear of stencil buffer before opLists that use themGravatar Robert Phillips2017-08-08
| | | | | | | | Change-Id: I9e2468e1331c6593dbc6da3ad510f08d1c589e8d Reviewed-on: https://skia-review.googlesource.com/32041 Commit-Queue: Stan Iliev <stani@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* use rasterpipeline for images if matrix is >= scale+translateGravatar Mike Reed2017-08-08
| | | | | | | | | Bug: skia: Change-Id: I36112fe54c6f2d0965d0b88f0291d7ffe0902715 Reviewed-on: https://skia-review.googlesource.com/30480 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Remove unneeded GrGradientEffect Tegra3 workaroundGravatar Florin Malita2017-08-08
| | | | | | | | | | | | The workaround for canUseMinAndAbsTogether() is implemented in GLSLCodeGenerator, so presumably not needed here. (https://cs.chromium.org/chromium/src/third_party/skia/src/sksl/SkSLGLSLCodeGenerator.cpp?rcl=0ac06e47269a40c177747310a613d213c95d1d6d&l=223) Change-Id: Id8179ff17b929ed2d79ef9463c0f2008f3591b00 Reviewed-on: https://skia-review.googlesource.com/32181 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* added canUseFractForNegativeValues to standalone shader capsGravatar Ethan Nicholas2017-08-08
| | | | | | | | | Bug: skia: Change-Id: I1097bc19b12266fe57775f6d15d731254bfffd2e Reviewed-on: https://skia-review.googlesource.com/32186 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* rewrite SkColorLookUpTable::interpDimension()Gravatar Mike Klein2017-08-08
| | | | | | | | | | | | - Avoid calling floor() and ceil(), which are real external calls on most platforms. - Interpolate all output channels in parallel. - Simplify recursion, allow the compiler to unroll. Change-Id: I9ef814e91b18c5775292ca20e9ec01222b6a89cf Reviewed-on: https://skia-review.googlesource.com/32182 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Relocate gradient negative fract() workaround to GLSLCodeGeneratorGravatar Florin Malita2017-08-08
| | | | | | | Change-Id: If5aba5b266f86f677b6e63b0f79792f1d3213336 Reviewed-on: https://skia-review.googlesource.com/32202 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Remove last uses of SkTypeface::style() in Skia.Gravatar Ben Wagner2017-08-08
| | | | | | | | | | | The Lua typeface.getStyle now returns SkFontStyle. Dumping a glyph cache entry is now more accurate. SkTypeface::MakeFromTypeface now does a more accurate check. Change-Id: I6150636c8c674353bd0eed4d95aa0794d3919c39 Reviewed-on: https://skia-review.googlesource.com/32200 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* add an invert stage for inverse CMYK -> CMYKGravatar Mike Klein2017-08-08
| | | | | | | | | | | | | | | | | This will be faster, but maybe more importantly it helps make debugging a stack trace clearer. It's confusing to see a "parametric transfer function" stages followed by a table transfer function stages... This leads to a little bit of cleanup in SkColorSpaceXform_A2B. I am uncertain whether we still need parametric_a. I need to do some more tracing through the code before I'd say it's impossible to reach in addTransferFn(). Change-Id: I52e85019f92d012a3086fc94cf64ae6c9307ea94 Reviewed-on: https://skia-review.googlesource.com/32040 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Streamline GrGradientEffect mirror tilingGravatar Florin Malita2017-08-08
| | | | | | | | | Using the same branch-less method as raster pipeline. Change-Id: Iaaa36330dbf49961bdfc288cad031d891d8ff589 Reviewed-on: https://skia-review.googlesource.com/31280 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Consolidate GrGradientEffect analytical implsGravatar Florin Malita2017-08-08
| | | | | | | | | There's a lot of commonality, we can share more code. Change-Id: I6528358763459c4e8af17fe5f6763752cfffdf39 Reviewed-on: https://skia-review.googlesource.com/31023 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Don't compare against uninit edge in SkPath::conservativelyContainsRectGravatar Brian Salomon2017-08-08
| | | | | | | | | Bug: chromium:752478 Change-Id: Ic281f06b300329ea9823b3eb76cc56b7a43fd2a5 Reviewed-on: https://skia-review.googlesource.com/31520 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Tiling support for GrGradientEffect kTwo_ColorType/kThree_ColorTypeGravatar Florin Malita2017-08-08
| | | | | | | | | | | | | | | (re-land of https://skia-review.googlesource.com/c/30780) Currently only the hard-stop specializations support tiling. Consolidate the tiling code and expand to kTwo_ColorType, kThree_ColorType also. BUG=6925 Change-Id: I017b4accba30e87367e139333e96246cb362b6a4 Reviewed-on: https://skia-review.googlesource.com/31422 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Remove SkTypeface::Style from fuzzers and lua.Gravatar Ben Wagner2017-08-08
| | | | | | | Change-Id: I53be039e21a4c11ec3a4bc54c1424cd3e15afc6a Reviewed-on: https://skia-review.googlesource.com/31643 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Add GrDebugMarkerOpGravatar Robert Phillips2017-08-08
| | | | | | | Change-Id: I948838dea13d2f36194ca1043ab37e72759794e0 Reviewed-on: https://skia-review.googlesource.com/31740 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Make bmp text position attribute be highpGravatar Brian Salomon2017-08-07
| | | | | | | | Bug: chromium:746290 Change-Id: I90968ab3633fb50a13087500a7df7fb8adbf2af8 Reviewed-on: https://skia-review.googlesource.com/31423 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* simplify shaderbase -- remove shaderproc -- no measurable speed diffGravatar Mike Reed2017-08-07
| | | | | | | | Bug: skia: Change-Id: Id355e3e480847fe78f904735e59353c4eb3ba2bb Reviewed-on: https://skia-review.googlesource.com/31560 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Avoid int overflow in LinearGradientContext::shade4_dx_clampGravatar Florin Malita2017-08-07
| | | | | | | Change-Id: I86e01aa00b14f8a4b6e64169821768ab5ece9aa3 Reviewed-on: https://skia-review.googlesource.com/31481 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* CCPR: Process quadratic flat edges without soft msaaGravatar Chris Dalton2017-08-07
| | | | | | | | | | | | | | | | | | | | | | The artifacts previously thought to require msaa can be handled by (1) converting near-linear quadratics into lines, and (2) ensuring all quadratic segments are monotonic with respect to the vector of their closing edge [P2 -> P0]. No. 1 was already in effect. No. 2 is implemented by this change. Now we only fall back on soft msaa for the two corner pixels. This change also does some generic housekeeping in the quadratic processor. Bug: skia: Change-Id: Ib3309c2ed86d3d8bec5f451125a69326e82eeb1c Reviewed-on: https://skia-review.googlesource.com/29721 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Remove SK_NO_ANALYTIC_AAGravatar Yuqian Li2017-08-07
| | | | | | | | | | Google3 now has that guard flag removed. Bug: skia: Change-Id: I6dede8c815e9f55bd769daef3982fd2fa8a7d6be Reviewed-on: https://skia-review.googlesource.com/31201 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Flush threaded device when reaching max queue sizeGravatar Yuqian Li2017-08-07
| | | | | | | | | | | Our SkThreadedBMPDevice is very experimental so I didn't handle this edge case earlier. Maybe it's now a good time to fix it. Bug: skia: Change-Id: Ie3938475449c1341d34200ff3afe4589836950fc Reviewed-on: https://skia-review.googlesource.com/31203 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Yuqian Li <liyuqian@google.com>
* remove unused shadeSpanAlpha -- handled by rasterpipelineGravatar Mike Reed2017-08-07
| | | | | | | | Bug: skia: Change-Id: If13510cbc340b920342d7d4df9ce34ef1081e434 Reviewed-on: https://skia-review.googlesource.com/31420 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Remove SkLightingShader and associated classesGravatar Robert Phillips2017-08-07
| | | | | | | | Change-Id: I8050414c30dfdb5df23ca79955adc5ba3a29d3f5 Reviewed-on: https://skia-review.googlesource.com/31140 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* clean up useage of SkFloatBitsGravatar Mike Reed2017-08-07
| | | | | | | | Bug: skia: Change-Id: I6d3a0019f2fcf11feca69123e4ce6eb35de43613 Reviewed-on: https://skia-review.googlesource.com/31222 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Revert "Tiling support for GrGradientEffect kTwo_ColorType/kThree_ColorType"Gravatar Florin Malita2017-08-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b86aaeb7b0841c2c23f7b36b0bb0520ce2fb3256. Reason for revert: Nexus7/Tegra3 crashing on lcdblendmodes Original change's description: > Tiling support for GrGradientEffect kTwo_ColorType/kThree_ColorType > > Currently only the hard-stop specializations support tiling. > > Consolidate the tiling code and expand to kTwo_ColorType, > kThree_ColorType also. > > Change-Id: I0c04997f563a7150a486ccc03f8121099a651c0b > Reviewed-on: https://skia-review.googlesource.com/30780 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Florin Malita <fmalita@chromium.org> TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,fmalita@chromium.org Change-Id: I89c89c630f206c3a330e4b31aa3834dfbc5cd9e0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/31244 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>