Commit Graph

49399 Commits

Author SHA1 Message Date
Robert Phillips
2a4acf328c Remove all internal uses of (and deprecate) SkSurface::getContext
We are replacing GrContext with the GrDirectContext/GrRecordingContext
pair. This starts making that change visible to clients (and weaning
Skia off of GrContext).

Change-Id: I00cc9bf208499984de855a1646229bd7557fc925
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300706
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-08 16:09:27 +00:00
Herb Derby
bab3dab722 remove unused clipRect for distance field
In the call insertSubRunOpsIntoTarget, the clipRect is always empty
for the distance field case.

Change-Id: Ib17eaae37a153c5b6aa473b2bf31d8b6c985e78f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301257
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-08 15:40:07 +00:00
skia-recreate-skps
bf052fa77a Update Go Deps
Change-Id: I28d6b6d619261256e48652bc00ac38fa6ffc50e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301322
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-07-08 15:37:37 +00:00
Robert Phillips
f0288101b5 Remove SkCanvas::getGrContext calls from benches
This will get us closer to deprecating getGrContext.

The benches have no SkSurface::getContext calls.

TBR=bsalomon@google.com
Change-Id: I6496a6324091a75d2829bd7ee20bdbe0dc3b6fe9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300654
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-08 14:55:57 +00:00
John Stiles
3c8178b619 Remove deprecated form of asFragmentProcessor method.
The deprecated form of `asFragmentProcessor` that did not take an
inputFP is no longer used and has been removed. The helper method
`colorFilterAcceptsInputFP` which distinguished between the forms
has also been removed.

Change-Id: Ic79198f1a734d3a7c2b0a299bc5d90e3c9b2a57f
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301019
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-07-08 14:41:57 +00:00
John Stiles
28e1eff6af Add support for an inputFP in SkRuntimeColorFilter::asFragmentProcessor.
Runtime color filters are public API which take a color as in/out.
Changing this would be an API break. To work around this, RunInSeries
is used to invoke the inputFP, then pass its results into the runtime
color filter. This is less than ideal but allows us to preserve the
semantics that RuntimeColorFilter has historically used.

Change-Id: If973ae0f25e7610b7a4df3e4df5080f51293fd90
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301217
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-07-08 14:38:57 +00:00
Nathaniel Nifong
d463a9d4fb [canvaskit] Fix first frame measurement
Change-Id: I4bb7f8550ee1dc73bfdc3e2e8f7138ac0c86e7a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301296
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Nathaniel Nifong <nifong@google.com>
2020-07-08 14:38:38 +00:00
John Stiles
234592ce5a Add support for an inputFP in SkHighContrast_Filter::asFragmentProcessor
This CL also makes a few minor improvements:
- Fewer calls to codeAppend[f], as each call is relatively expensive.
- Avoid calculating `fmax + fmin` repeatedly while performing RGB->HSL
  conversion.
- Fixes spacing for better readability in shader panel.

Change-Id: I81b902009328765f11f8e18e1cf9edea214a4da7
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300781
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-07-08 14:30:27 +00:00
Herb Derby
e5b768bb8e loop over SubRuns in GrRenderTargetContext
Change-Id: Ie152ca001be724fe5b86891f4c192813b0bd0edb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301000
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-07-08 14:19:47 +00:00
Florin Malita
cfbb56c6e1 [skottie] Auto-orient fixes
Two issues:

1) For static keyframes (start_value == end_value) AE yields horizontal
   orientation (0 tangent).  We technically have the same logic in
   Skottie, but our value deduplication logic interferes: the two
   consecutive equal values are consolidated, and the result ends up
   holding the spatial lerp info for the next frame => our hold frames
   auto-orient for the beginning of the next keyframe.

   Fix: skip value deduplication when spatial lerp is present.

2) The very last keyframe is always static and holds no spatial info.
   AE retains the orientation of the previous frame, but Skottie yields
   0 tangent.

   Fix: the easiest way to accomplish AE semantics is to detect when
   we're dealing with the last keyframe, and swap with the previous
   keyframe with an adjust weight of 1 (to select the end value).  This
   produces the same lerp result (because keyframed values are always
   contiguous) and also respects the orientation of the prev frame.

TBR=
Change-Id: Id661f7804533e95b747722457489a7ef759572a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301176
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-07-08 13:52:27 +00:00
Jim Van Verth
8bf01945da Replace remainder of HRESULT checks with macro
Change-Id: Ice46fc0bc97d6dc00e707316647d04a3137ef9f4
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300212
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-07-08 13:37:07 +00:00
skia-autoroll
d3fca6b96d Roll ANGLE from 8b80e852bd6c to 3688cb363ccd (9 revisions)
8b80e852bd..3688cb363c

2020-07-07 nguyenmh@google.com Fix bugs in angle_end2end_tests and frame capture
2020-07-07 jiajie.hu@intel.com Remove a few hardcoded path to libjpeg_turbo
2020-07-07 etienneb@chromium.org Enable the use of chromium worker pool
2020-07-07 etienneb@chromium.org Fix typos in comment
2020-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from 8188e3fbbc10 to db06fce926b0 (1 revision)
2020-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 5c38b18ab460 to e8b96e86fe2e (2 revisions)
2020-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from a173c025f8fe to 4c6019a855e9 (4 revisions)
2020-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 2c1ff230c26d to 6a4da9da4215 (2 revisions)
2020-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3121585acce2 to f6f11215cd93 (7 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC mtklein@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:1091259
Tbr: mtklein@google.com
Change-Id: Idbbe638e2480617b5ff832f7ccdc574cac4af164
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301059
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-08 12:49:02 +00:00
skia-autoroll
46944a8661 Roll dawn from 92554d75f354 to 7622be0544b0 (6 revisions)
https://dawn.googlesource.com/dawn.git/+log/92554d75f354..7622be0544b0

2020-07-07 bryan.bernhart@intel.com D3D12: Avoid re-binding sampler tables.
2020-07-07 rharrison@chromium.org Roll 6 dependencies
2020-07-07 cwallez@chromium.org Rolling 2 dependencies
2020-07-07 cwallez@chromium.org Implement GPUBufferDescriptor.mappedAtCreation.
2020-07-07 cwallez@chromium.org Roll third_party/swiftshader/ d25ce8725..f6f11215c (155 commits)
2020-07-07 tommek@google.com Rephrasing CopyBufferToTexture validation

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang from 839704450200 to 29c9135d06f1
  https://chromium.googlesource.com/external/github.com/google/shaderc from f4025c1cd5c2 to 1402ed576596

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: I58192dcda6c5b404f0f3815ce81f5613fca336be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301058
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-08 12:43:58 +00:00
skia-autoroll
d66f19782a Roll SwiftShader from f6f11215cd93 to 28159ee9c8e3 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f6f11215cd93..28159ee9c8e3

2020-07-07 swiftshader.regress@gmail.com Regres: Update test lists @ f6f11215

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 mtklein@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: mtklein@google.com
Change-Id: I8f72936122018ab8027588a24cbbe1c122b46e2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301057
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-08 12:43:57 +00:00
Robert Phillips
d5f3c98166 Update DDL test harness to use GrDirectContexts
Before I start updating this to support relocatable DDLs I felt I
should clean it up a bit.

Change-Id: I640d15a40164b33c4c2d7378e37d39fe7d3ff313
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300926
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-08 12:33:27 +00:00
Robert Phillips
5a33f21a48 Remove a Chrome staging flag
Chrome no longer requires/uses the SK_LEGACY_MAKEFROMTEXTURE_BEHAVIOR flag

Bug: 1097484
Change-Id: Iddc0382a946565be226a63620f729391388a936a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300925
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-08 12:15:57 +00:00
Dominic Mazzoni
473c9f4cd9 Tagged PDF annotations must appear in the Parent Tree as well.
In order for a tagged PDF to validate, each annotation (such as
a hyperlink) must have a /StructParent entry that links back to
the Parent Tree object, which in turn links that annotation to
its corresponding struct tree node.

The parent tree also contains one entry per page. Both the page
entries and the annotation entries need IDs.

Since we don't know in advance how many pages will be in the
doc at the time we start processing annotations, we start the
annotation IDs with a large number (100,000) which effectively
serves as the maximum number of pages in a document that we can
handle.

Bug: chromium:1100712
Change-Id: I5df84c4249ed6a4d21222cfc86b2c0c9b17d6efb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300254
Auto-Submit: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-07-08 00:07:15 +00:00
Nathaniel Nifong
1436d7278c Move frame measurement code into shared location
Change-Id: Ib083773a9f9efbe337daa05146ef85259c0fdc35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300174
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-07-07 21:53:25 +00:00
Ben Wagner
b37072556a Mark SkGetThreadID SK_SPI in debug.
Bug: skia:10381
Change-Id: I92feb4a668738d7f9375a6f204c663f1eb1b3a9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301009
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-07-07 21:50:55 +00:00
Jim Van Verth
bb61fe3245 Hoist up submit for resolves
Change-Id: I1ce210d77d586f5c73ee89d1eaaa4490322a977b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301001
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-07-07 21:14:15 +00:00
Brian Osman
cd28fa6f6b Always use Skia's Vulkan headers when compiling particles module
Previously, doing an official build of Skia with Vulkan and particles
enabled would succeed in compiling all of skia.lib, then fail to find
Vulkan headers for two particle .cpp files (that reach GrVkVulkan.h
via SkSL headers).

Bug: skia:10469
Change-Id: Ia5bdb7df25e7259e43cef3e6ff9719a8c8452022
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301002
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-07-07 20:44:34 +00:00
Jim Van Verth
275f419a60 Add D3D support for MSAA
Change-Id: I7f9122bb99fea952a67fa47aaada789037438152
Bug: skia:10476
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300906
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-07-07 20:34:15 +00:00
Brian Osman
9cf98dcb49 Remove GrCoordTransform entirely
Bug: skia:10416
Change-Id: I0ca7535a0e6507e6b2a9f4682788826972c5f3b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300296
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-07-07 20:06:04 +00:00
John Stiles
894ddb001e Add support for an inputFP in SkMixerColorFilter::asFragmentProcessor.
Change-Id: Ib7a0b26568947bc0ec377a6f7f81ddac2c7c2528
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300649
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-07-07 19:42:34 +00:00
Herb Derby
d94e71e69c use SkTInternalLList in SubRun
Change-Id: Ic92f7e3ac87b81e0bf59dd1fe7bd96f3da98dabf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300620
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-07 19:39:04 +00:00
John Stiles
b89e52e5f9 Update GrConfigConversionEffect to use an input FP.
In a strange twist, this effect already exposed a required input FP to
external callers, but implemented its behavior using RunInSeries. This
doesn't appear to have imparted any benefit, compared to sampling from
a child FP in the usual way.

Additionally, moved a 100-line test function `GrConfigConversionEffect::
TestForPreservingPMConversions` out of the header and into the CPP.

Change-Id: Ice8c1f1e2cb76177a8a2bf6cfc3e3d163854df64
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300908
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-07-07 19:20:34 +00:00
Herb Derby
7a1d942eb1 consolidate text op creation
Calculating values for the distance field and bitmap ops were
split in the call stack. Consolidate all the calculations.

Change-Id: I933ca86684bbe8b0b6c58c5781d0d6f9aa39d220
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300617
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-07 18:53:40 +00:00
Tyler Denniston
b4d60f807d Fix use of uninitialized value in SkSVGDevice
The asAGradient() function appears to be deprecated
(https://crbug.com/skia/8941) but there's no easy way to remove its use
here at the moment. So, fixing the surface-level issue.

Bug: oss-fuzz:23932
Change-Id: Ia9675f3b31644f2754421f27844e77c43f189c90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300907
Reviewed-by: Florin Malita <fmalita@chromium.org>
Auto-Submit: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-07-07 18:49:10 +00:00
Brian Salomon
01d8ad64fe Use GrUniformDataManager in Dawn backend.
Change-Id: Ief5dda99649cef57acd798b0b90f904fa440386d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300899
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-07-07 18:18:55 +00:00
Chris Dalton
476975460d Reland "Return the actual block capacity from GrBufferAllocPool::makeSpaceAtLeast"
This is a reland of d10f080fa8

Original change's description:
> Return the actual block capacity from GrBufferAllocPool::makeSpaceAtLeast
>
> It looks like this was changed to return the fallback size instead of
> the block capacity for the sake of GrTextureOp, but GrTextureOp does
> not call makeSpaceAtLeast() anymore.
>
> For ops that write their vertex data in chunks, it's best to know the
> full capacity of the block. This way they can maximize the amount of
> data written out per chunk.
>
> Bug: skia:10419
> Change-Id: I7d3f74cdfc7d9b89f9d331e09069f8d178c07d81
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300396
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=bsalomon@google.com

Bug: skia:10419
Change-Id: Id76b0ef56d9df32545773634a13733739284240c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300877
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-07-07 18:13:51 +00:00
Adlai Holler
e3ad527e3f Add a convenience to downcast contexts into GrDirectContext
This pattern of needing a safe downcast will continue to grow as we
add more explicit use of GrDirectContext and it's causing long ternary
operations that span multiple lines.

Change-Id: I9e2ebe5156e4245524a52d7c92ed3a8509e53151
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300901
Commit-Queue: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-07 18:13:50 +00:00
Florin Malita
c7b49bbb9b [skottie] Fix merge paths <-> paints interaction
Unlike other shape path effects, merge paths disables the rendering of
any preceding paints - it only extracts the merged geometry from the
stack.

Update the shape layer attacher logic to suppress paints under merge
paths.

TBR=
Change-Id: I414134839de9eaa4b0f828d8dc6d4721620242bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300897
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-07-07 17:28:47 +00:00
Florin Malita
cf5e35f721 Use ContextInfo::directContext() in skottie2movie.cpp
TBR=
Change-Id: I3ed43328f84d4172407b40c32f5d331fa3b221d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300821
Reviewed-by: Florin Malita <fmalita@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
2020-07-07 12:39:22 +00:00
Zepeng Hu
a0f9a3e62a sync with master 2020-07-07 12:23:35 +00:00
Chris Dalton
05da783f87 Revert "Make SkGpuDevice hold a GrRecordingContext"
This reverts commit c8b721b086.

Reason for revert: Looks like it's causing build failures around
MakeRenderTargetContext on the roll.

Original change's description:
> Make SkGpuDevice hold a GrRecordingContext
> 
> This makes the code reflect what is actually going on. During DDL
> recording the SkGpuDevice only holds a recording context.
> 
> This can't land until the following Chrome-side CL lands:
> 
> https://chromium-review.googlesource.com/c/chromium/src/+/2277964 (Add GrContext.h include to skia renderer for upcoming Skia roll)
> 
> Change-Id: I69cfa744226c315c25f68fc509b7b59ec38bbf31
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/299867
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Adlai Holler <adlai@google.com>

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

Change-Id: I6a362daf7c40e36ed9f068c5b2d477c16a3f778e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300853
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-07-07 07:23:55 +00:00
Chris Dalton
95dfda4eca Revert "Return the actual block capacity from GrBufferAllocPool::makeSpaceAtLeast"
This reverts commit d10f080fa8.

Reason for revert: Possible failures on roll

Original change's description:
> Return the actual block capacity from GrBufferAllocPool::makeSpaceAtLeast
> 
> It looks like this was changed to return the fallback size instead of
> the block capacity for the sake of GrTextureOp, but GrTextureOp does
> not call makeSpaceAtLeast() anymore.
> 
> For ops that write their vertex data in chunks, it's best to know the
> full capacity of the block. This way they can maximize the amount of
> data written out per chunk.
> 
> Bug: skia:10419
> Change-Id: I7d3f74cdfc7d9b89f9d331e09069f8d178c07d81
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300396
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

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

Change-Id: Idb315fd68bcb585dcf5017872c0ffb7d0a52214c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10419
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300850
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-07-07 07:17:15 +00:00
skia-recreate-skps
9f57f0ec93 Update Go Deps
Change-Id: Ibcaddba9af73a02ea0d0d37c880d899a5eeb1da5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300836
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-07-07 05:32:52 +00:00
skia-autoroll
5f8e1eea1d Roll Chromium from 2d0c7f09acbd to e6974b0e45b1 (315 revisions)
2d0c7f09ac..e6974b0e45

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 mtklein@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: mtklein@google.com
Change-Id: Ifa3cc222e8442cd732022ed1984ae4ab1d3c0684
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300808
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-07 05:16:57 +00:00
skia-autoroll
d7640c8fb8 Roll SwiftShader from 3121585acce2 to f6f11215cd93 (7 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3121585acce2..f6f11215cd93

2020-07-07 capn@google.com Implement shaderStorageImageExtendedFormats support
2020-07-07 capn@google.com Implement scatter/gather for 1- and 2-byte texels
2020-07-07 capn@google.com Fix float-to-half conversion
2020-07-06 capn@google.com Eliminate large image specialization
2020-07-06 capn@google.com Refactor texel buffer reads
2020-07-06 capn@google.com Implement SNORM uniform texel buffer support
2020-07-06 capn@google.com Implement B10G11R11_UFLOAT_PACK32 uniform texel buffer support

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 mtklein@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: mtklein@google.com
Change-Id: If230893fa1cef762d3da9a35ff458221216bdc97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300809
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-07 05:12:02 +00:00
skia-autoroll
5bb2628b17 Roll dawn from 59ccb1f6de17 to 92554d75f354 (5 revisions)
https://dawn.googlesource.com/dawn.git/+log/59ccb1f6de17..92554d75f354

2020-07-06 rharrison@chromium.org Update path of third_party/spirv-tools to SPIRV-Tools
2020-07-06 cwallez@chromium.org Update dawn.json to more closely match webgpu.h
2020-07-06 cwallez@chromium.org Update GetMappedRange to not produce validation errors
2020-07-06 xinghua.cao@intel.com Check FP16 support on D3D backend
2020-07-06 jiawei.shao@intel.com Implement buffer lazy initialization before writeBuffer

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: Ie67a8a46ff5bc2c09ab0f5165984b470b826dd0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300810
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-07 05:11:52 +00:00
skia-autoroll
0c0d8dd6d6 Roll ANGLE from 465a912582bb to 8b80e852bd6c (11 revisions)
465a912582..8b80e852bd

2020-07-07 timvp@google.com Remove debug info from SPIR-V
2020-07-07 syoussefi@chromium.org Build specialized version of glslang
2020-07-06 syoussefi@chromium.org Vulkan: Compress internal shaders
2020-07-06 shrekshao@google.com Fix multiDraw* with DYNAMIC_DRAW buffer usage
2020-07-06 shrekshao@google.com MultiDraw Refactor
2020-07-06 dpranke@google.com Fix import paths for //scripts/run_gtest_angle_test.py.
2020-07-06 m.maiya@samsung.com Vulkan: Query aspect flag from the image
2020-07-06 jonahr@google.com EGL: Add basic multithreading support
2020-07-06 jmadill@chromium.org Test Runner: Batch tests by config.
2020-07-06 lehoangq@gmail.com Fix end2end intermittent crash on macOS if custom OSWindow is used.
2020-07-06 syoussefi@chromium.org Add new override required by glslang's BUILD.gn

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 mtklein@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:816629
Tbr: mtklein@google.com
Test: Test: CQ
Change-Id: I98a6ac12038bb8e40892352633f2b5c5784bc55b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300811
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-07 04:41:22 +00:00
Chris Dalton
d10f080fa8 Return the actual block capacity from GrBufferAllocPool::makeSpaceAtLeast
It looks like this was changed to return the fallback size instead of
the block capacity for the sake of GrTextureOp, but GrTextureOp does
not call makeSpaceAtLeast() anymore.

For ops that write their vertex data in chunks, it's best to know the
full capacity of the block. This way they can maximize the amount of
data written out per chunk.

Bug: skia:10419
Change-Id: I7d3f74cdfc7d9b89f9d331e09069f8d178c07d81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300396
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-07-07 01:37:40 +00:00
Robert Phillips
c8b721b086 Make SkGpuDevice hold a GrRecordingContext
This makes the code reflect what is actually going on. During DDL
recording the SkGpuDevice only holds a recording context.

This can't land until the following Chrome-side CL lands:

https://chromium-review.googlesource.com/c/chromium/src/+/2277964 (Add GrContext.h include to skia renderer for upcoming Skia roll)

Change-Id: I69cfa744226c315c25f68fc509b7b59ec38bbf31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/299867
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2020-07-07 01:35:30 +00:00
Nathaniel Nifong
6130d5079d Helper function for camera setup
Change-Id: I839fea29c2e56cfc2a4e4557da3197bf211513eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/299654
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-07-07 00:30:03 +00:00
Stephen White
ac45f499af Dawn: work around a fragcoord.w issue on D3D12.
D3D12 supplies w in fragcoord.w, while other backends supply 1/w.
This may be better handled in Dawn or SPIRV-Cross, but for now we'll work around the issue here.

Bug: skia:10475
Change-Id: I8f32f71f8f6b454365fbd0728fe063de2c150b8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300711
Commit-Queue: Stephen White <senorblanco@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-07-06 20:52:33 +00:00
Greg Daniel
709ce8181e Make sure we have a valid command buffer throughout vulkan.
This is a speculative fix for linked chromium bug

Bug: chromium:1096535
Change-Id: Ifa2f3bb116695d0163b70e721e2da17279a68edb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300708
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-07-06 20:45:33 +00:00
Brian Salomon
ffd15eafd9 Remove unused base class GrGLSLFragmentBuilder
defines one method that is never used.

Change-Id: If8522c5f1ac7447b0d5584e76cdbd2f7d127036b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300259
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2020-07-06 20:03:33 +00:00
Julia Lavrova
a6d1e98b65 Revert "ICU API: only in SkParagraph, simplified."
This reverts commit 8d639e1a42.

Reason for revert: Build break

Original change's description:
> ICU API: only in SkParagraph, simplified.
> 
> Change-Id: I4f7fbb233217cb3b7a171c91720c9c2289e28a5f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/296128
> Commit-Queue: Julia Lavrova <jlavrova@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com

Change-Id: If41d7ebaa081837bf2615b24d9035f37cdb76081
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300712
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-07-06 19:59:15 +00:00
John Stiles
3851be4555 Add support for an inputFP in SkTableColorFilter::asFragmentProcessor.
Additionally, fixed a performance bug which caused the fragment
processor to sample the alpha component from the color-table texture
twice. (This repeated evalation was not optimized away during
compilation.)

Change-Id: Ia2314d7918d849b894043321d6dca5da633cda4a
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300699
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-07-06 19:44:43 +00:00
Julia Lavrova
8d639e1a42 ICU API: only in SkParagraph, simplified.
Change-Id: I4f7fbb233217cb3b7a171c91720c9c2289e28a5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/296128
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-07-06 19:13:23 +00:00