aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* Add indexfile to obsolute quickstart sectionGravatar stephana2016-11-05
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2477153002 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=2477153002 Review-Url: https://codereview.chromium.org/2477153002
* Fix the sum of alpha = 254 instead of 255 by roundingGravatar liyuqian2016-11-05
| | | | | | | | | | | | | | | | This patch is a subpatch from https://codereview.chromium.org/2471133002/ I created this CL mainly for Florin to land before he rebaseline the Chrome layout tests. (Landing the whole patch of 2471133002 would be nice but most people already left for the weekend so I'd rather not take the risk to break the Skia during the weekend.) BUG=skia: TBR=reed@google.com, mtklein@google.com, fmalita@chromium.org GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2483523002 Review-Url: https://codereview.chromium.org/2483523002
* Make buildbotless trybots only support GerritGravatar skia.buildbots2016-11-04
| | | | | | | | | | | BUG=skia:5723 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4460 Change-Id: Ia5630de72f8b473551a5357fdf50eb3dd288b9a7 Reviewed-on: https://skia-review.googlesource.com/4460 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Eric Boren <borenet@google.com>
* Attempt to fix PixelC GLSL compilation error.Gravatar Ben Wagner2016-11-04
| | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4436 CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-PixelC-GPU-TegraX1-arm64-Debug-GN_Android-Trybot,Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Debug-GN_Android-Trybot Change-Id: Id8ad69b5128653ba16dd99418334be75eb3485c5 Reviewed-on: https://skia-review.googlesource.com/4436 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* swap_src_dst -> move_src_dstGravatar Mike Klein2016-11-04
| | | | | | | | | | | | | | | | | | | We thought it'd be handy to have swap_src_dst so that it could be used either to move dst into src or src into dst. Turns out, we already have a stage that moves dst into src (called "dst", the dst blend mode), so there's really no reason to have swap_src_dst over the strictly more efficient move_src_dst. swap_src_dst is typically 12 register moves, where move_src_dst is 4. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4461 Change-Id: Ib453775f854e313f823851978eaadc3995872312 Reviewed-on: https://skia-review.googlesource.com/4461 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Trim down quick start docs for a GN world.Gravatar Mike Klein2016-11-04
| | | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4431 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=4431 Change-Id: I2a10494158e7415ae655baf212a951afd87dcbde Reviewed-on: https://skia-review.googlesource.com/4431 Reviewed-by: Heather Miller <hcm@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add F16, SkColorSpaceXform support to SkGifCodecGravatar Matt Sarett2016-11-04
| | | | | | | | | | | BUG=skia:4895 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4396 Change-Id: I7c521760891852daf4f3933ecf02dc08acec64c0 Reviewed-on: https://skia-review.googlesource.com/4396 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Detect pipelines which can compile to memsets.Gravatar mtklein2016-11-04
| | | | | | | | | | | | Any pipeline that looks like: - constant_color - store_fmt can be trivially converted into an sk_memset of the right size for fmt. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2477013002 Review-Url: https://codereview.chromium.org/2477013002
* Revert of use reversePathTo in place of addPathReverse (patchset #1 id:1 of ↵Gravatar caryclark2016-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2481463002/ ) Reason for revert: breqking some bots Original issue's description: > use reversePathTo in place of addPathReverse > > Path ops was using addPathReverse, instead of reversePathTo. > The former adds a moveTo always, and the latter requires > that the caller add the moveTo if needed. > > Simplify the reversePathTo implementation. > > R=reed@google.com > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481463002 > > Committed: https://skia.googlesource.com/skia/+/d8db392be9dd1887df04b10b5670991d6b098c17 TBR=reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2478763003
* Avoid pretending to support CMYK color xforms in SkJpegCodecGravatar Matt Sarett2016-11-04
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4439 Change-Id: I274930fd947585e7b2a4716c5c51aef267574ddd Reviewed-on: https://skia-review.googlesource.com/4439 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* skrpb: evaluate color filters for constant shaders once.Gravatar mtklein2016-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | The simplest thing to do here is just run shader+color filter pipeline at construction time to create a new constant color shader (replacing the paint color). This reduces a pipeline like: - constant_color (paint color) - matrix_4x5 - clamp_a - load_d_foo, xfermode, lerp, store_foo to - constant_color (paint color -> matrix_4x5 -> clamp_a) - load_d_foo, xfermode, lerp, store_foo To implement this all, we add a new store_f32 stage that writes SkPM4f, and finally get around to implementing Sk8f::Store4() (store while reinterlacing). Sk4f::Store4() already exists for both SSE and NEON. Next step: reduce simple constant_color -> store pipelines (src mode, full coverage) into non-pipeline memsets. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2480823002 Review-Url: https://codereview.chromium.org/2480823002
* use reversePathTo in place of addPathReverseGravatar caryclark2016-11-04
| | | | | | | | | | | | | Path ops was using addPathReverse, instead of reversePathTo. The former adds a moveTo always, and the latter requires that the caller add the moveTo if needed. Simplify the reversePathTo implementation. R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481463002 Review-Url: https://codereview.chromium.org/2481463002
* Deferred image generator subsettingGravatar fmalita2016-11-04
| | | | | | | | | | Instead of invoking the generator at subset time, instantiate a new SkImage_Generator with its own cacherator but shared generator. R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2462013003 Review-Url: https://codereview.chromium.org/2462013003
* Improvements to build_command_buffer.pyGravatar bsalomon2016-11-04
| | | | | | | | | | | | | | | Remove subdir thing for Linux. It's incorrect. Make the script able to take extra GN args. Default to a custom gn output dir for the command buffer build. Default to a release build of the command buffer. Document that the script overwrites the gn args on each run. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2472343003 Review-Url: https://codereview.chromium.org/2472343003
* PixelC is also TegraX1, but doesn't have GL.Gravatar Ben Wagner2016-11-04
| | | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4397 CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Release-GN_Android-Trybot,Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-GN_Android-Trybot,Test-Android-Clang-PixelC-GPU-TegraX1-arm64-Debug-GN_Android-Trybot,Test-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-GN_Android-Trybot,Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Debug-GN_Android-Trybot,Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-GN_Android-Trybot NOTRY=true Change-Id: I60a03f2b515cd2a7f1e3a00e4ed33985a5d4347d Reviewed-on: https://skia-review.googlesource.com/4397 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* tests: s/SkAutoTUnref/sk_sp/Gravatar Hal Canary2016-11-04
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4394 Change-Id: I088b3c6e2adff07abed1e8a50091cc0ec4a4109c Reviewed-on: https://skia-review.googlesource.com/4394 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Add note about CQ_INCLUDE_TRYBOTS and -Trybot suffix.Gravatar Ben Wagner2016-11-04
| | | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4428 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=4428 Change-Id: I5f1fc4ad1cca50ed245d5c14ceff28aa7dfaee53 Reviewed-on: https://skia-review.googlesource.com/4428 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Fix color xforms for Index8 bmpsGravatar Matt Sarett2016-11-04
| | | | | | | | | | | | | Thanks to Gold for catching this. BUG=skia:4895 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4426 Change-Id: Icc816d933e9e2fd312858a5430fa21a47722563e Reviewed-on: https://skia-review.googlesource.com/4426 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Limit GL_TEXTURE_RECTANGLE filtering to bilinear.Gravatar Brian Salomon2016-11-04
| | | | | | | | | | | | | | | Adds a clamp for GrTexture filtering that can be set by a subclass at construction. The clamping is performed by GrTextureParams. GrGLTexture limits filtering to bilinear for rectangle and external textures. Also moves samplerType() to GrTexturePriv from GrTexture. BUG=skia:5932 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4352 Change-Id: I1f023d4f4133e7eb393367580c0558257e56c8db Reviewed-on: https://skia-review.googlesource.com/4352 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Add the new buildbotless infra-tests bot to the CQ as an experimentGravatar borenet2016-11-04
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2421483004 Review-Url: https://codereview.chromium.org/2421483004
* Use alignas to force alignment.Gravatar herb2016-11-04
| | | | | | | | | | | | | | | | Using alignas reduces code and platform specific macros. Use alignas instead of std::aligned_storage because it is unimplemneted in MSVC 2015. Here is the bug from MS: https://connect.microsoft.com/VisualStudio/feedback/details/1559873/std-aligned-storage-cannot-align-type-with-16-byte BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2468243002 TBR=reed@google.com Review-Url: https://codereview.chromium.org/2473143002
* Add documentation for using testing using the command bufferGravatar bsalomon2016-11-04
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2479833003 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=2479833003 Review-Url: https://codereview.chromium.org/2479833003
* Re-enable iOS testingGravatar stephana2016-11-04
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2469863009 Review-Url: https://codereview.chromium.org/2469863009
* Clarify onCreateScalerContext failure modes.Gravatar Ben Wagner2016-11-04
| | | | | | | | | | This should not change any behavior, but addresses some readability concerns. Change-Id: I2614beaed7b5722a3af2c49ab8f4ac16b56aa3a7 Reviewed-on: https://skia-review.googlesource.com/4393 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Further centralize computation of GrSurface VRAM consumptionGravatar Robert Phillips2016-11-04
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4383 Change-Id: I054b74f2cd15f904f8e05af0fda58d6e8a523eb9 Reviewed-on: https://skia-review.googlesource.com/4383 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Avoid matrix inverse in SkBitmapProcInfo::init for translate-only casesGravatar fmalita2016-11-03
| | | | | | | | | | | If fInvMatrix doesn't have a scale component, the really-close-to-no-scale logic is a no-op. We can avoid an inverse op by hoisting the check out of just_trans_clamp/just_trans_general. R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2472003004 Review-Url: https://codereview.chromium.org/2472003004
* tools: s/SkAutoTUnref/sk_sp/Gravatar Hal Canary2016-11-03
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4391 Change-Id: Iae8b032b00d3579c77f3b86370dde71c4649da45 Reviewed-on: https://skia-review.googlesource.com/4391 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Add F16, SkColorSpaceXform support to SkBmpCodecGravatar Matt Sarett2016-11-03
| | | | | | | | | | | BUG=skia:4895 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4390 Change-Id: I9cb727e7f13816b0ac882f62ec635a4528c3a524 Reviewed-on: https://skia-review.googlesource.com/4390 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* more const SkOSMenus.Gravatar Mike Klein2016-11-03
| | | | | | | | | | | | | CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Mac-Clang-Arm7-Debug-iOS-Trybot BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4351 Change-Id: I71f77aaad36701eca7a013959e751a843c6f5e3d Reviewed-on: https://skia-review.googlesource.com/4351 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove SkAutoUnref.Gravatar Ben Wagner2016-11-03
| | | | | | | | | | It is no longer used. Change-Id: Ie2f9a39a4295005cb39bdf2f8fc15542ee75d207 Reviewed-on: https://skia-review.googlesource.com/4386 Commit-Queue: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* remove unused code around SK_SUPPORT_LEGACY_XFERMODE_PARAMGravatar Mike Reed2016-11-03
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4384 Change-Id: I5121acd027d935ade169ff65941f29f654a47bd0 Reviewed-on: https://skia-review.googlesource.com/4384 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Make more tests exercise rendertargetless textures.Gravatar Brian Salomon2016-11-03
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4322 Change-Id: I442041cd5d74768f0981eedcc17be7256e0e0b37 Reviewed-on: https://skia-review.googlesource.com/4322 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Fix iOS and Angle builds.Gravatar Ben Wagner2016-11-03
| | | | | | | | | "Remove SkAutoTDelete." did not run trybots on these specific bots. Change-Id: Ibfa731df387a90a78187b88c75483800981a691c Reviewed-on: https://skia-review.googlesource.com/4387 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* GN: iOS basicsGravatar Mike Klein2016-11-03
| | | | | | | | | | | | | | | This doesn't create any apps or bundles or sign anything, but it all compiles and links. Note the awkward transitional hack I used to make each tool's tool_main() serve as the real main() again when built with GN, while keeping the existing setup with GYP. Fun... BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4350 Change-Id: I632753d5d8e5848380854f413bf5905d676bfcf4 Reviewed-on: https://skia-review.googlesource.com/4350 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Write transparent pixels more often in SkGifImageReaderGravatar Matt Sarett2016-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | This stems from a behavior difference between Skia and Chrome. In Skia, we want to write transparent pixels as often as possible. (It's faster than checking if we should skip each pixel.) In Chrome, they avoid writing transparent pixels unless absolutely necessary. We were cautious about changing behavior when this first landed, but this is easier to think about in a smaller change (right now). (1) We can always write transparent pixels when we are writing an independent frame. (2) There is no need for the progressiveDisplay() check. We only ever use progressive display methods on the first frame - and the first frame is always independent. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4379 Change-Id: I82048a08e2003aac216f483c7db8df997b687149 Reviewed-on: https://skia-review.googlesource.com/4379 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Implement SkNx_fma() for Sk4f on ARMv8.Gravatar Mike Klein2016-11-03
| | | | | | | | | | | | | | I was looking at the disassembly of matrix_4x5() and noticed it didn't have any FMAs. This makes things that call SkNx_fma() actually use the FMA instruction. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4400 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: Ia353a77b0ca14385a43b564997b05586f9472996 Reviewed-on: https://skia-review.googlesource.com/4400 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove SkAutoTDelete.Gravatar Ben Wagner2016-11-03
| | | | | | | | | Replace with std::unique_ptr. Change-Id: I5806cfbb30515fcb20e5e66ce13fb5f3b8728176 Reviewed-on: https://skia-review.googlesource.com/4381 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Fix kMediumQuality invMatrix setup for sizes == mip levelsGravatar fmalita2016-11-03
| | | | | | | | | | When downscaling with kMediumQuality in non-clamp mode, if we happen to hit a size == mip level, then SkBitmapProcInfo::init takes the trivial matrix path and doesn't set up a matrix for normalized coords on the assumption that we're going to ignore the transform. But kMediumQuality disables allow_ignore_fractional_translate, so we take the filter path after all - but with an incorrect matrix. R=reed@google.com BUG=chromium:661180 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2476713002 Review-Url: https://codereview.chromium.org/2476713002
* Fix quad convexity with only one backward dirGravatar liyuqian2016-11-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2465253008 Review-Url: https://codereview.chromium.org/2465253008
* Remove sk_linear_to_srgb_noclamp().Gravatar Mike Klein2016-11-03
| | | | | | | | | | | | | | | | | | | | | We've just re-noticed this can happen: 1) we have a properly premultiplied linear color; 2) we convert that to sRGB; 3) we convert that back to linear; 4) that color does not appear to be premultiplied. Removing sk_linear_to_srgb_noclamp(), and thus always clamping to [0,1] here in linear space, does not fix this problem. However, it does help keep it from propagating too badly. Just double-checked: the older Sk4f pipeline (SkXfermode4f, SkPM4fPriv, etc) already use sk_linear_to_srgb() exclusively, so they're already doing this same clamp. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4314 Change-Id: I6352eb0ba969eb25674e8441e43bb51e1e1c0df3 Reviewed-on: https://skia-review.googlesource.com/4314 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Use temporary FBO for GrGLGpu::onReadPixels.Gravatar Brian Salomon2016-11-03
| | | | | | | | | | | | | Allow configs to be supported as FBO attachments for copies/readbacks without being "renderable" elsewhere in Ganesh. The motivation for this is to add support for int textures as srcs but not as dsts (at least initially) but to still be able to read them back. This means we don't pay for a unneeded GPU copy when reading back a GrSurface that is a GrTexture and not a GrRenderTarget. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4345 Change-Id: I824a73c6b8c1b9634206d76ccf0848d5f9b64441 Reviewed-on: https://skia-review.googlesource.com/4345 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Streamline skia.h construction.Gravatar Mike Klein2016-11-03
| | | | | | | | | | | | | | | This moves the work of finding headers from `gn gen` time into the action itself. We can do this safely now because we're constructing a skia.h.d deps file, which Ninja uses to track if-these-are-dirty-then-this-is-dirty relationships. Everything can now live in one handy find_headers.py. Upshot is, `gn gen` runs ~50ms faster, and I think the code's clearer this way too. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4065 Change-Id: I2f1e7adf68be8e961eb77596786a795134bbb9a6 Reviewed-on: https://skia-review.googlesource.com/4065 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Add F16, SkColorSpaceXform support to SkBmpCodec"Gravatar Matt Sarett2016-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d851795e7992565c1eb2b9474ee5ad01d1a01fad. Reason for revert: <INSERT REASONING HERE> Original change's description: > Add F16, SkColorSpaceXform support to SkBmpCodec > > BUG=skia:4895 > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4300 > > Change-Id: I2f2b8d3854ea3a8c5904dd3c5bea0342e2be9789 > Reviewed-on: https://skia-review.googlesource.com/4300 > Reviewed-by: Leon Scroggins <scroggo@google.com> > Commit-Queue: Matt Sarett <msarett@google.com> > Speculative revert for MSAN TBR=borenet@google.com,msarett@google.com,scroggo@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ie48c03c0c3156267763fbcf96818477567c5069d Reviewed-on: https://skia-review.googlesource.com/4378 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Basic pipeline blend mode strength reductions:Gravatar Mike Klein2016-11-03
| | | | | | | | | | | | | | | | | | | | - when the shader is opaque, srcover becomes src - don't load dst when blitting in src mode with full coverage - fold coverage into src alpha when in srcover mode It's not obvious that we can fold coverage into src alpha when using a 565 mask, so I've not attempted that. What would we do about alpha? Over all GMs this causes a single 1-bit difference in sRGB mode. No 565 or f16 diffs. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4349 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: Ib9161f498c4efa6b348ca74522166da64d09a7da Reviewed-on: https://skia-review.googlesource.com/4349 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* add include to remove legacy flagGravatar Mike Reed2016-11-03
| | | | | | | | | | | | | BUG=skia: NOTRY=True GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4377 Change-Id: Ie3b173188041a8c37fc2252d257c1f3e1c2a4c84 Reviewed-on: https://skia-review.googlesource.com/4377 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Centralize computation of GrRenderTarget & GrTexture VRAM consumptionGravatar Robert Phillips2016-11-03
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4310 Change-Id: I676749ecf1e489f825799b619a15a45fc7dcd219 Reviewed-on: https://skia-review.googlesource.com/4310 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add F16, SkColorSpaceXform support to SkBmpCodecGravatar Matt Sarett2016-11-03
| | | | | | | | | | | BUG=skia:4895 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4300 Change-Id: I2f2b8d3854ea3a8c5904dd3c5bea0342e2be9789 Reviewed-on: https://skia-review.googlesource.com/4300 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Add Matrix colorfilter pipeline stages.Gravatar Mike Klein2016-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This breaks the color filter down into a couple logical steps: - go to unpremul - apply the 4x5 matrix - clamp to [0,1] - go to premul Because we already have handy premul clamp stages, we swap the order of clamp and premul. This is lossless. While adding our stages to the pipeline, we analyze the matrix to see if we can skip any steps: - we can skip unpremul if the shader is opaque (alphas are all 1 ~~~> we're already unpremul); - we can skip the premul back if the color filter always produces opaque (here, are the inputs opaque and do we keep them that way, but we could also check for an explicit 0 0 0 0 1 alpha row); - we can skip the clamp_0 if the matrix can never produce a value less than 0; - we can skip the clamp_1 if the matrix can never produce a value greater than 1. The only thing that should seem missing is per-pixel alpha checks. We don't do those here, but instead make up for it by operating on 4-8 pixels at a time. We don't split the 4x5 matrix into a 4x4 and 1x4 translate. We could, but when we have FMA (new x86, all ARMv8) we might as well work the translate for free into the FMAs. This makes gm/fadefilter.cpp draw differently in sRGB and F16 modes, bringing them in line with the GPU sRGB and GPU f16 configs. It's unclear to me what was wrong with the old CPU implementation. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4346 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: I14082ded8fb8d63354167d9e6b3f8058f840253e Reviewed-on: https://skia-review.googlesource.com/4346 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix bitmap shaders gmGravatar Matt Sarett2016-11-03
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4373 Change-Id: If3938e529fbf82830048d3c194673603d509bf28 Reviewed-on: https://skia-review.googlesource.com/4373 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert of Try to use only std::aligned_storage. (patchset #2 id:20001 of ↵Gravatar benjaminwagner2016-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2468243002/ ) Reason for revert: DM failure: https://luci-milo.appspot.com/swarming/task/324387bf30100f10 c:\b\work\skia\src\core\sklinearbitmappipeline.cpp:49: fatal error: "assert(sizeof(Variant) <= sizeof(fSpace))" Original issue's description: > Try to use only std::aligned_storage. This does not change the API. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2468243002 > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/e736e0c2d52a29a3b88a29ab39b3a90a5a2443a0 TBR=mtklein@chromium.org,bsalomon@google.com,mtklein@google.com,reed@google.com,herb@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2474073002