Finds the (octagonal) intersection of the path's bounding octagon and
the scissor, and draws that octagon instead. This allows us to avoid
ever using the scissor when drawing paths to the main canvas. It will
also let us use that same octagon without scissor when resolving the
stencil buffer to coverage in MSAA mode.
Bug: skia:
Change-Id: Ia7fe60343424bc77532fa9919d3fa108337a5d63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212840
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
The mutex was originally added to support the use of multiple GrContext's
accessing the semaphore when using cross context images. However, we no
longer use semaphores for Vulkan cross contexts. We require the VkQueue to
be the same in the shared context, so this allows a simple barrier to do
the trick for us.
Change-Id: I92c80df6b14249de85e35c56c90a0910ad6c5bfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213300
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
ebab670cb3..3dbe480b55
git log ebab670cb32d..3dbe480b559e --date=short --no-merges --format='%ad %ae %s'
2019-05-10 shrekshao@google.com Validating draw buffers now also considers color mask settings
2019-05-10 jonahr@google.com generate_stats filters duplicate neighboring rows.
2019-05-10 jmadill@chromium.org Rename state change notification messages.
2019-05-10 syoussefi@chromium.org Vulkan: Support unsigned int uniform types
2019-05-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src e291f7a09f67..2dd4ab3a4acb (4 commits)
2019-05-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 89fe836fe22c..f6d9a1784313 (1 commits)
2019-05-10 syoussefi@chromium.org Vulkan: Enable EXT_frag_depth
2019-05-10 syoussefi@chromium.org Vulkan: Support flat and centroid qualifiers
2019-05-10 syoussefi@chromium.org Vulkan: fix qualifier erase for unused vertex attributes
2019-05-10 syoussefi@chromium.org Vulkan: Implement EXT_draw_buffers
2019-05-09 jonahr@google.com Change all ANGLE workarounds to use struct definition with info.
2019-05-09 timvp@google.com Allow mis-matched Android Context versions
2019-05-09 tobine@google.com Remove dontRemoveInvariantForFragmentInput WA
2019-05-09 jmadill@chromium.org Print current file in ASSERT macro failures.
2019-05-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src f88e5824d2cf..e291f7a09f67 (1 commits)
2019-05-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src d0a1f5a05a2b..89fe836fe22c (4 commits)
Created with:
gclient setdep -r third_party/externals/angle2@3dbe480b559e
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=michaelludwig@google.com
Change-Id: I629ecf35ec3540a6d1e268b351f88a9e1ed0cc41
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213401
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Change-Id: I4553bbdb7be5f5bd9e6efc12f4e3aba7557c4549
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213133
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
No users are defining this macro any more, so it should now be safe to
remove. With this change 'linearMetrics' now means 'normal metrics' if
false and 'unhinted metrics' if true.
Change-Id: I32916a7b0fc291feff7ab8cd6d68bb58847337f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213135
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Initial version. Current limitations: No Metal support, no color space
conversions, for each src color type only one dst color type is legal (
which may or may not be the src color type), no alpha type conversions.
Bug: skia:8962
Change-Id: I6f046a32342b8f5ffb1799d67d7ba15c250ef9bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212981
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Start out with spinlock. I tried to be more extensive, but some
of our abstractions confused the analysis. Will expand further
in following CLs.
Change-Id: I3e320c957d8ef427065a2b7e7d2187b7c6b0aef1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213060
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
These bots all auto-updated.
Change-Id: Ia500c871b62b48ce951ca94f4422a3a245c6e14b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213120
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Bug: b/123437630
Change-Id: I13409286910067d83654ba7df787784ded6736f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212726
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Workaround for the SkSL sources being part of the gpu component in GN,
causing link errors in CanvasKit CPU builds. Better solution is to move
the SkSL interpreter into a separate component.
Change-Id: I0438d8eff16f335eb07ff557f7917697767c58f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212987
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This reverts commit a15f355be8.
Reason for revert: ANGLE failing new test
Original change's description:
> Release YUVA planes in SkImage_GpuYUVA after flattenning to RGBA.
>
> Also removed unused virtual function from SkImage_GpuBase and override
> on SkImage_GpuYUVA.
>
> Change-Id: Ib47b46b529b16976181cb9453976133d66e0f952
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212734
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: Ib2566ff8aa99d3698d6044167e70a1d75542f2e9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212986
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This will allow clients to specify a set of SkImages and SkSurfaces that they
want transitioned to a state which they can use for their own external IO.
Specifically for Vulkan this will move the surface and images back to the queues
in which they were originally wrapped or created with.
Bug: skia:8802
Change-Id: I6a76c4c4a333a8e752632d349899f5fd9921329d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210460
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Change-Id: Ib440570ecbd46b5bc98d346592cbbb72f58ae85a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212500
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Encapsulates all the various code dealing with 45-degree bounding
boxes into a central GrOctoBounds class.
Bug: skia:
Change-Id: Ibc8ac4371af8f310e711579c3c77e0b3a53aff0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212563
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Also removed unused virtual function from SkImage_GpuBase and override
on SkImage_GpuYUVA.
Change-Id: Ib47b46b529b16976181cb9453976133d66e0f952
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212734
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Allows updating the global inputs of a cached Interpreter object.
Change-Id: I626e63294a441a7f52ae484755c99f5d04bb614f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212980
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Introduce a new SkottieShaper VAlign option (kResizeToFit), to scale the text
size for the best box fit.
The basic idea is to perform a binary search on the font size, until
the shaped text fits snuggly within the specified box. The search is
focused on height, as horizontal fitting is assumed to be handled in
SkShaper.
Change-Id: I56269e02dda7a34e4ef3b79c205ea651b909f370
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212962
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Will be helpful to display bot failures because of merge conflicts or
gn_to_bp.py script errors.
Bug: skia:9056
Change-Id: I21dd3fb5552e5f28497c425ec1e15c997afe8090
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212940
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
This reverts commit 360dc593c0.
Reason for revert: Doesn't reproduce issue.
Original change's description:
> Large circle clipping gm.
>
> Seeing if this reproduces a reported problem on PowerVR devices.
>
> Bug: b/123437630
>
> Change-Id: I161cd04034cb7d217ff519a4b26e521bf36ed4b5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212727
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,brianosman@google.com
Change-Id: Ida6225513c24ba68d4744e7871cce38555dddb61
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/123437630
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212964
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit 693bc2bae5.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Revert "Add flush() to SkImage."
>
> This reverts commit d0503a72ac.
>
> Reason for revert: <INSERT REASONING HERE>
>
> Original change's description:
> > Add flush() to SkImage.
> >
> > This allows a client to ensure all uses of a texture-backed image have
> > been flushed.
> >
> > Does nothing if the image isn't texture-backed.
> >
> > The implementation adds support for triggering a flush if any of a set
> > of proxies are used rather than just a single proxy.
> >
> > Change-Id: I358882d9737e63c6e69b924c0767f49b8f8f36ec
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212405
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
>
> Change-Id: Ie376bf4225307f45b8fb3eb4a63bf84702365797
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212884
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: Idcba378ce2e3af0af9d0eef35737670055539ec5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212960
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Seeing if this reproduces a reported problem on PowerVR devices.
Bug: b/123437630
Change-Id: I161cd04034cb7d217ff519a4b26e521bf36ed4b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212727
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit d0503a72ac.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Add flush() to SkImage.
>
> This allows a client to ensure all uses of a texture-backed image have
> been flushed.
>
> Does nothing if the image isn't texture-backed.
>
> The implementation adds support for triggering a flush if any of a set
> of proxies are used rather than just a single proxy.
>
> Change-Id: I358882d9737e63c6e69b924c0767f49b8f8f36ec
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212405
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: Ie376bf4225307f45b8fb3eb4a63bf84702365797
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212884
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This allows a client to ensure all uses of a texture-backed image have
been flushed.
Does nothing if the image isn't texture-backed.
The implementation adds support for triggering a flush if any of a set
of proxies are used rather than just a single proxy.
Change-Id: I358882d9737e63c6e69b924c0767f49b8f8f36ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212405
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Bug: skia:9035
Change-Id: I99ba10c36274f9f4b97c059bd8414c5b8cdf32de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212761
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
19905aea14..ebab670cb3
git log 19905aea14e0..ebab670cb32d --date=short --no-merges --format='%ad %ae %s'
2019-05-08 mihu@microsoft.com Adding new extension GL_OVR_multiview
2019-05-08 tobine@google.com Vulkan:Exclude pragma_vertex test on MAC
2019-05-08 jonahr@google.com Modify 'bb ls' command for generate_stats for more precision.
2019-05-08 jmadill@chromium.org Don't inherit ANGLETest SetUp and TearDown.
2019-05-08 shaforostoff@gmail.com fix a freeze when returning from fullscreen to maximized (nvidia only)
2019-05-08 jonahr@google.com Remove SystemInfo::primaryGPUIndex
2019-05-08 courtneygo@google.com Refactor in preparation of adding OES_depth_texture
2019-05-08 timvp@google.com Vulkan: Enable standard derivatives extension
2019-05-08 staphany@chromium.org Roll ./third_party/googletest/src/ 9997a830e..3f5b5b8f8 (3 commits)
2019-05-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src c0640dabfddd..f88e5824d2cf (1 commits)
2019-05-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 63f57d95d6fa..d0a1f5a05a2b (3 commits)
Created with:
gclient setdep -r third_party/externals/angle2@ebab670cb32d
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=robertphillips@google.com
Change-Id: Ic574f6e80b4b97854dd3b8198b2220a716fd7e6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212842
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bug: skia:8243
Change-Id: Iadd2445efe86e796b23ea20edbe49d684f626d9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212270
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
We previously moved them to only being added via -isystem
(and -imsvc). This prevents warnings in those headers from
breaking our builds, which is good.
However, when generating Visual Studio project files, GN
doesn't know about those switches, so it omits these paths.
Propagating to include_dirs causes them to be added, and
fixes include path and symbol resolution in the IDE.
Change-Id: Id261bec8f91d2eaca60dbc6c3e8628e9608826ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212762
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Change-Id: I3ffc7736d96cd95c171b8f421ccd79d0055a983d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212725
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
We had tried to do this in Android P but it was reverted due to what
was believed to be a driver bug related to multi-texturing in
GrTextureOp (since removed).
Change-Id: I3ad3630218f5d3d617a07776425972c2009c2ca9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209641
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
The remote glyph cache uses calls to prepareForDrawing for tracking
glyph data to send cross process. The results array is never used
anymore.
Change-Id: I5b362dd7736edeaf57b6353dcb00f9716e79bd70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212501
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
GrGpu implements CPU/GPU synchronization using GrFence and GPU/GPU
synchronization using GrSemaphore. However, it currently uses one cap,
fenceSyncSupport(), to check for availability of both.
This change separates these caps.
Change-Id: I3e976c7f8e5355c0c212c8de3cc8d8cb77d921d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212720
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: I267c99c8c36b1d39abe9cf196996db43edb2b839
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212721
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
The trick we're playing in order to retarget DDLs at the replay SkSurface's RenderTargetContext/RenderTargetProxy has come back to bite us.
Bug: 958055
Change-Id: Ifbfcc82691fba1aa4cf154577f6ba1ef488ac013
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212502
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>