aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* more lowp blend modesGravatar Mike Klein2017-06-05
| | | | | | | | Change-Id: Id62e989d4278f273c040b159ed4d2fd6a2f209e0 Reviewed-on: https://skia-review.googlesource.com/18627 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkPDF: Draw paths with mask filters; color filter.Gravatar Hal Canary2017-06-05
| | | | | | | | | | | | | | | Also: - drawPaint, drawPath w/ perspective shaders - text with mask filters, stroking, path effect. - SkPDFUtils::GetShaderLocalMatrix BUG=skia:237 BUG=skia:238 BUG=skia:5607 Change-Id: Iffeaf2d7abbde13fd2577ce9feaa178657f48364 Reviewed-on: https://skia-review.googlesource.com/18200 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* lowp: add some big easy stagesGravatar Mike Klein2017-06-05
| | | | | | | | | | srcover_rgba_8888, lerp_u8, lerp_1_float, scale_u8, scale_1_float... this is enough for _lots_ of drawing. Change-Id: Ibe42adb8b1da6c66db3085851561dc9070556ee3 Reviewed-on: https://skia-review.googlesource.com/18622 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Defend against ICOs with large BMPs embeddedGravatar Leon Scroggins III2017-06-05
| | | | | | | | | | | If the ICO reports that it has a large BMP file embedded, do not crash if we attempt to allocate too much memory. Bug: b/38116746 Change-Id: I70eb66f5e4ffc15587007b398bbe843665eae500 Reviewed-on: https://skia-review.googlesource.com/18447 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Update link to testing infrastructure.Gravatar Ben Wagner2017-06-05
| | | | | | | | | No-Try: true Docs-Preview: https://skia.org/?cl=18596 Change-Id: I0d3cae67ccb7db06f3a85a0b1360873a77bbe78f Reviewed-on: https://skia-review.googlesource.com/18596 Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* In shapes_as_paths, draw zoom from pixmaps, not imagesGravatar Brian Osman2017-06-05
| | | | | | | | | | | | Trying to track down why the Galaxy S6 sometimes claims that every pixel is different, even though the zoomed images look identical. It's helpful to draw what's actually being diffed. Bug: skia:6653 Change-Id: Ia577aa70ed11d806fa204eaffdef41e6a65a60f2 Reviewed-on: https://skia-review.googlesource.com/18623 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* sk_sp-ify GrResourceProvider some moreGravatar Robert Phillips2017-06-05
| | | | | | | | | | I believe this addresses the concerns of this particular bug (although more remains to be done) Bug: skia:5327 Change-Id: Ie82f08f87b3cf3d7986fe4eeb16a5d2553173913 Reviewed-on: https://skia-review.googlesource.com/18599 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Destroy ANGLE displays in destroyGLContext"Gravatar Robert Phillips2017-06-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c1359888c021ad4594d22d849b2414fd0cdec6f5. Reason for revert: failing botbots Original change's description: > Destroy ANGLE displays in destroyGLContext > > Bug: skia:6711 > Change-Id: I770bb390d7b4e156116411bc6ce796375a6ddf21 > Reviewed-on: https://skia-review.googlesource.com/18588 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:6711 Change-Id: I2087153f1601dfade8442f0918ffd71e0cacff08 Reviewed-on: https://skia-review.googlesource.com/18621 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* lowp: add constant_color, swap, move_dst_srcGravatar Mike Klein2017-06-05
| | | | | | | | | | This is enough for us to do some really simple draws. Also add some debug tools to help prioritize porting. Change-Id: I334f8fd2133be1aeec3f3406371a81aa6c184776 Reviewed-on: https://skia-review.googlesource.com/18597 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* add colorGravatar Mike Klein2017-06-05
| | | | | | | Change-Id: Ie85ed7a807603ba627cb7f17de5a423ca9678251 Reviewed-on: https://skia-review.googlesource.com/18594 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make GrSimpleMeshDrawOpHelper record whether coverage can be implemented as ↵Gravatar Brian Salomon2017-06-05
| | | | | | | | | | alpha This also makes the blend table entry for opaque src over indicate a blend of (1, ISA) rather than (1, 0) to match the actual implementation of the global src-over XP. Change-Id: I1b1f64d2546e4f0cf03c0239ce674d1baad655f6 Reviewed-on: https://skia-review.googlesource.com/18521 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Destroy ANGLE displays in destroyGLContextGravatar Robert Phillips2017-06-05
| | | | | | | | Bug: skia:6711 Change-Id: I770bb390d7b4e156116411bc6ce796375a6ddf21 Reviewed-on: https://skia-review.googlesource.com/18588 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* lowp: add move_src_dst and srcoverGravatar Mike Klein2017-06-05
| | | | | | | | | | | | | | This is enough to run the bench SkRasterPipeline_compile. $ ninja -C out monobench; and out/monobench SkRasterPipeline_compile 300 Before: 300 SkRasterPipeline_compile 48.4858ns After: 300 SkRasterPipeline_compile 37.5801ns Change-Id: Icb80348908dfb016826700a44566222c9f7a853c Reviewed-on: https://skia-review.googlesource.com/18595 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* slight streamlining for lowp load_8888 with pshufbGravatar Mike Klein2017-06-05
| | | | | | | | | We can use 2 pshufb to replace 4 unpacks when deinterlacing the colors. Change-Id: I713fbbc94f5cb9eaf14f85323b0ec76dc2246e98 Reviewed-on: https://skia-review.googlesource.com/18531 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Remove blacklist of unit tests on Adreno VulkanGravatar Greg Daniel2017-06-05
| | | | | | | | Bug: skia:5777 Change-Id: I3cee2ffaf1b2858e660ca5d550d25f4a312395e6 Reviewed-on: https://skia-review.googlesource.com/18589 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Exclude SkJumper_stages_lowp.cpp from G3 build.Gravatar Mike Klein2017-06-05
| | | | | | | | | | | It's not meant to be built as part of Skia, only by build_stages.py into SkJumper_generated.S. Change-Id: Id028c42355f99415fe2bc0710c2292ea949f6eec Reviewed-on: https://skia-review.googlesource.com/18593 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Real fix for stage perf regression.Gravatar Mike Klein2017-06-05
| | | | | | | | | | | | | | | | | When we made start_pipeline() return void, the call into the tail!=0 run of the pipeline became eligble to be a tail-call, and Clang made that choice. This had the side effect of not going through vzeroupper on those tails. We now mark start_pipeline() as inelligible for tail calls when targeting AVX+. All paths go through the vzeroupper at the end. BUG=chromium:729237 Change-Id: I2099931284214f24c67b38979b3ad4b4d10e8bba Reviewed-on: https://skia-review.googlesource.com/18591 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Simplify some Viewer code, and fix a few bugsGravatar Brian Osman2017-06-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The content rect was always identical to the window rect, so most of the related code did nothing. The translation limit code is always useful (to avoid dragging the slide way off-screen with the mouse), so always include it. The auto-scaling to fit the screen is also still useful, but just base it on the window rect. The zoom code has four state variables, only used two of them, and one was a trivially derived computation. Fold most of that work into computeMatrix. (The translation was always zero -- we never changed the zoom center.) Include fDefaultMatrix in the matrix from computeMatrix, rather than needing to apply it specially to the canvas. Don't apply the inverse default matrix to touch or mouse points. The absolute positions of those touch points is not important, but because that matrix includes scale (and sometimes very large or very small scale), it just had the effect of greatly amplifying or damping the drag speed. Without it, the slide always pans at the speed of the touch/mouse drag -- which seems more desirable. The use of the inverse default matrix was a clever trick, but it caused the translation (applied to the global mtx) to be scaled, so the slide was always pinned incorrectly. Instead, supply the unmodified window rect and the default matrix, so the trans limit code can do the obvious correct thing: xform the slide bounds completely, then limit the translation that will be applied after that. Slides are now correctly pinned to screen edge regardless of how much zoom is present in the default matrix. Note: There are still several bugs related to all of this code, but given the web of xform state, it's hard to unravel. The touch gesture still doesn't know about viewer's zoom, so that's ignored when doing the pinning. Beyond that, it doesn't even know about window resize - it only configures the translation limit when setting up a slide. I had a fix for all of this (doing the translation limiting in computeMatrix), but then the touch gesture doesn't know about it, and can accumulate drag motion that needs to be un-dragged to get back on-screen, even though the slide is never really translated that far. SkTouchGesture is in include. No one uses it except viewer: TBR=bsalomon@google.com Bug: skia: Change-Id: I460cc07c3de6d36e63826f57d359faf1facf5ab3 Reviewed-on: https://skia-review.googlesource.com/18524 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* SkImage::makeColorSpace(): Fix nullptr->sRGB bug with picture imagesGravatar Matt Sarett2017-06-05
| | | | | | | | Bug: 729352 Change-Id: I5ad5e2121ce87dc154528bfd9ec0f3e9253ed792 Reviewed-on: https://skia-review.googlesource.com/18590 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Replace BMP calls to new with calls to mallocGravatar Leon Scroggins III2017-06-05
| | | | | | | | | | | | | | | | | A BMP can have an arbitrarily large width. We typically read a row into a block of memory before swizzling it to the output. Rather than calling new to create that block of memory, which may crash when we run out of memory, call malloc, and return null if malloc fails. Add a common base class for Mask and Standard BMP codecs. This class handles allocating and freeing the buffer. Bug: b/37623797 Change-Id: I0510b76d688d030865faa481bb2fb1351dac2c97 Reviewed-on: https://skia-review.googlesource.com/18400 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Remove hardstop blacklist for nexus player vulkanGravatar Greg Daniel2017-06-05
| | | | | | | | | | | Local testing says this has been fixed by some series of SKSL changes over the past month or so Bug: skia:6037 Change-Id: Iffc8b63e495016ac9565459ddaf44db4049a33c0 Reviewed-on: https://skia-review.googlesource.com/14530 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* A little help message for Android viewer's build dirGravatar Yuqian Li2017-06-05
| | | | | | | | | | | | | I think that I've mis-used out/Debug multiple times to build Android viewer. Maybe this message would help me and others in the future. No-Try: true Docs-Preview: https://skia.org/?cl=18587 Bug: skia: Change-Id: I810920a0ca4aa8a46dd58b35966e08513520953c Reviewed-on: https://skia-review.googlesource.com/18587 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Handle different types of streams in different jpeg source managersGravatar cjbao2017-06-05
| | | | | | | | | | | | | | | | | For streams that are memory backed (stream->getMemoryBase() returns a non-null ptr and hasLength() returns true), handle the stream with skjpeg_mem_source_mgr, which directly assigns memory base to the source manager. For other non memory backed streams, handle the stream with skjpeg_buffered_source_mgr, which is renamed from the old skjpeg_source_mgr with no implementation change. Signed-off-by: cjbao <cathy.bao@intel.com> Bug: skia: Change-Id: I748de0bdba726bbb318922c08497135e73e37329 Reviewed-on: https://skia-review.googlesource.com/17296 Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Support passing single SKP to get_images_from_skpsGravatar Leon Scroggins III2017-06-05
| | | | | | | | | | | In addition to allowing the user to supply a directory, allow them to supply a file. Simplifies my typical use case of testing a single file. Change-Id: I4f268cfb33fc70ff3121135941693023b6840cd3 Reviewed-on: https://skia-review.googlesource.com/18586 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* add testing flag to force rasterpipelineGravatar Mike Reed2017-06-05
| | | | | | | | Bug: skia: Change-Id: I8e195e90dc00b9be9072858086f7541e993428da Reviewed-on: https://skia-review.googlesource.com/18585 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Make instantiate return a BooleanGravatar Robert Phillips2017-06-05
| | | | | | | | | | | | From an off-line conversation: The longer term idea will be to create a helper class isolates the ability to instantiate proxies until flush time. The peek* methods could then be moved to GrSurfaceProxy. Change-Id: I8e8c02c098475b77d515791c0d6b81f7e4a327dd Reviewed-on: https://skia-review.googlesource.com/18076 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* have start_pipeline() return limit againGravatar Mike Klein2017-06-05
| | | | | | | | | | | | | | | | | | | This is spooky. I don't quite yet understand why, but this makes things much faster. Performance regressed across the board when we no longer needed the value and changed it to return void: https://perf.skia.org/e/?begin=1496176469&keys=6994&xbaroffset=28513 You can see similar regressions following this Chromium bug link. BUG=chromium:729237 Change-Id: I68371b0456014f909acf819aca52aa4f4f187460 Reviewed-on: https://skia-review.googlesource.com/18580 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* implement SkRasterPipelineBlitter::blitAntiH2()Gravatar Mike Klein2017-06-05
| | | | | | | | | | The default blitAntiH2() calls blitAntiH() with two length-1 runs, but for this blitter creating a small mask is better. We can stamp both pixels out with a single pipeline invocation. Change-Id: If356975e85310a4545e54f2231a142d6e537944d Reviewed-on: https://skia-review.googlesource.com/18581 Reviewed-by: Mike Reed <reed@google.com>
* Re-enable single channel renderability for ANGLE ES2Gravatar Robert Phillips2017-06-05
| | | | | | | | | Since the ANGLE-side fix has landed & been rolled into Skia we no longer need this workaround. Change-Id: I9e6296976d53fc1c87232f918a5c0257201744bf Reviewed-on: https://skia-review.googlesource.com/18583 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Roll ANGLE DEPSGravatar Robert Phillips2017-06-05
| | | | | | | | This will pick up the ANGLE fix: https://chromium-review.googlesource.com/523023 (Fix format info for unsized RG texture formats) Change-Id: I9cb8a6777689071a248509fb38cedeceefa35e21 Reviewed-on: https://skia-review.googlesource.com/18582 Reviewed-by: Brian Osman <brianosman@google.com>
* Don't move raw pointers in SkCanvasGravatar Vaclav Brozek2017-06-05
| | | | | | | | | | | | | | | | Moving raw pointers does the same job as copying, but is more verbose and also more confusing: e.g., is the supposed pointer meant to be a smart one? This instance was flagged by the tool from https://codereview.chromium.org/2919243002/. BUG=chromium:729393 Change-Id: I4c89e9d80fab9f6d14ab7db53e8b9b6e7cf966dc Reviewed-on: https://skia-review.googlesource.com/18540 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* don't try lowp in msan buildsGravatar Mike Klein2017-06-04
| | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Debug-MSAN Change-Id: I50bcb3a3d8138ce94e3741cac8ceacc9e7e28a20 Reviewed-on: https://skia-review.googlesource.com/18532 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* start on SkJumper lowp modeGravatar Mike Klein2017-06-04
| | | | | | | | | | | | | | | | Just 3 stages implemented so far: load_8888 swap_rb store_8888 That's enough to make the shortest non-trivial pipeline that you see in the new unit test. Change-Id: Iabf90866ab452f7183d8c8dec1405ece2db695dc Reviewed-on: https://skia-review.googlesource.com/18458 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Update SKP versionGravatar UpdateSKPs2017-06-04
| | | | | | | | | | | | Automatic commit by the RecreateSKPs bot. TBR=update-skps@skia.org NO_MERGE_BUILDS Change-Id: I95441583200a3ffc7a2dfe1b6671b5416278f902 Reviewed-on: https://skia-review.googlesource.com/18517 Reviewed-by: update-skps <update-skps@skia.org> Commit-Queue: update-skps <update-skps@skia.org>
* experiment: force composeshade to always be rasterpipelineGravatar Mike Reed2017-06-04
| | | | | | | | Bug: skia: Change-Id: I7dd3f652f3ce05c48cc41b0bbbb54b96d17d721a Reviewed-on: https://skia-review.googlesource.com/18529 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* remove unused blittersGravatar Mike Reed2017-06-03
| | | | | | | | Bug: skia: Change-Id: Iaa2ead32a4025071c3592f83d47f174ffeb63a49 Reviewed-on: https://skia-review.googlesource.com/18530 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Roll recipe dependencies (trivial).Gravatar recipe-roller2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an automated CL created by the recipe roller. This CL rolls recipe changes from upstream projects (e.g. depot_tools) into downstream projects (e.g. tools/build). More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug. depot_tools: https://crrev.com/2a622f20ee62c279073e59cf0b283de2aa5534ce [win_toolchain] Allow toolchain dir override. (dnj@chromium.org) https://crrev.com/84f6f76c72a9d253faabc147c778d8edce974193 [vpython] Bump to newer version. (dnj@chromium.org) https://crrev.com/6f79679ab8e9869552adfd9ef1f29f6574743976 gclient validate: allow "recursion" setting (phajdan.jr@chromium.org) https://crrev.com/c485d5a5d990416796c1d0099ebe12a92ca7f40d gclient: use new exec logic when validation is enabled (phajdan.jr@chromium.org) https://crrev.com/6d0d04458d9c345bc7d77681996d89d6e5fc742c git-cl-upload: Fix reviewers notification with --no-squash. (wiktorg@google.com) https://crrev.com/2fa1203a22622a151df86f34704068b93ba84ee3 Fix regression of gclient-new-workdir.py (wychen@chromium.org) recipe_engine: https://crrev.com/a64a4d4ad8e4844cb81868a2b24df4d836d5caca [file] No error in remove if file does not exist (iannucci@chromium.org) TBR=borenet@google.com Recipe-Tryjob-Bypass-Reason: Autoroller Bugdroid-Send-Email: False Change-Id: I7c45c7278cc50d4e653a31911f3de9ec108b257e Reviewed-on: https://skia-review.googlesource.com/18525 Reviewed-by: Recipe Roller <recipe-roller@chromium.org> Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
* Remove support in GPU backend for distance vector field.Gravatar Brian Salomon2017-06-02
| | | | | | | | | Also, remvoes SkNormalBevelSource as this was the last use case for the distance vector field. Change-Id: Ib0176c78e500e6b5130310934253a75860245812 Reviewed-on: https://skia-review.googlesource.com/18482 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* add nonsquare scale to pathops sorter toolGravatar Cary Clark2017-06-02
| | | | | | | Change-Id: I1b45992cc6eb18d0f79edcbd97d00d73c66c349a Reviewed-on: https://skia-review.googlesource.com/18035 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* remove unused auto classGravatar Mike Reed2017-06-02
| | | | | | | | Bug: skia: Change-Id: I7178876c0d95dc83d64d39a2cb6d90a47bc4b00e Reviewed-on: https://skia-review.googlesource.com/18520 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove accessRenderTarget call from Clear testsGravatar Robert Phillips2017-06-02
| | | | | | | | | In the split-opList world the full screen clear optimization no longer relies on the rendertarget ID. Change-Id: Ifc7bf10753355a18507998e30f9de7e8c1eb57c1 Reviewed-on: https://skia-review.googlesource.com/18497 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* simplify verts in certain modesGravatar Mike Reed2017-06-02
| | | | | | | | Bug: skia: Change-Id: I7cc54c940b61332f06b8d21eeba1def8bd9cb3dc Reviewed-on: https://skia-review.googlesource.com/18495 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Roll ANGLEGravatar Robert Phillips2017-06-02
| | | | | | | Change-Id: I7383e63a619772a0274a0e687eafd19a8f068bc7 Reviewed-on: https://skia-review.googlesource.com/18487 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* default impl of appendStages now calls shaderContextGravatar Mike Reed2017-06-02
| | | | | | | | | | | | | | | | | | this is approximately a revert of https://skia-review.googlesource.com/c/17768/ I propose if/when we want to experiment with a fast-path for coherent shaders (e.g. 2-color linear gradients, up-scaling images) that we just create a new mechanism for shaders to opt into that, knowing that it will be driven by the rasterpipeline (and never by the old context convention). This CL now makes it legal/clear that a new shader subclass can *just* implement stages for raster, and never needs to make a context. Bug: skia: Change-Id: I525a8b1cece100f0993f75e28128e0927a4ea35c Reviewed-on: https://skia-review.googlesource.com/18481 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Remove ImmediateFlush modeGravatar Robert Phillips2017-06-02
| | | | | | | Change-Id: I7db113e66d81516b2beb5eefeddf488d9bfed2e5 Reviewed-on: https://skia-review.googlesource.com/18488 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Disable single channel renderability for ANGLE ES2Gravatar Robert Phillips2017-06-02
| | | | | | | | | Bug: 720325 Change-Id: Ib55c7a0c59a23b8dc012e04b626010de7da2921b Reviewed-on: https://skia-review.googlesource.com/18485 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove deprecated SkRWBuffer snapshot methodsGravatar Florin Malita2017-06-02
| | | | | | | Change-Id: I98fc6059fe74458fb359eaf00ccfcae50996a9e1 Reviewed-on: https://skia-review.googlesource.com/18480 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* move load_and_inc() and LazyCtx into SkJumper_misc.hGravatar Mike Klein2017-06-02
| | | | | | | | | | | | This is a no-op refator that'll help keep the interesting diff more focused in the lowp CL. The lowp stages will use these unaltered, so SkJumper_misc.h is a good place for them. Change-Id: I7fb6327ade29ac884194517d94ac4303ed1079e0 Reviewed-on: https://skia-review.googlesource.com/18484 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Re-land "Fixed an issue with sksl variable declarations"Gravatar Ethan Nicholas2017-06-02
| | | | | | | | | | This reverts commit affa6a3da87e9ea85f1d4fe3137b5bccbbc56f92. Bug: skia: Change-Id: I5864830e31acbf786f3ea7ae91f42f10aae6d855 Reviewed-on: https://skia-review.googlesource.com/18459 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Implement an SkImage backed by a Android hardware bufferGravatar Stan Iliev2017-06-02
| | | | | | | | | | | | | | Create a new SkImage public API to make an image from an Android hardware buffer. Implementation is using a SkImageGenerator derived class GrAndroidBufferImageGenerator. A new EGLImage texture is created, which is then wrapped with GrTextureProxy. Bug: skia: Change-Id: I610a4c5a58198686ce7c03e9a0adad3f9d2342e0 Reviewed-on: https://skia-review.googlesource.com/17789 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Stan Iliev <stani@google.com>