Commit Graph

41932 Commits

Author SHA1 Message Date
Brian Osman
1091f02b40 Interpreter: Change all Load/Store ops to use immediate indices
Avoids the need for a PushImmediate (which usually also required
a Nop for alignment) on every load/store. And it makes the codegen
for local vs. global identical, which simplifies the byte-code
generator in a few spots.

This means that places previously using DupDown now need something that
dupes the *top* N elements of the stack. Just use Vector + Dup, and
remove the (now unused) DupDown instruction.

Also add/implement kStoreSwizzleGlobal, which was the last missing
load/store op (and add a test case).

Change-Id: Id450272c11f4f1842c9d57bc5114e7f81e9e926e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214062
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-16 14:19:51 +00:00
Robert Phillips
f0ced62f91 Make createTestingOnlyBackendTexture and deleteTestingOnlyBackendTexture no longer be behind GR_TEST_UTILS (take 2)
Change-Id: Id00d0692c99c7eaec685788fec29ee189f020f2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214180
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-16 14:07:20 +00:00
skia-autoroll
3f4b4dcb51 Roll ../src a01010a50904..8c742b264faa (455 commits)
a01010a509..8c742b264f


Created with:
  gclient setdep -r ../src@8c742b264f

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: I116e1d83aafcbe057bbccd38a53e1c32c6561e7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214131
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-16 06:00:11 +00:00
skia-autoroll
9ad72e7928 Roll third_party/externals/angle2 bff32703c75b..6ddb7768fa25 (10 commits)
bff32703c7..6ddb7768fa


git log bff32703c75b..6ddb7768fa25 --date=short --no-merges --format='%ad %ae %s'
2019-05-16 jmadill@chromium.org Remove angle:: prefix in angle_deqp_gtest.
2019-05-16 jmadill@chromium.org Add IsDirectory helper function to system_utils.
2019-05-15 tobine@google.com Vulkan:Allow same-named var in nested scope
2019-05-15 timvp@google.com Android: Fix symbol compression logic
2019-05-15 jmadill@chromium.org dEQP: Make deqp_path GN variable public.
2019-05-15 jmadill@chromium.org Suppress flaky OpenGL ES3 test.
2019-05-15 jmadill@chromium.org Update dEQP build config to use GN templates.
2019-05-15 geofflang@chromium.org Use clamp cast for stencil mask in all versions.
2019-05-15 courtneygo@google.com Add support for OES_depth_texture
2019-05-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src e935dac9ef8a..f815e6fe51af (1 commits)


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

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: I79d44180e941315190d04bc78d3365f368f497c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214130
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-16 05:55:21 +00:00
skia-autoroll
7921042df7 Roll third_party/externals/swiftshader 3d7b7ea134d1..d61595f367af (10 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3d7b7ea134d1..d61595f367af


git log 3d7b7ea134d1..d61595f367af --date=short --no-merges --format='%ad %ae %s'
2019-05-15 hliatis@google.com Have final present function perform a VkQueueWaitIdle()
2019-05-15 capn@google.com Fix negation of unsigned value warning treated as error
2019-05-15 chrisforbes@google.com Fix color blend state handling for multiple attachments
2019-05-15 chrisforbes@google.com Move constant specialization to SpirvShader
2019-05-15 sugoi@google.com 32 bit safe code
2019-05-15 chrisforbes@google.com Remove Context::separateAlphaBlendEnable etc
2019-05-15 chrisforbes@google.com Now that we have swizzles forced, don't bother with channel replacement
2019-05-15 chrisforbes@google.com Override imageview swizzles for channel replacement edge cases
2019-05-15 bclayton@google.com CMakeLists: Silence pedantic MSVC warning about switch with no cases
2019-05-15 swiftshader.regress@gmail.com Regres: Update test lists @ 3d7b7ea1


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

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: I770e8de2018fa834792c77e14beace4b0ac35c9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214129
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-16 05:40:41 +00:00
Mike Klein
b3c0bf6426 Revert "manually register codecs in DM"
This reverts commit 9b2633e294.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> 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>

TBR=mtklein@google.com,scroggo@google.com,brianosman@google.com

Change-Id: If3272ef1985757a93ada229f833408d4bf83ddfb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214108
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 22:03:02 +00:00
Mike Klein
4bf6fd68db Revert "add runtime registration for encoders"
This reverts commit 940c3f136d.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> 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>

TBR=mtklein@google.com,scroggo@google.com,brianosman@google.com

Change-Id: I3ee9353ca6b3c6c11feba0503b672d8986a347be
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214107
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 22:02:39 +00:00
Mike Klein
0af9929416 Revert "remove #if guards in SkAndroidCodec.cpp"
This reverts commit 8ae07c319d.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> 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>

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

Change-Id: I92883e0e8e334766b6004faf0801689d6f4cde9d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214106
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 22:02:14 +00:00
Mike Klein
c9deffaed2 Revert "skip runtime registration on iOS"
This reverts commit 017126fe1d.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> 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>

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

Change-Id: Id8e9d8ccb79f5cae6d7af4a42dfbe514f77fc417
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214103
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 22:01:45 +00:00
Mike Klein
ab737e433a Revert "unguard SkFooEncoder.cpp"
This reverts commit 32c32b9a6c.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> 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>

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

Change-Id: I089a21d2fd4928969d956e47981a36efa71d9378
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214101
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 22:01:34 +00:00
Mike Klein
9509e04550 Revert "move encoders into codec_srcs"
This reverts commit 6a89611353.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> move encoders into codec_srcs
> 
> This is a stepping stone towards runtime registration.
> 
> This should work in concert with all the other CLs
> that are in the roll pipeline to get things building.
> 
> Change-Id: Id95f1e0bbea2f48f7b5fa438f4310f8db1d5b978
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214083
> Auto-Submit: Mike Klein <mtklein@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,scroggo@google.com,brianosman@google.com

Change-Id: I4808404f0968e8a4deaf259a46e366152b7590fc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214100
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 21:57:59 +00:00
Mike Klein
9098c28d92 Revert "format public.bzl"
This reverts commit f4c2c8e31b.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> format public.bzl
> 
> Change-Id: Ie92b366e5d6e6fcb99c56e80f34e315ad1be8831
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214093
> Reviewed-by: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com

Change-Id: I66f11062ea21127e5d4c44eec932bd41f99d4f2d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214099
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 21:57:31 +00:00
Ethan Nicholas
f9ef1b893d fixed SkSL interpreter copying from nullptr
Bug: skia:
Change-Id: I15aa378cfd3c2425b111c639c25995c0e6ace634
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214063
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-05-15 21:23:47 +00:00
Mike Klein
f4c2c8e31b format public.bzl
Change-Id: Ie92b366e5d6e6fcb99c56e80f34e315ad1be8831
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214093
Reviewed-by: Mike Klein <mtklein@google.com>
2019-05-15 20:54:00 +00:00
Mike Klein
6a89611353 move encoders into codec_srcs
This is a stepping stone towards runtime registration.

This should work in concert with all the other CLs
that are in the roll pipeline to get things building.

Change-Id: Id95f1e0bbea2f48f7b5fa438f4310f8db1d5b978
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214083
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 20:40:57 +00:00
Ethan Nicholas
91164d1c01 added external value support to SkSL interpreter
Bug: skia:
Change-Id: I1806e1f6abaef322ecd3ba0d9bfaa9d7ca7a44c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212983
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-15 20:05:45 +00:00
Brian Salomon
fc1dddbb8d Reland "Get EGLimage functions out of GrGLInterface."
This reverts commit 753836fcad.

Reason for revert: fixed

Original change's description:
> 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>

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

EXTRA_TRYBOTS=Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE

Change-Id: I71397072fa79ae3c72f3835c5e991b9ef2465a9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214040
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-05-15 19:58:45 +00:00
Mike Klein
c2dd348e41 clean up some .gitignores
I'd be tempted to remove even another half of these,
but I'm not really clear on what they are.

Change-Id: Ib18f02d651f32d4437f55e79c2d05b5e34b0b1e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213844
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 19:55:45 +00:00
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