Commit Graph

38531 Commits

Author SHA1 Message Date
Kevin Lubick
b07204a6f9 Add software backend to gpu build
Bug: skia:8548
Change-Id: If3853711f4b183f3b0437ae2b31525b0e6c88213
Reviewed-on: https://skia-review.googlesource.com/c/172120
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-20 19:41:27 +00:00
Kevin Lubick
1a05fceb38 [canvaskit] Expand canvas2d API
Made addPath take one more arg to allow for append/expand
(which makes emulating the HTML canvas easier).

Add Gold test for various lineTo/pathTo, etc.

Make CanvasKit.Color() choose a better value for alpha
when omitted (was 0, should be 1).

Add some parsing logic to deal with colors/font sizes.
Fonts are going to be rather complex it seems.

Moves some arc-related logic to the JS side, (although
this should preserve the behavior of CanvasKit.arc() to
behave like the Canvas implementation)

Make Examples and tests to a side-by-side comparison to
HTML canvas where applicable.

Add a Changelog for PathKit.  There was a bug (I thought), but
turns out I was wrong.  The Changelog will be for future
bug fixes.

Bug: skia:
Change-Id: I1bd603fdb518232604b098e24543e3453015b504
Reviewed-on: https://skia-review.googlesource.com/c/170446
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-20 18:39:43 +00:00
Mike Klein
4e7480e313 disable platform (matrix) procs
The only platform procs left here are the matrix procs,
and calmbench + my laptop say this is roughly a no-op:

    Compared 930 benches. 0 of them seem to be significantly differrent.

My desktop is similar, just two small slowdowns, only in microbenchmarks:

    platform-procs (compared to master) is likely
        4.79% slower in draw_bitmap_aa_scale
        4.79% slower in draw_bitmap_noaa_scale
    Compared 930 benches. 2 of them seem to be significantly differrent.

This doesn't actually affect ARM builds.  There are optimized NEON
platform procs, but they're not hooked up through platformProcs(),
rather in their own idiosyncratic way.

There's like, zero chance this doesn't change at least one layout test.

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: Ia38e1e8eff8641599e9387f5411b2d0f6c5bfc73
Reviewed-on: https://skia-review.googlesource.com/c/171908
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-11-20 18:09:08 +00:00
Michael Ludwig
eb35650f91 Update drawimage composite benchmark to force aa
Bug: skia:
Change-Id: I3a23031cdd86d844c78134ecf79fc1ccc37ec1f1
Reviewed-on: https://skia-review.googlesource.com/c/171721
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-11-20 17:41:34 +00:00
Mike Reed
dde5c0ce6b hide (unused) intercepts methods -- for staging migration to SkFont
Bug: skia:
Change-Id: I93a52a9f20fe715dca0393e2c892369e01817de1
Reviewed-on: https://skia-review.googlesource.com/c/172063
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-20 17:25:44 +00:00
recipe-roller
1d4835e4eb 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/7da982abf99f9feced310f51a9fc058c4ed7baaf Update to use new LUCI builders (efoo@chromium.org)
  https://crrev.com/e47ac15d93b88d76e38e56054a15dfb916b30112 Fix git cl format --python on windows (abenner@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I845d13083c17a07867fcbddd43c1d5620e7da7c8
Reviewed-on: https://skia-review.googlesource.com/c/172065
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-11-20 17:23:04 +00:00
Brian Osman
cfec9d567b Use GrVertexWriter for GrAAStrokeRectOp
Bug: skia:
Change-Id: I2d166ed6c1cb1c13a91526e2f0340623e0436003
Reviewed-on: https://skia-review.googlesource.com/c/171782
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-11-20 17:09:07 +00:00
Mike Reed
ddafa42fdb guard flag, so we can remove it and force clients to opt-in
Bug: skia:
Change-Id: Ia4e5a735d8527ca17a2a19db16205490870510b3
Reviewed-on: https://skia-review.googlesource.com/c/172064
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-20 17:05:08 +00:00
Jim Van Verth
c8429addf1 Add SkImage::MakeFromYUVAPixmaps
Bug: skia:7903
Change-Id: I41ee31ad3657aee372e22ec3e7a0a317e31b2791
Reviewed-on: https://skia-review.googlesource.com/c/171007
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-11-20 16:43:28 +00:00
Brian Osman
e3deee1319 Use a smaller tolerance when chopping conics to quads
In most places we were using 0.25 (maximum distance between the actual
and approximated curves). In these few places, we were using 0.5, which
is enough to produce visible errors.

Added a GM that demonstrated the problem as reported - many of the arcs
with radius ~8 were previously closer to round-rects than circles.

Bug: chromium:888453
Change-Id: I7d22e27773f56174861526dd0223f52a93bf48eb
Reviewed-on: https://skia-review.googlesource.com/c/172060
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-11-20 16:42:04 +00:00
Brian Salomon
343063f338 Add docs about building with clang-cl on Windows.
No-Try: true
Docs-Preview: https://skia.org/?cl=172061
Change-Id: I509ca82707324b49e3c439c0c07a8091ceaf374c
Reviewed-on: https://skia-review.googlesource.com/c/172061
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-11-20 16:25:04 +00:00
Mike Klein
20e2fb2f92 SkBitmapProcState_matrixProcs.cpp refactoring
- Fold in _matrix_template.h
 - Make the NEON/non-NEON distictions a bit more clear.
 - Re-roll routines to their natural stride,
   leaving unrolling to the compiler.
 - Small style changes.
 - Leave some TODOs for another round.

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: Ide4111931aa5f19e23cac77722337ea5d53f72db
Reviewed-on: https://skia-review.googlesource.com/c/172020
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-20 15:55:23 +00:00
skia-autoroll
2fd8987ad0 Roll third_party/externals/angle2 b81ff9e6c518..0e604f9f1107 (1 commits)
b81ff9e6c5..0e604f9f11


git log b81ff9e6c518..0e604f9f1107 --date=short --no-merges --format='%ad %ae %s'
2018-11-20 jmadill@chromium.org ANGLE Perf Test fixes.


Created with:
  gclient setdep -r third_party/externals/angle2@0e604f9f1107

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=csmartdalton@google.com

Change-Id: Id9de7b41eae4cc293c7ce2032ee814d12b7fbcfa
Reviewed-on: https://skia-review.googlesource.com/c/172040
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-20 15:55:03 +00:00
Brian Salomon
b4f37a6a92 Experimentally disable GrTextureOp chaining on Intel GPUs on Mac.
Bug: chromium:906453
Change-Id: Ifbcb35fb491073590837e7a7c69a16024b9aecf6
Reviewed-on: https://skia-review.googlesource.com/c/171910
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-11-20 15:09:41 +00:00
Michael Ludwig
ea24140dee Add writePoint3() to SkWriteBuffer interface.
Change-Id: I900a661f346a10dbd8002bfe383d1705138feb50
Reviewed-on: https://skia-review.googlesource.com/c/146401
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2018-11-20 14:38:01 +00:00
Brian Salomon
574d6165e2 Pass alpha rather than full colors to TextureOps made from image sets.
Bug: skia:8563

Change-Id: Iff1a5544df7f5dfeca3bfa14723ce39e653007eb
Reviewed-on: https://skia-review.googlesource.com/c/171903
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-11-20 13:43:05 +00:00
skia-bookmaker
8be4196e48 Update markdown files
Automatic commit by the Housekeeper-Nightly-Bookmaker bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Ib7eeec0e2e5c71dad3e683446ef67878a4723028
Reviewed-on: https://skia-review.googlesource.com/c/171953
Commit-Queue: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
Reviewed-by: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
2018-11-20 06:00:05 +00:00
skia-recreate-skps
f1b35f428a Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I01c23f9843e6234ef9615b589bbd35957f5fe012
Reviewed-on: https://skia-review.googlesource.com/c/171952
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-11-20 05:55:35 +00:00
skia-autoroll
6bdfb6fba3 Roll third_party/externals/angle2 8a0fb48a56d6..b81ff9e6c518 (2 commits)
8a0fb48a56..b81ff9e6c5


git log 8a0fb48a56d6..b81ff9e6c518 --date=short --no-merges --format='%ad %ae %s'
2018-11-20 jiajia.qin@intel.com ES31: Add std430 encoder.
2018-11-19 ynovikov@chromium.org Vulkan: warn on VK_ERROR_DEVICE_LOST


Created with:
  gclient setdep -r third_party/externals/angle2@b81ff9e6c518

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=csmartdalton@google.com

Change-Id: I73555c782d6831a7f99663f7f39d0314dc2644b0
Reviewed-on: https://skia-review.googlesource.com/c/171980
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-20 03:21:10 +00:00
Ravi Mistry
a63cf8e80a Revert "Temporarily remove Android compile bot from CQ"
This reverts commit f7376330d1.

Reason for revert: Bot is working again

Original change's description:
> Temporarily remove Android compile bot from CQ
> 
> This is to coordinate landing https://skia-review.googlesource.com/c/skia/+/171231
> 
> NoTry: true
> Bug: skia:
> Change-Id: I35994d3b8626308e5e3f2bd63141c42c9b9bfde8
> Reviewed-on: https://skia-review.googlesource.com/c/171720
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Commit-Queue: Ravi Mistry <rmistry@google.com>

TBR=rmistry@google.com,scroggo@google.com

Change-Id: I0a3266fd1b4dd0566bf7e7f297d453d855d76567
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/171961
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2018-11-19 21:19:38 +00:00
Chris Dalton
8fa1625b11 Fix handling of dynamic state in GrAAFillRRectOp
Bug: skia:
Change-Id: Id16684acc209aad943dae25d0077776e4b196453
Reviewed-on: https://skia-review.googlesource.com/c/171960
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-11-19 21:12:01 +00:00
Cary Clark
5369e1422f fix pathops fuzzer timeout
add safety net if it gets
stuck in a loop. Also fix
skia fuzzer latest.

R=kjlubick@google.com

Bug: 906360
Change-Id: Iabb608f615838b6b7ec9e001ec5664e84566c274
Reviewed-on: https://skia-review.googlesource.com/c/171902
Commit-Queue: Cary Clark <caryclark@skia.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-19 20:34:01 +00:00
Chris Dalton
133944a14f Add a dedicated Op for analytic round rects
Adds a GrAAFillRRectOp class that can draw any round rect, including
complex. The Op makes use of instanced rendering and fwidth().

Bug: chromium:860021
Change-Id: I3d8818a003899b56c33d35babe22cd15d3f8e110
Reviewed-on: https://skia-review.googlesource.com/c/170729
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-11-19 19:26:12 +00:00
Cary Clark
b2f8c3eb28 font doc
Prepping SkFont.h so that docs can be generated.
Mostly copying and pasting documentation with
edits to match SkFont conventions.

Added parameter names where missing to public
functions.

In a follow-on CL bookmaker will generate the
corresponding docs/SkFont_Reference.bmh

R=reed@google.com

Bug: skia:
Change-Id: Ib413b07000b368e2ee1b9145da1fca206a07a592
Reviewed-on: https://skia-review.googlesource.com/c/171646
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-11-19 19:07:29 +00:00
Greg Daniel
4065d45d2d Reland "Reland "Have a GrBackendFormat be stored on gpu proxies.""
This is a reland of 2f9a5ea639

Original change's description:
> Reland "Have a GrBackendFormat be stored on gpu proxies."
> 
> This reverts commit 919c9e77c3.
> 
> Reason for revert: Flutter change has landed and fixed memory issue.
> 
> Original change's description:
> > Revert "Have a GrBackendFormat be stored on gpu proxies."
> >
> > This reverts commit 51b1c12bbc.
> >
> > Reason for revert: reverting till flutter gets to 1.1 to fix build issues.
> >
> > Original change's description:
> > > Have a GrBackendFormat be stored on gpu proxies.
> > >
> > > Bug: skia:
> > > Change-Id: Iaf1fb24ab29a61d44e5fa59a5e0867ed02dcda90
> > > Reviewed-on: https://skia-review.googlesource.com/c/168021
> > > Reviewed-by: Brian Osman <brianosman@google.com>
> > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> >
> > TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com
> >
> > Change-Id: I574fdc084ef5994596c51fb0d60423b5dc01b885
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:903701 chromium:903756
> > Reviewed-on: https://skia-review.googlesource.com/c/169835
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> 
> TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com
> 
> Change-Id: Ifd9b6b8e194af9fb9258fa626644e76e6ecf090d
> Bug: chromium:903701 chromium:903756
> Reviewed-on: https://skia-review.googlesource.com/c/170104
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: chromium:903701 chromium:903756
Change-Id: Id1360067d8e928b0a4e1848dae8bc1e7f1994403
Reviewed-on: https://skia-review.googlesource.com/c/171660
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-11-19 18:51:07 +00:00
Hal Canary
6d9a51a75c Fuzz: un-inline some code
Change-Id: I3fd20d2b69d5c3b4b7163c239d65185ce9099c41
Reviewed-on: https://skia-review.googlesource.com/c/171783
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-19 18:44:07 +00:00
Hal Canary
b10f92e207 SkPDF: move font serialization over to new immediate mode.
- SkPDFFont no longer inherits from SkPDFObject.
  - PDFFont reserves a PDFIndirectReference upon creation;
    these are shared.
  - PDFFonts no longer have virtual method and subtypes.
  - PDFFont is moveable so it can be in hashmap.
  - Refer to Fonts by "F"+referenceValue in content.
  - Canon directly owns SkPDFFont objects.
  - Canonicalize Type 3 descriptors.
  - Pre-serialize Type 1 descriptors.
  - SkPDFDocument::emit(const SkPDFObject&) for objects on the stack.
  - SkPDFDocument::registerFont is gone.  Canon is used instead.
  - Replace lots of 'ObjRef' with 'Ref'.
  - Standard PDFTypes that use String now take by value to sometimes
    save ref/unref.

Change-Id: Iff039c79120a903263edfd1f122c7feabc45e2b8
Reviewed-on: https://skia-review.googlesource.com/c/171781
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-11-19 18:39:07 +00:00
skia-autoroll
9e6c6d19d8 Roll third_party/externals/angle2 fde74c078f77..8a0fb48a56d6 (2 commits)
fde74c078f..8a0fb48a56


git log fde74c078f77..8a0fb48a56d6 --date=short --no-merges --format='%ad %ae %s'
2018-11-19 jmadill@chromium.org Vulkan: Suppress functional.shaders.invariance.* on NV.
2018-11-19 matavenrath@nvidia.com Make all single line getter functions in State class inline functions.


Created with:
  gclient setdep -r third_party/externals/angle2@8a0fb48a56d6

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=csmartdalton@google.com

Change-Id: I95f2cfeb0a4adbf5a498dfc2c695cde91a8ecdec
Reviewed-on: https://skia-review.googlesource.com/c/171840
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-19 18:25:37 +00:00
Brian Osman
3d139a4e02 Use half floats for non-normalized color in GrTextureOp
Bug: skia:
Change-Id: Ie681369ef4b1d3d43c326da684afde9ce6d08486
Reviewed-on: https://skia-review.googlesource.com/c/171726
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-11-19 18:20:57 +00:00
Mike Klein
f88f5ef109 simplify nextRange(), fold in nextEnum()
Doesn't look like we need to distinguish these if we just
write them as the simple

   1) load the right number of bytes
   2) clamp to [min,max]

This makes enum fuzzing independent of its underlying type, and may make
it easier to see the mapping from fuzzed byte stream to
nextRange()/nextEnum() values.

Change-Id: I9f785f94f513a0087ad7151b5e7bc14ddbe9314a
Reviewed-on: https://skia-review.googlesource.com/c/171820
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-19 18:04:12 +00:00
Leon Scroggins III
c41a5f58b2 Generate Android Framework host-side Skia (linux)
Bug: b/118742766

Update gn_to_bp to write an Android.bp file that will build a host-side
Skia library.

Switch some methods from SK_BUILD_FOR_ANDROID to
SK_BUILD_FOR_ANDROID_FRAMEWORK.

Prior reviews were done at ag/5482397.

gn_to_bp.py:
- Run GN twice - once for android and once for linux
- Disable GPU (depends on a to-be-written host side GL target) and HEIF
  (which relies on Android hardware) on linux
  - TODO: Turn on GPU on linux
- Split sources into everywhere, android-only, and linux-only.
  It seems that Android.bp does not allow using the same cpp
  file in multiple targets.
  - note that we currently *only* divide out the sources. The cflags are
    the same (except for a couple manual ones) and include
    directories are mostly the same (again, except for manual ones).
    Android has a "gpu" include directory, which I don't expect to
    make a difference to the linux build, which isn't using GPU (yet).
- Use the same "custom empty" font manager on the host as on Android
- Write separate SkUserConfig files; one for android and one for linux.
  This allows libskia to force libraries that use it to use the right
  defines by setting export_include_dirs.
- Add extra checks to SkUserConfig.h to ensure we have only the
  appropriate SK_BUILD_FOR macro defined
- Add host_supported: true for libskia

gn_to_bp_utils.py:
- Switch SkUserConfig.h from include guards to pragma once so it is
  easier to append to the end. This matches how Android generally
  includes headers.

BUILD.gn:
- Add skia_use_fixed_gamma_text so host build can use the same SK_GAMMA
  defines as the device.

SkPreConfig.h:
- Stop making SK_BUILD_FOR_ANDROID_FRAMEWORK imply SK_BUILD_FOR_ANDROID.
  The host build needs the former defined but not the latter.

SkRegion.cpp/.h:
- Make toString() SK_BUILD_FOR_ANDROID_FRAMEWORK so it can be called on
  the host.

SkCamera.h/.cpp:
- Switch methods to SK_BUILD_FOR_ANDROID_FRAMEWORK so they can be called
  on the host.
- Make getCameraLocation*() const. They are logically const, and this
  allows removing a const_cast + TODO in hwui.

Change-Id: I771f825d06380e01c0488fd1c00df1d8a2454dc0
Reviewed-on: https://skia-review.googlesource.com/c/171231
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-11-19 17:51:32 +00:00
Brian Osman
5c8a6b3238 Add helpers to deal with byte vs. half-float vertex colors
GrVertexColor stores either kind of color, and GrVertexWriter does the
right thing. SkColor4fPrepForDst helps to automate the conversion and
pinning. This ensures that colors are already pinned if the device has
no support for half-floats. This way, ops never need to worry about caps,
they can just check if all colors they're batching are normalized.

Bug: skia:
Change-Id: Ie0c15d3b16c6fc93a7f11d284029d77d482a6283
Reviewed-on: https://skia-review.googlesource.com/c/171725
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-11-19 17:32:39 +00:00
Jim Van Verth
dfc738b38c Revert "Reland "Remove use of integers for atlas indexing""
This reverts commit 3ae2cd5ef8.

Reason for revert: Odd issues with fontcache-mt on Vulkan.

Original change's description:
> Reland "Remove use of integers for atlas indexing"
> 
> This is a reland of 3a8f345cf5
> 
> Original change's description:
> > Remove use of integers for atlas indexing
> > 
> > Bug: skia:
> > Change-Id: I7c29e90de6531a35c415f0338e23c176a7293040
> > Reviewed-on: https://skia-review.googlesource.com/c/171233
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Jim Van Verth <jvanverth@google.com>
> 
> Bug: skia:
> Change-Id: Ifb041f74028a119ba410e80cbfaedce34614f90b
> Reviewed-on: https://skia-review.googlesource.com/c/171539
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,bsalomon@google.com

Change-Id: I82fb5073d11b52e35b6f731415e2a87f62bc8edb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/171780
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-11-19 17:15:40 +00:00
Hal Canary
a121183204 SkPDF: move image serialization over to new immediate mode.
Change-Id: If2bd4cd61bc3231edd860b0e08f78a6f24bd3094
Reviewed-on: https://skia-review.googlesource.com/c/171532
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-11-19 16:13:58 +00:00
Mike Klein
f2a7a20b32 clean up SkBitmapProcState a bit
- remove dead code
  - fold some headers back into SkBitmapProcState.cpp
  - misc cleanup

Change-Id: I8706efec086ac9ab5795f59de4a60c8d1bb75a7b
Reviewed-on: https://skia-review.googlesource.com/c/171589
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-19 16:07:37 +00:00
recipe-roller
5bf91dd14d 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/ae6836ecee576f30a16050b84e5e97f69d584851 Fix the option name for gclient setdep. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie8dd093d0aa023032f1fcc2a4f9844b5be63725f
Reviewed-on: https://skia-review.googlesource.com/c/171728
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-11-19 16:02:27 +00:00
Brian Salomon
908bb23983 When outsetting for rect blur fast path use abs of scale factors.
Fixes an issue where negative scales caused an inset rather than an outset.

Add GM.

Bug: chromium:899512
Change-Id: I9164c76da479af80d4f5389b057ec52a946726fb
Reviewed-on: https://skia-review.googlesource.com/c/171641
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-11-19 15:35:42 +00:00
Brian Salomon
8f8995a042 Add single thread assertions to GrResourceCache functions called by GrGpuResource
Resources can call into GrResourceCache on via call stacks that don't include
GrContext.

Change-Id: Ibbea5615e2524e4bc99106cbaeba8fcc7e624215
Reviewed-on: https://skia-review.googlesource.com/c/162163
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-11-19 15:19:00 +00:00
Jim Van Verth
3ae2cd5ef8 Reland "Remove use of integers for atlas indexing"
This is a reland of 3a8f345cf5

Original change's description:
> Remove use of integers for atlas indexing
> 
> Bug: skia:
> Change-Id: I7c29e90de6531a35c415f0338e23c176a7293040
> Reviewed-on: https://skia-review.googlesource.com/c/171233
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

Bug: skia:
Change-Id: Ifb041f74028a119ba410e80cbfaedce34614f90b
Reviewed-on: https://skia-review.googlesource.com/c/171539
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-11-19 15:04:30 +00:00
Brian Osman
b2920f318f Use GrVertexWriter in GrDashOp
Bug: skia:
Change-Id: Ia617d4a159e3e63d10b317d282f75a570a1e1ee5
Reviewed-on: https://skia-review.googlesource.com/c/171647
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-11-19 14:48:58 +00:00
recipe-roller
c91134a50d 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/af3328fc7a75c5462e2d0078b9d59b0a5e5e90c1 Reland "[gclient] Make getdep and setdep to provide builtin vars" (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib41d0754743076cd56c6e5f4510ed594b14c95cc
Reviewed-on: https://skia-review.googlesource.com/c/171722
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-11-19 14:46:38 +00:00
Ravi Mistry
f7376330d1 Temporarily remove Android compile bot from CQ
This is to coordinate landing https://skia-review.googlesource.com/c/skia/+/171231

NoTry: true
Bug: skia:
Change-Id: I35994d3b8626308e5e3f2bd63141c42c9b9bfde8
Reviewed-on: https://skia-review.googlesource.com/c/171720
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2018-11-19 13:43:18 +00:00
skia-autoroll
e7b1a13a1e Roll third_party/externals/angle2 1c6b26a70f93..fde74c078f77 (1 commits)
1c6b26a70f..fde74c078f


git log 1c6b26a70f93..fde74c078f77 --date=short --no-merges --format='%ad %ae %s'
2018-11-18 jmadill@chromium.org Vulkan: Apply point size clamping workaround in NV.


Created with:
  gclient setdep -r third_party/externals/angle2@fde74c078f77

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=csmartdalton@google.com

Change-Id: Ie988e609484e37bdd666c78cdebe0a52bf260fee
Reviewed-on: https://skia-review.googlesource.com/c/171506
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-19 09:24:30 +00:00
skia-recreate-skps
0197913213 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: Ia0329a32a906e9b987e6eb435a44c946e8ffb490
Reviewed-on: https://skia-review.googlesource.com/c/171710
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-11-19 05:40:39 +00:00
skia-autoroll
e22505b4f0 Roll third_party/externals/angle2 778bf09deea4..1c6b26a70f93 (1 commits)
778bf09dee..1c6b26a70f


git log 778bf09deea4..1c6b26a70f93 --date=short --no-merges --format='%ad %ae %s'
2018-11-18 jmadill@chromium.org Roll Chromium deps.


Created with:
  gclient setdep -r third_party/externals/angle2@1c6b26a70f93

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=csmartdalton@google.com

Change-Id: Icb3c7b14a6427a787472342e1fc979167a521324
Reviewed-on: https://skia-review.googlesource.com/c/171505
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-19 00:21:40 +00:00
skia-recreate-skps
def9bcecd9 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I2f94cd27342433495b6ebff9c5178b7c18bf7a4f
Reviewed-on: https://skia-review.googlesource.com/c/171706
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-11-18 08:20:36 +00:00
skia-recreate-skps
66b91e4afb Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I9ffca76764503f896eca182e7d86fd12af0241dc
Reviewed-on: https://skia-review.googlesource.com/c/171702
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-11-18 06:00:03 +00:00
Mike Reed
d017e5138c beef-up paint-vs-font metrics test
Bug: skia:
Change-Id: Ie59ad9707e1fb25ae70b40f07babf37351edb102
Reviewed-on: https://skia-review.googlesource.com/c/171535
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-11-17 23:02:32 +00:00
Mike Reed
1bfdd1adfa align font and paint setup for strikecache access
Bug: skia:
Change-Id: I5e152c9ade2138a7475a7248c6dabff5923f8be8
Reviewed-on: https://skia-review.googlesource.com/c/171652
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-17 21:42:41 +00:00
Herbert Derby
7e9ea391cf Have the SDF MaskFilter convert LCD16 to a distance field.
Change-Id: Ic9e0e9bc67a5963013f35c7e3d9f917f2049cbc4
Reviewed-on: https://skia-review.googlesource.com/c/171651
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-11-17 18:30:34 +00:00