On Windows each time the test is run one gets
sk_fopen: fopen("resources\SkVMTest.expected", "wb") returned nullptr (errno:22): Invalid argument
due to 'expected' holding a read lock on the file when trying to open
the same file for writing. Windows locks files aggressively and in this
case there is no good reason to keep the read access when trying to
truncate and write to this file path.
This also changes the logic to only update the file in the error case
when the content would actually change. Previously it seems this file
would be re-written (usually with the same content) every time this test
ran.
Change-Id: I9c96f1e7e0692e57326fec351c7353c423014c9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287381
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This is in response to some Win7 vs Win10 font selection diffs on the compositor_quads_filter GM.
Change-Id: I9564d8a305b0bf773ddb31597b29878e0bc3323d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287796
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This macro was only necessary to support Visual Studio 2013, which did
not yet support %zu format specifiers. Skia no longer compiles on
Visual Studio 2013.
Change-Id: Ie32a66c7a8e022b8596272476ca3547df1f89a55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287738
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
040e4f6fcf..41f7bcce04
git log 040e4f6fcf54..41f7bcce04a8 --date=short --first-parent --format='%ad %ae %s'
2020-05-04 cclao@google.com Vulkan: Add missing cache flush
2020-05-04 jmadill@chromium.org Vulkan: Update VMA integration.
2020-05-04 sugoi@google.com Fix clearing the program's validation-related cache too early
2020-05-04 spang@chromium.org Fix VulkanExternalImageTest on SwiftShader
2020-05-04 jonahr@google.com Fix issue with missing step info in generate_stats.py
2020-05-04 spang@chromium.org Vulkan: Move ICD overrides to a common place
2020-05-04 spang@chromium.org Fix wrong date in ANGLE_external_objects_fuchsia revision history
2020-05-04 cnorthrop@google.com Tests: Add program pipeline object tests
2020-05-04 jmadill@chromium.org EGLWindow: Clean up some init attribute code.
2020-05-04 courtneygo@google.com Implement setBinaryRetrievableHint
2020-05-04 jmadill@chromium.org Expose EGL 1.5.
2020-05-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 694e21400ee5..b798cfa374eb (9 commits)
2020-05-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src c0f34c020d9d..17019fa23604 (2 commits)
2020-05-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src b179a50e9c9c..2f609275c00c (8 commits)
Created with:
gclient setdep -r third_party/externals/angle2@41f7bcce04a8
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 bsalomon@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/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: bsalomon@google.com
Change-Id: I7d09fb63574863ac1706277c5491305a7c2c34c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287729
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 1ed4391fe7.
Reason for revert: Looks like some bad images showed up at gold.skia.org and that the ProcessorCloneTest is crashing on Windows bots:
https://logs.chromium.org/logs/skia/4bfabe0bad476911/+/steps/dm/0/stdout
Original change's description:
> Support large kernels on GPU in matrix convolution effect
>
> Currently matrix convolution falls back to CPU execution for large kernels, due to the argument limit for fragment shaders.
>
> Now for large kernels, we store them in a texture and sample them in a shader to sidestep the limit.
>
> Change-Id: Icc069a701ea8e9cd0adf75f4bfd149fd22e31afd
> Bug: skia:8449
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263495
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Adlai Holler <adlai@google.com>
TBR=robertphillips@google.com,michaelludwig@google.com,adlai@google.com
Change-Id: Iaf4858131046a343481bcf0fd9cc3919d9fc2bda
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8449
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287736
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: I357f9b0d3f2c8315b67a9ead6ddbb6633524ec3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287577
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Change-Id: I68d586b44f3207c330e5c0505659457c9d05074e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287384
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This will drop the atlases after about 128 frames / 24 Hz video ~= 5
seconds of youtube video.
Bug: https://crbug.com/1058905
Change-Id: Idde2f6b4a2c035b3d2f7ca5d0fb556fa7e4c7905
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287599
Commit-Queue: Jonathan Backer <backer@chromium.org>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Jonathan Backer <backer@chromium.org>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
When the src and dst are the same and other threads own all
other refs to the pathref the existing code is unsafe.
Change-Id: I44810877b98d9a365fe82232e3e2288a7111a1ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287616
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Currently matrix convolution falls back to CPU execution for large kernels, due to the argument limit for fragment shaders.
Now for large kernels, we store them in a texture and sample them in a shader to sidestep the limit.
Change-Id: Icc069a701ea8e9cd0adf75f4bfd149fd22e31afd
Bug: skia:8449
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263495
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
This can be done more simply with SkPathRef::Editor::writablePoints.
Change-Id: Icef31bf3a6cc2c8c4ef6da36167c574c73a0d944
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287497
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Change-Id: I0a41c640f1eb423eb3ce53a36055226463991fcd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287004
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
These are flaky on the Quadro bots, leading to errors in the cache
configs (that expect pixel-perfect replays).
Bug: skia:8534
Change-Id: I1ac06f5abbb13955951be9c9a8aad18fe1f00aa6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287382
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: Ic9d9200a7c1346d0e6bd70029331f9213db5e374
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287380
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
While disposing DWriteFontTypeface the base class must be disposed, but
if the resource releases fail before that then they currently return
instead of continuing. This means the DWriteFontTypeface is never
deleted.
Change-Id: I842a74a2ea5141210fae0cbd038f62266156c1c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286816
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
... and a comment to try and prevent any more of these.
Change-Id: I58ddd0523710c66600020e9d4e2b93614a5f9d01
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287379
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: Iab9d4288a54d0743dfbf94f078b206e5df3b5f87
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287378
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Includes all of the vectorized comparisons, as well as the selecting
and lerping variants of mix. The previous implementations of lerping mix
were available based on the compiler front-end, this moves them to the
byte code generator, so they're available in runtime effects (not just
generic interpreter programs).
Change-Id: I88d10c8a18a7e63e49acac8181b687e2b40ad66b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287008
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: Ifccabb59f7cd9faa4bcbfc89785e9ee739a0e076
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286042
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Bug: oss-fuzz:20029
Change-Id: I8fcd6ab6a76dd003f90be6751bb9abaf21b2a0b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286937
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Some new intrinsics were recently implemented in ByteCodeGenerator.
Those are visible to runtime effects via sksl_gpu.inc, but not to
generic interpreter prorgrams - added them to sksl_interp.inc to fix
that. (atan, fract).
length() is similar, but it still had a pure SkSL implementation. Remove
that, so that generic interpreter programs get the builtin version.
All of the others were missing half-precision overloads of existing
intrinsics. These don't matter much, but (I think) prevent confusing
type errors when calling these intrinsics with half-precision arguments
and getting float-precision results.
Change-Id: I87270efc2f0520d1ac2f18eee890147b5b1c93d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287376
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Bug: oss-fuzz:21976
Change-Id: I635b9092bc4a30bb6a23ddcf1430a3ec06b9d598
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287377
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
The previous settings used the ddl-via - which doesn't use threads as effectively.
Change-Id: I82a0632d99c772421afc645f53bb749420275460
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285812
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
df31624eaf..040e4f6fcf
git log df31624eaf3d..040e4f6fcf54 --date=short --first-parent --format='%ad %ae %s'
2020-05-01 tobine@google.com Vulkan: Minor command buffer refactor
2020-05-01 ianelliott@google.com Vulkan: Improve viewport and scissor for pre-rotation
2020-05-01 jmadill@chromium.org Work around strange git cl format issue.
2020-05-01 geofflang@google.com Handle 3D texture entire-mip initialization for FBO attachments
2020-05-01 cnorthrop@google.com Capture/Replay: Refactor default uniform handling for arrays
2020-05-01 tobine@google.com Vulkan: Migrate trace events and occlusion queries
2020-05-01 ynovikov@chromium.org doc: fix link to pre-commit try waterfall
2020-05-01 jmadill@chromium.org Capture/Replay: Use BindAttribLocation to force MEC compat.
2020-05-01 jmadill@chromium.org Validation: Fix some function types.
2020-05-01 jmadill@chromium.org Revert "Add type for attribute locations."
2020-05-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 39281fb710c3..2c53baedbb64 (2 commits)
2020-05-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 49ca250b44c6..2e1d208ed9de (3 commits)
2020-05-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 70eeffc7ca3d..b179a50e9c9c (8 commits)
2020-05-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 98d2cab108ce..694e21400ee5 (5 commits)
Created with:
gclient setdep -r third_party/externals/angle2@040e4f6fcf54
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 bsalomon@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/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: bsalomon@google.com
Change-Id: Idb9e07df50cd93543c2c61ffa1b715e36aeecde5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287198
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
In XPS if a glyph is out of range, ignore it. Also resolve the default
font in the new way, removing the last user of SkTypefacePriv.
In PDF handle fonts with zero glyphs correctly.
Rewrite SkBitSet to keep track of its size, move properly, and make it
more obvious when certain checks are actually made instead of relying on
undefined behavior.
Add a test in a GM to ensure we don't draw anything when a glyph is
out of range on all backends.
Fix the DirectWrite SkScalerContext to pass this new test for
consistency.
Bug: chromium:1071311
Change-Id: I2583970bf1425f59d0d64e3dd7d28109991f9ea9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286776
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
The default Task Driver logging gets in the way on the console, so I've
sent it to /dev/null for local runs. We control the horizontal and the
vertical.
Instead, print out each isolated failure and how to reproduce it:
out/fm -i resources -b cpu -s ducky_yuv_blend #failed:
Resource "resources/images/ducky.jpg" not found.
../tools/fm/fm.cpp:573: fatal error: "Image(s) failed to load."
Signal 5:
_sigtramp (+0x1d)
sk_abort_no_print() (+0x5)
std::__1::__function::__func<...
_GLOBAL__sub_I_fm.cpp (+0x0)
main (+0x12d5)
out/fm -i resources -b cpu --skvm true -s ducky_yuv_blend #failed:
Resource "resources/images/ducky.jpg" not found.
../tools/fm/fm.cpp:573: fatal error: "Image(s) failed to load."
Signal 5:
_sigtramp (+0x1d)
sk_abort_no_print() (+0x5)
std::__1::__function::__func<...
_GLOBAL__sub_I_fm.cpp (+0x0)
main (+0x12d5)
2 runs of out/fm failed after retries.
exit status 1
Bot runs still look ok,
https://task-driver.skia.org/td/TEaSLB6jtmRq5XDBUIwS?ifNotFound=https%3A%2F%2Fchromium-swarm.appspot.com%2Ftask%3Fid%3D4bea6af25506c010
Change-Id: I56adacdaeed5545785a3096a4e495eb524db442f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287017
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This was meant as a "stop" verb for the old iterators. With the new
iterator, it simply leads to more SkUNREACHABLEs and SkASSERTs.
Change-Id: I9edd0cefaf4aff782f753560aebd528ed7f4ec04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287043
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Rename apply() to unary(), then add binary().
Fix unary to calculate N=base-inst+1.
Convert to simpler `auto&& fn` mode by renaming
approx_atan(y,x) to approx_atan2. Now we can pass
functions, lambdas, non-lambda functors, whatever.
Change-Id: I17a6aa137f224edc0accd0509c5023a30980fe39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286900
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>