Commit Graph

46265 Commits

Author SHA1 Message Date
Mike Reed
f0b7edf6cd hack up bump-map
Change-Id: Ib1e92359f0decd60bdcb628a5b11be1c597b4f82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265219
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-18 19:53:49 +00:00
Mike Reed
5344cc31ff clean up: remove artificial mouse loc rejects
Now that "point" is local (viewer may have modified it for zooming or panning),
it no longer makes sense to check for out-of-bounds.

Change-Id: I8881f8b27be96973cb7687b25d93a0de5a22f5db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265218
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-18 17:45:29 +00:00
Mike Reed
ee3216d8f8 Use SkSL to do point-light shading
- misc fixes to utilities
- hit-testing for 3D scenes (simple version)

Had to manually inform the shader of the local-to-world matrix.
Should try making that automatic in the future.

Note: due to bug in interpreter, point-light sample can't run in raster
(yet).

Change-Id: I7a30b7676ea6cd7eb264373dd2507133c901d85e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264999
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-18 03:16:18 +00:00
Brian Salomon
3e2c99b96c Make decimating and non-decimating cases in SkGpuBlurUtils call into
common function.

I still don't fully understand all rects and offsets and think this must
be over specified. Maybe this makes it easier to make future
simplifications? It at least strips the scale factors out of the code
that got lifted into a function.

Change-Id: I603e62b55ac9096534c36aa71959ba755087b27f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265137
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-01-18 01:26:54 +00:00
Greg Daniel
507736fc3a Check swizzles when building up texture sets to draw.
Bug: chromium:1042693
Change-Id: Iccd321d07d4d7ac42ebf84812936e500cebd4e22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265143
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-01-17 21:26:43 +00:00
Robert Phillips
07f0e41dde Test readPixels on compressed textures
Bug: skia:9680
Change-Id: Ic31ec99b349a1b6585d06f36186b7e9d1d46048c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265096
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-01-17 20:49:03 +00:00
Nathaniel Nifong
4e0a6a96ea Fix compilation settings for wasm debugger
Change-Id: I08bbe9d0736be9b54cccdeee4896f0e2ab134302
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265140
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-17 20:44:13 +00:00
recipe-roller
bd5ee54363 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/05b001c28df8e2811c24656e7ad260d7232afb9d Roll bb tool to @ 9b687fbe (tandrii@google.com)
  https://crrev.com/a5799e3bb4f7c0e30fe133c317c80a83ede6a947 presubmit_support: Use single quotes and convert to ArgumentParser. (ehmaldonado@google.com)
  https://crrev.com/98cfac11bd02507564d03ff5c3d328c97ab9abdf scm: Add GetAllFiles method. (ehmaldonado@google.com)
  https://crrev.com/b24ca5ac742e6c65e949b2f7f83a2d9b95cff3e9 presubmit_support: Initialize Gerrit object when gerrit URL is given. (ehmaldonado@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I348aeff36cf6ae3b01da35c929ae21905a07d04f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265139
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>
2020-01-17 20:00:43 +00:00
Mike Reed
e1b7afc8f3 add guard to move to explicit matrix conversions
Change-Id: I59878a5e4d45833c2543d6f47f46ed896c5a1681
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264997
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-17 16:57:42 +00:00
Florin Malita
e905233c8d [skottie] Cleanup: convert more effects to new animator pattern
TBR=
Change-Id: I9b538853766f31854bba4752cb0f7c20d61c148b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265076
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-01-17 16:52:13 +00:00
Brian Salomon
f631cf3d16 Reland "Make SkGpuBlurUtils take SkTileMode""
slight simplification: pass nullptr to convolve_gaussian_1d for "unbounded"
filter.

Change-Id: I42038fb8b5d24557b668235553edcb1ed3e48df8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264859
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-17 16:18:32 +00:00
Brian Osman
91b74f0bb9 Switch coord transforms in gradient layouts to 3x3 (SkMatrix)
These were using 4x4 (SkMatrix44), but only temporarily, and it failed
with an upcoming change that makes SkMatrix44 -> SkMatrix explicit.

Change-Id: I8aa9adb209f10d2c04ca009d6d5f7fdafc264ae9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264998
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-17 15:38:32 +00:00
Robert Phillips
93e3c76a65 Vulkan texture upload clean up
A prior CL unnecessarily duplicated some code.

Bug: skia:9680
Change-Id: Ibd2e41e136d2c15530587c94519e718a7158739d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264643
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-01-17 14:38:32 +00:00
Kevin Lubick
486aecf130 [canvaskit] Make font names programmatically accessible
Change-Id: I384e4f37fa274665438b523f0636bfc1856ec0ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264574
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-01-17 14:18:09 +00:00
Sergey Ulanov
c38c00a9b0 Fix protected image allocation in createVkImageForBackendSurface()
GrVkGpu::createVkImageForBackendSurface() was trying to allocate
protected CPU-accessible buffer. That operation fails because
protected memory is not CPU-accessible. That buffer is used to
initialize image content with vkCmdCopyBufferToImage().
vkCmdCopyBufferToImage() allows source buffer to be non-protected
even when commandBuffer is protected. Updated buffer allocating
logic to always use non-protected buffer.

Bug: b/147809344
Change-Id: Id6b89ceb5391c57eb3076884a0d144dec9c43540
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264937
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Auto-Submit: Sergey Ulanov <sergeyu@chromium.org>
2020-01-17 14:10:33 +00:00
skia-autoroll
08842e9ec4 Roll ../src 98818e570034..870bcafd9826 (445 commits)
98818e5700..870bcafd98


Created with:
  gclient setdep -r ../src@870bcafd98

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/+/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
Bug: None
Tbr: mtklein@google.com
Change-Id: I5d0d94b667e525e3aa18ef399fc7ff98fa438344
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264962
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-17 13:58:08 +00:00
skia-autoroll
0a2bc21b91 Roll third_party/externals/swiftshader 5fc197dc7669..2cb1db08e5f1 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5fc197dc7669..2cb1db08e5f1

git log 5fc197dc7669..2cb1db08e5f1 --date=short --first-parent --format='%ad %ae %s'
2020-01-17 bclayton@google.com SpirvShaderDebugger: Implement OpenCL.Debug.100
2020-01-16 capn@google.com Remove the GL_NV_read_depth_stencil extension

Created with:
  gclient setdep -r third_party/externals/swiftshader@2cb1db08e5f1

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/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: mtklein@google.com
Change-Id: I4a6015685d623eb8f8ec502919b8ef4760abcf3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264963
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-17 13:58:07 +00:00
skia-autoroll
9b1ec5f072 Roll third_party/externals/angle2 a7b91502cd7f..41f6150edb16 (20 commits)
a7b91502cd..41f6150edb

git log a7b91502cd7f..41f6150edb16 --date=short --first-parent --format='%ad %ae %s'
2020-01-17 sugoi@google.com Stubs for new required extensions
2020-01-16 sugoi@google.com Add blendable checks to GL_EXT_color_buffer_float
2020-01-16 rafael.cintron@microsoft.com Fix FL10_0 multisampling
2020-01-16 jonahr@google.com Suppress UniformsBenchmark perftest on Win/NVIDIA/Vulkan
2020-01-16 m.maiya@samsung.com EGL: Add support for EGL_EXT_pixel_format_float extension
2020-01-16 sugoi@google.com Blendable check
2020-01-16 jmadill@chromium.org Vulkan: Make ContextVk own ResourceUseList.
2020-01-16 jdarpinian@chromium.org Require DEBUG_TRACE to enable expensive state validation
2020-01-16 jdarpinian@chromium.org Remove literal tab characters from generate_parser_tools.py
2020-01-16 jmadill@chromium.org Vulkan: Add ResourceUseList helper.
2020-01-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 2c436960d2c0..4792a6854238 (3 commits)
2020-01-16 sugoi@google.com Support blendable capability
2020-01-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src f63dd5c9d874..881bbb347a08 (1 commits)
2020-01-16 jonahr@google.com Expose GL_ANGLE_framebuffer_blit in NULL backend
2020-01-16 m.maiya@samsung.com Vulkan: Use dynamic buffers for staged updates
2020-01-16 cwallez@chromium.org DisplayGLX::isValidNativeWindow, avoid X11 exiting the program
2020-01-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src d203754bc116..3ed344dd784e (3 commits)
2020-01-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 834baaf8b227..ab883b9d257e (5 commits)
2020-01-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 8013d477aeac..323a81fc5e30 (3 commits)
2020-01-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 488d35ac0b1c..5fc197dc7669 (13 commits)

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

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/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-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: None
Tbr: mtklein@google.com
Change-Id: I50a1d94014e49aca28409348d3965a271b45824e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264964
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-17 13:53:04 +00:00
Florin Malita
7c7cd30550 [skottie] Add custom props rendering GM
Also fix a couple of custom props issues:

  - solid layer colors were not dispatched
  - text values were not sync'ed

TBR=
Change-Id: I827f8c1d8c8bb73b03f05de15e1c7c96753a631e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264936
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-01-17 13:53:02 +00:00
Mike Reed
d58b643f10 undo SkMatrix() cast -- must be done by sksl machine
Change-Id: Iec6ac37117470237873ad02b6dd471a4bd216d97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264861
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-16 23:08:01 +00:00
Greg Daniel
9a48bebe6a Remove GrPixelConfig from validateSurfaceParams
This wasn't even used...

Bug: skia:6718
Change-Id: I6543fd11b1f0d9136088fda8c6962aebc16ae5cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264858
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-01-16 23:02:32 +00:00
Greg Daniel
3155f7fc0d Pass in a GrColorType into our Copy call.
This allows us to remove looking at the config to infer a color type when
setting up a Surface/RenderTargetContext for the copy.

Bug: skia:6718
Change-Id: I75b63480a84558c96b5eeb248cc6165f96b2a243
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264563
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-01-16 22:55:32 +00:00
Mike Klein
e3193ad4e1 little debug/profiling tool cleanups
- Can convert raw code to dylib in place.
- Can track one fewer pointer for JIT code: no need
  for both in-memory and dylib JITs at the same time.
- Remove disused fOriginalProgram.
- Split Program::eval/interpret to make profiles clearer.

Change-Id: I66d64a68016f1d1d7d19d5002927e9e277970612
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264816
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-01-16 22:54:11 +00:00
Ben Wagner
56a48bb1aa Avoid BOT/EOT setting in HarfBuzz.
Unlike many users of HarfBuzz, the Skia shaper sets HB_BUFFER_FLAG_BOT
and HB_BUFFER_FLAG_EOT flags to inform HarfBuzz that the full context
contains the beginning and end of the paragraph so that it can treat the
beginning and end of the context specially. In reality, the EOT flag
currently does nothing and the BOT flag only has the effect of adding a
dotted circle (if the font provides it) if the first codepoint in the text
and context is a unicode mark. This behavior is generally unwanted, so
just remove it with a note to revisit this decision should HarfBuzz ever
change the effect of these flags.

Bug: skia:9618
Change-Id: I6cdf86ff3499e1321b1212d63192a4a9c5847e39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264686
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-01-16 22:48:16 +00:00
Florin Malita
d5c42c8c03 [skottie] Refactor property animators
Currently, property animators use lambda captures (std::function<>) to push
values to adapters and then to the scene graph.  Some downsides:

  * complex lambda captures are expensive in terms of object code size
  * adapters with multiple animated properties don't synchronize/quiesce: each individual property tick triggers a SG
    synchronization, possibly with inconsistent state (as animator running
    order is unspecified)
  * there is no enforced scoping, resulting in fragile constructs when SG
    fragments are discarded

This CL introduces a simplified and more robust animator pattern:

  * property animators are scoped to explicit containers
  * instead of capturing arbitrary value functors, animators only capture
    a pointer to the target value

Some implementation details:

  * keyframe/interpolation logic is pretty much unchanged (just relocated)
  * introduced AnimatablePropertyContainer - a base class for animatable
    adapters
  * legacy binding functions are refactored based on the new mechanism
    (they now/transitionally inject adapter objects)
  * converted a handful of effects, to exercise trivial refactoring patterns
  * converted the text animator goo, to exercise non-trivial refactoring:
    - detecting value changes is now trickier (no more lambda magic)
    - value adjustments must be hoisted into adapter logic (no more lambda magic)
    - all dependent animated values (selectors, etc) must be scoped to the
      text adapter to avoid lifetime issues

TBR=
Change-Id: Ia5821982f251de0de58fd3f87812219ff7fcc726
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263938
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2020-01-16 22:43:12 +00:00
Herb Derby
a8fa49016c Isolate updating grTextStrike
I'm isolating this code into a single routine, so I can change it
over to using a bulk API from the strike. The goal is to remove
all uses of bulk metrics and images.

Change-Id: I8c1c9a4e619962c8e35084c026a4c4553fbeb577
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264837
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-01-16 22:43:11 +00:00
Chris Dalton
84c8787702 Add a --scale flag to skpbench
Change-Id: Idd7698b59e09bdcc688ae3601d9ec343c37592d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264881
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-01-16 22:29:31 +00:00
Mike Reed
d4d3b33624 Make converting from 4x4 to 3x3 explicit
Change-Id: I4d190d6831cb517d5e9f22b3f872013367bddc08
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264856
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-01-16 22:15:30 +00:00
Brian Salomon
fba4a15b14 Disallow GrTextureDomain::kIgnore_Mode in SkGpuBlurUtils::GaussianBlur.
Use clamp and require a src rect instead.

Precursor to changing over to SkTileMode.

Possible perf regressions until we can incorporate domain optimizations
into effect factories rather than callers.

Make GrRRectBlurRectEffect use approx textures for its input mask
texture.

Change-Id: Id553016133c2fd522b7fa1e9759f176d354aa250
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264838
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-16 21:50:37 +00:00
Jim Van Verth
3b9c544bf8 Reland "Reland "Add new method for storing DrawOpAtlas texture index.""
This is a reland of dea2f34f09

Original change's description:
> Reland "Add new method for storing DrawOpAtlas texture index."
> 
> This is a reland of c8b2e61540
> 
> Original change's description:
> > Add new method for storing DrawOpAtlas texture index.
> > 
> > Storing the texture index in the lower bit of each texture coordinate
> > seems to have issues on certain iOS devices. Rather than do that, we
> > use the sign of the texture coordinate to act as our storage bit.
> > To manage encoding 0 we map [0, N] to [-1, -N-1] to represent a bit.
> > 
> > Change-Id: Ic588ee92cf858915a1833cf482d4b23bd11c1000
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263561
> > Commit-Queue: Jim Van Verth <jvanverth@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> 
> Change-Id: I901502c3d83ff9727c51ad4447b0cee733257649
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264566
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

Change-Id: I000bb74ca57e321084ca2d1d9dc2f0274880c0da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264689
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-01-16 21:50:36 +00:00
Robert Phillips
b0855273ab Add SkImage::CompressionType::kBC1_RGBA8_UNORM support
This is mainly so we can test the compression code on macOS.

Bug: skia:9680
Change-Id: Ie0a2eacfe9100ee4ce4cc94c878d3032d6985832
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264480
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-01-16 21:45:33 +00:00
Chris Dalton
b53bdf16aa Fix single-pass tessellator wedges
Change-Id: I5d7f4e2c0c3884e84633695967e6c4ed7c480d80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264819
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-01-16 21:45:32 +00:00
Michael Ludwig
1321a3d1e2 Re-enable QCOM_tiled_rendering, but check for gl functions
This enables tiled rendering when the extension is
reported AND the "optional" start and end tiling
gl functions were found.

Hopefully this will correct the hard crashes on the
Pixel 2XL waterfall bots, while still properly disabling
tiled rendering for the devices found in the Flutter bugs:

Bug: flutter:47164, flutter:47804
Change-Id: Ia96a89053305378d434304b7b4fbc0f5e49cd97e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264695
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-01-16 21:36:16 +00:00
Mike Klein
b147aceed7 DCI-P3 -> Display P3 in Skia
This keeps an alias so code keeps building.

Bug: skia:9792
Change-Id: If8575468d929d2ca28bc2f9e82de27291fb19aa1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264691
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-16 21:24:16 +00:00
Herb Derby
7b186101c3 Make glyph paths calculation positions from original data
The CTM of the path did not include the translate for the
origin. Directly transform outlines from original position instead of positions
relative to the initialOrigin. This allows the CTM to have the drawOrigin
translation, and the glyphMatrix to have the glyph origin translation.

Change-Id: I5b1595b2a8358f054f4cacd3e48fac78712c6980
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264681
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-01-16 20:36:57 +00:00
Mike Reed
c43f2a0898 mark all exerimental (3d) apis as such
Bug: skia:9768
Change-Id: I10d8d3507df15ad45d827d2210d5bf2250ac1aaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264778
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-16 20:25:40 +00:00
Mike Klein
ea4459d6f8 add new debug/profiling mechanism
Dump the program code, link it into a dynamic library,
then dlopen() / dlsym() it to get the entry point.

This makes profiling in Instruments work,
and probably also makes gdb work better.

This is quite slow so I've made it opt-in,
opting only nanobench in for now.

$ ninja -C out nanobench
$ instruments -t "Time Profiler" out/nanobench --config 8888 -m bitmap_RGBA_8888_A_scale_bilerp --skvm
~~> https://screenshot.googleplex.com/nw1L83qjqV6
~~> https://screenshot.googleplex.com/49HSo6Xpzcs

Change-Id: I9f91c675149178021a7a05030541a5965afbbcb5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264748
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-01-16 19:59:54 +00:00
Mike Klein
9f64f4c377 purge all old debug hooks
I'm thinking of maybe starting fresh, and it'll help to have all this
out of my face.  We'll always have Git.

Change-Id: I838f2fc33e793cfb4a73655d74e9e990ca3be1fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264747
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-01-16 19:59:54 +00:00
Mike Reed
b18e74dcbd Expose camera matrix in SkCanvas
3 new getters:
- localToWorld
- localToCamera
- localToDevice (same as total-matrix)

The current tracking minimizes overhead, by using a computed inverse to
produce the localToWorld/Camera. This can be change as needed in the
future (more precision, but more memory/overhead), but for now is
sufficient to try out the new APIs.

Change-Id: I85440318f36dca935124b782e110fe9c0152ae7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264648
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-01-16 19:35:40 +00:00
Chris Dalton
40a1cee16f Rewrite tessellation wedge generation to be done in a single pass
Change-Id: I66a9e1dff1b3d877012b38804cfb9d13f2b65f2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264579
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-01-16 18:45:35 +00:00
Hal Canary
2cd5d43f02 [minor] docs/examples: cleanup
Change-Id: I2dfec6de7c3ccd3f6b8ed63a9235c527fc648a1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264647
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2020-01-16 17:47:15 +00:00
Mike Klein
99e002f502 Revert "Simplify VertexRegenerator GrStrikeCache handling"
This reverts commit 59d529cafa.

Reason for revert: use-after-frees, *SAN bots

Original change's description:
> Simplify VertexRegenerator GrStrikeCache handling
> 
> The SubRun has access to the GrStrikeCache pointer, there is
> no need to pass it around the VertexRegenerator.
> 
> Change-Id: I867b1b29b29e595f92ad57505dcd27dd0f6b726f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264649
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

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

Change-Id: I7de7841fdd1efb5df845613bd0116fbaf12d1c49
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264756
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-16 16:45:22 +00:00
Herb Derby
59d529cafa Simplify VertexRegenerator GrStrikeCache handling
The SubRun has access to the GrStrikeCache pointer, there is
no need to pass it around the VertexRegenerator.

Change-Id: I867b1b29b29e595f92ad57505dcd27dd0f6b726f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264649
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-01-16 16:09:22 +00:00
Herb Derby
62b12feef7 Handle color and translation outside of VertexRegenerator
Change-Id: Ia06186328bd6fdc12f42355ec8fea9fc82ff51a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264425
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-01-16 16:04:22 +00:00
Mike Reed
c4b8eefe56 move SkV3 into header
Change-Id: I20284b415bbfe5ecc15fe9fe47dcbb65850d4368
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264682
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-16 11:34:32 +00:00
skia-autoroll
2900040bc4 Roll third_party/externals/swiftshader 146e16f68fdc..5fc197dc7669 (10 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/146e16f68fdc..5fc197dc7669

git log 146e16f68fdc..5fc197dc7669 --date=short --first-parent --format='%ad %ae %s'
2020-01-15 jonahr@google.com Disable MSVC warning 4065
2020-01-15 bclayton@google.com Vulkan: Disable SPIR-V preprocessing when debugging
2020-01-15 capn@google.com Produce less debug info in Kokoro builds
2020-01-15 capn@google.com Refactor binary group operations
2020-01-15 capn@google.com Replace positive/negative_inf() with infinity()
2020-01-15 bclayton@google.com SpirvShader: Stub OpenCL.DebugInfo.100
2020-01-15 bclayton@google.com System/Types.hpp: Make vec(T replicate) constexpr
2020-01-15 bclayton@google.com SpirvShaderDebugger: Add flag for printing opcodes
2020-01-15 bclayton@google.com SpirvShader: 2-way imported extensions lookup
2020-01-15 bclayton@google.com .vscode: Add spirv-tools-ext to include path

Created with:
  gclient setdep -r third_party/externals/swiftshader@5fc197dc7669

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/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: mtklein@google.com
Change-Id: Ib7ec099590c04ce46b94f6299c894508095f677f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264717
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-16 04:56:07 +00:00
skia-autoroll
bffef27297 Roll third_party/externals/angle2 86f730971751..a7b91502cd7f (2 commits)
86f7309717..a7b91502cd

git log 86f730971751..a7b91502cd7f --date=short --first-parent --format='%ad %ae %s'
2020-01-15 ianelliott@google.com Vulkan: Updated expectations after recent fixes
2020-01-15 artyom@fb.com Fixing OVR_multiview and OVR_multiview2 issues

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

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/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-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: None
Tbr: mtklein@google.com
Change-Id: I2128ff2e6aa284d2fe628b47310529570537c46b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264718
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-16 04:51:11 +00:00
skia-autoroll
0764e73894 Roll ../src b83f9414fec4..98818e570034 (437 commits)
b83f9414fe..98818e5700


Created with:
  gclient setdep -r ../src@98818e5700

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/+/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
Bug: None
Tbr: mtklein@google.com
Change-Id: I550c14f8b593dbf1dd3cf247f83ee04b00a62e05
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264716
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-16 04:51:01 +00:00
Jim Van Verth
7edb0eb8a4 Revert "Reland "Add new method for storing DrawOpAtlas texture index.""
This reverts commit dea2f34f09.

Reason for revert: Seeing unexplained glitches on Pixel3 and Pixel4 in fontcache-mt.

Original change's description:
> Reland "Add new method for storing DrawOpAtlas texture index."
> 
> This is a reland of c8b2e61540
> 
> Original change's description:
> > Add new method for storing DrawOpAtlas texture index.
> > 
> > Storing the texture index in the lower bit of each texture coordinate
> > seems to have issues on certain iOS devices. Rather than do that, we
> > use the sign of the texture coordinate to act as our storage bit.
> > To manage encoding 0 we map [0, N] to [-1, -N-1] to represent a bit.
> > 
> > Change-Id: Ic588ee92cf858915a1833cf482d4b23bd11c1000
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263561
> > Commit-Queue: Jim Van Verth <jvanverth@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> 
> Change-Id: I901502c3d83ff9727c51ad4447b0cee733257649
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264566
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

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

Change-Id: I8e5cbd61ba768e5b4b6df66189239e077b7327c4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264653
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-01-15 21:57:09 +00:00
Julia Lavrova
9bd8351ef3 RTL Paragraph + all it causes
Change-Id: Ia8711bf8a002af7ca9ae603cdd9a109c8af86360
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264640
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-01-15 21:25:16 +00:00