Previously, we'd add UnresolvedFunction symbols wherever the original
FunctionDeclaration was found, but that can alter shared SymbolTables
(e.g. the root table) and the node will not be cleaned up when the
program is deleted. The pooling system expects that any node created as
part of a Program will go away when the Program does.
This change puts the UnresolvedFunction symbol as close to the
FunctionDeclaration as possible without changing builtin symbol tables.
Change-Id: I4c80cfba734047f11b50c86829d95d8e393c3060
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327921
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
This is desired for a short term memory improvement on low memory
devices.
Bug: chromium:1138979
Change-Id: I7df41a9c4d21b7a7f62b738e6358b36dd262f77d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327345
Commit-Queue: Kyle Charbonneau <kylechar@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This flag is set on anything rehydrated and on the root symbol table;
that is, anything that will outlive your Program's tree.
Change-Id: Idd9a167ee69f1fb9e526aecbee733ce1ccb5d265
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327920
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
By the time we do this check, we've consumed all the bytes for the
branchIfAllFalse instruction, so ip is pointing at the next instruction.
If that next instruction is itself the jump target, we classify that as
a backward jump instead of the zero-sized forward jump that it is.
Switching to >= fixes that.
Change-Id: I537131bfb0d213c8407734184b78a510624d60c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327458
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Looks like this code got a little dusty.
Change-Id: Iac0f475abac9d0891e34bba59ddbde3ec63d065a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328176
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
b4fb7cc9ec..2be35682cd
2020-10-18 m.maiya@samsung.com Add sRGBOverrideFormats end2end test
2020-10-18 m.maiya@samsung.com Vulkan: Implement EXT_texture_sRGB_decode
2020-10-18 jmadill@chromium.org Fix VertexAttributeTest.DrawArraysWithBufferOffset.
2020-10-18 jmadill@chromium.org Make Metal shader-gen cross platform.
2020-10-18 lehoangq@gmail.com Metal: don't precompile default shaders.
2020-10-18 jmadill@chromium.org More Mac/AMD/GL dEQP suppressions.
2020-10-17 jmadill@chromium.org Change Android atomic counter tests to skip.
2020-10-17 syoussefi@chromium.org Regression tests for vertex attribute aliasing
2020-10-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 618e41c871d6 to 483a71c5130e (11 revisions)
2020-10-17 timvp@google.com Reland "Vulkan: Fold deferred clears into current clears"
2020-10-17 jmadill@chromium.org Suppress Mac/AMD/GL GLES2 failures with standalone mode.
2020-10-16 timvp@google.com Revert "Vulkan: Fold deferred clears into current clears"
2020-10-16 cnorthrop@google.com FrameCapture: Move shader and program source to shared cache
2020-10-16 jmadill@chromium.org Trace Tests: Add vsync-limited mode with a GPU timer.
2020-10-16 jmadill@chromium.org Perf Tests: Add offscreen mode.
2020-10-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 14ad927e679a to 970c132746b1 (1 revision)
2020-10-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from 1abaced34b84 to ee0de094ddff (1 revision)
2020-10-16 jmadill@chromium.org Suppress Mac/AMD/GL dEQP failures with standalone mode.
2020-10-16 jmadill@chromium.org Remove flaky check in TimerQueriesTest.
2020-10-16 cnorthrop@google.com Capture/Replay: Fix GL_HALF_FLOAT_OES vertex attrib type name
2020-10-16 jmadill@chromium.org Suppress fragment out int tests on Intel/Mac/GL.
2020-10-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 20073b8681d2 to 7e36b15b99a7 (145 revisions)
2020-10-16 lehoangq@gmail.com Metal: autogen blit & clear shaders for integer textures
2020-10-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 312a2b1c9d05 to 20073b8681d2 (419 revisions)
2020-10-16 lehoangq@gmail.com Metal: Support 2D array textures and base & max levels.
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 egdaniel@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/+doc/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
Tbr: egdaniel@google.com
Test: Test: Free Fire MECTest: Test: GLES31/functional_android_extension_pack_extensions_ext_texture_srgb_decodeTest: Test: GLES31/functional_debug_negative_coverage_*_srgb_decode_*Test: Test: GLES31/functional_state_query_sampler_*_srgb_decode_*Test: Test: GLES31/functional_state_query_texture_*_srgb_decode_*Test: Test: PUBG MECTest: Test: angle_end2end_testsTest: Test: angle_end2end_tests --gtest_filter=SRGBTextureTest.*Vulkan*Test: Test: dEQP.GLES31/functional_srgb_texture_decode_skip_decode_*
Change-Id: Ie814a8466e29818a1931b6f00ae5986b59f422a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328078
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 fea12238ed.
Reason for revert: MSAN/SwiftShader failure
Original change's description:
> New variant of SkImage::MakeFromYUVATextures.
>
> Takes a new type GrYUVATextures. This a set of GrBackendTextures and
> SkYUVAInfo that have been pre-validated to be compatible.
>
> Bug: skia:10632
>
> Change-Id: Id252f8662ede0f268e88fd40dc1b0b8f4ab6345f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/317762
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: I5350d4f9b1eda0503fb0af9db8575a734bdc811f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10632
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327922
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
It's just much easier to remember and think about
max(lo, min(x, hi)) than max(min(hi, x), lo), and
both pin NaN to one of the two limits. I'm not sure
if anything in Skia depends on which limit we pin to.
Change-Id: Iceca36a8fffd7072180e82b8b6eb81cbdb5ac97f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327788
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Steps taken to produce this CL:
- add the 'removeFromArgs("svg")' call in dm_flags.go
- run 'make train' in infra/bots directory
Bug: skia:10848
Change-Id: Ie7178e5c2fe446b3727a8b38a61d8205faf5369f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327918
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Takes a new type GrYUVATextures. This a set of GrBackendTextures and
SkYUVAInfo that have been pre-validated to be compatible.
Bug: skia:10632
Change-Id: Id252f8662ede0f268e88fd40dc1b0b8f4ab6345f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/317762
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Change-Id: I70b2fdea570a9091afc81a1455fa61f90b0357a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327786
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Minimized from fuzzer case (rr is amazing). Verified that this test
failed before the fix 712d3a57e "Cannot create SkFontData with no data."
and now succeeds with the fix.
Bug: oss-fuzz:26254
Change-Id: I985ba3ab61e5824d6a61ede04880692ecc69ce44
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327916
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
I experimented with passing in a rectangle and computing a geometric
mean of the scale factors for the 4 corners and center. The downside
to that approach is that callers either know the parameter-space bounds
or the device-space bounds. In the latter case, we have to map by the
inverse CTM, which opens up a can of worms. In practice it seemed using
just the center point worked out just as well.
This also updates the sample to draw the axes in the layer space instead
of parameter space. I found this helps display the scale effects of the
parameter-to-layer matrix better.
Bug: skia:9074
Change-Id: I855c85cdbe1072c451aa3a0601571f2e137e5203
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327624
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Also adds GrGLSLVertexGeoBuilder::appendRawFunctionDefinition(). This
allows us to define functions in vertex and geometry shaders whose names
don't get mangled.
Bug: skia:10419
Change-Id: I90319b54bcbbb7000c7809cb6ce8d1969a3bd8c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327456
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Bug: skia:9074
Change-Id: Icdac64276e0a403950fd990a619d523b0ee784de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/326942
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Bug: oss-fuzz:26254
Change-Id: Ia4ce4eabacbd9811bc0fdf09b509fd69650cce53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327816
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Don't skip deps from modules/. The initial exclusion was added long
ago, when Skottie deps were causing build issues.
Now it doesn't seem to be needed anymore, and it actually gets in the
way (see exceptions for various modules).
Change-Id: Ibb944fc5ab4754bf4006ebb3b75d9d8e5e0d8312
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327620
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
- Reword the comment to explain how it differs from std::clamp().
- Document and test an alternative form using std::{min,max}.
Change-Id: I3a97b98a15303478a5a7ff8d0536829f6d5f1586
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327696
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit db0288d747.
Reason for revert: undeclared tuple size
Original change's description:
> Move all YUVA image creation in GMs into sk_gpu_test::LazyYUVImage.
>
> LazyYUVImage now supports making images from a generator and from
> textures. It uses ManagedBackendTexture to manage texture plane
> lifetime via ref-counting.
>
> Adds some supporting utility functions to SkYUVAInfo and
> SkYUVAPixmaps.
>
> Eases transition of forthcoming MakeFromYUVATextures API change.
>
> Bug: skia:10632
>
> Change-Id: I8cfd747c27076d1627da6ea8a169e554a96049e0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/326720
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,robertphillips@google.com
Change-Id: Icdfb70f7dadd97eace8f88d5a886d31534102f5f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10632
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327622
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
LazyYUVImage now supports making images from a generator and from
textures. It uses ManagedBackendTexture to manage texture plane
lifetime via ref-counting.
Adds some supporting utility functions to SkYUVAInfo and
SkYUVAPixmaps.
Eases transition of forthcoming MakeFromYUVATextures API change.
Bug: skia:10632
Change-Id: I8cfd747c27076d1627da6ea8a169e554a96049e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/326720
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Move the SVG rendering code to modules/svg, and componentize.
Also split into include/src/utils.
As external clients still reference the old header locations,
introduce temporary forwarding headers to facilitate the migration.
This reverts commit d6cf56fd34.
TBR=
Change-Id: Ibadd7c8dc0464ec0c27841530ade0c2098305d20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327344
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Step one is to make it private -- only skottie needs it at the moment
Stpe two is to modify pathops to use builders, and then we can likely
remove it shrinkToFit entirely (since builder.snapshot() is already snug).
bug: skia:9000
Change-Id: I9126bcb6fc2094fbeede2acb1f211b0ab771feba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327341
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
This reverts commit 6fc4106a9d.
Reason for revert: Blocking the Android roll
Original change's description:
> [svg] Relocate out of experimental
>
> Move the SVG rendering code to modules/svg, and componentize.
> Also split into include/src/utils.
>
> As external clients still reference the old header locations,
> introduce temporary forwarding headers to facilitate the migration.
>
> Change-Id: Ib289dbdcd80c16a01c47805e7242f2e08bebc165
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/326948
> Reviewed-by: Tyler Denniston <tdenniston@google.com>
> Commit-Queue: Florin Malita <fmalita@google.com>
TBR=fmalita@chromium.org,fmalita@google.com,tdenniston@google.com
Change-Id: I386cf77a15a9e1d392029804abaf937dae53f435
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327342
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
64 stack frames is not deep enough when destroying an SkSL program:
http://screen/4RFxPFj7TFXRcTF
Change-Id: I53b151a640a982af7864a17ef0381e231e3fb872
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327338
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
This is enough to let the next runtimecolorfilter filter draw.
Mostly this just apes the cond/mask stacks from SkSLByteCode.cpp.
The point of most interest is that we can skip forward kBranchIfAllFalse
if we make our side effects (stores) conditional.
My reasoning here is that a forward branch-if-all-false instruction must
always be a performance optimization only; it's always got to be safe to
not take the branch, as one of your lanes could very well not be false.
Change-Id: I90dda02489b0de4ee91477a4eb7fe14aeb5c555e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327276
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
There should be no functional changes.
I also address some forgotten changes to canvaskit-wasm-tests.ts
from CLs last week.
Bug: skia:10717
Change-Id: If02f60813af0aa42acd637639e40f4d6d0b38bd7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327157
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Fixes crashes when running vkbert config where we tear down a Vulkan
GrDirectContext before deleting the backing store of a SkSurface
created via MakeBackendRenderTargetSurface.
Bug: skia:10843
Change-Id: I99ea2266ba14325d3aaac5ee59aa712688fb9329
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327196
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>