Commit Graph

31656 Commits

Author SHA1 Message Date
Chris Dalton
344e9037e1 Prefer fullscreen clears on Qualcomm/GL
Adds Qualcomm to the set of GL devices on which we prefer fullscreen
clears.

Renames fullscreenClearIsFree in GrCaps to preferFullscreenClears.

Replaces 'bool canIgnoreClip' on GrRenderTargetContext::clear with an
enum.

Bug: skia:
Change-Id: I5b30298c4d0b092c398b9fea6060f3e2bea91e46
Reviewed-on: https://skia-review.googlesource.com/83060
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-12-12 15:21:09 +00:00
Cary Clark
6e64f30891 fix running on linux
Verified that bookmaker running on Linux generates same
.md files as when it runs on Windows.

Fixed a directory separator bug.
Catalog has slightly different output because some
tests generate volatile output -- need to fix this
in general.

Docs-Preview: https://skia.org/?cl=83940
Bug: skia:6898
Change-Id: I3c56c372d155b1b14a1fbdf616fa79f420b78150
Reviewed-on: https://skia-review.googlesource.com/83940
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2017-12-12 14:20:09 +00:00
Kevin Lubick
1763492c32 Fix scaling logic for NexusPlayer and AndroidOne
They seem to be their own special cases for what
governors they support.

Bug: skia:
NOTRY=true
Change-Id: I7bb220e1d3ba6851c17c7e6ef327aab24ffdba42
Reviewed-on: https://skia-review.googlesource.com/83900
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-12-12 13:31:49 +00:00
Kevin Lubick
3250a487ea Search more for stacktrace to symbolize
If the stacktrace wasn't in the last 200 lines, we couldn't
find and symbolize it.
https://chromium-swarm.appspot.com/task?id=3a5e86a9d0e04e10&refresh=10

We increase the window to 500 lines to account for large memory maps.

Bug: skia:7397
NOTRY=true
Change-Id: Ic8583e383663a9beb62a32e90a5bd5d73d7446a7
Reviewed-on: https://skia-review.googlesource.com/83540
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-12-12 13:26:39 +00:00
Kevin Lubick
f1585aabeb Scale extra CPUs to powersave during nanobench.
This scaling logic correctly accounts for some devices
which have multiple CPUs.  Previously, we were scaling
the smaller of these CPUs, which likely had a negative
impact on nanobench, given nanobench was single threaded
and the CPUs weren't allowed to idle much (because we
set the CPU).

This CL sets those additional CPUs to powersave when we run
nanobench and then correctly scales down the beefier
CPU we want to run nanobench on.

For DM, we just run it in ondemand mode, which will
hopefully be "as fast as possible", but allow the CPU
governor to scale down if overheating becomes a problem.

Bug: skia:7378
notry=TRUE
Change-Id: I45ca5d9fb32182233d1b2d094842c879f2b84da4
Reviewed-on: https://skia-review.googlesource.com/83240
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-12 12:36:09 +00:00
Mike Klein
376fd31ad4 remove vfpv4 requirement for SkJumper on ARMv7
VFPv4 gives us two interesting features:
  - FMA
  - f16<->f32 conversions

Even without FMAs, NEON still has non-fused MLA instructions.  We don't
really care about the fusedness of those mul-adds, so losing FMA here is
kind of no big deal.

We already maintain portable code to do f16<->f32 conversions, so it's
not much of a maintanence hit to use that instead of the native
instructions.  To my knowledge software F16 rendering is not a
performance critical mode of operation for any of our users.

This drops our minimum requirement to basically just having NEON.
Devices like the Nexus 7 2012 will now take SkJumper fast paths
instead of portable code.  (Though actually, we've only ever
required NEON for _lowp... only the float code also needed vfpv4).

The main file to look at here is actually SkJumper_vectors.h,
where you will see all the substantive changes.  The rest just
kind of tears down most of the old complexity, add adds ABI
to put just a little of it back.  :)

Change-Id: Ia9237117698729c91e5fa51126baf80748093bf4
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/83521
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-12-12 12:02:48 +00:00
angle-deps-roller@chromium.org
ba096c0dc3 Roll skia/third_party/externals/angle2/ c7abc0803..629a64498 (1 commit)
c7abc08034..629a64498d

$ git log c7abc0803..629a64498 --date=short --no-merges --format='%ad %ae %s'
2017-12-11 oetuaho Fix HLSL integer pow workaround

Created with:
  roll-dep skia/third_party/externals/angle2
BUG=793115


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

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-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=liyuqian@google.com

Change-Id: I73a2bee4cae25f79d0ccd1fe68e13bc62f9f7a63
Reviewed-on: https://skia-review.googlesource.com/83800
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
2017-12-12 09:05:28 +00:00
Update Docs
40ca2087ef Update markdown files
Automatic commit by the Housekeeper-Nightly-Bookmaker bot.

TBR=update-docs@skia.org
NO_MERGE_BUILDS

Change-Id: Ie94b11512281516d52d165e0453cd50ecf353995
Reviewed-on: https://skia-review.googlesource.com/83724
Reviewed-by: Update Docs <update-docs@skia.org>
Commit-Queue: Update Docs <update-docs@skia.org>
2017-12-12 00:35:08 +00:00
Ravi Mistry
5ca9413b9b [Bookmaker bot] Output fiddleout.json earlier and do not send to CQ for now
Bug: skia:7310
Change-Id: Id6c2f15b72d6837f6536e25dbc3d01cac32af74b
Reviewed-on: https://skia-review.googlesource.com/83640
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2017-12-11 22:17:29 +00:00
Hal Canary
a4935104a5 resources: optionally link them into our binary
To enable, set skia_embed_resources=true in args.gn.

Also add *-EmbededResouces bots.

Change-Id: Ia69b26e926a3ad4676a4fa021894432ea2104538
Reviewed-on: https://skia-review.googlesource.com/82626
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-12-11 22:06:38 +00:00
Brian Salomon
94f509b504 Rename GrGLAssembleFooInterface to GrGLMakeAssembledFooInterface.
Add GrGLAssembleInterface with legacy bare pointer return.

This allows existing clients of GrGLAssembleInterface to roll Skia without
code changes.

Change-Id: I0764a9f4583e554fff5574889adcc6fe004db159
Reviewed-on: https://skia-review.googlesource.com/83564
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-12-11 22:03:38 +00:00
Cary Clark
2f466242c7 working on image and nightly housekeeping bot
Add more examples and docs for SkImage; still a ways to go.
Fix bit-rotted examples.
Add typedef support.
Add json driver to pick files to work on; remove special-casing.
Fix unordered map traversal that made md output unreliable.

TBR=rmistry@google.com
Docs-Preview: https://skia.org/?cl=80060
Bug: skia:6898
Change-Id: Ib8eb9fdfa5a9db61c8332e657fa2e2f4b96a665f
Reviewed-on: https://skia-review.googlesource.com/80060
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2017-12-11 21:47:38 +00:00
Florin Malita
bb091a08d1 Fix fuzzer crash in SkReadBuffer::readTypeface()
BUG=skia:7398

Change-Id: I1d0f7a37c6f02ec5f621f7c1b5983b668530dcd9
Reviewed-on: https://skia-review.googlesource.com/83561
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2017-12-11 20:47:28 +00:00
angle-deps-roller@chromium.org
7fdd862512 Roll skia/third_party/externals/angle2/ 9b88991c7..c7abc0803 (1 commit)
9b88991c72..c7abc08034

$ git log 9b88991c7..c7abc0803 --date=short --no-merges --format='%ad %ae %s'
2017-07-04 cwallez Implement EGL_ANGLE_iosurface_client_buffer

Created with:
  roll-dep skia/third_party/externals/angle2


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

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-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=liyuqian@google.com

Change-Id: I30c6dc83cb9a8a90514e99b32ca4a530ec0e2176
Reviewed-on: https://skia-review.googlesource.com/83505
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
2017-12-11 20:41:08 +00:00
Brian Salomon
b3ce76eba7 Fix Google3 link errors(?)
Change-Id: If2d689dd34065fa5e71808170164adcb97580c75
Reviewed-on: https://skia-review.googlesource.com/83563
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-12-11 20:28:38 +00:00
Brian Osman
5c54892412 Filter Windows SDK and Compiler directories
This avoids bugs when other directories (like the Driver SDK) show up in
those folders.

Bug: skia:7395
Change-Id: Iee316a7daf8d71223b999de736d63e1dc7fa31f7
Reviewed-on: https://skia-review.googlesource.com/83542
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-11 20:26:08 +00:00
Ben Wagner
dba0bc843a Re-add '--gpuThreads 0' tests.
Bug: skia:7394
Change-Id: I2e7ed586d81d19a0b7895ff81ce6670eb7cc5003
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/83445
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-11 19:50:58 +00:00
Yuqian Li
7741c75152 Use first/second instead of min/max in 2pt conical gradient
Here's the tiny performance gain:

$python tools/calmbench/calmbench.py firstsecond --extraarg "-m conic"

firstsecond (compared to master) is likely
    4.23% faster in gradient_conicalOut_clamp_3color
    4.23% faster in gradient_conicalOutZero_clamp_3color
    4.79% faster in gradient_conical_clamp_shallow_dither
    6.04% faster in gradient_conical_clamp_3color
    6.04% faster in gradient_conicalZero_clamp_3color
    6.42% faster in gradient_conicalOut_clamp
    6.43% faster in gradient_conicalOutZero_clamp
    6.74% faster in gradient_conical_clamp
    6.98% faster in gradient_conical_clamp_shallow
    6.98% faster in gradient_conicalZero_clamp

Bug: skia:
Change-Id: Id74866908b99753ed8b16a657d3f67c9255d0043
Reviewed-on: https://skia-review.googlesource.com/76561
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-12-11 19:42:28 +00:00
Mike Reed
73822257cb read signed 32 if we want to treat it as signed
Bug:793603
Change-Id: I040d775fcf76da095ea2a25c33408508b3466fd7
Reviewed-on: https://skia-review.googlesource.com/83280
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-11 19:21:08 +00:00
Zhizhou Yang
e18b77972b Turn on PGO for Skia on Android
This patch is to turn on PGO for skia on Android, which will provide a
performance improvement of 7.6% for hwui when applied PGO for both.

The patch specified a skia.profdata file, which locates in internal
google_data/pgo_profile directory, to work as the profile to feed PGO.
This profdata can be re-collected with PGO build system support.

PGO can be turned off by setting ANDROID_PGO_NO_PROFILE_USE environment
variable or set variable to false.

Test: Build skia successfully and verified the performance improvement
on device through benchmark.

BUG=skia:

Change-Id: I826f417569b2853630f6d4fcce236b5bc36547fa
Reviewed-on: https://skia-review.googlesource.com/82880
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: John Reck <jreck@google.com>
2017-12-11 19:20:08 +00:00
Mike Reed
58a3fcd4b3 add virtual to confirm flattenable type
meant to replace https://skia-review.googlesource.com/c/skia/+/83381

Bug:793639
Change-Id: I972dc80725bf5ce5be24769aafa23269735e089c
Reviewed-on: https://skia-review.googlesource.com/83444
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-11 18:50:00 +00:00
Eric Boren
cbe99c050e bin/try: No prompt for a single matching job
NOTRY: true
Bug: skia:
Change-Id: I14e71f96b56b4288807bcc5189593b22d3078824
Reviewed-on: https://skia-review.googlesource.com/83443
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2017-12-11 18:32:08 +00:00
Stan Iliev
ca8c0953e8 Implement a fast path for solid color lattice rectangle
Add a flag that hints, which lattice rectangles are solid colors.
Draw solid rectangles and 1x1 rectangles with drawRect.

Test: Measured performance of a ninepatch drawn by HWUI
Bug: b/69796044
Change-Id: Ib3b00ca608da42fa9f2d2038cc126a978421ec7c
Reviewed-on: https://skia-review.googlesource.com/79821
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2017-12-11 18:26:18 +00:00
Ethan Nicholas
51493ee848 fixed SkSL optimizing away side effects
Bug: skia:7196
Change-Id: I44676003d9ea7970efb40df2f7e40c2de05a5f67
Reviewed-on: https://skia-review.googlesource.com/83440
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-12-11 18:04:48 +00:00
Ben Wagner
603144229b Remove PixelC CPU jobs.
The Nexus5x took these jobs in https://skia-review.googlesource.com/c/skia/+/82624

Also filed skia:7394 for missing coverage of "--gpuThreads 0".

Bug: skia:7382
Change-Id: If0fd823722d8b8cc3845f8d96a0a285fec935f74
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/83360
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-11 17:58:08 +00:00
Brian Salomon
3d6801eeee Add GrGLMakeNativeInterface factory that returns sk_sp<const GrGLInterface>.
Removes the concept of a configurable "default" interface and makes the default
always be the "native" interface.

Also removes unused functions: GrGLInterfaceAddTestDebugMarker and
GrGLInterface::NewClone.

Keeps around legacy GrGLCreateNativeInterface() until clients can be weened.

Change-Id: I4a3bdafa8cf8c68ed13318393abd55686b045ccb
Reviewed-on: https://skia-review.googlesource.com/83000
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-12-11 17:54:38 +00:00
Brian Osman
d67e518980 Move ImGui support code to ImGuiLayer
Viewer still has plenty of code that uses ImGui to create application
specific UI, but the structural code that forwards input to ImGui, and
converts per-frame ImGui rendering data to Skia draw commands is now in
a single component that can be reused in any sk_app-based application.

Bug: skia:
Change-Id: Ic14ece659d4af8ee13b69c638bdaf7df6c24f5c0
Reviewed-on: https://skia-review.googlesource.com/82627
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2017-12-11 17:37:58 +00:00
Chris Dalton
2326177e34 CCPR: Don't use instanced draw calls with geometry shaders
It isn't necessary for the vertex shader to know all the points
because everything happens in the geometry shader. It's simpler to use
regular vertex arrays instead.

Bug: skia:
Change-Id: I7bf83180476fbe0ab01492611cd72e72b3f7d4f2
Reviewed-on: https://skia-review.googlesource.com/82881
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-12-11 17:27:38 +00:00
Hal Canary
30c48065dd apps/build.gradle: skiaOut is now absolute since a2e7f5ae10
Change-Id: I27df422a78209d60647db89a608fc31f9739a429
Reviewed-on: https://skia-review.googlesource.com/83361
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-12-11 17:16:58 +00:00
Florin Malita
ba19b6f219 Fix SampleLua build
Change-Id: Ie0114ab16b99aed4343f6255dbc86fb15554ea74
Reviewed-on: https://skia-review.googlesource.com/83380
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-12-11 17:15:40 +00:00
Brian Osman
80fc07e8f8 Create a Window::Layer interface to reduce sk_app glue code
This also makes it possible to manage other parts of viewer, etc (like
the stats screen, command set, even samples) as additional layers in the
stack. For now, it just removes a lot of boilerplate.

Bug: skia:
Change-Id: Ic2f80690fc76c683b3736287dc2b738c50d38614
Reviewed-on: https://skia-review.googlesource.com/82688
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-12-11 16:46:58 +00:00
Mike Klein
46020c4409 The downsamplebitmap_image GMs only use one image.
So there's no need to include the image name or path in the GM name.

Change-Id: Idc510906ae77c5c73756f41bc13e859e231e9139
Reviewed-on: https://skia-review.googlesource.com/83320
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-11 16:38:58 +00:00
Mike Klein
2bbcda3071 Revert "add experimental bilerp_clamp_8888 stage"
This reverts commit a7fa3377d2.

Reason for revert: lots of crashing GPU bots.

Original change's description:
> add experimental bilerp_clamp_8888 stage
> 
> It looks like we can specialize hot image shaders into their
> own single stages for a good speedup on both x86 and ARM.
> 
> I've started here with bilerp_clamp_8888, and will
> follow up with bgra and 565, and lowp versions of those,
> and probably also the same for nearest neighbors.
> 
> All pixels are identical in GMs.
> 
> Change-Id: I2f6995767cd38053d670b8d0bfdb71b687803d70
> Reviewed-on: https://skia-review.googlesource.com/82100
> Reviewed-by: Yuqian Li <liyuqian@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>

TBR=mtklein@chromium.org,mtklein@google.com,liyuqian@google.com

Change-Id: If70abb91b69bcd781e395dd3ac05ff1eebb1169f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/83340
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-11 16:09:49 +00:00
Ben Wagner
c279851bc2 Add Goma Test/Perf jobs.
No-Try: true
Change-Id: I9c07250623603be1baccdc177191326017784aa2
Reviewed-on: https://skia-review.googlesource.com/82604
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-11 16:08:28 +00:00
Hal Canary
036fe5fabd resources: file moved
Change-Id: I2c0aa61d38e0e0b958480b16368bf0fcada3a83b
Reviewed-on: https://skia-review.googlesource.com/83260
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-12-11 16:01:18 +00:00
Mike Klein
a7fa3377d2 add experimental bilerp_clamp_8888 stage
It looks like we can specialize hot image shaders into their
own single stages for a good speedup on both x86 and ARM.

I've started here with bilerp_clamp_8888, and will
follow up with bgra and 565, and lowp versions of those,
and probably also the same for nearest neighbors.

All pixels are identical in GMs.

Change-Id: I2f6995767cd38053d670b8d0bfdb71b687803d70
Reviewed-on: https://skia-review.googlesource.com/82100
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-11 15:40:38 +00:00
UpdateSKPs
c34676349d Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: I15dc0bd674fcf806ee992c3e9b1d569b52bbaf88
Reviewed-on: https://skia-review.googlesource.com/83180
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
2017-12-10 07:46:40 +00:00
Hans Wennborg
c63ec5ca64 Fix tautological comparison in GrTextureDomain.cpp
-1 is not a valid value for the GrTextureDomain::Mode enum, so certain
versions of Clang warn that the comparison is a no-op:

  ../../third_party/skia/src/gpu/effects/GrTextureDomain.cpp:70:23: warning:
  comparison of constant -1 with expression of type 'GrTextureDomain::Mode' is
  always false [-Wtautological-constant-out-of-range-compare]
      SkASSERT((Mode)-1 == fMode || textureDomain.mode() == fMode);
	       ~~~~~~~~ ^  ~~~~~

Bug: chromium:793189
Change-Id: Iba49ae15622285a62ad218dbdd78b0846338b7cb
Reviewed-on: https://skia-review.googlesource.com/82962
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-12-09 04:28:39 +00:00
Mike Reed
25eef6b342 centralize encoding to SkData
Bug: skia:
Change-Id: If3a9a6de54cf76d03e4d159b54b07a4ea6d5cda9
Reviewed-on: https://skia-review.googlesource.com/83020
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-12-09 01:36:48 +00:00
Hans Wennborg
42b6cffaad Fix tautological compare in GrSurfaceProxy.cpp
-1 is not a valid value for the GrSurfaceOrigin enum, and certain
versions of Clang warn that the comparison is effectively a no-op:

  ../../third_party/skia/src/gpu/GrSurfaceProxy.cpp:547:38: warning: comparison
  of constant -1 with expression of type 'GrSurfaceOrigin' is always true
  [-Wtautological-constant-out-of-range-compare]
      SkASSERT(kGrUnknownSurfaceOrigin != fProxy->origin());
	       ~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~

Instead of trying to force -1 in there, drop the assert and initialize with
top-left as origin.

Bug: chromium:793189
Change-Id: I4cb6720d567f6c5650a19df33d3c77f2d738a516
Reviewed-on: https://skia-review.googlesource.com/82961
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-12-09 01:31:48 +00:00
Mike Reed
0933bc9b67 Revert "Revert "resources: remove most uses of GetResourcePath()""
This reverts commit cca2300559.

Reason for revert: think I guessed wrong about g32 -- unreverting

Original change's description:
> Revert "resources: remove most uses of GetResourcePath()"
> 
> This reverts commit 5093a539de.
> 
> Reason for revert: google3 seems broken
> 
> Original change's description:
> > resources: remove most uses of GetResourcePath()
> > 
> > Going forward, we will standardize on GetResourceAsData(), which will
> > make it easier to run tests in environments without access to the
> > filesystem.
> > 
> > Also: GetResourceAsData() complains when a resource is missing.
> > This is usually an error.
> > 
> > Change-Id: Iaf70b71b0ca5ed8cd1a5538a60ef185ae8736188
> > Reviewed-on: https://skia-review.googlesource.com/82642
> > Reviewed-by: Hal Canary <halcanary@google.com>
> > Commit-Queue: Hal Canary <halcanary@google.com>
> 
> TBR=halcanary@google.com,scroggo@google.com
> 
> Change-Id: Ic5a7c0167c995a672e6b06dc92abe00564432214
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/83001
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=halcanary@google.com,scroggo@google.com,reed@google.com

Change-Id: I5a46e4de61186a8a5eb9cacd3275e24e311d5a07
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/82942
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-12-09 01:27:50 +00:00
angle-deps-roller@chromium.org
1a24cd9f6f Roll skia/third_party/externals/angle2/ 58ba6bf5e..9b88991c7 (1 commit)
58ba6bf5ec..9b88991c72

$ git log 58ba6bf5e..9b88991c7 --date=short --no-merges --format='%ad %ae %s'
2017-12-08 kainino Disable DIRTY_BIT_PROGRAM_UNIFORM_BUFFERS

Created with:
  roll-dep skia/third_party/externals/angle2


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

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-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=rmistry@google.com

Change-Id: I895da35eafadb08a13c873f0542c3ee3b1f83fa4
Reviewed-on: https://skia-review.googlesource.com/83041
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
2017-12-09 01:24:39 +00:00
Ravi Mistry
edc4f3e604 Add new Bookmaker bot that runs nightly
The new bot:
1) Extracts all fiddles out of markdown files.
2) Forces fiddle.skia.org to compile all those fiddles and get output in JSON.
3) Scans the output and reports any compiletime/runtime errors.
4) Updates markdown in site/user/api/ using the new hashes (if any) from fiddle.skia.org.

To ensure the bot does not check in unexpected changes:
* upload_md.py makes sure that all modified files are under site/user/api/. It errors out if this is not the case.
* CLs with docs only changes normally have 'NoTry: true' added to their descriptions. This is not done for the new bot because we want to run it through trybots to make sure nothing unexpected snuck in.
* rmistry@ and caryclark@ are automatically CC'ed on all uploaded changes. I plan to watch the bot closely for at least a couple of weeks.


Bug: skia:7310
Change-Id: I759fc8bae1e32a6f175e3b1a895947d14ca5fe3a
Reviewed-on: https://skia-review.googlesource.com/79941
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-12-08 22:26:38 +00:00
Ben Wagner
2fc5322a04 Remove Nexus10.
Bug: skia:7381
Change-Id: I8e151c5c57f6344c9cdf165bbb78a4ed308491c8
NoTry: true
Reviewed-on: https://skia-review.googlesource.com/82804
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-08 22:07:18 +00:00
Mike Reed
cca2300559 Revert "resources: remove most uses of GetResourcePath()"
This reverts commit 5093a539de.

Reason for revert: google3 seems broken

Original change's description:
> resources: remove most uses of GetResourcePath()
> 
> Going forward, we will standardize on GetResourceAsData(), which will
> make it easier to run tests in environments without access to the
> filesystem.
> 
> Also: GetResourceAsData() complains when a resource is missing.
> This is usually an error.
> 
> Change-Id: Iaf70b71b0ca5ed8cd1a5538a60ef185ae8736188
> Reviewed-on: https://skia-review.googlesource.com/82642
> Reviewed-by: Hal Canary <halcanary@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>

TBR=halcanary@google.com,scroggo@google.com

Change-Id: Ic5a7c0167c995a672e6b06dc92abe00564432214
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/83001
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-12-08 21:09:19 +00:00
Chris Dalton
27372888a5 Don't force GrGLSLVarying's scope to be compile-time constant
Bug: skia:
Change-Id: I70a191949fd26a39257a8a59a0a4c6448ec1fa37
Reviewed-on: https://skia-review.googlesource.com/82462
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-12-08 20:57:28 +00:00
Chris Dalton
be4ffab4e2 CCPR: Combine loops and serpentines back into a single shader
Bug: skia:
Change-Id: I945471ccd2580a2d39afd9c80acb8d9e5e196435
Reviewed-on: https://skia-review.googlesource.com/82460
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-12-08 20:13:18 +00:00
Ben Wagner
3f39bf8fe5 Add Goma support in gn_flavor.
Using full paths in skia.h causes "file not found" with Goma. All other
Builds seem fine without the path, so I changed find_headers.py to use
the basename.

Change-Id: Ib520e91a92ebffe36a736eb53f643d359f5bb2ce
Reviewed-on: https://skia-review.googlesource.com/79360
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-08 20:09:18 +00:00
Hal Canary
53e5e7d4ce resources: resource identifiers don't begin with leading slash
Change-Id: I52522ffffbf0f5176ac9156cd563b41d6fdde59f
Reviewed-on: https://skia-review.googlesource.com/82940
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-12-08 20:03:18 +00:00
Hal Canary
5093a539de resources: remove most uses of GetResourcePath()
Going forward, we will standardize on GetResourceAsData(), which will
make it easier to run tests in environments without access to the
filesystem.

Also: GetResourceAsData() complains when a resource is missing.
This is usually an error.

Change-Id: Iaf70b71b0ca5ed8cd1a5538a60ef185ae8736188
Reviewed-on: https://skia-review.googlesource.com/82642
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-12-08 19:30:48 +00:00