This was confusing, because the return type is a tuple, so we were
constructing a pair, then move-constructing a tuple from that?
Change-Id: Ief74dcd643780abcd5b32292b8977fb92362c982
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300648
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:10419
Change-Id: Ifd93b6cd8acffa78675b3e45134dfa52062b4f7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300102
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
I added the renderTargetContext() method to GrTextTarget so I don't
have to convert the entire call stack over in one CL. In the end,
GrTextTarget and GrRenderTargetContext::TextTarget will be deleted.
Change-Id: I49387737c26b69111050101d9da3380617db2918
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295376
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Based on SkPathOps for now.
Change-Id: Id27c8a235cbd4ab5083735b67cf5d2635ee16cfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300497
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Reed <reed@google.com>
The sample() keyword now allows null fragment processors to be passed
in, substituting the input color when this occurs. The ternary did the
same thing, so it no longer adds value.
Without the ternary, the expression becomes simple enough that it can
fit on a single line, so the temporary variables were removed as well.
Change-Id: I8d0ceb437791a87a4244576a180e8c4eec441f2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300644
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Change-Id: I4931318d3ee25ec6166caceb1c5fe083d590767a
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300645
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This CL makes it explicit that the unit tests always get a direct context.
It is mainly a mechanical CL.
Change-Id: I49e0628851d9c81eb47386ef978edf905c6469d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/299866
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
AE allows animating the line spacing text property [1].
Observed semantics:
- spacing is applied as an offset to all fragments in a line
- for selector/partial coverage, the spacing for a given line
is the average of the computed spacing for each fragment
- spacing is cumulative (applies to all lines following)
Plumb the new animator prop ("ls") and expand the existing line
tracking logic to also apply computed spacing offsets.
(also requires a Bodymovin update to export the line spacing property)
[1] https://helpx.adobe.com/after-effects/using/animating-text.html#text_animator_properties
Change-Id: I5517acea8dbc1b2fbae09cb0874f1e53cd2acb90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300377
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
This should fix the Test.+LottieWeb jobs (which live in
the lottie-ci repo) by including the lottie folder which
is brought in via DEPS and gclient sync.
Change-Id: Iffcd333e4113d95cfa2c9d92bc87aec527cb3f8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300637
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Change-Id: I2498bd8fd41c5ffa47e3b58a74044c0a8784a666
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300638
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Previously, we had no unit test coverage for the Metal `struct Globals`
object. This CL adds simple tests for numeric globals and samplers.
Change-Id: I259c3cf416d5a1a03b1f815cc4c03891d60cbd08
Bug: skia:10382
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300616
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
The code which assembles the globals struct has been factored out to use
a visitor pattern. It is used with two different visitor classes--one
is responsible for building the struct, and another is responsible for
populating the struct. This will ensure that the struct setup and its
initialization are always in 100% lock-step.
Variables that have no default value are initialized via {} which
appears to work exactly like C++, "default value for type."
Unit tests for this code have been added at followup CL
http://review.skia.org/300616
Change-Id: I412df54e2e6b862eb8e9f458d3ffc42158edeee3
Bug: skia:10382
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300256
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Previously, attempting to compile SkSL with samplers that lacked a
layout(binding=...) annotation would generate MSL code containing
[[texture(-1)]] and [[sampler(-1)]], without reporting any errors.
This error mirrors existing messages in `MetalCodeGenerator::
writeUniformStruct` that report missing layout data.
Change-Id: Ib8c4005912301e3cbe6c639d0555ce842803f394
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300636
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Clang and GCC use different syntax to add no_sanitize
attribute on functions. This results in a large amount
of warnings for GCC, because responsible header is included
very often. Use SK_ATTRIBUTE to specify no_sanitize
attribute.
Change-Id: I589a851493788283c13fe4c7fb99eaa7ad753487
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300556
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This updates skiaserve, fm, and the fuzzer
Change-Id: Ia1b447b79723eeab73da11755d28f7ab443d5fbb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300263
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Dash, trim, round, transform and upcoming offset have a lot in common.
Introduce a GeometryEffect base class to consolidate.
TBR=
Change-Id: Ib5556e6ebe416685c624d53ba8591e118aa4f0d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300496
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
caa519ca53..f4025c1cd5
$ git log caa519ca5..f4025c1cd --date=short --no-merges --format='%ad %ae %s'
2020-07-01 xinghua.cao Add interface for enabling 16-bit types (#1091)
2020-06-23 rharrison Roll 5 dependencies and update tests/expectations (#1087)
d385bf096f..d573a95a9c
$ git log d385bf096..d573a95a9 --date=short --no-merges --format='%ad %ae %s'
2020-07-01 post Run format_all.sh.
2020-07-01 post test: Use --hlsl-dx9-compatible when attempting to compile SM 3.0 shaders.
2020-06-30 post GLSL: Fix nested legacy switch workarounds.
2020-06-29 post GLSL: Implement switch on ESSL 1.0.
2020-06-29 post GLSL: Use for-loop fallback instead of do/while for legacy ESSL.
2020-06-29 post Implement context-sensitive expression read tracking.
2020-06-29 post Fix bug with control dependent expression tracking.
2020-06-23 post HLSL: Workaround FXC bugs with degenerate switch blocks.
2020-06-22 dsinclair Roll deps and update tests.
2020-06-22 post MSL: Remove the old VertexAttr API.
2020-06-19 cwallez Fix placement of SPIRV_CROSS_DEPRECATED.
2020-06-19 post Fix duplicated initialization for loop variables with initializers.
2020-06-18 post MSL: Add test case for constructing struct with non-value-type array.
2020-06-18 post MSL: Deal with loading non-value-type arrays.
2020-06-18 post MSL: Add tests for array copies in and out of buffers.
2020-06-18 post MSL: Improve handling of array types in buffer objects.
2020-06-18 post Clean up some deprecation warnings when building with Makefile.
2020-06-18 post Remove unused member in MSLShaderInput.
2020-06-13 cdavis MSL: Fix up input variables' vector lengths in all stages.
2020-06-16 post HLSL: Fix texProj in legacy HLSL.
2020-06-12 git GLSL: Require GL_ARB_draw_instanced for gl_InstanceID in GLSL < 1.40
2020-06-08 post GLSL: Handle the rest of GL_ARB_sparse_texture_clamp.
2020-06-08 post GLSL: Support uint code for sparse residency query.
2020-06-05 post Refactor texture fetch function generation.
2020-06-06 AlexanderMeissner Fix missing switch cases in Y'CbCr conversion
2020-06-04 post GLSL: Implement sparse feedback.
2020-06-04 post MSL: Remove obsolete MSLVertexAttr members.
2020-06-04 post HLSL: Add native support for 16-bit types.
Change-Id: Id4bddf148663b7d53c1f78fec04a0b5abba37164
Bug:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300438
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
cbcc500fa4..bae95f817a
2020-07-03 sdefresne@chromium.org Convert GN libs lists to frameworks
2020-07-03 syoussefi@chromium.org Vulkan: Create sRGB views only when needed
2020-07-02 dpranke@google.com Add missing data deps to angle test executables.
2020-07-02 m.maiya@samsung.com Add end2end test for readonly feedbackloop
2020-07-02 nguyenmh@google.com Serialize framebuffers + compare contexts for CaptureReplayTests
2020-07-02 syoussefi@chromium.org Fix CopyTexture3D test to remove Nvidia workaround
2020-07-02 syoussefi@chromium.org Vulkan: Cleanup extension properties and features
2020-07-02 m.maiya@samsung.com Vulkan: Featurize shadow buffers
2020-07-02 syoussefi@chromium.org Vulkan: Use mipmap hint when generating mipmaps
2020-07-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 7ff733fd65d7 to bda422c594d4 (5 revisions)
2020-07-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from dca47063ccd2 to 57002d0447df (8 revisions)
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 ethannicholas@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
Bug: chromium:1052560,chromium:816629
Tbr: ethannicholas@google.com
Test: Test: ./angle_end2end_tests --gtest_filter=ReadOnlyFeedbackLoopTest*
Change-Id: I244c996af0bdb83bc0fbe1db089c7b09650b0f9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300400
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Change-Id: Ie57fea197778f4b17ca08d2e3022b77f783de927
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298616
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Bug: chromium:1098902
Change-Id: I338464b6364b3e0f614e8e084a2b0382b3b975e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300258
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
ImGui gates the OS clipboard behind a #define to avoid forcing ImGui
apps to link against ApplicationServices if they otherwise wouldn't need
to. In our case this is harmless; our tools already link against Cocoa.
This #define is safe to enable on all platforms.
Context:
29d9394a41
Change-Id: Ice5d027ddc0157c0cfe87a7cc0c064c4fa682425
Bug: skia:10338
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300197
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
GM was updated in:
https://skia-review.googlesource.com/c/skia/+/300172 (Make GM::onGpuSetup take a GrDirectContext)
This CL updates: skpbench, nanobench, and some testing infrastructure.
Only minor changes were made to the unit tests as they will be updated
en masse in a follow up cl.
Change-Id: Ieffc98865d4c9fc73e292d3c807ed4ae2081745a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300220
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This reverts commit c61e35dbc6.
Reason for revert: Breaking builds
Original change's description:
> Switch GN defs on Mac and iOS to use frameworks instead of libs.
>
> GN will be removing support for frameworks in the libs variable, so
> might as well get ahead of it.
>
> Change-Id: I67b118457721975ac2408308438d71172be66592
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300181
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
TBR=mtklein@google.com,jvanverth@google.com
Change-Id: I7b81a92a67181e08ee57bcb184768794281cd37a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300228
Reviewed-by: Jim Van Verth <jvanverth@google.com>
It looked like the mac build worked without this, but it turns out much
further down the pipeline I end up getting:
Undefined symbols for architecture x86_64:
"SkOpts::Init_sse42()", referenced from:
SkOpts::init() in libskia.a(SkOpts_cc0e566366dcb82e419fc25db4f55650.o)
"SkOpts::Init_avx()", referenced from:
SkOpts::init() in libskia.a(SkOpts_cc0e566366dcb82e419fc25db4f55650.o)
"SkOpts::Init_hsw()", referenced from:
SkOpts::init() in libskia.a(SkOpts_cc0e566366dcb82e419fc25db4f55650.o)
"SkOpts::Init_skx()", referenced from:
SkOpts::init() in libskia.a(SkOpts_cc0e566366dcb82e419fc25db4f55650.o)
ld: symbol(s) not found for architecture x86_64
Adding this flag back gets rid of the linker errors which makes sense.
Change-Id: I4b9a2d80daa0f373e64a430c4fb770a9c25c5e80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300224
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This is needed by Test-Debian10-none-GCE-CPU-AVX2-x86_64-Release-All-LottieWeb,
which is run in the lottie-ci project.
Change-Id: Ibc97fb81061ecf3feb99de1c146c307ee6010d9d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300229
Reviewed-by: Kevin Lubick <kjlubick@google.com>
This should, hopefully, clarify the role of onGpuSetup vis a vis onDraw.
The remaining tools are updated in:
https://skia-review.googlesource.com/c/skia/+/300220/ (Update remaining tools to GrDirectContext)
Change-Id: I19d6eec4d16cb9ebad8924763a18225cc871f0f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300172
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
GN will be removing support for frameworks in the libs variable, so
might as well get ahead of it.
Change-Id: I67b118457721975ac2408308438d71172be66592
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300181
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This produces better shaders when using the arithmetic mode filter, for
example.
Change-Id: Ie1e030604c3a9c99122d112603a548b6fe359621
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300209
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: I4204b878a6bbf212e53aaf9e2e8cc9a760233d6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300173
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
It had been previously failing because lottiecap_gold.sh
was not getting set +x
Change-Id: I416d19b8e86b7f1508df385ab086a7bb9cbce501
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300218
Reviewed-by: Eric Boren <borenet@google.com>
External clients will need access to these classes once GrContext
goes away.
This is a purely mechanical CL.
Bug: skia:10441
Change-Id: I7ffeb29d88bcc0f012412fba911e8362d046e24a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300206
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
It now tracks all sample calls of a child (matrix, explicit coords,
pass through). There is now just one registerChild() call, and the
sampling pattern of that child is fully determined by the SampleUsage
parameter.
Change-Id: Iaadcd325fca64a59f24192aadd06923c66362181
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/299875
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
External clients will eventually have to call this to get access
to a direct context from an SkCanvas or SkSurface (which will
only have 'recordingContext' accessors).
Bug: skia:10441
Change-Id: I10e34081277b685fa59d03e1fce1887f3524e0fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300178
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
A variety of modifier key handling issues are addressed in this CL:
- Added a skui::Key for the Super key (this is ImGui's name for command)
- Added OS X event handling for `flagsChanged` (sent when modifier keys
are pressed)
- OS X manually tracks modifier key state and sends key-up and key-down
events to the ImGuiLayer as necessary
- OS X does not send key-up events when hotkeys are pressed, so these
are manually synthesized and sent to ImGui (otherwise hotkeys are
repeated forever)
- Replaced hardcoded Virtual Key valus in OS X code with named constants
- Our custom bitmask type was lacking the ability to XOR
This CL does NOT enable the OS X clipboard; this uses the ImGui internal
clipboard.
Change-Id: I76b55215858bfb6441dbef18ad638426fa8bc073
Bug: skia:10338
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300182
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Adds in the GR_D3D_CALL_ERRCHECK utility macro to avoid this in the
future.
Change-Id: I68112bcccbd8cb9d55ae02e99de954269d0ac4bd
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300176
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>