Commit Graph

43007 Commits

Author SHA1 Message Date
Florin Malita
7a15a6e2c7 [skottie] De-dupe sequential cubic mappers
Detect and de-dupe repeating/sequential cubic mapers.

Also improve linear keyframe detection.

Change-Id: Ic7cc757ba9369416d4f1e5639e1c9fdf9e1e2c6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228117
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2019-07-17 17:14:46 +00:00
Greg Daniel
009ad250fe Remove RG32F color type and pixel config.
Change-Id: I7fd3a8f6c02217d011f353ef602718a537bb87b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228116
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-07-17 17:05:36 +00:00
Mike Reed
019458d9ad change colorfilter signature back to just inout color
Change-Id: I8999d14a31d071cb6f5c8966a55523b7dc6e7f57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228118
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-07-17 16:50:43 +00:00
Stephen White
6cebea42a8 First draft of Dawn backend: clears are working.
First draft of (mostly stubbed-out) GrDawnGpu.
Skeletons of GrDawnCaps, GrDawnGpuCommandBuffer, GrDawnRenderTarget.
First draft of DawnTestContext.
First draft of psuedo-fences for Dawn, implemented with MapReadAsync.

Change-Id: Id009436f4441f26ffbc82d485d7af3a499b3281b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226857
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-17 16:29:22 +00:00
Florin Malita
dc02c3ed01 [skottie] Fix default cubic controls detection
C0 & C1 are swapped and being compared against the wrong defeault
values.

Swap again to avoid instantiating unnecessary SkCubicMappers.

TBR=
Change-Id: Ie26c28805b3b4517ca65f8e715e27a2eb65fe700
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228061
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-07-17 15:56:36 +00:00
Mike Reed
8c31f2bf7f use same signature for shader/colorfilters in sksl
'void main(float x, float y, inout half4 color)'

For colorfilters, x,y are uninitialized
For shaders, color is paint-color

Change-Id: I21c2f570702f117d33646bd8fba0ab4def20a118
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227439
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-07-17 15:47:36 +00:00
Ethan Nicholas
0f78174b39 add support for ctype=SkPMColor4f to GrSkSLFP
Bug: skia:
Change-Id: I222cd0afad2c5226f8ccdec5c5c989c56671c2ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228057
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-07-17 15:43:06 +00:00
Greg Daniel
9bb268be63 Move verified color attachment flag to FormatInfo.
Bug: skia:6718
Change-Id: I7d44177bab44d8d72ded7442e1a17c5f451882a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228058
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-07-17 15:40:46 +00:00
Brian Salomon
f2c2ba99f6 Remove kRenderTarget_GrSurfaceFlag, instead pass GrRenderable.
This is the last surface desc flag, so remove flags from GrSurfaceDesc.

Bug: skia:6718

Change-Id: Id3ed66b161289927b62f40bfb1f6482cf544deda
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227858
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-17 15:09:03 +00:00
Greg Daniel
64329094c2 Move renderable flag and valid samplecounts in GrGLCaps to FormatInfo.
Change-Id: Ic94a748c1ebfb53431f623d9b63c0aaf12c6f3ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227836
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-07-17 13:53:12 +00:00
Greg Daniel
a9ec10ca1b Add comment regarding gl BGRA format and renderability.
Change-Id: Ib940c5a59be9d96e756aa85acac8ead8acdc109f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227782
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-07-17 13:19:18 +00:00
Hal Canary
e574f1e409 [reland] SkMetaData: move from src/ to tools/
Original: https://skia-review.googlesource.com/c/skia/+/227436
Change-Id: Iec326027319f39b0402e1b5c03b327cb26249159
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227778
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-07-17 13:14:38 +00:00
skia-autoroll
63fdd0191b Roll third_party/externals/angle2 754d697fb3a7..2e43b0f5efec (11 commits)
754d697fb3..2e43b0f5ef


git log 754d697fb3a7..2e43b0f5efec --date=short --no-merges --format='%ad %ae %s'
2019-07-16 syoussefi@chromium.org Vulkan: Implement memory barriers
2019-07-16 lujc@google.com Filter out redundant glDepthRange calls
2019-07-16 geofflang@chromium.org GL: Reset the pixel unpack state after initializing texture data.
2019-07-16 syoussefi@chromium.org Vulkan: Compute shader support
2019-07-16 clemendeng@google.com Generate openGL32.dll in a separate output folder
2019-07-16 geofflang@chromium.org Fix checks for GL_ETC1_RGB8_OES, disable it on D3D11.
2019-07-16 syoussefi@chromium.org Vulkan: Prefix context pipeline and dirty bits with Graphics
2019-07-16 syoussefi@chromium.org Vulkan: merge bindGraphics/ComputeDescriptorSets
2019-07-16 syoussefi@chromium.org Vulkan: Rename CommandBufferOwner to RenderPassOwner
2019-07-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 032adc4d7ede..1fedf72e500b (1 commits)
2019-07-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 1a6e8534cef3..e383c5f55def (4 commits)


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

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:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE

Bug: None
TBR=nifong@google.com
Change-Id: I4f327c6f3cc178c88c437a95a2ace2811dbc900f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227978
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-17 05:38:47 +00:00
skia-recreate-skps
2fdd78da52 Update Go deps
Change-Id: I41179711744421e38bd732c77e2614be11fca9b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227987
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-07-17 05:28:17 +00:00
skia-autoroll
14b5e6bb8f Roll ../src 63d0d1482f0a..db4701c688c0 (502 commits)
63d0d1482f..db4701c688


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

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

Change-Id: I52c089a0101f7284024dfa04ca36fed11347940b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227980
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-17 04:38:37 +00:00
skia-autoroll
e9ac1918af Roll third_party/externals/swiftshader f5182abb6816..763b77946e17 (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f5182abb6816..763b77946e17


git log f5182abb6816..763b77946e17 --date=short --no-merges --format='%ad %ae %s'
2019-07-16 sugoi@google.com MAX_DESCRIPTOR_SET_COMBINED_BUFFERS_DYNAMIC related assert fix
2019-07-16 sugoi@google.com Memory leak fix for SamplingRoutine cache
2019-07-16 bclayton@google.com LLVMReactor: Cache llvm::TargetMachines.


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

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

Change-Id: I683d96b0b951a55ab819165428be62aee27aafde
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227979
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-17 04:34:37 +00:00
Florin Malita
eb24735ec5 [skottie] Pass asset IDs to ResourceProvider::loadImageAsset
Also use explicit IDs as keys for the image asset cache.

Change-Id: I359ff026063318ace524d1205b4f0b3e7a6e1d5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227783
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Isabel Ren <isabelren@google.com>
2019-07-17 01:08:05 +00:00
Mike Klein
08ba113703 test (and fix?) SkVM JIT on arm64 Android bots
This has failed in the past on GPU perf bots,
I think because I've been flushing the cache wrong?

Try switching over to __builtin___clear_cache(), what I used
a few years ago when I last tried to do something like this.

Cq-Include-Trybots: skia.primary:Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android
Change-Id: Ic5e366022eb15f4544fb7b90a75f8c51e36392ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227421
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-07-17 00:31:05 +00:00
recipe-roller
d6d39e42a4 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/9217ff8b2c57fc7f5f706fef741a2c48efe7c885 depot_tools: Make metrics Python 3 compatible. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I71b7bea3ef59367a249c5f2fdc5912f54b1b61a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227888
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-07-17 00:07:04 +00:00
recipe-roller
cc2f8d3f77 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/966ad1914baa4d819c11277022090f31c2f68c5c depot_tools: Restore third_party/upload.py (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I38110a99ade5700652a683c88c6f963dc32b6ac5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227883
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-07-16 23:40:34 +00:00
Mike Klein
9977efa703 test both JIT and interpreter
Add Program::dropJIT() to allow us to proactively drop
any JIT code forcing fallback on the interpreter,
and use it to test both on JIT-supported platforms.

Other platforms will just test the interpreter twice.

Change-Id: I607d00ef3c648e66a0b3a1374b11aa82dbfff70c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227424
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-07-16 22:31:17 +00:00
Mike Klein
977e53267e test SkVM JIT on Mac bots
Not sure why this isn't already on.  x86-64 Mac and Linux use
the same ABI, and I've been testing this already on several Macs.

Change-Id: Ibc96ba027f6ae6d5fae20585949862474c2c59f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227420
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-07-16 22:01:37 +00:00
Greg Daniel
7b1bebf1ec Fix creating gpu texture from raster image.
In the new world if the GrColorType cannot creating a support backend format
it returns an invalid GrBackendFormat. So we need to check this in our
fallback when uploading raster image to gpu.

Change-Id: Ie69a06ba1a0badb5b7e78965906f09c0413453e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227859
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-07-16 21:36:47 +00:00
Mike Klein
56aa3372ca proactive JITting
Move JITting from lazy in eval() to proactive in Program::Program().
There's no need to delay to eval() now that strides are known up front.

There's _still_ one more reason we need to keep the interpreter around
even if we can JIT... can_jit() may return false (too many regs, too
many args).

Change-Id: I0a176b97bcd9e8d0fcf2a9fa4b7f64103fd51e75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227419
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-07-16 21:34:47 +00:00
Mike Klein
2616efda08 pin down arg() stride (a.k.a. type) info sooner
Arg strides are the reason JIT happens lazily in Program::eval() today
instead of proactively in Builder::done() or Program's constructor.  It
also just really doesn't make sense to delay this information... it's
not like you can change it up sanely between calls to eval().

The argument index now comes implicitly from the order of calling arg().
This may seem logically independent, but it prevents a weird situation
where you could use the same argument index twice with different
strides... not sure what that would mean.

Change-Id: I0f5d46e94a1ca112a72675c5492f17c0dd825ce0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227390
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-16 21:06:45 +00:00
Brian Salomon
9d8cac831d Check for failed proxy creation in SkDeferredDisplayListRecorder::init
Bug: chromium:227776
Change-Id: I4f628b76aa08c4a3cdc858cd4263a4b6afee7332
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227837
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-07-16 20:50:15 +00:00
Brian Salomon
947efe28de makeDeferredSurfaceContext -> makeDeferredTextureContext and makeDeferredRenderTargetContext.
Removes some usage of GrSurfaceDesc.

Bug: skia:6718
Change-Id: Icc4f93aba0e5c49a801b4c7bbfcba76a6e30c538
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227776
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-07-16 20:06:04 +00:00
recipe-roller
96d2ee0fd0 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/44c14e31274e6d1c84cad9bc0df608fbdf03e575 Clean up the read hack, which is now immortalized forever. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia06d7214b1fcf2f9802446b4e272a81b8e408d92
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227802
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-07-16 19:29:43 +00:00
Greg Daniel
2ce4b7e4af Revert "Changes to gl BGRA renderbuffer format support."
This reverts commit 8372e4bb40.

Reason for revert: This doesn't really work while RT has both resolve and msaa in it since chrome cant blit with different formats and we can't check that during a resolve correctly.

Original change's description:
> Changes to gl BGRA renderbuffer format support.
> 
> Change-Id: Ic46057ed1f85e368fd55148beaa3f7e2ae54a042
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227398
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: Ia28b8ef1e5f4274240ad207e34619049525bd722
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227781
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-07-16 19:08:32 +00:00
recipe-roller
bece44d288 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/0fb33b26eb533a6f6184cab75ad50c229ee5c130 Updated presubmit error message format. (debrian@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I722f620547254dfc7622ff4b63c265d4e6e0842a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227779
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-07-16 19:01:32 +00:00
Brian Osman
ef79fa8983 Generate identical shader keys for X and Y blurs when there is no domain
This mirrors the logic in emitCode, and avoids extra shader compiles.

Change-Id: I2c11e082dfa2b9fc673dc2b8fdf2f0b964407b90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227777
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-16 18:01:01 +00:00
Greg Daniel
8372e4bb40 Changes to gl BGRA renderbuffer format support.
Change-Id: Ic46057ed1f85e368fd55148beaa3f7e2ae54a042
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227398
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-16 17:08:41 +00:00
Brian Salomon
a3e2996b08 Rework how initial clearing of texture works.
1) It only applies when a texture is created, not when recycled from cache

2) It is all textures or none, not a flag GrSurfaceDesc

3) It is implemented by GrGpu clearing the texture after creation if
such a thing is supported in underlying API. Otherwise, GrResourceProvider
must provide pre-zeroed mip levels.

4) Works for MIP mapped textures (all levels without initial data are cleared)

This could cause performance regressions in WebGL until we re-add the
ability to clear using glCear() in GL. Doing that requires making the "can
clear using GrGpu" caps query be per-format. Deferring doing that until
GrPixelConfig work is farther along.

Bug: skia:6718


Change-Id: I234715b9faaf61e8b44d54464497a17cd553585d

start

Change-Id: Ib84a8c3ece010cc3164b18895107e78484cbf76b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226977
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-16 16:36:41 +00:00
Brian Salomon
e44bfee96e Remove GrGLGpu/GrGLCaps readPixelsSupported.
This code checks the external format/type that will be used with
glReadPixels. It tests for the values inherently allowed by the GL
and for implementation values.

It would need to be refactored to use formats and color types rather
than GrPixelConfig.

However, the code that calls GrGpu::readPixels and
GrGpu::transferPixelsFrom already tests
GrCaps::supportedReadPixelsColorType. The GrGLCaps override only allows
format/type combinations allowed by ES without implementation queries,
which is less permissive than the deleted code.

We may get more permissive again but will probably follow a different
pattern and do this after the format/colortype tables are built out in
GrGLCaps.

Bug: skia:6718
Change-Id: I36d9ab496dfe71045dcbce84200a9de3e93440bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226840
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-07-16 15:53:21 +00:00
Hal Canary
ff2e8fe65f sk_app, Sample: Unify InputState enum.
replace() {
      if git grep -q "$1")";
      then sed -i -e "s#${1}#${2}#g" $(git grep -l "$1");
      fi
    }
    replace 'k\([A-Za-z]*\)_InputState' 'InputState::k\1'
    replace '\(\(sk_app::\|\)Window\|Sample\|\)::InputState' 'InputState'

Change-Id: I4cc18814fb1fbdd1f240aabba05aae79c54a4841
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227642
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-07-16 14:51:03 +00:00
recipe-roller
c714ce0e7a 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/43271f94de299679c4dd959d355cb833807adfda fetch: Decode gclient output if returning stdout (raul@tambre.ee)
  https://crrev.com/65c2b1e1d17e7f444b965a5eeefa2af8f0d61216 fix_encoding: Do unicode type checks only on Python 2 (raul@tambre.ee)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Idef82383263854d0305c62acce01375ecd25cd3b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227708
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-07-16 14:44:13 +00:00
Brian Salomon
6aecd5e62f Rework transfer pixels tests to be more robust.
Make them query caps for supported read/write info and do CPU
conversions before uploading/after reading.

Removes use of GrColor so in theory could be used to test
non-8888 color types.

Bug: skia:6718

Change-Id: Icf9d0b778348a4e960fbfec49e1308b21e45a051
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227497
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-16 14:31:04 +00:00
Hal Canary
0afbd9f5f9 Samle:🐭 fix wrong assert
Change-Id: Ifa17d524f4505514ed02716214e408fdda3ac3e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227641
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-07-16 14:12:36 +00:00
Eric Boren
06920f9b85 [infra] Split out gen_tasks logic into its own shareable package
This makes dependent repos (eg. lottie-ci) significantly less hacky.

Bug: skia:9259
Change-Id: I8a933a927608d96e59a017dd7ef8e52d1d828a4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227438
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2019-07-16 13:57:36 +00:00
Brian Osman
c7ec9e2ef1 Fix standalone SkSL build
Change-Id: I54a4913e5ec2e9ed41d754c1f0cd2e6d7bbeb7a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227640
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-07-16 13:23:48 +00:00
Robert Phillips
0902c98825 Pass GrColorType to the GrGpu::wrapRenderableBackendTexture chain of calls (take 2)
This is a step towards reducing our reliance-on/use-of the GrPixelConfig stored in the GrBackendTexture.

TBR=egdaniel@google.com
Bug: skia:6718
Change-Id: I316a98416c51f273e6ab578f9cbaea5f7adfe331
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227639
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-07-16 13:07:06 +00:00
skia-autoroll
c8e8e7061f Roll third_party/externals/angle2 c3085ead7055..754d697fb3a7 (10 commits)
c3085ead70..754d697fb3


git log c3085ead7055..754d697fb3a7 --date=short --no-merges --format='%ad %ae %s'
2019-07-16 ynovikov@chromium.org Ignore FreeAllocationOnTimestamp GL debug message
2019-07-15 ianelliott@google.com Vulkan: Enable more format-related tests to run
2019-07-15 dongja@google.com Vulkan: override format for mismatched attribs
2019-07-15 timvp@google.com Vulkan: Update capabilities with the necessary limits
2019-07-15 clemendeng@google.com Load correct opengl32.dll
2019-07-15 geofflang@chromium.org Add support for GL_OES_texture_compression_astc
2019-07-15 timvp@google.com Update OpenGL ES 3.1 Shader Interface Matching
2019-07-15 ianelliott@google.com Vulkan: Support more texture format-type combination tests.
2019-07-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 0c4feb643b89..032adc4d7ede (11 commits)
2019-07-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 71892a5eda90..1a6e8534cef3 (3 commits)


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

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:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE

Bug: None
TBR=nifong@google.com
Change-Id: I51d19f24e69d5eb8ed3c633f4aa0d90d1da0341a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227634
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-16 05:33:42 +00:00
skia-recreate-skps
107969ca45 Update Go deps
Change-Id: Ie6dcdcd98f1e2f18bc59d420cf575ed107c3072b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227681
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-07-16 05:30:02 +00:00
skia-autoroll
347f195f22 Roll ../src 2413980cd984..63d0d1482f0a (378 commits)
2413980cd9..63d0d1482f


Created with:
  gclient setdep -r ../src@63d0d1482f

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

Change-Id: I25a26a91404aab5b8542a12c04e5f12f89c96ab4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227656
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-16 04:43:12 +00:00
skia-autoroll
ba32216625 Roll third_party/externals/swiftshader 4cd9767e6565..f5182abb6816 (6 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/4cd9767e6565..f5182abb6816


git log 4cd9767e6565..f5182abb6816 --date=short --no-merges --format='%ad %ae %s'
2019-07-15 sugoi@google.com Descriptor Pool alignment checks
2019-07-15 srisser@google.com Move calculation after clip check
2019-07-15 sugoi@google.com Descriptor Pool typo
2019-07-15 bclayton@google.com LLVMReactor: Lazily promote functions to coroutines.
2019-07-15 bclayton@google.com Vulkan: Use the optimization passes automatically added by CoroSplit
2019-07-15 jrmuizel@gmail.com Fix Timer::ticks() on x86-64.


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

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

Change-Id: I32f09e566d07073da0119ce86f044d4489d053fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227635
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-16 04:35:32 +00:00
recipe-roller
d830fd98a4 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/70eba7d2d1982af6b2f14aae64f03742508b8d08 setup_color: Don't fill created string buffer with nulls (raul@tambre.ee)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I065754e80dbe8d69fd71a79878c4c44471f392ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227625
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-07-16 01:15:12 +00:00
Greg Daniel
fe88bf67c2 Revert "Pass GrColorType to the GrGpu::wrapRenderableBackendTexture chain of calls"
This reverts commit 5572737d95.

Reason for revert: Adreno 4xx bots hitting compatibility assert in InitialTextureClear test

Original change's description:
> Pass GrColorType to the GrGpu::wrapRenderableBackendTexture chain of calls
> 
> This is a step towards reducing our reliance-on/use-of the GrPixelConfig stored in the GrBackendTexture.
> 
> Bug: skia:6718
> Change-Id: I2170032bfbbb57423c4bb0d901ad014c61d38131
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223701
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

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

Change-Id: I24cf6b3aa0dfca2e935a36592860ad91171b21a7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:6718
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227637
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-07-16 00:33:13 +00:00
Greg Daniel
12e7585495 Revert "SkMetaData: move from src/ to tools/"
This reverts commit 9d844d8ce5.

Reason for revert: breaking google3

Original change's description:
> SkMetaData: move from src/ to tools/
> 
> Change-Id: If581c8ceeaa76985535cb7b6772742f0011cfe8e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227436
> Commit-Queue: Hal Canary <halcanary@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Auto-Submit: Hal Canary <halcanary@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

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

Change-Id: Ifadad46f0663b743d3e57bb6317707f2a2fac07d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227636
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-07-16 00:28:44 +00:00
recipe-roller
8ab6160c81 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/71f0da3e9392be24fbfac48a3238ee73a9ba3349 git-cl: add --preserve-tryjobs option for upload command. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I49fa73429d5c3615176d4ac14cc88e1db4f4042c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227556
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-07-15 23:30:02 +00:00
recipe-roller
8a60fecf83 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/0e889b7298012df6aaff1bd3d3a01734d71c03dd git-cl: rebrand "Commit-Queue" as "CQ". (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I98a7d458b6235a62e6fd4303135c50a0cdba7814
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227474
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-07-15 23:02:08 +00:00