Commit Graph

54066 Commits

Author SHA1 Message Date
Brian Osman
c737a83709 Cache runtime color filter flags
This slows down filter creation (300 ns -> 6000 ns),
... but speeds up the matrix_filterColor4f benchmark:

  before: 22000 ns
  after : 10000 ns

Bug: skia:11730
Change-Id: I5831688cbe0b6fbd8521fa5adab02ef0750b6190
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383704
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-03-11 20:12:30 +00:00
John Stiles
48b255838c Add unique_ptr visitation support to ProgramWriter.
This will allow a subclass to rewrite a Statement or Expression when
visiting it.

Change-Id: Ia8b3121dd0558f2fbbd035d38f7caec9414fe8c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382756
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-11 19:27:20 +00:00
Corentin Wallez
89d6e79ec0 Roll spirv-tools and spirv-headers and use upstream GN files
This will allow rolling spirv-tools and spirv-headers without additional
manual changes to fix Skia's copy of their BUILD.gn files.

Roll third_party/externals/spirv-headers/ c0df742ec..bcf55210f (59 commits)

c0df742ec0..bcf55210f1

$ git log c0df742ec..bcf55210f --date=short --no-merges --format='%ad %ae %s'
2020-07-03 dneto Support SPV_KHR_expect_assume
2020-07-03 dneto Support SPV_KHR_linkonce_odr
2021-03-01 alanbaker Change operand name in OpReadClockKHR to match extension
2021-02-13 dmalyshau Add Naga as SPIR-V generation tool
2020-08-19 jason Add header changes for SPV_EXT_shader_atomic_float_min_max
2021-01-27 jason.ekstrand Re-run buildSpvHeaders to fix indentation
2021-01-19 dneto Header generator: Check enumerant ordering
2021-01-27 ben.ashbaugh add generated headers
2021-01-27 ben.ashbaugh add None as a possible value for DebugInfoFlags
2021-01-25 caio.oliveira Add SPV_KHR_workgroup_memory_explicit_layout
2021-01-20 dneto Push FPDenormMode, FPOperationMode to the end
2021-01-20 dmitry.sidorov Apply suggestions to Intel extensions PR
2020-12-16 dmitry.sidorov Update generated files
2020-12-16 dmitry.sidorov Add SPV_INTEL_long_constant_composite extension
2020-12-16 dmitry.sidorov Add SPV_INTEL_loop_fuse extension
2020-11-23 dmitry.sidorov Add SPV_INTEL_fpga_cluster_attributes and SPV_INTEL_fp_fast_math_mode
2020-11-23 dmitry.sidorov Update SPV_INTEL_fpga_loop_controls extension
2020-11-16 dmitry.sidorov Update SPV_INTEL_kernel_attributes extension
2020-11-09 dmitry.sidorov Update SPV_INTEL_function_pointers extension
2020-11-09 dmitry.sidorov Upstream SPV_INTEL_float_controls2 extension
2020-11-09 dmitry.sidorov Upstream SPV_INTEL_vector_compute extension
2020-11-06 dmitry.sidorov Upstream SPV_INTEL_fpga_memory_accesses extension
2020-11-06 dmitry.sidorov Upstream SPV_INTEL_io_pipes extension
2020-11-05 dmitry.sidorov Upstream SPV_INTEL_variable_length_array extension
2020-11-05 dmitry.sidorov Upstream SPV_INTEL_usm_storage_classes extension
2020-11-05 dmitry.sidorov Upstream SPV_INTEL_arbitrary_precision_integers extensions
2020-11-05 dmitry.sidorov Upstream SPV_INTEL_inline_assembly extension
2020-11-03 dmitry.sidorov Upstream SPV_INTEL_fpga_buffer_location extension
2021-01-05 ben.ashbaugh add function control bitfield reservation section reserve bit 16 for an upcoming Intel extension
2020-11-26 dkoch remove HitTKHR
2020-11-12 dneto MeshShadingNV enables builtins PrimitiveId, Layer, and ViewportIndex
2020-10-16 dkoch de-alias/reassign OpIgnoreIntersectionKHR/OpTerminateRayKHR
2020-06-29 alele Raytracing and Rayquery updates for final
2020-06-15 alele Updated headers for new trace/executeCallable and acceleration structure cast.
2020-11-05 orbea cmake: Install cmake files to CMAKE_INSTALL_DATADIR
2020-11-04 michael.kinsner Reserve additional loop control bit for Intel extension (NoFusionINTEL) (#175)
2020-11-02 4464295+XAMPPRocky Add EmbarkStudios/rust-gpu to vendor list. (#174)
2020-10-23 john Bump revision to 4, for SPIR-V 1.5.
2020-10-19 TobyHector Add SPV_EXT_shader_image_int64 (#170)
2020-10-19 TobyHector Added SPV_KHR_fragment_shading_rate (#172)
2020-10-12 hwguy.siplus  Register the Xenia emulator as a generator (#171)
2020-09-27 atyuwen Register the Messiah SPIR-V CodeGen (#169)
2020-09-10 syoussefi Register the ANGLE compiler (#168)
2020-09-08 cepheus Rebuild of latest headers, which slightly moves OpTerminateInvocation
2020-08-03 44190824+mmerecki Reserve SPIR-V token range for upcoming Intel extensions. (#165)
2020-07-29 alanbaker Update BUILD.bazel and BUILD.gn (#166)
2020-07-29 alanbaker Publish the headers for the clspv embedded reflection non-semantic extended instruction set (#164)
2020-07-29 johnkslang Update the registry in spir-v.xml to modernize and split out opcodes. (#156)
2020-07-21 alanbaker Support SPV_KHR_terminate_invocation (#163)
2020-07-19 vkushwaha Add changes for SPV_EXT_shader_atomic_float
2020-06-26 dj2 Register the Tint compiler
2020-06-01 dneto spir-v.xml: Use plain ASCII quotes in comment
2020-05-29 cepheus Rebuild headers against the previous grammar commit.
2020-05-29 dmitry.sidorov Apply suggestions
2020-04-05 dmitry.sidorov Add Intel specific definitions from KhronosGroup/SPIRV-LLVM-Translator
2020-05-29 cepheus Header build from previous grammar update.
2020-05-25 michael.kinsner Propose bit allocation mechanism for the FP Fast Math Mode bitfield, following from the mechanism previously added for the loop control bitfield.
2020-05-20 dneto Update example to use unified1 headers
2020-04-05 dmitry.sidorov Add SPV_INTEL_function_pointers preview extension

Roll third_party/externals/spirv-tools/ e95fbfb1f..5d8c40399 (488 commits)

e95fbfb1f5..5d8c40399e

$ git log e95fbfb1f..5d8c40399 --date=short --no-merges --format='%ad %ae %s'
2021-03-11 cwallez BUILD.gn: fix typo for 'cflags' (#4169)
2021-03-10 cwallez Suppress warning (#4168)
2021-03-10 alastair.donaldson spirv-fuzz: Avoid unnecessary dependency (#4165)
2021-03-10 dgkoch Add `void` in function declaration to keep some compilers happy (#4160)
2021-03-09 cwallez Fix -Wextra-semi-stmt -Wsuggest-destructor-override -Wdeprecated-copy-dtor (#4164)
2021-03-08 46493288+sfricke-samsung spirv-val: Vulkan 64-bit OpAtomicStore check (#4163)
2021-03-05 vasniktel spirv-fuzz: Fix the bug in TransformationReplaceBranchFromDeadBlockWithExit (#4140)
2021-03-05 vasniktel spirv-fuzz: Fix PartialCount (#4159)
2021-03-03 afd spirv-fuzz: Handle Vulkan SPIR-V versions (#4156)
2021-03-03 vasniktel spirv-fuzz: Add persistent state to the fuzzer (#4137)
2021-03-02 alanbaker Require an OpSelectionMerge before an OpSwitch (#4154)
2021-03-01 stevenperron Use standard function to get stdin to binary mode. (#4141)
2021-02-26 bclayton Fixes for the vscode language server extension (#4150)
2021-02-19 atte.seppala spirv-opt: Don't call GenerateCopy for mismatched image types (#4126)
2021-02-18 jaebaek Start SPIRV-Tools v2021.0
2021-02-18 jaebaek Finalize SPIRV-Tools v2020.7
2021-02-16 jaebaek Update CHANGES
2021-02-11 greg Generate differentiated error codes for buffer oob checking (#4144)
2021-02-10 dj2 Update a few virtuals to overrides. (#4143)
2021-02-05 46493288+sfricke-samsung spriv-val: Vulkan image gather constant component (#4133)
2021-02-05 46493288+sfricke-samsung spirv-val: Fix/Label UniformConstant VUID (#4134)
2021-02-05 46493288+sfricke-samsung spirv-val: Add Vulkan Invariant Decoration VUID (#4132)
2021-02-02 46493288+sfricke-samsung spirv-val: label tests for VUID 04657 (#4119)
2021-02-01 46493288+sfricke-samsung spirv-val: Add Vulkan PSB64 convert VUID (#4122)
2021-01-28 stevenperron Mark module as modified if convert-to-half removes decorations. (#4127)
2021-01-28 jaebaek Set correct scope and line info for DebugValue (#4125)
2021-01-27 caio.oliveira Validate SPV_KHR_workgroup_memory_explicit_layout (#4128)
2021-01-27 alanbaker Validate VK_KHR_zero_initialize_workgroup_memory (#4124)
2021-01-27 46493288+sfricke-samsung spirv-val: Add Vulkan image gather offset VUID (#4118)
2021-01-27 alanbaker Add cmake to windows path for kokoro (#4129)
2021-01-25 46493288+sfricke-samsung spirv-val: Label Vulkan atomic semantics VUIDs (#4120)
2021-01-25 46493288+sfricke-samsung spirv-val: Label VUID 04662 (#4123)
2021-01-25 46493288+sfricke-samsung spirv-val: Label VUID 04683 (#4121)
2021-01-22 machenbach Remove obsolete GN config (#4110)
2021-01-20 46493288+sfricke-samsung spirv-val: Add Vulkan EXT builtins (#4115)
2021-01-20 dneto Support pending Intel extensions (#4116)
2021-01-19 dneto Validate Sampled=1 for Vulkan ImageQuerySizeLod, ImageQueryLevels, ImageQueryLod (#4103)
2021-01-19 46493288+sfricke-samsung spirv-val: Add Vulkan Memory Scope VUs (#4106)
2021-01-18 bclayton Migrate all Kokoro build scripts over to use the docker VM image (#4114)
2021-01-15 46493288+sfricke-samsung spirv-val: Add Vulkan Addressing Model check (#4107)
2021-01-14 rharrison Remove WebGPU support (#4108)
2021-01-14 46493288+sfricke-samsung spirv-val: Vulkan atomic storage class (#4079)
2021-01-13 jaebaek Avoid integrity check failures caused by propagating line instructions (#4096)
2021-01-13 pierremoreau Linker usability improvements (#4084)
2021-01-12 dj2 Revert "Generate differentiated error codes for buffer oob checking (#4097)" (#4100)
2021-01-11 greg Generate differentiated error codes for buffer oob checking (#4097)
2021-01-07 dneto use std::string::empty() to test for emptiness (#4098)
2021-01-07 46493288+sfricke-samsung spirv-val: Label standalone Vulkan VUID (#4091)
2021-01-06 46493288+sfricke-samsung spirv-val: Add Vulkan decroation VUID (#4090)
2021-01-06 stevenperron Fix binding number calculation in desc sroa (#4095)
(...)
2020-05-19 vasniktel spirv-fuzz: Remove FuzzerPassAddUsefulConstructs (#3341)
2020-05-19 vasniktel Add support for StorageBuffer (#3348)
2020-05-19 462213+sl1pkn07 Prevent Effcee install his things when build spirv-tools with testing enabled (#3256)
2020-05-19 stevenperron Don't register edges twice in merge return (#3350)
2020-05-14 stevenperron Revert "Revert "[spirv-opt] refactor inlining pass (#3328)" (#3342)" (#3345)
2020-05-14 afdx spirv-reduce: Remove unused struct members (#3329)
2020-05-14 andreperezmaselco.developer Add adjust branch weights transformation (#3336)
2020-05-13 stevenperron Revert "[spirv-opt] refactor inlining pass (#3328)" (#3342)
2020-05-13 jaebaek [spirv-opt] refactor inlining pass (#3328)
2020-05-13 afdx spirv-reduce: Remove unused uniforms and similar (#3321)
2020-05-13 afdx spirv-fuzz: Fix to fact manager (#3339)
2020-05-13 afdx spirv-fuzz: Get rid of unnecessary template method (#3340)
2020-05-12 stevenperron Do merge return if the return is not at the end of the function. (#3337)
2020-05-06 jaebaek Preserve debug info for wrap-opkill (#3331)
2020-05-05 jbolz Validate ShaderCallKHR memory scope (#3332)
2020-05-01 afdx spirv-fuzz: Do not allow adding stores to read-only pointers (#3316)
2020-04-30 paulthomson reduce: increase default step limit (#3327)
2020-04-30 afdx Generalize IsReadOnlyVariable() to apply to pointers (#3325)
2020-04-28 stevenperron Delete nullptr in function bb list immedietly (#3326)
2020-04-28 jaebaek Set DebugScope for termination instructions (#3323)
2020-04-28 afdx spirv-fuzz: Do not outline regions that end with a loop header (#3312)
2020-04-27 bclayton vscode: Handle '|' chains on BitEnum / ValueEnum (#3309)
2020-04-27 jaebaek Add debug information analysis (#3305)
2020-04-27 dneto Add spvtools::opt::Operand::AsLiteralUint64 (#3320)
2020-04-27 afdx spirv-fuzz: Pass on validator options during shrinking (#3317)
2020-04-27 afdx spirv-fuzz: Clamp statically out-of-bounds accesses in code donation (#3315)
2020-04-27 afdx spirv-fuzz: Fix memory management in the fact manager (#3313)
2020-04-27 afdx spirv-fuzz: Do not replace the Sample argument in OpImageTexelPointer (#3311)
2020-04-23 afdx Allow various validation options to be passed to spirv-opt (#3314)
2020-04-23 Chaitanyas0101 typo fix: in README.md exectuable->executable (#3306)
2020-04-20 afdx spirv-fuzz: Make handling of synonym facts more efficient (#3301)
2020-04-15 stevenperron Remove unreachable code. (#3304)
2020-04-15 afdx spirv-fuzz: Fix to outliner (#3302)
2020-04-14 afdx spirv-fuzz: Do not outline regions that produce pointer outputs (#3291)
2020-04-14 afdx spirv-fuzz: Handle OpRuntimeArray when replacing ids with synonyms (#3292)
2020-04-14 afdx spirv-fuzz: Handle image storage class in donation (#3290)
2020-04-14 afdx spirv-fuzz: Respect rules for OpSampledImage (#3287)
2020-04-14 afdx spirv-fuzz: Fix comment. (#3300)
2020-04-14 stevenperron Sampled images as read-only storage (#3295)
2020-04-14 alanbaker Remove implicit fallthrough (#3298)
2020-04-14 stevenperron Add tests for recently added command line option (#3297)
2020-04-14 dneto If SPIRV-Headers is in our tree, include it as subproject (#3299)
2020-04-13 stevenperron Struct CFG analysus and single block loop (#3293)
2020-04-13 jaebaek Preserve debug info in eliminate-dead-functions (#3251)
2020-04-13 stevenperron Update acorn version (#3294)
2020-04-09 stevenperron Handle more cases in dead member elim (#3289)
2020-04-09 h.baensch.92 Fix pch macro to ignore clang-cl (#3283)
2020-04-07 afdx spirv-fuzz: Improve the handling of equation facts (#3281)
2020-04-07 afdx spirv-fuzz: Handle more general SPIR-V in donation (#3280)
2020-04-06 afdx spirv-fuzz: Improve support for compute shaders in donation (#3277)

Created with:
  roll-dep third_party/externals/spirv-headers third_party/externals/spirv-tools

Bug: dawn:706

Change-Id: I4ca1acd84b4905cf5454e146a917e36fc8c2d399
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/381237
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-03-11 19:07:20 +00:00
Kevin Lubick
65e50128f2 Remove leftover cpp file
Change-Id: I30e4b37a43d1301d9e8011c9952874f3ba8d4f8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383702
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2021-03-11 18:33:17 +00:00
Herb Derby
6679eb9786 Add GrTextBlobAllocator to GrRecordingContext
Change-Id: I284d13b0ac9a7a11296ce06b5812ee1fb3a9075d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383757
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-03-11 18:32:00 +00:00
Chris Dalton
43e73df990 Remove GrAAType from GrFillRRectOp
Replaces it with GrAA. This op always uses analytic coverage,
regardless of MSAA state.

Bug: skia:11396
Change-Id: I75174a00bdb3b1f62319de5970aac7f1bbae8e10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383418
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-11 17:15:00 +00:00
Brian Osman
317e5887a2 Make the SkSL->skvm intrinsic function lookup table static
matrix_filterColor4f timing

  before: 33500 ns
  after : 22000 ns

Bug: skia:11730
Change-Id: Ic5754b274c9e24e7f8298ca38314a06ab5671ba2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383699
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-03-11 17:05:00 +00:00
Herb Derby
c1a06003a0 solidify the type of a SubRun owner
Change-Id: Icd20e6d7d5fd25d1589f523c6a3cc6ef86adfeb6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383756
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-03-11 17:00:40 +00:00
Florin Malita
4aa19871ec Force-include assert.h for third_party/oboe
Oboe uses assert but doesn't seem to include the header explicitly:

../../third_party/externals/oboe/src/flowgraph/resampler/PolyphaseResamplerStereo.cpp:25:5: error: use of undeclared identifier 'assert'
    assert(builder.getChannelCount() == STEREO);

Change-Id: Ib008ffaeade0b84196141102b956bc6e5606a468
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383698
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-03-11 16:55:10 +00:00
Brian Osman
3527389e28 Add a benchmark of filterColor4f with the matrix color filter
Bug: skia:11730
Change-Id: Icbb1f6acf31e3f130cb48338a1c44ca14f40e587
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383697
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-03-11 16:21:40 +00:00
Robert Phillips
edff467fd4 Add a DirectContextID to GrDirectContexts
Bug: skia:11728
Change-Id: I80ab54f2cfa0bbc69f688e1e598eeeb4bde1a1a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383023
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-03-11 14:58:40 +00:00
John Stiles
b23a64b8b0 Replace vector<SwitchCase> in Switch with a StatementArray.
This is conceptually the same thing, but we have various places in the
code which expect a unique_ptr<Statement>, and they don't allow a
unique_ptr<SwitchCase> to be passed in, since the types don't match.

This change is particularly relevant to the ProgramWriter, which will be
updated in a followup CL to pass the unique_ptr to visit methods.

Change-Id: I012669fa429a13658ac2be31342c92750fe84b92
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382723
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-03-11 14:51:00 +00:00
John Stiles
0bfeae697b Clean up dead-code elimination in optimizer.
Dead-function-removal and dead-global-removal was implemented directly
inside of Compiler::optimize(). This code has been broken out into
separate helper functions for clarity.

Additionally, dead-function elimination was guarded by a ProgramSetting,
but dead-variable elimination was only guarded by fOptimize. A new flag
for dead-variable elimination was added for consistency.

Change-Id: I783501362762dad08262ffb92602d02ec079ed9b
Bug: skia:11319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382917
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-11 14:41:30 +00:00
Michael Ludwig
fb665ea35f Always return an invalid backend format for unknown color types
Confirmed that this fixes the linked fuzzer bug.

I opted to leave the the backend implementations of
onGetDefaultBackendFormat unchanged, since they technically check
for unknown backend-specific formats before returning an invalid
GrBackendFormat object. It just so happens that this mapping always
ensures GrColorType::kUnknown has an unknown backend-specific format.
Presumably there are other known GrColorTypes that may be unknown
for a specific backend, so those low-level checks are still needed.

Now, we just check the GrColorType in GrCaps before calling the
virtual. This avoids trying to create an invalid format for
GrMockCaps and allows GrBitmapTextureMaker to convert unsupported
color types ot rgba8 even with the mock backend.

Bug: chromium:1185960
Change-Id: I043eb6730efe30884b4180768229b94d35d32047
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383036
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-03-11 14:36:52 +00:00
Andy Weiss
8b6d943d91 Override delete for GrOp
We are seeing a crash in a flutter desktop linux application with the
the issue pointing to a sized delete mismatch:

debugallocation.cc:788] RAW: delete size mismatch: passed size 160 !=
requested / available size 192 / 192

This patch fixes the issue. The crash started after the roll that
brought in https://skia-review.googlesource.com/c/skia/+/382701

See fxbug.dev/71987 for more info

Change-Id: I635ce5190d82ea96e1070e0509e543934379b776
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383456
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-03-11 14:36:37 +00:00
John Stiles
f3a28db703 Eliminate control-flow analysis.
We no longer derive a performance benefit from this pass in practice,
and it is a very expensive compilation step. It is also prone to fuzz-
related errors.

Doc: http://go/optimization-in-sksl

Change-Id: Ief08ffac659a8fe7fe92c92b9a5da14c9f713bc2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/381261
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-11 13:24:54 +00:00
Greg Daniel
80ef70e8f5 Make sure we check for abandoned when with getBackendSurface calls.
Previously even if we release/abanoned a resource we would still return
GrBackendSurfaces from these queries even if the actual backend api
objects are no longer valid.

This hopefully fixes the attached chrome bug, but can't know for sure.

Bug: chromium:1186623
Change-Id: Ib1c03699c2c7d81f6d305428dfbf39d647d28373
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382918
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-03-11 13:02:17 +00:00
skia-autoroll
551bae6843 Roll Dawn from 6d4617a2d28d to b458fc835925 (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/6d4617a2d28d..b458fc835925

2021-03-10 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 6ce58becd2d5 to d9250a5a2175 (2 revisions)
2021-03-10 cwallez@chromium.org codereview.setings: default to not squashing on git cl upload
2021-03-10 shrekshao@google.com Add tests for zero sized index buffer out of bounds draw test
2021-03-10 rharrison@chromium.org Add reflection for used vertex attributes using Tint

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 6ce58becd2d5 to d9250a5a2175

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC kainino@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: kainino@google.com
Change-Id: I4012a14c8667f7a56e7549f19968f8ba9219ee60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383458
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-11 07:00:03 +00:00
skia-autoroll
43bde9d2bc Roll SwiftShader from 023914a27b63 to a2fe8e1b2111 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/023914a27b63..a2fe8e1b2111

2021-03-10 srisser@google.com Add Vulkan 1.2 entry points

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC kjlubick@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: kjlubick@google.com
Change-Id: I038038d8f94ef84412f22120f970375b86c6c45c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383459
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-11 05:11:33 +00:00
skia-autoroll
a2cae875c0 Roll ANGLE from c054008f9efb to 44b9579cf7b8 (12 revisions)
c054008f9e..44b9579cf7

2021-03-10 m.maiya@samsung.com Vulkan: Treat varyings in a separable program as active
2021-03-10 ianelliott@google.com Revert "Roll vulkan-deps from 6691fcec0bce to 32692e5de307 (12 revisions)"
2021-03-10 jonahr@google.com Mtl: Add Apple vendor ID
2021-03-10 ianelliott@google.com Revert "Roll vulkan-deps from 32692e5de307 to 28d8c3478e4c (6 revisions)"
2021-03-10 m.maiya@samsung.com Vulkan: Pass in the correct size to acquireBufferHelper
2021-03-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 32692e5de307 to 28d8c3478e4c (6 revisions)
2021-03-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 031d7b5c5879 to 075d29b4983b (268 revisions)
2021-03-10 lubosz.sarnecki@collabora.com capture_replay_tests: Change status to crashing.
2021-03-10 lubosz.sarnecki@collabora.com capture_gles_ext_params: Implement glGetIntegervRobustANGLE.
2021-03-10 syoussefi@chromium.org Vulkan: Fix MemoryBarrier function name typos
2021-03-10 syoussefi@chromium.org Vulkan: Move SpirvBlob definition to common/
2021-03-10 syoussefi@chromium.org Vulkan: Create unresolve shader directly in SPIR-V

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-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
Tbr: kjlubick@google.com
Test: Test: ProgramPipelineTest31.VaryingIOBlockSeparableProgram*
Change-Id: Ice60be3d3cbb768e0ab5861cb72d46262431dfef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383476
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-11 04:52:33 +00:00
skia-autoroll
6ee144f218 Roll Chromium from 9bc5c82512d2 to c62ff0ef3797 (416 revisions)
9bc5c82512..c62ff0ef37

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC kjlubick@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: kjlubick@google.com
Change-Id: I073c3d88d7e6c7021486860adeb6081d932c2fa7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383457
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-11 04:48:53 +00:00
Chris Dalton
2603c1fb14 Delete coverage counting backend from ccpr
This declutters the atlas generation code so there are fewer variables.
Next we will delete all the lower level rendering code and render the
atlas with stencilPath/stencilRect instead.

Bug: chromium:1158093
Change-Id: I36cff285d0f7de6f8ece4b027e62ae84aa01adc8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/380656
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-11 04:26:00 +00:00
John Stiles
04a8a54ff9 Ensure all local variables exist in the ProgramUsage map.
Previously, a declared then never-read variable was not present at all.
This also adds an `fDeclared` field to VariableCounts, which tracks the
presence of a VarDeclaration for a variable. `fDeclared` allows us to
distinguish between the cases of a declared but completely inert
local variable, and a variable whose declaration has actually been
eliminated.

Change-Id: I1d7238a257997814e0d978d76b98005541b8a6bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383156
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-11 01:36:36 +00:00
Heather Miller
cc185c5a31 update schedule with 4 weeks, 2021 dates
Change-Id: Ic35cad32be132e7e6f8eb5dc84d3b3eb775d13a6
No-Try: true
Docs-Preview: https://skia.org/?cl=383236
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383236
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
Auto-Submit: Heather Miller <hcm@google.com>
2021-03-11 00:27:48 +00:00
Chris Dalton
368acf940f Disable ccpr on Adreno405 and Adreno418
Hopefully this is only temporary until we start using the default path
renderers to draw the atlas.

Change-Id: Ife2c5bccd0cd7a980bde8faa5178f9fb151fbdff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383017
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-11 00:18:34 +00:00
Mike Reed
d0ce14942b Return null if clipshader fails
This allows us to try skvm blitter, which might succeed with
the clipshader.

Change-Id: I771d4d389ae59ffd76e742cd223798f17582fedc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383096
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-10 23:31:59 +00:00
Chris Dalton
be54c66cdd Disable ccpr clip atlas when --reduceOpsTaskSplitting is enabled
Bug: skia:11731
Change-Id: Ia676f0db9092596f28739dbd083d9a4bc8b67878
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383119
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-10 23:02:44 +00:00
Greg Daniel
9b6e30bd67 Fix deleting of GrGpuResource when abanonded and refs go to zero.
Abandoning would cause us to unref all the command buffer usages, but
then in notifyARefIsZero we would delete the abandoned resources even
though we still had a real ref. Then when that ref went away we would
crash.

Change-Id: I05dc2ba9a67c35c36a36704f4b81d6eef4e860e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382916
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-03-10 20:53:23 +00:00
Herb Derby
93330c9c4d Reland "Reland "cache the creation of one GrAtlasTextOp""
This is a reland of dc3d678712

All previous attempts tried to use variants of
thread_local std::unique_ptr<char> gCache;

This did not work on Android or Flutter because thread_local
variables with dtors failed in various ways.

This CL keep the cache from leaking bytes by clearing the
cache in the GrRecordingContext's destructor.

Original change's description:
> Reland "cache the creation of one GrAtlasTextOp"
>
> This is a reland of 4b1fb7ca90
>
> Original change's description:
> > cache the creation of one GrAtlasTextOp
> >
> > GrAtlasTextOp has a high probability of being merged with the
> > previous op. This cache keeps using the same op to merge with
> > keeping memory warm.
> >
> > This show about 5.75% improvement in skpbench on desk_nytimes.
> >
> > When compiling for ios 9 or earlier, this optimization is
> > disabled.
> >
> > Change-Id: I13ccbef6dcd4b9d82103bf20bba7d94f3e4fb6f4
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376718
> > Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Herb Derby <herb@google.com>
>
> Change-Id: I935a2965062b1fddb28806e85eb0fe055ba46ec2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/380320
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

Change-Id: I62f572583524c506488ba982f5047a8f0126f3dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382701
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-03-10 19:22:14 +00:00
John Stiles
f71a136ba9 Remove busywork from nameExpression.
It was copying strings back and forth for no benefit.

Change-Id: I5ee2c0a6d1d0f96fb7449d1e540e4d9db0d97dc2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382776
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-10 18:57:15 +00:00
Florin Malita
baab5aff09 [skottie/wasm] Plumb text properties in WASM bindings
Only text string + size for now, we can surface more if needed.

Change-Id: I4b40c1bb5e27ea5fc4ed20a1214c4eeb04bf1ca8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382279
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-03-10 18:34:04 +00:00
Jim Van Verth
c9fb49a55f Add destructor override
Change-Id: Ide8d7d0f91748fc1e2235cf94f310f6d51084ee3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382759
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-10 18:32:34 +00:00
John Stiles
9c4cdef7e5 Fix gm slide 'TessellationTestRectShader'.
This needed to be updated to match changes in
http://review.skia.org/382476. It is not tested on any of the normal
CQ trybots.

Change-Id: I3c0843d8e77958192c0db9ad8f6b797aec887fe4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382757
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-10 17:38:18 +00:00
Jim Van Verth
e82fdaa50b Accept near-simple, near-circular rrects for shadow fast path.
SkRRectPriv::IsSimpleCircular does a tolerance-based check for the
rrect radii but not for determining if the rrect is simple. This adds
IsNearlySimpleCircular as a looser check, since we don't care in this
case that the rrect is perfectly simple.

Bug: skia:11717
Change-Id: Ibbd53ff8c120287339fa29f87f064e6fb633ee7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382703
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-03-10 17:30:34 +00:00
John Stiles
376a478996 Fix StencilResolveProcessor to declare its outputs.
This crossed in the mail with http://review.skia.org/382476

Change-Id: I09ca2ff20bb2dc0846b591893d06823577faea29
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382758
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-03-10 17:00:46 +00:00
Jim Van Verth
534c8c5f61 Update Metal PipelineStateCache to use new stats tracking
Change-Id: I3edc1812f74319abeb13d94cf7e2426bd68b57a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382282
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-10 16:45:05 +00:00
Chris Dalton
1e7b2e5e17 Re-enable ccpr clipping for small paths
For things like path rendering we can (and should) do better than an
atlas. But for use cases like "many small paths clipped by many small
paths," an atlas is probably still the best solution we have.

Change-Id: Iff5d250d0d6ccba9235f3fe652891554e3fdfc24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/380856
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-10 16:22:58 +00:00
John Stiles
4d7ac49dca Declare outputColor and outputCoverage inside emitCode.
This is useful because it allows the variables to be declared as `const`
when they are trivial values like `half4(1)`. This enables the constant
folder to simplify or eliminate them. In most cases, this is only a
small benefit, as you'd expect a competent GPU driver to do the same.
However, Mali-400 can benefit significantly from optimizing away the
multiplication against a constant half4(1) coverage in Porter-Duff.

Mali-400 performance is back to normal: http://screen/3cDxdaGkYE8oBcS

Change-Id: I21fd23f91f747079cd05b082f7b3444aeabafb93
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382476
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-10 16:03:18 +00:00
John Stiles
38847cda89 Remove unnecessary scope from fragment shaders.
This block no longer appears to provide any benefit; we mangle variable
names to prevent name collisions already.

Change-Id: I970a9d55ed5a77b93ff611e6a58e9424db78f6db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382396
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-10 15:46:38 +00:00
John Stiles
be6cbf331c Disable constant-variable substitution when optimization is off.
When optimization is disabled, I did not expect to see arithmetic like
`color * ONE` disappear (even though it's just a constant fold):

    const vec4 ONE = half4(1);
    vec4 x = color * ONE;

Change-Id: Id24a632712591c73a904b90e5efdba092d846c0e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382477
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-10 15:44:48 +00:00
John Stiles
0dd1a77e12 Add noinline keyword to SkSL.
As you might expect, a function tagged with `noinline` will never be
considered as a candidate for inlining.

Change-Id: Ia098f8974e6de251d78bb2a76cd71db8a86bc19c
Bug: skia:11362
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382337
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-03-10 15:39:48 +00:00
skia-autoroll
da076e9aca Roll Chromium from 5d94010048eb to 9bc5c82512d2 (404 revisions)
5d94010048..9bc5c82512

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC kjlubick@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: kjlubick@google.com
Change-Id: I9c81d056c36e255408617d0ac618c537d554d985
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382496
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-10 05:37:07 +00:00
skia-autoroll
44fb2f3151 Roll ANGLE from 9bc9ac8df8df to c054008f9efb (16 revisions)
9bc9ac8df8..c054008f9e

2021-03-09 m.maiya@samsung.com Vulkan: Check buffer usage before unmapping
2021-03-09 cnorthrop@google.com Tests: Add Extreme Car Driving Simulator trace
2021-03-09 cnorthrop@google.com Capture/Replay: Fix compressed cube textures
2021-03-09 m.maiya@samsung.com Vulkan: Collect inactive varyings by block name for I/O blocks
2021-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 76f6150ffdeb to 031d7b5c5879 (832 revisions)
2021-03-09 m.maiya@samsung.com Call resolveLink in Program::attachShader and Program::detachShader
2021-03-09 ynovikov@chromium.org Update Xcode used by standalone Mac builders to 12.4
2021-03-09 ianelliott@google.com Work-around eglSwapBuffersWithDamageKHR() bug
2021-03-09 jmadill@chromium.org Allow graceful no-error failure in CastStateValues.
2021-03-09 penghuang@chromium.org Reland "Fix bindFramebuffer problem with GLES2 devices"
2021-03-09 penghuang@chromium.org Reland "Fix two issues with GLES2 devices"
2021-03-09 penghuang@chromium.org Revert "Vulkan: Support EXT_sRGB_write_control"
2021-03-09 penghuang@chromium.org Revert "Fix bindFramebuffer problem with GLES2 devices"
2021-03-09 penghuang@chromium.org Revert "Fix two issues with GLES2 devices"
2021-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from de7d5775ab25 to 023914a27b63 (2 revisions)
2021-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6691fcec0bce to 32692e5de307 (12 revisions)

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-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
Tbr: kjlubick@google.com
Test: Test: Black Desert MobileTest: Test: GLSLTest_ES31.VaryingIOBlockNotDeclaredIn*Shader*Test: Test: Grand Theft Auto: San AndreasTest: Test: MEC for Extreme Car Driving SimulatorTest: Test: angle_perftests --gtest_filter="*extreme_car_driving_simulator*"
Change-Id: I2ad7a6ee32d4a6331d0a1bd225b52684a2bc21a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382516
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-10 04:46:27 +00:00
skia-autoroll
beb62fb11c Roll Dawn from 010fd1a8d7c7 to 6d4617a2d28d (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/010fd1a8d7c7..6d4617a2d28d

2021-03-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from fe2ceb9b5d7c to 6ce58becd2d5 (13 revisions)
2021-03-09 bclayton@google.com ShaderModule: Use transform::Renamer
2021-03-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 13ee0fbdf337 to fe2ceb9b5d7c (2 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 13ee0fbdf337 to 6ce58becd2d5

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC kainino@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: kainino@google.com
Change-Id: I17c8adb121f5003ae518accea3c38f7bcfdb51f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382536
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-10 04:41:27 +00:00
Herb Derby
cc1cbcf9e0 Revert "Reland "cache the creation of one GrAtlasTextOp""
This reverts commit dc3d678712.

Reason for revert: Crashing on exit thread handler

Original change's description:
> Reland "cache the creation of one GrAtlasTextOp"
>
> This is a reland of 4b1fb7ca90
>
> Original change's description:
> > cache the creation of one GrAtlasTextOp
> >
> > GrAtlasTextOp has a high probability of being merged with the
> > previous op. This cache keeps using the same op to merge with
> > keeping memory warm.
> >
> > This show about 5.75% improvement in skpbench on desk_nytimes.
> >
> > When compiling for ios 9 or earlier, this optimization is
> > disabled.
> >
> > Change-Id: I13ccbef6dcd4b9d82103bf20bba7d94f3e4fb6f4
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376718
> > Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Herb Derby <herb@google.com>
>
> Change-Id: I935a2965062b1fddb28806e85eb0fe055ba46ec2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/380320
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: I3bc3329580460fcf8c0b49f655a88cb902da3d58
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382556
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-03-10 04:24:09 +00:00
Herb Derby
dc3d678712 Reland "cache the creation of one GrAtlasTextOp"
This is a reland of 4b1fb7ca90

Original change's description:
> cache the creation of one GrAtlasTextOp
>
> GrAtlasTextOp has a high probability of being merged with the
> previous op. This cache keeps using the same op to merge with
> keeping memory warm.
>
> This show about 5.75% improvement in skpbench on desk_nytimes.
>
> When compiling for ios 9 or earlier, this optimization is
> disabled.
>
> Change-Id: I13ccbef6dcd4b9d82103bf20bba7d94f3e4fb6f4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376718
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Change-Id: I935a2965062b1fddb28806e85eb0fe055ba46ec2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/380320
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-03-09 23:32:00 +00:00
Brian Osman
86e85537fe Test that we propagate 'const' to the GPU backend of runtime effects
Currently, only one of three uses (local variables) does this correctly.

Bug: skia:11716
Change-Id: Iad11e8e5998fcc7caee4d438e0558c5d4e2b1821
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382277
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-03-09 23:26:00 +00:00
Michael Ludwig
a5c90588b1 Consistently fail writePixels when rowbytes not a multiple of bpp
With skia-review.googlesource.com/c/skia/+/363782, both cpu and gpu
backends would gracefully fail readPixel requests where dst row bytes
wasn't a multiple of dst bpp. It also updated the cpu backend's
writePixels behavior to gracefully reject writePixels requests where
the src row bytes wasn't a multiple of src bpp.

GPU writePixels would not detect this and later trigger an assert
in debug builds in GrConvertPixels (caught by the linked fuzzer bug).

This adds tests to mirror the read pixels bad-row-bytes tests and
updates GrSurfaceContext::writePixels to check src row bytes vs. bpp.
I confirmed it fixes the fuzzer crash.

Bug: chromium:1185266
Change-Id: I7cd8406c65a9ba35a55d695b2f65410a1edd2a19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382276
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-03-09 21:54:50 +00:00
Jim Van Verth
7d195fff45 Cache precompiled MSL shaders.
Acts similarly to the GL precompiled shaders, in that it will cache
preliminary data (in this case, the MTLLibraries) in the PipelineState
cache, and then when the pipeline is built will extract that. Once
the pipeline is built the MTLLibraries are discarded.

Bug: skia:11392
Change-Id: I701e2e857d105c9149a2f69fe7b60bf4599195bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/380457
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-03-09 21:10:22 +00:00
John Stiles
c3ce43be8e Replace the vector<Statement> in SwitchCase with a Block.
Change-Id: Ic2d1240ab785101365b0fd934562505fb5a3e599
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/381816
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-03-09 20:46:10 +00:00