Commit Graph

1897 Commits

Author SHA1 Message Date
Corentin Wallez 3741f7373c Factor compilation of ~MockProcTable in mock_webgpu.cpp
GMock generates a lot of code in the destuctor of mock classes, so
factor that in mock_webgpu.cpp instead of compiling the code once for
each file including mock_webgpu.h.

Bug: None
Change-Id: I2b5984e911020eb33457bde9c6a45beaa93b3071
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19725
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-04-16 18:08:23 +00:00
Corentin Wallez 955f8a37cc Rolling 2 dependencies
Also adds build_overrides for [vulkan_]use_x11 that are now needed for
these deps.

Roll third_party/vulkan-headers/ d287523f4..e01f13e1f (20 commits)

d287523f48..e01f13e1f7

$ git log d287523f4..e01f13e1f --date=short --no-merges --format='%ad %ae %s'
2020-04-07 oddhack Update for Vulkan-Docs 1.2.137
2020-04-06 devrel Update README.md with warning of pending header changes
2020-03-24 oddhack Update for Vulkan-Docs 1.2.136
2020-03-17 oddhack New include file with provisional extension interfaces (those interfaces not aliased by promoted-from APIs, at least).
2020-03-17 oddhack Update for Vulkan-Docs 1.2.135
2020-03-06 oddhack Update for Vulkan-Docs 1.2.134
2020-02-15 oddhack Update for Vulkan-Docs 1.2.133
2020-01-21 oddhack Update for Vulkan-Docs 1.2.132
2020-01-14 oddhack Update for Vulkan-Docs 1.2.131
2019-11-14 flibitijibibo GN: Make PLATFORM_XCB optional, based on a user-defined variable.
2019-12-09 oddhack Update for Vulkan-Docs 1.1.130
2019-11-25 oddhack Update for Vulkan-Docs 1.1.129
2019-11-21 mark build: Clarify Windows build instructions
2019-11-18 oddhack Update for Vulkan-Docs 1.1.128
2019-11-05 jmadill GN: Add support for Google Games Platform.
2019-10-25 8729214+jonahryandavis build: BUILD.gn missing defines for MacOS
2019-11-03 oddhack Update for Vulkan-Docs 1.1.127
2019-10-28 shannon vulkan: Fix typo for `operator==` in `vulkan.hpp`
2019-10-25 shannon vulkan: Update `vulkan.hpp` for VS2015 VT fix
2019-10-21 oddhack Update for Vulkan-Docs 1.1.126

Roll third_party/vulkan-validation-layers/ 237d818e8..1533266ea (553 commits)

237d818e81..1533266eac

$ git log 237d818e8..1533266ea --date=short --no-merges --format='%ad %ae %s'
2020-04-08 lionel.g.landwerlin Validate blending on color attachment without blending support
2020-03-03 mark scripts: Some validation-stats cleanup and update
2020-04-09 petr_kraus tests: Remove mock workarounds for vkAcquire
2020-04-09 s.fricke layers: Update AHB to Android Q and better logging
2020-04-14 mark test: Temporarily disable AHBCreateImageView test
2020-04-13 jzulauf layers: Add missing WaitSemaphores (KHR/not) entry
2020-04-13 petr_kraus layers: Add missing instance chassis locks
2020-04-06 s.fricke tests: Add support for VUID 02261 and 02262
2020-04-06 s.fricke layers: Add support for VUID 02261 and 02262
2020-04-06 s.fricke layers: Fix general external AHB tracking
2020-04-09 peter.griffin layers: Silence expected GCC warning
2020-04-09 rgarcia layers: Take separate stencil usage flags into account
2020-04-13 mark practices: Fix typo in message output
2020-04-10 mark practices: Avoid VertexInputState checks when using mesh shdrs
2020-04-10 mark tests: Revert "Remove MockICD workarounds in instanceless"
2020-04-10 charles docs: Suggest disabling validation with debug printf
2020-04-09 shannon build: Update known-good files for 1.2.137 header
2020-04-10 mark scripts: Allow clean-repo to work on empty directories
2020-04-10 mark tests: Fix rebasing error in multi-instance test
2020-04-09 mark corechecks: Stringstream can take strings natively
2020-04-09 mark layers: Removed redundant helper function
2020-04-09 mark corechecks: Normalize stringstream message output
2020-04-09 mark layers: Update FormatHandle to use stringstream
2020-04-09 mark corechecks: Fixed bad handle formats in descriptor_sets
2020-04-05 petr_kraus tests: Add multiple instance creation test
2020-04-08 petr_kraus tests: Remove MockICD workarounds in instanceless
2020-04-07 petr_kraus tests: Simplify device extension filtering
2020-04-07 petr_kraus tests: Expect VK_INCOMPLETE from pd enumeration
2020-04-04 petr_kraus tests: Remove commented code and issues
2020-03-31 petr_kraus tests: Add some instance checks
2020-04-02 petr_kraus tests: Refactor the test framework
2020-04-10 lionel.g.landwerlin Add validation for new performance query reset VUID 02863
2020-02-18 lionel.g.landwerlin Rework performance query validation
2020-02-18 lionel.g.landwerlin layers: record reset queries in state tracker
2020-04-10 lionel.g.landwerlin tests: fix incorrect/missing reset of performance queries
2020-04-09 mikes scripts: update_deps.py always pass -A on Windows
2020-04-09 mark scripts: Fix --clean-repo for read-only files
2020-04-07 mark build: Add blurb for using update_deps to change architectures
2020-04-08 s.fricke tests: Add disjoint bindImageMemory VUID
2020-04-08 s.fricke tests: Move tests to BindInvalidMemoryYcbcr
2020-04-08 s.fricke layers: Add disjoint bindImageMemory VUID
2020-04-09 s.fricke Add Documentation about writing tests
2020-04-09 mikes scripts: BP skip vkEnumerateInstanceVersion
2020-04-07 tony layers: Don't remove container contents during iteration
2020-04-07 mikes layers: Fix operator= recursion
2020-04-06 mikes layers: GCC -Wignored-qualifiers warning
2020-04-06 mikes layers: GCC -Wdeprecated-copy warning
2020-04-06 s.fricke tests: Add PhysicalDeviceFormatProperties2 for Device Profile API
2020-04-03 tony tests: Fix extraneous errors
2020-04-03 tony layers: Fix error message
(...)
2019-11-01 camden CMake: Add vklayertests_best_practices.cpp to CMake
2019-11-01 camden layers: Remove DrawCmd perf warning from Buf Val
2019-10-16 camden layers: Add DrawCmd perf warning to Best Practices
2019-11-12 mark tests: Verify reset/use of qpool in different command buffers
2019-11-13 mark corechecks: Enable querystate tracking across multiple submitInfos
2019-11-12 tony tests: Add mechanism to deal with duplicate errors
2019-11-11 mark tests: Add secondary CB VkSubmitInto validation check
2019-11-11 mark corechecks: Add secondary CB VU check
2019-11-11 mark corechecks: Fix propagation of skip in CB state validation
2019-11-12 mark build: Add VUID coverage text file to AppVeyor artifacts
2019-10-28 pdaniell tests: Add tests for VK_KHR_separate_depth_stencil_layouts
2019-10-16 PDANIELL layers: Add support for VK_KHR_separate_depth_stencil_layouts
2019-11-05 shannon build: Update known-good for 1.1.127 header
2019-11-04 jbolz layers: Update ValidateShaderStageInputOutputLimits to new spec rules
2019-11-01 mark cmake: Restore creation of standard validation json file
2019-08-21 jmacnak tests: Add RT shader group tests
2019-08-21 jmacnak layers: Add RT shader group validation
2019-10-30 mikes tests: Add macOS loader filename
2019-10-25 locke tests: Swapchain image layout
2019-10-28 locke layers: Swapchain pluarl bound_images
2019-09-27 tony gpu: Add more positive tests
2019-10-29 mark tests: Remove android limits workaround
2019-10-28 mark tests: Allow hw limits to override baked-in test GL limits
2019-10-28 bob Android: Make tests more reliable
2019-10-25 shannon build: Update known-good commits for SDK 126
2019-10-09 jeremy layers: Fix attachment unused false positive
2019-10-23 mark tests: Exclude GetomInputOutputComps limit test from Android
2019-10-23 mark tests: Fix filter key for shaderc failure messages
2019-10-16 camden layers: best_practices-Fix MemoryFree Exception
2019-10-16 camden layers: Initialize numMemObjects in BP
2019-08-16 jeremy layers: Validate specialization constants
2019-10-11 jeremy build: Update glslang
2019-10-24 mark layers: Removed obsolete layer-specific readme file
2019-10-24 mark docs: Add layer configuration doc, shared with the SDK
2019-10-23 jbolz tests: Add tests for externsync descriptorset updates
2019-10-23 jbolz layers: Relax UPDATE_AFTER_BIND externsync rules in ThreadSafety
2019-10-23 bob tests: Don't filter logcat messages
2019-10-21 shannon build: Update known-good for 1.1.126 header
2019-10-22 jbolz tests: Test CmdTraceRays with no descriptor set bound
2019-10-22 jbolz layers: Add PreCallValidateCmdTraceRaysNV
2019-10-07 locke tests: Catch the error in QueueSubmit
2019-09-30 locke layers: Check in QueueSubmit
2019-09-26 locke layers: Validate DescriptorSet Binding data
2019-10-20 jbolz tests: Add tests for ValidateEventStageMask
2019-10-20 jbolz layers: Move event/query Updates to PostCallRecordQueueSubmit
2019-09-26 jessehall layers: Check exts against required core versions
2019-09-25 jessehall layers: Add VK_KHR_spirv_1_4 validation
2019-10-17 mikes build: Add missing X11 option to GN overrides
2019-10-17 tobine build:Add VK_USE_PLATFORM_XLIB_KHR for x11
2019-10-03 emanuele.dallalonga corechecks: Fix ValidateImageBarrierAttachment resource search

Created with:
  roll-dep third_party/vulkan-headers third_party/vulkan-validation-layers

Bug: dawn:388

Change-Id: I5cefd0511af937897291644acb266f20efec66cc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19721
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-16 17:24:16 +00:00
Corentin Wallez f941205370 Use new gmock MOCK_FUNCTION macro.
Bug: None
Change-Id: If436fbf5c2392051caeadfc4a7482544d565b597
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19720
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-16 16:39:06 +00:00
Corentin Wallez d3bbcc3334 Correctly support setSubData of 0 bytes.
DynamicUploader/RingBuffer were incorrectly assuming that they could not
get empty allocation requests. Fix this and add a test.

The test also surfaced a bug in the Metal backend where the command
recording context could be left with a blit encoder open that was not
properly handled on device shutdown.

Bug: chromium:1069076
Change-Id: I9793b37142bd509254ce2894fa9f6208e9a68048
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19291
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-04-16 09:51:26 +00:00
Victor Costan 0721c1cf2a Roll third_party/googletest/ 5ec7f0c4a..e3f0319d8 (460 commits)
5ec7f0c4a1..e3f0319d89

This CL also rolls the Chromium //testing dependency, which is coupled
with googletest.

$ git log 5ec7f0c4a..e3f0319d8 --date=short --no-merges --format='%ad %ae %s'
2020-04-01 absl-team Googletest export
2020-03-30 absl-team Googletest export
2020-03-23 absl-team Googletest export
2020-03-24 krystian.kuzniarek remove chapters on Autotools, Meson and plain Makefiles
2020-03-24 krystian.kuzniarek remove dead code in googletest-output-test
2020-03-24 pkryger Swap settimer and sigaction calls to avoid SIGPROF
2020-03-20 absl-team Googletest export
2019-07-11 adam.f.badura Add support for std::function in MockFunction (#2277)
2019-12-26 adam.f.badura Add tests for MockFunction deduction (#2277)
2020-03-17 absl-team Googletest export
2020-03-16 dmauro Googletest export
2020-03-13 absl-team Googletest export
2020-03-06 absl-team Googletest export
2020-03-03 absl-team Googletest export
2020-03-03 absl-team Googletest export
2020-03-11 romain.geissler Make sure IsATTY does not clobber errno.
2020-02-27 absl-team Googletest export
2020-02-25 absl-team Googletest export
2020-02-19 absl-team Googletest export
2020-02-21 johan.mabille Fixed warnings
2020-02-12 absl-team Googletest export
2020-02-11 absl-team Googletest export
2020-02-11 absl-team Googletest export
2020-02-10 absl-team Googletest export
2020-02-10 absl-team Googletest export
2020-02-07 absl-team Googletest export
2020-02-07 absl-team Googletest export
2020-02-06 durandal Googletest export
2020-02-05 absl-team Googletest export
2020-02-05 absl-team Googletest export
2020-02-03 absl-team Googletest export
2020-02-03 absl-team Googletest export
2020-01-31 absl-team Googletest export
2020-01-31 absl-team Googletest export
2020-01-29 absl-team Googletest export
2020-01-27 absl-team Googletest export
2020-01-27 absl-team Googletest export
2020-01-27 absl-team Googletest export
2020-01-24 absl-team Googletest export
2020-01-24 absl-team Googletest export
2020-01-23 absl-team Googletest export
2020-01-29 krystian.kuzniarek remove a dead reference to the Autotools script
2020-01-21 absl-team Googletest export
2020-01-17 absl-team Googletest export
2020-01-16 absl-team Googletest export
2020-01-15 absl-team Googletest export
2020-01-15 absl-team Googletest export
2020-01-14 absl-team Googletest export
2020-01-14 absl-team Googletest export
2020-01-14 absl-team Googletest export
(...)
2019-03-15 Tobias_Mueller Remove old_crtdbg_flag_ member if not required
2019-03-15 seth.raymond DesignDoc Markdown table was broken
2019-03-04 absl-team Googletest export
2019-03-04 absl-team Googletest export
2019-02-28 absl-team Googletest export
2019-02-26 absl-team Googletest export
2019-03-01 carlo Minor build system fixes.
2019-02-25 absl-team Googletest export
2019-02-25 rsinnet Fix grammatical error in primer.md
2019-02-21 yaneurabeya Don't hardcode the filename in `CxxExceptionDeathTest.PrintsMessageForStdException`
2019-02-20 misterg Googletest export
2019-02-19 absl-team Googletest export
2019-02-20 dds Avoid array index out of range
2019-02-18 yaneurabeya Ignore `-Wsign-conversion` issues
2019-02-13 yaneurabeya Fix clang `-Wunused-parameter` warnings
2019-02-13 yaneurabeya Fix clang `-Winconsistent-missing-override` warnings
2019-02-13 yaneurabeya Fix clang `-Winconsistent-missing-override` warnings
2019-02-13 yaneurabeya Add `cxx_strict_flags` for clang to match FreeBSD's WARNS flags
2019-02-12 yaneurabeya Import `patch-bsd-defines` from FreeBSD ports [1]
2019-02-12 yaneurabeya Compile clang with `-Wall -Wshadow -Werror`
2019-02-12 yaneurabeya Fix -Wunused-private-field issues with clang
2019-02-12 misterg Googletest export
2019-02-07 absl-team Googletest export
2019-02-05 absl-team Googletest export
2019-02-04 absl-team Googletest export
2018-02-10 knut.omang Set gtest version correctly for older cmake versions
2018-02-25 knut.omang Generate a libgtest.la to help libtool managing dependencies
2016-12-23 jwakely Stop TestInfo::Run() calling a function through null pointer
2019-02-05 chrisjohnsonmail fix:  Correct *-all.cc file paths
2019-02-05 keiichiw Fix an invalid example of JSON report in advanced.md
2019-02-04 gennadiycivil Update .travis.yml
2019-02-04 gennadiycivil Update .travis.yml
2019-01-12 yaneurabeya Test out changes with clang/OSX each PR using Travis CI
2019-02-04 misterg Googletest export
2019-02-04 misterg Googletest export
2019-02-01 absl-team Googletest export
2019-02-04 maetugr cmake: detect Cygwin which needs extensions to build
2019-02-04 maetugr cmake: move global project definition to beginning
2019-01-31 absl-team Googletest export
2019-02-01 chrisjohnsonmail chore: Add PlatformIO supported platforms list
2019-01-31 chrisjohnsonmail fix: Add Arduino to embedded platform list
2019-01-31 chrisjohnsonmail fix: Add *_all.cc files to ignore list
2019-01-31 g4691821 Fix README.md broken link
2019-01-30 gennadiycivil Repeat #2090
2019-01-30 Kelly_G_Walker Update advanced.md casing in example
2019-01-29 gennadiycivil Added -Wgnu-zero-variadic-macro-arguments" clang
2019-01-28 hugo.lindstrom Avoid dynamic/static runtime linking (LNK4098) by properly replacing MD(d)->MT(d) in both C and CXX flags, resolves 2074
2019-01-22 samolisov Enable CI on Windows (appveyor) with Bazel
2019-01-18 mathbunnyru Fix INSTANTIATE_TEST_CASE_P with zero variadic arguments
2019-01-14 samolisov Enable building as a shared library (dll) on Windows with Bazel

Created with:
  roll-dep third_party/googletest

Bug: chromium:1070043
Change-Id: Ibc73c53226247ca8b0c9546b9c3c5713e9630879
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19521
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-15 20:06:27 +00:00
Corentin Wallez 15b9531cca Rolling 4 dependencies
Also fixes an uninitialized variable in tests.

Roll build/ f3d0ca5f4..896323eed (1627 commits; 2 trivial rolls)

f3d0ca5f46..896323eeda

$ git log f3d0ca5f4..896323eed --date=short --no-merges --format='%ad %ae %s'
2020-04-14 chromium-autoroll Roll Fuchsia SDK from 0.20200414.2.1 to 0.20200414.3.1
2020-04-14 sergey.kipet gtkui: Fix standalone Ozone/Wayland configuration
2020-04-14 gbiv Reland "compiler: remove `!is_android` from CrOS thinlto checks"
2020-04-14 wez [fuchsia] Add //fuchsia/SECURITY_OWNERS and per-file OWNERS using it.
2020-04-14 hypan android: Add emulator avd specific OWNERS files
2020-04-14 chromium-autoroll Roll Fuchsia SDK from 0.20200413.3.1 to 0.20200414.2.1
2020-04-14 hypan emulator: Add option "--debug-tags" for avd start
2020-04-14 chromium-autoroll Roll Fuchsia SDK from 0.20200413.2.1 to 0.20200413.3.1
2020-04-13 steveroe Reland "[fuchsia] Collect Fuchsia system logs from Chrome-Fuchsia tests."
2020-04-13 chromium-autoroll Roll Fuchsia SDK from 0.20200413.1.1 to 0.20200413.2.1
2020-04-13 chromium-autoroll Roll Fuchsia SDK from 0.20200412.2.1 to 0.20200413.1.1
2020-04-13 wez Revert "[cipd] Refactor CIPD template"
2020-04-13 hirokisato Revert "Manually roll chromite to pick up localhost vs VM fixes."
2020-04-13 chromium-autoroll Roll Fuchsia SDK from 0.20200412.1.1 to 0.20200412.2.1
2020-04-12 atyfto [cipd] Refactor CIPD template
2020-04-12 chromium-autoroll Roll Fuchsia SDK from 0.20200412.0.1 to 0.20200412.1.1
2020-04-12 chromium-autoroll Roll Fuchsia SDK from 0.20200410.3.1 to 0.20200412.0.1
2020-04-11 dmazzoni Re-enable some Android content_browsertests
2020-04-11 chromium-autoroll Roll Fuchsia SDK from 0.20200410.2.2 to 0.20200410.3.1
2020-04-10 cduvall Revert "Use .r8dex.jar and .mergeddex.jar rather than .dex.zip"
2020-04-10 bpastene Manually roll chromite to pick up localhost vs VM fixes.
2020-04-10 chromium-autoroll Roll Fuchsia SDK from 0.20200409.3.1 to 0.20200410.2.2
2020-04-10 leuisken fix vs%s_install environment variable
2020-04-10 huangs [Build] print_python_deps.py: Use importlib.util for Python 3.
2020-04-10 chromium-autoroll Roll Fuchsia SDK from 0.20200409.2.1 to 0.20200409.3.1
2020-04-10 nhiroki Revert "Android: Use lint from cmdline-tools"
2020-04-10 wnwen Android: Use lint from cmdline-tools
2020-04-09 chromium-autoroll Roll Fuchsia SDK from 0.20200409.1.1 to 0.20200409.2.1
2020-04-09 bsheedy Optimize Android Skia Gold code
2020-04-09 agrieve Use .r8dex.jar and .mergeddex.jar rather than .dex.zip
2020-04-09 chromium-autoroll Roll Fuchsia SDK from 0.20200409.0.1 to 0.20200409.1.1
2020-04-09 ddorwin [Fuchsia] Add ddorwin to OWNERS
2020-04-09 huangs [Build] extract_unwind_tables.py: Remove temp file usage.
2020-04-09 chromium-autoroll Roll Fuchsia SDK from 0.20200407.1.1 to 0.20200409.0.1
2020-04-08 jeffyoon [ios] moving test runner xcode version to //testing/buildbot
2020-04-08 agrieve Android: Always run Desugar.jar as well as d8 desugaring
2020-04-08 akiss Add use_external_fuzzing_engine build argument
2020-04-08 wnwen Android: Use dots to distinguish java build steps
2020-04-08 agrieve apk_operations.py: Don't look for .mapping file for release builds
2020-04-08 hypan emulator: add "--dry-run" option for avd create
2020-04-08 wez [fuchsia] Migrate cr_package_fuchsia() to use SDK-provided rules.
2020-04-08 vasilyt Reland "Build: remove resource_dirs support"
2020-04-08 spang Revert "[fuchsia] Migrate cr_package_fuchsia() to use SDK-provided rules."
2020-04-07 agrieve Add more logging to compile_resources.py
2020-04-07 agrieve Add a \n to the end of AndroidManifest.expected
2020-04-07 chromium-autoroll Roll Fuchsia SDK from 0.20200407.0.1 to 0.20200407.1.1
2020-04-07 chromium-autoroll Roll Fuchsia SDK from 0.20200406.3.1 to 0.20200407.0.1
2020-04-07 brucedawson Better asserts on missing files during gn gen
2020-04-07 chromium-autoroll Roll Fuchsia SDK from 0.20200406.2.3 to 0.20200406.3.1
2020-04-06 xhwang media: Remove enable_mojo_media gn arg
(...)
2019-08-14 pcc Only link against libandroid_support on 32-bit platforms.
2019-08-14 thakis win: Remove msvc_use_absolute_paths gn arg.
2019-08-14 agrieve Android: Remove use_r8 flag and respect proguard_jar_path when set.
2019-08-14 robliao Start A List of Areas to Consider when Updating the Windows SDK
2019-08-14 hans Roll clang 365097:368742.
2019-08-14 aluo Make chrome smoke test self-testing and fix launch intent flags.
2019-08-14 chromium-autoroll Roll Fuchsia SDK from 890518145943 to 890514841981
2019-08-14 chromium-autoroll Roll Fuchsia SDK from 890520283089 to 890518145943
2019-08-14 svillar Fix build with BLINK_ANIMATION_USE_TIME_DELTA enabled
2019-08-14 ntfschr apk_operations: allow downgrade for bundle installs
2019-08-14 wez [Fuchsia] Remove legacy constant names from FIDL/JS.
2019-08-14 chromium-autoroll Roll Fuchsia SDK from 890523177803 to 890520283089
2019-08-13 wez [Fuchsia] Update FIDL/JS generator for 64-bit method ordinals.
2019-08-13 chromium-autoroll Roll Fuchsia SDK from 890525926525 to 890523177803
2019-08-13 chromium-autoroll Roll Fuchsia SDK from 890528724273 to 890525926525
2019-08-13 chromium-autoroll Roll Fuchsia SDK from 890530860946 to 890528724273
2019-08-13 wez Revert "Reland "[Fuchsia] Make hardware boot image downloading opt-in by .gclient.""
2019-08-13 kmarshall Reland "[Fuchsia] Make hardware boot image downloading opt-in by .gclient."
2019-08-12 chromium-autoroll Roll Fuchsia SDK from 890533504707 to 890530860946
2019-08-12 agrieve Android: Delete last references to "resource_rewriter" .build_config type
2019-08-12 justincohen Reland "[ios] Goma use is forbidden for official iOS builds."
2019-08-12 justincohen Revert "[ios] Goma use is forbidden for official iOS builds."
2019-08-12 thakis clang docs: mention llvm_force_head_revision
2019-08-12 chromium-autoroll Roll Fuchsia SDK from 890536058498 to 890533504707
2019-08-12 chromium-autoroll Roll Fuchsia SDK from 890539920088 to 890536058498
2019-08-12 huangs [DevUI DFM] Add BUILDFLAG(DFMIFY_DEV_UI).
2019-08-12 sidereal Revert "Reland "Roll clang 365097:368354.""
2019-08-11 chromium-autoroll Roll Fuchsia SDK from 890541741734 to 890539920088
2019-08-11 chromium-autoroll Roll Fuchsia SDK from 890544660006 to 890541741734
2019-08-11 chromium-autoroll Roll Fuchsia SDK from 890547849076 to 890544660006
2019-08-11 chromium-autoroll Roll Fuchsia SDK from 890550071829 to 890547849076
2019-08-10 thakis Revert "clang tot bots: Disable Wdangling-field"
2019-08-10 chromium-autoroll Roll Fuchsia SDK from 890552937159 to 890550071829
2019-08-10 chromium-autoroll Roll Fuchsia SDK from 890555439656 to 890552937159
2019-08-10 chromium-autoroll Roll Fuchsia SDK from 890557346683 to 890555439656
2019-08-10 kmarshall Revert "[Fuchsia] Make hardware boot image downloading opt-in by .gclient."
2019-08-10 thakis clang tot bots: Disable Wdangling-field
2019-08-10 kmarshall [Fuchsia] Make hardware boot image downloading opt-in by .gclient.
2019-08-09 rnk Reland "Roll clang 365097:368354."
2019-08-09 thakis mac: Create all parent directories of build/mac_files/xcode_binaries
2019-08-09 chromium-autoroll Roll Fuchsia SDK from 890560294264 to 890557346683
2019-08-09 sclittle Revert "Roll clang 365097:368354."
2019-08-09 rnk Roll clang 365097:368354.
2019-08-09 thomasanderson Switch Linux/Ozone to build with GTK
2019-08-09 justincohen [ios] Goma use is forbidden for official iOS builds.
2019-08-09 thakis mac: Stop downloading full hermetic Xcode.
2019-08-09 cliffsmo Add delayloads for full browser test libraries
2019-08-09 thakis clang tot bots: Disable Wreturn-stack-address
2019-08-09 chromium-autoroll Roll Fuchsia SDK from 890562890212 to 890560294264
2019-08-09 chromium-autoroll Roll Fuchsia SDK from 890565823233 to 890562890212

Roll buildtools/ 74cfb5700..2c41dfb19 (26 commits; 1 trivial rolls)

74cfb57006..2c41dfb19a

$ git log 74cfb5700..2c41dfb19 --date=short --no-merges --format='%ad %ae %s'
2020-03-30 tvanderlippe Update clang-format version to eb85e90350e
2020-03-23 brettw Roll GN from 9499562d..5ed3c9cc
2020-03-12 agrieve Roll GN from fd3d768b..9499562d
2020-03-10 thakis roll gn 4166e9fbc1f..fd3d768bcfd4
2020-02-29 xiaohuic Clean up buildtools repo migration code
2020-02-24 thakis Revert "Roll libunwind 43bb9f8722..d999d54f4b"
2020-02-21 thakis Roll libunwind 43bb9f8722..d999d54f4b
2020-02-21 seblalancette Roll GN from 97cc440d..4166e9fb
2020-02-21 bpastene Reland: Pull libunwind, libcxx, libcxxabi from a different mirror.
2020-02-19 bpastene Revert "Pull libunwind, libcxx, libcxxabi from a different mirror."
2020-02-19 thakis Pull libunwind, libcxx, libcxxabi from a different mirror.
2020-01-28 thakis Roll GN 83dad00a:97cc440d
2020-01-28 thakis Reformat remaining gn files.
2020-01-21 sdefresne Roll GN 0c5557d173..83dad00afb
2020-01-16 thakis Reformat all gn files in /buildtools/third_party/libc++.
2020-01-16 felipesalazar Include cxa_thread_atexit on linux targets.
2020-01-13 thakis Roll GN a5bcbd726a..0c5557d17
2020-01-08 bpastene Update //buildtools/README.txt after it was merged into chromium.
2019-12-31 agable Roll GN from 6feb5599..a5bcbd72
2019-12-13 chouinard Roll GN from ad9e442d..6feb5599
2019-11-18 xiaohuic Reland: Roll src/buildtools/third_party/libc++/trunk/ 5938e0582..78d6a7767 (333 commits)
2019-10-28 xiaohuic Revert "Roll src/buildtools/third_party/libc++/trunk/ 5938e0582..78d6a7767 (333 commits)"
2019-09-13 hnakashima Add exception for libassistant to import checker.
2019-09-10 dpranke Add a COMPONENT entry (Build) for //buildtools.
2019-09-10 dpranke Roll GN from 152c5144..ad9e442d

Roll third_party/binutils/ 01aa7745b..f9ce77769 (2 commits)

01aa7745b0..f9ce777698

$ git log 01aa7745b..f9ce77769 --date=short --no-merges --format='%ad %ae %s'
2020-04-03 adetaylor Adding CPEPrefixes for more dependencies.
2019-10-07 efoo Add "# COMPONENT" to OWNERS files

Roll tools/clang/ 3605577b6..698732d5d (129 commits)

3605577b67..698732d5db

$ git log 3605577b6..698732d5d --date=short --no-merges --format='%ad %ae %s'
2020-04-10 aeubanks Point TODOs at newer bug
2020-04-09 inglorion goma_link: Add more unit tests, split from integration tests
2020-04-09 johannkoenig remove GarbageCollectedFinalized plugin flag
2020-04-09 jabolopes Fix garbled diff output in clang test tool.
2020-04-08 inglorion goma_link_tests: Require Python 3
2020-04-03 aeubanks Revert "Use urllib instead of curl"
2020-04-03 aeubanks Use urllib instead of curl
2020-04-03 hans Clang package: build with -DLIBCXX_ENABLE_{SHARED,STATIC}=OFF
2020-04-02 akhuang Reland "clang build.py: change LLVM_ENABLE_ZLIB from ON to FORCE_ON"
2020-04-01 bikineev blink_gc_plugin: Add check for WeakPtrs to GCed objects
2020-03-31 bikineev blink_gc_plugin: Change RefPtr to scoped_refptr
2020-03-31 hans Roll clang n345938-a1762f9c-1 : n346557-4e0d9925-1.
2020-03-29 jdoerrie [clang tools] Don't print edit lines when no replacements exist
2020-03-26 rnk Update clang blink gc plugin test expectations
2020-03-25 agable Revert "clang build.py: change LLVM_ENABLE_ZLIB from ON to FORCE_ON"
2020-03-25 akhuang clang build.py: change LLVM_ENABLE_ZLIB from ON to FORCE_ON
2020-03-24 thakis Roll clang n345635-5d881dd8-1 : n345938-a1762f9c-1.
2020-03-20 inglorion goma_link_tests: Add test for -gsplit-dwarf
2020-03-19 hans Roll clang n344329-9284abd0-6 : n345635-5d881dd8-1.
2020-03-18 inglorion Update goma_link_tests to look for '<func>' instead of 'func'
2020-03-15 thakis Revert "Change to download and build zlib every time, in case a bot happens to die during a build"
2020-03-14 inglorion Pass -g* flags to code generation in distributed ThinLTO
2020-03-14 akhuang Change to download and build zlib every time, in case a bot happens to die during a build
2020-03-13 aeubanks Create new branch at origin/master, don't specify -r in git cl try
2020-03-13 akhuang Clang build.py: add zlib to linker search path so that cmake can find it
2020-03-12 hans Clang packaging script: don't do separate threads-enabled and disabled builds
2020-03-11 thakis clang build: enable in-process cc1 at clang build time instead of with a compiler flag.
2020-03-10 thakis Make run_tool.py less spammy after /showIncludes:user change.
2020-03-09 hans Clang packaging script: don't build lld with thinlto
2020-03-06 hans Revert "IWYU for bind/callback_helpers.h and ptr_util.h"
2020-03-06 thakis Roll clang n343707-61f538d3-1 : n344329-9284abd0-1.
2020-03-06 gab IWYU for bind/callback_helpers.h and ptr_util.h
2020-03-05 rnk Blink GC plugin: Fix tests after addition of const qual
2020-03-04 omerkatz heap: Make all TraceAfterDispatch methods const
2020-02-27 ehsankia Remove infrastructure for multiple extractor backend.
2020-02-26 hans Roll clang n341867-c2900381-1 : n343707-61f538d3-1.
2020-02-18 omerkatz heap: Add omerkatz@ as GC and GC plugin owner
2020-02-10 inglorion Fix fallback logic in goma_ld.py
2020-02-09 thakis Roll clang n340759-eaabaf7e-2 : n341867-c2900381-1.
2020-02-05 inglorion Correct fallback and mtime in distributed ThinLTO scripts
2020-02-04 akhuang Use zlib to build LLVM on Windows.
2020-02-04 inglorion Add scripts for distributed ThinLTO
2020-02-03 keishi blink_gc_plugin: Handle TraceIfNeeded for resolved T
2020-01-31 thakis clang upload script: Use Cq-Include-Trybots: for internal bots too.
2020-01-30 thakis clang upload script: Move list of bots from docs to Cq-Include-Trybots:.
2020-01-29 thakis Fix some more compile errors after upstream 777180a32b6107 in blink clang plugin
2020-01-29 thakis Fix some compile errors after upstream 777180a32b6107 in blink clang plugin
2020-01-29 thakis Fix some clang tool compile errors after upstream 777180a32b6107
2020-01-29 hans Roll clang n332890-c2443155-2 : n340759-eaabaf7e-1.
2020-01-28 enga Revert "Roll clang n332890-c2443155-2 : n340584-68051c12-1."
(...)
2019-11-15 hans Remove tools/clang/scripts/download_lld_mac.py
2019-11-15 hans Remove tools/clang/scripts/download_objdump.py
2019-11-11 hans Add UBSan runtime to the Mac Clang package
2019-11-05 thakis win: upload pdb for clang_rt.asan_dynamic-x86_64.dll to symbol server.
2019-11-05 hans Clang update.py: Add --package option
2019-10-30 johnchen Revert "Roll clang 373424-64a362e7-1 : n330255-55c223a7-1."
2019-10-29 hans Roll clang 373424-64a362e7-1 : n330255-55c223a7-1.
2019-10-24 hans Make upload_revision.py do a git checkout so it can get the commit count
2019-10-24 Taylor.Woll Add libclang package to sit alongside prebuilt LLVM binaries
2019-10-22 hans Clang build.py: LLVM no longer has SVN revision numbers
2019-10-15 hans Clang package.py: Don't run 'git diff' before building
2019-10-15 hans Clang build.py: Nuke the source dir if there is a local diff
2019-10-15 mlippautz heap: Add bikineev@ as GC and GC plugin owner
2019-10-03 thakis clang upload script: include full svn-git-sub triple in generated cl text.
2019-10-02 thakis Roll clang 372314:373424.
2019-09-25 rnk Fix crbug number in comment for 962988
2019-09-24 nicolaso Reland: "[Traffic Annotation] Remove function_context from extractor output"
2019-09-24 raul tools/: Convert uses of has_key
2019-09-24 hans Fix process-graph.py after #698787, take 2
2019-09-24 hans Fix process-graph.py after #698787
2019-09-23 hans Build Clang using profile-guided optimization on Windows
2019-09-22 raul tools: Use Python 3 style print statements [2/9]
2019-09-20 hans Roll clang 371856:372314.
2019-09-20 bikineev blink_gc_plugin: Remove GCFinalized and related diagnostics
2019-09-16 thakis Roll clang 371202:371856.
2019-09-13 mlippautz gc-plugin: Add mlippautz as owner
2019-09-12 tandrii Specify -B <bucket> where to trigger optional tryjobs.
2019-09-12 bikineev blink_gc_plugin: Check for correct use of CRTP
2019-09-12 bikineev Change clang subrevision to reflect changes in blink-gc-plugin
2019-09-11 bikineev blink_gc_plugin: Add no-gc-finalized options
2019-09-06 thakis Roll clang 370156:371202.
2019-09-05 thakis Roll clang 369647:370156.
2019-09-02 mlippautz [Stack Map Artefact] Add compiler plugins needed for safepoints
2019-09-01 thakis Fix Wfinal-dtor-non-final-class in plugin tests.
2019-08-29 contact Update BaseBindRewriters to convert base::BindRepeating to base::BindOnce
2019-08-28 hans Build clang with gcc 5.3.0 on Linux
2019-08-28 jakehughes [Stack Map Artefact] Introduce moving heap and root relocation
2019-08-28 jakehughes Layout initial experimental stack map gc design
2019-08-23 medinaandres Added revision to build_clang_tools_extra.py
2019-08-22 hans Roll clang 365097:369647.
2019-08-20 thakis clang upload script: Skip presubmits on upload.
2019-08-17 thakis clang: Attempt to fix plugin compilation after llvm r369130.
2019-08-16 hans Clang build script: Remove NDK r16 workaround
2019-08-15 jmadill Revert "Roll clang 365097:368742."
2019-08-14 hans Roll clang 365097:368742.
2019-08-12 sidereal Revert "Reland "Roll clang 365097:368354.""
2019-08-09 rnk Reland "Roll clang 365097:368354."
2019-08-09 sclittle Revert "Roll clang 365097:368354."
2019-08-09 rnk Roll clang 365097:368354.
2019-08-09 thakis clang mac tot bots: Stop setting DEVELOPER_DIR.

Created with:
  roll-dep build buildtools third_party/binutils tools/clang

Bug: None

Change-Id: Ice39068a904341972861759771f4793ea2aa694b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19601
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-15 19:58:17 +00:00
Corentin Wallez 3d9fe4a61d Roll third_party/SPIRV-Tools/ 7d65bce0b..61b7de3c3 (7 commits)
7d65bce0bb..61b7de3c39

$ git log 7d65bce0b..61b7de3c3 --date=short --no-merges --format='%ad %ae %s'
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)

Created with:
  roll-dep third_party/SPIRV-Tools

TBR=enga@chromium.org
Bug: None

Change-Id: Id5d6a7e37da1225164bcaad4891e106c8c9c8628
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19660
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-15 19:04:17 +00:00
Austin Eng ba72944d3d dawn_wire: Validate all objects are from the same device in the client
This is a temporary fix until dawn_wire can support multiple devices.
When using objects from different devices, the wire will inject an
error into the receiver object's device. Methods that return objects
will return a dummy object. Using the dummy object will cause a fatal
error on the server.

Without this fix, the server would blindly lookup an ObjectId which
could point to some other object. This would bypass same-device
validation and have incorrect results.

Bug: dawn:383
Change-Id: I898f07d4b26f2a97ef952b82af488e7f807c36f0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19261
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-04-15 17:58:25 +00:00
Corentin Wallez 0ff7ed41ec Remove CreateBufferMappedAsync
The upstream WebGPU spec decided to not pursue CreateBufferMappedAsync,
and it adds some complexity to Dawn, so we remove it.

Bug: dawn:22
Change-Id: I4182a90c4a1aa0bfbaecd7d8f67d7049cf5df5d6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/17321
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-04-15 13:53:15 +00:00
Corentin Wallez e3f44e3cd6 ShutDownBase, only tick frontend facilities if they have been created
Bug: chromium:1068886
Bug: chromium:1068887
Change-Id: Ifbec86d806a9e03a7cf029824349a6f94b9fe63c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19290
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-15 10:07:25 +00:00
Corentin Wallez cd586a92e8 Null: Properly fake commands being completed on WaitForIdle
Bug: chromium:1068465
Change-Id: I7c01b1c4fed2424a53d30b7e53dabf4d74ed4a73
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19288
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-15 09:56:55 +00:00
Austin Eng 93bea5cb50 Add WireClient::Disconnect to stop serializing commands
This prevents the client from continuing to send commands
when the wire connection has dropped. In Chromium this may
be because the connection to the GPU process is lost and the
transfer buffer may be destroyed.

This CL also adds a new helper to make testing callbacks
with mocks easier.

Bug: chromium:1070392
Change-Id: I6a69c32cc506069554ead18ee83a156ca70e2ce2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19160
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-04-15 02:00:14 +00:00
Ryan Harrison beaaa5a601 Rolling 5 dependencies
Roll third_party/SPIRV-Tools/ e95fbfb1f..7d65bce0b (12 commits)

e95fbfb1f5..7d65bce0bb

$ git log e95fbfb1f..7d65bce0b --date=short --no-merges --format='%ad %ae %s'
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)

Roll third_party/glslang/ b5757b950..4d2298bfd (5 commits)

b5757b9500..4d2298bfd7

$ git log b5757b950..4d2298bfd --date=short --no-merges --format='%ad %ae %s'
2020-04-13 cnorthrop Support multiple swizzled out operands (#2175)
2020-04-12 cepheus Fix #2178: Allow specialization constants for texel offsets.
2020-04-10 h.baensch.92 Get rid of all warnings with MSVC and clang-cl (#2177)
2020-04-08 40001162+alelenv Add support for EXT_ray_flags_primitive_culling. (#2173)
2020-04-07 cepheus Error message: Finish addressing #2097, better texture error message.

Roll third_party/shaderc/ 802636496..1926de063 (1 commit)

8026364968..1926de0638

$ git log 802636496..1926de063 --date=short --no-merges --format='%ad %ae %s'
2020-04-09 rharrison Remove ambiguity in comment of pointer vs Klein star for * (#1037)

Roll third_party/spirv-cross/ 6637610b1..54658d625 (3 commits)

6637610b16..54658d6255

$ git log 6637610b1..54658d625 --date=short --no-merges --format='%ad %ae %s'
2020-04-10 cdavis MSL: Add options to control emission of fragment outputs.
2020-04-09 h.baensch.92 Improve compatibility with clang-cl
2020-04-07 post MSL: Do not use base expression with PhysicalTypeID OpCompositeExtract.

Roll third_party/spirv-headers/ f8bf11a02..2ad0492fb (1 commit)

f8bf11a025..2ad0492fb0

$ git log f8bf11a02..2ad0492fb --date=short --no-merges --format='%ad %ae %s'
2020-04-13 cepheus Discuss generator magic number reservations.

Created with:
  roll-dep third_party/SPIRV-Tools third_party/glslang third_party/shaderc third_party/spirv-cross third_party/spirv-headers

Change-Id: I807bb9493fbe33cb3944fbc58eebb9975da01ec7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19520
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-04-14 18:40:34 +00:00
Corentin Wallez 4bfc1539c3 Make a static const variable constexpr in BitSetIterator
This was found during some changes in Google3.

Also renames BitsPerWord to kBitsPerWord.

Bug:
Change-Id: I80cfe3a391963c2da376a7d8eadfc2797df01894
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19286
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-04-14 18:15:14 +00:00
Corentin Wallez 797fa62b91 Remove temporary GN proxy groups.
It also changes remaining deps for internal targets
from libdawn_proc to dawn_proc.

Bug: chromium:1064305
Change-Id: I36df2b5d7793be9d6c878b6a1f2ec238603a8205
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19289
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-04-14 17:36:44 +00:00
Yunchao He 81091b7434 Add more resource binding related validation tests
This change adds more resource binding related tests to clarify some
validation rules.

Bug: dawn:359

Change-Id: I16eca96c22c0d5f3f16dce5151bcabfd04d28349
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18940
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
2020-04-14 17:15:24 +00:00
Zhenyao Mo 37193aa3b3 Roll glm 06f084063..bf71a8349 and turn on -Wextra-semi-stmt.
06f084063...bf71a8349

Bug: chromium:1064305
Change-Id: Id656cbc07b8a59a3485ebf08e806635514069109
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19480
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-04-14 16:20:14 +00:00
Corentin Wallez 8c8d16a1c5 BUILD.gn: Move dawn_end2end_tests to its final location
Bug: chromium:1064305
Change-Id: Ie51377301117a8ffbc6c21dc4c58349871bcf232
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19285
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-13 21:23:46 +00:00
Yunchao He 582e5284d0 Support none visibility binding in bind group
None visibility of shader stage bindings should be supported in
bind group. But Dawn can't support it. The patch fixed this issue.

Bug: dawn:385

Change-Id: I5b747abead24050b56b0fd0a9de561c87df4e36e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19340
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
2020-04-13 20:01:22 +00:00
Corentin Wallez 871651d999 Fix another -Wc++11-narrowing on ChromeOS
Bug: chromium:1064305
Change-Id: Id2650dd3dd4f6ec0baf97ab1d061eb908739940e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19284
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-13 18:04:11 +00:00
Austin Eng 518c8e77ab Cleanup: Rename dawn_wire Object "serial" to "generation"
This is a more accurate name and conflicts less with the callback
request serials.

Bug: none
Change-Id: I0f9660c24468064dadffb3ab9b3392d403f93c41
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19260
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-04-13 17:50:51 +00:00
Austin Eng 077a427499 Tombstone exhausted ObjectIds in the wire
It's possible though unlikely to overflow the generation for a given
ObjectId. If this happens, an object like a Buffer or Fence could begin
receiving callbacks for previously destructed objects. This CL makes it
so the client doesn't reuse ObjectIds once they've hit the max generation
number so overflow isn't possible.

Bug: dawn:381
Change-Id: I443c1c87d96614a95d1973e2bf18cd702c34b3f9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19240
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-04-13 17:11:22 +00:00
Corentin Wallez 3c31efc796 Metal: Fix MSAA workaround texture being leaked.
Bug: chromium:1070195
Change-Id: Ifb319d567f820bb4d3e9354d24b404bdb9617661
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19281
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-13 17:10:51 +00:00
Corentin Wallez 0543f78881 Fix -Wc++11-narrowing on ChromeOS
Bug: chromium:1064305

Change-Id: Ie34022633a708eb685138a3df004a65138139caf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19283
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-13 17:10:33 +00:00
Corentin Wallez b3f54318e7 Make dawn_native link against user32.lib on Windows
This is required for the call to the IsWindow function that's in
Surface.cpp.

Bug: chromium:1064305
Change-Id: I0c4a6ed17ba4aada994262d393de142de3f26144
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19282
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-13 17:09:52 +00:00
Zhenyao Mo 4fbd14badb Fix more compilation warnings.
Add -Wconditional-uninitialized -Wc++11-narrowing.

Bug: chromium:1064305
Change-Id: I1c1503cafaa2e58e990fc18998200af1f2c00d06
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19341
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-04-13 12:34:20 +00:00
Zhenyao Mo 5b7292c8f8 Fix more compilation warnings.
Bug: chromium:1064305
Change-Id: I3aac24f8179d2c9e5206dd4542ea2506f26755e9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19301
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@google.com>
2020-04-11 03:22:33 +00:00
Zhenyao Mo 8619cbe237 Fix two warnings.
1) size_t >= 0 is always true, and trigger a warning. This is fixed
in the code because I feel such warning is useful to catch bugs.

2) extra statements from TRACE. Also fixed.

Bug: chromium:1064305
Change-Id: I487ff38f6947554fd175a19148c6f2aaaf56ed37
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19300
Commit-Queue: Zhenyao Mo <zmo@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-04-10 19:04:42 +00:00
Bryan Bernhart 4f86505544 D3D12: Bucket CPU descriptor allocators on the device.
Move the CPU descriptor allocators to the device and bucket them to
ensure only kMaxBindingsPerGroup exist rather than create them per BGL.

Also, renames NonShaderVisible => Staging.

BUG=dawn:155

Change-Id: If6dae368e7e2a2b349343bdf898041a049159038
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19001
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-04-10 18:43:22 +00:00
Corentin Wallez 42450c6d1c Fix the CMake build because of CMP0077
Prior to CMake 3.12 option() is a cache variable operation which meant
that the overriding of third_party project variables in
third_party/CMakeLists.txt needs to write to the cache.

Also remove a couple extra commas that were causing warnings.

Bug: None
Change-Id: I35efce70cf3e0cb923ebdbad654b2b9883b8f734
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19280
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-10 17:04:31 +00:00
Corentin Wallez d11cc3961a Split third_party/BUILD.gn in per-project files.
Bug: chromium:1064305

Change-Id: I6fc2da97e20865b62ff34a9d1c3f42120ac90348
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19202
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-04-10 08:24:00 +00:00
Corentin Wallez b31015b836 Split examples, test and utils in their own BUILD.gn
The basic change was to copy-paste targets in the new BUILD.gn files and
fixup paths / add includes. There's a couple more changes that had to be
done at the same time:

 - Multiple files need to know if GLFW is supported so the variable was
moved to dawn_features.gni.
 - The gtest_and_gmock target used to abstract between Dawn's copy of
GTest/GMock is only needed by tests and was moved in src/tests/BUILD.gn.
 - A leftover dawn_end2end_tests target is left in the main BUILD.gn
file that is an exact copy of the on in src/tests/BUILD.gn. This is
because the GN path is hardcoded in Chromium's isolate_map.pyl that also
can't support GN groups. The only way to move a target I could figure
out was to duplicate it temporarily.

Bug: chromium:1064305
Change-Id: I96820e9d6510b8c9b9112c3e6cd8df2413f04287
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19201
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-04-10 08:20:10 +00:00
Brandon Jones ab2c84ffd2 Residency 6: Enable D3D12 Residency and Add Tests
Toggles on D3D12 residency management by default. Adds basic residency
tests.

Bug: dawn:193
Change-Id: Idafa4a6d0f8f4052fb3428ac3d5f6be018db68cf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/16385
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Brandon Jones <brandon1.jones@intel.com>
2020-04-09 23:31:02 +00:00
Brandon Jones 7be1d84975 Residency Bug: Make Setting Heap's Last Submission Serial Optional
When attempting to allocate more than Dawn's budget within a single
serial, all heaps in the LRU will be un-evictable because the last
submission serial is the same as the current serial. We can work
around this by instead using the LockHeap and UnlockHeap functions
instead of EnsureCanMakeResident when calling CreatePlacedResource.
Also added in some additional comments regarding the last submission serial.

Bug: dawn:193
Change-Id: Ie4ec7ed5350b0858ea817431fbf77df6ca8acd96
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18622
Commit-Queue: Brandon Jones <brandon1.jones@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
2020-04-09 23:28:22 +00:00
Austin Eng 26b7d8f6d7 Fix use-after-free if BindGroup is the last owner of its BindGroupLayout
Destruction of the BindGroup needs to ensure that the BindGroupLayout is
destroyed after the BindGroup. This is done by using a custom deleter which
first creates an extra reference to the BGL before deleting the BindGroup.

Bug: dawn:355
Change-Id: I819bbce13473ee4738eaa304f6dac90e0501302a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19060
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-04-09 21:22:12 +00:00
Corentin Wallez 6574f92747 Fix the @rpath of dawn_components
When the libdawn_native target was renamed to dawn_native, the output
library name stayed the same (GN inserts a lib prefix if it isn't
present) but the @rpath annotation changed to be just dawn_native.dylib.

Fix this by adding the lib prefix in the rpath annotation. This requires
changing libdawn_proc to dawn_proc otherwise the rpath annotation would
be liblibdawn_proc.dylib.

Bug: dawn:380
Change-Id: Id8610a6318af3468dcc486ee8d3c035f0273fe0d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19200
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2020-04-09 17:31:40 +00:00
Corentin Wallez 0074b6e710 Remove temporary GN groups after Chromium fix
Bug: chromium:1064305
Change-Id: I8e169de411500c4b618c0a91bb0d8fd0ffb490d5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19180
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-09 17:27:40 +00:00
Corentin Wallez 757d153d54 Fix UBO/SSBO OOB in ComputeStorageBufferBarrierTests
The test was failing on Swiftshader, likely because the allocations for
the SSBO and the UBO where neighbors. The UBO test uses uvec4 instead of
uint so it needs 4 times less invocations to perform the test.

Bug: dawn:283
Change-Id: Id1952505763a0a3eb34718e000cb386e1faa4ade
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19082
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2020-04-09 17:18:40 +00:00
Corentin Wallez d9c2e89ef1 Fix wgpu::WholeSize not being set correctly inside BindGroup
The only test where this can matter at the moment is the OpArrayLength
test, so one of the buffers tested is repurposed to test wgpu::WholeSize
with an offset.

Bug: dawn:377
Change-Id: I43f22f614dff55e399246c46892a865ec77f13c4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19080
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-09 12:17:00 +00:00
Corentin Wallez 989f139ceb Skip ViewportTest failing on Swiftshader.
The viewport tests assume sub-pixels precision when the Vulkan
specification explicitly allows for no subpixel precision.

Swiftshader seem to have only 4 bits of subpixel precision and fails
only this test surprisingly.

Bug: dawn:283
Change-Id: I77f6a6169a8fdff13448a612abdd4ab1dc42532e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19084
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-04-09 08:16:50 +00:00
Corentin Wallez d56b69f115 Skip Float16 TextureFormatTests on Swiftshader
Rendering +-INIFNITY with these formats results in a NaN when using
Swiftshader. Temporarily disable these tests while the Swiftshader issue
if being resolved.

Bug: dawn:283
Bug: swiftshader:147
Change-Id: I6e7c91ff72d0b4b6423175f5ab8586fdea42bb53
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19083
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-04-09 08:16:30 +00:00
Ryan Harrison 61e170b3c5 Propagate comparison sampler support from spvc
Roll third_party/shaderc/ f175adffa..802636496 (5 commits)

f175adffa9..8026364968

$ git log f175adffa..802636496 --date=short --no-merges --format='%ad %ae %s'
2020-04-07 rharrison Add concept of comparison sampler to API (#1036)
2020-04-06 rharrison Start shaderc v2020.1
2020-04-06 rharrison Finalize shaderc v2020.0
2020-04-06 rharrison Update CHANGES
2020-04-06 rharrison Rolling 5 dependencies and updating exceptions (#1035)

Created with:
  roll-dep third_party/shaderc

BUG=dawn:367

Change-Id: I10c80c2d5ac839eaa33765f845e8680ab759e3a8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19061
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-04-08 20:30:52 +00:00
Zhenyao Mo d9d9d1ec73 Make the Vulkan Validation Layers an optional dependency.
The build_overrides directory for the VVL will default to "" which
causes support for them to be skipped if the dependents don't set the
dawn_vulkan_validation_layers_dir variable.

Bug: chromium:1064305
Change-Id: I0a31f5d1d55982b5c953ce8ac6542d38829eedb5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19085
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@google.com>
2020-04-08 20:00:12 +00:00
Corentin Wallez 7119a0278d BUILD.gn: enable additional warnings.
Skia uses more warnings than Dawn, enable in Dawn directly so that
rolls of Dawn into Skia don't introduce warnings. These warnings
seem useful anyway.

Bug: chromium:1064305

Change-Id: I13dc776af84151131584a95caeee2cd21ae80fea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18964
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-04-08 16:04:32 +00:00
Corentin Wallez c08a0d40fc Roll third_party/swiftshader/ 51b2800bb..63ed0e445 (131 commits)
https://swiftshader.googlesource.com/SwiftShader/+log/51b2800bb317..63ed0e445fa5

$ git log 51b2800bb..63ed0e445 --date=short --no-merges --format='%ad %ae %s'
2020-04-07 bclayton Remove src/Device/Config.cpp
2020-04-07 bclayton Kokoro: Check that build files don't reference non-existent files
2020-04-07 bclayton Regres: Fix uncovered calculations after optimizations
2020-04-07 bclayton Regres: Optimize coverage processing
2020-04-07 bclayton Regres: Re-populate treeFile.allSpans on parse.
2020-04-07 bclayton Update third_party/marl/BUILD.gn with new files
2020-04-07 bclayton Squashed 'third_party/marl/' changes from 16e1dc37c..539094011
2020-04-06 bclayton Coverage: Improve uncovered visualizations
2020-04-06 sugoi Don't blend integer formats
2020-04-03 amaiorano Clamp GLES sine/cosine to [-1,1]
2020-04-03 sugoi Delete Plane.cpp and Plane.hpp
2020-04-04 bclayton CMake / Kokoro: Build and run system-unittests.
2020-04-04 bclayton Vulkan: Destruct the list of vk::Query in QueryPool
2020-04-03 amaiorano Really fix Android build
2020-04-03 amaiorano Fix Chromium and Android build
2020-04-03 bclayton Debug: Add missing include.
2020-04-03 bclayton Vulkan/Debug: Create a PhysicalFile if DebugSource has no content
2020-04-03 bclayton Vulkan/Debug: Always provide the dap::Source::path
2020-04-03 bclayton CMake: Don't always regenerate OpenCLDebugInfo100.h
2020-03-31 amaiorano CMake: use gtest and gmock targets
2020-03-30 amaiorano CMake: split out atsc-encoder into its own CMakeLists
2020-03-30 amaiorano CMake: clean up cppdap usage
2020-03-30 amaiorano CMake: split out Reactor into its own CMakeLists
2020-03-30 amaiorano CMake: split out boost into its own CMakeLists
2020-03-30 amaiorano CMake: split out libbacktrace into its own CMakeLists
2020-03-27 amaiorano CMake: split out subzero and llvm-subzero into their own CMakeLists
2020-04-03 bclayton Kokoro: Add the ppa:ubuntu-toolchain-r/test apt-repository
2020-03-30 capn Remove the D3D9 and D3D8 source code
2020-03-30 capn Remove the custom Visual Studio solution and projects
2020-04-02 capn Fix GN build
2020-04-01 bclayton Reactor: Fix remove_if brokenness
2020-04-02 capn Remove the sw::Color<> class
2020-04-02 bclayton Change for loops to use const refs, per performance-for-range-copy clang-tidy.
2020-04-01 sugoi Fix ImageView size computation
2020-03-27 cwallez MetalSurface: set layer.device to a ref of the system default device.
2020-03-31 bclayton Regres: Add invertCommon optimization.
2020-03-31 bclayton Regres: Move optimization logic to separate file
2020-03-31 bclayton Regres: Keep coverage span groups stable.
2020-03-31 bclayton Regres: Split coverage.go into multiple files
2020-03-30 bclayton Regres: Further optimizations for coverage
2020-03-30 bclayton Regres: Add cov.ReadJSON()
2020-03-30 capn Fix implicit narrowing cast
2020-03-30 capn Eliminate the legacy PowerVR SDK
2020-03-30 capn Integrate PowerVR OpenGL ES samples
2020-03-30 capn Fix completeness test of OpenGL ES immutable textures
2020-03-30 cwallez Revert "MetalSurface: set layer.device to a ref of the system default device."
2020-03-27 cwallez MetalSurface: set layer.device to a ref of the system default device.
2020-03-28 capn Don't expose the sampling routine cache's mutex
2020-03-17 capn Create PowerVR targets if submodule already exists
2020-03-28 bclayton Regres: Generate coverage data on nightly runs
(...)
2020-03-24 bclayton CMake: Move LLVM rules out to third_party/llvm-7.0
2020-03-24 bclayton Add missing copyright header to CMakeLists.txt
2020-03-25 bclayton Initial drop of LLVM 10 to third_party/llvm-10.0
2020-03-23 bclayton Regres: Add new run_testlist flags
2020-03-19 capn Remove unused sampler parameter
2020-03-17 capn Specialize sampling routine for immutable sampler data
2020-03-24 bclayton Squashed 'third_party/marl/' changes from ca8408f68..16e1dc37c
2020-03-23 amaiorano CMake: make SWIFTSHADER_DCHECK_ALWAYS_ON work on Windows
2020-03-23 chrisforbes Refactor vertex fetch to use VkFormat more aggressively
2020-03-20 amaiorano Subzero: fix CoroutineBegin generation
2020-03-19 sugoi Fix float to r11g11b10 conversion
2020-03-19 amaiorano marl: manually apply partial patch to fix x86 crashes
2020-03-17 amaiorano Subzero: fix external function calls on x86-32
2020-03-17 amaiorano Subzero: fix partially initialized ManagedStatic assert
2019-12-04 digit [vulkan]: Support multiple external semaphore implementations.
2020-03-16 bclayton Squashed 'third_party/marl/' changes from 64d123947..ca8408f68
2020-03-16 swiftshader.regress Regres: Update test lists @ 3a50a43d
2020-03-13 bclayton SpirvShaderDebugger: Implement scope nesting
2020-03-10 sugoi Compile Vulkan library with Subzero in Chromium
2020-03-13 bclayton SpirvShader: Silence warnings of unexpected opcodes
2020-02-28 amaiorano Subzero: hide dependency on Marl
2020-03-13 amaiorano BUILD.gn: add missing dependency onto marl for SubzeroReactor
2020-03-12 capn Consistently use TRUE/FALSE in CMakeLists.txt
2020-03-13 capn Exclude all static libraries from "all" build target
2020-02-28 amaiorano Subzero: replace Win32 fibers with Marl for couroutines
2020-03-12 bclayton SpirvShaderDebugger: Add flag for printing opcodes as they're executed
2020-03-12 bclayton SpirvShaderDebugger: Make Function extend Scope
2020-03-12 bclayton SpirvShaderDebugger: Add string helper for debug kinds
2020-03-12 bclayton SpirvShader: Implement OpenCLDebugInfo100DebugInfoNone
2020-03-12 bclayton SpirvShaderDebugger: Stub UNIMPLEMENTED() opcodes
2020-03-11 bclayton SpirvShader: Implement OpenCLDebugInfo100DebugInlinedAt
2020-03-11 sugoi Allow 3D filtering in the Blitter
2020-03-12 capn Fix building with latest LLVM
2020-03-12 capn Document single-level YCbCr image assumption
2020-03-09 capn Clarify the PointCoord calculation
2020-03-09 capn Remove unnecessary point setup calculations
2020-03-12 capn Don't needlessly build LLVM
2020-03-12 bclayton Squashed 'third_party/marl/' changes from 94a361cf0..64d123947
2020-03-11 bclayton VkImage: Implement BC7 texture format
2020-03-11 bclayton Squashed 'third_party/marl/' changes from a047dd0bb..94a361cf0
2020-03-06 capn Support running PowerVR samples using SwiftShader on Linux
2020-02-18 bclayton Regres: Roll dEQP to 1.2.1
2020-03-10 capn Regres: support testlist creation from specified hash
2020-03-06 capn Suppress warnings in Subzero dependencies
2020-03-10 bclayton Regres: Simplify running of local tests
2020-03-11 bclayton Kokoro: Update clang-8 URL
2020-03-10 amaiorano Subzero: fix Call on bool-returning functions
2020-03-09 swiftshader.regress Regres: Update test lists @ b44162fd
2020-03-05 madesroches Support for the largePoints feature in Vulkan
2020-03-06 capn Explicitly compile with warnings-as-errors

Created with:
  roll-dep third_party/swiftshader

Bug: None

Change-Id: Ibe8a5630f175de5bc854950121e263103e86c8a8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19081
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-04-08 16:01:22 +00:00
Corentin Wallez ff77ffee1a Fix wgpu::WholeSize to count until the end of the buffer.
Bug: dawn:377
Change-Id: Ia829ec05e5dd6a218b7f1c1bb7bdaf39088bdf70
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18960
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-04-08 12:09:25 +00:00
Corentin Wallez 36cd17488a dawn_wire: Correctly handle buffer state changes on Destroy()
The server didn't take intercept the destroy() call which meant the
buffer could be unmapped by dawn_native without the status updated in
ServerBuffer. This caused crash when a subsequent UpdateMappedData
command was handled and tried to write into the mapped buffer.

The client needs to also track destroy() otherwise it could sent an
UpdateMappedData to a destroyed buffer which is a fatal error.

Tests are added that cover the client-server interaction for this, but
the pattern that the following is unfortunately not tested directly
against the wire server:

 - CreateBufferMapped
 - Destroy
 - UpdateMappedData

Bug: chromium:1068466
Change-Id: If5185d4a8a81cd5f6bb41c9888a18c44c14b2de4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18961
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-04-08 10:23:35 +00:00
Ryan Harrison 9d2de1d6d4 Add default to conversion utility to avoid build breakage
I am about to add a new entry to the enum being used in this switch on
the spvc side. Temporarily adding in a default here, so that can roll
correctly, then this function can be updated to use the new entry.

BUG=dawn:367

Change-Id: I9345f651e2e23604599a1b25fcd2993127062695
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19040
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-04-07 21:53:37 +00:00
Corentin Wallez 30ec4fc626 Fixes to be able to build Dawn inside Skia
Add a dawn_has_build override similarly to angle_has_build that makes
Dawn not depend on Chromium //build if it can avoid it. (this was
previously used for mac_sdk.gni).

Only load the Vulkan Validation Layers' gni if it is enable via
dawn_enable_vulkan_validation_layers.

Fix a GN build warning where the source of dawn_components would be
built twice: for example libdawn_native.MetalBackend.o would be built
once for libdawn_native static and once for libdawn_native shared. Fix
this by making libdawn_native as a static library libdawn_native_static.

Change-Id: Ib8fb72282435eb475d7a11dae0d5a9977572fd57
Bug: chromium:1064305
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18963
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-04-07 19:35:47 +00:00
Corentin Wallez 73ea1f1106 Simplify the device lifecycle.
What was previously the Device's loss status is now a state that also
contains the "being created" state. Its transitions are entirely
handled in the frontend which enforces somewhat uniform lifecycles
between backends.

The backend devices' ShutDownImpl() function is now guaranteed to be
called only during the destructor, which leads to further simplification.
Previously Destroy() could also be called when the device was first
lost. This require complications because, for example, a WGPUBuffer
could still exist, and would want to call some resource allocator
service after the call to Destroy(). Now destruction of the device's
backing API objects is deferred to the destructor. (that's ok as long
as the application can't submit any more work).

WaitForCompletion is now guaranteed to be called before ShutDownImpl() iff
the call to DeviceBase::Initialize was succesful and the backing device
not lost. The idea is that after DeviceBase::Initialize, the GPU can
have some work enqueued and we need to wait for it to complete before
deleting backing API objects. In the future we might also have backend
be reentrant, using WebGPU itself to implement parts of the backend.
Reentrant calls would only be allowed after DeviceBase::Initialize.

Also the DynamicUploader that was special-cased in all backends is
now handled entirely by the frontend.

Bug: dawn:373

Change-Id: I985417d67727ea3bc11849c999c5ef0e02403223
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18801
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-04-07 16:19:47 +00:00