Commit Graph

28406 Commits

Author SHA1 Message Date
Brian Salomon
45e5068a6d Add a flag to GrSurfaceFlags that requires the texture to be cleared upon creation.
Bug: chromium:656320

Change-Id: I940bfa24540516ab83a2ed52f761b96eb6ad19f1
Reviewed-on: https://skia-review.googlesource.com/17391
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-05-23 18:07:25 +00:00
Christopher Cameron
ccb46aaef8 Don't pass uniform arrays in GrGLNonlinearColorSpaceXformEffect
This avoids a problem where passing a uniform array as a function
array sometimes gets lost.

Instead of passing the uniform array as an argument to the
transfer function evaluation function, create two separate
transfer function evaluation functions that read the uniforms
directly.

BUG=723133

Change-Id: Ib46b99efdbc04ce0201644ebbc1dfd4cb27e9276
Reviewed-on: https://skia-review.googlesource.com/17293
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2017-05-23 17:34:32 +00:00
Mike Klein
87db001115 move sk_memset?? to SkOpts
This lets the compiler generate AVX versions with wider writes.

Change-Id: Ia63825e70c72bdb4d14bef97d8b4ea4be54c9d84
Reviewed-on: https://skia-review.googlesource.com/17715
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-23 17:02:53 +00:00
Mike Klein
5373609d90 add knob to turn off fancy SkJumper features
This is a new public API for testing (layout tests).

Change-Id: I10345231bad373c741b1e9656e546000538121b3
Reviewed-on: https://skia-review.googlesource.com/17712
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-23 16:06:11 +00:00
Mike Reed
435071e8ab color-correct patch
Key work is to correctly convert SkColor corners into linear floats,
then interpolate, then (correctly) convert back to SkColors.

Bug: skia:6659
Change-Id: Iaf0ab842d7a4f8f3481e609903cec83814e5a749
Reviewed-on: https://skia-review.googlesource.com/17533
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2017-05-23 15:44:46 +00:00
Leon Scroggins III
557fbbe05b Add animation support to SkWebpCodec
TBR=reed@google.com
(No change to the public API, but changed a header file)

SkWebpCodec:
- Implement onGetFrameCount, onGetFrameInfo, and onGetRepetitionCount
- Respect the alpha reported by libwebp. Although the spec states that
  it is only a hint, the libwebp encoder uses it properly. Respecting
  allows us to draw opaque images faster and decode them to 565. This
  also matches other SkCodecs (and Chromium).
- onGetPixels:
  - Decode the frame requested, recursively decoding required frame if
    necessary
  - When blending with a prior frame, use SkRasterPipeline

SkCodec:
- Move check for negative index to getFrameInfo
- Reset the colorXform if one is not needed

SkCodecAnimation:
- Add new blend enum, for WebP's (and APNG's) non-blending option

SkFrameHolder:
- New base classes for frames and the owner of the frames, allowing
  code sharing between SkWebpCodec and SkGifCodec (particularly for
  determining whether a frame has alpha and what frame it depends on)
- When moving items from SkGIFFrameContext, use Skia conventions (i.e.
  int instead of unsigned)
- Rename "delay time" to "duration", to match e.g. SkFrameInfo::
  fDuration

SkGifImageReader:
- Move pieces to SkFrameHolder, and adapt to changes made in the
  process
- Make setAlphaAndRequiredFrame (now on the base class SkFrameHolder)
  more general to support webp, and add support for frames that do not
  blend
- Change SkGIFFrameContext from a struct to a class, to match how we
  use the distinction elsewhere (i.e. struct is a small object with
  public fields)
- Rework hasTransparentPixel (now hasTransparency, since it returns true
  in some cases where there is not a transparent pixel) to better fit
  with the modified setAlphaAndRequiredFrame. Also be more consistent
  when there is no transparent pixel but no color map.
- Simplify an if condition that was previously simplified in 2d61e717
  but accidentally got reverted in a4db9be6

CodecAnimTest:
- Test new animated webp files
- Rearrange the test to more cleanly print alpha type mismatches for
  the first frame

resources:
- webp-animated.webp
  - animated webp from Chromium
- blendBG.webp
  - new webp file using bits of webp-animated-semitransparent4.webp
    from Chromium
  - tests required frame and alpha when using the non-blending mode
  - frames have the following properties:
    - Frame 0: no alpha, fills screen
    - Frame 1: alpha, fills screen
    - Frame 2: no alpha, fills screen
    - Frame 3: alpha, fills screen, blendBG
    - Frame 4: no alpha, fills screen, blendBG
    - Frame 5: alpha, blendBG
    - Frame 6: covers 4, has alpha, blendBG
  - also used to test decoding to 565 if the new frame data has alpha
    but blends onto an opaque frame

DM.cpp:
- Test animated images to non-native 8888 and unpremul

DMSrcSink.cpp:
- Do not test non-native 8888 decodes to f16 dst
- Test unpremul decodes to f16
- Copy a frame of an animated image prior to drawing, since in unpremul
  mode, the DM code will premultiply first.

Bug: skia: 3315
Change-Id: I4e55ae2ee5bc095b37a743bdcfac644be603b980
Reviewed-on: https://skia-review.googlesource.com/16707
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
2017-05-23 15:28:37 +00:00
Mike Klein
e980174d0f simpler portable round()
Calling out lrintf() is probably kind of extreme...
adding half and truncating should be just fine.

Change-Id: Ifb22c1c1a9b764be153b769aad4671ca44311255
Reviewed-on: https://skia-review.googlesource.com/17708
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-23 15:09:07 +00:00
Mike Reed
b8abb4c636 add gm to test alpha in drawPatch
Bug: skia:
Change-Id: I79d0b0707b09a3eedeeaee940d6dafbbbdbe2fe2
Reviewed-on: https://skia-review.googlesource.com/17707
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-05-23 14:17:21 +00:00
Jim Van Verth
eb63eb757e Fix TSAN error for shadow cache
Change-Id: I84b94a19c724e2152d1eac269f425f7f0f2286f5
Reviewed-on: https://skia-review.googlesource.com/17706
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2017-05-23 14:11:21 +00:00
Leon Scroggins
564ad05f06 Revert "sk_fgetsize to not use ftell."
This reverts commit eefa289a21.

Reason for revert: Causing failures in BitmapFactoryTest. b/38233042

Original change's description:
> sk_fgetsize to not use ftell.
> 
> The previous version of sk_fgetsize used ftell and fseek to compute
> the size of a file. There are so many issues with this that it is called
> out by securecoding.cert.org as FIO19-C as a thing not to do. We already
> have correct code for computing the size of a file in the mmap code, so
> use that instead.
> 
> Change-Id: I1d771124989d0ec1523f6d858814ee563263213a
> Reviewed-on: https://skia-review.googlesource.com/9860
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> 

TBR=bungeman@google.com,scroggo@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Ie9392dde8747ae7c74ebfa00153705e316e841a2
Reviewed-on: https://skia-review.googlesource.com/17705
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-05-23 13:55:13 +00:00
Robert Phillips
92de631edd Remove compressed (ETC1) texture support from Ganesh (take 2)
Reland of https://skia-review.googlesource.com/c/17456/ (Remove compressed (ETC1) texture support from Ganesh) but w/o removing third_part\etc1 files

TBR=bsalomon@google.com
Change-Id: I8ec4b7e3ddf47d213cb24c382731c050ffb8847f
Reviewed-on: https://skia-review.googlesource.com/17700
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-05-23 12:45:21 +00:00
Mike Klein
8ca3356290 remove min from repeat and mirror generally
I don't think they do anything anymore after the inclusive/exclusive
refactoring.

Change-Id: I63f2e010a00953b5b6415de002bcb51ec2b73458
Reviewed-on: https://skia-review.googlesource.com/17490
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2017-05-23 12:32:21 +00:00
Mike Klein
9f85d68887 retry tilers against 1
These weren't the Valgrind problem.

Change-Id: Ic76df460cf0ce7f7ae8155d549f4e92a7f8de040
Reviewed-on: https://skia-review.googlesource.com/17701
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-23 12:17:15 +00:00
Mike Reed
eee762104c add bench for patchutils
Bug: skia:
Change-Id: Iba36eb5a7d09f92b7828f2ec209cbfeb8d0eb8ed
Reviewed-on: https://skia-review.googlesource.com/17601
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-05-23 03:08:17 +00:00
Jim Van Verth
79a1a97db7 Fix TSAN bot
Bug: skia:
Change-Id: I5626e4e4277255b1c0c10f912829ac2cd2ed1a8c
Reviewed-on: https://skia-review.googlesource.com/17600
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2017-05-23 00:46:01 +00:00
Greg Daniel
5592382a7a Remove setting of alpha coverage in text ops when in LCD mode
Bug: skia:
Change-Id: I0e320497fe72a0edad7bda7ea1c34dc2f713fc56
Reviewed-on: https://skia-review.googlesource.com/17530
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-05-22 21:03:37 +00:00
Jim Van Verth
8793e38898 Cache ambient and spot shadows at a canonical position
Change-Id: I1f80931513f7d2268b358fb38c86dd331f32f064
Reviewed-on: https://skia-review.googlesource.com/17394
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-05-22 20:37:57 +00:00
Greg Daniel
79cdf28c51 Fix to lcd blending in ganesh
This fixes the bug where a src color may originally be opaque but after
blending it is no longer opaque. We need to know the opacity after the
blend so this restricts us on which blend modes even work this way.

Bug: skia:
Change-Id: Ib3208887d718e5f25272ed7b0bf44683d04884d7
Reviewed-on: https://skia-review.googlesource.com/17488
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-05-22 20:35:17 +00:00
Mike Klein
4e3bc86a42 Revert "Revert "mark SkRasterPipelineBlitter final""
This reverts commit b5b26a9d29.

Reason for revert: this one's probably fine too

Original change's description:
> Revert "mark SkRasterPipelineBlitter final"
> 
> This reverts commit 317a1857f8.
> 
> Reason for revert: Valgrind requires reverting ancestor commit.
> 
> Original change's description:
> > mark SkRasterPipelineBlitter final
> > 
> > This devirtualizes the call from blitAntiH to blitH,
> > and makes sure no future self calls will be virtual.
> > 
> > Change-Id: I2a277bbc1450a96e07794791792d59e5f806bde0
> > Reviewed-on: https://skia-review.googlesource.com/17418
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> > Reviewed-by: Mike Klein <mtklein@chromium.org>
> > 
> 
> TBR=mtklein@chromium.org,herb@google.com,reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> 
> Change-Id: Ic726fd6b9bf18c397812ecc256353ab4a0a336c5
> Reviewed-on: https://skia-review.googlesource.com/17522
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> 

TBR=mtklein@chromium.org,herb@google.com,reviews@skia.org,brianosman@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ic27fbfaab9d040a1ef49d596350649096b908ea3
Reviewed-on: https://skia-review.googlesource.com/17528
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2017-05-22 20:15:30 +00:00
Brian Osman
bc262e110a Revert "Remove compressed (ETC1) texture support from Ganesh"
This reverts commit ee26363aaa.

Reason for revert: Failing Google 3 roll.

Original change's description:
> Remove compressed (ETC1) texture support from Ganesh
> 
> Change-Id: If4cf286df87ea87338aba47001d90a5fcc4f2667
> Reviewed-on: https://skia-review.googlesource.com/17456
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ie1a57187287e03600a69e374501478e93c41415c
Reviewed-on: https://skia-review.googlesource.com/17527
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-05-22 20:14:50 +00:00
Brian Osman
bcd8637772 Revert "Revert "fix ubsan warning""
This reverts commit b03d69f070.

Reason for revert: This is the good CL I meant to re-land.

Original change's description:
> Revert "fix ubsan warning"
> 
> This reverts commit 4d1c5d676e.
> 
> Reason for revert: Valgrind requires reverting ancestor commit.
> 
> Original change's description:
> > fix ubsan warning
> > 
> > CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
> > 
> > Change-Id: Ic8c5d95fdb899cb5293b2bc456f61b1637ec3aed
> > Reviewed-on: https://skia-review.googlesource.com/17489
> > Reviewed-by: Mike Klein <mtklein@chromium.org>
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> > 
> 
> TBR=mtklein@chromium.org,herb@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
> 
> Change-Id: Idbfdc4773756aa475829c1421d10d6f341081d7b
> Reviewed-on: https://skia-review.googlesource.com/17521
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> 

TBR=mtklein@chromium.org,herb@google.com,reviews@skia.org,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN

Change-Id: I4cf347bc578450c0cb3c91e55fdfdbe6af6fdb13
Reviewed-on: https://skia-review.googlesource.com/17526
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-05-22 19:45:16 +00:00
Brian Osman
86ee8c40ee Revert "fix ubsan warning"
This reverts commit 4d1c5d676e.

Reason for revert: This one was fine (and fixes ASAN).

Original change's description:
> fix ubsan warning
> 
> CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
> 
> Change-Id: Ic8c5d95fdb899cb5293b2bc456f61b1637ec3aed
> Reviewed-on: https://skia-review.googlesource.com/17489
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> 

TBR=mtklein@chromium.org,herb@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN

Change-Id: Id51bf64617f9bf11d80e6163783d7101fef9c5e2
Reviewed-on: https://skia-review.googlesource.com/17525
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-05-22 19:31:46 +00:00
Brian Osman
74fc593209 Revert "We can mask load and store with just AVX."
This reverts commit 139e463dc6.

Reason for revert: Crashes on Valgrind bots.

Original change's description:
> We can mask load and store with just AVX.
> 
> Previously we were using AVX2 instructions to generate the masks,
> and AVX2 instructions for the mask load and stores themselves.
> 
> AVX came with float mask loads and stores, which will work perfectly
> fine.  I don't really get what the point of the 32-bit int loads and
> stores are in AVX2, beyond maybe syntax sugar?
> 
> Change-Id: I81fa55fb09daea4f5546f8c9ebbc886015edce51
> Reviewed-on: https://skia-review.googlesource.com/17452
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Ravi Mistry <rmistry@google.com>
> 

TBR=mtklein@chromium.org,rmistry@google.com,herb@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I3a48f006c20475f6334ff94998281f381c696c93
Reviewed-on: https://skia-review.googlesource.com/17524
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-05-22 19:30:46 +00:00
Brian Osman
4598899678 Revert "add tilers against 1"
This reverts commit 8110b849d6.

Reason for revert: Valgrind requires reverting ancestor commit.

Original change's description:
> add tilers against 1
> 
> Change-Id: I2482972a43cb89a93cbfb9e708614e0334002e53
> Reviewed-on: https://skia-review.googlesource.com/17483
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> 

TBR=mtklein@chromium.org,herb@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Icbc3a2212f800854ef7b2b17aa99fedad182d53e
Reviewed-on: https://skia-review.googlesource.com/17523
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-05-22 19:29:32 +00:00
Brian Osman
b5b26a9d29 Revert "mark SkRasterPipelineBlitter final"
This reverts commit 317a1857f8.

Reason for revert: Valgrind requires reverting ancestor commit.

Original change's description:
> mark SkRasterPipelineBlitter final
> 
> This devirtualizes the call from blitAntiH to blitH,
> and makes sure no future self calls will be virtual.
> 
> Change-Id: I2a277bbc1450a96e07794791792d59e5f806bde0
> Reviewed-on: https://skia-review.googlesource.com/17418
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> 

TBR=mtklein@chromium.org,herb@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ic726fd6b9bf18c397812ecc256353ab4a0a336c5
Reviewed-on: https://skia-review.googlesource.com/17522
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-05-22 19:24:56 +00:00
Brian Osman
b03d69f070 Revert "fix ubsan warning"
This reverts commit 4d1c5d676e.

Reason for revert: Valgrind requires reverting ancestor commit.

Original change's description:
> fix ubsan warning
> 
> CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
> 
> Change-Id: Ic8c5d95fdb899cb5293b2bc456f61b1637ec3aed
> Reviewed-on: https://skia-review.googlesource.com/17489
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> 

TBR=mtklein@chromium.org,herb@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN

Change-Id: Idbfdc4773756aa475829c1421d10d6f341081d7b
Reviewed-on: https://skia-review.googlesource.com/17521
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-05-22 19:24:26 +00:00
Brian Salomon
7128fdd82d Remove kZeroCopy_GrSurfaceFlag
Change-Id: I2869f97a14f3a1363ebfef5d657bd6468fc991f7
Reviewed-on: https://skia-review.googlesource.com/17491
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-05-22 18:50:58 +00:00
Matt Sarett
112565e3e7 Blacklist memory instensive tests on 32-bit bots (part 2)
Bug: skia:

Change-Id: Id517d4ba3b0f728e13f160e0766b6fb822a682f9
Reviewed-on: https://skia-review.googlesource.com/17482
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-05-22 18:14:22 +00:00
Mike Klein
4d1c5d676e fix ubsan warning
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN

Change-Id: Ic8c5d95fdb899cb5293b2bc456f61b1637ec3aed
Reviewed-on: https://skia-review.googlesource.com/17489
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-22 18:13:17 +00:00
Mike Reed
edf8a76219 add helper static to SkColorSpaceXform
Bug: skia:
Change-Id: I62525b392dfbae3d7075cf7f14e30780bad41279
Reviewed-on: https://skia-review.googlesource.com/17485
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-05-22 18:08:13 +00:00
recipe-roller
ffc2e4b64d Roll recipe dependencies (trivial).
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/12ef501b02a9ff66323ba2da0432dc6717d5bc89 Parse Bug, R, and Tbr git-footers in PRESUBMIT (agable@chromium.org)
  https://crrev.com/62ca960a5f6b956299dbb0a44d049d063962d3c5 gerrit_util: retry on 404s for replication lag (agable@chromium.org)
  https://crrev.com/fe92995d40a79af9c8a2cd31babda3fe53cc683f [cipd] Allow packaging whole root. (dnj@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iae8f5598cdfd8b64f5f090c1ca14eaa41ca04f82
Reviewed-on: https://skia-review.googlesource.com/17486
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-05-22 18:08:12 +00:00
Jim Van Verth
4123d0ff86 Add serialization support for drawShadowRec
Change-Id: Ic7f76681a037d8f53a6fdc25061c39559f5c3e30
Reviewed-on: https://skia-review.googlesource.com/17457
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2017-05-22 18:02:53 +00:00
Robert Phillips
ee26363aaa Remove compressed (ETC1) texture support from Ganesh
Change-Id: If4cf286df87ea87338aba47001d90a5fcc4f2667
Reviewed-on: https://skia-review.googlesource.com/17456
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-05-22 18:02:52 +00:00
Mike Klein
317a1857f8 mark SkRasterPipelineBlitter final
This devirtualizes the call from blitAntiH to blitH,
and makes sure no future self calls will be virtual.

Change-Id: I2a277bbc1450a96e07794791792d59e5f806bde0
Reviewed-on: https://skia-review.googlesource.com/17418
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-05-22 18:00:51 +00:00
Mike Klein
8110b849d6 add tilers against 1
Change-Id: I2482972a43cb89a93cbfb9e708614e0334002e53
Reviewed-on: https://skia-review.googlesource.com/17483
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-22 17:55:59 +00:00
Robert Phillips
b7b7e5fba0 Add fixes & test for isConfigTexturable and isConfigRenderable
This CL fixes:
  isConfigTexturable was returning true for:
            kRG_float for ANGLE ES2 configs
  isConfigRenderable was returning true for:
            kAlpha_8 for ANGLE ES2 configs
  isConfigTexturable and isConfigRenderable were returning true for:
            SBGRA on ES2
  The NexusPlayer was marking RGBA & RG float configs as renderable but not textureable

Bug: 720325

Change-Id: If21361870dbdde8f3e09bc9dff3a394f2a329157
Reviewed-on: https://skia-review.googlesource.com/17387
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-05-22 17:55:48 +00:00
Brian Osman
e2fc563234 Switch to SkVertices version of drawVertices
Bug: skia:
Change-Id: I2966a5f6d1c0a953d5fe0d257550ae7f16e87e41
Reviewed-on: https://skia-review.googlesource.com/17455
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-05-22 17:39:08 +00:00
Ben Wagner
ad985b22c9 Marker for Win AMD driver update.
Bug: skia:6317
Change-Id: Iab5049fdb21904f9a5427fa86a9667366e3fc853
NoTry: true
Reviewed-on: https://skia-review.googlesource.com/17484
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-05-22 17:21:14 +00:00
Mike Klein
139e463dc6 We can mask load and store with just AVX.
Previously we were using AVX2 instructions to generate the masks,
and AVX2 instructions for the mask load and stores themselves.

AVX came with float mask loads and stores, which will work perfectly
fine.  I don't really get what the point of the 32-bit int loads and
stores are in AVX2, beyond maybe syntax sugar?

Change-Id: I81fa55fb09daea4f5546f8c9ebbc886015edce51
Reviewed-on: https://skia-review.googlesource.com/17452
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2017-05-22 17:08:19 +00:00
Mike Klein
0a76b413ea add compile, use it in blitter
I expanded an existing bench to show off the difference:

    SkRasterPipeline_…
    300  …compile 1x  …run 1.14x

Change-Id: I5d63d602cda3f78d2d0891fcc85baf5514632900
Reviewed-on: https://skia-review.googlesource.com/17458
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2017-05-22 16:41:22 +00:00
Matt Sarett
929bfeb17c Blacklist memory intensive tests on 32-bit bots
This is to fix OOM errors on Windows bots.

Bug: skia:
Change-Id: I308c77bde51d3c6b069f35b2c8d0e43e5b12a93f
Reviewed-on: https://skia-review.googlesource.com/17453
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-05-22 15:33:49 +00:00
Mike Klein
b35cb3143e refactor SkRasterPipelineBlitter
This refactors the factories so that the create-from-paint factory is a
front-patch to the create-from-shader-pipeline factory.  Feature-wise,
we make the pre-baked shader pipeline responsible for modulating by
paint alpha; the factory only adds when creating from the paint.

We can fold the alpha into the colors in drawVertices, which makes it
run a bit faster, dropping the need for a scale_1_float runtime stage.
This causes a few invisible diffs on the "vertices" GM, but everything
else draws the same.

Change-Id: I3eeacc9aafbce2023ab18991bbb68c35645e9387
Reviewed-on: https://skia-review.googlesource.com/17395
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-22 14:28:15 +00:00
Mike Klein
1859f69d20 some basic speed ups for SkRasterPipeline::append()
The new bench demos the speedup:
    SkRasterPipelineReuse_…
    …full 1x  …some 1.8x  …none 5.22x

Change-Id: I5e51fb4316ae04558710ce62560850584ccb4aea
Reviewed-on: https://skia-review.googlesource.com/17449
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-22 14:08:06 +00:00
Eric Boren
f94514b0ff [recipes] Copy file, isolate, swarming, swarming_client from build.git
Rename swarming -> skia_swarming.
Some required heavy modification to remove other dependencies on modules
in build.git.

Expected changes:

- RECIPE_MODULE[build::<module>] -> RECIPE_MODULE[skia::<module>]
- No more runit; directly run through Python.

Bug: skia:6628
Change-Id: I1b1370ed387966222ce10731771dbde9020cf542
Reviewed-on: https://skia-review.googlesource.com/17448
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2017-05-22 13:08:25 +00:00
Hal Canary
66f6b1fb48 SkPDF: eliminate unnecessary clip for each page
Somehow this improves the imagefilterscropped gm.

This also makes it easier for me to manually parse
PDF output for debugging.

Change-Id: I3af39f4b0ca3fc7fcdeec4825bf8649bd9544917
Reviewed-on: https://skia-review.googlesource.com/17413
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-05-22 12:50:39 +00:00
recipe-roller
75c7d77a0c Roll recipe dependencies (trivial).
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.
build:
  https://crrev.com/bc9dcd6ed4e53b32dcb134a634fcba2b3556f60f Dart: Trigger some dart2js bots on commit, not with special trigger. (whesse@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iadf6e0d49853e015bcaa021bf2479a052af623b0
Reviewed-on: https://skia-review.googlesource.com/17447
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-05-22 10:06:44 +00:00
recipe-roller
6813819b97 Roll recipe dependencies (trivial).
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.
build:
  https://crrev.com/22da36e95697d92463b1b8ea002f7c4b8a4de41a remote_run: Remove BuildBot Python path injection. (dnj@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Icaf0b1f0f2f3476a7525bf5832c5fcdc78c706ae
Reviewed-on: https://skia-review.googlesource.com/17446
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-05-21 18:23:44 +00:00
recipe-roller
ea6a994079 Roll recipe dependencies (trivial).
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.
build:
  https://crrev.com/a757e193649738016b242a11f654c558adda8aaa Remove "url" recipe module. (dnj@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1caa2058733ef9dd28f4c21913eb7ff83007c331
Reviewed-on: https://skia-review.googlesource.com/17445
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-05-21 17:12:21 +00:00
recipe-roller
cb15b5e726 Roll recipe dependencies (trivial).
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.
build:
  https://crrev.com/9d8e66c1f40b2318b042ebea3618d11fe831c689 Link to gerrit changes from buildbot build properties (agable@chromium.org)
  https://crrev.com/d9932108ec67f7d364de5f696f90a3c1ce8650b8 Remove "gitiles" recipe module. (dnj@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ifbcedeb690ebc61e25e23f221b37a77bb74f17a9
Reviewed-on: https://skia-review.googlesource.com/17444
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-05-21 16:23:20 +00:00
Brian Salomon
d34edf3dc9 Revert "Revert "Remove GrSurfaceDesc member from GrSurface.""
This reverts commit 4b30a96a3e.

Bug: skia:
Change-Id: I14d5b402c87df8fffbc29f16686fcfa18474fc48
Reviewed-on: https://skia-review.googlesource.com/17408
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-05-21 11:41:17 +00:00