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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>