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>
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>