Commit Graph

38251 Commits

Author SHA1 Message Date
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
skia-bookmaker
73b4a1f572 Update markdown files
Automatic commit by the Housekeeper-Nightly-Bookmaker bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I925a3b021af1a1f0df0e3e019c659879c3499137
Reviewed-on: https://skia-review.googlesource.com/c/171690
Commit-Queue: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
Reviewed-by: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
2018-11-17 06:15:59 +00:00
skia-recreate-skps
cc76f16a8c Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: Ia0e4c8aa4c08809c9d603a5ee41f592fe6817d59
Reviewed-on: https://skia-review.googlesource.com/c/171689
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-11-17 06:11:39 +00:00
skia-autoroll
e25cbbb8e5 Roll third_party/externals/angle2 e4634a13a74d..778bf09deea4 (2 commits)
e4634a13a7..778bf09dee


git log e4634a13a74d..778bf09deea4 --date=short --no-merges --format='%ad %ae %s'
2018-11-16 jmadill@chromium.org Auto-generate validation headers.
2018-11-16 syoussefi@chromium.org Vulkan: Emulate Luminance/Alpha with R8G8B8A8


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

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=rmistry@google.com

Change-Id: Ie724037e44c37972e1787f523f22a25a02f87bb6
Reviewed-on: https://skia-review.googlesource.com/c/171503
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-17 05:25:11 +00:00
Mike Reed
7fb30f11a0 use font for settings
Bug: skia:
Change-Id: Ia1ebd888bf0f0ce9c0c6dfdceff92be59db02a85
Reviewed-on: https://skia-review.googlesource.com/c/171650
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-17 03:32:34 +00:00
recipe-roller
281224020a 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/767024c68dfec7d1047309cc319db36a4297d126 Revert "[gclient] Make getdep and setdep to provide builtin vars" (sergiyb@chromium.org)
  https://crrev.com/c6ffd7af7d84ec354a92a0dc11613ec23cf82c60 Include ARM64 bits into win_toolchain/package_from_installed.py (brucedawson@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If1f633264b5c29a2a827792a5652fbaf889bba20
Reviewed-on: https://skia-review.googlesource.com/c/171649
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-11-17 00:11:29 +00:00
recipe-roller
c217842bdd 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/6343daaa40feeeea0d340b4bcce89790d6037566 [led] Update led to latest version. (iannucci@chromium.org)
  https://crrev.com/801b5ddb145f189f301bc824a6b1ac9c109d480e [DevTools] Add a fetch config for the inspector_protocol. (johannes@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I13db5b5d3c936c182f9d08498f65fa609cdc02cf
Reviewed-on: https://skia-review.googlesource.com/c/171648
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-11-16 23:24:58 +00:00
Michael Ludwig
c182b9470f Use vertex writer for per-edge aa; remove templated tessellate function
Bug: skia:
Change-Id: I5e1014cea7bb869636e6c706f54a2145e58214fd
Reviewed-on: https://skia-review.googlesource.com/c/171229
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2018-11-16 22:50:39 +00:00
Mike Klein
2c8e2bc682 refactor SkBitmapProcState_opts.h a bit
Shouldn't be any major change in here, and the only codegen change
should be the easy-to-predict branch on alpha < 256.  This is mostly
about makings sure I understand and can read the code.

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I3e6260be76595275ba177551cbb8f4a84e4970ec
Reviewed-on: https://skia-review.googlesource.com/c/171585
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-11-16 22:36:18 +00:00
Brian Osman
0dd430242b Use GrVertexWriter in GrSmallPathRenderer
Make TriStrip a templated rect, with a helper for SkRect.
Added writeQuadValue overload for GrQuad.

Bug: skia:
Change-Id: I2934e5dbb086c5dbe0cc4846176bab8ccc324cf6
Reviewed-on: https://skia-review.googlesource.com/c/171534
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-11-16 22:10:09 +00:00
Mike Klein
a2187bf762 port S32_alpha_D32_filter_DX to SkOpts
I'll follow up by moving all the other things that live
in src/opts today into SkBitmapProcState.cpp... they
only use SSE2 or NEON, and don't need runtime detection.

There's lots of refactoring to do here still, and I've
mostly resisted the urge until this code is all in one place.

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Idea34a03c46d79b0fd6fbef1a49aaf27961c8260
Reviewed-on: https://skia-review.googlesource.com/c/171582
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-16 20:33:03 +00:00
Cary Clark
fd32e724d6 bookmaker error handling
Bookmaker will generate instructions on how to
fix detected errors in a few cases:
- if class function is missing description
- if global function is missing description
- if function parameters don't match doxygen
- if function parameters don't match bmh

(The last case above won't happen if bmh #Method
uses #Populate to retrieve parameter descriptions
from the include.)

Adding this revealed that globals weren't always
accounted for in bookmaker's cross-check; fix
that as well.

TBR=reed@google.com
Docs-Preview: https://skia.org/?cl=171224
Bug: skia:
Change-Id: Ic1b41d4722954fa8a42685a8fe7266b8a860c362
Reviewed-on: https://skia-review.googlesource.com/c/171224
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-11-16 20:30:18 +00:00
recipe-roller
4a8073ea11 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/59127a5d394103ae8453b38651ae702955e952d8 metrics: Spell out PII. (ehmaldonado@chromium.org)
  https://crrev.com/8ada4d523eb440c9978390a8a38fe167b576b91e [cipd] Roll cipd to allow long paths on Windows (iannucci@chromium.org)
  https://crrev.com/5705acabe03a84815779adda7c0928b67dfaa6ae [gclient] Make getdep and setdep to provide builtin vars (borenet@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id483968ffbcdc9583cae5eda136c176cb11e8204
Reviewed-on: https://skia-review.googlesource.com/c/171640
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-11-16 20:28:00 +00:00
skia-autoroll
122dd87468 Roll third_party/externals/angle2 c30f45d3f9c1..e4634a13a74d (5 commits)
c30f45d3f9..e4634a13a7


git log c30f45d3f9c1..e4634a13a74d --date=short --no-merges --format='%ad %ae %s'
2018-11-16 jmadill@chromium.org Apply code formatting.
2018-11-16 ynovikov@chromium.org Vulkan: Handle VK_ERROR_DEVICE_LOST
2018-11-16 jmadill@chromium.org Use angle::Result in front-end (Part 9)
2018-11-16 jmadill@chromium.org Fix typo in perf_test_runner.py.
2018-11-16 jmadill@chromium.org Revert "Minor inlining optimization to Context draw calls."


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

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=rmistry@google.com

Change-Id: I2742b10eb098ab2860aa42afa5fac2468626d1c6
Reviewed-on: https://skia-review.googlesource.com/c/171502
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-16 20:19:09 +00:00
Mike Reed
55bdb7c566 Reland "remove dead code around SK_SUPPORT_LEGACY_FONT_FLAGS"
This reverts commit c41a41d67e.

Reason for revert: hmmm, this might still work in Fuchsia...

Original change's description:
> Revert "remove dead code around SK_SUPPORT_LEGACY_FONT_FLAGS"
> 
> This reverts commit 3b155a77c3.
> 
> Reason for revert: breaks fuchsia (needs to roll newer flutter)
> 
> Original change's description:
> > remove dead code around SK_SUPPORT_LEGACY_FONT_FLAGS
> > 
> > Bug: skia:
> > Change-Id: I5a36e6827610c2a429e2f8b36adf432b95993c54
> > Reviewed-on: https://skia-review.googlesource.com/c/171529
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> 
> TBR=reed@google.com
> 
> Change-Id: I37bfab86e4a4243ddd94255aa0b126414bd9e835
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/171536
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I12183ecfb5e17b8919afbce7b42dad2064ee93b3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/171538
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-16 19:41:55 +00:00
Brian Salomon
19ec80fb37 Discard ops that don't have a finite bounds.
Bug: chromium:905782
Change-Id: I2f83d0371dad5d812163cd15af4690983a6e074f
Reviewed-on: https://skia-review.googlesource.com/c/171533
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-11-16 19:38:05 +00:00
Brian Salomon
09181ef042 Fix dst copy bounds for aa draw contained within clip.
Bug: chromium:892988

Change-Id: I615b60facec5724fb3a7c22a2eb59f72790156a3
Reviewed-on: https://skia-review.googlesource.com/c/171001
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-11-16 19:24:04 +00:00
Mike Klein
2d4ba9355e there are no POSTAMBLEs
Change-Id: I2a4792992566f52e5e826fc2e43ae9e1a49217c3
Reviewed-on: https://skia-review.googlesource.com/c/171584
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-16 19:24:03 +00:00
Herb Derby
f7d5d74ad5 Link SubRuns to Runs, and Runs to Blobs.
Currently, the code is passing around all three levels of this data structure.
It will be clear to have SubRun be able to function independantly of the other
two structures by giving it a pointer to call when Run information is needed.

Cleanup: unstructure the flags, and reorder the member values to bottom of
         struct for run.

Change-Id: Idef78d27a781389af19a82f5480725f1674c94b2
Reviewed-on: https://skia-review.googlesource.com/c/171583
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-11-16 19:17:03 +00:00
Mike Reed
9c14ea13c2 Revert "remove SK_SUPPORT_LEGACY_NESTED_HINTINGENUM from flutter"
This reverts commit 449cb53bd8.

Reason for revert: breaks fuchsia (needs to roll newer flutter)

Original change's description:
> remove SK_SUPPORT_LEGACY_NESTED_HINTINGENUM from flutter
> 
> Bug: skia:
> Change-Id: I52abdd614de5367906b934dd95faa13b1d4a8569
> Reviewed-on: https://skia-review.googlesource.com/c/171528
> Reviewed-by: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: Iabedd7ffdedb39de06ef8184ba5cab077051f9cf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/171537
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-16 19:08:08 +00:00
Mike Reed
c41a41d67e Revert "remove dead code around SK_SUPPORT_LEGACY_FONT_FLAGS"
This reverts commit 3b155a77c3.

Reason for revert: breaks fuchsia (needs to roll newer flutter)

Original change's description:
> remove dead code around SK_SUPPORT_LEGACY_FONT_FLAGS
> 
> Bug: skia:
> Change-Id: I5a36e6827610c2a429e2f8b36adf432b95993c54
> Reviewed-on: https://skia-review.googlesource.com/c/171529
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I37bfab86e4a4243ddd94255aa0b126414bd9e835
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/171536
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-16 19:07:58 +00:00
Mike Reed
3b155a77c3 remove dead code around SK_SUPPORT_LEGACY_FONT_FLAGS
Bug: skia:
Change-Id: I5a36e6827610c2a429e2f8b36adf432b95993c54
Reviewed-on: https://skia-review.googlesource.com/c/171529
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-16 18:41:07 +00:00
Mike Reed
449cb53bd8 remove SK_SUPPORT_LEGACY_NESTED_HINTINGENUM from flutter
Bug: skia:
Change-Id: I52abdd614de5367906b934dd95faa13b1d4a8569
Reviewed-on: https://skia-review.googlesource.com/c/171528
Reviewed-by: Mike Reed <reed@google.com>
2018-11-16 18:34:23 +00:00
Chris Dalton
c00e470547 Prefer GrAAConvexPathRenderer over ccpr
Even though ccpr can be faster than the convex renderer for small
paths, there is value in a simpler, more consistent approach. The
convex renderer is single-pass, doesn't deal with caching, and is
unaffected by the less favorable flush pattern in Chrome. We can
address the regressions from this CL by optimizing single-pass convex
path rendering, rather than trying to use ccpr more.

Bug: chromium:860021
Change-Id: I44ceefa43cdad7fb25c620faed8b525901fb1f0c
Reviewed-on: https://skia-review.googlesource.com/c/171525
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-11-16 18:07:58 +00:00
Jim Van Verth
68cfc5ba18 Revert "Remove use of integers for atlas indexing"
This reverts commit 3a8f345cf5.

Reason for revert: Text not drawing.

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>

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

Change-Id: I7da2f34636c7871dfe2b064d9fa511d34d316827
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/171531
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-11-16 18:04:59 +00:00
Mike Reed
8012a2f9ff remove SK_SUPPORT_LEGACY_FONT_FLAGS from flutter
Bug: skia:
Change-Id: I79b85a6b57b2193a5a64798eae3dd44e711dcc12
Reviewed-on: https://skia-review.googlesource.com/c/171526
Reviewed-by: Mike Reed <reed@google.com>
2018-11-16 17:36:05 +00:00
Chris Dalton
07ee63d076 sksl: Add builtinFMASupport to StandaloneShaderCaps
Bug: skia:
Change-Id: I8c32b09d3c4042707c4d6fc957c7bbff41022ce1
Reviewed-on: https://skia-review.googlesource.com/c/171524
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-11-16 16:47:00 +00:00
Brian Osman
a89316d822 Add SkPMColor4fFitsInBytes
Used in upcoming changes to decide between byte and half-float
vertex attributes for Ops that store paint colors in vertices.

Bug: skia:
Change-Id: Idbcc801b15c1d99c604fc393cde18032ae5702c6
Reviewed-on: https://skia-review.googlesource.com/c/170262
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-11-16 16:41:30 +00:00
Mike Klein
d27274ba0a remove _DXDY_ sample procs
Since https://skia-review.googlesource.com/c/skia/+/33180,
we already use SkRasterPipeline for anything past scale+translate.

It looks like the matric procs were removed in
https://skia-review.googlesource.com/c/skia/+/36800/.

Change-Id: Ib70c4c1171bd73b44cedb3954cab9467f940807c
Reviewed-on: https://skia-review.googlesource.com/c/171581
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-16 16:38:19 +00:00
Jim Van Verth
3a8f345cf5 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>
2018-11-16 16:35:04 +00:00
skia-autoroll
68f40d3b0e Roll third_party/externals/swiftshader 000df8b42041..b16f9897a868 (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/000df8b42041..b16f9897a868


git log 000df8b42041..b16f9897a868 --date=short --no-merges --format='%ad %ae %s'
2018-11-16 sugoi@google.com Initial implementation of RenderPass
2018-11-16 sugoi@google.com Initial implementation of Framebuffer
2018-11-16 sugoi@google.com Initial implementation of Image
2018-11-16 sugoi@google.com Initial implementation of ShaderModule


Created with:
  gclient setdep -r third_party/externals/swiftshader@b16f9897a868

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-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:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=rmistry@google.com

Change-Id: I3b6f7085b12898f1948253b56ff7566a43ff9f85
Reviewed-on: https://skia-review.googlesource.com/c/171501
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-16 16:33:13 +00:00