Prevents invalid types from making it to the pipeline stage generator,
when it's too late to do anything.
Bug: oss-fuzz:24542
Change-Id: I8b6fa2afd5d586b0e60bea82e0ec4f3ae43de973
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307656
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Previously one could not color text with paints, even though TextStyle's foregroundColor and
backgroundColor fields are SkPaints. Canvaskit only exposed these as colors in order to allow
SimpleTextStyle to be a value object that would not have to be deleted by the user.
CanvasKit.Paint is a bound SkPaint. I wanted to allow a user to pass a paint to be used
in a text style without alterting SimpleTextStyle's status as a value-object.
So I've added a new bound method, pushPaintStyle which acts just like pushStyle but allows
a foreground and background paint to be supplied which are used to override the existing paints.
The user is responsible for deleting these paints.
Sorry for the kludgy design, if you have got a more elegant way, I'm open to suggestions.
Change-Id: Ib78464171346fe9f717f6d5b9d9428b1d0278498
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307596
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Change-Id: I6709963bae0c69e17f651e9688201f11ceae844e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307700
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
41442cce3d..709472c9dd
2020-08-04 m.maiya@samsung.com Vulkan: Fix variable scope bug during vkCreateInstance
2020-08-03 jmadill@chromium.org Vulkan: Add an overlay counter for descriptor writes.
2020-08-03 jmadill@chromium.org Vulkan: Move Resource Serial gen into Renderer.
2020-08-03 jmadill@chromium.org Trace Tests: Disable timestamp queries.
2020-08-03 jonahr@google.com Metal: Enable EGL_KHR_surfaceless_context.
2020-08-03 nguyenmh@google.com Add vertex array serialization capability
2020-08-03 m.maiya@samsung.com Capture/Replay: Account for EGL_KHR_no_config_context
2020-08-03 nguyenmh@google.com Add texture serialization capability
2020-08-03 lehoangq@gmail.com Metal: Implement EGL_ANGLE_iosurface_client_buffer.
2020-08-03 lehoangq@gmail.com Metal: Enable end2end tests on Intel.
2020-08-03 jonahr@google.com Add entry points for OES/EXT_texture_buffer
2020-08-03 cclao@google.com Vulkan: Set depthStencil loadOp to DontCare when not used and stored
2020-08-03 jmadill@chromium.org Capture/Replay: Use vector for resource maps.
2020-08-03 lehoangq@gmail.com Metal: Fix Intel's LOD clamp and blit shader's filtering.
2020-08-03 jmadill@chromium.org Vulkan: Remove ImageHelper::mSerial.
2020-08-03 jmadill@chromium.org Trace Tests: Scale results based on frames in capture.
2020-08-03 jmadill@chromium.org Vulkan: Clean up ScopedDescriptorSetUpdates.
2020-08-03 nguyenmh@google.com Add shaders and programs serialization capability
2020-08-03 jmadill@chromium.org Rename RenderPass test to performance counter test.
2020-08-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 71573c7f64cb to c967a2ddf18b (8 revisions)
2020-08-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 7ab4564696a7 to 928b7b26bd73 (1 revision)
2020-08-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 2aaa8653da4f to b78f4b1518e0 (2 revisions)
2020-08-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from aa5bd7657e6c to 4568d8587998 (1 revision)
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 herb@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: None
Tbr: herb@google.com
Change-Id: Ic81a5016beb711e93c491290eab56dd649045e99
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307740
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 c2dc572a03.
Reason for revert: Breaking ASAN bot.
Original change's description:
> Revise GrMtlGpu::onUpdateBackendTexture.
>
> * Use main command buffer rather than a temporary
> * Use staging buffer for uploads
> * Set up finishedCallback
>
> Bug: skia:10530
> Change-Id: I73dbf1466ec4a48de8c1dcb741fa1bb6de1cd554
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307230
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=jvanverth@google.com,robertphillips@google.com
Change-Id: Ia20a007942194e8127dff09769fcff5fdef26199
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10530
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307704
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Change-Id: I2ea97fa2fed83fde49155189cd31fee877cd4a69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307698
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This adds support for things like "foo.xxx1", which is equivalent to
"float4(foo, foo, foo, 1)".
Change-Id: Id52111917e30d7dd8ba2e0633074b64d7ac6c72a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/306727
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Use main command buffer rather than a temporary
* Use staging buffer for uploads
* Set up finishedCallback
Bug: skia:10530
Change-Id: I73dbf1466ec4a48de8c1dcb741fa1bb6de1cd554
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307230
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Make the rect in the AtlasLocator account for the padding for the different types of atlas entries.
Change-Id: I53ccc1c2aa7c7811379f3bb8555cd9e7060fddf2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307300
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Fixes a bug with alpha-only image shaders not being modulated by paint
alpha (demonstrated by included GM). Compose shaders were the only
thing relaying on the old behavior, so make those manually unpremul the
input color, with a comment explaining the rationale.
This makes runtime shaders (and other new FPs) simpler to reason about:
sampling a child shader always produces a premul color, even if that
child is null (eg, the input color).
Bug: skia:10556
Change-Id: Ie629a9129d04ea80dae0b263c3811ca754202aab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/306947
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
The majority of existing call sites were automatically updated using
clang-tidy -fix. A small handful required a manual update,
e.g. CppCodeGen.
This check is a bit lenient, and in particular will not flag cases like
`std::unique_ptr<Base>(new Derived())` which is still pretty common
throughout our codebase. This CL does not attempt to replace all the
cases that ClangTidy does not flag.
Change-Id: I5eba48ef880e25d22de80f321a68c389ba769e36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307459
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Change-Id: I027b5e4a8ab737047e9fcd16be8b7597644c7dd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307569
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
We never hit a case where uniforms are large enough to need a uniform
buffer, and we don't support any API version older than iOS 9.0 so the
backup interfaces aren't needed.
Bug: skia:10530
Change-Id: Ia5e2d61243033d30d9010b8890cd7a4fd796cb21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307219
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This is a recent addition to GN that Dawn takes advantages of but which
Skia's GN toolchain didn't implement yet.
Bug:
Change-Id: I7a592bd4663db5c9726767bedf46c38d9c86ed2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307576
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Change-Id: Ibb296dde9a412bf7f9de23f08cd4db700843729f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307557
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Putting the entire body of the function into a header risks an ODR
violation.
Change-Id: I6d32df195049058f781defc2aace23a2bbd66150
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307559
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>
Need to notify the underlying pathref if we've made oval or rrect
Bug: skia:9000
Change-Id: I57a801f1fb446b99634d7b028249a812a5a978f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307516
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
I'm hoping that updating depot_tools will fix the Chromium -> Skia roll.
Change-Id: I9bb581e88e4bbffe3ad68adf794e662b76622710
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307137
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
cbd5bee81d..41442cce3d
2020-08-01 syoussefi@chromium.org Autogenerated changes for GL_EXT_multisampled_render_to_texture2
2020-07-31 jmadill@chromium.org Vulkan: Add RenderPass count test.
2020-07-31 cclao@google.com Vulkan: Avoid clearWithClearAttachment if RP command buffer is empty
2020-07-31 syoussefi@chromium.org Fix validation of glFramebufferTexture2DMultisampleEXT
2020-07-31 cclao@google.com Vulkan: Make CommandBufferHelper::empty() logic less obtuse
2020-07-31 nguyenmh@google.com Add renderbuffer serialization capability
2020-07-31 jmadill@chromium.org Trace Tests: Fix Win/x86 crash.
2020-07-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 08a3cc4cfbaa to aa5bd7657e6c (3 revisions)
2020-07-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 4400cab64b22 to 71573c7f64cb (8 revisions)
2020-07-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from c6e6597c4f51 to 2aaa8653da4f (5 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 herb@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:1111764
Tbr: herb@google.com
Change-Id: Ib8fc6bf3010522986e011132113ba4e313a58e4a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307485
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://clang.llvm.org/extra/clang-tidy/checks/misc-definitions-in-headers.html
Finds non-extern non-inline function and variable definitions in header
files, which can lead to potential ODR violations in case these headers
are included from multiple translation units.
Change-Id: I5a80d8bddbc7fae97a3b714ac4e376bcefc3b060
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307436
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
https://clang.llvm.org/extra/clang-tidy/checks/readability-redundant-preprocessor.html
-----
Finds potentially redundant preprocessor directives.
- #ifdef .. #endif pairs which are nested inside an outer pair with the
same condition. For example:
```
#ifdef FOO
#ifdef FOO // inner ifdef is considered redundant
void f();
#endif
#endif
```
- #ifndef .. #endif pairs
- #ifndef inside an #ifdef with the same condition
- #ifdef inside an #ifndef with the same condition:
- #if .. #endif pairs which are nested inside an outer pair with the
same condition.
Change-Id: Ic1c745c0755a985e34f77a398686bf36f310acf2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307343
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Gradient colorizers are now sampled via explicit coordinates instead of
by passing coordinate data in a color channel. This change caused the
GrTextureGradientColorizer to become a no-op/passthrough effect.
Change-Id: I5233c93914716cac186b0ea8f5a3698746a89742
Bug: skia:10548
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307298
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
The Y coordinate isn't meant to be interpreted as a coordinate. It's
used as a side channel for the discard signal.
Change-Id: Idbdd470c78c49a8b0a28eb05a93905c95b3282d1
Bug: skia:10548
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307297
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
We only want SkSL to contain fp variables at global scope, and to sample
directly from references to those global variables. Anything else will
confuse our sample-usage analysis, and often leads to asserts in the CPP
or pipeline-stage generators.
Bug: skia:10514
Change-Id: Ie1ef10821c1b2a946a92d050fea45d95569bc934
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/304599
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
GCC intrisics type validation is stricter than the one in Clang, so
passing a uint16x4_t to a function expected to accept float16x4_t
is not valid.
Bug: chromium:819294
Change-Id: I6d68e5458345e78bdb05dd028481fe9cae36c5ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307276
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: Iaaad8178cab2559055589edc96e99d9784a40e53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307222
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>