Commit Graph

41298 Commits

Author SHA1 Message Date
Ethan Nicholas
21a9b56fc2 moved files generated from .fp files into generated/ directories
Bug: skia:
Change-Id: I8605cdfcc0b1c56c23a6075c7fe188ab7384681c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207221
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-10 18:02:02 +00:00
Herb Derby
7921c01150 Reland "Do not use sub-pixel positioning for source space"
This is a reland of 7b56b0ae39

Original change's description:
> Do not use sub-pixel positioning for source space
>
> Since the source space drawing modes call getGlyphMetrics with
> the point {0, 0}, just turn of sub-pixel positioning. This uses
> a more efficient code path in the strike
>
> Change-Id: I360f56e1eede776dfa82db6b780b88c1fda50d36
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206701
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
> Auto-Submit: Herb Derby <herb@google.com>

Change-Id: I4f5305990765e280930f93b25c049f6df198dc10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206912
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-10 17:36:50 +00:00
Robert Phillips
223845f792 Remove unnecessary flush in RenderYUVAToRGBA (take 2)
There is no real reason to flush here. If clients need to access the results immediately they should be flushing at the API level.

A reland of: https://skia-review.googlesource.com/c/skia/+/196645

It needs to land after the Chrome CL:

https://chromium-review.googlesource.com/c/chromium/src/+/1560554 (Flush pending work after calls to YUVGrBackendTexturesToSkImage)

Change-Id: I230d7433b5c1b72d8f50fd475033c942826eda94
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206688
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-10 17:08:00 +00:00
Brian Osman
14003828df Delete SkSL::Compiler copy constructor and assignment operator
Another fix for Windows DLL builds. This is basically the issue from
crbug.com/770771 - we have a vector<unique_ptr>, and unique_ptr does
not allow copying or assignment. For an exported (SK_API) class, those
members will be auto-generated unless they're explicitly deleted.

Change-Id: I5764ecf0528f28cc3c201127b51574ad41841325
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207220
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-10 16:21:04 +00:00
Ben Wagner
20054dca88 Make path in Sk1DPathEffect thread safe.
Found by TSAN reporting on a recorded Sk1DPathEffect being drawn from
multiple threads.

Change-Id: I6d4bf9c336d9fd091263babd558891e64203e281
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207180
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-04-10 16:00:30 +00:00
Hal Canary
f5edf36d44 SkPDF: split GraphicStateStack out
motivation: SkPDFDevice is too big to think about.

All pdf outputs are identical.

Change-Id: I7d56aea07907ebcc9276d81797007d6798d54ee0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207123
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-10 15:42:40 +00:00
Hal Canary
b4719cc724 SkPDF: simplify device drawRect
minimal difference in `thinrects` gm, all having to do with degenerate
rectangles.

Change-Id: I1cec8698f5c20b966b9d92acbd476e4b499df879
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207120
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-10 15:39:00 +00:00
Ethan Nicholas
442615b85a regenerated FP files to make bot happy
Bug: skia:
Change-Id: I487e17d32d26f9f5acafe011ea1a6ad90cedf9b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207122
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-10 15:30:50 +00:00
Brian Salomon
a585fe9a74 Add Vulkan implementation of transfering from GrSurface to a GrGpuBuffer
Bug: skia:8962
Change-Id: I3796bef5a9e1af741b933afc78e32effb2b57a4a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206703
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-04-10 15:28:30 +00:00
Brian Osman
e8a986387b Define all ImageSetEntry members out of line
This fixes compile errors in Windows DLL builds, where (due to
exceptions?) any of these members might need to call sk_sp's
destructor.

Change-Id: I82986afa4497216cda76b681782ccea3c530ba7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207121
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-10 15:06:20 +00:00
Robert Phillips
9313aa77e1 Skip flush in GrDrawingManager if the specifed proxy doesn't have any work (take 2)
This is rather ham-fisted but I would like to have a short-term fix for the "always-flush" perf regressions.

Change-Id: I508e2d725ac18f50318baf31bc3243fe932c724b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206697
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-10 13:55:01 +00:00
Ravi Mistry
7bea727f5a [Android compile bot] Also build frameworks/base/libs/hwui
Bug: skia:8958
Change-Id: Ib30425535fa6553996e49fdddd23a815b2e6709a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206712
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-04-10 13:50:51 +00:00
Nathaniel Nifong
26f410d8cf externs needed for cpu/gpu switch
Bug: skia:
Change-Id: I39de7abdc54872ae983bbb8a7e88a8b9d93a952b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206919
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2019-04-10 13:47:21 +00:00
skia-recreate-skps
064a0b4716 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: Iceb2f9129d58bfc6a7ae8265bdb7b9a576a875df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207061
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-10 05:54:21 +00:00
skia-autoroll
e3e1146808 Roll third_party/externals/angle2 82418c821689..f39b4f0280ef (12 commits)
82418c8216..f39b4f0280


git log 82418c821689..f39b4f0280ef --date=short --no-merges --format='%ad %ae %s'
2019-04-09 timvp@google.com Vulkan Android: Remove workaround to clamp the point size
2019-04-09 spang@chromium.org Fix leak of MemoryObjectManager from context state
2019-04-09 jmadill@chromium.org Fix glCopyTexSubImage3D.
2019-04-09 syoussefi@chromium.org Rename getCurrentDisplay to getDisplay
2019-04-09 syoussefi@chromium.org Vulkan: fix CPU throttling frames to 2
2019-04-09 geofflang@chromium.org Propogate dirty bit signals from TextureImpl to Texture up to Context.
2019-04-09 timvp@google.com Re-Enable MipmapTest.TextureCubeGeneralLevelZero/ES2_VULKAN
2019-04-09 syoussefi@chromium.org Vulkan: parallelize internal shader compilation
2019-04-09 jmadill@chromium.org Formalize preference for handling generated code.
2019-04-09 ynovikov@chromium.org Skip LineLoopStateChangeTest.DrawElementsThenDrawArrays on Win Vulkan AMD
2019-04-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src e8c2d95ed45f..d90aae9a5a6c (5 commits)
2019-04-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src e06c7e9a515b..0527c9db8148 (1 commits)


Created with:
  gclient setdep -r third_party/externals/angle2@f39b4f0280ef

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=egdaniel@google.com

Change-Id: I9403e5d0818c98bbfd2f1c4f83181b168e896c35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206997
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-10 04:59:31 +00:00
skia-autoroll
241382ac86 Roll third_party/externals/swiftshader eba396cc66d3..f0aa9d5ab738 (14 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/eba396cc66d3..f0aa9d5ab738


git log eba396cc66d3..f0aa9d5ab738 --date=short --no-merges --format='%ad %ae %s'
2019-04-09 sugoi@google.com Query implementation
2019-04-09 sugoi@google.com No border for compressed cube images
2019-04-09 sugoi@google.com PipelineCache basic operations support
2019-04-09 sugoi@google.com Fix creating Buffer objects in VK_SHARING_MODE_EXCLUSIVE mode
2019-04-09 bclayton@google.com src/Pipeline: Add SIMD::Pointer
2019-04-09 bclayton@google.com SpirvShader: Implement OpBitFieldInsert
2019-04-09 bclayton@google.com SpirvShader: Implement OpBitFieldSExtract and OpBitFieldUExtract
2019-04-09 bclayton@google.com SpirvShader: Implement OpBitReverse
2019-04-09 bclayton@google.com SpirvShader: Implement OpBitCount
2019-04-09 bclayton@google.com SpirvShader: Implement OpTranspose
2019-04-09 bclayton@google.com SpirvShader: Implement OpOuterProduct
2019-04-09 bclayton@google.com SpirvShader: Add type field to GenericValue
2019-04-09 bclayton@google.com Reactor: Support printing pointers
2019-04-09 sugoi@google.com vkGetImageMemoryRequirements2 dedicated allocation


Created with:
  gclient setdep -r third_party/externals/swiftshader@f0aa9d5ab738

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=egdaniel@google.com

Change-Id: I5b6eae58f166113c60f756f0b60f00b57e63c64b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206998
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-10 04:45:31 +00:00
skia-autoroll
42bd047677 Roll ../src 79154509c679..1b121674f584 (400 commits)
79154509c6..1b121674f5


Created with:
  gclient setdep -r ../src@1b121674f5

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=egdaniel@google.com

Change-Id: I1f860a9a177ed0e6bd139fd13fe75886a3477b4c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206996
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-10 04:40:31 +00:00
Mike Reed
b5c685991f remove shader factory guard define
Change-Id: Id2d700556e5c0bc55a97b88180103e34344503ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207040
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-10 01:11:35 +00:00
Greg Daniel
2655ede7c9 Revert "Add non-AA support to OvalFactoryOps."
This reverts commit 10bf7020aa.

Reason for revert: broken layout tests (which actually look bad with change)

Original change's description:
> Add non-AA support to OvalFactoryOps.
> 
> Non-AA stroked ovals and rounded rects were falling back to a path renderer, when they can use
> the much faster OvalFactoryOps. And since CircleOp is slightly faster than FillRRectOp for AA
> circles, this extends it to work with non-AA circles as well.
> 
> Change-Id: I7e3576e081f076056a00ed57ac6a805be7348b28
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206700
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,bsalomon@google.com,brianosman@google.com,csmartdalton@google.com

Change-Id: I8d8b9addd12a41c625fbbd9ae69a5c37c7f0ca2e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207041
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-10 00:49:37 +00:00
Kevin Lubick
85de152dfa Move common canvas/pathkit dockerfiles to more intuitive location
Also rename emsdk-base -> emsdk-release so it is consistent with
the container name.

Bug: skia:
NOTRY: true
Change-Id: Idec19bdeb64a64120d0890b2987c2dce0a57535a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206909
Reviewed-by: Stephan Altmueller <stephana@google.com>
2019-04-09 23:14:13 +00:00
Jim Van Verth
10bf7020aa Add non-AA support to OvalFactoryOps.
Non-AA stroked ovals and rounded rects were falling back to a path renderer, when they can use
the much faster OvalFactoryOps. And since CircleOp is slightly faster than FillRRectOp for AA
circles, this extends it to work with non-AA circles as well.

Change-Id: I7e3576e081f076056a00ed57ac6a805be7348b28
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206700
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-04-09 21:33:35 +00:00
Ethan Nicholas
ff4fb3335b ComposeShader GPU implementations
Bug: skia:
Change-Id: I007b46ead1900a8f5cce82dec33b6d662fc63d8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206918
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-09 21:04:15 +00:00
Jim Van Verth
46431bf9d0 Add RG format to Metal
Bug: skia:8243
Change-Id: I2140a558afeacaca26c81355c906cf6ae16a2df4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206917
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-09 20:42:55 +00:00
Mike Klein
9816878163 extract ToolUtils::colortype_depth()
Change-Id: I55a3956ed6d0587f72ddff24a1769ab14e25131f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206981
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-04-09 20:32:15 +00:00
Ben Wagner
201b3752e6 Build HarfBuzz with multi-thread support.
Change-Id: I0d0061aaa37c49ca108203df955318f4481db874
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206916
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-04-09 19:47:16 +00:00
Mike Klein
de8362c6f2 remove DMJsonWriter::AddTestFailure
As far as I can tell, Gold doesn't do anything with this information.
The bots go red if any unit test fails... no need to log it long-term.

Change-Id: Iae9ddd61c0a7d37437bb93441e83948c2e518b42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206940
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-09 19:42:02 +00:00
Brian Salomon
42cbedd3c7 Temporarily make TransferPixelsFromTest read BGRA as RGBA on ES.
Remove disable of transfer support on Tegra.

Longer term we want GrGLGpu to handle the swizzle to BGRA after reading
RGBA. However, deferring that work to be part of color-type/format
refactoring.

Bug: skia:8962
Change-Id: Ib1d75fe0330aaaa02330724e58a1374129274a8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206699
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-04-09 19:33:30 +00:00
Mike Reed
442973874c remove def of colorfilter flag
Bug: skia:8937
Change-Id: I5d735fafa0339f93f5a3b3cb4adadb059e64b389
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206913
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-09 19:28:58 +00:00
Mike Reed
c8bea7deb6 New factories for SkShaders
Bug: skia:8937
Change-Id: Ic253b70fbf89059321185912aa771b1c1de7d231
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206693
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-04-09 19:15:01 +00:00
Nathaniel Nifong
d54b1fcdd9 full collection of externs
Full list of externs that need exposing

Bug: skia:
Change-Id: I9abb3d2c595d213463f69f11b1164c965d036023
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206690
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2019-04-09 18:37:18 +00:00
Herb Derby
66083e9011 Reland "Handle translating blob to origin in bulk"
This is a reland of 7a2ff3c9a8

Original change's description:
> Handle translating blob to origin in bulk
>
> Move all the glyphs in bulk. Handling the origin
> translation will be needed to use the bulk APIs.
>
> Change-Id: Ic38ebc8504d874367e4a7291e26f3dfc2c59222b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206397
> Auto-Submit: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

Change-Id: Idc1c96d9386b73c3f6f9dbb89f7eb8618863550a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206906
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-09 18:16:08 +00:00
Hal Canary
774227856f SkPDF: move annotations away from device.
This eliminates an unneccesary copy when we do drawDevice()

Change-Id: If2fd866b5bdd6c60b0493eb2b763a63b18ea9f13
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206910
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-09 18:07:11 +00:00
Mike Klein
a833cff194 some refactoring ideas
- streamline source initialization so that each
    kind of source only has to mention what's interesting
    to it, with defaults for some obvious fields.

  - have sources return a Result rather than a bool,
    encapsulating Ok/Skip/Fail and any failure message,
    but grab this in a middle draw() layer so each backend
    doesn't have to care about anything but Ok/Skip.

Change-Id: I715278ba5e05892e42c8875bd607160b0cc594b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206763
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-04-09 17:54:36 +00:00
Ethan Nicholas
bcd51e8e6d SkSL 'key' variables can now be controlled by 'when' expressions
Bug: skia:8880
Change-Id: I075ef57035b37250196d85bc6767eb877e445aa2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206698
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-09 17:46:56 +00:00
Florin Malita
80658204f4 Revert "[skottie] More snug kTop Shaper alignment"
This reverts commit 7ef3e14516.

Reason for revert: TSAN failures (HB?)

Original change's description:
> [skottie] More snug kTop Shaper alignment
> 
> The current implementation relies on SkShaper ascent values for top
> text box alignment, but the results are not as visually accurate as AE
> (or Lottie).
> 
> Use the computed tight bounds instead.
> 
> Change-Id: I4447a834fe3cae398fc887766daa68802e7f50a5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206684
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>

TBR=bungeman@google.com,fmalita@chromium.org

Change-Id: Icdcca2f6a7b33c8366c1118be2e842ff3978c8bd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206911
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-04-09 17:37:21 +00:00
Hal Canary
f22466e57c SkPDF: remove unused field
Change-Id: Ib596fca159044c5406be32e501796c4f10ac085e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206903
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-04-09 17:26:06 +00:00
Greg Daniel
212ff0512d Fix to barrier batching.
The vulkan spec doesn't specify a specific order for which memory barriers
submitted in the batch will execute. Thus we need to break apart batches
if barriers overlap in the subresources that they affect to make sure they're
ordered how we want.

Bug: skia:
Change-Id: I6ca6fe365301b88d11f6792ee059882f06e2eca5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206907
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-09 17:08:14 +00:00
Mike Klein
7b8bc53b93 --parameters -> --properties
This was a brain fart when I wrote it the first time;
the expected flag name is --properties.

    ~/skia (refactoring↑1|…) $ git grep DEFINE_string\(properties
    bench/nanobench.cpp:static DEFINE_string(properties, "",
    dm/DM.cpp:static DEFINE_string(properties, "",
    tools/fm/fm.cpp:static DEFINE_string(properties, "",

Change-Id: I9ada23e26a748bd6bc85ae5682bd03c130edc054
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206941
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-04-09 17:08:13 +00:00
Michael Ludwig
97b9442b0d Detect simpler quad type when possible
Previously, providing 4 SkPoints to draw as a quad meant the tessellator
used either kStandard or kPerspective, and couldn't use the faster
kRect and kRectilinear options. This had been simple and under the
assumption that most provided quad points would be from BSP splitting.

However, to emulate SkiaRenderer's required content_area clipping, the
content area is sent as the srcRect and the original geometry is stored
in the SkPoints. In these situations, the it is easy to detect that the
4 points make a rectangle and then relying on the CTMs matrix for the
quad type is perfectly safe.

Change-Id: Ib2b599fa9c82d275519e17cf813713806a565afe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206908
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-04-09 16:57:43 +00:00
Mike Reed
b5d8c634f9 remove guard for bitmap shader api
Change-Id: I6500f036970aa7fcc86ca0a9d2066a66e4c1c039
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206692
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-09 16:08:00 +00:00
Brian Salomon
4ffbfe6177 Add support for importing GL_R16F for YUVA promise images
Change-Id: Id9bfc98e7154dd41f3954c5824a3ab04afce3f50
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206900
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-04-09 14:50:40 +00:00
Martin Vejdarski
8842799432 add missing shared lib visibility macros
fixes linker errors when using is_component_build

Change-Id: Ie28b0e8881cb81715a959df3a87bae4fa854afda
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206140
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Auto-Submit: Martin Vejdarski <martin@mainframe.co.uk>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-09 14:34:55 +00:00
Herb Derby
09fb824a93 Revert "Handle translating blob to origin in bulk"
This reverts commit 7a2ff3c9a8.

Reason for revert: Breaks all kinds of GMs

Original change's description:
> Handle translating blob to origin in bulk
> 
> Move all the glyphs in bulk. Handling the origin
> translation will be needed to use the bulk APIs.
> 
> Change-Id: Ic38ebc8504d874367e4a7291e26f3dfc2c59222b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206397
> Auto-Submit: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=bungeman@google.com,herb@google.com

Change-Id: I007971ccf5d2af96b8dfe52c1d4a03660080a189
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206904
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-09 14:34:47 +00:00
Herb Derby
c6cfca4dac Revert "Reland "Do not use sub-pixel positioning for source space""
This reverts commit 8aa0ea04ba.

Reason for revert: Breaks win7 SVG positioning tests

Original change's description:
> Reland "Do not use sub-pixel positioning for source space"
> 
> This reverts commit d9b8eed848.
> 
> Reason for revert: This does not seem to change anything in gold
> 
> Original change's description:
> > Revert "Do not use sub-pixel positioning for source space"
> > 
> > This reverts commit 7b56b0ae39.
> > 
> > Reason for revert: speculative: broke win7 layout tests
> > 
> > Original change's description:
> > > Do not use sub-pixel positioning for source space
> > > 
> > > Since the source space drawing modes call getGlyphMetrics with
> > > the point {0, 0}, just turn of sub-pixel positioning. This uses
> > > a more efficient code path in the strike
> > > 
> > > Change-Id: I360f56e1eede776dfa82db6b780b88c1fda50d36
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206701
> > > Reviewed-by: Ben Wagner <bungeman@google.com>
> > > Commit-Queue: Ben Wagner <bungeman@google.com>
> > > Commit-Queue: Herb Derby <herb@google.com>
> > > Auto-Submit: Herb Derby <herb@google.com>
> > 
> > TBR=bungeman@google.com,herb@google.com
> > 
> > Change-Id: I06cafe542fe6374d1a273db09617dbebd9eb04c7
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206696
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> 
> TBR=bungeman@google.com,herb@google.com,reed@google.com
> 
> Change-Id: I44ed127ee1e7494c8959b66d25654b3393e99b27
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206901
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=bungeman@google.com,herb@google.com,reed@google.com

Change-Id: I24ce322fa5bc285bf0fc1e0687490fa3971b291f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206713
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-09 14:28:58 +00:00
skia-autoroll
ba6087c8b7 Roll skia/third_party/skcms 36eeb1311a72..0da672fc2c69 (1 commits)
https://skia.googlesource.com/skcms.git/+log/36eeb1311a72..0da672fc2c69

2019-04-09 mtklein@google.com runtime detection for AVX-512


The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.



CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux-blink-rel
TBR=egdaniel@google.com

Change-Id: I03188337dea03591fecfae9b3e93a5c4a8bd3725
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206880
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-09 14:27:45 +00:00
Herb Derby
a519999fa5 Reland "Add maxDimension() to glyph"
This reverts commit d3516170ac.

Reason for revert: This does not seem to affect gold

Original change's description:
> Revert "Add maxDimension() to glyph"
> 
> This reverts commit c19cf51df4.
> 
> Reason for revert: speculative: broke win7 layout tests
> 
> Original change's description:
> > Add maxDimension() to glyph
> > 
> > Expand the too large for atlas calculation. Considering making
> > a "small enough" function on glyph.
> > 
> > Change-Id: I113831f4182df0939110f651fb4a5921447124c1
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206705
> > Commit-Queue: Herb Derby <herb@google.com>
> > Commit-Queue: Ben Wagner <bungeman@google.com>
> > Auto-Submit: Herb Derby <herb@google.com>
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> 
> TBR=bungeman@google.com,herb@google.com
> 
> Change-Id: Ie11df8e314ccf801f1d223d56344640b49200633
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206695
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=bungeman@google.com,herb@google.com,reed@google.com

Change-Id: I91af46df68c901394380a97678ba2366c52cc4bf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206902
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-09 14:15:27 +00:00
Herb Derby
8aa0ea04ba Reland "Do not use sub-pixel positioning for source space"
This reverts commit d9b8eed848.

Reason for revert: This does not seem to change anything in gold

Original change's description:
> Revert "Do not use sub-pixel positioning for source space"
> 
> This reverts commit 7b56b0ae39.
> 
> Reason for revert: speculative: broke win7 layout tests
> 
> Original change's description:
> > Do not use sub-pixel positioning for source space
> > 
> > Since the source space drawing modes call getGlyphMetrics with
> > the point {0, 0}, just turn of sub-pixel positioning. This uses
> > a more efficient code path in the strike
> > 
> > Change-Id: I360f56e1eede776dfa82db6b780b88c1fda50d36
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206701
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Herb Derby <herb@google.com>
> > Auto-Submit: Herb Derby <herb@google.com>
> 
> TBR=bungeman@google.com,herb@google.com
> 
> Change-Id: I06cafe542fe6374d1a273db09617dbebd9eb04c7
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206696
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=bungeman@google.com,herb@google.com,reed@google.com

Change-Id: I44ed127ee1e7494c8959b66d25654b3393e99b27
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206901
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-09 14:13:47 +00:00
Brian Osman
5aa11fb67a Shader serialization experiment (with Mali Offline Compiler analysis)
1) Adds a --writeShaders option to fm. When that's included, the GPU
backend is run with a persistent cache (and no binary caching).
Then we dump all of the fragment shaders (GLSL for now) that were
created to the passed-in directory, along with a JSON digest listing
the number of times each one was referenced in the cache.

2) Adds a python script that invokes the Mali Offline Compiler on a
directory generated from #1, scraping the output of each compile for
cycle counts and writing the collated information to stdout.

Change-Id: Ie4b58ddac4f62e936707c6fec44f4fe605c213fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206162
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-09 13:37:55 +00:00
Mike Reed
d9b8eed848 Revert "Do not use sub-pixel positioning for source space"
This reverts commit 7b56b0ae39.

Reason for revert: speculative: broke win7 layout tests

Original change's description:
> Do not use sub-pixel positioning for source space
> 
> Since the source space drawing modes call getGlyphMetrics with
> the point {0, 0}, just turn of sub-pixel positioning. This uses
> a more efficient code path in the strike
> 
> Change-Id: I360f56e1eede776dfa82db6b780b88c1fda50d36
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206701
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
> Auto-Submit: Herb Derby <herb@google.com>

TBR=bungeman@google.com,herb@google.com

Change-Id: I06cafe542fe6374d1a273db09617dbebd9eb04c7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206696
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-04-09 12:51:30 +00:00
Mike Reed
d3516170ac Revert "Add maxDimension() to glyph"
This reverts commit c19cf51df4.

Reason for revert: speculative: broke win7 layout tests

Original change's description:
> Add maxDimension() to glyph
> 
> Expand the too large for atlas calculation. Considering making
> a "small enough" function on glyph.
> 
> Change-Id: I113831f4182df0939110f651fb4a5921447124c1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206705
> Commit-Queue: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Auto-Submit: Herb Derby <herb@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=bungeman@google.com,herb@google.com

Change-Id: Ie11df8e314ccf801f1d223d56344640b49200633
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206695
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-04-09 12:48:37 +00:00