aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* DW last resort font default name not necessary.Gravatar Ben Wagner2017-03-08
| | | | | | | | | | | | | | | Currently in SkFontMgr_DirectWrite when trying to find some last resort font SystemParametersInfoW failing is considered a fatal error and so onLegacyCreateTypeface will return nullptr. Instead, treat failure of getDefaultFontFamily as ignorable and continue to the default default. BUG=chromium:697672 Change-Id: I1ea018627487fbd39b1d0eebad4c798346d09c94 Reviewed-on: https://skia-review.googlesource.com/9408 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* SkPDF: Always get advances at unitsPerEm.Gravatar Hal Canary2017-03-08
| | | | | | | | | | | | | * Work around BUG=chromium:696356 * SkTestScalerContext needs a return a em-size. * SkPDFFont::MakeVectorCache which always produces a glyph cache at emsize. Replaces vector_cache(). * Stop looking at fLastGlyphID and fEmSize in TypefaceMetrics. Change-Id: I28d93b8f62d461a60fa046e9aaf7fa6d116a7ee5 Reviewed-on: https://skia-review.googlesource.com/9324 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Remove SK_SUPPORT_LEGACY_AAA flag as chromium now turns it offGravatar Yuqian Li2017-03-08
| | | | | | | | | BUG=skia: Change-Id: I3b385b8aeab08f402f4471637bf641cd456c8c56 Reviewed-on: https://skia-review.googlesource.com/9327 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Rename not-fBlendCorrectly to fNonLinearBlendingGravatar Matt Sarett2017-03-08
| | | | | | | | | | | | No policy or behavior changes here, just a rename. BUG=skia: Change-Id: Ieefa5c5bbd40f25d4fef81f07b50b4057ea732b4 Reviewed-on: https://skia-review.googlesource.com/9406 Commit-Queue: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Optimize mipmap downsample_2_2 in sRGB modeGravatar Matt Sarett2017-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Desktop (HP z620) Before: mipmap_build_2048x2048_0_gamma 10.5 ms mipmap_build_2048x2048_1_gamma 77.1 ms After: mipmap_build_2048x2048_0_gamma 10.5 ms mipmap_build_2048x2048_1_gamma 25.1 ms Pixel XL Before: mipmap_build_2048x2048_0_gamma 160 ms mipmap_build_2048x2048_1_gamma 1.5 s After: mipmap_build_2048x2048_0_gamma 160 ms mipmap_build_2048x2048_1_gamma 313 ms Also provides marginal performance improvements for other sRGB downsamples. BUG=skia: Change-Id: Icfcd2ccd69676ccf3822db8042a4698e4464bb71 Reviewed-on: https://skia-review.googlesource.com/9386 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Turn on SkJumper all the time.Gravatar Mike Klein2017-03-08
| | | | | | | | | | | | | If the previous CL sticks, it's now easy to turn on SkJumper everywhere: I was mostly holding back because of build system complexity. This has the main effect of turning on SkJumper in Chromium. It's already been on on our local test bots and on Android framework. Change-Id: I7fbfc6aaaa7dace9c3f2cb509583c69b10997dbf Reviewed-on: https://skia-review.googlesource.com/9380 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Refactor GrTextBlobCacheGravatar Florin Malita2017-03-08
| | | | | | | | | | | Instead of a single-level cache with blob-id-derived key, refactor GrTextBlobCache as a two-level cache with a direct blob-id key (to support efficient lookup by id in future CLs). Change-Id: Idf29c05224faeb04919610a3935572773d5aba03 Reviewed-on: https://skia-review.googlesource.com/9400 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* FuzzCanvas: SkColorFilterGravatar Hal Canary2017-03-07
| | | | | | | | | | | * Also fix SkRRect generation to only make valid RRs.a * drawDRRect only draws if outer contains inner. * Also fix SkComposeColorFilter::toString Change-Id: Ia75da2813555b7714663929d0ec288ae2a86d9f1 Reviewed-on: https://skia-review.googlesource.com/9399 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* optimize intersect, use getType to utilize fast-case in preTranslateGravatar Mike Reed2017-03-07
| | | | | | | | | | | | | | | 10-15% speed up in clip_record_overhead bench Comparing the raw fType field was missing the (maybe deprecatable) IsRectToRect bit (0x10), which is set for identity and translate matrices, so we were never taking the fast case. BUG=skia: Change-Id: I1c73f4bae42f2311454c7568ef8891239c3cae83 Reviewed-on: https://skia-review.googlesource.com/9388 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Herb Derby <herb@google.com>
* SkJumper: constant() embeds constants directly in codeGravatar Mike Klein2017-03-07
| | | | | | | | | | | This is a potential alternative to threading around a constants struct. I've applied it in a smattering of locations to get a feel for it. If we like it and the performance is fine, I'll follow up with the rest. Change-Id: Ief469e17d6da2cb94e4545ae96cf5d2604ffba88 Reviewed-on: https://skia-review.googlesource.com/9393 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Control making of GrSemaphore objects inside of GrResourceProviderGravatar Greg Daniel2017-03-07
| | | | | | | | | | | | This change will help us get to the point of not needing access to the GrGpu object from GrContext. BUG=skia: Change-Id: Icff9815c73f1791d2ce34a4d27c57898a36f2b8f Reviewed-on: https://skia-review.googlesource.com/9391 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* GrTessellator: convert contours to VertexLists.Gravatar Stephen White2017-03-07
| | | | | | | | | | | | | | This is a cleanup patch; should have no user-visible effects. Note that contours are now returned opened, rather than closed. This plays better with VertexList, and makes the code simpler. BUG=skia: Change-Id: I6a422fed0805cdca53cf0697b8427fff7cd77ad3 Reviewed-on: https://skia-review.googlesource.com/9343 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Groundwork for nonlinear blending mode in GaneshGravatar Brian Osman2017-03-07
| | | | | | | | | | | | | | Changing a bit of plumbing so we have what we need for one-off color conversion, and fixing the logic in some of our surface validation. Plenty more to come, want to submit this stuff in manageable chunks. BUG=skia:6242 Change-Id: Iac9954c7cc490cc99663db4b9cdf5d6388fc39c7 Reviewed-on: https://skia-review.googlesource.com/9389 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add GrOp::wasRecorded and use in instanced rendering for tracking.Gravatar Brian Salomon2017-03-07
| | | | | | | | | BUG=skia: Change-Id: I4c5cdf47d42b7adae3649c7f96caabe68f45acbf Reviewed-on: https://skia-review.googlesource.com/9308 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* SkJumper: a couple stages used by color filtersGravatar Mike Klein2017-03-07
| | | | | | | | | | | | Nothing too interesting here. - 4x5 matrix is the same as 2x3 and 3x4, but bigger. - luminance to alpha is pretty boring indeed. Change-Id: I24893df15d1e22cbb500d946e1bbb58aa1522c8c Reviewed-on: https://skia-review.googlesource.com/9385 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Move from SkChunkAlloc to SkArenaAlloc for PathOpsGravatar Herb Derby2017-03-07
| | | | | | | | | Attempt two. Remove ~SkOpContour because it is handled by the SkArenaAlloc. Change-Id: Id3049db97aebcc1009d403a031f2fac219f58f2f Reviewed-on: https://skia-review.googlesource.com/9381 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert[6] "Remove SkDraw from device-draw methods, and enable device-centric ↵Gravatar Mike Reed2017-03-07
| | | | | | | | | | | | | | | | | clipping."""""" Previous failure was failure to detect that the clip wasn't wide-open when optimizing for retain-vs-discard in copy-on-write. gm:copy_on_write_retain detected this. Now fixed by adding new method to SkBaseDevice.h This reverts commit 27d07f0acb85eea4062075dfbe9148ce12d92c66. BUG=skia:6214 Change-Id: I532d16ec075a4525c2a550b1157bcec695dd8efd Reviewed-on: https://skia-review.googlesource.com/9341 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Move GrDrawOp pipeline/clip processing to GrRenderTargetContextGravatar Brian Salomon2017-03-07
| | | | | | | | | This is currently done in GrOpList. However, it can trigger resource creation, which in turn can trigger a flush. In the future flushing may destroy the op list. Change-Id: I21cb1e10060bf31c95431c0511fcfff637cd6498 Reviewed-on: https://skia-review.googlesource.com/9304 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Back to code as data arrays, this time in .text.Gravatar Mike Klein2017-03-07
| | | | | | | | | | | | | | | | | This technique lets us generate a single source file, use the C++ preprocessor, and avoid the pain of working with assemblers. By using the section attribute or declspec allocate, we can put these data arrays into the .text section, making them ordinary code. This is like the previous solution, except it should actually run. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Debug,Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug Change-Id: Ide7675f6cf32eb4831ff02906acbdc3faaeaa684 Reviewed-on: https://skia-review.googlesource.com/9336 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Move from SkChunkAlloc to SkArenaAlloc for PathOps"Gravatar Derek Sollenberger2017-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 38c60180241e335e368fdadbf7856aff114ff668. Reason for revert: breaking ASAN run in TAP build Original change's description: > Move from SkChunkAlloc to SkArenaAlloc for PathOps > > Change-Id: Iab111a4ebcae4e896b1fdfe285def9ef0ae2ab6b > Reviewed-on: https://skia-review.googlesource.com/7314 > Reviewed-by: Cary Clark <caryclark@google.com> > Commit-Queue: Herb Derby <herb@google.com> > TBR=herb@google.com,caryclark@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I6364254571bb1617a9f45ed08f2af4a59f9d5841 Reviewed-on: https://skia-review.googlesource.com/9335 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Revert "Fix new IT blocks ARMv8"Gravatar Mike Klein2017-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 90165c2269bc33ca3d6aaa73d528194daf48da4e. Reason for revert: Skia and Chrome iOS builds broken. ../../third_party/skia/include/private/SkFixed.h:106:41: error: invalid output constraint '+t' in asm asm("vcvt.s32.f32 %0, %0, #16": "+t"(x)); Original change's description: > Fix new IT blocks ARMv8 > > ARMv8 specifies that an IT block should be followed by only one 16-bit instruction. > * SkFloatToFix is back to a C implementation that mirrors the assembly code. > > * S32A_D565_Opaque_neon switched the usage of the temporary 'ip' register to let > the compiler choose what is best in the context of the IT block. And replaced > 'keep_dst' by 'ip' where low register or high register does not matter. > > BUG=skia: > > CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD > > Change-Id: I096759841c972e9300c1d0293bc80d3c3ff2747b > Reviewed-on: https://skia-review.googlesource.com/9340 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,amaury.leleyzour@arm.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: Idbcbda88039066153e1c34233d43366ab114fd01 Reviewed-on: https://skia-review.googlesource.com/9332 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix new IT blocks ARMv8Gravatar Amaury Le Leyzour2017-03-06
| | | | | | | | | | | | | | | | | | ARMv8 specifies that an IT block should be followed by only one 16-bit instruction. * SkFloatToFix is back to a C implementation that mirrors the assembly code. * S32A_D565_Opaque_neon switched the usage of the temporary 'ip' register to let the compiler choose what is best in the context of the IT block. And replaced 'keep_dst' by 'ip' where low register or high register does not matter. BUG=skia: CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I096759841c972e9300c1d0293bc80d3c3ff2747b Reviewed-on: https://skia-review.googlesource.com/9340 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Turn off savelayer optimization for Android frameworkGravatar Yuqian Li2017-03-06
| | | | | | | | | | | | | | | | This is a simpler version of https://skia-review.googlesource.com/c/8970/ Note that we couldn't do the optimization and add back the clip effect by another clipRect or clipPath call because the final matrix is not available at recording time. BUG=skia:6334 Change-Id: I3ca091bdc1ee1d265a79fb88d0a6f9afe2b27e58 Reviewed-on: https://skia-review.googlesource.com/9311 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Move from SkChunkAlloc to SkArenaAlloc for PathOpsGravatar Herb Derby2017-03-06
| | | | | | | Change-Id: Iab111a4ebcae4e896b1fdfe285def9ef0ae2ab6b Reviewed-on: https://skia-review.googlesource.com/7314 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Store clipped bounds on GrOp rather than in parallel in GrRenderTargetOpList.Gravatar Brian Salomon2017-03-06
| | | | | | | | | When the op is recorded we update its bounds to incorporate both clipping and aa bloat. Change-Id: Ia205e058ebeda5fcdb2cd5e9b8a30a4972672b14 Reviewed-on: https://skia-review.googlesource.com/9233 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add ability to insert systrace markers for the android frameworkGravatar Derek Sollenberger2017-03-06
| | | | | | | | Change-Id: I34cee8382b73f1d95fde279377f976ebad6983a7 Reviewed-on: https://skia-review.googlesource.com/9232 Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Stan Iliev <stani@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Add SkColorSpace::isSRGB()Gravatar Matt Sarett2017-03-06
| | | | | | | | | BUG=skia: Change-Id: I124480a15e0c3cb01f4e22397c0a116f2d1c0d7d Reviewed-on: https://skia-review.googlesource.com/9239 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com>
* Remove PLS path rendererGravatar Brian Salomon2017-03-06
| | | | | | | Change-Id: Ib727b0749a5a7da95832970e79804417e8b6a247 Reviewed-on: https://skia-review.googlesource.com/9300 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix transfer function epsilonGravatar Matt Sarett2017-03-06
| | | | | | | | | | | | This has never worked. 1.0f == 1.0f + FLT_MIN BUG=skia: Change-Id: I73c8f321ea0d13497cb74f7bd5965d5910e664d1 Reviewed-on: https://skia-review.googlesource.com/9280 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Remove XP override color.Gravatar Brian Salomon2017-03-06
| | | | | | | | | | | The only use case for this was using the blend constant for LCD text. Now instead of overriding the op's color with an alpha we upload the alpha as a uniform. This also removes two unused parameters from GrXferProcessor::getOptimizations. Change-Id: I8268da9904a5d26649c6ae81a5705b0930893904 Reviewed-on: https://skia-review.googlesource.com/9221 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Revert "Revert "Revert "Revert[2] "Remove SkDraw from device-draw methods, ↵Gravatar Mike Reed2017-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and enable device-centric clipping.""""" This reverts commit 025e2444c1f5a0c3cdc0bf60d1fa59941a0b5db4. Reason for revert: layouttest failures -- need to rebase these (tiny diffs in gradients) https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/6018/layout-test-results/results.html Original change's description: > Revert "Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping."""" > > This reverts commit baf06bc89a0ee2ac4033281e7310f6c727faab79. > > Reason for revert: reland to diagnose possible g3 failure > > Original change's description: > > Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""" > > > > This reverts commit cfaa63237b152ae216f1351207bce3ea9808814c. > > > > Reason for revert: speculative revert to fix Google3 > > > > Original change's description: > > > Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping."" > > > > > > passes new (augmented) CanvasClipType unittest > > > fixed rasterclipstack::setnewsize > > > > > > This reverts commit ea5e676a7b75600edcde3912886486004ccd7626. > > > > > > BUG=skia: > > > > > > Change-Id: I004653e0f4d01454662f8516fccab0046486f273 > > > Reviewed-on: https://skia-review.googlesource.com/9185 > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > Commit-Queue: Mike Reed <reed@google.com> > > > > > > > TBR=bsalomon@google.com,reed@google.com,reviews@skia.org > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=skia: > > > > Change-Id: Ibd7ee6383999f008eb6ee59c1c3f1c06a86044ea > > Reviewed-on: https://skia-review.googlesource.com/9230 > > Reviewed-by: Cary Clark <caryclark@google.com> > > Commit-Queue: Cary Clark <caryclark@google.com> > > > > TBR=bsalomon@google.com,reviews@skia.org,caryclark@google.com,reed@google.com,mtklein@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Change-Id: I093fa8788056be39af01191bbf3a9e5de9f73954 > Reviewed-on: https://skia-review.googlesource.com/9244 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> > TBR=mtklein@chromium.org,bsalomon@google.com,reviews@skia.org,caryclark@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: I58f810a8ff241dbaf3133e2fe844548fcd0fa67a Reviewed-on: https://skia-review.googlesource.com/9245 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add SkImage::colorSpace() and SkImage::refColorSpace()Gravatar Matt Sarett2017-03-04
| | | | | | | | | BUG=skia: Change-Id: I31c2a2731cd70e4e5162905de0ad129516dacc6b Reviewed-on: https://skia-review.googlesource.com/9152 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Revert "Revert "Revert[2] "Remove SkDraw from device-draw methods, and ↵Gravatar Mike Reed2017-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | enable device-centric clipping."""" This reverts commit baf06bc89a0ee2ac4033281e7310f6c727faab79. Reason for revert: reland to diagnose possible g3 failure Original change's description: > Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""" > > This reverts commit cfaa63237b152ae216f1351207bce3ea9808814c. > > Reason for revert: speculative revert to fix Google3 > > Original change's description: > > Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping."" > > > > passes new (augmented) CanvasClipType unittest > > fixed rasterclipstack::setnewsize > > > > This reverts commit ea5e676a7b75600edcde3912886486004ccd7626. > > > > BUG=skia: > > > > Change-Id: I004653e0f4d01454662f8516fccab0046486f273 > > Reviewed-on: https://skia-review.googlesource.com/9185 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Mike Reed <reed@google.com> > > > > TBR=bsalomon@google.com,reed@google.com,reviews@skia.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Change-Id: Ibd7ee6383999f008eb6ee59c1c3f1c06a86044ea > Reviewed-on: https://skia-review.googlesource.com/9230 > Reviewed-by: Cary Clark <caryclark@google.com> > Commit-Queue: Cary Clark <caryclark@google.com> > TBR=bsalomon@google.com,reviews@skia.org,caryclark@google.com,reed@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: I093fa8788056be39af01191bbf3a9e5de9f73954 Reviewed-on: https://skia-review.googlesource.com/9244 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "move some of patheffect internals into private"Gravatar Mike Reed2017-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7067fc6224833941380729857ad865547bc88430. Reason for revert: need to update android jni Original change's description: > move some of patheffect internals into private > > BUG=skia: > > Change-Id: I00da9d38f16fb20f31e025dd817c5d430466a1d0 > Reviewed-on: https://skia-review.googlesource.com/9236 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> > TBR=reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: I3a67b5aa9660742ec73563972b57d66c205dc0d5 Reviewed-on: https://skia-review.googlesource.com/9243 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* move some of patheffect internals into privateGravatar Mike Reed2017-03-04
| | | | | | | | | BUG=skia: Change-Id: I00da9d38f16fb20f31e025dd817c5d430466a1d0 Reviewed-on: https://skia-review.googlesource.com/9236 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Rebase and fix chromiumGravatar Brian Osman2017-03-04
| | | | | | | | | | | | | | Combine texture provider and resource provider Largely mechanical. Only three places that were calling createApprox via texture provider (ie without flags), so that was simple. BUG=skia: Change-Id: I876367bcdc6a8db736deedab1028de1972015509 Reviewed-on: https://skia-review.googlesource.com/9176 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove unnecessary use of GrGLIRect in GrRenderTargetOpListGravatar Brian Salomon2017-03-04
| | | | | | | Change-Id: I47f3930a142f8958c03906a46a7245b5af8e80f7 Reviewed-on: https://skia-review.googlesource.com/9227 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove clip to bounds GrContextOptionGravatar Brian Salomon2017-03-03
| | | | | | | Change-Id: I02da998640a3dd8848426179a91a9105d1024f0e Reviewed-on: https://skia-review.googlesource.com/9225 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* GrTessellator: Implement a fast path in poly emission.Gravatar Stephen White2017-03-03
| | | | | | | | | | | | When there's a single triangle remaining in the monotone, emit early and skip a convexity check. BUG=skia: Change-Id: I591acf4b7f567dbbf7681ba72181e578ca4623ec Reviewed-on: https://skia-review.googlesource.com/8797 Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Use an exponential growth strategy for extra blocks.Gravatar Herb Derby2017-03-03
| | | | | | | Change-Id: I4137cb60b79184456aa71d18cb31a52c27bd8792 Reviewed-on: https://skia-review.googlesource.com/9260 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable ↵Gravatar Cary Clark2017-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | device-centric clipping.""" This reverts commit cfaa63237b152ae216f1351207bce3ea9808814c. Reason for revert: speculative revert to fix Google3 Original change's description: > Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping."" > > passes new (augmented) CanvasClipType unittest > fixed rasterclipstack::setnewsize > > This reverts commit ea5e676a7b75600edcde3912886486004ccd7626. > > BUG=skia: > > Change-Id: I004653e0f4d01454662f8516fccab0046486f273 > Reviewed-on: https://skia-review.googlesource.com/9185 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Mike Reed <reed@google.com> > TBR=bsalomon@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: Ibd7ee6383999f008eb6ee59c1c3f1c06a86044ea Reviewed-on: https://skia-review.googlesource.com/9230 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* SkJumper: store_f32Gravatar Mike Klein2017-03-03
| | | | | | Change-Id: I4bc6d1a8787c540fd1a29274650d34392e56651c Reviewed-on: https://skia-review.googlesource.com/9223 Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric ↵Gravatar Mike Reed2017-03-03
| | | | | | | | | | | | | | | | clipping."" passes new (augmented) CanvasClipType unittest fixed rasterclipstack::setnewsize This reverts commit ea5e676a7b75600edcde3912886486004ccd7626. BUG=skia: Change-Id: I004653e0f4d01454662f8516fccab0046486f273 Reviewed-on: https://skia-review.googlesource.com/9185 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Switch SkImageGenerator over to generating GrTextureProxiesGravatar Robert Phillips2017-03-03
| | | | | | | | | | | It does not seem irrational for generateTexture to always receive a valid GrContext. lockAsBitmap can do as it pleases. This is split out of: https://skia-review.googlesource.com/c/8823/ (Remove GrFragmentProcessor-derived class' GrTexture-based ctors) Change-Id: I8aebc813a8a3a7d694b7369c2c9810e2164fe16e Reviewed-on: https://skia-review.googlesource.com/9191 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Make GrSurface::MakeDeferred return sk_sp<GrTextureProxy>Gravatar Robert Phillips2017-03-03
| | | | | | | | | This should make upcoming changes less tedious Change-Id: I313ae9df724f109a64cf5708a974e8bfeb963025 Reviewed-on: https://skia-review.googlesource.com/9183 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* GrTessellator: add a null-check for a clusterfuzz test case.Gravatar Stephen White2017-03-03
| | | | | | | | | BUG=695696 Change-Id: I1c001316721b3c042cff115c905ff0d2c2698ac0 Reviewed-on: https://skia-review.googlesource.com/9053 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Release resources if SkMallocPixelRef::NewWithProc fails.Gravatar Ben Wagner2017-03-02
| | | | | | | Change-Id: I29b96cd9f2d2311b4caae092102f501dbc6a4fe8 Reviewed-on: https://skia-review.googlesource.com/9182 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Revert "Use inline storage for SkEdgeBuilder."Gravatar Mike Klein2017-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit be32a432af7aab06ab1457cec35789da85b40bbe. Reason for revert: Google3 stacks are smaller than you might hope. "the frame size of 25584 bytes is larger than 16384 bytes; see http://go/big_stack_frame" Original change's description: > Use inline storage for SkEdgeBuilder. > > Change-Id: I06d9ee759a366d6c2c11341e15e671f5a1f87ae7 > Reviewed-on: https://skia-review.googlesource.com/9164 > Reviewed-by: Yuqian Li <liyuqian@google.com> > Commit-Queue: Herb Derby <herb@google.com> > TBR=herb@google.com,liyuqian@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I496e37754977c598f3cf30c7a0fbc4954a58152c Reviewed-on: https://skia-review.googlesource.com/9181 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Don't mark the matrix-type as dirty just be cause we translate it.Gravatar Mike Reed2017-03-02
| | | | | | | | | | | | | | | | This speeds up simple mods to canvas, e.g. save() translate(...) ... restore() BUG=skia: Change-Id: I4b872e7d3102fad21d9c17a275006f5576827d41 Reviewed-on: https://skia-review.googlesource.com/9169 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove SkLiteDL::makeThreadsafe().Gravatar Mike Klein2017-03-02
| | | | | | | | | It's not used, and removing it cuts a branch in DrawDrawable::draw(). Change-Id: I15d13dda1ec594c525f5d108e208b00286c2d09f Reviewed-on: https://skia-review.googlesource.com/9174 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>