Commit Graph

41964 Commits

Author SHA1 Message Date
Chris Dalton
703fe686ad Silence a spurious GL error
glDeleteSamplers should silently ignore "zero" values, however they
are triggering GL errors on NVIDIA. This change removes those errors
from our debug output so we don't have to worry about them anymore.

Bug: skia:
Change-Id: I9ab634c8c0cc538a23ed68333f1bf137fa1fcd5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214010
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-05-15 19:46:45 +00:00
Mike Klein
32c32b9a6c unguard SkFooEncoder.cpp
We used to define SkFooEncoder::Encode() either
here or as failing stubs in SkImageEncoder.cpp.

Now that we're not defining them in SkImageEncoder.cpp,
we can lift these guards here.

Change-Id: Id916811225450e4c3a84f1e7f38ae510be1d6268
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214004
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 19:38:09 +00:00
Michael Ludwig
8ad0cbd34a Revert "Make createTestingOnlyBackendTexture and deleteTestingOnlyBackendTexture no longer be behind GR_TEST_UTILS"
This reverts commit 50a4e6e3b1.

Reason for revert: Chrome fails to compile:

../../third_party/skia/src/gpu/vk/GrVkGpu.cpp:143:29: error: allocating an object of abstract class type 'GrVkGpu'
    return sk_sp<GrGpu>(new GrVkGpu(context, options, backendContext, interface, instanceVersion,
                            ^
../../third_party/skia/src/gpu/GrGpu.h:405:30: note: unimplemented pure virtual method 'createTestingOnlyBackendTexture' in 'GrVkGpu'
    virtual GrBackendTexture createTestingOnlyBackendTexture(int w, int h, const GrBackendFormat&,
                             ^
../../third_party/skia/src/gpu/GrGpu.h:414:18: note: unimplemented pure virtual method 'deleteTestingOnlyBackendTexture' in 'GrVkGpu'
    virtual void deleteTestingOnlyBackendTexture(const GrBackendTexture&) = 0;
                 ^
../../third_party/skia/src/gpu/vk/GrVkGpu.cpp:1525:15: error: out-of-line definition of 'createTestingOnlyVkImage' does not match any declaration in 'GrVkGpu'
bool GrVkGpu::createTestingOnlyVkImage(GrPixelConfig config, int w, int h, bool texturable,
              ^~~~~~~~~~~~~~~~~~~~~~~~
../../third_party/skia/src/gpu/vk/GrVkGpu.cpp:1893:27: error: out-of-line definition of 'createTestingOnlyBackendTexture' does not match any declaration in 'GrVkGpu'
GrBackendTexture GrVkGpu::createTestingOnlyBackendTexture(int w, int h,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../third_party/skia/src/gpu/vk/GrVkGpu.cpp:1933:15: error: out-of-line definition of 'deleteTestingOnlyBackendTexture' does not match any declaration in 'GrVkGpu'
void GrVkGpu::deleteTestingOnlyBackendTexture(const GrBackendTexture& tex) {
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Original change's description:
> Make createTestingOnlyBackendTexture and deleteTestingOnlyBackendTexture no longer be behind GR_TEST_UTILS
> 
> Change-Id: Iec44bc46aa2ab2899af3f6df130a93adf3f26e2a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213821
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

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

Change-Id: I6b234ae436842eb292c7a8a725c1a55f3f5fd440
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214061
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-05-15 19:32:11 +00:00
Mike Klein
017126fe1d skip runtime registration on iOS
These encoders and decoders are not built and linked
in Google3 iOS builds.  We just need to hack a bit to
get DM to build there... we never run it.

Change-Id: I6cdfbb6df3c4fe30096b2715cad004bccec0bcaa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214002
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-15 18:59:27 +00:00
Mike Klein
8ae07c319d remove #if guards in SkAndroidCodec.cpp
I'm not sure I entirely understand what's going on here, but it looks
like these removed guards aren't needed?  Can you walk me through what
they're for?  I think they're getting in the way of runtime registered
codecs working with SkAndroidCodec.

Change-Id: I078bfb77797b4a3419f02a20d77d0aa8d7bce09d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213876
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-05-15 18:55:43 +00:00
Mike Klein
940c3f136d add runtime registration for encoders
If we want to make these external dependencies mix-and-match in Google3,
we'll need to group together the encoders and decoders, everything that
dependends on each external library.

I was tempted to try to remove these generic encoder entrypoints and
replace them with calls to the direct equivalents, but I'm not sure
that's necessary.  I think we can just register encoders like decoders.

Change-Id: I41d2d1bb3ceb1daafa62c95d345eb6a70249be75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213880
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-15 18:52:43 +00:00
Michael Ludwig
753836fcad Revert "Get EGLimage functions out of GrGLInterface."
This reverts commit bc233135e4.

Reason for revert:
EGLImageTest and TextureBindingTest broken on Windows ANGLE
Build failures on Debian9, unable to link
  ld.lld: error: undefined symbol: eglCreateImageKHR

Original change's description:
> Get EGLimage functions out of GrGLInterface.
>
> Only used in test code which can just directly call these.
>
> Also removed related code in interface assemble/validate generator.
>
> Change-Id: I7e821ebb9328bdd2a54d8ab3af929399ca0517d5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213480
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: I622fadf22c5d79f5b1d335a8a81455978d49a86a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213960
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-05-15 17:45:48 +00:00
Brian Osman
b745129ceb Interpreter: Implement/fix vectorized load/store of globals
Also has swizzled loads of globals. Swizzle stores are still broken.

Change-Id: I0c01a309592c0aa460e1459de2636a2e1ef2ee6c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213830
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-15 17:40:45 +00:00
Robert Phillips
50a4e6e3b1 Make createTestingOnlyBackendTexture and deleteTestingOnlyBackendTexture no longer be behind GR_TEST_UTILS
Change-Id: Iec44bc46aa2ab2899af3f6df130a93adf3f26e2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213821
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-05-15 17:40:44 +00:00
Mike Klein
9b2633e294 manually register codecs in DM
We'll want to do this when we've got Google3 refactored
to slice out each of these four codecs into its own little target.

Small tweaks to make SkPngCodec match the pattern of the rest.

Should be harmless to have both the compile-time and runtime
registration, right?

Change-Id: Ic72394764ac267758dc1023e85f3d0c4b655d420
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213872
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 17:03:09 +00:00
Brian Salomon
bc233135e4 Get EGLimage functions out of GrGLInterface.
Only used in test code which can just directly call these.

Also removed related code in interface assemble/validate generator.

Change-Id: I7e821ebb9328bdd2a54d8ab3af929399ca0517d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213480
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-15 16:29:18 +00:00
Mike Klein
945d1e538c simplify rtree loops in Skia too
Sorry for yanking you around on whether on not this is worth doing.
Seems like SkRTrees are going to stick around for now for Flutter,
so I think we might as well keep both implementations up to date.

This ripples out a little further than in Chromium, as the math we're
deleting here was the only use of the aspect ratio of the passed-in
bounds, that itself the only use of those bounds themselves.  So we can
un-plumb all that too.  I'd still like to see how much we can minimize
the need for those user-provided bounds at all, especially when we're
calculating them all here.

Change-Id: Iea07e8e3d23a4dd31da8bcde512b24caabc96a10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213840
Reviewed-by: James Bankoski <jimbankoski@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 15:42:10 +00:00
Ben Wagner
6bb79bbfdc Add SkShaper which just shapes.
This adds and SkShaper which doesn't wrap or re-order. This allows for
users to write their own implementations of shape-then-wrap logic.

Change-Id: I8bd8931ac9534c33883fc303be25f379c02da4b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213829
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-05-15 15:37:08 +00:00
Ben Wagner
21bca28bda Move SkMessageBus.h into src/core
Not used by anything else in the include directory, probably don't want
to accidentially expose it either.

Change-Id: I50d255e2cac43d8405305a825fd194bb36edd8fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213826
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-05-15 15:33:48 +00:00
Michael Ludwig
6e17f1d4d1 Revert "Clear and discard stencil buffers on tilers"
This reverts commit 7b2c85577d.

Reason for revert: nanobench hangs on chromebook bots during mipmap regeneration

Original change's description:
> Clear and discard stencil buffers on tilers
>
> Bug: skia:
> Change-Id: I42e99cb75567825ac7751fc0ec56e4c45132628b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210425
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com

Change-Id: I69e04c4797b6bde934d86c83bf0348c8abadcfc3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213824
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-05-15 15:17:19 +00:00
Robert Phillips
1f09898e9a Add GrVkFormatIsCompressed and GrVkFormatCompressedDataSize to rm uses of GrPixelConfig
Bug: skia:6718
Change-Id: Ib0b0d2800e5c6d7e1b74a89ebe0a4d9ef6dbf4b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213827
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-15 14:59:07 +00:00
skia-autoroll
c8d66d3553 Roll skia/third_party/skcms 853f66269c16..1578d6b6f5dd (1 commits)
https://skia.googlesource.com/skcms.git/+log/853f66269c16..1578d6b6f5dd

2019-05-15 mtklein@google.com Add SSE2 and SSE4.1 limited builds.


The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-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=luci.chromium.try:linux-blink-rel
TBR=michaelludwig@google.com,mtklein@google.com

Change-Id: I94326cc533c199b68f77f6d5cb431b4424900560
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213851
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-15 14:38:17 +00:00
Brian Osman
b9ce40a968 Interpreter: Remove vectorized branches
These are unused (and don't really make sense)

Change-Id: Ib3eac82204df91aabbc934ac77c21282860f1f8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213661
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2019-05-15 14:16:17 +00:00
Ben Wagner
8bd6e8f198 Move SkTSearch.h into src.
No public headers are using it anymore, so move it from include/private
into src/core where SkTSearch.cpp resides.

Change-Id: I4499c629487ff1b8c391b44708616d67567a3e9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213674
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-05-15 14:15:07 +00:00
Robert Phillips
39ef2ef586 GrVkCaps: add isFormatRenderable and rename some isConfig* methods to isFormat*
Change-Id: I7fe38e9851cd1ad3b31944b00b9304b811a6ac5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213820
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-15 13:49:16 +00:00
Ben Wagner
0cda4c8221 Remove tools/clang from .gitignore
This used to be in DEPS a long time ago but has been removed. Remove it
from the .gitignore to clean it up and also remind those with really old
local working directories to remove it. The thing brought in by the old
DEPS has a file named "windows.h" which got confusing.

Change-Id: I6010473f9d0629ecbf6362ba3349fce2a40e3754
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213823
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-15 13:41:01 +00:00
Brian Osman
226668a146 Add support for calling functions within the interpreter
Change-Id: Id009aa32faa40e9847dcf3668f1fd15e8b95dc56
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213134
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-15 13:36:16 +00:00
skia-autoroll
348880c3f6 Roll third_party/externals/angle2 f7033c55be3f..bff32703c75b (4 commits)
f7033c55be..bff32703c7


git log f7033c55be3f..bff32703c75b --date=short --no-merges --format='%ad %ae %s'
2019-05-15 geofflang@chromium.org D3D11: Disable B5G6R5 on AMD drivers.
2019-05-15 spang@chromium.org Add fuchsia-angle-rel to the CQ
2019-05-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 2947e88f7938..e935dac9ef8a (1 commits)
2019-05-14 syoussefi@chromium.org Vulkan: Fix matrix uniforms


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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=michaelludwig@google.com

Change-Id: I336dfaeb73324513491af93a07c4cf5eba0c6f03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213745
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-15 05:30:45 +00:00
skia-autoroll
82ca93b80d Roll ../src 156f1f758a0f..a01010a50904 (446 commits)
156f1f758a..a01010a509


Created with:
  gclient setdep -r ../src@a01010a509

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

Change-Id: Ib5e7229cf3bd8254d58e2121f4a43b8dd5e25658
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213746
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-15 04:42:05 +00:00
skia-autoroll
8207ade300 Roll third_party/externals/swiftshader 65b1e97d13eb..3d7b7ea134d1 (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/65b1e97d13eb..3d7b7ea134d1


git log 65b1e97d13eb..3d7b7ea134d1 --date=short --no-merges --format='%ad %ae %s'
2019-05-14 bclayton@google.com Implement a2b10g10r10_unorm_pack32.
2019-05-14 amaiorano@google.com CMake: apply the warning treatment to msvc builds
2019-05-14 bclayton@google.com SpirvShader: Fixes for phis.
2019-05-14 bclayton@google.com SpirvShader: Fixes for complex loops.
2019-05-14 swiftshader.regress@gmail.com Regres: Update test lists @ 65b1e97d


Created with:
  gclient setdep -r third_party/externals/swiftshader@3d7b7ea134d1

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

Change-Id: I44a9d1681505b0cbb08a138e3a078f6e8109eea2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213744
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-15 04:33:45 +00:00
Herb Derby
3f79f07a14 Use SkStrikeSpecStorage to lookup strike for GPU text drawing
Change-Id: If0d93ea722dc87ebb83e90159474a4ff702717a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212961
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-05-15 01:35:31 +00:00
Robert Phillips
c8a84d2b7f Move compute_combined_buffer_size behind GR_TEST_UTILS
Change-Id: I7df21ef7f3b491be5d54477f2429e4ab7603e14b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213671
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-14 21:06:24 +00:00
Mike Klein
ad44dd500f preserve comments past the #include ""
Tacking on parts[2] lets us keep things like IWYU comments

    #include "something.h" // IWYU pragma: keep

Rerun the script too... not much interesting.

Change-Id: I9f02c81ffece0ecf3e99730d4a12d49e01417ddc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213697
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-05-14 19:35:34 +00:00
Ben Wagner
5162a74b0a Remove GpuLayerCacheTest
The gpu code doesn't have a layer cache anymore to test.

Change-Id: Iec931112e5e12c90f2cad0c6012dfd1d0f14ad25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213665
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-05-14 19:28:44 +00:00
Mike Klein
046ecb1b5e remove SkMiniPicture and co.
This was an optimization for Chromium that I believe is no longer
relevant in a world of PaintOpBuffers.

Change-Id: Ic7526715a0ef1c3cec387a44189b7d56d5107af5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213680
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-14 19:19:44 +00:00
Robert Phillips
42dda0884f Remove some uses of GrBytesPerPixel (take 2)
GrPixelConfig needs to go away. Towards that end, switch the Vk and GL backends over to using their native formats.

Change-Id: Ie663d1ec64d19b8940925afc7c39bc057c4112cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213482
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-05-14 19:04:54 +00:00
Mike Klein
a705cb93c7 remove SkLiteDL
It's been dead code since it was inlined into Android last summer.

Change-Id: I252f6392d9436ef357f22a54bab8a33c9d1b3ea9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213625
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-14 18:55:44 +00:00
Chris Dalton
7b2c85577d Clear and discard stencil buffers on tilers
Bug: skia:
Change-Id: I42e99cb75567825ac7751fc0ec56e4c45132628b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210425
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-05-14 18:47:44 +00:00
Greg Daniel
caa795f59c Reduce use of GrPixelConfig inside of GrVkCaps.
This change removes all internal uses of GrPixelConfig in GrVkCaps, besides
translation of GrPixelConfig in overriden methods, as well as for swizzles
which actually live in shader caps.

Bug: skia:6718
Change-Id: I7a8bf03c9e6a7ed75a74862cb4c99cf610976fe8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213641
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-05-14 18:46:12 +00:00
Ben Wagner
f1344ac239 Remove SK_ALLOW_STATIC_GLOBAL_INITIALIZERS from tests.
The tests themselves should run fine if no factories were actually
registered. This isolates the last uses of this flag to the gpu code
which is actually depending on it.

Change-Id: Ief9c01abfc37c4e071d946d70ef85f13f94ae0f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213301
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-05-14 18:21:34 +00:00
Brian Osman
4167215daf Fix stack indexing bug in vectorized unsigned -> float conversion
Also add a test of all three conversions (scalar & vector).

Change-Id: I1671e992760ad538304d2602e37cd9792a49e9cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213660
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-14 18:09:50 +00:00
Chris Dalton
69258ffdb8 Add a workaround to allow sample variables for stencil draws
gl_SampleMask seems broken in general on Adreno and Radeon, but hasn't
proven to be an issue yet when rendering only to stencil.

Bug: skia:
Change-Id: I67c6b5bc2ecc3667381bd43f7bb3849c723490ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213051
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-05-14 15:46:10 +00:00
Herb Derby
209ebc015a Add thread annotations to SkSharedMutex
Change-Id: Ieb7f4f102ee69b28f3b34c77822ff45fd2300844
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213463
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-05-14 13:57:50 +00:00
Herb Derby
bcbd30b7dc Trivial code cleanup
Change-Id: If56a9c166ba3ea8cf2a608eac9a980a8ff6858ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212780
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-05-14 12:51:40 +00:00
recipe-roller
d210782fa9 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.
recipe_engine:
  https://crrev.com/e92521da4f987d5bf87b28d23770544e72a96dc5 Allow Protobuf messages to define PROPERTIES. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ide1b62ed9180e58a69b19451f95c16d66fa06fff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213604
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-05-14 12:38:10 +00:00
recipe-roller
c2aea5938d Roll recipe dependencies (nontrivial).
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).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/5b1f4aaf31d8f26b41db73ba1d3cde638649c92c Revert "Reland "bot_update: Pass target-ref to gclient."" (oprypin@chromium.org)


R=jcgregorio@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Icae8061ce22e5010195d7bc6cb708c6eef3acf8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212196
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-05-14 11:58:40 +00:00
skia-autoroll
136ad09848 Roll third_party/externals/angle2 3dbe480b559e..f7033c55be3f (11 commits)
3dbe480b55..f7033c55be


git log 3dbe480b559e..f7033c55be3f --date=short --no-merges --format='%ad %ae %s'
2019-05-14 ianelliott@google.com Vulkan: Request at least 3 images for MAILBOX.
2019-05-13 shrekshao@google.com Skip validating draw buffers when RASTERIZER_DISCARD is enabled.
2019-05-13 jmadill@chromium.org Call robust resource init before object sync.
2019-05-13 jmadill@chromium.org Roll dEQP (May 2019)
2019-05-13 syoussefi@chromium.org Vulkan: Rework layout block storage conversion
2019-05-13 syoussefi@chromium.org Add test to verify uniform matrix upload
2019-05-13 geofflang@chromium.org D3D: Store error message by std::string instead of const char*.
2019-05-13 thakis@chromium.org angle: Stop setting secondary_source.
2019-05-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-headers/src c4f8f65792d4..4b0985f29277 (2 commits)
2019-05-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src f6d9a1784313..2947e88f7938 (4 commits)
2019-05-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 2dd4ab3a4acb..6e384fef6c0f (2 commits)


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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=michaelludwig@google.com

Change-Id: I306bc8f13fe43ac71227eca668b9fedc80c975b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213583
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-14 05:37:48 +00:00
skia-autoroll
7788fa1b7c Roll ../src 97d5761990f6..156f1f758a0f (423 commits)
97d5761990..156f1f758a


Created with:
  gclient setdep -r ../src@156f1f758a

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

Change-Id: I305eedfccd2f3466749082cf5dab724f525a4c15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213584
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-14 04:39:48 +00:00
skia-autoroll
4e66df54e7 Roll third_party/externals/swiftshader 9e4f690166c1..65b1e97d13eb (7 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/9e4f690166c1..65b1e97d13eb


git log 9e4f690166c1..65b1e97d13eb --date=short --no-merges --format='%ad %ae %s'
2019-05-13 chrisforbes@google.com Only perform attachment load/store ops for used attachments
2019-05-13 hliatis@google.com Implement vk_android_native_buffer (basic)
2019-05-13 chrisforbes@google.com Fix interaction between Dref and explicit lod
2019-05-13 chrisforbes@google.com Implement vkCmdDispatchBase
2019-05-13 chrisforbes@google.com Wire up NoPerspective to interpolation
2019-05-13 bclayton@google.com third_party/llvm-7.0/BUILD.gn: Update to CMakeLists.txt's changes
2019-05-13 swiftshader.regress@gmail.com Regres: Update test lists @ 9e4f6901


Created with:
  gclient setdep -r third_party/externals/swiftshader@65b1e97d13eb

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

Change-Id: Iaa29c5fa49218f9d4daa890eb199f8d0229b1c3a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213582
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-14 04:33:47 +00:00
Herb Derby
01eaf1779b Remove global mutex around CG
Change-Id: I3df1b4f475c3e50e3432b40aaeee220ff4acb586
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213541
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-05-14 00:34:47 +00:00
Herb Derby
8fae51b699 Introduce SkStrikeSpecStorage.
SkStrikeSpecStorage is the centralized class for creating different sets of
SkScalerContextRecs/Effects for different text rendering methods.

It is initailly called SkStrikeSpecStorage, but as a last stage will be
renamed to SkStrikeSpec as it encompasses the current functionality of
the existing SkStrikeSpec.

I'm breaking up a much larger prototype for this CL and several
following CLs. The prototype is at:

https://skia-review.googlesource.com/c/skia/+/209109

Change-Id: I617eaae6fcb4b0b29914c3f1a82c52c81d81aabe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212733
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-05-13 21:01:47 +00:00
Robert Phillips
13371a10b0 Standardize DDL images to RGBA
With the following CL:

https://skia-review.googlesource.com/c/skia/+/213220 (Alter createTestingOnlyBackendTexture methods)

we lose the BGRA-ness of testingOnlyBackendTextures on desktop machines so, upon upload, the required swizzle isn't happening. This CL switches all the DDL images to RGBA to work around the problem. Once the backendTexture API settles down we will need a way to specify the format of the uploaded data separate from the format of the backendTexture.

Change-Id: Id92e1ad65cb7eb332696ce509b576d25bb7dbbaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213466
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-13 20:42:47 +00:00
Michael Ludwig
76ec80ac46 Use per-edge AA flags to respect mixed AA between clip and draw
Bug: chromium:957946
Change-Id: I443d0960113471ffca398cc552ffd1fe26f293d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213132
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-05-13 20:14:37 +00:00
Robert Phillips
0221e8b226 Revert "Remove some uses of GrBytesPerPixel"
This reverts commit 13f02be291.

Reason for revert: Vulkan assert

Original change's description:
> Remove some uses of GrBytesPerPixel
> 
> GrPixelConfig needs to go away. Towards that end, switch the Vk and GL backends over to using their native formats.
> 
> Change-Id: I92c80eb27e5d639097a40745429721208fe26836
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213428
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: I253b6587a33c9195266772386aace1c53e0652cf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213468
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-13 19:55:33 +00:00
Robert Phillips
13f02be291 Remove some uses of GrBytesPerPixel
GrPixelConfig needs to go away. Towards that end, switch the Vk and GL backends over to using their native formats.

Change-Id: I92c80eb27e5d639097a40745429721208fe26836
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213428
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-13 19:32:12 +00:00