Commit Graph

51093 Commits

Author SHA1 Message Date
John Stiles
3fb66b557d Calculate texture clamping X/Y coordinates in parallel.
The X and Y values of `clampedCoord` were being calculated and stored
separately, even in cases where work could easily be done in tandem.
Updated the code so that we use .xy when it makes sense to do so.

This CL is a partial re-attempt of http://review.skia.org/318436 but
changing only one variable instead of three.

Change-Id: I8cab3c2225e1d95bc77371f85d46ab45a184e145
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/321116
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-09-30 17:25:23 +00:00
John Stiles
80ccdbd869 Inline trivial single-argument constructors directly.
We don't need to create a temporary variable for expressions like
`half3(x)`.

Change-Id: Ie0fa6a6dfb3d77d4372f96c676d3081f7e278852
Bug: skia:10786
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320960
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-09-30 17:06:14 +00:00
Michael Ludwig
1283d559f2 Fix GrClipStackClip::preApply to report kClippedOut
Previously, this would only return kClippedOut if the draw didn't
intersect with the device bounds. Now takes into account the bounds of
any identified single rrect/rect clip element and reports kClippedOut
if the draw does not intersect the element.

This fixes the bug identified in flutter where draws would appear outside
the clip. Within the problematic drawPoints call, each segment would turn
into a separate rect to draw, and if the rect was fully outside the clip,
it would incorrectly pass preApply and then not get cropped properly since
it didn't actually intersect the crop rect.

This only presented as a bug when SK_DISABLE_NEW_GR_CLIP_STACK was defined
(the current behavior for flutter). The new GrClipStack preApply already
reported kClippedOut in this scenario.

Bug: https://github.com/flutter/flutter/issues/66719
Change-Id: Idd810efcce4dfb6b51745d4a7a2ea66de9d4f46b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320965
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-09-30 16:59:33 +00:00
Robert Phillips
aac5728a82 Make GrRRectBlurEffect use the thread-safe uniquely-keyed view cache (take 2)
This yields a ~8% performance improvement on OOP-R/DDL-like rendering of the simpleblurroundrect GM.

Bug: 1108408
Change-Id: I710c75b73a395b2280abf0c5af528e0f6731326d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311720
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320917
2020-09-30 15:54:43 +00:00
John Stiles
70b82429ac Add ProgramWriter, a non-const version of ProgramVisitor.
This allows us to traverse a program's hierarchy and make changes (as
long as the structure remains intact). It's the caller's responsibility
to make sure they don't invalidate any iterators of the ProgramWriter.

Change-Id: Icfc651134d916e19b92004c92fe09880bb96600b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320717
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-09-30 15:41:13 +00:00
John Stiles
20e4b9de76 Add unit test for inlining trivial arguments.
Change-Id: I71cefc1ffacd671ede810d9133dfce75cb9f42b4
Bug: skia:10786
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320958
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>
2020-09-30 15:20:13 +00:00
Ethan Nicholas
efb09e2caf moved SkSL Extension data into IRNode
Change-Id: I6689bfc78e407ddd840d81ea56c844da92f3a65a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320724
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-09-30 15:16:03 +00:00
Chris Dalton
4c1fcdb4e8 Don't cast emscripten pointers when assembling WebGL interface
Since we are now referencing the exact methods instead of calling
GetProcAddress, there is no need to cast the function pointers. This
also catches a bug where the emscripten signatures for glWaitSync and
glClientWaitSync did not match the OpenGL API.

Change-Id: If365a8f6090961cb4b44146d87e102430bc5b30f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320659
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-09-30 14:31:07 +00:00
John Stiles
7f88b721ab Update nanobench SkSL tests.
The "sksl_huge" test has been renamed to "sksl_medium."
Added a new "sksl_large" test which contains a dithered gradient shader.

Change-Id: Ia8488460022008ae4efecb5593f01db06c1c283f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320827
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-09-30 14:17:07 +00:00
Ethan Nicholas
d503a5a00f Revert "Revert "moved SkSL ExpressionStatement's data into IRNode""
This reverts commit dd33b3ea90.

Change-Id: I348b2b5976966a7451d88bd7f96ce17ce1702b79
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320826
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-09-30 14:08:27 +00:00
Brian Salomon
718ae76d5b Add sample count field to GrD3DTextureResourceInfo.
Remove separate constructor arg from GrBackendRenderTarget.

Add appropriate checks in onWrap functions in GrD3DGpu to limit to
previous functionality.

Bug: skia:9832

Cq-Include-Trybots: luci.skia.skia.primary:Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-All-Direct3D,Test-Win10-Clang-ShuttleA-GPU-RadeonHD7770-x86_64-Debug-All-Direct3D
Change-Id: Ieba398d4bc00d18fdb0adffcda81f1a166db24b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320757
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-09-30 14:03:39 +00:00
skia-autoroll
af65332528 Roll ANGLE from ec42b1438fd2 to fa082bb58ba7 (11 revisions)
ec42b1438f..fa082bb58b

2020-09-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from c6ca885c0b4a to fcb22ecf0f7e (1 revision)
2020-09-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from db992e60cc7a to e2b329a75b6a (1 revision)
2020-09-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 44be0942f9a8 to b042f4e70879 (15 revisions)
2020-09-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from 2bfd6a752dc6 to c5c6265c026e (3 revisions)
2020-09-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 8fdc21e4078d to 0c0ac2c6c458 (1 revision)
2020-09-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 3049a95d28fb to 18cdc3179c58 (353 revisions)
2020-09-30 syoussefi@chromium.org Vulkan: Unresolve depth/stencil MSRTT attachments
2020-09-30 jdarpinian@chromium.org Support EXT_color_buffer_half_float on WebGL 2.0 contexts
2020-09-30 jmadill@chromium.org trigger.py: Add launching of Android tests.
2020-09-29 timvp@google.com Vulkan: Don't modify mReadOnlyDepthStencilMode in syncState()
2020-09-29 m.maiya@samsung.com Add Samsung to ANGLE vendor list

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 brianosman@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: chromium:1133459
Tbr: brianosman@google.com
Test: Test: CQ
Change-Id: Ibae9487e6e75ec23eea57c54e29778c93a782497
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320916
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-30 13:44:57 +00:00
John Stiles
44733aa1e2 Avoid creating temporary variables for nested trivial cases.
For instance, `foo[0].x` is now considered trivial to inline. It
combines two trivial cases: array-indexing by an int literal, and a
swizzle.

Change-Id: Ibb3ca1f324bbee0e9b3556e66644923fc9e0cf45
Bug: skia:10786
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320768
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-09-30 13:31:37 +00:00
John Stiles
dd33b3ea90 Revert "moved SkSL ExpressionStatement's data into IRNode"
This reverts commit 6877f0bfdc.

Reason for revert: 
../../src/sksl/SkSLDehydrator.cpp:423:31: error: no member named 'fExpression' in 'SkSL::ExpressionStatement'
                this->write(e.fExpression.get());


Original change's description:
> moved SkSL ExpressionStatement's data into IRNode
>
> Change-Id: I11b1662cd58b01fabba75dbbee40267a62c8b420
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320639
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: Id22b8a9c93e842b2775e11f5d4c173e25860b5d0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320824
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-09-30 13:20:20 +00:00
Brian Osman
55b69f543c Revert "Make GrRRectBlurEffect use the thread-safe uniquely-keyed view cache"
This reverts commit 4cf00a814f.

Reason for revert: ANGLE and Mali 400 unhappy.

Original change's description:
> Make GrRRectBlurEffect use the thread-safe uniquely-keyed view cache
>
> This yields a ~8% performance improvement on OOP-R/DDL-like rendering of the simpleblurroundrect GM.
>
> Bug: 1108408
> Change-Id: I1ec9477dffe870e5973f8a334a65b1013a4ca3dd
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311720
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

TBR=egdaniel@google.com,robertphillips@google.com,adlai@google.com

Change-Id: Ib7135a2244b956d1a5d06c12a2b4c2ce398b9db2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1108408
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320817
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-09-30 11:23:00 +00:00
skia-autoroll
a87c5076a8 Roll SwiftShader from 44be0942f9a8 to b042f4e70879 (15 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/44be0942f9a8..b042f4e70879

2020-09-29 caramelli.devel@gmail.com EGL_KHR_platform_x11: wrong implementation in CreatePlatformWindowSurface()
2020-09-29 caramelli.devel@gmail.com Add DirectFB support for Vulkan WSI
2020-09-29 srisser@google.com Add VK_KHR_imageless_framebuffer
2020-09-29 bclayton@google.com SpirvShaderDebugger: Mark II
2020-09-29 bclayton@google.com Vulkan/Debug: Support Locations as hashmap keys
2020-09-29 bclayton@google.com System/Types: Add support for vec3
2020-09-29 bclayton@google.com Pipeline: Remove hack to disable spirv-opt when debugging
2020-09-29 bclayton@google.com Vulkan/Debug: Add Context::Lock::findFile()
2020-09-29 bclayton@google.com src/Pipeline: Misc fixes
2020-09-29 bclayton@google.com Vulkan/Debug: Various fixes / improvements to Thread
2020-09-29 bclayton@google.com Vulkan/Debug: Don't accumulate function breakpoints
2020-09-29 bclayton@google.com Vulkan/Debug: Overhaul Values / Variables
2020-09-29 bclayton@google.com Vulkan/Debug: Assert on locking context twice on same thread
2020-09-29 bclayton@google.com Vulkan/Debug: Add File::getBreakpoints()
2020-09-29 bclayton@google.com Vulkan/Debug: Split EventListener

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 brianosman@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: brianosman@google.com
Change-Id: I3cf217681f99d8d0c8ed020897d97ccfca323dce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320859
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-30 04:45:08 +00:00
skia-autoroll
0a0143dbb4 Roll Dawn from b2a4e87ad274 to ad421a248adb (2 revisions)
https://dawn.googlesource.com/dawn.git/+log/b2a4e87ad274..ad421a248adb

2020-09-29 enga@chromium.org Remove AMD test suppression in VulkanImageWrappingTests
2020-09-29 cwallez@chromium.org TextureFormatTests: Test more Snorm format corner cases.

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: Ia4e523c3675e8a4a7886a5a285227a6717ce45ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320858
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-30 04:40:58 +00:00
skia-autoroll
8a1ed2a97b Roll Chromium from 339e4ec27552 to cc47e0cdb922 (351 revisions)
339e4ec275..cc47e0cdb9

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 brianosman@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: brianosman@google.com
Change-Id: I67789b6da9f61004c198682460080903e18d4bc1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320856
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-30 04:39:10 +00:00
John Stiles
f201af8b00 Allow more types of expressions to be directly inlined.
The following types of expression are hoisted directly into the
inlined code:

- Struct field access: `myStruct.myField`
- Swizzles: `myVector.xzy`
- Simple array indexes: `myArray[0]`

This significantly reduces the number of temporary variables generated
by the inliner.

Change-Id: Ifed226ecc87b096ec1e38752c0c38ae32bd31578
Bug: skia:10737, skia:10786
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319919
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-09-30 00:36:40 +00:00
Ethan Nicholas
d83ded8ff4 Revert "Revert "moved SkSL Enum data into IRNode""
This reverts commit ff22910286.

Change-Id: I86619819aae169a2cb8d59ad7ccecf26423f2aa9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320764
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
2020-09-30 00:08:08 +00:00
Robert Phillips
4cf00a814f Make GrRRectBlurEffect use the thread-safe uniquely-keyed view cache
This yields a ~8% performance improvement on OOP-R/DDL-like rendering of the simpleblurroundrect GM.

Bug: 1108408
Change-Id: I1ec9477dffe870e5973f8a334a65b1013a4ca3dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311720
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-09-29 23:41:18 +00:00
Kevin Lubick
9ecb3abfdf [canvaskit] Add Initial Typescript definitions/types.
Medium-term goal is to contribute to https://github.com/DefinitelyTyped/DefinitelyTyped

Bug: skia:10717
Change-Id: I5941e51cd384778240c5cffd0baad3a2bdb06f2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320257
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-09-29 21:52:25 +00:00
Ethan Nicholas
6877f0bfdc moved SkSL ExpressionStatement's data into IRNode
Change-Id: I11b1662cd58b01fabba75dbbee40267a62c8b420
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320639
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-09-29 21:47:18 +00:00
Robert Phillips
c73c1af560 Make the SW blurred mask path use the thread-safe uniquely-keyed view cache
This yields a ~30% performance improvement on OOP-R/DDL-like rendering of the simpleblurroundrect GM.

Bug: 1108408
Change-Id: Ic6c3fde53831cfeb61169681c8aaa77f657cae73
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320656
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-09-29 21:11:48 +00:00
John Stiles
ff22910286 Revert "moved SkSL Enum data into IRNode"
This reverts commit 98503f1c57.

Reason for revert: 

../../src/sksl/SkSLDehydrator.cpp:513:28: error: no member named 'fTypeName' in 'SkSL::Enum'
            this->write(en.fTypeName);
                        ~~ ^
../../src/sksl/SkSLDehydrator.cpp:514:56: error: no member named 'fSymbols' in 'SkSL::Enum'
            AutoDehydratorSymbolTable symbols(this, en.fSymbols);
                                                    ~~ ^
../../src/sksl/SkSLDehydrator.cpp:515:62: error: no member named 'fSymbols' in 'SkSL::Enum'
            for (const std::unique_ptr<const Symbol>& s : en.fSymbols->fOwnedSymbols) {
                                                          ~~ ^



Original change's description:
> moved SkSL Enum data into IRNode
>
> Change-Id: I0de52d252715b5f4e10c26ebca3ea1a4f728ea2e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320637
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: I2b78dd5acf4277765b36776a8fb8e435f8b18861
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320759
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-09-29 20:55:59 +00:00
Ethan Nicholas
98503f1c57 moved SkSL Enum data into IRNode
Change-Id: I0de52d252715b5f4e10c26ebca3ea1a4f728ea2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320637
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-09-29 20:43:39 +00:00
Brian Osman
401a366eb1 Fix swizzle-of-swizzle lvalues in ByteCodeGenerator
Bug: skia:10785
Change-Id: I01708af63d7e2ffc160022074ea9ff2b3c69eab5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320638
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-09-29 20:34:58 +00:00
Brian Osman
24c5d2447f Add a benchmark that measures SkSL::Compiler startup time
This is basically timing the rehydrator, but is helpful in conjunction
with heap usage if a client wants to decide to throw away a compiler
that they don't anticipate using for some amount of time.

Change-Id: Ie9b27d9a3b7667b5492d870f242cdafd00784708
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320617
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-09-29 20:25:21 +00:00
Jason Simmons
1a47d891c1 Add an API for clearing the SkParagraph font and paragraph caches
Change-Id: Id8de439c8d872a6dad56acb5db4153186a9a9d96
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320397
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2020-09-29 19:56:08 +00:00
Ethan Nicholas
f70f044b36 moved SkSL Constructor's data into IRNode
Change-Id: I9568deca0031d32bc1c6bdf1f11f6da76de6d07f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320075
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-09-29 19:36:38 +00:00
Robert Phillips
bfca128654 Have GrCircleBlurFragmentProcessor make use of thread safe view cache
This halves the time needed for OOP-R/DLL-like rendering of the simpleblurroundrect GM (which has a whole column of blurred circles).

Bug: 1108408
Change-Id: I5fcfe618caed65ee97000eae446ce98003bec8d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320556
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-09-29 18:38:07 +00:00
Brian Salomon
57fd923c20 Add sample count to GrVkImageInfo.
Pre-req for allowing rendering to an externally created MSSA VkImage.


Bug: skia:9832

Cq-Include-Trybots: luci.skia.skia.primary:Test-Debian10-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release-All-Vulkan,Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Release-All-Vulkan,Test-Win10-Clang-ShuttleA-GPU-RadeonHD7770-x86_64-Release-All-Vulkan,Test-Android-Clang-GalaxyS9-GPU-MaliG72-arm64-Release-All-Android_Vulkan,Test-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Release-All-Android_Vulkan,Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Release-All-Android_Vulkan,Test-Android-Clang-Pixel4XL-GPU-Adreno640-arm64-Release-All-Android_Vulkan,Test-Android-Clang-P30-GPU-MaliG76-arm64-Release-All-Android_Vulkan
Change-Id: Ibf41944c6946dda7e27bdcd509ecd04976fc9ade
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320262
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-09-29 18:36:58 +00:00
skia-autoroll
686a4f2597 Roll ANGLE from 2a09e89113af to ec42b1438fd2 (63 revisions)
2a09e89113..ec42b1438f

2020-09-29 timvp@google.com Check angle_enable_abseil in Abseil group and config
2020-09-29 jmadill@chromium.org Disable Mock ICD perf tests on Android.
2020-09-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from b94db86cf9b3 to 44be0942f9a8 (2 revisions)
2020-09-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 4b07d50cd9a0 to c6ca885c0b4a (2 revisions)
2020-09-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 30cee4f4533f to 3049a95d28fb (469 revisions)
2020-09-29 ianelliott@google.com Add Context* to EVENT() & DebugAnnotator::beginEvent()
2020-09-29 jdarpinian@chromium.org EXT_float_blend is core in ES 3.2
2020-09-29 timvp@google.com Vulkan: Dynamically grow descriptor pool sizes
2020-09-28 j.vigil@samsung.com GL_OES_texture_stencil8 autogen
2020-09-28 jmadill@chromium.org Re-land "Add a small unit test that dumps system info."
2020-09-28 jmadill@chromium.org D3D11: Enable renderable mipmap generation.
2020-09-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from e7fcc14d450b to 2bfd6a752dc6 (1 revision)
2020-09-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 8ab1c000aaa0 to db992e60cc7a (5 revisions)
2020-09-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from 7f9879b1b1fa to e1ba543c6789 (1 revision)
2020-09-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 9e17b9d07a25 to 4b07d50cd9a0 (2 revisions)
2020-09-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 1ba024edc1fa to 30cee4f4533f (638 revisions)
2020-09-26 syoussefi@chromium.org Vulkan: Use one triangle for full-screen utils
2020-09-26 syoussefi@chromium.org Revert "Add a small unit test that dumps system info."
2020-09-26 jmadill@chromium.org Add Skia Gold CIPD package to DEPS.
2020-09-26 cclao@google.com Vulkan: Move mReadOnlyDepth out of FramebufferDesc
2020-09-26 cclao@google.com Vulkan: Use DepthStencilReadOnly when it is read only.
2020-09-26 jmadill@chromium.org Add a small unit test that dumps system info.
2020-09-25 syoussefi@chromium.org Vulkan: Workaround vkCmdClearAttachment bug on Pixel
2020-09-25 jmadill@chromium.org Enable Vulkan SystemInfo on more platforms.
2020-09-25 syoussefi@chromium.org Vulkan: Make UtilsVk not contribute to occlusion queries
2020-09-25 ynovikov@chromium.org Skip BootAnimationTest.DefaultBootAnimation on Win NVIDIA Vulkan
2020-09-25 timvp@google.com Vulkan: Link PPO during draw validation
2020-09-25 courtneygo@google.com Vulkan: fix ASSERT issue in ResourceSerialFactory
2020-09-25 jmadill@chromium.org Capture commit position into Android Manifest.
2020-09-25 syoussefi@chromium.org Vulkan: Disable MSRTT on AMD/Windows
2020-09-25 m.maiya@samsung.com Vulkan: Add GL_EXT_buffer_storage extension support
2020-09-25 jmadill@chromium.org Suppress flaky Multithread Android end2end_test.
2020-09-25 jmadill@chromium.org Rename version/commit headers.
2020-09-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from c9f4fb2fccda to 02da53e45d9e (7 revisions)
2020-09-25 jmadill@chromium.org Add ANGLE commit position to version.h.
2020-09-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 67525bded1de to 9e17b9d07a25 (10 revisions)
2020-09-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from a09406249fa3 to b94db86cf9b3 (1 revision)
2020-09-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 4dcc12d1a441 to bacaef3237c5 (1 revision)
2020-09-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 08c265691668 to 1ba024edc1fa (394 revisions)
2020-09-25 lehoangq@gmail.com Metal: Implement Uniform buffers
2020-09-25 jmadill@chromium.org Fix return code of restricted trace tests.
2020-09-25 lehoangq@gmail.com Metal: Use shared memory for small dynamic buffers.
2020-09-24 cclao@google.com Vulkan: updateRenderPassDesc may lose color attachment data
2020-09-24 jmadill@chromium.org Skip PBO test on TSAN.
2020-09-24 courtneygo@google.com Vulkan: Add mutex around queueSubmit related data
2020-09-24 jmadill@chromium.org Revert "Pass #pragma optimize setting down to compilation."
2020-09-24 sdefresne@chromium.org Explicitly filter assignments to sources variable
2020-09-24 jmadill@chromium.org Revert "Vulkan: Implement a SharedResourceUse pool"
2020-09-24 syoussefi@chromium.org Vulkan: Support MSRTT depth/stencil resolve
2020-09-24 geofflang@chromium.org Add a Vulkan feature to compress float32 vertex formats.
2020-09-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from ae8b33cdea62 to 8ab1c000aaa0 (1 revision)
2020-09-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 6aadd31a5f98 to a09406249fa3 (1 revision)
2020-09-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from d9fa0d469f57 to 08c265691668 (2320 revisions)
2020-09-24 sergeyu@google.com Vulkan: Relax ASSERT in SemaphoreVk::wait()
2020-09-23 timvp@google.com Convert unordered_map to absl::flat_hash_map for select files
2020-09-23 jmadill@chromium.org Auto-generate restricted trace .gitignore.
2020-09-23 b.schade@samsung.com Use ImageHelper staging buffers for copyImageDataToBuffer
2020-09-23 m.maiya@samsung.com Vulkan: Enable OES_texture_storage_multisample_2d_array
2020-09-23 b.schade@samsung.com Vulkan: Fix bug in compressed texel block computation
2020-09-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 125b64241909 to 67525bded1de (4 revisions)
2020-09-23 m.maiya@samsung.com Allow GL_UNSIGNED_BYTE as a type for glColorPointer
2020-09-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from d19622688af4 to e7fcc14d450b (1 revision)
2020-09-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 0a863bc36554 to ae8b33cdea62 (1 revision)

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 brianosman@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: chromium:1018739,chromium:1096746,chromium:1130678,chromium:1132366
Tbr: brianosman@google.com
Test: Test:Test: Test: CQTest: Test: ContextNoErrorTest31.DrawWithPPOTest: Test: Manual verification of Skia 'gn gen' on WindowsTest: Test: ProgramPipelineTest31.VerifyPpoLinkErrorSignalledCorrectlyTest: Test: angle_end2end_test --gtest_filter=*ETC1CompressedImageNPOT*Test: Test: angle_end2end_tests --gtest_filter=*ETC1CompressedImageDraws*Test: Test: dEQP.GLES31/functional_separate_shader_validation_es31_*
Change-Id: I98dc227606b90f5f5fd1af4fd8ccf6a84bcb5e01
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320581
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-29 17:40:05 +00:00
Herb Derby
0b0fb4d50b minimize includes and forwards for remote glyph cache
Change-Id: I83472d8eeb248be20db68d8f05cab9b98b8d77cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320558
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-09-29 17:04:55 +00:00
Ethan Nicholas
135e237656 moved SkSL FloatLiteral data into IRNode
Change-Id: Ic39e3e8169218cfdd0e1eee274858cc421abec7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320221
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-09-29 16:49:15 +00:00
Jim Van Verth
4b6f37d902 Move MacOS 10.13 Metal jobs to 10.15.
Compilation of Metal shaders on 10.13 is unstable and keeps crashing
the bots.

Change-Id: If4e707b80a6ca20f989b504b5bab33c8b2dcaac6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320297
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-09-29 15:23:15 +00:00
Stephen White
c73bff39bd Dawn: factor SKSL-to-SPIRV conversion, creation of ShaderModule.
Change-Id: Ia5cf75d40234e53fcbf49b4c6af96fd66844267e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320273
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@google.com>
2020-09-29 14:52:35 +00:00
skia-autoroll
842805ced1 Roll Chromium from 8563523f5c74 to 339e4ec27552 (471 revisions)
8563523f5c..339e4ec275

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 brianosman@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: brianosman@google.com
Change-Id: I2df7ca3182d4fa1d17c6969e97a194897d986c4e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320503
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-29 06:05:34 +00:00
skia-autoroll
01bbe189b0 Roll Dawn from ed2b465f8607 to b2a4e87ad274 (8 revisions)
https://dawn.googlesource.com/dawn.git/+log/ed2b465f8607..b2a4e87ad274

2020-09-28 enga@chromium.org Un-skip WriteTexture test on Swiftshader
2020-09-28 enga@chromium.org Roll third_party/swiftshader/ e8dd233c7..2014e7b92 (79 commits)
2020-09-28 cwallez@chromium.org Use typed integers for the ExecutionSerial
2020-09-28 cwallez@chromium.org D3D12: Use typed integers for the ExternalMutexSerial
2020-09-28 cwallez@chromium.org D3D12: Use typed integers for the HeapVersionID
2020-09-28 cwallez@chromium.org Use typed integers for the Fence FenceAPISerial
2020-09-28 cwallez@chromium.org Use typed integers for the Buffer MapRequestID
2020-09-28 cwallez@chromium.org SerialQueue/Map: Take the serial type as type paramater.

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: I05a4bcc40bfda4b86e75edc1f6f80a2bfe121957
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320497
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-29 04:57:04 +00:00
skia-autoroll
1fdcd38987 Roll SwiftShader from b94db86cf9b3 to 44be0942f9a8 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b94db86cf9b3..44be0942f9a8

2020-09-28 bclayton@google.com Pipeline: Fix return type of SIMD::Pointer::limit()
2020-09-28 bclayton@google.com Pipeline: Assign to SpirvRoutine::pointCoord

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 brianosman@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: brianosman@google.com
Change-Id: I4e1e863ea3bbd09a238c18e623f14ae82e0682fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320498
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-29 04:42:15 +00:00
Ethan Nicholas
e96cdd18ac moved SkSL IntLiteral data into IRNode
Change-Id: I3c6e968af6eba32eae1f1402f7603f27e949c638
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320067
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-09-28 21:06:43 +00:00
John Stiles
70025e5dac Remove fKind field from BasicBlock::Node.
The node's kind can be easily inferred by presence of a statement or
pointer inside of it. When there are only two kinds, having a separate
field doesn't add value. (If we end up wanting more block types in the
future, we could re-add fKind as a private field.)

Change-Id: I8e9db122b4a82728d987c4913a7bdff85b4b1a2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320298
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>
2020-09-28 20:48:33 +00:00
Herb Derby
80f6e4e558 air gap SkStrikeServer API from implementation
This is the second CL for isolating the Chrome
remote glyph cache API from the implementation.

See CL/320074 for the first CL, which handles
SkStrikeClient.

Pull out the rest of the tracing functionality.

Change-Id: I4d6aa4bf648a0d2d55cecedbe445a05c27e3a986
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320256
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-09-28 20:43:33 +00:00
Ethan Nicholas
1fd6116b25 moved SkSL DoStatement's data into IRNode
Change-Id: I936a939c105a9707d9cd7bcfdcf3e642c8f5c99a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320259
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-09-28 20:30:33 +00:00
Jim Van Verth
c2d10ef667 Add deprecation warning when running Metal on older OSes.
Older versions of MacOS are unstable when compiling shaders, and we
don't have the testing support for older versions of iOS.

Bug: skia:10777
Change-Id: I95d9fe0f1007af6bec5c7525dacda565e32989f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320260
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-09-28 20:14:43 +00:00
Brian Salomon
c993fe60be Work around python 2 shutil.copy2 date bug
ninja 1.9.0+ exposes a bug in python shutil.copy2 where a copied file's
date is the src's date but rounded. This can cause ninja to think the
copied file is slightly older than the src and trigger unnecessary work
when building.

https://github.com/ninja-build/ninja/issues/1554

Change-Id: I53247453f38a1c98c5d832bdda0f68effbe786c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320261
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-09-28 20:12:13 +00:00
Greg Daniel
427d8ebf30 Fix offscreen drawing when cleaning up vulkan viewer.
When using offscreen draws, we save the "previous" frame in fLastImage
in viewer. However this image holds a ref to the GrContext. When we
were destroying the vulkan context we thought we were destroying the
GrContext before the VkDevice but fLastImage was keeping it alive.

This changes makes sure to reset fLastImage when we are done with it.

Change-Id: Ib70e069a261f939217436a9f052d7565581cd230
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320263
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
2020-09-28 19:41:03 +00:00
John Stiles
3d921f1b2c Add unit test to demonstrate lack of SkSL swizzle optimization.
The right side of assignments will collapse redundant swizzles, but the
left side does not. Code like this can actually cause the ByteCode-
Generator to assert if it is run (it asserts in `swizzle_is_simple`
during code generation).

Change-Id: I891912fe0b5de2670dfa95f6702a86d5c42bb2ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320296
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>
2020-09-28 19:02:03 +00:00
John Stiles
06febefd7e Add 'tricky' OutParams golden output.
This was adapted from a test in SkSLInterpreterOutParams and presents a
challenging double swizzle.

Change-Id: Icb7b3bbb18d4b3cfa0c26acb524c08812ba88096
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319920
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>
2020-09-28 18:52:13 +00:00
Mike Klein
81b8ba2ed6 impl q14 in JIT using even lanes
We have options how to represent 8 Q14 values in a ymm,
mainly either in the 8 low 16-bit lanes or in the 8 even 16-bit lanes.

I've tried both and the even-lane approach is nicer:
   1) many operations are the same for 32-bit or 16-bit
   2) splat and splat_q14 constants can share the same pool
   3) to_q14 and from_q14 are essentially noops

Interestingly, over in the interpreter we use dense 16-bit storage for
Q14 to operate most efficiently there, so we've kind of already proved
the thesis that each backend should have this flexibility.

Change-Id: I4d5a40159d46b6b24413087d0837128e6477752d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319335
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-09-28 18:47:34 +00:00