It's hard to imagine a scenario where it makes sense to recompile a
shader for every possible point or rect.
Change-Id: Ic4ca9a4826c4ae4b604705549170503c8ec580a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/306075
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Previously, DataEntry supported only move-construction but not move-
assignment.
Change-Id: I1dc1b2bc90a3dfe4cd74d4a6c2986b7d777f84d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/306156
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Previously, floats would be converted to int32 using a C-style cast when
added to a processor key, truncating any fractional component of the
value. This would cause two processors compiled with different floats to
generate the same key.
The float is now sk_bit_cast to a uint32 instead; this will preserve the
uniqueness of all values.
Additionally, the CPP generator will now abort if asked to add an
unsupported type to the processor key. Previously, it would do a C-style
cast to int32 for all unrecognized types and hope for the best.
Change-Id: I270ae8b3036497a9e9a77747255f763d9aad1927
Bug: skia:10486
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305572
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This isn't used, and doesn't seem like we will have a use for it going
forward. The SkString class should be used to allocate strings.
Change-Id: I024d1d7edb5d4946fa9ecfd4e10af84afc8b5df8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/306065
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
These missing items were discovered when attempting a refactor.
Change-Id: Ibf905dacba14ebf5d3174f11c557741c7ab7848f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/306061
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
While doing a refactor, Clang issued some warnings about having copy-
constructors without assignment operators in some TextStyle classes.
Rewrote the code to minimize custom constructor/copy/assignment methods,
favoring C++11 member initialization syntax instead.
Change-Id: I4f0361ce38d4b0ada346b0ede4fcad4e2b686d67
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305959
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Just passing the time while waiting on some bots.
Change-Id: I4ca823732bbc2a408f582508fb9d5c69689a029f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/306056
Commit-Queue: Adlai Holler <adlai@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Bug: chromium:1101491
Bug: b/161896447
We're moving to using more inclusive language, and thus removing
the word "master". Now these are just "GM" and "DM", which is how
we frequently refer to them anyway.
Change-Id: I844aeb4fc1d97a58a669b4f04821fe06f45d4c73
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/306059
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Stumbled into this when I made a function that took a float3x3.
Change-Id: I35a8eef84fefe41da79e1082663937f126899160
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305728
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This should be the last batch of tests. All the remaining uses of
GrContext should be resolved when SkImage no longer requires a context.
Change-Id: I47eeb3b74c28f483c20d9bec4daecbdb6d2cb982
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305541
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
OpChains contain an internal List which does bookkeeping/validation when
moved, but our SkTArray was skipping over this validation step because
MEM_MOVE was set to true.
Change-Id: I4a4f1f0dff96076dfa3719467f4393eb7e958c8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305958
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
This is a reland of 7f5e99465d
Original change's description:
> implement working CorrectnessActivity to generate lottie keyframe PNGs
>
>
> make correctness activity loop through all available lotties
>
>
> implement tests for lottie correctness through Android Activity
>
> Change-Id: I8b5d1dfc0641e3227f23a4d4560faa756b245ede
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305216
> Reviewed-by: Stan Iliev <stani@google.com>
> Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Change-Id: I59f4a02acfbddd2c8bbee0adcda1d737c9566c0b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305601
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
These missing includes were discovered when attempting a refactor.
Change-Id: I8aad5610de2337de6e55885b5868e606c1514eaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305997
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>
Bug: b/161858189
This matches the format of the old traces in HWUI.
Change-Id: Ieec91d4ecea9d2f37d40f4f56a09634905c07b61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305687
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
The current build configuration (empty fontmgr) doesn't support loading
custom fonts.
For full/npm builds, use the custom fontmgr.
Change-Id: Ifd623fdbac2d5723a04add6fc455188fb3dc96e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305816
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
df5ed61ddb..3f851efa2a
2020-07-27 syoussefi@chromium.org Vulkan: Fix overflow in maxCombinedUniformComponents
2020-07-26 jmadill@chromium.org Capture/Replay: Update headers.
2020-07-26 syoussefi@chromium.org Vulkan: Generate mipmap in compute
2020-07-25 timvp@google.com Enable KHR GLES31 tests blocked on Issue 4146
2020-07-25 timvp@google.com Remove third_party/angle/ from generate_android_bp.py
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 borenet@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: borenet@google.com
Test: Test: KHR-GLES31.core.shader_storage_buffer_object.basic-syntaxSSOTest: Test: KHR-GLES31.core.vertex_attrib_binding.advanced-bindingUpdateTest: Test: KHR-GLES31.core.vertex_attrib_binding.advanced-largeStrideAndOffsetsNewAndLegacyAPITest: Test: Manual script execution and building in AOSP
Change-Id: I0c4411b66584d8401bedf81de89148ab4cf99292
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305928
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
* transformed masks -> GrTransformedMaskSubRun
* GrMaskSubRun is SDFT -> GrSDFTSubRun
There is much duplicate code, which will be cleaned up shortly.
Change-Id: If54e388e89f7db15ddfd4b4354f0a1b4d6f5e36b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305686
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
We seed the builder with the imageinfo of an image, but after it is
built we then have to "attach" it to an image (or more than one).
Check that the mip chain is compatible with the parent image we are
attaching to.
Change-Id: Iead6aee54861fdd4910f38f89a0364ed80c341d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305680
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
BM can now export inline fonts, encoded as data-uris.
Extend our DataURIResourceProviderProxy helper to also intercept and
decode inline typefaces.
Change-Id: Iaf1be9db2fd32383af78bc351b1228fe6b3b64bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305685
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
This is a quality-of-life improvement when debugging processor
unit tests.
Change-Id: I6eba2ea17710e224852e4688c5cc491ed09461ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305690
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>
See linked bugs, but there were mixed results on whether this was a
performance win. My guess is that for simple, easy-to-analyze clips
that satisfied a round rect clipped to itself it was a win, but when
the clip stack was large or not actually a round rect, it slowed down
the analysis.
This undoes that optimization that was turned on as part of
https://skia.googlesource.com/skia/+show/4e3cab7919258df8d6fd884298e28b20e4288060
to see if that's the cause.
Bug: skia:10462
Bug: chromium:1101513
Change-Id: I11e75a7a643337850766ed51956608b76a4a0501
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305681
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
We will rely on the tracking of GrBuffers on the command list to manage
lifetime of d3d buffers. This also means we won't destroy the underlying
d3d buffer resource until the destructor.
Change-Id: I26084b8fffc65038891a0e48662d6a864c5dd8c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305719
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
The code was not accounting for the GrGlyphVector data properly. Add
that back in. Make a type AllSubRuns that accounts for the max size
of all the SubRuns.
Change-Id: I9ce702d24bc4f9efbfcdb4a0f14494f53d1b701c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305568
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This is a reland of b6d4ad92ad
Original change's description:
> Make GrRingBuffer more generic so it can be used over all backends
>
> * Removes the spinlock (should no longer be necessary)
> * Uses GrGpuBuffer and creation through GrResourceProvider
> instead of internal native creation
> * Changes the SubmitData to pass up all buffers used over a given submit
> so the backend can track that better
>
> Bug: skia:10530
> Change-Id: I0d3a686b950dd5cb5f720f827b573238386b9524
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305567
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
Bug: skia:10530
Change-Id: If75ef583fbed65617cd5be56ee40c937e7325b21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305722
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
This reverts commit 131c5ad6f1.
Reason for revert: Blocking the G3 roll
Original change's description:
> Attach whitespaces to the neighbor unresolved blocks
>
> Fix the situation when an unresolved {arabic} text is broken into
> many small runs by resolved english spaces.
>
> Bug: skia:10487
> Change-Id: I3a739501c0fb7e0fc845e68392e1d214df9302db
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/304000
> Commit-Queue: Julia Lavrova <jlavrova@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>
TBR=bungeman@google.com,jlavrova@google.com
Change-Id: Iaa338dd5fb5c9962df2ee32bafbc089da0e2b8a1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10487
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305797
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Fixes a bug with name conflicts in the final SkSL.
Bug: skia:10526
Change-Id: Ic238f89dd778c186e775ecbaabfbaed9e426274f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305563
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Change-Id: I0da997bd373860ed5e729159abf1b9a0878d2ba4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305570
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Includes full-range Rec709 and BT2020, as well as more precise
matrices for 10 and 12 bit BT2020.
Bug: chromium:1108626
Change-Id: I28cbce982a00c082c8b510dbb7b144bdc1ce02e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305596
Reviewed-by: Dale Curtis <dalecurtis@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Fix the situation when an unresolved {arabic} text is broken into
many small runs by resolved english spaces.
Bug: skia:10487
Change-Id: I3a739501c0fb7e0fc845e68392e1d214df9302db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/304000
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Switch DM to --skip, and replace a few others I found
with similar skip-related names, or remove names entirely.
This leaves things with just the unavoidable,
$ git grep blacklist
gn/BUILD.gn: "-fsanitize-blacklist=$_suppressions",
tools/lottie-web-perf/lottie-web-perf.js:
browser_args.push('--ignore-gpu-blacklist');
tools/perf-canvaskit-puppeteer/perf-canvaskit-with-puppeteer.js:
browser_args.push('--ignore-gpu-blacklist');
tools/skottie-wasm-perf/skottie-wasm-perf.js:
browser_args.push('--ignore-gpu-blacklist');
Bug: 1101491
Change-Id: I9f60a18df4fd0304e702df4c68333f669a485c7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305760
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
No real way around using -fsanitize-blacklist,
but we can change the rest.
Bug: 1101491
Change-Id: I3ec84bd2911b6cf6e77eac1c9d565a398bfcde77
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305754
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This CL will allow sk_bit_cast to be used in more places (such as .fp
generated code) without #including the entire RasterPipeline header.
Change-Id: Iba3da944d33898d4fc8bc4df97231c55de2b1d0b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305710
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
I forgot that fTriangleBufer can be bound in both the stencil step and
the cover step.
Change-Id: I53a394b37d3d551fe7e1fe25f45d26e7bda46e3a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305737
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This fragment processor is not accessible to the outside world; it's
only accessible via `SkLightingImageFilterInternal::drawRect`, which
creates its own GrPaint and does not set a custom paint color. The input
color is always default white, so the modulation step is wasted effort.
Change-Id: Ia6c18edab069947ec80b372c1d0728b5ed6ffc98
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305725
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
In theory, all sub runs should be fully const because they are shared by
multiple threads. But, they are used in a single-threaded situation
when flushed to the GPU. AtlasSubRuns are mutate during the GPU flush
to convert PackedGlyphIDs to GrGlyph pointers. Because of that I
decided to make everything const, but label the GrGlyphVector (the
structure that holds the PackedGlyphIDs/GrGlyphs) to be mutable.
Change-Id: I328175a8933b64fda7fab2b3b3d8699683451e60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/304216
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This abstraction had one subclass. That subclass was used only as
an implementation detail of SkImage_Lazy. Move the functionality
into SkImage_Lazy.
Change-Id: Icd8754114dc33ae957e542b372086e8caa0408a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305724
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit a75dc33a67.
Reason for revert: Breaking the bots
Original change's description:
> Metal: Hold refs for input buffers from bindBuffer calls.
>
> Mirrors what we have in Vulkan and Direct3D.
> Also adds command buffer tracking, again like Vulkan and Direct3D.
>
> Change-Id: I2280d92274d81830aec7950afc64a0147e38c317
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305396
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
TBR=egdaniel@google.com,jvanverth@google.com
Change-Id: I7f3e3bde8ac0f302ecb6b3c44d7850160d2102f8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305729
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>