Commit Graph

47808 Commits

Author SHA1 Message Date
Brian Salomon
c505a45bac Remove GrCaps::getYUVAColorTypeFromBackendFormat().
We no longer need a color type to make a wrapped proxy.

Update image_from_yuv_textures GM to make single channel textures.

Make Image factories that infer SkColorChannel values for YUVAIndices
be smarter about picking the channel for single channel textures.

Bug: skia:10078

Change-Id: I84eeaae5c9197dec96c856ce4263b6bd674e7111
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282623
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-04-10 16:00:37 +00:00
Brian Salomon
a774193f70 Remove unused GrVkFormatColorTypePairIsValid
Change-Id: Id3d6ab46af71b2966cb55b65138f2d5e9129ca4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282848
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-04-10 15:57:40 +00:00
Greg Daniel
6341d92280 Split apart flushing and submitting in the GrGpu classes and GrDrawingManager.
Bug: skia:10118
Change-Id: I53e3b9f1bd28a00276a3d35b5160aa0cfec30cfd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282417
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-04-10 15:48:48 +00:00
Stan Iliev
1db4d14e59 Trace texture upload always with Android framework
Test: Built on Android
Bug: b/142426387
Change-Id: I7ca32ffedd8896cbb105872cd1b3c746ff8ffe9d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282837
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2020-04-10 15:48:37 +00:00
Jim Van Verth
96bfeff55c More fixes to get D3D tests running.
* Set up D3D backend texture creation
* Fix GrD3DBackendSurfaceInfo initialization
* Minor fix to get wrapped RTs into the cache

Bug: skia:9935
Change-Id: Ic5319a7d059c4d969894529a326a91de0192f9eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282679
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-04-10 15:19:18 +00:00
Brian Salomon
12632f11f0 Always initialize YUYAIndex::fChannel in wacky YUV format GMs
Speculative fix for MSAN failure.

Change-Id: I8c71186f40ddfa60418e917bd7b248a33883669c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282844
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-04-10 14:37:06 +00:00
Florin Malita
f4403e7a78 Revert "[SVG] Replace custom attribute value wrappers with std::variant"
This reverts commit 97e0861b67.

Reason for revert: not all builders support C++17 STL

Original change's description:
> [SVG] Replace custom attribute value wrappers with std::variant
> 
> Less boilerplate, more STL.
> 
> Change-Id: I601f75877d60085cbf3d39f401543fbe9c086f90
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282836
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>

TBR=fmalita@chromium.org,reed@google.com,tdenniston@google.com

Change-Id: If5816f11e9cf85dcec2452229c5675037303b220
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282847
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-04-10 14:14:22 +00:00
Florin Malita
97e0861b67 [SVG] Replace custom attribute value wrappers with std::variant
Less boilerplate, more STL.

Change-Id: I601f75877d60085cbf3d39f401543fbe9c086f90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282836
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-04-10 13:35:53 +00:00
Brian Salomon
f7255d72f8 Try out plane/channel index scheme in wacky yuv format GMs.
Bug: skia:10078

Change-Id: Ic47ac84ab7a047d91ae72b45ccd0adc9f449e2be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282618
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-04-10 13:20:32 +00:00
skia-recreate-skps
05e2350de5 Update Go Deps
Change-Id: Ie901e0f2e8d92511f8323f459fcfa7577322f05f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282820
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-10 05:40:10 +00:00
skia-autoroll
161b433a01 Roll ../src 9fa8abd9f4b8..6de7d4c5cd56 (410 commits)
9fa8abd9f4..6de7d4c5cd


Created with:
  gclient setdep -r ../src@6de7d4c5cd

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 csmartdalton@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: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
Bug: None
Tbr: csmartdalton@google.com
Change-Id: If9d33bd7cbb16f3ea8807d83708308e4cb79937b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282754
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-10 05:13:40 +00:00
skia-autoroll
3809e1e946 Roll third_party/externals/angle2 2caf7ffda74f..c68dfaf3a529 (9 commits)
2caf7ffda7..c68dfaf3a5

git log 2caf7ffda74f..c68dfaf3a529 --date=short --first-parent --format='%ad %ae %s'
2020-04-10 xinghua.cao@intel.com Avoid GPU-GPU copy for StructuredBuffer
2020-04-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src bb32b2a70168..ae6787114fb5 (4 commits)
2020-04-09 timvp@google.com Vulkan: Support Program Pipeline Objects
2020-04-09 lexa.knyazev@gmail.com D3D11: Skip setting BlendState for integer attachments
2020-04-09 m.maiya@samsung.com EGL: Add support for EGL_EXT_image_gl_colorspace extension
2020-04-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 444b7cd3eecd..bb32b2a70168 (2 commits)
2020-04-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 4db086125947..47d5e27460af (4 commits)
2020-04-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 63ed0e445fa5..3cfa8e28be80 (7 commits)
2020-04-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 9c3204a1fde0..75de196cecab (1 commits)

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

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 csmartdalton@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-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
Bug: None
Tbr: csmartdalton@google.com
Change-Id: Ie2ea2c9e52f4e24e127d4a0c92640524b093ffb4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282816
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-10 04:52:40 +00:00
skia-autoroll
48d345fd83 Roll third_party/externals/swiftshader 3cfa8e28be80..e6f65d9265e7 (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3cfa8e28be80..e6f65d9265e7

git log 3cfa8e28be80..e6f65d9265e7 --date=short --first-parent --format='%ad %ae %s'
2020-04-09 capn@google.com Rename GenericValue to Operand
2020-04-09 bclayton@google.com CMake: Fix linux build with SWIFTSHADER_BUILD_PVR
2020-04-09 bclayton@google.com Vulkan/Debug: Fix clang-10 warning
2020-04-09 bclayton@google.com third_party/cppdap: Roll forward to 4dcca577
2020-04-09 cwallez@chromium.org Clamp _SNORM formats to -1.0

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

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 csmartdalton@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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: csmartdalton@google.com
Change-Id: I22e6572650d4fbc095a36f8e97fdbc2806e0c382
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282755
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-10 04:37:40 +00:00
Zhenyao Mo
854ac61e90 Roll Dawn 11652ff8f8b3..6574f92747a2.
This also rolls
* glslang 1f0fcbe5a...b5757b950
* shaderc 362becca1..802636496
* spirv-cross 871c85d7f..6637610b1
* spirv-tools 1c8bda372..e95fbfb1f

https://dawn.googlesource.com/dawn.git/+log/11652ff8f8b3..6574f92747a2

git log 11652ff8f..6574f9274 --date=short --no-merges --format='%ad %ae %s'
2020-04-09 cwallez@chromium.org Fix the @rpath of dawn_components
2020-04-09 cwallez@chromium.org Remove temporary GN groups after Chromium fix
2020-04-09 cwallez@chromium.org Fix UBO/SSBO OOB in ComputeStorageBufferBarrierTests
2020-04-09 cwallez@chromium.org Fix wgpu::WholeSize not being set correctly inside BindGroup
2020-04-09 cwallez@chromium.org Skip ViewportTest failing on Swiftshader.
2020-04-09 cwallez@chromium.org Skip Float16 TextureFormatTests on Swiftshader
2020-04-08 rharrison@chromium.org Propagate comparison sampler support from spvc
2020-04-08 zmo@chromium.org Make the Vulkan Validation Layers an optional dependency.
2020-04-08 cwallez@chromium.org BUILD.gn: enable additional warnings.
2020-04-08 cwallez@chromium.org Roll third_party/swiftshader/ 51b2800bb..63ed0e445 (131 commits)
2020-04-08 cwallez@chromium.org Fix wgpu::WholeSize to count until the end of the buffer.
2020-04-08 cwallez@chromium.org dawn_wire: Correctly handle buffer state changes on Destroy()
2020-04-07 rharrison@chromium.org Add default to conversion utility to avoid build breakage
2020-04-07 cwallez@chromium.org Fixes to be able to build Dawn inside Skia
2020-04-07 cwallez@chromium.org Simplify the device lifecycle.
2020-04-07 cwallez@chromium.org Fix Dawn's proxy groups to use public_deps instead of deps
2020-04-07 cwallez@chromium.org Fix a -Wstrict-prototypes
2020-04-07 cwallez@chromium.org Add a DeviceBase::Initialize that must be called by backends.
2020-04-07 cwallez@chromium.org BUILD.gn: rename libdawn_native/wire to dawn_native/wire
2020-04-07 cwallez@chromium.org Split dawn_(native|wire|platform) to their own BUILD.gn files
2020-04-07 cwallez@chromium.org Rename BG[L]Binding to BG[L]Entry
2020-04-06 kainino@chromium.org Fix is_asan build (at least on Mac)
2020-04-06 bryan.bernhart@intel.com Reland "D3D12: Stage BindGroups on CPU descriptor heaps."
2020-04-06 rafael.cintron@microsoft.com Make RefCounted derived objects have private destructors
2020-04-06 cwallez@chromium.org Make Toggles overriden automatically and device creation
2020-04-06 hao.x.li@intel.com Force uninitialized variables to be zero for shader compiler on D3D12
2020-04-06 rharrison@chromium.org Rolling 3 dependencies
2020-04-06 cwallez@chromium.org Change the TogglesSet API to look like a set<>
2020-04-06 cwallez@chromium.org Revert "D3D12: Stage BindGroups on CPU descriptor heaps."
2020-04-03 hao.x.li@intel.com Roll third_party/shaderc/ f085b9745..f175adffa (4 commits)
2020-04-03 enga@chromium.org Support chained extension structs on the wire
2020-04-03 bryan.bernhart@intel.com D3D12: Stage BindGroups on CPU descriptor heaps.
2020-04-03 hao.x.li@intel.com Return error instead of crash if compile shader failed on D3D12
2020-04-02 cwallez@chromium.org Add enga@chromium.org as OWNER
2020-04-02 cwallez@chromium.org Fix -Wunreachable-code-break
2020-04-02 cwallez@chromium.org Normalize case X : {} break; to case X : { break;}
2020-04-01 natlee@microsoft.com D3D12 Add check for DXGI_ERROR_DEVICE_REMOVED real device removed
2020-04-01 cwallez@chromium.org Rename GetBindGroupLayout's argument group->groupIndex
2020-04-01 cwallez@chromium.org Separate device lost from internal errors.
2020-03-31 cwallez@chromium.org Use the default values for Dispatch in examples and tests
2020-03-31 cwallez@chromium.org Add the defaults for Draw and DrawIndexed
2020-03-31 brandon1.jones@intel.com Residency 5: Implement and Integrate Residency Management
2020-03-30 yunchao.he@intel.com Add validation tests for resource usage tracking - 4
2020-03-30 cwallez@chromium.org Fix compilation on iOS where setDisplaySyncEnabled isn't available.
2020-03-30 bungeman@chromium.org Add std:: to nullptr_t
2020-03-30 rafael.cintron@microsoft.com Call ID3D12SharingContract::Present on WebGPU swap buffer destroy
2020-03-30 rharrison@chromium.org Rolling 4 dependencies
2020-03-30 natlee@microsoft.com D3D12 Immediately release pending commands
2020-03-27 yunchao.he@intel.com Add validation tests for resource usage tracking - 2
2020-03-27 enga@chromium.org Merge BindGroupLayout and ShaderModule BindingInfos
2020-03-27 cwallez@chromium.org Vulkan: Load functions for surface extensions we support.
2020-03-27 cwallez@chromium.org Metal: Don't crash on invalid shaders
2020-03-27 cwallez@chromium.org Vulkan: Free recording context semaphores on destroy.
2020-03-27 cwallez@chromium.org Vulkan: Use EXT_metal_surface instead of MVK_macos_surface
2020-03-27 cwallez@chromium.org Vulkan: Make GatherSurfaceInfo use ResultOrError
2020-03-27 cwallez@chromium.org Vulkan: Don't use vulkan.h's prototypes.
2020-03-27 yunchao.he@intel.com Add validation tests for resource usage tracking
2020-03-26 bryan.bernhart@intel.com perf_tests: Update perf_test_runner format.
2020-03-26 enga@chromium.org Convert LayoutBindingInfo to an array of BindingInfos
2020-03-26 jiawei.shao@intel.com Collect if a storage texture is declared as multisampled in shader
2020-03-25 bryan.bernhart@intel.com D3D12: Add end2end tests for small shader-visible heaps.
2020-03-25 jiawei.shao@intel.com Add validations on the creation of bind groups with storage textures
2020-03-24 enga@chromium.org Add DAWN_NO_DISCARD to ErrorData
2020-03-24 cwallez@chromium.org Validate there are at most kMaxBindingsPerGroup entries per layout.
2020-03-24 jiawei.shao@intel.com Reland "Check bind group layout with storage texture in pipeline descriptors"
2020-03-23 enga@chromium.org Fix MSVC build
2020-03-23 rharrison@chromium.org Rolling 5 dependencies
2020-03-23 cwallez@chromium.org Properly handle SPVC errors.
2020-03-23 cwallez@chromium.org Stop using SPVC by default.
2020-03-20 enga@chromium.org Support and pack unbounded binding numbers in the BGL

1f0fcbe5a...b5757b950

git log 1f0fcbe5a..b5757b950 --date=short --no-merges --format='%ad %ae %s'
2020-04-03 rharrison@google.com Remove extra semicolons (#2170)
2020-04-02 mbechard@users.noreply.github.com Shader interface matching rework to fix #2136 (#2156)
2020-04-01 cepheus@frii.com Build warning: Fix #2167: Remove nested reuse of 'unreachable'.
2020-03-31 cepheus@frii.com Bump revision.
2020-03-30 alele@nvidia.com Error assigns to objects of rayQueryEXT type.
2020-03-30 dsinclair@google.com Remove unused variables.
2020-03-30 cepheus@frii.com Fix #2163: improve comments for addProcess() and the preamble.
2020-03-30 ntfs.hard@gmail.com printf format
2020-03-30 ntfs.hard@gmail.com unused var
2020-03-30 ntfs.hard@gmail.com bitwise on boolean
2020-03-30 ntfs.hard@gmail.com opposite inner condition
2020-03-27 greg@lunarg.com Update spirv-tools known_good to latest stable
2020-03-26 neslisah.torosdagli@amd.com accelerationStructureEXT - issue #2152
2020-03-26 neslisah.torosdagli@amd.com accelerationStructureEXT - issue #2152
2020-03-26 neslisah.torosdagli@amd.com pass by reference updates
2020-03-26 neslisah.torosdagli@amd.com pass-by-reference updates
2020-03-25 gcmn@google.com Add missing braces to if condition
2020-03-25 neslisah.torosdagli@amd.com switch format update
2020-03-24 neslisah.torosdagli@amd.com copyright notice changes removed from unchanged files
2020-03-24 neslisah.torosdagli@amd.com copyright notice changes removed from unchanged files
2020-03-24 neslisah.torosdagli@amd.com copyright notice changes removed from unchanged files
2020-03-24 neslisah.torosdagli@amd.com spirv.hpp reverted to commit f368dcbb7d8af23f0cba3015d0f4dda9dc3aa66d
2020-03-24 neslisah.torosdagli@amd.com .travis updated to origin, rayQueryCheck removed
2020-03-23 neslisah.torosdagli@amd.com const rayFlag defs used in the test cases in stead of numerical values
2020-03-23 neslisah.torosdagli@amd.com compute and fragment shader test_cases added for rayQuery
2020-03-23 neslisah.torosdagli@amd.com rayQuery test cases added
2020-03-23 neslisah.torosdagli@amd.com rayQueryEXT function parameter
2020-03-23 neslisah.torosdagli@amd.com rayQueryEXT assignment is allowed.
2020-03-23 neslisah.torosdagli@amd.com test names updated
2020-03-23 kainino@chromium.org update README
2020-03-23 kainino@chromium.org Fix build on CMake 2.8, and fix Web build
2020-03-23 neslisah.torosdagli@amd.com wait time increased for the install
2020-03-23 neslisah.torosdagli@amd.com rayQuery test cases disabled
2020-03-20 neslisah.torosdagli@amd.com GL_EXT_ray_query glslang updates, and test cases added.
2020-03-19 neslisah.torosdagli@amd.com comment update, rayQueryEXT is writable, readonly check removed.
2020-03-19 ntorosda@amd.com GL_EXT_ray_query updates
2020-03-18 cepheus@frii.com Fix #2132: constant matrix constructor from single non-scalar argument
2020-03-19 neslisah.torosdagli@amd.com comment update, rayQueryEXT is writable, readonly check removed.
2020-03-19 ntorosda@amd.com GL_EXT_ray_query updates
2020-03-18 cepheus@frii.com Fix #2132: constant matrix constructor from single non-scalar argument
2020-03-19 neslisah.torosdagli@amd.com comment update, rayQueryEXT is writable, readonly check removed.
2020-03-19 neslisah.torosdagli@amd.com GL_EXT_ray_query updates
2020-03-19 ntorosda@amd.com GL_EXT_ray_query updates

362becca1...802636496

git log 362becca1..802636496 --date=short --no-merges --format="%ad %ae %s"
2020-04-07 rharrison@google.com Add concept of comparison sampler to API (#1036)
2020-04-06 rharrison@google.com Start shaderc v2020.1
2020-04-06 rharrison@google.com Finalize shaderc v2020.0
2020-04-06 rharrison@google.com Update CHANGES
2020-04-06 rharrison@google.com Rolling 5 dependencies and updating exceptions (#1035)
2020-04-02 rharrison@google.com Add flag to control if we build with -Werror (#1032)
2020-03-31 rharrison@google.com Add knob to control force_zero_initialized_variables (#1028)
2020-03-31 dgkoch@users.noreply.github.com update glslang to SDK-Candidate-2 tag (#1027)
2020-03-30 rharrison@google.com Rolling 5 dependencies and updated exceptions (#1026)
2020-03-30 dgkoch@users.noreply.github.com Roll glslang dependency to SDK-candidate tag (#1024)
2020-03-30 rharrison@google.com Add support for WebGPU to shaderc (#1021)
2020-03-26 rharrison@google.com Convert compile options to require explicit environments (#1019)
2020-03-26 dgkoch@users.noreply.github.com Roll glslang dependency (#1018)
2020-03-24 jiawei.shao@intel.com SPVC: Record if a storage texture is declared as multisampled texture (#1011)
2020-03-24 rharrison@google.com Add message about status of artifacts to downloads.md (#1012)
2020-03-24 rharrison@google.com Rolling 5 dependencies (#1014)
2020-03-20 jiawei.shao@intel.com Extract texture dimension for storage textures (#1008)

871c85d7f...6637610b1

git log 871c85d7f..6637610b1 --date=short --no-merges --format='%ad %ae %s'
2020-04-03 post@arntzen-software.no Expose a query if samplers or images are comparison resources.
2020-04-03 post@arntzen-software.no Do not add NonWritable/NonReadable decorations for regular images.
2020-04-03 post@arntzen-software.no MSL: Deal with cases where builtin is implicitly needed, declared, but unused.
2020-04-03 post@arntzen-software.no HLSL: Add support for treating NonWritable UAV texture as SRV instead.
2020-04-03 troughton@users.noreply.github.com MSL: mark BuiltInFragCoord as implicitly used for subpass reads
2020-03-31 post@arntzen-software.no MSL: Fix access chain for deep struct hierarchy on array of buffers.
2020-03-30 dsinclair@google.com Roll GLSLang, SPIRV-Tools and SPIRV-Headers
2020-03-26 post@arntzen-software.no Add support for forcefully zero-initialized variables.

1c8bda372...e95fbfb1f

git log 1c8bda372..e95fbfb1f --date=short --no-merges --format='%ad %ae %s'
2020-04-02 afdx@google.com spirv-fuzz: Transformation to add OpConstantNull (#3273)
2020-04-02 afdx@google.com spirv-fuzz: Handle isomorphic types property in composite construction (#3262)
2020-04-02 afdx@google.com spirv-fuzz: Limit adding of new variables to 'basic' types (#3257)
2020-04-02 afdx@google.com spirv-fuzz: Only replace regular ids with synonyms (#3255)
2020-04-02 afdx@google.com spirv-fuzz: Introduce TransformationContext (#3272)
2020-04-02 afdx@google.com spirv-fuzz: Add validator options (#3254)
2020-04-02 alanbaker@google.com Update dominates to check for null nodes (#3271)
2020-04-01 alanbaker@google.com Set wrapped kill basic block's parent (#3269)
2020-03-31 caio.oliveira@intel.com Validate Buffer and BufferBlock apply only to struct types (#3259)
2020-03-26 stevenperron@google.com Start SPIRV-Tools v2020.3
2020-03-26 stevenperron@google.com Finalize SPIRV-Tools v2020.2
2020-03-26 stevenperron@google.com Update CHANGES
2020-03-25 alanbaker@google.com Fix identification of Vulkan images and buffers (#3253)
2020-03-23 alanbaker@google.com Disallow phis of images, samplers and sampled images (#3246)

Bug: chromium:1064305
Change-Id: I1cd089f346a21d5c0e8d956e6227d5ba430759c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282738
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-04-09 23:35:09 +00:00
Corentin Wallez
e2c5bcf868 Remove the dependency on Dawn's SwapChainUtils.
This is not part of the public API of Dawn and will be unnecessary once
Dawn move to "surface based swapchains". DawnD3D12WindowContext didn't
need the include so all that's needed is copying the helper in
DawnMTLWindowContext.

Change-Id: I8d0682b6b0801dc311ad4c7d73d4c07e575ecf4e
Bug: chromium:1064305
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282496
Reviewed-by: Zhenyao Mo <zmo@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-04-09 20:31:30 +00:00
Robert Phillips
207d24bef9 Rename GrMeshDrawOp::Target::glyphCache to strikeCache
This renaming, obviously, propagates to the GrOpFlushState derived class.

This CL also removes GrStrikeCache access from:
  SkInternalAtlasTextContext - accessor not used
  GrAtlasManager             - strike cache not used internally


Change-Id: I7b82dc14be7ba7eabe604218f29f875f08a259a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282602
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-09 19:29:17 +00:00
Greg Daniel
58b5a54707 More robust fix for command buffer context crash.
There apparently were other tests that had similar issues and this fix
is much better and is more future proof.

Change-Id: I4835c7e5772b9e70249a69255aae8808be172eef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282681
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-04-09 19:28:06 +00:00
Florin Malita
a362669e1c [svg] Remove primitive type wrappers
SkSVGPrimitiveTypeWrapper must have served some purpose in the past
(maybe? I have no memory of this place :P), but now it basically does
templated-nothing.

Well...

Change-Id: Id93487c345ea075d09b14024f4bcd2f987789518
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282680
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-04-09 19:06:36 +00:00
Robert Phillips
e87106df32 Add check that the PlotLocator's plotIndex is consistent w/ the glyph rect
This verifies that the redundant information w/in the AtlasLocator stays consistent.

Bug: 1056730
Change-Id: Ic76d831c3086cfa85979771e1611853d99031f60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282614
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-04-09 18:57:06 +00:00
Tyler Denniston
6c8314efa1 [SVG] Implement currentColor for fill and stroke
The 'color' presentation attribute when set determines the value of the
special color value 'currentColor'. See the color-prop-01-b test for an
example.

Not handled in this CL:
- The color type needs to be changed to be inheritable.
- currentColor should also be usable for stop-color for gradients. See
  <https://www.w3.org/TR/SVG11/color.html#ColorProperty> for a full list
  of attributes that can use currentColor.

Change-Id: Icf81b5313cda688d1b6e20809b9b339f517b9ada
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282638
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-04-09 18:48:16 +00:00
Robert Phillips
4d932d170f Move the GrStrikeCache from the recording context to the direct context
This solidifies that the strike cache and, thus, GrStrikes can't be used when recording DDLs.

TBR=bsalomon@google.com
Bug: 1056730
Change-Id: I15ce3ac2c0a9db0f476c03ef855bd14d22551043
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282536
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-09 18:47:27 +00:00
Mike Reed
73e334469e fix computation for localToWorld
Change-Id: I962f47dce685a938f6ec9f7fbbb79c34ea9b3c4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282677
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-09 18:35:06 +00:00
Ben Wagner
cc81e202b4 Take MorphologyImageFilter radii as SkScalar.
The morphology image filters work on pixels, so took the radii as
integers. However, these radii will be mapped through the CTM, so any
rounding should happen as late as possible or the effect will be overly
discretized.

Bug: skia:10110
Change-Id: I62ab6c37d0b4612690addc48c9bc473099ac36b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282636
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-04-09 18:27:17 +00:00
Kevin Lubick
d5f1ccb99f [infra] Update dimensions for Golo Windows machines
Required https://chrome-internal-review.googlesource.com/c/infradata/config/+/2864018
to add the additional CPU dimension

Bug: 1068726
Change-Id: I68734cdaa0956fe73ee50429e0581d4d123cc024
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282676
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2020-04-09 18:19:08 +00:00
Mike Klein
d7d1462b50 example of overdraw CF that we can JIT
Branch-free code translates to SkVM more easily than the branchy.

Caveat: the GM is not actually JITing with home-grown JIT today because
that JIT can't gather8, i.e. it can't sample from A8 images yet.  But it
works with SkVM interpreter and JITs with LLVM.

Change-Id: I41a6e1d6dda3a6d89a1150bfc7cbc63fe609d4e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282612
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-09 18:08:36 +00:00
Greg Daniel
34bd2c3ccb Fix PinnedImageTest to make current original context at end.
Change-Id: I6f47bb8aa9d743925ea98d2614058137914e0531
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282637
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-04-09 18:07:06 +00:00
Robert Phillips
51b3e60c6e Clean up GrText-related headers a bit
GrGlyph.h in particular was a bit out of date

Change-Id: I104a4ec3e417ac39856d2f557c61a0222722266b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282607
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-04-09 17:37:16 +00:00
Mike Reed
7fe6ee30c4 Add markCTM(id) api, to replace functionality of saveCamera.
Will need followups on Vertices and SkSL to use these handles.

Change-Id: If775cb01168f601541e889bfa2421129e505b4a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282416
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-04-09 17:07:36 +00:00
Tyler Denniston
31dc48138c Sort viewer slides by filename when traversing a directory.
Main motivation for this was convenience when rendering directories of
external files (e.g. --svgs) as readdir() does not guarantee any
ordering.

Change-Id: I78dced834e5a3edde4a5e8e0e65ad946c7d3a3fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282617
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-04-09 16:15:06 +00:00
Mike Klein
5d1c163807 fix JIT min/max
x86 was relatively straightforward to fix... we were
passing the arguments in the wrong order.

As far as I can tell, we cannot use the native ARM instructions.
Instead, test and select.

Change-Id: I3411a72462e5d5f04881f0304318fd1ae8792900
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282316
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-09 14:23:35 +00:00
Florin Malita
0929425f3d [svg] Skip "inherited" presentation attributes
Instead of propagating and attempting to handle at resolution time,
cull "inherited" values in the setters - for inherited-by-default
presentation attributes, "inherited" is the same as not specifying
a property.

Also add some missing setters for more consistent dispatching, and
assert that kInherited never shows up in computed values.

Change-Id: Iceeab4440c5c2eee18a144e2a32704fd29ec5e95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282396
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-04-09 13:34:45 +00:00
Jim Van Verth
332ab60287 D3D fixes to clean up crashes in tests
Filled in a few more methods, almost gets through tests w/o crashing now.

Bug: skia:9935
Change-Id: If3461db366333cd29c762e1afa51a0959c57689d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282275
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-04-09 13:13:54 +00:00
Robert Phillips
297a219dbf Delay creation of GrTextStrike and GrGlyphs until flush time
Bug: 1056730
Change-Id: If7f1101352e6629e1b31bb888e605984ac29f2e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282312
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-09 12:25:54 +00:00
Tyler Denniston
b96bb97f09 [SVG] Fix polyline/polygon point parsing
This was evident in the 'shapes-polygon-01-t' SVG.

Change-Id: I4900b9e3626b924291c569a6611fb3b280e3219c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282397
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-04-09 12:20:29 +00:00
Florin Malita
d532bdbc86 [svg] Adjust container size on Viewer window resize
It's nice to be able to resize the SVG container on the fly.

Change-Id: I6624e6151aaff7e2a7f6eb07e84aee88c4a2e408
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282418
Auto-Submit: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2020-04-09 12:16:34 +00:00
Florin Malita
5076bd228f [svg] Fix dasharray padding
Use a correct byte count (instead of SkScalar count).

Change-Id: I1b7d38031eacecbb18bf3453998913da68af5a4a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282480
Auto-Submit: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2020-04-09 12:15:24 +00:00
skia-autoroll
d7bec55520 Roll third_party/externals/angle2 8bd3dab11206..2caf7ffda74f (7 commits)
8bd3dab112..2caf7ffda7

git log 8bd3dab11206..2caf7ffda74f --date=short --first-parent --format='%ad %ae %s'
2020-04-09 xinghua.cao@intel.com Address a TODO for instance uniform block
2020-04-08 geofflang@chromium.org GL: Protect against infinite loops with CONTEXT_LOST in CheckError
2020-04-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 004b2914bfe3..4db086125947 (9 commits)
2020-04-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader bdb6807825ac..63ed0e445fa5 (8 commits)
2020-04-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src 122067a02a25..bb8be13e3ffe (1 commits)
2020-04-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 4af38c49bfee..538512e8e898 (2 commits)
2020-04-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 1fbefe048387..444b7cd3eecd (2 commits)

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

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 csmartdalton@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-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
Bug: None
Tbr: csmartdalton@google.com
Change-Id: I39e673aa9e459592975ae949a064316fe295aa9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282462
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-09 06:16:13 +00:00
skia-recreate-skps
330286ebf4 Update Go Deps
Change-Id: I1e137174cfccdf9c3b204894863d349abade9c0a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282459
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-09 05:36:03 +00:00
skia-autoroll
d4f2f8fe87 Roll ../src 65c03361bcc9..9fa8abd9f4b8 (398 commits)
65c03361bc..9fa8abd9f4


Created with:
  gclient setdep -r ../src@9fa8abd9f4

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 csmartdalton@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: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
Bug: None
Tbr: csmartdalton@google.com
Change-Id: I3b5390e712c0d195ac65d602fb328661d3b017f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282436
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-09 04:57:49 +00:00
skia-autoroll
dcf3a9b3dc Roll third_party/externals/swiftshader ba0c95eb406f..3cfa8e28be80 (9 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/ba0c95eb406f..3cfa8e28be80

git log ba0c95eb406f..3cfa8e28be80 --date=short --first-parent --format='%ad %ae %s'
2020-04-09 sugoi@google.com Remove debug only code limiting the number of primitives
2020-04-08 bclayton@google.com Regres: Post coverage results even if the test lists have not changed.
2020-04-08 amaiorano@google.com CMake: split out all src/OpenGL targets into their own CMakeLists
2020-04-08 amaiorano@google.com CMake: split out SwiftShader GL deps into separate files
2020-04-08 amaiorano@google.com CMake: clean up dependencies
2020-04-08 bclayton@google.com Add SystemBenchmarks.
2020-04-08 bclayton@google.com VkCommandBuffer: Remove static Cast() method
2020-04-08 bclayton@google.com Remove src/Device/Config.cpp
2020-04-08 bclayton@google.com Kokoro: Check that build files don't reference non-existent files

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

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 csmartdalton@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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: csmartdalton@google.com
Change-Id: Idd3043dfd76f946317cb2ac987606da6ac27d6c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282437
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-09 04:37:13 +00:00
Brian Osman
68219bfaca Add Usage::kColor to SkVertices custom attributes
Always treated as unpremul, RGB(A) sRGB colors. Automatically
transformed to destination color space, and premuled.

Bug: skia:9984
Change-Id: I78fdb16482f70714a8a8b64a9552e8874d7966fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282336
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-04-08 23:57:27 +00:00
Jim Van Verth
5ca3e54301 Fixes for running on the iOS simulator.
* Disable pixel formats not supported by Metal on the simulator
* Work around invalid sample count value in GLES

Change-Id: I711c3d906ef1c0a467dfc1fb5d36eac2277e7ae0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282270
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
2020-04-08 21:11:17 +00:00
Jim Van Verth
185d3d4fa7 Add onMap, onUnmap, and onUpdateData to GrD3DBuffer.
Fills in more methods for GrD3DBuffer. Still needs some
work to be fully functional.

Bug: skia:9935
Change-Id: If8d0be93c77c86d3d3578afcdc598b428c468da5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282136
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-04-08 20:31:37 +00:00
Florin Malita
27aeb12d47 [svg] Reference cycle avoidance
Several SVG constructs reference other elements based on their ID (e.g.
<use>).  This can yield arbitrary reference chains and cycles.

Since all ID-based lookups are funneled through
SkSVGRenderContext::findNodeById(), a straightforward method to break
cycles is to temporarily clear the id->node association following a
lookup -- where "temporarily" refers to the local execution scope.

This approach works for all recursive traversals, as scopes are
nested/released in a natural manner.

  - introduce a scoped node reference wrapper (BorrowedNode), which
    clears the id mapping for its lifetime and restores it upon
    destruction
  - update findNodeById() return BorrowedNode values
  - update call sites as needed

Change-Id: I2ec5539b24e23b4fbbaff01a44460c41190028e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282271
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2020-04-08 20:04:17 +00:00
Brian Salomon
dc8fcdb735 Add getter for channels to GrBackendFormat
Bug: skia:10078

Change-Id: I0172a87d836a606a55e60b73ba255a41313e9c12
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282266
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-08 19:54:27 +00:00
Tyler Denniston
d1e5b030fd [SVG] Fix application of skewX/skewY attributes
The SkMatrix setSkew functions set the matrix value directly, so we need
to treat the angle according to
https://www.w3.org/TR/SVG11/coords.html#SkewXDefined

Change-Id: I3a47e4e98724ef71f39a00dc2f07c8bf430de747
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282268
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Tyler Denniston <tdenniston@google.com>
2020-04-08 19:51:47 +00:00
Mike Reed
d2c24c8aad more infixifcation -- no functional change
In general, I removed local helper functions, but not always...
in a few places, imho, mad() or mma() still made it a little easier to
read, but easy to change my mind if someone suggest they be 'inlined'.

No pixels diffs afaik

Change-Id: I15b6e611d3e367d7cd30d807369c64b00652157f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281860
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-08 19:22:16 +00:00
Mike Klein
210288fdcd add SkVM_min_max unit test
Tests min() / max() float behavior fairly exhaustively.

We sometimes specialize into min_f32_imm and max_f32_imm, so it's
important to test with constant values as each argument to cover that
specialization, and to test with both as non-constant values to cover
when that specialization does not apply.

Change-Id: Ib021fd5a6d322058af2f504048b9ed02d0510732
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282315
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-04-08 19:05:36 +00:00
Mike Klein
3150d88ba4 add Pixel CPU Test jobs
We lost some coverage here when the Shields died.

We've had the ASAN Test jobs, which is good, but there are
a few code paths that go differently when run under ASAN,
particularly the SkVM JIT.

Change-Id: Ia120e55f16ddd4cd12d8bd78d62a53c7542fec13
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282318
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-04-08 18:43:06 +00:00
Greg Daniel
8561fc23c9 Update gpu flush semaphore contract.
From my scanning of clients this should not change how any of our main
users interact with semaphores. The biggest change here is that we don't
give up on submitted all the semaphores if a creation fails. We just
submit the semaphores we do have. It also makes it explicit that the
client is responsible for deleting any initialized semaphore regardless
if we were able to submit the semaphores or not or if the semaphore was
wrapped or created by Skia.

The motivation for this change is to more align the current API with
how things will work when we separate flushing and submit into different
calls.

Bug: skia:10118
Change-Id: I3e8b5d3a9852ddb2b5dc972fee21bf46ded7a36f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282265
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-04-08 17:30:16 +00:00