In GrAtlasTextOp::init, I just had the deviceRect computed correctly
based on needsTransform, and it all seems to work. The bounds for large
RGB images were just wrong. This at least makes the interpretation of
fVertexBounds consistent. No diffs.
Change-Id: Icd1d26664280e2f7918e91a77293aab44e2d602d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285877
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
We can store the so that they are relative to (0, 0), instead of the
initial origin. This simplifies much of the math for calculating the
device bounds. And, it remove the need for the inverse matrix in
GrTextBlob.
As a note, it looks like GrAtlasTextOp::init() may be calculating the
wrong bounds because it doesn't seem to respect needsTransform()
correctly. I'll check this out in the next CL.
Change-Id: Ia053b8b11ef8bbae5cc9e7bc547b918401519027
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285839
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Bug: oss-fuzz:20522
Change-Id: Ib08a988b83bac922e8076c62f568e329ef7866bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286136
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
This reverts commit cfdc07aa0e.
Reason for revert: nope, flutter windows bots don't have it. we got caught.
Original change's description:
> replace SkSharedMutex
>
> I am debugging an issue with SkSharedMutex and noticed
> how sparsely it is used. That got me curious to see if
> we can replace it with a std::shared_mutex (from C++17).
>
> Bug: skia:10177
> Change-Id: I1ce4d2a5897af198d6ae5fb850548ff917a58f50
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285691
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
TBR=mtklein@google.com,bungeman@google.com,herb@google.com
Change-Id: Iab4e55d749e386233ff0e2ba2c1cd10d5e6f1615
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10177
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286124
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: I4f507e46fa086d8a8c179dbb59e15e554b57a02f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286117
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
GIF decoding is not needed, saves another 5.5k on the brotli compressed binary
Change-Id: I4bc5f3e7bed83c190a73cb19dfb59f89fcc76cd8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285826
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
MakeDistanceField should just make fNeedsGlyphTransform to
true making invariant maintenance closer to MakeBitmap.
Change-Id: I6e6652a45e39aa4d9ab4ceb16e8048ccb3655900
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286096
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Bug: skia:10188
Change-Id: I29a8efe448532fecc2f7424622cd33afeee3287b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285876
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
This lets us get rid of VECTOR_UNARY_FN_VEC.
I don't know exactly what was wrong with VECTOR_UNARY_FN_VEC,
but `color.rgb = color.rgb + a*(sin(6.28*color.rgb)*0.159)` looks
ok to me now when run through the interpreter.
Change-Id: I700398cd55eca1b8e1b3b46858415ecae5585a32
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286065
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
enough to try out
color.rgb = color.rgb + a*(sin(6.28*color.rgb)*0.159);
Change-Id: I45dbabb7f2a58aeebac4a651ed45b28ea90f9dd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286059
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
I am debugging an issue with SkSharedMutex and noticed
how sparsely it is used. That got me curious to see if
we can replace it with a std::shared_mutex (from C++17).
Bug: skia:10177
Change-Id: I1ce4d2a5897af198d6ae5fb850548ff917a58f50
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285691
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
I see roughly 10ms -> 5ms here in viewer when turning on skvm.
Change-Id: Ie8864ebc700ca914909d241a696e50295a0db366
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286028
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit 2becdde074.
Reason for revert: likely breaking cc unit test due to empty shape cap change.
Original change's description:
> Refactor geometry union capabilities out of GrStyledShape
>
> The geometry union part of GrStyledShape is now held in GrShape. For the
> most part, GrShape is entirely style agnostic and focuses on storing
> the various types of geometry, and destructing them gracefully. It also
> provides a public API that unifies functionality across all shape types,
> such as contains() and bounds().
>
> GrStyledShape now just owns a GrShape and a GrStyle, and handles the
> additional simplification logic that relies on knowing the effects of
> the style on the draw. This is where GrShape makes some allowances for
> style. Its simplify() function accepts flags that enable/disable various
> simplification optimizations. Currently these are designed around
> what is needed to respect path effects and stroking behaviors in
> GrStyledShape. The main other user of GrShape (the new clip stack) will
> always provide all flags since it treats every shape as if it were
> simply filled.
>
> Several other related refactorings were taken at the same time:
> 1. The implementations for asNestedRects, asRRect, etc. were moved out
> of the header and into the cpp file for GrStyledShape.
> 2. GrRenderTargetContext relies on GrStyledShape for its stroke rect
> fallbacks.
> 3. GrShape can hold points, lines, and rects explicitly. This let me
> simplify the stroke reasoning.
>
> Change-Id: I9fe75613fee51c30b4049b2b5a422daf80a1a86e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284803
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
TBR=bsalomon@google.com,csmartdalton@google.com,michaelludwig@google.com
Change-Id: I2af5782e072e0ccb4a87f903bb88cbe335b9613f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286039
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This reverts commit 9d4fa4f7bd.
Reason for revert: prior CL likely breaking chrome cc test
Original change's description:
> Fix round join comparison in if
>
> This fixes adding round caps to empty rectangles with bevel joins.
> Introduced in https://skia-review.googlesource.com/c/skia/+/284803, I
> either forgot to finish my thought or inadvertently deleted it while
> editing.
>
> TBR: ethannicholas@google.com, bsalomon@google.com
>
> Change-Id: I72e6383260dae066c611454db9c7fa8c217422e4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285957
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
TBR=bsalomon@google.com,ethannicholas@google.com,michaelludwig@google.com
Change-Id: I02e21e5ec9c14312dc9f36575dc0edccffc33e1d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286038
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Change-Id: Ibc0a47258009a24bf7d9b378c9e21729b13d0216
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286027
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Implement non-linear contrast using a cubic polynomial approximation,
as a SkRuntimeEffect.
The effect range is significantly more constrained than the legacy
version: https://www.desmos.com/calculator/ehem0vy3ft
Change-Id: I86bdbb9cc0d30065780f87705d2d4d39385609cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285840
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
This reverts commit 44fc53b7f5.
Reason for revert: Test to see if this is causing the linux-rel MediaColorTest.Yuv420pHighBitDepth failure on the Chrome roll
Original change's description:
> Add BGR_10A2 support to Ganesh
>
> Bug: 1068416
> Change-Id: I40aa84b7f3f770ba550b7bea44c10173ae9a7ddf
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285356
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,jvanverth@google.com,robertphillips@google.com
Change-Id: I0ad0197ebd8de9b8761f84ba808c9f90891b9238
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1068416
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285958
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This JIT mode helps debugging and profiling by shelling out to an
external assembler then loading its results back in via dlopen(),
so you can see coherent function profiles and not just every
instruction as its own line in the profile.
It's very slow, so viewer will stutter for a second or two before
drawing goes smooth again. We can paper over this by using the
interpreter while these compiles are in progress, but I haven't hooked
that up yet.
Change-Id: I23e74d65a1a3a6d89649733296db8217be306438
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285864
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
The old cache size was arbitrary, and the new one is also
somewhat arbitrary too, a nice round number and enough to
draw this without the overhead of JIT churn:
viewer -f resources/skottie/skottie-brightnesscontrast-legacy.json
Change-Id: Ia84cea04535b4b88a58295186857cfe815173272
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285863
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
This reverts commit 36a3e014e1.
Change-Id: I2bb432ec423a85478adddc6845d5d7aa59d4055b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284918
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
The geometry union part of GrStyledShape is now held in GrShape. For the
most part, GrShape is entirely style agnostic and focuses on storing
the various types of geometry, and destructing them gracefully. It also
provides a public API that unifies functionality across all shape types,
such as contains() and bounds().
GrStyledShape now just owns a GrShape and a GrStyle, and handles the
additional simplification logic that relies on knowing the effects of
the style on the draw. This is where GrShape makes some allowances for
style. Its simplify() function accepts flags that enable/disable various
simplification optimizations. Currently these are designed around
what is needed to respect path effects and stroking behaviors in
GrStyledShape. The main other user of GrShape (the new clip stack) will
always provide all flags since it treats every shape as if it were
simply filled.
Several other related refactorings were taken at the same time:
1. The implementations for asNestedRects, asRRect, etc. were moved out
of the header and into the cpp file for GrStyledShape.
2. GrRenderTargetContext relies on GrStyledShape for its stroke rect
fallbacks.
3. GrShape can hold points, lines, and rects explicitly. This let me
simplify the stroke reasoning.
Change-Id: I9fe75613fee51c30b4049b2b5a422daf80a1a86e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284803
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Bug: 1068416
Change-Id: I40aa84b7f3f770ba550b7bea44c10173ae9a7ddf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285356
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Also fixes a minor assert in GrD3DBuffer, and removes an unused dxgi format
Change-Id: I4aa533b5c514d573fc606622c28ea7e2181bd7cb
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285499
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Change-Id: I7907c440a30f9f85830ac770340f09d77d76faee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285787
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Change-Id: I344bf5ddee4242f17325377a664ddb17b26e6f31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285789
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Change-Id: Id159552ce558d278fa124c99080025cd11b0a42c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285784
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
They are hashed to uint32_t at the API boundary (SkCanvas, SkVertices),
but making them functionally strings will make the SkSL interaction much
nicer.
Change-Id: I0979871bf3d21373812129eb7e994987b3030e00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285664
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: skia:10154
Now that Android has moved to the new name
(android::skia::FrontBufferedStream), there is no need for this
redirect.
Change-Id: I1f2203a1d50bb222b8c105d8393a3b11ad6ee462
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285716
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Change-Id: I0f8972b62c938389772872adea2c96acc29ca503
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285665
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This is a reland of 0f9ebd100e
Original change's description:
> Optimize GrTessellatePathOp's code to emit inner triangles
>
> Previously we used a naive algorithm to generate "middle-out" topologies
> for inner polygons, including copying all endpoints to a new array.
>
> This CL adds a "GrMiddleOutPolygonTriangulator" class that
> accomplishes the same thing in 1/5th the time using a small O(log N)
> stack.
>
> Change-Id: I3a7059e5d133a730b7084a17d8fbaaa3aaa81336
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285531
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
TBR=ethannicholas@google.com
Change-Id: I8402e5455e14aef9c5e92ee21100fcd7ace222ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285740
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
3cb9c4bee9..4395170e60
git log 3cb9c4bee9b3..4395170e6091 --date=short --first-parent --format='%ad %ae %s'
2020-04-27 jmadill@chromium.org Roll chromium_revision fa9d5805c4..b0410bba02 (750702:763000)
2020-04-27 xiaoxuan.liu@arm.com Vulkan: Add gles1 conformance support.
2020-04-27 jmadill@chromium.org Vulkan: Refactor AttachmentOpsArray.
2020-04-27 lexa.knyazev@gmail.com OpenGL: Implement OES_draw_buffers_indexed
2020-04-27 sugoi@google.com Fix clearing compressed textures with Vulkan backend
2020-04-27 lexa.knyazev@gmail.com Add BlendStateExt helper structure
2020-04-27 aeubanks@google.com Add -Wno-pointer-to-int-cast
2020-04-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src 4fb0e0374a39..3336e65e8801 (1 commits)
2020-04-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 7d65f09b8311..bcf6a2430e99 (3 commits)
2020-04-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src bb0380e3932a..1512acdf047f (2 commits)
2020-04-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader f42c698d784a..60aa34a990fa (1 commits)
Created with:
gclient setdep -r third_party/externals/angle2@4395170e6091
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/+/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: ethannicholas@google.com
Change-Id: Idb904f237b219465fb2f9594455274a8d8979af8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285712
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>