Commit Graph

42803 Commits

Author SHA1 Message Date
recipe-roller
0d8c1aefd1 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/dc37feb99d46bdf499715ceb467d341d24524e0b Make it clear in the help message that my_activity.py dates are mm/dd/yy (mheikal@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia31e374763b118d7531cfc0175d94e26b056d2f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224567
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-28 23:08:47 +00:00
Herb Derby
1ddee02522 Remove preparePath from the SkStrikeInterface
This call is only used by the bitmap drawing. Just use SkStrike
for bitmap drawing.

Change-Id: Ib9313b21bb2f9c7de2b8ac084d905538ba45f51b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224576
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-28 21:57:47 +00:00
Greg Daniel
ab013ebe9c Move GL caps textureable and fbocolorattachment flags to FormatInfo.
Change-Id: I68d623151a64dd68a5ea7a396023c7909c6e48a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223798
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-28 19:43:37 +00:00
recipe-roller
8f284b01f7 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/6095d4006152c956759c24af5466f47b1a0ab1d3 Make sure PresubmitResult can be converted to a json. (debrian@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie73b4614260176f15a8a46d086c8206554499cf3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224513
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-28 19:20:07 +00:00
Michael Ludwig
9b2defc3d5 Switch drawTexture calls to use attemptQuadOptimization
Before the quad-rendering op refactor, regular filled rectangles and
textured rectangles used an internal crop_filled_rect function to crop
to the bounding box of the clip. As the quad op refactor progressed,
regular filled rectangle drawing went through the new attemptQuadOptimization
function that supported more cropping to the exact clip when axis-aligned,
and could be better handle complex paints.

Following the generalized factories added to GrTextureOp in earlier CLs,
it is now possible to route all textured rectangle draws through the same
optimizations. While there are a number of public interfaces for drawing
rectangles and textures on GrRTC, internally there is now just drawFilledQuad
(for complex paints) and drawTexturedQuad(for textures, avoids GrPaint use).
Both of these are very similar, and share attemptQuadOptimization(), which
makes all rectangle-drawing code, regardless of shader/paint/etc., handled
in a consistent manner.

This doesn't entirely resolve the complexities of non-AA clipping and non-AA
axis-aligned rectangle drawing. That needs additional logic added to the
GrQuadUtils::CropToRect function, but this CL is the last structural change
to how the ops are created, and to GrRTC to get Ganesh to that stage.

Change-Id: Icfbd223eef6e3da0054699334725b5084aaee58a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223934
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-28 19:14:47 +00:00
Jim Van Verth
ccd895e16d Disable some code to handle Metal TSAN errors.
This is a temporary fix until I can figure out where these errors are
coming from.

Bug: skia:9213
Change-Id: Iac21415bf26f39f5237e12ec146769252e833d36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223981
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-28 18:36:42 +00:00
Michael Ludwig
205224fbd5 Remove old texture op factories
Change-Id: I526cd01be501bf356307f00deb2c3067ab16de8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223927
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-28 17:33:52 +00:00
Brian Osman
9c310473c6 Reland "DM: Add a per-sink MemoryCache to all GPU sinks"
Once https://skia-review.googlesource.com/c/skia/+/224258 lands, this
should be safe.

This reverts commit 1958fbbcff.

Change-Id: I2fca1e60a2d945d440b7cd5f60e4b4dec211decd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224278
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-28 16:30:24 +00:00
Brian Osman
e4c88bb1f8 Prevent caching path-rendering programs
As described in the comments, this is a workaround for a rare situation
when trying to use cached program binaries in conjunction with ANGLE and
path rendering.

Change-Id: Ief5bb0042f5ec13cbea2242ff9c4f0b9f9e65641
Bug: angle:3619
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224258
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-28 16:25:54 +00:00
Florin Malita
afd2c10c98 [skottie] Use hybrid bounds for custom Shaper VAlign modes
We used to rely solely on visual bounds for vertical alignment.  That
had the downside of leading/trailing empty lines being ignored.

Then https://skia-review.googlesource.com/c/skia/+/220916 switched to
using typographical bounds.  This approach produces results in line
with AE, but allows some glyphs to overflow the alignment boundary.

This CL introduces a hybrid approach:

1) for standard AE text alignment, continue to use typographical bounds

2) for Skottie VAlign extensions (sk_vj), use the union of typographical
   and visual bounds - this should mitigate both issues mentioned above

Change-Id: Ifd3ccae3d721728ce67942206160ebe92056d3a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224188
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Avinash Parchuri <aparchur@google.com>
2019-06-28 11:35:09 +00:00
Florin Malita
d75fed41c2 [skottie] Use explicit font ascent in Shaper
Bodymovin exports an explicit ascent for each font, as a percentage of
the text size.

Change-Id: I25708944b2b79b42a6ccb05abbe002685e36dfa1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223986
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-28 11:35:09 +00:00
skia-recreate-skps
b851469b8e Update Go deps
Change-Id: Id26b7f97fa724c0b7aefa829695667d5584ff058
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224441
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-28 05:29:33 +00:00
skia-autoroll
3a8c402f2d Roll third_party/externals/angle2 a9dfb3ba5db1..923c30fba116 (9 commits)
a9dfb3ba5d..923c30fba1


git log a9dfb3ba5db1..923c30fba116 --date=short --no-merges --format='%ad %ae %s'
2019-06-27 jonahr@google.com Update test expectations for vulkan gles31 bots.
2019-06-27 syoussefi@chromium.org Vulkan: Emulate Transform Feedback with vertex shader output
2019-06-27 geofflang@chromium.org BlitGL: Support CL readback from non-renderable textures.
2019-06-27 ynovikov@chromium.org Fix skip Texture3DTestES3.DrawWithLevelsOutsideRangeWithInconsistentDimensions
2019-06-27 yunchao.he@intel.com Test RGB32F texture format on Intel Linux
2019-06-27 jmadill@chromium.org Vulkan: Remove flaky test suppression.
2019-06-27 jmadill@chromium.org Add std::ostream output for packed enums.
2019-06-27 timvp@google.com Support NaN conversion in Float32ToFloat16
2019-06-27 syoussefi@chromium.org Vulkan: Initial support for ES3.1


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

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=djsollen@google.com

Change-Id: Ia1a346f983c7628e3deea3ba06f49cac305de179
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224418
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-28 04:57:23 +00:00
skia-autoroll
5abea72bf8 Roll ../src 1fffa0139440..9ef8c105f0dc (439 commits)
1fffa01394..9ef8c105f0


Created with:
  gclient setdep -r ../src@9ef8c105f0

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=djsollen@google.com

Change-Id: Id548fe2f29f028881f121a11739c59470e19d851
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224417
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-28 04:49:53 +00:00
skia-autoroll
e699a3a237 Roll third_party/externals/swiftshader 522d51219054..40495290dceb (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/522d51219054..40495290dceb


git log 522d51219054..40495290dceb --date=short --no-merges --format='%ad %ae %s'
2019-06-28 lfy@google.com Fix extra semicolon after function def in FrameBufferOSX.mm
2019-06-28 lfy@google.com Allow 3d texture layers for framebuffer blit
2019-06-27 hliatis@google.com Add support for R8_SRGB textures
2019-06-27 capn@google.com Selectively suppress class-memaccess warning/error


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

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=djsollen@google.com

Change-Id: I36803f799853129512811a5966bcd805a1dd2dce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224416
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-28 04:34:03 +00:00
Ravi Mistry
199ff68ad3 [lottie-web-perf] Use canvas renderer for lottie-web
NoTry: true
Bug: skia:9195
Change-Id: I79276468c153783aebe7fdeda288166c52a6d1bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224286
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-06-28 00:17:36 +00:00
Mike Klein
ba41df7c60 disable SkVM JIT on Android
Crashing Nexus5x GPU Perf bots, who knows why...

Cq-Include-Trybots: skia.primary:Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android
Change-Id: I351bb15651015561cd54b13c6e3732fd79c53cf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224287
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 23:18:03 +00:00
Mike Klein
842e92e292 implement Op::bytes with NEON tbl
Starting to look good:

    1.57ns	SkVM_4096_I32_SWAR
    3.89ns	SkVM_4096_I32
    4.08ns	SkVM_4096_I32_Naive
    7.84ns	SkVM_4096_F32
    2.7ns	SkVM_4096_RP
    1.26ns	SkVM_4096_Opts

Change-Id: I24f44ed5fc693a04afef8d7a6ce13f3733277fb3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224280
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 22:03:23 +00:00
Mike Klein
135a9a5421 roll ANGLE to a9dfb3ba5db1751e51d603ce32f1c7c28a1df6c6
Change-Id: I20f19f09d778b5599fed61889bf2afb1d38d7f3f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224279
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2019-06-27 21:28:03 +00:00
Mike Klein
97bc9a61c0 simplify nibble_to_vpshufb
Just realized the mapping from our bytes() control nibble
to vpshufb's control byte is even easier than we thought.

Change-Id: I86fec8d3ca091ecc3fbbd59fe51ac128f0cef2fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224316
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 20:53:58 +00:00
Greg Daniel
a3f44e230f Reland "Refactor of GrGLCaps to move some code around."
This reverts commit 838c8f65ca.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Refactor of GrGLCaps to move some code around."
> 
> This reverts commit ed03e5f34b.
> 
> Reason for revert: breaking win10 angle srgb
> 
> Original change's description:
> > Refactor of GrGLCaps to move some code around.
> > 
> > The big changes here are that in initConfigTable we were setting a few
> > member variables (srgb support and compression related) whereas all other
> > member variables were set elsewhere. So this change moves the logic out
> > of initConfigTable and places it with other similar code.
> > 
> > Next setting of fSRGBWriteControl was affected by a driver workaround. We
> > need to apply this workaround before calling the initConfigTable. Thus I
> > moved the call to applyDriverWorkarounds above the initConfigTable. The
> > end result is that by the time initConfigTable is called we've now made all
> > decisions about what we will enable and disable (in terms of member variables),
> > and the only values writted in the function is setting values of the ConfigTable
> > itself.
> > 
> > Change-Id: I65b1bb4e9fc49d6020e1eb58d838f47057e6d1c8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224191
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> 
> TBR=egdaniel@google.com,bsalomon@google.com
> 
> Change-Id: Ib9ea36b8cba28df3fdf5fcdd828315cccfcc6ce3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224256
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: I04d3399e021a9eed98940061f9cb4c720580dee8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224259
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-27 20:42:03 +00:00
Chris Dalton
6b98280469 Track if we need stencil on GrRenderTargetContext
There are a few places that have been checking whether the *proxy*
needs stencil, in order to determine if the current render target
context needs stencil. This is problematic since a render target
context can not require stencil itself, but wrap an existing proxy
that already has stencil.

Bug: skia:
Change-Id: I2719dd3a9df15fef3d64f991cda4fadea23266bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223970
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-06-27 20:29:03 +00:00
Michael Ludwig
22429f96bd Add generic texture op factory.
This adds a new factory for GrTextureOp that generalizes the current
Make() and MakeQuad(). A following CL will remove those calls.

This also moves the texture-op emulation with GrFillRectOp into this
factory call. I found this to make more sense, both because it makes
op creation callsites simpler (drawTexturedQuad, drawTexture, and
drawTextureSet don't have to check the blend mode anymore). Additionally
the logic for matching the texture op shading behavior to a GrPaint
now lives inside GrTextureOp.

To allow for this, the to-be-removed existing factories have had the
blend mode added to their arguments as well.

Change-Id: Icda346cd203ae8caa7f5ed762ed4e0a214084dda
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223924
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-27 20:19:19 +00:00
Mike Klein
0ef3f53c8e aarch64 JIT first pass
- this is enough to run some of the test programs
  - a couple instructions TODO: load8, store8, bytes,
    so I32_SWAR and I32 are not yet JIT'd, but F32
    and I32_Naive are

Change-Id: I1d97cff24aa7307726c722cce45896ed319877e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224194
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 20:15:29 +00:00
Eric Boren
080fbade12 [infra] Use Swarming task ID for logdog URL
... as opposed to Skia Task Scheduler ID. The latter causes the command
to be different at every task invocation, which prevents deduplication.
Use the Swarming task ID from the environment instead.

Change-Id: Ied59bb0a0f45570f425cccd5ed707bfdd550893c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223976
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-06-27 18:51:56 +00:00
Greg Daniel
838c8f65ca Revert "Refactor of GrGLCaps to move some code around."
This reverts commit ed03e5f34b.

Reason for revert: breaking win10 angle srgb

Original change's description:
> Refactor of GrGLCaps to move some code around.
> 
> The big changes here are that in initConfigTable we were setting a few
> member variables (srgb support and compression related) whereas all other
> member variables were set elsewhere. So this change moves the logic out
> of initConfigTable and places it with other similar code.
> 
> Next setting of fSRGBWriteControl was affected by a driver workaround. We
> need to apply this workaround before calling the initConfigTable. Thus I
> moved the call to applyDriverWorkarounds above the initConfigTable. The
> end result is that by the time initConfigTable is called we've now made all
> decisions about what we will enable and disable (in terms of member variables),
> and the only values writted in the function is setting values of the ConfigTable
> itself.
> 
> Change-Id: I65b1bb4e9fc49d6020e1eb58d838f47057e6d1c8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224191
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: Ib9ea36b8cba28df3fdf5fcdd828315cccfcc6ce3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224256
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-27 18:43:52 +00:00
Mike Klein
f5443bb16f steady clock is probably best
Change-Id: I37eadc5800665af5ee862c4f108fa7c1f5000fa3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224195
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 18:31:24 +00:00
Eric Boren
3ae2e54be0 [infra] Trim down isolate for recipe bundle
Change-Id: Ic6da2d71b4e45fe67bc32942a87d41426bc9d05b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224189
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-06-27 18:27:44 +00:00
Greg Daniel
ed03e5f34b Refactor of GrGLCaps to move some code around.
The big changes here are that in initConfigTable we were setting a few
member variables (srgb support and compression related) whereas all other
member variables were set elsewhere. So this change moves the logic out
of initConfigTable and places it with other similar code.

Next setting of fSRGBWriteControl was affected by a driver workaround. We
need to apply this workaround before calling the initConfigTable. Thus I
moved the call to applyDriverWorkarounds above the initConfigTable. The
end result is that by the time initConfigTable is called we've now made all
decisions about what we will enable and disable (in terms of member variables),
and the only values writted in the function is setting values of the ConfigTable
itself.

Change-Id: I65b1bb4e9fc49d6020e1eb58d838f47057e6d1c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224191
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-27 18:14:44 +00:00
Jim Van Verth
d7871cc505 Check for too-small ovals when deciding on using GrCircleOp
Bug: chromium:979178
Change-Id: I2cacba922c1efb0bc9fce6dfc13bd1119fc4676c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224193
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-27 18:11:24 +00:00
Michael Ludwig
f339dfea31 Separate src coordinates from domain rect in texture op.
Previously, the metadata for an op entry stored the src rect and a bool.
When true, the src rect represented both the source texture coordinates
and the domain rectangle. In addition, if the real source coordinates
were actually a quadrilateral, they were stored as an optional local quad
in the buffer.

This changes it so that the metadata rect represents only the domain and
the source texture coordinates are always stored in the quad buffer.
This is slightly more storage overhead for the simple case but did not
lead to performance issues locally. It also lets us (in a later CL), fix
a bug where the src rect gets clipped in GrRTC and that clipped rect is
used as both the domain and src (when it should be used just as the src
and the original, unclipped rect is the domain).

Change-Id: Id1bcdf7c3045c330a51973a006411a9169777a91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223922
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-27 17:44:28 +00:00
Ben Wagner
7b4aef0f46 Fix argument order dependency when creating HBBlob.
In the code prior to this change, if the compiler evaluated the arguments
from left to right everything would work. If the compiler evaluated the
arguments from right to left the the data was released before the calls
to get the location and size of the data. Since the compiler saw that
the release could happen before the other fields were read, it emitted
instructions like 'mov edx,dword ptr [20h]', directly inlining the
nullptr dereference.

BUG: chromium:979161
Change-Id: I0c45d9f6b8c8cd7b6c751f2b03f10aa5ea9d685c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224192
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-06-27 17:26:18 +00:00
Brian Salomon
bb8dde8f7c Reland "Reland "Separate compressed and uncompressed texture functions""
This is a reland of c0519233cd

Original change's description:
> Reland "Separate compressed and uncompressed texture functions"
> 
> This is a reland of 9acfb33ad8
> 
> Original change's description:
> > Separate compressed and uncompressed texture functions
> > 
> > Change-Id: Iccf31e1e4dbebde8aab4bb9b57cfb0341bb05912
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223802
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> 
> Change-Id: I9f212b7d34cf43216f7d2ec63b959b75fd6a71b3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223992
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Change-Id: I0654a49dadfb56ad276051c8632b91da05bf24cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224181
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-27 17:09:24 +00:00
Florin Malita
c1f5d8d0f4 [skottie] Handle empty lines in Shaper
SkShaper doesn't seem to like empty inputs.

TBR=
Change-Id: Iace3eef389051dcce229ed4ac6897344770d19c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224190
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Florin Malita <fmalita@chromium.org>
2019-06-27 16:59:28 +00:00
Greg Daniel
c29e6dc358 Disable texturing and rendering to F32 pixel configs.
Change-Id: Iefd29ceb5431a9e2e12a9fcdfcc548131b29032c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224187
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-27 16:48:48 +00:00
Mike Klein
fc64a1bee9 slight speedup for hsw::blit_row_s32a_opaque
This backports a little bit of the work we've done in SkVM
to the pre-compiled blit_row_s32a_opaque routine for AVX2.

Mostly I've just rewritten the function with new comments for clarity.
The key improvement is to use _mm256_shuffle_epi8 to create two copies
of the src alpha.  The old version mimicked the idiom from the SSE2 code
where a byte-shuffle was not possible, instead using a shift-shift-or
pattern to construct it in three instructions.  Despite being a slower
instruction, using one vpshufb does seem to beat the compound operation
by a little bit, both in practice (nanobench) and theory (llvm-mca).

This is pretty small stuff, about 0.01ns per pixel saved of ~0.15ns.

Change-Id: Ic7206e391844becab2a79a7ba6ddf4be2f82a06e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224185
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-06-27 16:13:28 +00:00
Michael Ludwig
425eb45435 Reland "Replace GrQuadList with variable-length quad buffer"
This reverts commit 19628ec144.

Reason for revert: fixed struct size on 32-bit iOS

Original change's description:
> Revert "Replace GrQuadList with variable-length quad buffer"
> 
> This reverts commit f281604429.
> 
> Reason for revert: Breaking G3 and iOS Build
> 
> Original change's description:
> > Replace GrQuadList with variable-length quad buffer
> > 
> > Change-Id: I5cc391e8d143032893511695961f5251f40e8291
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223803
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> 
> TBR=bsalomon@google.com,michaelludwig@google.com
> 
> Change-Id: I55947c068c6472c301952e33cbc36d04505f9800
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223993
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I7522270d467faf0f4e777831e9186bad010409ab
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224184
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-06-27 14:58:09 +00:00
Brian Osman
1958fbbcff Revert "DM: Add a per-sink MemoryCache to all GPU sinks"
This reverts commit a7b224d3a3.

Reason for revert: Failures on some ANGLE bots

Original change's description:
> DM: Add a per-sink MemoryCache to all GPU sinks
> 
> This isolates the caches per config, so we don't try to reuse cached
> binaries across different GL versions (or different D3D backend versions
> on ANGLE bots, etc).
> 
> Locally, this sped up ANGLE significantly Looking at a sample bot
> (NUC6i5SYK), it dropped DM from 36m to 31m.
> 
> Change-Id: I95db18c6ea85041e6adbc972f0118233c82818fb
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223985
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I8c9af65d89fddb28e5f1395a6c946312f27ba48a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224186
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-27 14:39:09 +00:00
Mike Klein
2e1e50435a Reland "add operator "" _mask() to make Assembler clearer"
This is a reland of 076e5d3a4c

Original change's description:
> add operator "" _mask() to make Assembler clearer
> 
> Change-Id: I145f0f60288eef368fc7648b25661356cb6e9f12
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223980
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Herb Derby <herb@google.com>

Change-Id: I10f8301888d83ba186a32c251b25a3fbe297a6a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224183
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 14:36:19 +00:00
Brian Salomon
1a8806469a constexprify a lot of GrTypesPriv.h
Change-Id: I0dfe0f6f809f2910a142f5e2eb34fffc749404ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223933
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-06-27 14:12:51 +00:00
Mike Klein
a8720d0c94 make Label offsets int
It's a bit too easy to trip up the MSRTC bots with size_t.

(The only reason I used size_t in the first place is that
these really are byte offsets... kind of the one place we
use size_t.)

Cq-Include-Trybots: skia.primary:Test-Win2016-MSVC-GCE-CPU-AVX2-x86_64-Debug-All-MSRTC
Change-Id: I3426cec68af298a18139118b866b70b33ee34d9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224182
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-06-27 14:02:21 +00:00
Ben Wagner
f14badde92 Update driver on Ubuntu18 Quadro bots
Also remove "rack" dimension. The os dimension now aligns with the rack
dimension, so we don't need to worry about it.

Bug: chromium:919950
Change-Id: I6ec2dee501ebe7b34cd1a52b68141abb3b133c84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215087
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-06-27 13:52:41 +00:00
Brian Osman
a7b224d3a3 DM: Add a per-sink MemoryCache to all GPU sinks
This isolates the caches per config, so we don't try to reuse cached
binaries across different GL versions (or different D3D backend versions
on ANGLE bots, etc).

Locally, this sped up ANGLE significantly Looking at a sample bot
(NUC6i5SYK), it dropped DM from 36m to 31m.

Change-Id: I95db18c6ea85041e6adbc972f0118233c82818fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223985
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-27 13:21:13 +00:00
Florin Malita
f803878add [skottie] Divide-by-zero in CameraAdapter::totalMatrix()
Annotate as safe.

Bug: skia:13879
Change-Id: Ia34d71dab5fc918bd8fe9eb8b2360cb5927ac075
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224180
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-06-27 13:19:24 +00:00
Eric Boren
1720067c1f [infra] Refactor recipe properties in gen_tasks.go
Factor out the ones which prevent deduplication. No behavioral changes.

Change-Id: Ie2f8b6e463f9ea09e0c2a2e7c76be144c5b6cb4e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223935
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-06-27 11:28:21 +00:00
skia-recreate-skps
1ebcc2e1d2 Update Go deps
Change-Id: Ibd46dbdfdc6b8ce5eca94aec9a990625b281fc70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224147
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-27 05:28:34 +00:00
skia-autoroll
d04d84fee9 Roll third_party/externals/angle2 6d58266ed63a..f857b5014e09 (11 commits)
6d58266ed6..f857b5014e


git log 6d58266ed63a..f857b5014e09 --date=short --no-merges --format='%ad %ae %s'
2019-06-27 ynovikov@chromium.org Skip end2end tests failing on Intel Ubuntu 19.04 Mesa 19.0.2
2019-06-26 jmadill@chromium.org Vulkan: Increase size of driver uniforms buffer.
2019-06-26 syoussefi@chromium.org Allow wildcards freely in deqp expectations files
2019-06-26 jmadill@chromium.org Vulkan: Recycle dynamic buffer storage.
2019-06-26 timvp@google.com Vulkan: Enable VertexAttributeTest* for ES3_Vulkan
2019-06-26 jmadill@chromium.org Vulkan: Refactor DynamicBuffer::init.
2019-06-26 syoussefi@chromium.org Vulkan: Output buffer memory barrier in graph dump
2019-06-26 aleino@nvidia.com Use D3D11 GetDimensions driver workaround for dynamic images
2019-06-26 syoussefi@chromium.org Vulkan: Improve copy buffer self-dependency
2019-06-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src f9d08a25fbe1..4162de4bbfc5 (4 commits)
2019-06-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src df86bb44fe47..dfcb5a1e1042 (2 commits)


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

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=djsollen@google.com

Change-Id: Ia4f9c822a032fa344534296618461fe64dd9915b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224136
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-27 04:56:53 +00:00
skia-autoroll
98861f69c6 Roll ../src a7f016080642..1fffa0139440 (380 commits)
a7f0160806..1fffa01394


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

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=djsollen@google.com

Change-Id: I4ab413ff268cc3be8bbdc0f0eb8a4baf6f23ea20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224138
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-27 04:39:23 +00:00
skia-autoroll
9e211dbe4e Roll third_party/externals/swiftshader 9770a4660fc9..522d51219054 (7 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/9770a4660fc9..522d51219054


git log 9770a4660fc9..522d51219054 --date=short --no-merges --format='%ad %ae %s'
2019-06-27 capn@google.com Simplify Vulkan ICD loading for testing
2019-06-27 chrisforbes@google.com SpirvShader: Optimize stores with static equal offsets
2019-06-26 chrisforbes@google.com Replace broken prime in Y'CbCr comment
2019-06-26 bclayton@google.com LLVMReactor: Perform atomic load / stores of floats as ints.
2019-06-26 paulthomson@google.com Make the ICD manifest use a relative path to the library
2019-06-26 capn@google.com Don't treat class-memaccess warning as error
2019-06-26 sugoi@google.com Remove incorrect and unused line to avoid confusion


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

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=djsollen@google.com

Change-Id: I0847a60217cf13d1748e27ebdf14468063280ce4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224137
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-27 04:34:53 +00:00
Greg Daniel
6188af3c3d Revert "add operator "" _mask() to make Assembler clearer"
This reverts commit 076e5d3a4c.

Reason for revert: breaking google3. "literal operators are an unapproved C++11 feature"

Original change's description:
> add operator "" _mask() to make Assembler clearer
> 
> Change-Id: I145f0f60288eef368fc7648b25661356cb6e9f12
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223980
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Herb Derby <herb@google.com>

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

Change-Id: Ib41aa871c2e8b9b27fb75b73e538729c9ab24112
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224076
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-27 03:07:05 +00:00