Commit Graph

55404 Commits

Author SHA1 Message Date
Brian Osman
77a5bc3212 Remove GrArithmeticProcessor, use GrRuntimeFPBuilder instead
This also converts "enforcePMColor" to a uniform (rather than baking it
in). It's easier to write this way, and I can't imagine it made that
much difference to performance.

Change-Id: Idd202678740077412a2fb4e5122ebb9118f1d7bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410096
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-05-20 23:16:55 +00:00
Mike Reed
ec87dc1b76 Just expose factories for patheffects
bug: skia:11957
Change-Id: If2983fcd1b520a7ae77650d7e5ab226af9db52e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410782
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2021-05-20 23:01:45 +00:00
John Stiles
298de8a345 Add catch-all Adreno6xx renderer type.
The `fInBlendModesFailRandomlyForAllZeroVec` workaround is now enabled
for any Adreno 600-class driver, instead of only the 615, 630 and 640.

Change-Id: I60980508ae3b1fbfdb24073ff661785bfd5cfcdb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410795
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-05-20 22:21:45 +00:00
Florin Malita
6e5d64b160 [androidkit] Add SamplingOptions
Mirroring SkSamplingOptions.

Change-Id: I6c4d21fb3f123e7931271fcc830d82f6b0215c40
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410786
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-05-20 20:29:55 +00:00
Florin Malita
934c02142e [androidkit] Introduce Image support
Two sources from now:

  - encoded data factory
  - Surface.makeImageSnapshot()

Change-Id: Icbf2f855e489839dc82db425916c8644418a2fb7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410324
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-05-20 20:28:55 +00:00
John Stiles
25be58e24b Reland "Eliminate unreachable code during optimization."
This is a reland of c6260f9742

Problematic DeadReturn.sksl test cases have been moved to DeadReturnES3.

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>

Bug: skia:12012
Change-Id: I748e8761cbc71c811b5ad8fe49186f980261d8b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410793
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>
2021-05-20 20:02:15 +00:00
John Stiles
b82e93103e Reland "Add support for do-while loops in PipelineStage."
This is a reland of 9c7e04cd6f

The DeadReturnES3 test isn't enabled yet due to crashes in Radeon, but
the PipelineStage fixes need to be landed now.

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>

Change-Id: I73715f09defd950156cc252be9a52a36620d6d5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410936
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-05-20 19:49:42 +00:00
Brian Osman
1391170bee More ctype cleanup in SkSL
- Remove ctypes that were entirely unused
- Remove explicit selection of default ctypes
- After that, only two ctype tokens are needed (SkPMColor4f and SkV4)
  ... remove all of the others from the parser

Change-Id: I2322aab73a19127b3b26850aefdad6140ea0f7e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410057
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-20 19:46:05 +00:00
John Stiles
60e52284d5 Label willReadDstColor argument to GrXferProcessor ctor.
This makes it much easier to search through the code and find places
where `willReadDstColor` is set.

Change-Id: I94077d2ce2cacf35c84f7ff6ba2da3c5c3bab15c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410677
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-20 19:42:15 +00:00
Kevin Lubick
82c4a69b27 [canvaskit] Roll 0.27.0
Change-Id: I216d91caa48a8d596d303a5dfa8a403b56b2d11a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410857
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-05-20 18:57:24 +00:00
skia-autoroll
21282e7dc8 Roll SK Tool from 473c0ef7fb65 to 4ef22d867c8f
https://skia.googlesource.com/buildbot.git/+log/473c0ef7fb65..4ef22d867c8f

2021-05-20 lovisolo@google.com [gold] Port multi-zoom-sk to TypeScript.
2021-05-20 lovisolo@google.com Update BUILD files with Gazelle.
2021-05-20 rmistry@google.com Look for main branch to get list of trybots in cq_watcher
2021-05-20 rmistry@google.com Specify branch to update in androidingest
2021-05-20 rmistry@google.com Push to main branch of perf-buildid/android-master

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC jcgregorio@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

Tbr: jcgregorio@google.com
Change-Id: I05c0d8bbc2efc254138d76b79c5d14ed83605f8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410750
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-20 18:48:15 +00:00
John Stiles
d2c5a80281 Enable additional do-while SkSL tests.
These tests were written earlier but not enabled due to the absence of
ES3 support in Runtime Effects.

Change-Id: Idaf81926271e5b2e483a7c5cfce824a0056f5595
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410460
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-05-20 18:45:35 +00:00
Kevin Lubick
6017b4833f [canvaskit] Remove two previously deprecated APIs
Change-Id: I952f688fe4292344d1d4a57a29179eaddb35360b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410856
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-05-20 18:44:50 +00:00
Robert Phillips
54c878ef1c Retract GrSurfaceDrawContext when creating SkGpuDevices
This adds a new SkGpuDevice factory function that absorbs the
creation of the GrSurfaceDrawContext and updates a second factory
function to handle more cases.

Change-Id: If7bd33aa18d1ed5dd72288e7b4db3b97302640cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410077
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-05-20 18:24:35 +00:00
John Stiles
6011bbcf48 Fix comma operator support with matrices in Metal.
MetalCodeGen would incorrectly identify `(someMatrix, someScalar)` as a
math operation between `someMatrix` and `someScalar` and attempt to
convert `someScalar` to a matrix. If `someScalar` was a Boolean type,
this would lead to an assertion.

The binary expression is now checked more thoroughly before converting
the scalar into a matrix.

Change-Id: Id7e104d5533d8c43375927d4815b83e1a3c36be1
Bug: skia:11125
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410682
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-20 18:08:35 +00:00
Chris Dalton
2758a3189a Add triangle support to GrPathOuterCurveTessellator
Supports drawing exact triangles as conics with infinite weight. This
is necessary for drawing inner fans, breadcrumb triangles, and extra
triangles that will be introduced when we start splitting curves that
don't fit in a single patch.

Bug: skia:10419
Change-Id: If72560be4eb38340512be55dccea93b3a083fad5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410836
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-05-20 17:34:45 +00:00
Chris Dalton
ea46fb7d20 Disable CCPR everywhere except testing
Skia has an atlas clipping mode (historically called CCPR clipping) that
doesn't quite work. It will fail on blend modes that require a dst read
and is also drawing the complexclip_* tests wrong on several devices.
We plan to rewrite the clip atlas, but in the meantime we need to
disable the "CCPR" clipping.

Bug: b/188794626
Change-Id: I126030a2a81057ffca85fd8b8e7db97b716451ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408557
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-20 16:52:15 +00:00
Chris Dalton
0801ffdf20 Update path tessellation shaders to use GrWangsFormula
Bug: skia:10419
Change-Id: I34114a7b034f51bc485ae2ddb8ae85addad91f93
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410496
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-20 15:46:15 +00:00
skia-autoroll
1c4a0b89b0 Roll ANGLE from eaa6961d64d1 to 019eda5c9478 (14 revisions)
eaa6961d64..019eda5c94

2021-05-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 0ca03fb2907c to 3b9a1a795f1e (4 revisions)
2021-05-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from baa6900ec346 to 15fd0774bd48 (5 revisions)
2021-05-20 jplate@google.com CL: Fix querying default device if non exists
2021-05-20 gert.wollny@collabora.com Capture/Replay: Emit SetupReplay() late
2021-05-20 gert.wollny@collabora.com Capture/Replay: Don't try to serialize blob without data
2021-05-20 jplate@google.com CL: command queues for front end and pass-through
2021-05-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 2b00cebcd5b5 to b625560cb068 (1025 revisions)
2021-05-19 cnorthrop@google.com Update skip list for Texture2DTest.TextureSize
2021-05-19 b.schade@samsung.com Vulkan: Fix geometry shader qualifier validation
2021-05-19 syoussefi@chromium.org Vulkan: Generate SPIR-V directly from the translator; Part 1
2021-05-19 timvp@google.com Add angle.iml to .gitignore
2021-05-19 jmadill@chromium.org Use the same url for 'requests' as chromium.
2021-05-19 geofflang@chromium.org Revert "[Vulkan] Add DisplayVkNull"
2021-05-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 3d799e0e9b08 to baa6900ec346 (3 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 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: KHR-GLES32.core.geometry_shader.nonarray_input.*
Change-Id: I38ff275656d40ef3cfe27c0234a575cab968553a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410740
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-20 14:26:45 +00:00
Brian Salomon
e72fd09ce1 Revert "Eliminate unreachable code during optimization."
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>
2021-05-20 13:00:36 +00:00
Brian Salomon
edb7aa70fc Revert "Add support for do-while loops in PipelineStage."
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>
2021-05-20 12:58:46 +00:00
skia-autoroll
1f193df9b3 Roll Chromium from 6f2ae8d58410 to e4951e43cf8f (598 revisions)
6f2ae8d584..e4951e43cf

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: bsalomon@google.com
Change-Id: Ib575b4f020cd82a0aa960ed67aaf2758f074c07e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410697
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-20 06:51:45 +00:00
skia-autoroll
4f0d9a0971 Roll Dawn from fd783ce6270a to b58efd079cab (7 revisions)
https://dawn.googlesource.com/dawn.git/+log/fd783ce6270a..b58efd079cab

2021-05-20 jiajia.qin@intel.com Use HLSL version 2018 for DXC
2021-05-19 yunchao.he@intel.com Add end2end tests for 3D texture copies
2021-05-19 enga@chromium.org Move test parameterization macro from DawnPerfTest to DawnTest
2021-05-19 cwallez@chromium.org OpenGL: Use binding= for all bindings in generated GLSL
2021-05-19 bclayton@google.com ShaderModule: Add default case to ResourceType switch
2021-05-19 jiawei.shao@intel.com Disable the workaround about the T2T copy issue on newer Intel drivers
2021-05-19 jiawei.shao@intel.com Add a command line parameter to run the tests skipped by DAWN_SUPPRESSED_TEST_IF

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@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-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: I70a57d7627466c977dcaced9a1b0d395a269dd05
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410586
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-20 05:07:14 +00:00
skia-autoroll
d24422a9fe Roll SwiftShader from 0ca03fb2907c to 3b9a1a795f1e (4 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/0ca03fb2907c..3b9a1a795f1e

2021-05-20 swiftshader.regress@gmail.com Regres: Update test lists @ bbe1b996
2021-05-19 johnstiles@google.com Fix error in mat4x2(scalar) construction.
2021-05-19 srisser@google.com Remove assert on unrestricted depth range
2021-05-19 srisser@google.com Fix EmitImageWrite using wrong active lane mask

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: bsalomon@google.com
Change-Id: I0b0bf3a3f988d782fd418f205457f5791343e5de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410585
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-20 04:55:55 +00:00
John Stiles
9c7e04cd6f 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>
2021-05-20 01:18:23 +00:00
Michael Ludwig
ee8f277198 Support complex matrices in Image image filter
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>
2021-05-20 00:56:33 +00:00
John Stiles
c6260f9742 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>
2021-05-19 23:03:23 +00:00
skia-recreate-skps
794e74eda5 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I8d328aa7875759197edd11ef6051cb8c21bbd4a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410556
Reviewed-by: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-05-19 22:11:43 +00:00
Ravi Mistry
8988cb4643 Whitespace change for master->main migration test
No-Tree-Checks: true
Bug: skia:11987
Change-Id: I1321a33063b1d934a2d0fbaf01e13884c47e11de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410416
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-05-19 21:04:44 +00:00
Michael Ludwig
b32708a507 Use SkM44 for SkDevice's device-to-global transform
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>
2021-05-19 20:40:53 +00:00
Ravi Mistry
9176a65eff [infra] Use TRIGGER_MAIN_ONLY instead of TRIGGER_MASTER_ONLY
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>
2021-05-19 20:06:05 +00:00
Julia Lavrova
10e7e77909 Reland "Switching SkText to UTF16"
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>
2021-05-19 17:54:14 +00:00
Ravi Mistry
850e4b5de1 Fix linkedin pageset for RecreateSKPs bot
Change-Id: I3bb2c63e0e90b36fc784a7db3512719ffeb099a8
Bug: skia:12019
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410258
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-05-19 17:37:28 +00:00
Jim Van Verth
42bee2d3d2 Enable all Direct3D tests
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>
2021-05-19 16:08:59 +00:00
Brian Salomon
d6584bd999 Add GrColorFormatDesc GrBackendFormat::desc()
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>
2021-05-19 16:06:25 +00:00
Florin Malita
f83a232fed [akdroidkit] Release the surface when exiting SurfaceRenderer's loop
To ensure we're deallocating GL/VK resources on the same thread.

Change-Id: I6df7e89f11439474c46715789db10b247734ef3c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410322
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-05-19 16:03:54 +00:00
Brian Salomon
814c6db4c0 Reland "Use SkImage_Raster's unique ID to cache textures."
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>
2021-05-19 15:42:25 +00:00
Brian Salomon
a65c295c1c Exclude a few more tests from mtltestprecompile
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>
2021-05-19 13:28:35 +00:00
skia-autoroll
d7d7a8215e Roll ANGLE from ac42dbf98772 to eaa6961d64d1 (15 revisions)
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>
2021-05-19 08:45:55 +00:00
skia-autoroll
d9ea2989d6 Roll Chromium from 0a2ed03e195c to 6f2ae8d58410 (503 revisions)
0a2ed03e19..6f2ae8d584

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: bsalomon@google.com
Change-Id: I78eb1f769666276ebc9e6a926f2468fa95890911
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410242
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-19 06:03:14 +00:00
skia-autoroll
996305dba2 Roll Dawn from 880a3d631197 to fd783ce6270a (2 revisions)
https://dawn.googlesource.com/dawn.git/+log/880a3d631197..fd783ce6270a

2021-05-18 enga@chromium.org Support 3D textures in ClearTexture
2021-05-18 cwallez@chromium.org Rolling 2 dependencies

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@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-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: Idee1ffbccd6912c5e50d0286b38c8051f5093c44
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410197
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-19 05:03:45 +00:00
Robert Phillips
f519ab8f09 Remove SkSurface_Gpu::MakeWrappedRenderTarget
Change-Id: I3c069825e26cd5e56de215447ddcb883868d33fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409997
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2021-05-18 23:29:14 +00:00
John Stiles
3c74a5357a Add GLSL workaround for 4x2 diagonal matrix bug.
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>
2021-05-18 22:50:19 +00:00
John Stiles
a5569ac9c4 Fix abs intrinsic detection in GLSL backend.
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>
2021-05-18 22:03:54 +00:00
John Stiles
d45ebbc664 Simplify getNormalizeSkPositionCode using DSL.
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>
2021-05-18 21:48:54 +00:00
Brian Osman
fa6a127310 Large simplification of the CType mapper logic in SkSL
- 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>
2021-05-18 21:40:14 +00:00
Michael Ludwig
bfeba24b06 Add GM for failing Image image filter
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>
2021-05-18 20:48:44 +00:00
Jim Van Verth
a655f0d8d4 Direct3D: implement transfer methods
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>
2021-05-18 20:48:14 +00:00
Ethan Nicholas
be65cd5543 Use DSL to simplify applyInvocationIDWorkaround
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>
2021-05-18 19:58:44 +00:00
Brian Salomon
4af11a109a Detect chrome command buffer separately from GL driver.
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>
2021-05-18 19:48:14 +00:00