Before this you'd need to set the bundle name to launch the app
via the Xcode debugger. With this it's set automatically.
Change-Id: Ic84a6c8ba020580d5ff4afa9c104efbc2360b60e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334898
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Another small step in removing SkCanvas::flush
Change-Id: I6f17edcd1996e1009dad7cc96a97be3b0c4664f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334417
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Will be used Chrome to convert subsampled info to k444.
Bug: skia:10632
Change-Id: Ife9bdf3a28aeb6db1de063539a8b1664bdcbdb5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334958
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
9eff989526..60570b859f
2020-11-14 timvp@google.com Update emulated_prerotation_ to emulatedPrerotation
2020-11-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from e2b55419a370 to be6ccb9ecaf7 (1 revision)
2020-11-14 syoussefi@chromium.org Fix texture buffer width query
2020-11-14 timvp@google.com Metal: Suppress TransformFeedbackTest::BufferOutOfMemory()
2020-11-13 syoussefi@chromium.org Fix texture buffer unbind and size query
2020-11-13 senorblanco@chromium.org Wrap a paragraph in DevSetup docs to 100 chars.
2020-11-13 senorblanco@chromium.org Fix some apostrophes, because I'm possessive like that.
2020-11-13 timvp@google.com Vulkan: Suppress VkSubpassDescriptionDepthStencilResolve
2020-11-13 timvp@google.com Add test running flag: --delay-test-start
2020-11-13 senorblanco@chromium.org Fix EGL_ANGLE_platform_extension* filenames in DevSetup docs.
2020-11-13 jmadill@chromium.org Revert "Roll glslang from 142cb87f803d to beec2e4a7c4d (12 revisions)"
2020-11-13 cnorthrop@google.com Tests: Add Real Commando Secret Mission trace
2020-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from df1edd1738a6 to 67d0fc6389ff (2 revisions)
2020-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 142cb87f803d to beec2e4a7c4d (12 revisions)
2020-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 4ed9d3498dcf to e4c1a25cc679 (16 revisions)
2020-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from a927c079f7db to 28c8eb1aa6b4 (519 revisions)
2020-11-13 syoussefi@chromium.org Vulkan: Fix deferred clears vs swap
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 lovisolo@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: lovisolo@google.com
Test: Test: KHR-GLES31.core.texture_buffer.texture_buffer_parametersTest: Test: TextureBufferTestES31.QueryWidthAfterBufferResizeTest: Test: TransformFeedbackTest.BufferOutOfMemory/ES3_MetalTest: Test: angle_perftests --gtest_filter="*real_commando_secret_mission*"Test: Test: dEQP-GLES31.functional.state_query.texture_level.texture_buffer.width_*Test: Test: dEQP-GLES31.functional.texture.texture_buffer.state_query.texture_buffer_size_integer
Change-Id: Id0fcbdfcd7db640235e6405b89a96225e8d20826
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335016
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
This prevents OOMing when given a pathological input, but is large
enough that almost all inputs should continue to compile as-is.
Change-Id: If5c46711b886ee08495bfd09af537e9dc7ea5649
Bug: skia:10945, oss-fuzz:27442
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334838
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
This is needed to help ease the migration from SkImageFilters::Paint,
until image shaders always force you to embed sampling options.
Change-Id: Id8dc8c3196a7935073677a5fbb8d35c3bd22f9ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333757
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Both of these have variants with mixed scalar/vector parameters. Ensure
that all parameters are vectorized, or we fail SPIR-V validation.
Bug: skia:10913
Change-Id: I1a5be7fc02695e4c7047b5b9c3c08d12b2071e21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334896
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
In practice, the inline threshold does a good job of limiting the
blast radius here.
Change-Id: I495184116e733262ea9d84fec30885ea047ca116
Bug: skia:10945
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334597
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This fixes a fuzzer crash in Metal.
Private types aren't meant to be used directly; we can't generate a
valid MemoryLayout for them. We will now detect them during IR
generation and report an error. (Note that unreferenced structs
currently don't have any IR representation at all, so structs have to be
used somewhere in the code to trigger the error.)
Bug: oss-fuzz:27288
Change-Id: I432f0a69fbb54cd33ff5b90a9f3d4757a9370117
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334830
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Without an early return, the inliner tries to inline a function inside
of itself, eating up gigabytes of memory before hitting its inline
threshold.
This normally wouldn't be possible because functions are meant to be
fully assembled before they're added to the list of ProgramElements, so
the inliner shouldn't find a function as a candidate to be inlined into
itself at all. However, the fuzzer found that an existing function
could be extended by re-declaring it; in this case, it is findable as
a ProgramElement and becomes inlinable.
Change-Id: I4c02a7b52e4b75151b75c94cb70dfadb8e4c9e6b
Bug: oss-fuzz:27442
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334556
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Command lines with delimiters are a simpler approach; they don't require
a scratch file to be created and parsed. (I didn't consider this
approach until after implementing worklists.)
This also fixes a minor issue with result codes when processing multiple
files at once; in particular, unit tests can ignore compile errors, but
regular fragment processor compilation should treat compile errors as
fatal and stop the build.
Change-Id: I3f153e7670d757c6b021bf60a260a2cd3f2090aa
Bug: skia:10919
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334428
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
To help stage clients away from SkFilterQuality
Change-Id: Icf9d192880caa16a82f9774cc99c97e096f8e678
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334162
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Also inline some helper functions into newer factory method
that are no longer shared.
Bug: skia:10632
Change-Id: I466c59f668d882802087acad1ec1f229505a3377
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334596
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Add 2 lottie files given by wearos.
Measure startup time.
Measure total time for 7 seconds starting from second frame.
Test: Ran tests on wearos and android.
Change-Id: I87ddcd116df0cd39df42636cca518a91c3be0329
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300044
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
This reverts commit fc4fdc5b25.
Reason for revert: Google3 and ASAN failures
Change-Id: I890cd76109c0375391637f879550837d01e650f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334840
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
This reverts commit 4fdf9f9ce5.
Reason for revert: Google3 and ASAN failures caused by the prior
change, which this depends on.
Original change's description:
> SkAnimatedImage: Use fSampleSize
>
> Bug: b/163595585
>
> This will allow using less memory when decoding an animated GIF by
> sampling at decode time. This is tested by the animated_image GMs.
>
> Change-Id: I748b2180827623e4ca1fc0fd4d6dd02733b3b5f2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333226
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
TBR=djsollen@google.com,scroggo@google.com
Change-Id: I0d30ada4eba2302ce0c5f85b1174d0618ae0f589
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/163595585
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334839
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Rather than adding unique Modifiers to a vector and then returning
vector indices as opaque Handle objects, we can instead add them to an
unordered_set and return back the address of the object inside the set.
This removes a lot of complexity and saves an indirection.
STL unordered_sets guarantee pointer stability, so this is safe:
https://en.cppreference.com/w/cpp/container/unordered_set/insert
"If rehashing occurs due to the insertion, all iterators are
invalidated. Otherwise iterators are not affected. References are not
invalidated."
Change-Id: I580cad12b3711d490baab417affb8895f7fa18e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334598
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
47b3db22be..9eff989526
2020-11-13 syoussefi@chromium.org Sensible default for --emulated-pre-rotation on rotated targets
2020-11-13 syoussefi@chromium.org Faster stack traces on Linux
2020-11-13 syoussefi@chromium.org Vulkan: Fix incorrect reordering of barriers
2020-11-13 jmadill@chromium.org Vulkan: Move device queue management to CommandQueue.
2020-11-13 jmadill@chromium.org Vulkan: Merge async command queue features.
2020-11-13 jmadill@chromium.org Vulkan: Move CommandBuffer management to RendererVk.
2020-11-13 jmadill@chromium.org Vulkan: Merge CommandQueue and TaskProcessor.
2020-11-13 syoussefi@chromium.org Fix texture buffer validation w.r.t to non-existing buffer
2020-11-13 jmadill@chromium.org Vulkan: Align CommandQueue and TaskProcessor.
2020-11-13 timvp@google.com Vulkan: Suppress VkSubpassDescriptionDepthStencilResolve
2020-11-12 cclao@google.com Vulkan: Let RewriteInterpolateAtOffset use FlipRotateSpecConst
2020-11-12 jmadill@chromium.org Vulkan: Align submit and serial management code.
2020-11-12 jmadill@chromium.org Vulkan: Remove queue/device wait idle in favor of finish().
2020-11-12 timvp@google.com Vulkan: Skip copy_tex_image_conversions.* on Pixel 2
2020-11-12 cclao@google.com Reland "Vulkan: Let shader use rotation specialized constant"
2020-11-12 cclao@google.com Vulkan: Factor out DriverUniform code to tree_utils/DriverUniform.cpp
2020-11-12 jmadill@chromium.org Vulkan: Remove in-flight commands lock in TaskProcessor.
2020-11-12 jmadill@chromium.org Vulkan: Move vk::CommandQueue to RendererVk.
2020-11-12 m.maiya@samsung.com Vulkan: Disable OES_shader_multisample_interpolation
2020-11-12 jmadill@chromium.org Perf Tests: Add mutex around trace events.
2020-11-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from f635feea18cb to e2b55419a370 (1 revision)
2020-11-12 timvp@google.com Revert "Suppress RenderbufferBlitFramebufferTest"
2020-11-12 timvp@google.com Revert "Suppress Additional MultisampledRenderToTextureES3Test"
2020-11-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from a61d07a72763 to 1cda495274bb (1 revision)
2020-11-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from ca966cfbaa65 to a927c079f7db (518 revisions)
2020-11-12 jmadill@chromium.org Tests: Fix async queue feature comparision.
2020-11-11 timvp@google.com Suppress BestPractices-vkCreateDevice-specialuse-extension
2020-11-11 timvp@google.com Suppress Additional MultisampledRenderToTextureES3Test
2020-11-11 m.maiya@samsung.com Vulkan: Support VK_KHR_image_format_list for PbufferSurfaces
2020-11-11 timvp@google.com Suppress RenderbufferBlitFramebufferTest
2020-11-11 timvp@google.com Suppress VulkanPerformanceCounterTest::DepthStencilTextureClearAndLoad
2020-11-11 jmadill@chromium.org Improve stack backtraces on Linux.
2020-11-11 jmadill@chromium.org Vulkan: Enable async feature in end2end_tests.
2020-11-11 timvp@google.com Revert "Vulkan: Let shader use rotation specialized constant"
2020-11-11 jmadill@chromium.org Revert "Created test and fixed texture storage bug in d3d11"
2020-11-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 902580740a6e to ca966cfbaa65 (459 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 jlavrova@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: jlavrova@google.com
Test: Test: MultisampledRenderToTextureES3Test.RenderbufferBlitFramebufferTestTest: Test: PbufferTest.ClearAndBindTexImageSrgb*VulkanTest: Test: VulkanPerformanceCounterTest.DepthStencilTextureClearAndLoadTest: Test: dEQP.KHR_GLES31/core_texture_buffer_texture_buffer_errors
Change-Id: Iae725a028a0500f87532d53d8803e8f5c847c74e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334660
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
The deprecated ones can be removed when the polymer debugger is gone.
Change-Id: I351f1c691d7a95fea594c7e001f9b16c15d216a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334160
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Bug: b/163595585
This will allow using less memory when decoding an animated GIF by
sampling at decode time. This is tested by the animated_image GMs.
Change-Id: I748b2180827623e4ca1fc0fd4d6dd02733b3b5f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333226
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Bug: b/160984428
Bug: b/163595585
Add support to SkAndroidCodec for decoding all frames with an
fSampleSize, so that an entire animation can be decoded to a smaller
size.
dm/:
- Test scaled + animated decodes
SkAndroidCodec:
- Make AndroidOptions inherit from SkCodec::Options. This allows
SkAndroidCodec to use fFrameIndex. (It also combines the two versions
of fSubset, which is now const for both.)
- Respect fFrameIndex, and call SkCodec::handleFrameIndex to decode
the required frame.
- Disallow decoding with kRespect + fFrameIndex > 0 if there is a
non-default orientation. As currently written (except without
disabling this combination), SkPixmapPriv::Orient would draw the new
portion of the frame on top of uninitialized pixels, instead of the
prior frame. This could be fixed by
- If SkAndroidCodec needs to decode the required frame, it could do so
without applying the orientation, then decode fFrameIndex, and then
apply the orientation.
- If the client provided the required frame, SkAndroidCodec would need
to un-apply the orientation to get the proper starting state, then
decode and apply.
I think it is simpler to force the client to handle the orientation
externally.
SkCodec:
- Allow SkAndroidCodec to call its private method handleFrameIndex. This
method handles decoding a required frame, if necessary. When called by
SkAndroidCodec, it now uses the SkAndroidCodec to check for/decode the
required frame, so that it will scale properly.
- Call rewindIfNeeded inside handleFrameIndex. handleFrameIndex calls a
virtual method which may set some state (e.g. in SkJpegCodec). Without
this change, that state would be reset by rewindIfNeeded.
- Simplify handling a kRestoreBGColor frame. Whether provided or not,
take the same path to calling zero_rect.
- Updates to zero_rect:
- Intersect after scaling, which will also check for empty.
- Round out instead of in - this ensures we don't under-erase
- Use kFill_ScaleToFit, which better matches the intent.
Change-Id: Ibe1951980a0dca8f5b7b1f20192432d395681683
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333225
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Makes the Metal backend more consistent with the other backends,
and allows new init parameters to be added without significantly
changing API.
Added updated sk_cf_obj because I needed some of its functionality.
Bug: skia:10804
Change-Id: I6f1dd1c03ddc4c4b702ea75eff14bc0f98ab5ad2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334426
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
A crop is invalid if it is empty/unsorted or does not intersect with
the image. Android (the only known client of the cropping API) will not
pass such a rectangle to the API, but this prevents other clients from
passing an invalid rectangle.
Change-Id: I09e007ecd378c358a1c604aff518035090f1e0a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333224
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Make a parallel constexpr set of functions for bit log and power
functions. These are labeled as *_portable.
Change-Id: I40cca37eb3e75c496638d8b58d622467dd692b27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333657
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Bug: skia:10914
Bug: b/163595585
In a WebP image, it is possible to combine animation with an EXIF
orientation. While SkAndroidCodec attempts to handle orientation itself
by decoding into temporary memory and then drawing through a matrix,
this doesn't work directly when compositing a P-frame into a prior
frame. SkAnimatedImage already uses an SkMatrix to handle cropping and
scaling, so update that matrix to include the orientation.
Make SkAnimatedImage a friend of SkAndroidCodec. This allows the former
to have the same ExifOrientationBehavior specified by the latter, and to
recreate the latter so it does not try to handle the orientation itself.
Clip SkAnimatedImage to its bounds. Android's AnimatedImageDrawable
performs its own clip, but this makes a crop rect work for other
clients.
Update getCurrentFrame to take cropping, scaling, and orientation into
account. This method is used by CanvasKit, which does not use cropping
or scaling, but will now properly orient an animation with an EXIF
orientation.
Add a GM that exercises the various combinations of ways SkAnimatedImage
can be used:
- via newPictureSnapshot (as in Android) versus getCurrentFrame
- scaling down to a dimension that can be output from the
SkAndroidCodec, versus up, which SkAnimatedImage scales
- with a crop rect
- with a post processor
Change-Id: If1854e9aea23fc4afddf75d39132b38e3fbc6071
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333223
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
MASK_FORMAT_UNKNOWN was shared state between glyphs, and
SkScalerContext making hard to reason about.
Change-Id: Ifb70bcc288bc46905de5f2c32891c940a0b2a11f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334157
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This is a reland of 26ad8ccdec
... now with MSAN support.
Original change's description:
> add ERMS (enhanced rep mov/sto) SkOpts slice
>
> Intel's got two CPUID bits indicating the speed of rep mov/sto
> (memcpy/memset),
>
> - ERMS, Enhanced Rep Mov/Sto, older, large copies are fast?
> - FSRM, Fast Short Rep Mov, newer, small copies are fast?
>
> ERMS has been around a long time on Intel, but is relatively recent on
> Ryzen, and FSRM is new across the board. The startup cost for
> ERMS-but-not-FSRM copies really is noticeable, so we cut over to the
> previous SSE/AVX routines when N is small.
>
> I've left the memset benchmarks as I found them most useful when
> tuning the small/large cutoff in this CL.
>
> Change-Id: I3ac4e3f34796aba0ea86aabbe9dda7526919456a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/332580
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
Cq-Include-Trybots: luci.skia.skia.primary:Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Release-All-MSAN
Change-Id: Ia293bba90022c48c884599331ef35aa67644729b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334343
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Bug: skia:10913
Change-Id: Id9f2b14ca7443b3375036d588849bc9a20d76e40
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334156
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
So we don't incidentally measure the cost of the copy
Change-Id: I6f7e2119792423b0857764b3b557a9f838bb43fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334423
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
This completes all of the "Angle and Trigonometry Functions"
Made the graphs larger in the GM, and laid them out to make better use
of space. Also changed how the shaders are assembled to support
two-argument functions (at least partially).
Bug: skia:10913
Change-Id: I3ae6288f76fb9b3200c843595b065a6afbf92230
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334416
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Previously, we would instantiate skslc twice, and clang-format once, for
each fragment processor. We now batch all the work into a single
invocation of each tool--skslc is called once with a worklist file, and
clang-format is asked to clean all the generated files at once. This
will improve build times very substantially on Windows, and should
provide a small benefit on Mac/Linux as well.
Change-Id: I97ac1f22bf19298dfac1c02e1a28a106cfc8491d
Bug: skia:10919
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334420
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>
skia_deps are inherited by libhwui, so this previously enabled building
libhwui on Windows. But this would require a libnativehelper variant on
Windows. Disable the libhwui Windows build until then.
Reenable windows builds for libskia and its tools (via skia_tool_deps).
Add a comment describing the proper way to update Android.bp.
Test: m
Test: mmm external/skia
Bug: b/172649321
Author: mast@google.com
Change-Id: I9b2dba455f25e4582bb359d660fbd78fe67da976
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334048
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Jerome Gaillard <jgaillard@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Martin Stjernholm <mast@google.com>
I was curious to try r22 out today and it needed these small tweaks,
which should be compatible with r21d. I'll hold off on the actual
upgrade until r22 is out of beta.
Builds using the NDK compilers (r21d or r22 both) don't even need the
remaining --sysroot flag, but keeping it lets GOMA builds using Chrome's
compilers keep working.
Change-Id: Ic30cb9e00fe91179ca219999a9f3131ace61f753
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334396
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit 26ad8ccdec.
Reason for revert: gonna need to teach MSAN about this to reland.
Original change's description:
> add ERMS (enhanced rep mov/sto) SkOpts slice
>
> Intel's got two CPUID bits indicating the speed of rep mov/sto
> (memcpy/memset),
>
> - ERMS, Enhanced Rep Mov/Sto, older, large copies are fast?
> - FSRM, Fast Short Rep Mov, newer, small copies are fast?
>
> ERMS has been around a long time on Intel, but is relatively recent on
> Ryzen, and FSRM is new across the board. The startup cost for
> ERMS-but-not-FSRM copies really is noticeable, so we cut over to the
> previous SSE/AVX routines when N is small.
>
> I've left the memset benchmarks as I found them most useful when
> tuning the small/large cutoff in this CL.
>
> Change-Id: I3ac4e3f34796aba0ea86aabbe9dda7526919456a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/332580
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
TBR=mtklein@google.com,herb@google.com
Change-Id: I3264af132272dbbaac8fc8b62e139a6a112bbadb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334342
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This thing is a leaky abstraction ("rawRemove" fn) and it doesn't
actually do much encapsulation. Almost all the code is just views into
the underlying array and wrappers that could be replaced by
std::algorithm routines (and in this CL, are). It's more trouble than
it's worth – maybe in the past that wasn't so.
Change-Id: I81f3aa6874525f8f2ed1315f50e084030e34865e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/332718
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
... replacing them w/ calls to GrDirectContextPriv::flushSurface.
Since recording contexts can also possess surface- and renderTarget-
Contexts it is misleading for them to have a flush method.
Change-Id: I10f4fad12d4d5efdd999ba212fda9ce5cdd83130
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334068
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This reverts commit b776a105e5.
Reason for revert: This will be the first step of a staged change.
Original change's description:
> Some testing images in Google3 look slightly different with this change. Need to change them, too.
>
> Revert "Roll back #10487 fix (so now spaces always resolved in the main font)"
>
> This reverts commit ff5d8700b3.
>
> Reason for revert: <INSERT REASONING HERE>
>
> Original change's description:
> > Roll back #10487 fix (so now spaces always resolved in the main font)
> >
> > Bug: skia:10715
> > Change-Id: I06bb881998d00228c79a218967eda6468cbc5bed
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334053
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Julia Lavrova <jlavrova@google.com>
>
> TBR=bungeman@google.com,jlavrova@google.com
>
> Change-Id: Icc1f262f60fa2ec9b4425ce3088b5eaac9313374
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:10715
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334158
> Reviewed-by: Julia Lavrova <jlavrova@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>
TBR=bungeman@google.com,jlavrova@google.com
Change-Id: I0f2f46fc21eec795026ea98696f68112915f7979
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10715
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334159
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>