Bug: skia:9935
Change-Id: I35246b69393a4553afa9c2372e683015b82c27f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275686
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This is a follow up to:
https://skia-review.googlesource.com/c/skia/+/275041 (Loosen up SkSurface_Gpu::onIsCompatible a bit wrt FBO0-ness)
Together they allow a client to create a DDL with a FBO0-based characterization and then replay it into a non-FBO0 surface.
Change-Id: I3c1cc8f4e57d81238d7e9649b4f471b58e9a37fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275632
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Previously we only added marked-content IDs to text commands.
Extend this to support marking bitmaps drawn to a PDF document
too, so that images can be tagged with alt text.
Moves the code that outputs the marked content ID and closing
tag into a scoped helper class that outputs the closing sequence
on destruction.
Note: we'll probably want to do this to nearly all drawing
commands, since nearly everything could in theory be tagged.
This change is safe because it's still behind a flag in
Chromium and if the document doesn't have any structure
tree, it won't output anything.
Bug: chromium:607777
Change-Id: I4d7d655857fa7e76c6a6914a2a83097be917d835
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275517
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Change-Id: I0d94bf055413ab7911136256f2ce2cda3581f45a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275656
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit 6f0124ad68.
Reason for revert: need to remove flag on bots first
Original change's description:
> Update skpbench's DDL timing
>
> Chrome is seeing some extra overhead when using DDLs for rasterization. This CL updates skpbench to try to replicate their usage of DDLs (or, at least, better illustrate the overhead of using DDLs).
>
> Bug: skia:9455
> Change-Id: I2abc7cf2d597c97d1d7a47425064c621a7ef0eb3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275496
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,robertphillips@google.com
Change-Id: I87b8c78355b81f5f6c90b74f59f176f3cdbdfdaa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9455
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275681
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: Id37954715f61a264b3b5fe0f1ed36bd31835ff86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275634
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
- only draws if there are >= 4 values per vertex
- implicitly treats them as RGBA floats for now
- just meant to be a placeholder until SkSL is hooked up
When SkSL supports varyings, we will forward the vert-data to it,
and we can remove this "hack".
Bug: skia:9984
Change-Id: Ic93078f9f384626323f3487902621b2510457d3b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275556
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Beginning steps for adding textures and buffers.
Bug: skia:9935
Change-Id: Ib7a361a88c99ede4f89a456794b955e3c2750afa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275457
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Bug: skia:9756
In CanvasKit, a large part of the binary is for encoding. Clients
would be happier with a smaller binary and no webp/jpeg encoding. Make
this an option by splitting up the GN arguments.
Split SK_HAS_WEBP_LIBRARY into SK_CODEC_DECODES_WEBP (to match the
existing SK_CODEC_DECODES_RAW) and SK_ENCODE_WEBP. Same for JPEG and
PNG.
Update CanvasKit compile script to disable webp and jpeg encoding.
Update debugger compile script to disable all encoding.
Change IsPng signature to match other SkCodecs.
Change-Id: Iec8466ee1b76bc3d1e377c24201068b776cd7718
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273768
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Chrome is seeing some extra overhead when using DDLs for rasterization. This CL updates skpbench to try to replicate their usage of DDLs (or, at least, better illustrate the overhead of using DDLs).
Bug: skia:9455
Change-Id: I2abc7cf2d597c97d1d7a47425064c621a7ef0eb3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275496
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: I478b10c23aae0c363b0d7342f25663ca8fc0d0fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274637
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This also adds a helper option to writing canvas2d spec tests
to see the CanvasKit option side by side with the real canvas
version.
Bug: skia:9940, skia:9947
Change-Id: Ia8fc4e1332d3896933b86291181bc3ba890d26ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275618
Reviewed-by: Florin Malita <fmalita@chromium.org>
That '-' is kind of important! :)
Change-Id: I02be8a1c6270b9898206dec7aabcb6bcc54d71cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275607
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
This moves dither up to the end of the shader pipeline, rather than
being part of the fixed pipeline after blend and coverage resolve.
This is the easiest, lowest-consequence way to experiment with this.
Very few, tiny diffs. Most of what we draw dithered is in src-mode
(generally opaque srcover) with full coverage and has mathematically
not changed.
Bug: skia:10000
Change-Id: I2df3ab1d15790ed57ff9014de568b1d1a717a387
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275337
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This gives a little more time for the LLVM compile to run. In practice,
it's so little it doesn't matter, but I think I'd rather have this in
than not.
Change-Id: Ifd813ac7024a2ead306c40471a9046dbd482baaa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275302
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
- used for debug lock tracking in SkFont*
- used for debug logging in SkPathOps
- genuine use in GLTestContext_cmd_buf?
switched that to thread_local
- keep empty SkTLS_{pthread,win}.cpp until
references to them can be cleaned up
Bug: skia:10006
Change-Id: I195a94c95d3f1a1918ee8c9bc4a15fa5b4344fbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275282
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
c55fbc4064..9acaf66260
git log c55fbc4064aa..9acaf6626042 --date=short --first-parent --format='%ad %ae %s'
2020-03-05 jmadill@chromium.org Add timer query support to TracePerfTests.
2020-03-05 spang@chromium.org Add Chrome texture formats test for VulkanExternalImageTest
2020-03-05 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 126720bd2e57..a095711c5d77 (4 commits)
2020-03-05 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src a6d3a2dd41d4..044ecc0b2c65 (1 commits)
2020-03-05 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 8985fc91089f..c6a4c6d3d8b5 (2 commits)
Created with:
gclient setdep -r third_party/externals/angle2@9acaf6626042
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC herb@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: herb@google.com
Change-Id: I9a9526aa4b3cdf82901c5b9427bac365fce5f230
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275555
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bug: skia:9984
Change-Id: I799ee1ec51df29d3078fcb013be22107a6af9c82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275462
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
- hook up fmls.4s as fnma_f32
- add fneg.4s
- use fneg.4s + fmls.4s to impl fms_f32
- more tests to exercise these
Change-Id: I60173a5e4618ab968a9361e15334a1d63c001372
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275412
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Change-Id: I013275af0d2798b4efa08e4141683dd39d3047f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275409
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Places the primProc textures immediately after the primProc. This is
the more intuitive place for them and helps show that the pipeline is
there for FPs (not the primProc).
Change-Id: I87cb5715dc5652306713c4d8dced6200a2604b5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275313
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This CL:
1) Fixes a GrTexture access in GrTextureEffect that was blocking pre-compilation
2) Adds program pre-compilation to the DDL Via - which would've caught the GrTextureEffect problem on the bots
3) Adds some #if'ed out code for collecting program pre-compilation stats
Bug: skia:9455
Change-Id: Ibcb07ae855b7a644e1f22c3427a928f116ab300d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275336
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Add fms op and instruction generation. Do fms and fnma
instruction selection.
TODO: Add the ops to Arm
Change-Id: I7e53abd7f4752eb99c31dcbff1f2ea7cf28af6c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275197
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Bug: skia:9984
Change-Id: Iaff520c6085303830f14bac4fe56830ba7360f64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275218
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
This is the easiest way to guarantee Op::fma_f32
actually fuses, by using platform intrinsics.
While implementing this we noticed that quad-pumping
was actually slower than double-pumping by about 25%,
and single-pumping was between the two. Switch from
quad to double pumping.
Change-Id: Ib93fd175fb8f6aaf49f769a95edfa9fd6b2674f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275299
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Cluster edges were not enough.
Bug: skia:1003
Change-Id: Id2fdb7aa5dc2f6c4b03f1c841757796cf5c9b604
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275220
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Change-Id: I55e14b137d985fafd4e2c8fbc2cd76b27217699e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275217
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This CL adds createProgramInfo and onPrePrepareDraws methods to:
NonAAStrokeRectOp
AAStrokeRectOp
NonAARectOp
Bug: skia:9455
Change-Id: Id7c0151d26c5daa390cd51b9c73c95f4f1fc0104
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275039
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
9e9493f29d..c55fbc4064
git log 9e9493f29dbf..c55fbc4064aa --date=short --first-parent --format='%ad %ae %s'
2020-03-05 cnorthrop@google.com Capture/Replay: Fill out more ES 3.0 state in mid-execution capture
2020-03-05 courtneygo@google.com Vulkan: blacklist VK_FORMAT_R8G8B8_UNORM
2020-03-04 cnorthrop@google.com Capture/Replay: Add Sampler Object support to mid-execution capture
2020-03-04 ianelliott@google.com Vulkan: Suppress some flaky tests for Intel Linux driver
2020-03-04 cnorthrop@google.com Capture/Replay: Add Vertex Array Object support to mid-execution capture
2020-03-04 cnorthrop@google.com Capture/Replay: Add TransformFeedback Object support to mid-execution capture
2020-03-04 lexa.knyazev@gmail.com D3D11: Implement OES_draw_buffers_indexed
2020-03-04 ianelliott@google.com Vulkan: Disable forceOldRewriteStructSamplers for SwS-Android
2020-03-04 jmadill@chromium.org Fix up EGLSurfaceTest.
2020-03-04 xiaoxuan.liu@arm.com Vulkan: Re-enable RobustResourceInitTest.Texture test
2020-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src a553ed74b7fe..1af57a3ec414 (1 commits)
2020-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src f32bf1c930c8..97484d689869 (16 commits)
2020-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src e1688b60caf7..a6d3a2dd41d4 (1 commits)
2020-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 176f3a3dbbc9..126720bd2e57 (2 commits)
2020-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 56364b6b6026..8985fc91089f (2 commits)
2020-03-04 ancheng.qiao@arm.com Skip if GL_EXT_texture_compression_dxt1 isn't supported
Created with:
gclient setdep -r third_party/externals/angle2@c55fbc4064aa
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC herb@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: herb@google.com
Change-Id: I58f5e0661a06553294ca3a65259b811d2ed22d6c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275211
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>