Commit Graph

45318 Commits

Author SHA1 Message Date
Herb Derby
a6c4a30deb Simplify makeOps API
The index API are no longer needed now that the Geometries
hold pointers instead of indexes.

Change-Id: I940520816ca58959f2c7c415a8f356ea5bf3d293
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255816
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-11-21 17:29:28 +00:00
Mike Klein
313b03ada0 one more stray Valgrind false positive
Still reasoning through that bitfield one, but this is unrelated, and
exactly like the other version.  Clang may decide to branch on `0 ==
strcmp(kChromium, suffix)` before it branches on the result of `3 ==
sscanf(..., suffix)` that only has initialized suffix when it is true.

Change-Id: If76e7b9087b59ddae4249d9f2828c881fa649c8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255418
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-11-21 17:13:40 +00:00
Hal Canary
389c8e9d2d [minor] mark scripts as executable
if a filename ends with `.py` and  the file begins with '#!.*python.*',
make it executable.

Change-Id: I41de516ff37343d3b0979bde9fd61813aec7365c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254439
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-11-21 17:06:27 +00:00
Hal Canary
1ec9a28a28 Replace third_party/gif with new DEPS entry.
- BUILD.gn `gif` optional source_set: use new skia_libgifcodec_path
    code, not third_party/gif code.

  - SkCodec.cpp: use third_party version of SkGifCodec.h.

  - rm src/codec/SkGifCodec.* third_party/gif/*

Original CL: https://review.skia.org/254582

Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP
Bug: skia:9654
Change-Id: Ia0379af70a5ec5656a7d123b8b6816b9fa24eaee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255780
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-11-21 16:57:57 +00:00
Mike Klein
19cb22e3d4 expand float peepholes
I started adding more _imm Ops like mul_f32_imm and noticed that there
was some low hanging peephole fruit here that we can harvest first.

Each of these peepholes I've added is sound in the way that I've
documented, and the div_f32 and mul_f32 peepholes are actively being
hit.  I think it's inevitable that the add_f32 and sub_f32 ones will be
hit eventually too as we expand how skvm is used.

The easiest place to see this in action is
when SkColorFilter_Matrix::program() is passed an opaque color:

    skvm::F32 invA = p->div(p->splat(1.0f), *a)

now leaves invA as splat(1.0f) directly, skipping the premul divide.
We still do the next part checking to see if invA is infinity; more
on that at the end of the CL description.

In this way I think we ought to never need to thread through a
shader_is_opaque parameter to color filters, instead letting the program
builder simply look and see if it is, among any number of other similar
optimizations.

Interestingly, though we may know sometimes the input to
SkColorFilter_Matrix::program() is opaque, as written today we'll never
know if the output is.  Since we don't specialize the code based on the
0/1 values of the matrix, we lose the knowledge that alpha is 1.0f as it
goes through the matrix.  There are two good ways to fix this:

   1) do specialize on 0/1 values of the matrix so that the program
      sees alpha is not changed when alpha is not changed;

   2) wrap today's virtual program() with a base-class non-virtual
      that queries getFlags() & kAlphaUnchanged_Flag to save and restore
      the input alpha, essentially marking any code that changes alpha
      as dead code.

2) is kind of the brute force, trusting version of 1), but does have
the advantage that the generated code need not change.  Still, in this
case of a matrix, I think we'll want to look at 0/1 values anyway...
they'll come up more often than just for the alpha channel.

You can see a mul_f32 peephole happen when the blitter goes to store any
known-opaque color to memory.  We go through some logic like

     alpha_as_byte = round(mul(alpha, splat(255.0f)))

and if alpha is known to be splat(1.0f), we'll now skip that mul(),

     alpha_as_byte = round(splat(255.0f))

I think this is all the strictly viable float peepholes where one
argument is a constant.  Obviously there are lots of peepholes we can
write for int32, int16, and bitwise instructions, and then there's a
whole untapped world of peepholes to explore when _all_ arguments are
constant.  These all-constant peepholes let our program notice that,
e.g., 1.0f < infinity and we can skip that part of the unpremul too, or
that round(splat(255.0f)) == 0xff and we can skip that work.

These all-constant peepholes may not be super important, as anywhere
they can trigger, the instruction must be hoistable: since all arguments
are constant, none depend on loop variables.  But still, nicer to run
once ever at compile time than once per invocation at runtime.  And it's
less code to analzye, less code to JIT, fewer instructions to interpret,
etc.

Change-Id: Ia2dc5af2cfff71a12693a2903f579a57c9302d12
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255616
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-11-21 16:23:33 +00:00
Hal Canary
2dad99092c Replace third_party/gif: Preflight changes
Something is breaking client code in unexpected ways.  Let's try this
piecemeal.

  - skia_libgifcodec_path gn var. Default is
    third_party/externals/libgifcodec.  Anfroid framework uses
    third_party/libgifcodec.

  - skia_use_libgifcodec gn var; defaults to !skia_use_wuffs.  Allow
    disabling both codecs.

  - GN template("optional"): add public_include_dirs, similar to
    public_defines.

  - SK_USE_LIBGIFCODEC, ifdef for skia_use_libgifcodec.

  - SkCodec.cpp: use SK_USE_LIBGIFCODEC

Original CL:  https://review.skia.org/254582

Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP
Bug: skia:9654
Change-Id: I70561f5f945656065e4b318d5fff505961fb0b6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255578
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-11-21 15:19:41 +00:00
Ethan Nicholas
056358a123 Revert "Fixed some GrSkSLFP limitations."
This reverts commit 190157bff2.

Reason for revert: regression in arithmode

Original change's description:
> Fixed some GrSkSLFP limitations.
> 
> This makes it possible to pass more types as uniforms / inputs and fixes an
> issue with non-main functions calling other non-main functions.
> 
> Change-Id: I6b5623b3c967d8219b992a455cc68bb0a29706b8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255300
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=bsalomon@google.com,brianosman@google.com,ethannicholas@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I85d1a10fab072b82f35c9caf2c27b07d380a7bf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255776
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-11-21 15:12:01 +00:00
Greg Daniel
b184e9654d Update failure calls in GrVkMemory and shader creation.
Bug: skia:9603
Change-Id: I8571150bb7efe2f127c00d1a06e77ec8fa905d8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255526
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-11-21 14:44:11 +00:00
skia-autoroll
b4f8540803 Roll third_party/externals/angle2 99bd10b70422..b8e748be6b94 (17 commits)
99bd10b704..b8e748be6b

git log 99bd10b70422..b8e748be6b94 --date=short --no-merges --format='%ad %ae %s'
2019-11-21 b.schade@samsung.com Vulkan: Add an end2end test to log GLES capabilities
2019-11-20 jmadill@chromium.org Update dEQP KHR-GLES31 expectations.
2019-11-20 jmadill@chromium.org Work around dEQP KHR-GLES31 bug with tess/geom support.
2019-11-20 jmadill@chromium.org GN: Make dEQP import libEGL/libGLESv2 as data_deps.
2019-11-20 tobine@google.com Vulkan:Add Swiftshader configs
2019-11-20 jonahr@google.com Clean up dontUseLoopsToInitializeVariables condition
2019-11-20 b.schade@samsung.com Vulkan: Accelerate Texture PBO updates
2019-11-20 jonahr@google.com Add ability to disable all ANGLE features
2019-11-20 courtneygo@google.com Revert "Metal: Enable end2end tests."
2019-11-20 courtneygo@google.com Update expecatations for Program Pipeline tests
2019-11-20 lehoangq@gmail.com Mac: Add dsymutil to DEPS
2019-11-20 jiawei.shao@intel.com OpenGL: Port all Intel-related workaround conditions from gpu_driver_bug_list.json
2019-11-20 syoussefi@chromium.org Vulkan: Remove duplicate shader variation
2019-11-20 lehoangq@gmail.com Metal: Enable end2end tests.
2019-11-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 79afb7620a69..2377845dd216 (6 commits)
2019-11-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 57b4cb40b21d..2ee9aaa288d9 (3 commits)
2019-11-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src c2bd11586919..720c5deb0244 (11 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=robertphillips@google.com
Change-Id: Ie82f5b417c56a6fe31e48190e16c22c05573ce5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255724
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-21 06:23:53 +00:00
skia-autoroll
b5fdb67fae Roll ../src 0db96f99f73d..137e8082047a (617 commits)
0db96f99f7..137e808204


Created with:
  gclient setdep -r ../src@137e808204

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

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
Bug: None
TBR=robertphillips@google.com
Change-Id: I7c29c6ea10916a0d0a06129df9f86f484fe24e3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255726
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-21 04:55:03 +00:00
skia-autoroll
2b3b17304b Roll third_party/externals/swiftshader 7e11f46ddf8e..f2c9ce1e08ed (9 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/7e11f46ddf8e..f2c9ce1e08ed

git log 7e11f46ddf8e..f2c9ce1e08ed --date=short --no-merges --format='%ad %ae %s'
2019-11-20 awoloszyn@google.com Fix xcb library name.
2019-11-20 sugoi@google.com Remove unused depth buffer quad layout logic
2019-11-20 sugoi@google.com Fixed 3D image copy
2019-11-20 sugoi@google.com Remove depth+stencil formats from the Blitter
2019-11-20 bclayton@google.com Reactor: Move print apis out of core reactor header.
2019-11-20 bclayton@google.com Reactor: Remove the CallSupported capability.
2019-11-20 bclayton@google.com Reactor: Add ConstantData() and member function calling
2019-11-20 bclayton@google.com Reactor/Traits: Swap the naming of CToReactorPtr and CToReactorPtrT.
2019-11-20 bclayton@google.com Reactor/Traits: Fix brokenness with CToReactor::cast of pointers.

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=robertphillips@google.com
Change-Id: I40a47fb91b52489cd8e2e62a4b5bda0439eb502a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255725
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-21 04:51:53 +00:00
recipe-roller
4e02555087 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/2e2f58756d1c3a4f96271776279c99e85b4f3369 depot_tools: Run auth, cipd_bootstrap, git_number tests on python3. (ehmaldonado@chromium.org)
  https://crrev.com/589d4563baa8c6b5bfbcab884d9d56e8e37e981a depot_tools: Run watchlists tests on Python 3 (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id94b87486f342a53b63206bb9445a2778758735f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255696
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>
2019-11-21 01:33:03 +00:00
Herb Derby
2984d2601e Remove device paths from SubRun
The ability to have device paths was removed a while ago.
Remove the code for device paths.

Change-Id: I09418eaa464b040c7bb13eac2e167997363e49d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255530
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-11-21 01:09:53 +00:00
Mike Klein
2885ac3fe4 support 2 immediates
We support ops with up three arguments today, all three of which can be
registers, or one can be an immediate.  Extend this to allow up to two
immediates, fitting the uniform?? ops much better than my old 16-bit
hack.

(The next thing on my mind is adding Op::extract_imm where both the
shift and now too the mask are known to be immediates.)

This refactor lets me straighten out the kinks of some ops, mainly the
uniform?? ops and extract.  Things should generally now use x,y,z in
that order: most of the old immediates are now immy, and we use immz
only where we've already used the y register or immy immediate.

Small renaming isImm() -> isSplat().  I think this helps mutually
distinguish splat instructions, constants held by skvm instructions
(immy,immz), and constants as used by the JIT or assembler (still
generally `imm`).

Change-Id: I540a22a01459a39a499801362023ced7f2d6f49c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255538
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-20 23:26:03 +00:00
Mike Klein
69fd5e0101 fix SKVM_PERF_DUMPS
I broke this adding VTune support.

Change-Id: I53399a8717c86cce9864a0fe96decec828c75737
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255617
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-20 23:13:53 +00:00
Hal Canary
ce4693fb19 Revert "public.bzl: update to replace Gif with Wuffs"
This reverts commit 3e0aa84a55.

Reason for revert: try to fix g3 roll

Original change's description:
> public.bzl: update to replace Gif with Wuffs
> 
> Also, do away with complex exclude rules.  Explicit is often better.
> 
> Change-Id: I1d945c237a179f6db2552742fdf9e067d6d9eaf9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254578
> Commit-Queue: Hal Canary <halcanary@google.com>
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Auto-Submit: Hal Canary <halcanary@google.com>

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

Change-Id: I7909840ef9d206718c3ac0483b555f5d2306a04f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255581
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-11-20 21:44:04 +00:00
Robert Phillips
7cd0bfe769 No longer ref count GrGeometryProcessors
This CL is 100% plumbing. We ultimately want all GrPrimitiveProcessor-derived objects to not be refCounted. This will make several helper objects POD and, by putting them into an arena, will make managing their lifetime easier (e.g., for DDL prePreparing).

Note: the CCPR GrGeometryProcessor-derived classes only ever appear on the stack so aren't forced into arenas.

Bug: skia:9455
Change-Id: Ib9be503d2fbf8c2578642df93fc301156629829d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255304
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-11-20 21:36:52 +00:00
skia-autoroll
d95243b55f Roll skia/third_party/skcms 2914b63d6886..68d3f3a95f1b (1 commits)
https://skia.googlesource.com/skcms.git/+log/2914b63d6886..68d3f3a95f1b

git log 2914b63d6886..68d3f3a95f1b --date=short --no-merges --format='%ad %ae %s'
2019-11-20 brianosman@google.com Add more diagnostic output to ICC profile dumps

Created with:
  gclient setdep -r skia/third_party/skcms@68d3f3a95f1b

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC robertphillips@google.com,mtklein@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux-blink-rel

Bug: None
Change-Id: Id6161785af72c9b37680a1f264cecbb9ff4ef2ac
TBR=robertphillips@google.com,mtklein@google.com
TBR=robertphillips@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255475
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-20 20:59:02 +00:00
Hal Canary
f7cb902904 Revert "Replace third_party/gif with new DEPS entry."
This reverts commit 6d29bfbfcd.

Reason for revert: try to fix g3 roll.

Original change's description:
> Replace third_party/gif with new DEPS entry.
>
>   - skia_libgifcodec_path gn var. Default is
>     third_party/externals/libgifcodec.  Anfroid framework uses
>     third_party/libgifcodec.
>
>   - skia_use_libgifcodec gn var; defaults to !skia_use_wuffs.  Allow
>     disabling both codecs.
>
>   - BUILD.gn `gif` optional source_set: use new skia_libgifcodec_path
>     code, not third_party/gif code.
>
>   - GN template("optional"): add public_include_dirs, similar to
>     public_defines.
>
>   - SK_USE_LIBGIFCODEC, ifdef for skia_use_libgifcodec.
>
>   - SkCodec.cpp: use third_party version of SkGifCodec.h.
>
>   - src/codec/SkGifCodec.*, third_party/gif/*: remove files.
>
> Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP
> Bug: skia:9654
> Change-Id: Ie22d2bb7e52322fd3eedb97015f3aec2ce5e3402
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254582
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>

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

Change-Id: I427e1a073c0574e1502b6196873ac3001a22250b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9654
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255534
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2019-11-20 20:54:44 +00:00
Hal Canary
82c13311fa BUILD: libgifcodec: fix flutter build
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian9-Clang-arm-Release-Flutter_Android
Change-Id: If6790e7084f2cc8a9acf759184a52d1fdcb9b793
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255531
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-11-20 20:48:59 +00:00
John Rosasco
8077e1fdf9 Use system-temp storage.
Change-Id: I723902c552541a7c8db70f153c73a51d2e29a5bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255397
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-20 20:47:42 +00:00
Jason Simmons
6405340609 Find and cache font family lists and the typeface lists that they map to
If none of the families in the requested list are available, then use the
platform default font family.

Change-Id: If0c69febb112c660f96a768cea8d3ae6b35ea68a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255311
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2019-11-20 20:23:51 +00:00
Mike Klein
4a627011ea SkReader32::setMemory() requires 4-byte alignment
We've just been getting lucky that the char[] was 4-byte aligned.

Change-Id: I550be24b0e6f074a38ef002b6b10fbdc5cdfcf2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255557
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-11-20 20:20:10 +00:00
Michael Ludwig
73dbea669b Specialize vertex writing function for common quad VertexSpecs
Change-Id: I204f04596809e1e33f20b67b454cdd0e1f269630
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255303
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-11-20 19:58:11 +00:00
recipe-roller
40be66115b 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/50696684f7a84ed5e64e1b35d07b627d30db4c51 roll out new goma client binary (ukai@google.com)
recipe_engine:
  https://crrev.com/2a3717d7299123f93cc91c42c8a492838e8ec03b Stop accepting None in with_user or with_tags (garymm@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id5233af5b9b10c91169afd49fa3ee67e54405de4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255529
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>
2019-11-20 19:56:39 +00:00
Greg Daniel
d034c62efb Various fixes for supporting failures in VkPipeline and cache creation.
Bug: skia:9603
Change-Id: I971852cc913382ee17fdc9c8b3dfc04f7fe8c14b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255518
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-11-20 19:27:24 +00:00
Hal Canary
6d29bfbfcd Replace third_party/gif with new DEPS entry.
- skia_libgifcodec_path gn var. Default is
    third_party/externals/libgifcodec.  Anfroid framework uses
    third_party/libgifcodec.

  - skia_use_libgifcodec gn var; defaults to !skia_use_wuffs.  Allow
    disabling both codecs.

  - BUILD.gn `gif` optional source_set: use new skia_libgifcodec_path
    code, not third_party/gif code.

  - GN template("optional"): add public_include_dirs, similar to
    public_defines.

  - SK_USE_LIBGIFCODEC, ifdef for skia_use_libgifcodec.

  - SkCodec.cpp: use third_party version of SkGifCodec.h.

  - src/codec/SkGifCodec.*, third_party/gif/*: remove files.

Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP
Bug: skia:9654
Change-Id: Ie22d2bb7e52322fd3eedb97015f3aec2ce5e3402
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254582
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-11-20 19:07:00 +00:00
Greg Daniel
9841a61e90 Update GrVkImageView to handle failure of VkImageView creation.
Also deleted GrVkBufferView which isn't used anywhere.

Bug: skia:9603
Change-Id: Ia5a2cefe06a1e27a7d126990ea20a9d663d89c0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255308
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-11-20 19:06:59 +00:00
Jim Van Verth
da4d857fbe Fix for Metal framebufferOnly MSAA texture.
We can't create a GrMtlTextureRenderTarget in any situation where
framebufferOnly is true as we can't sample or copy from it. Creating
it as a plain GrMtlRenderTarget still allows the resolve while
restricting any other read.

Bug: skia:9573
Change-Id: I3316cb7402ddf12ddc7a7dab0efb16c1e5b3d804
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255527
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-11-20 19:01:55 +00:00
Hal Canary
3e0aa84a55 public.bzl: update to replace Gif with Wuffs
Also, do away with complex exclude rules.  Explicit is often better.

Change-Id: I1d945c237a179f6db2552742fdf9e067d6d9eaf9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254578
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
2019-11-20 19:01:54 +00:00
Leon Scroggins III
b5a4004a3e Add arm64 Wuffs perf bots
Bug: chromium:1023191
Bug: skia:8235

Chromium has detected a performance regression on the Nexus 5x when
switching to Wuffs. Benchmark Wuffs on Nexus 5x to help isolate and
fix the problem.

Change-Id: I36a13845ec83290d640263499ec4e5aca7b1239a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255080
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-11-20 18:56:51 +00:00
skia-autoroll
cdd774104c Roll skia/third_party/skcms 8d45badce994..2914b63d6886 (1 commits)
https://skia.googlesource.com/skcms.git/+log/8d45badce994..2914b63d6886

git log 8d45badce994..2914b63d6886 --date=short --no-merges --format='%ad %ae %s'
2019-11-20 brianosman@google.com Add another interesting profile to the test corpus

Created with:
  gclient setdep -r skia/third_party/skcms@2914b63d6886

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC robertphillips@google.com,mtklein@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux-blink-rel

Bug: None
Change-Id: Ie1313213d513435a70616583f49a9de87f58c2ed
TBR=robertphillips@google.com,mtklein@google.com
TBR=robertphillips@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255536
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-20 18:56:50 +00:00
Robert Phillips
9233e0c593 Revert "Reland "Enable msaa ccpr on vulkan""
This reverts commit 935a35d972.

Reason for revert: Trying to get Chrome to roll

Original change's description:
> Reland "Enable msaa ccpr on vulkan"
> 
> This is a reland of cb73b6250e
> 
> Original change's description:
> > Enable msaa ccpr on vulkan
> >
> > TBR=egdaniel@google.com
> >
> > Bug: skia:9643
> > Change-Id: Ie06891734b700c940b996a63c7b1264ce0f2597c
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254808
> > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > Auto-Submit: Chris Dalton <csmartdalton@google.com>
> 
> Bug: skia:9643
> Change-Id: I2537f03fad41ebddabbae94312b3836f7a948639
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255008
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=egdaniel@google.com,csmartdalton@google.com

Change-Id: I008735a96bf306f693ce334fab202e71815e2a0e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9643
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255523
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-20 15:20:20 +00:00
Robert Phillips
93d2837e00 Revert "Block MSAA CCPR on NVIDIA without mixed samples"
This reverts commit c6a278aa71.

Reason for revert: Trying to get Chrome to roll

Original change's description:
> Block MSAA CCPR on NVIDIA without mixed samples
> 
> We are still seeing problems on the GTX660. It's not crashing, but
> still is producing incorrect renderings. For now let's just block MSAA
> CCPR completely on non-mixed-sampled NVIDIA.
> 
> Change-Id: I505281cc0731f3c106cbb4c685d41f801955d648
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255416
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com

Change-Id: Ice3995e8a87be084bc5847dd4b3ada1de1a1aaf1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255522
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-20 15:19:10 +00:00
Hal Canary
3e2ecd205f SkQP: remove unused script
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP
Change-Id: Ic61d4aad5b903d3fe48183606a22234a45bf9a9d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255517
Reviewed-by: Hal Canary <halcanary@google.com>
2019-11-20 14:54:44 +00:00
Eric Boren
23f0b1512a [infra] Use CIPD packages from infra repo
Includes recipe hack because Kitchen introduced a directory level:
https://chromium-review.googlesource.com/c/infra/infra/+/1446288

Change-Id: I1afe43ea75964a2940e561f8d2bbfda3dd1f57e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255256
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-11-20 14:02:48 +00:00
Kevin Lubick
4a5f4f26f6 [canvaskit] Include direction from getRects
Change-Id: Iab27d2c9fa602be0bb1f9125eef0e4271b9d5874
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255306
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2019-11-20 13:27:22 +00:00
Ben Wagner
f4fcbd4290 Add additional GCC Builds using Docker
Bug: skia:9632
Change-Id: If487a89a5750d6493bca3e841837a0a71b01c554
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254797
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-11-20 12:59:08 +00:00
skia-autoroll
f9291b8942 Roll third_party/externals/angle2 e4b3136913c6..99bd10b70422 (13 commits)
e4b3136913..99bd10b704

git log e4b3136913c6..99bd10b70422 --date=short --no-merges --format='%ad %ae %s'
2019-11-20 tobine@google.com Vulkan:Disable AtomicCounterBuffer tests on Vulkan
2019-11-19 flibitijibibo@gmail.com Headers: Add EGLAPI to SwapBuffersWithFrameTokenANGLE
2019-11-19 courtneygo@google.com Vulkan: Ensure consistent limits for texture & framebuffer
2019-11-19 mihu@microsoft.com EXT_multisampled_render_to_texture clean up and prep for 2DMultisampleArray.
2019-11-19 syoussefi@chromium.org Skip crashing KHR tests on Nvidia
2019-11-19 shrekshao@google.com Skip TextureNorm16Test on Nexus6P
2019-11-19 tobine@google.com Add support for gl_HelperInvocation
2019-11-19 courtneygo@google.com Add suppressions for failures on Intel/Linux
2019-11-19 flibitijibibo@gmail.com GN: Make X11 optional, based on a user-defined variable.
2019-11-19 lehoangq@gmail.com Metal: support texture's incomplete image definitions.
2019-11-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src c3f22f7cba60..57b4cb40b21d (1 commits)
2019-11-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src e2441190bb0c..c2bd11586919 (2 commits)
2019-11-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader aba1020d3914..79afb7620a69 (5 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=robertphillips@google.com
Change-Id: I5b55452cc4ecfa45702a621508a7485dd2574932
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255448
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-20 06:23:38 +00:00
skia-autoroll
3574b9002e Roll ../src b659e40a3998..0db96f99f73d (373 commits)
b659e40a39..0db96f99f7


Created with:
  gclient setdep -r ../src@0db96f99f7

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

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
Bug: None
TBR=robertphillips@google.com
Change-Id: Ic1102d589ecc25aa1f06b14c843ef5c4650918f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255450
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-20 04:43:08 +00:00
skia-autoroll
2fbc686aa4 Roll third_party/externals/swiftshader 79afb7620a69..7e11f46ddf8e (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/79afb7620a69..7e11f46ddf8e

git log 79afb7620a69..7e11f46ddf8e --date=short --no-merges --format='%ad %ae %s'
2019-11-19 bclayton@google.com Reactor: Split Traits.hpp into Traits.hpp and Traits.inl

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=robertphillips@google.com
Change-Id: I5ac7776ada637c4fa9603188cc5fec1811dcacab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255449
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-20 04:35:38 +00:00
Mike Klein
f4a0f57e30 drop sse4.1 limit on valgrind bots
I think we may not need this limit since 3.15.0 added f16c support.

Cq-Include-Trybots: skia.primary:Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_PreAbandonGpuContext,Perf-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind,Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind,Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext
Change-Id: I4de547069ca0c77f2208c86f995496880df75d36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255342
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-11-20 02:00:08 +00:00
Ethan Nicholas
190157bff2 Fixed some GrSkSLFP limitations.
This makes it possible to pass more types as uniforms / inputs and fixes an
issue with non-main functions calling other non-main functions.

Change-Id: I6b5623b3c967d8219b992a455cc68bb0a29706b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255300
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-11-20 00:19:28 +00:00
Mike Klein
17e2714c9f skip _imm ops on ARM
These are really designed around x86, so forcing them
on ARM where our existing non-immediate ops work better
is kind of silly.

Change-Id: I6b66ed0b0a71b335becdcb1d67dec471620542b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254440
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-20 00:08:05 +00:00
recipe-roller
d5743451d9 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.
recipe_engine:
  https://crrev.com/8143132bb9539bb3ab7ba8dc222941c6a0a2f51f [buildbucket] Expose DEFAULT_FIELDS (olivernewman@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I76f132a95714da35422f35e7493579f5e6088060
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255357
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>
2019-11-19 22:50:24 +00:00
Chris Dalton
c6a278aa71 Block MSAA CCPR on NVIDIA without mixed samples
We are still seeing problems on the GTX660. It's not crashing, but
still is producing incorrect renderings. For now let's just block MSAA
CCPR completely on non-mixed-sampled NVIDIA.

Change-Id: I505281cc0731f3c106cbb4c685d41f801955d648
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255416
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-11-19 22:42:34 +00:00
Chris Dalton
e7b8e4144f Don't sync unique keys on ccpr clip FP proxies
CCPR clip masks are never cached, and the clip FP proxies need to
ignore any unique keys that atlas textures use for path mask caching.

Change-Id: I40d0f40c8b1cebbae6798ff95c88cb32616c84a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255143
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-11-19 21:14:04 +00:00
Mike Klein
b9df230d65 initialize to avoid Valgrind false positive
I don't think it makes things any slower, less clear, or less safe to
initialize this `isClosed` variable.  I'd be inclined to leave it this
way even if hypothetically we roll to a newer Valgrind that can analyze
this correctly.

For background see
https://internals.rust-lang.org/t/valgrind-memcheck-false-positive-fixes-for-rust/11166

Change-Id: Ifef9417733824b857d4407c45c92c017d189a8fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255354
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-11-19 21:06:10 +00:00
Greg Daniel
30a35e83b1 Handle failure to submit semaphores in vulkan backend.
Bug: skia:9603
Change-Id: I04bacda40383667b0655c14fba0181fe7d0a51da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255147
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-11-19 21:06:09 +00:00
Jim Van Verth
041aab95b2 Metal: Simplify GrFence to use completedHandler in all cases.
Currently GrFence is used only to determine if the current command
buffer is completed, so we don't need the granularity of MTLSharedEvent.
This makes the implementation of GrFence the same across all versions.

Bug: skia:9589
Change-Id: I2556304362a99a67d12e38144e08e8066a6850a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255302
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-11-19 21:01:05 +00:00