This reverts commit c6260f9742.
Reason for revert: Nexus 7 is grumpy, fails SkSLDeadReturn_GPU
https://ci.chromium.org/raw/build/logs.chromium.org/skia/539fff50ff093c11/+/annotations
Original change's description:
> Eliminate unreachable code during optimization.
>
> The Adreno 5xx and 6xx previously failed the SkSLStaticSwitchInline
> test; the driver struggled to interpret code with multiple return
> statements in a row. We now detect unreachable statements and eliminate
> them.
>
> Change-Id: I344d632f2488ca65b0635b37bebffe6e4fb607c5
> Bug: skia:12012
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410256
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
Change-Id: Ia3db1f1b28417e479e2d71a4a6ed94a007e47cf9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:12012
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410780
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit 9c7e04cd6f.
Reason for revert: ANGLE bots don't like it:
https://logs.chromium.org/logs/skia/53a05ed157eb6c11/+/steps/dm/0/stdout
Exception in SkSLDeadReturnES3_GPU
Original change's description:
> Add support for do-while loops in PipelineStage.
>
> This allows us to run tests which use do-while loops (like
> DeadReturnES3) within dm.
>
> Change-Id: If8ecb6b3fcd23d79451a43edf8e1ee8a182de984
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410459
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
Change-Id: Ib8ca1fd28b49c5e7d72290132336252218caac18
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410779
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This allows us to run tests which use do-while loops (like
DeadReturnES3) within dm.
Change-Id: If8ecb6b3fcd23d79451a43edf8e1ee8a182de984
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410459
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Instead of using drawImageRect from fSrcRect to a dst rect already
mapped by the CTM, this concats the CTM to the intermediate canvas and
then does a drawImageRect from fSrcRect to fDstRect.
It also updates the passthrough optimization to require positive scale
factors so that mirrors aren't accidentally ignored.
Bug: skia:11994, skia:12015
Change-Id: I6f3ee7afd842818dc9b8146beb866ac8b8f9a990
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410098
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
The Adreno 5xx and 6xx previously failed the SkSLStaticSwitchInline
test; the driver struggled to interpret code with multiple return
statements in a row. We now detect unreachable statements and eliminate
them.
Change-Id: I344d632f2488ca65b0635b37bebffe6e4fb607c5
Bug: skia:12012
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410256
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
The device-to-global transforms are used to determine image filter
mappings, so this is necessary dependency on updating skif::Mapping to
SkM44. It's also just a step towards removing SkMatrix in general.
Some usages of the device-to-global transforms were able to use the
new MapRect function and stay in SkM44 land. Other usages just pushed
the conversion to M33 lower (until they themselves can be updated).
Bug: skia:11726
Change-Id: Ia7f8ac3472f948f4a183a995b06352388914f237
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405199
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Bug: skia:11987
Change-Id: I9d0aa44a90881f86416b3595e0756c1c1cdc60df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409256
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
This is a reland of a3262aa1d2
Original change's description:
> Switching SkText to UTF16
>
> Required some changes in SkUnicode to support it
> SkShaper still works on UTF8
>
> Change-Id: I76645668e1d9bf95eb4539a066deea2b24ecf5e9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406360
> Reviewed-by: Julia Lavrova <jlavrova@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>
Change-Id: Ib21898d4acda8ab78e5e6fd1c7b9b0da41c3fa83
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407396
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Bug: skia:9935
Change-Id: I6b2adb8b5055a98af0b4063e563d1cfac81fa4a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410319
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Will be used to figure out an appropriate SkColorType for
YUVA images made of texture planes.
Bug: chromium:1113801
Change-Id: I5e1733292a84e082068c9c3557f629856b7aea84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410097
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This is a reland of 8005007e98
Original change's description:
> Use SkImage_Raster's unique ID to cache textures.
>
> SkImages can share SkBitmaps and have different unique IDs/mipmap
> status. Currently we cache the texture version using the bitmap's
> unique ID. Instead use the image's ID so different images produce
> different textures (e.g. mipped and nonmipped).
>
> Bug: skia:11983
> Change-Id: Ic37564186f675277e5a9de1bcf36b40a19c3a3de
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407356
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
Bug: skia:11983
Change-Id: I63e9d15ffdf6b6769c9b0b97d9aa30f353e1a3a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409376
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
These produce slightly different results run to run
Bug: skia:11392
Change-Id: I64adf62132f7432114dcebfad604becf95553be0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410136
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
ac42dbf987..eaa6961d64
2021-05-18 syoussefi@chromium.org Revert "Vulkan: Disable BufferVk suballocation"
2021-05-18 gert.wollny@collabora.com Capture: Make writeCppReplayIndexFiles a method of FrameCapture
2021-05-18 jmadill@chromium.org infra: Add tests to Android Pixel 4 bot.
2021-05-18 jmadill@chromium.org Improve test expectations overlap check.
2021-05-18 jonahr@google.com Revert "Reland Change to module directory when loading swiftshader ICD."
2021-05-18 m.maiya@samsung.com Vulkan: Add support for EXT_texture_border_clamp
2021-05-18 cnorthrop@google.com Tests: Skip pokemon_go on Intel Linux Vulkan
2021-05-18 cnorthrop@google.com Tests: Add SAKURA School Simulator trace
2021-05-18 cnorthrop@google.com Capture/Replay: Ignore delete of non-genned buffers
2021-05-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from af907708adb3 to 0ca03fb2907c (1 revision)
2021-05-18 jplate@google.com CL: Load OpenCL without search path modification
2021-05-18 jplate@google.com CL: Add front end object references to back end objects
2021-05-18 jplate@google.com CL: Move object cast from entry points to stubs and front end
2021-05-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 9b886afc6e79 to 2b00cebcd5b5 (497 revisions)
2021-05-18 lexa.knyazev@gmail.com Vulkan: Support GL_EXT_texture_sRGB_RG8
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 bsalomon@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: bsalomon@google.com
Test: Test: SAKURA School Simulator MEC
Test: Test: angle_perftests --gtest_filter="*sakura_school_simulator*"
Test: Test: dEQP-GLES31.functional.texture.border_clamp*
Change-Id: I72c79b4ccdd09f8aa0b3a046548feb0fc6b26bcb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410241
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
GLSL now emits 4x2 diagonal matrices as:
`(mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) * n)`
instead of
`mat4x2(n)`.
This works around a long-standing GLSL bug in both Mesa and glslang that
affects several drivers:
https://github.com/KhronosGroup/glslang/issues/2645
Change-Id: If529d5cd150ce720f436cb3634a2fd3423919278
Bug: skia:12003
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410137
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
We should detect intrinsics by enum, not by string matching. This was
missed when doing the initial conversion from strings to enums.
Change-Id: I87fb63274085d17d8c14e72667b95019edee25b3
Bug: skia:11961
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410100
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
This is cleaner and easier to understand than assembling an IRNode tree
by hand.
Change-Id: Icba1d7720e7acd6d9cdb69de6ab97cd56fa03439
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410099
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
- Arrays were unused
- Each ctype was used with exactly one mapper - remove the SkSL type
list
- After that, the mapper was just a key + value, so make it just a value
and use a map (rather than vector)
Change-Id: Ibc150ecc9ac9724ecd1e7056614ca5836ce99d5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409998
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Tests mirrors (where the src and dst rects are equal, but local coords
have been flipped), and perspective (which is just generally hard).
Bug: skia:11994, skia:12015
Change-Id: Ic57b004d2741e0e713fed17825071c5c9cf63486
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410000
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Change-Id: Id41287668971d464e517e28757736d7d3b019666
Bug: skia:11977
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406356
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Now that the DSL is available from within the compiler, we can use it
instead of the previous complex IR tree generation.
Change-Id: I7a95d245dbc21386790a1cc786899b38cbdf5345
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409897
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
When we're on top of the command buffer which in turn is on top
of ANGLE's GL backend we detect the underlying driver as GrGLDriver.
However, we still need to know if we're on the command buffer. Separate
that out from GrGLDriver.
Bug: chromium:1210334
Change-Id: I87d7d7d6d22f9629e1abe817668a33e3204300e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410016
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This was only used in the context of sk_SampleMask, which was removed
recently.
Change-Id: Id70d7af8b3a100ff157c2984bad4131f1b92f317
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410056
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Most samples use the same render thread boilerplate -- consolidate as
a utility base class.
Also add Canvas.getWidth/getHeight.
Change-Id: I27c9f51b4fd9d228a39593fbd4650a66d10240c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409896
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Use the GrPathTessellators directly instead of going through
GrPathStencilFillOp. Add keyboard shortcuts to toggle between the
different path tessellators.
Bug: skia:10419
Change-Id: I5d80731d26c9a77fb0eca07a7023c50848e29f7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409556
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Change-Id: I6019418526def09c6c9f4b22567a2c76542d043c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409876
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: Ia202cad02b5977511b1b9b36fdf8dcbc8b8058d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409776
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Grants read-access to a JS array, either ...
- direct peek into the (malloc'd buffer)
- quick copy (the src was a typed_array)
- slow copy (had to perform a per-element lookup)
Change-Id: Id389f244039d35aefd84e0d95d598cbe15cd28c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409397
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Herb Derby <herb@google.com>
The DSL would not previously function within the compiler, because it
expected to be in charge of everything itself. The compiler and DSL also
disagreed about how to handle some things, such as the DSL not
respecting the compiler's override flags.
This CL moves responsibility for much of the setup process into
DSL::Start(), which the compiler now invokes. DSL::Start() now also
takes a ProgramSettings instead of DSL-specific flags, and the
externalFunctions vector has been moved into ProgramSettings.
Change-Id: I283ed8366e25d67f02c43833743c5f8afdedaefc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408136
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Want to also use this to use this for texture formats so remove
"ColorType" from name.
Also class rather than struct.
Bug: chromium:1113801
Change-Id: Ieb08a3d81c465b92b956d9bc04b39c5783715ea8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409476
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
A previous change to goldctl removed the special-casing for
Skia, so we need to specify it ourselves.
Change-Id: If4d122daa4ee4bb865b628b7c6ee1cbe5d44d670
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409396
Reviewed-by: Ravi Mistry <rmistry@google.com>