This is a 1:1 transliteration, with the skvx code more explicit about
what's going on, the old Sk4px code more abstracted and specificially
designed to work with unorm8 types. It's not as terse, but I think I've
got it equally or more clear?
I haven't changed anything here, but I think it should be pretty clear
how to generalize this up to say, 8 pixels at a time?
Writing this CL has got me pretty strongly considering adding explicit
bit-pun constructors to the skvx::Vec types, given how often I'm finding
them to be useful, particularly between uint32 and 4x uint8.
Change-Id: Ie62340e571258fc82176ae3d6605b1f96695f90e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207722
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
When in GL backend, adds a "Shaders" section to the debug menu.
"Load" scrapes all of the vertex and fragment shaders being used,
then displays them. They can be edited, and "Save" pushes the
results.
Note: It is trivial to trigger an assert by saving a shader that
doesn't compile. I'd like to make the program builder more robust
in a follow-up CL, to fall back to the "real" SkSL, not draw, or
something along those lines.
Change-Id: I841fe2ee76a3c2eae58b64ef587fcbe25b95cc7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206905
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: chromium:946338
Change-Id: I7d78e84ddde32436990f5da5bcd0c6230bb8eaf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207871
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Bug: chromium:948499
Change-Id: I19efe6bb73b0926a79d3ae629a22efa8ea500b18
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207864
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Avoids double-compiling SkTextUtils (with different settings),
which is already in the dependent 'skia' target.
Change-Id: I3f803e7ebcc0787b8b47a85d2a5a52fd8e0778db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207866
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This avoids boilerplate at every call-site (and more are being added
soon) to set up the reader/writer objects.
Change-Id: Idc632932b5a9be8d3164d249abab7dccbb905ca3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207704
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit ae6c5c08be.
Reason for revert: Android still is.
Original change's description:
> clean up SK_SUPPORT_LEGACY_A8_MASKBLITTER
>
> cannot find anyone defining it
>
> Change-Id: Ia93555b4d8fa1c07dd932dc39fe8854518f1455e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207720
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
TBR=mtklein@google.com
Change-Id: Ib9dbcb394f522fe2bd1e5be7a814952cc5d62b88
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207848
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This caused a warning (and therefore error) when building Metal into
Chromium.
Change-Id: I3a40247a438e85977f0afa2cf712151dba8d9290
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207710
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This reverts commit 41d087c262.
Reason for revert: very speculative revert to see if this fixes android roll
Original change's description:
> limit mask drawing to clip bounds
>
> Change-Id: Iab74531614654f241e12d1cd1af14725888580c8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207143
> Reviewed-by: Mike Reed <reed@google.com>
> Auto-Submit: Lee Salzman <lsalzman@mozilla.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
TBR=mtklein@chromium.org,mtklein@google.com,reed@google.com,lsalzman@mozilla.com
Change-Id: Ib848a276cc4bfdf346949acef3e81fd9f8b082a2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207860
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
e6b23e45b3..cfc73cc1af
git log e6b23e45b380..cfc73cc1af5e --date=short --no-merges --format='%ad %ae %s'
2019-04-11 jmadill@chromium.org Correct subImage uses of texture type -> target.
2019-04-11 ynovikov@chromium.org Skip ParallelShaderCompileTestES31.LinkAndDispatchManyPrograms
2019-04-11 syoussefi@chromium.org Vulkan: remove clear depth ability from clearWithDraw
2019-04-11 syoussefi@chromium.org Vulkan: Use render pass loadOp for scissored clears
2019-04-11 syoussefi@chromium.org Vulkan: few more EGL dEQP suppressions on Android
Created with:
gclient setdep -r third_party/externals/angle2@cfc73cc1af5e
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=egdaniel@google.com
Change-Id: I31d6280c47d167ed05dc717dec5e0b865cec9bf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207791
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
f8764798ff..6506f553b3
Created with:
gclient setdep -r ../src@6506f553b3
The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=egdaniel@google.com
Change-Id: Ic6e1b6612b437970e9b657dc525df5e0aec85fde
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207790
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
The two existing external users of SkPaintFilterCanvas always end up
making a copy of the paint when the canvas is in use. As a result, the
extra overhead of doing COW is being wasted. In general, it seems easier
for users to optimize by simply not using the filter canvas when it
won't be making any changes. Also, no users are using the 'Type'.
After users are updated to this new API, the old onFilter can be
removed.
Change-Id: Iee1ce3cd22bce8c00664de078375b105abd7c866
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/149806
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Small cleanup in the mask case to remove cast.
Change-Id: I0867fa80372cc917eae7c1ca84beafd699d8a349
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207705
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
The issue was that a vector != comparison was getting translated into
!all(v1 != v2) rather than any(v1 != v2).
Bug: skia:8960
Change-Id: I9c0dcde7aa721ee093e91d93b84244e689735dd1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207706
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
- be more explicit about casting
- general rewrite for clarity
Cq-Include-Trybots: skia.primary:Test-Win2016-MSVC-GCE-CPU-AVX2-x86_64-Debug-All-MSRTC
Change-Id: I924d6d247e6b9afcefb27c690715fdad84635a5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207721
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
cannot find anyone defining it
Change-Id: Ia93555b4d8fa1c07dd932dc39fe8854518f1455e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207720
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Bug: skia:8975
Change-Id: Id45738b178b108593cf931ac236505901e97330a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207680
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: Iab74531614654f241e12d1cd1af14725888580c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207143
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Lee Salzman <lsalzman@mozilla.com>
Commit-Queue: Mike Klein <mtklein@google.com>
These replicate the base logic of Sk4px::Wide::div255() and
Sk4px::approxMulDiv255(), and will come in handy replacing them.
No platform specializations yet... want to remind myself what
codegen they get from these vanilla versions first, and then
I'll fill in the platform specific stuff as needed. The tests
should cover everything pretty exhaustively.
Change-Id: I5854d1bc0902a85cbb2351f669c4da7cc31a8775
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207683
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Change the name, and add the atlas limit parameter.
Change-Id: Ic718d06d483667d7a341b74c280bc3fd016289ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207314
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
We think there are some seemingly minor codegen improvements (pmovzxbw
instead of punpcklbw) when compiling for SSE 4.1 that might actually be
a bigger deal speed-wise than they'd seem.
Also rewrite using SkVx in a way that should scale well up to AVX2.
Change-Id: Ie7c0194dc4fe9fe81c1c932187c0bb00da69190b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207260
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Lee Salzman <lsalzman@mozilla.com>
An FcConfig has the concept of a sysroot against which file names should
be resolved. Add support for this so that it is possible to use
relocatable FcConfigs. Also adds a test that this works.
Change-Id: I523d5fb1233830434a88dc52b27728aaf83bb5a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206278
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Bug: skia:8243
Change-Id: Ic95aefa7f08ff3f931923dd57faab0e2ceeb03e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207309
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
f39b4f0280..e6b23e45b3
git log f39b4f0280ef..e6b23e45b380 --date=short --no-merges --format='%ad %ae %s'
2019-04-10 ynovikov@chromium.org Skip Texture2DTestES3.TextureImplPropogatesDirtyBits on Win AMD GL
2019-04-10 jonahr@google.com Use ANGLE's gpu_info_util libraries for test expectations
2019-04-10 ynovikov@chromium.org Skip EGLSurfaceTest.SwapInterval on Nexus 5X and 6P GLES
2019-04-10 jmadill@chromium.org Minor update to auto-roller infra docs.
2019-04-10 syoussefi@chromium.org Vulkan: update GLES3 and EGL expectations
2019-04-10 spang@chromium.org Vulkan: Expose GL_EXT_memory_object_fd & GL_EXT_semaphore_fd
2019-04-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src d90aae9a5a6c..82ebbbba15c2 (2 commits)
Created with:
gclient setdep -r third_party/externals/angle2@e6b23e45b380
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=egdaniel@google.com
Change-Id: I91e964ae97905ae68e9addfe48f86b8eba1754e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207293
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
1b121674f5..f8764798ff
Created with:
gclient setdep -r ../src@f8764798ff
The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=egdaniel@google.com
Change-Id: Id8388e29dbfacd2baac61af8b0d737df30c2d52f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207292
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
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.
recipe_engine:
https://crrev.com/a8a96dca3e5e81e2bfff4b93a2384c8b40a58068 Add commit_position module (nodir@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I3022a22da68d3062fa78f11013227a031602f279
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207365
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
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.
recipe_engine:
https://crrev.com/10a2ec175037ae0a360b7e317ecc9b8ac76e9d95 [buildbucket] Print builder ids (nodir@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib844817cb32747184a5b97ed2838566c32756535
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207364
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
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.
recipe_engine:
https://crrev.com/cc7c58088b474b95483beaf4b41a3028121e4f7b [scheduler] Read current triggers (nodir@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I643ad06f0668ce8c78c7efe776bc44bd4e41a414
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207363
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
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.
recipe_engine:
https://crrev.com/166a0650c2d951e45118581b5fa442940a675a13 Add recipe_proto OWNERS (nodir@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic011ac4b0bee4296a9604b4b1df16e334d108df4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207362
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
This is to match the current features of SkSurface::flush and to prepare
for adding additional features to flush.
Bug: skia:8802
Change-Id: I5d68272e1277b416af357e6ffaf426841ceda943
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207301
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
On Windows, exported types always have their constructors,
destructors, assignment operators, etc... generated, including
exception handling. This can require stricter rules about usage of
forward declared types. Ensure that we build correctly in that
environment (with both MSVC and Clang).
Change-Id: I119c368fcf3f0e55acce7b8f9183eca3ae1851fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207223
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
These changes let us build a non-official component build on Windows,
using either MSVC or clang
Change-Id: Ia3279aa19e007e70ff28925ff70a0bfe8144d96f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207307
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>