Bug: b/118742766
This does not change Android.bp or (any) SkUserConfig.h. But it
consolidates the arguments for the different platforms into one method,
which makes it clear what they share and where they differ. It also no
longer sets skia_enable_tools for the non-Android build, where it
doesn't need to be set to true (this makes no difference in the final
output nor the time GN takes to generate JSON).
Change-Id: I22af345aaf3878227d4f42afc2861e49ec2691ec
Reviewed-on: https://skia-review.googlesource.com/c/173238
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Change-Id: Ia400db2b73a8061668e62f8e961538a060b216a1
Reviewed-on: https://skia-review.googlesource.com/c/174282
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Bug: skia:
Change-Id: I11ff57dca2c48519bc3a23e36da01bf40d1b329c
Reviewed-on: https://skia-review.googlesource.com/c/174221
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Bug: skia:8410 chromium:876349
Change-Id: Ib97c82cd165f7e2f2e94c65fc307220b99053df3
Reviewed-on: https://skia-review.googlesource.com/c/174065
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Change-Id: I6eb4469df0315283f96631ff6023170fa80aaa8a
Reviewed-on: https://skia-review.googlesource.com/c/174281
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Whatever nonsense SkPicture::uniqueID() was doing, it doesn't
need to do it. It can just get its unique ID normally.
I've ported SkEventTracer in the straightforward way.
Change-Id: I103e7e05258ad49e1e3f333fc907f039cef3f8c9
Reviewed-on: https://skia-review.googlesource.com/c/174280
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
- Replace sk_memory_order with std::memory_order.
- Remove SkAtomic<T>.
SkPath was the only user of SkAtomic<T>, for its fConvexity and
fFirstDirection fields. I've replaced them with std::atomic types, and
funneled access to them through methods that enforce the relaxed memory
order like SkAtomic<T> did.
For fConvexity, we can use the exisiting setConvexity() and
getConvexityOrUnknown() methods, adding a private const setConvexity()
to mutate convexity from const methods. For fFirstDirection I've added
private setFirstDirection() and getFirstDirection() methods.
Removing SkAtomic<T> means SkAtomics.h no longer needs SkNoncopyable.h.
I've had to update a bunch of other headers that were depending on
transitive inclusion.
Change-Id: Ib238be71a121519db6e970a9a8955834e1298c87
Reviewed-on: https://skia-review.googlesource.com/c/174220
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: skia:
Change-Id: I12bea94bee9d90b92ed640c5b69853cb47d7f2e8
Reviewed-on: https://skia-review.googlesource.com/c/174066
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
66f0d2c1e7..e3e680ca47
git log 66f0d2c1e7b5..e3e680ca47dc --date=short --no-merges --format='%ad %ae %s'
2018-12-04 jmadill@chromium.org Remove State::syncProgramTextures.
2018-12-03 jmadill@chromium.org Copy PDBs in update_canary_angle.
Created with:
gclient setdep -r third_party/externals/angle2@e3e680ca47dc
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=jcgregorio@google.com
Change-Id: I5c691eac187a7c7b00baafa86dc00673e468cbd4
Reviewed-on: https://skia-review.googlesource.com/c/174202
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
35cd7332ab..66f0d2c1e7
git log 35cd7332ab62..66f0d2c1e7b5 --date=short --no-merges --format='%ad %ae %s'
2018-12-03 jmadill@chromium.org Make Framebuffer attachments angle::Subjects.
2018-12-03 jmadill@chromium.org Fix fuchsia build of libfeature_support.
2018-12-03 thakis@chromium.org List vulkan_core.h as input of generate_vulkan_layers_json.py.
2018-12-03 Tom.Tan@microsoft.com Don't copy d3dcompiler_47.dll when build target is Windows ARM64
Created with:
gclient setdep -r third_party/externals/angle2@66f0d2c1e7b5
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=jcgregorio@google.com
Change-Id: I0fadaa2f469972aa8144d239776869a7abaf5e9b
Reviewed-on: https://skia-review.googlesource.com/c/174019
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Also:
- update documentation
- clean up make_apk_list.py; make linter happy
- use fixed-size short hash for apk names
No-Try: true
Change-Id: Ic342bbb5795cec9776c07ec4348779b81ce91d22
Reviewed-on: https://skia-review.googlesource.com/c/173991
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Bug: skia:
Change-Id: I04b6cbfe083c32a25205e04a4b15672d4b678a9c
Reviewed-on: https://skia-review.googlesource.com/c/174063
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: Ief41c0442ce37ba0350d070a66a103095c07083c
Reviewed-on: https://skia-review.googlesource.com/c/172420
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Firefox is the only browser that supports WASM+Source maps
so it's only really useful there.
It allows for profiling to see where time is speant, even
down in the C++ calls. (see the below comment for a screenshot)
Bug: skia:
Change-Id: Ie0380bae9fdea45e1652dd7d2d8036f242087d33
Reviewed-on: https://skia-review.googlesource.com/c/174101
Reviewed-by: Mike Reed <reed@google.com>
This reverts commit 78dc72c1fa.
Reason for revert: No change needed, just have to rebase blink
Original change's description:
> Revert "Share GP implementation between GrFillRectOp and GrTextureOp"
>
> This reverts commit 024e262712.
>
> Reason for revert: Likely responsible for Chrome roll failure.
>
> Original change's description:
> > Share GP implementation between GrFillRectOp and GrTextureOp
> >
> > Bug: skia:
> > Change-Id: I6c71dac4cf88f274a39f121f0b5315e6c5b914c8
> > Reviewed-on: https://skia-review.googlesource.com/c/173700
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
>
> TBR=bsalomon@google.com,brianosman@google.com,michaelludwig@google.com
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: skia:
> Change-Id: Ib3972e6e187c61946901e2cf9ce34c8b4d7e33ea
> Reviewed-on: https://skia-review.googlesource.com/c/173772
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=bsalomon@google.com,brianosman@google.com,michaelludwig@google.com
Change-Id: If3d8a9f7504e1aee34f600aec2d4ee1df01af5e8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/173985
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
This reverts commit b13658891b.
Reason for revert: No change needed, just had to rebase blink test
Original change's description:
> Revert "Send max coverage limit for subpixel rects"
>
> This reverts commit 4b29d42042.
>
> Reason for revert: Actual reason why Chrome layout test was failing
>
> Original change's description:
> > Send max coverage limit for subpixel rects
> >
> > Bug: skia:
> > Change-Id: Ieb702747c48ea70811d6ce780d2e339780f00806
> > Reviewed-on: https://skia-review.googlesource.com/c/173642
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
>
> TBR=bsalomon@google.com,csmartdalton@google.com,michaelludwig@google.com
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: skia:
> Change-Id: I8bb137298393d01906c0b0f44d354e03acb528f5
> Reviewed-on: https://skia-review.googlesource.com/c/173981
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
TBR=bsalomon@google.com,csmartdalton@google.com,michaelludwig@google.com
Change-Id: I280049971f018f6bcb1ed51a07b85f0e7ef4284a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/173984
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Bug: skia:2664
Change-Id: Idf89a511ba1427bf7a1000ba400aeafa215a7258
Reviewed-on: https://skia-review.googlesource.com/c/173993
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Have the subruns carry a pointer to the descriptor they need.
This simplifies the regen code, and makes ARGB fallback more explicit.
Change-Id: If11477cb9ecccc90ae262327e0579f4ab249836e
Reviewed-on: https://skia-review.googlesource.com/c/171586
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
To support external textures vulkan needs to know the actual sampler it
will use at pipeline creation time. Thus we need access to the actual
vkimage and sampler state to know how to make these samplers early.
Bug: skia:
Change-Id: I8492bb283932d6800dbfcc8bc86b3bba947397fe
Reviewed-on: https://skia-review.googlesource.com/c/166281
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
The premise of the TODO here is somewhat wrong. There are other places
where we do pass the destination color space through the ContextRec to
shaders that care... just not here when chosing the top-level blitter.
Change-Id: Ie32cfff5af0328c1280721246194a9eb1f0a5874
Reviewed-on: https://skia-review.googlesource.com/c/174040
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Added a GM that demonstrates the bug. Should draw a blur with
the center masked out, and a circular blurry shape that's
roughly the inverse. On raster, this was already the result.
On GPU, the blurred/eroded layer becomes a subset with an
origin other than (0,0), and that layer was shifted.
I *think* this is the correct fix - we are including 'offset'
in the texture matrices, but that's just based on the crop
rects and adjustments from each filter. We still need to adjust
the texture coords for the subsets themselves.
Bug: chromium:905548
Change-Id: I19c936adad90311aef243a9395a270d2e015df2f
Reviewed-on: https://skia-review.googlesource.com/c/173321
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
This is a reland of 6cd74900da
Original change's description:
> Add support for Ycbcr Conversion Samplers in vulkan.
>
> The only thing missing from this CL is that we need to bake the
> ycbcr conversion samplers into the VkPipeline when we create it. As that
> is a larger change, that will be broken up into a few follow on CLs.
>
> Currently this only supports ycbcr conversion samplers when used with
> external textures.
>
> Bug: skia:
> Change-Id: I23e95b19469093072589ebbbfb7926ab79dcdea9
> Reviewed-on: https://skia-review.googlesource.com/c/164602
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
Bug: skia:
Change-Id: I943398077775ef6396fbe5cb9196d23a29128669
Reviewed-on: https://skia-review.googlesource.com/c/173986
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This reverts commit 4b29d42042.
Reason for revert: Actual reason why Chrome layout test was failing
Original change's description:
> Send max coverage limit for subpixel rects
>
> Bug: skia:
> Change-Id: Ieb702747c48ea70811d6ce780d2e339780f00806
> Reviewed-on: https://skia-review.googlesource.com/c/173642
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
TBR=bsalomon@google.com,csmartdalton@google.com,michaelludwig@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:
Change-Id: I8bb137298393d01906c0b0f44d354e03acb528f5
Reviewed-on: https://skia-review.googlesource.com/c/173981
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This reverts commit 6cd74900da.
Reason for revert: breaking win vulkan bots
Original change's description:
> Add support for Ycbcr Conversion Samplers in vulkan.
>
> The only thing missing from this CL is that we need to bake the
> ycbcr conversion samplers into the VkPipeline when we create it. As that
> is a larger change, that will be broken up into a few follow on CLs.
>
> Currently this only supports ycbcr conversion samplers when used with
> external textures.
>
> Bug: skia:
> Change-Id: I23e95b19469093072589ebbbfb7926ab79dcdea9
> Reviewed-on: https://skia-review.googlesource.com/c/164602
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
Change-Id: Ib56905821cbfd40cf30ec89269b551ce01605a1a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/173982
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
The only thing missing from this CL is that we need to bake the
ycbcr conversion samplers into the VkPipeline when we create it. As that
is a larger change, that will be broken up into a few follow on CLs.
Currently this only supports ycbcr conversion samplers when used with
external textures.
Bug: skia:
Change-Id: I23e95b19469093072589ebbbfb7926ab79dcdea9
Reviewed-on: https://skia-review.googlesource.com/c/164602
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
4abdf74f0a..35cd7332ab
git log 4abdf74f0afc..35cd7332ab62 --date=short --no-merges --format='%ad %ae %s'
2018-12-03 jmadill@chromium.org Refactor test shader style.
Created with:
gclient setdep -r third_party/externals/angle2@35cd7332ab62
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=jcgregorio@google.com
Change-Id: I34a1411cf67c9b18f236ace49d0973df3a850215
Reviewed-on: https://skia-review.googlesource.com/c/173828
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
This reverts commit 024e262712.
Reason for revert: Likely responsible for Chrome roll failure.
Original change's description:
> Share GP implementation between GrFillRectOp and GrTextureOp
>
> Bug: skia:
> Change-Id: I6c71dac4cf88f274a39f121f0b5315e6c5b914c8
> Reviewed-on: https://skia-review.googlesource.com/c/173700
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,brianosman@google.com,michaelludwig@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:
Change-Id: Ib3972e6e187c61946901e2cf9ce34c8b4d7e33ea
Reviewed-on: https://skia-review.googlesource.com/c/173772
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
-- lots more where this came from
Bug: skia:2664
Change-Id: I8bb47f02c156b0b88fbb92fec73af0eb6641b1bf
Reviewed-on: https://skia-review.googlesource.com/c/173769
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
In theory, a convex shape is still convex if transformed by an affine
matrix. However, SkPath segments are specified using floats, and attributes
like collinearity can break under some transforms due to finite precision.
Computing convexity is non-trivial, so there is value in SkPath caching this
calculation. Convexity is useful, as both the CPU and GPU backends can draw
convex shapes faster than non-convex.
To balance these two (fragile float math and value of caching convexity),
this CL invalidates this cached state if the transform could change convexity.
In the general case, it is assumed that convexity could change. Special cases
where it is safe to keep the cached state after transform are:
- identity transform
- scale/translate transform if the path is known to be axis-aligned
All other combinations invalidate the cached state, forcing it to be
recomputed.
"axis-aligned" means the segments in the path are all axis-aligned, horizontal
or vertical (e.g. a rect or rrect)
Bug: 899689
Change-Id: I1381273eaff61d6b7134ae94b4f251c69991081a
Reviewed-on: https://skia-review.googlesource.com/c/173226
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>