This patch implements buffer lazy initialization beffor MapAsync() and
buffer creation with BufferDescriptor.mappedAtCreation == true.
Note that this patch doesn't initialize buffers in MapReadAsyc() and
MapWriteAsync() because they are deprecated and will be removed soon.
BUG=dawn:414
TEST=dawn_end2end_tests
Change-Id: Ifea99833897081f599c45797e0829c57de1ac926
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24687
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Fixing an earlier TODO about aligning bytesPerRow in WriteTextureImpl
to VkPhysicalDeviceLimits::optimalBufferCopyRowPitch.
Bug: dawn:483
Change-Id: Ided2d367177f2f886a84f232c77f1f9f0d50d05d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24981
Commit-Queue: Tomek Ponitka <tommek@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
This changes the format of the server->client callback for async mapping
to match MapAsync. Previously there were two callbacks, one for
MapReadAsync and one for MapWriteAsync.
Bug: dawn:445
Change-Id: I3330c07ac8bb6d1fa9019563e9c946875e852639
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24821
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
vkCreateImage when bound to imported memory, must also have
a VkExternalImageCreateInfo struct in its pNext chain that
has VK_EXTERNAL_MEMORY_HANDLE_TYPE_TEMP_ZIRCON_VMO_BIT_FUCHSIA
as a handleType.
This was discovered when tests started failing after a roll
of the Vulkan validation layers.
Bug: none
Change-Id: Ic7fc95f963062c8740e714a490adf6a020fed220
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/25100
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
WebGPU currently allows as many as 108 view descriptors per bind
group. This is too many to have one descriptor allocator per size,
so we need to bucket them by size.
Bug: dawn:443, dawn:488
Change-Id: I4fc8cf7cd0dc8292bb6a8488fd2ceb7575e1e5f7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24787
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Commit-Queue: Austin Eng <enga@chromium.org>
This changes the format of the client->server command for async mapping
to match MapAsync and updates the doer on the server to implement it via
MapAsync. Previously the command had an isWrite boolean that routed to
either MapReadAsync or MapWriteAsync.
Also updates the Wire tests using mock_webgpu.h for the new server-side
traces.
Bug: dawn:445
Change-Id: I673cbe5e08b7c71539e8678dbb07b4043a9fadb2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24820
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Also removes suppressions for tests that pass after
https://swiftshader-review.googlesource.com/c/SwiftShader/+/46509https://swiftshader.googlesource.com/SwiftShader/+log/ad65826a2ab1..e8dd233c7a85
$ git log ad65826a2..e8dd233c7 --date=short --no-merges --format='%ad %ae %s'
2020-07-16 cwallez Fix B<->T copies of multiple array layers and unpacked rowpitch
2020-07-15 bclayton Regres: Collate and add new documentation for Regres
2020-04-08 natsu Support Gralloc3 in SwiftShader
2020-07-14 swiftshader.regress Regres: Update test lists @ cd0af645
2020-07-13 capn Undefine Bool after the headers that define them
2020-07-11 capn Remove dead ASTC code for GLES
2020-07-09 capn Rename command classes to match API calls
2020-06-04 srisser Add decoder for BC6h
2020-06-15 sugoi Image dirtiness
2020-07-09 amaiorano Android: build against llvm-10 instead of llvm-7
Created with:
roll-dep third_party/swiftshader
Bug: None
Change-Id: Ife6dcf9f832e4aaab40de3bdb62d4b1eb258d2f8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/25042
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Fix a couple names in the definition of writeTexture.
Bug: None
Change-Id: I051b6db0db076a1150850b885073cc36d3bd4b0e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24900
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
This calls into git cl format, so it should always be consistent with
that.
Removes all the old clang-format scripts and dependencies.
Change-Id: I879577a5c1df81617ec0d33096ce7884f4413659
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24840
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
The .clang-format files tell clang-format to ignore certain directories
(replacing code in lint_clang_format.sh which will be removed).
$ git ls-tree -r master --name-only | grep '\.\(c\|h\|cpp\|gn\|gni\|mm\|m\|py\)$' | xargs ./append-space-to-files
$ git checkout -- generator/templates third_party/khronos/{KHR,vulkan}
$ git cl format --full --python
Followed by manual reformatting of a few things in Python for
readability.
Bug: none
Change-Id: I4c9e472cc9a5cd80c07286e808f4e597cfef5428
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24785
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
This gives Chromium the option to give Dawn the correct dxgi adapter to use
Bug: chromium:1036711
Change-Id: Ica544d2e76d1c300038fa07b5b639a35c43f60b9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24761
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Commit-Queue: Natasha Lee <natlee@microsoft.com>
Added implementation of writeTexture in Metal. It's using a
staging buffer instead of writing directly from the CPU to
the texture, because Dawn uses the private storage mode for
most of the Metal textures.
Bug: dawn:483
Change-Id: I6b85ee8bbe343881337bdb203a122dc1f1523177
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24581
Commit-Queue: Tomek Ponitka <tommek@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
GN recently added support for Apple frameworks to link, rather than
overloading the libs lists. This pulls .frameworks out of the libs
lists, so that GN can stop supporting .frameworks in libs in the
future.
Bug: chromium:1052560
Change-Id: I0b57a3c4c995887a57937317db30b67cf7a7f0f7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24281
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This patch optimizes the implementation of buffer-to-texture and
texture-to-buffer computations on D3D12 backends by computing
TextureCopySplits once for all the 2D texture array layers in the
copy instead of computing it once per layer. You can see the
comments in the function D3D12::ComputeTextureCopySplits() for more
details.
BUG=dawn:453
TEST=dawn_end2end_tests
Change-Id: I1b66d24d2418147957fbe03e2c25144bd043a62e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24643
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
kMaxBindingsPerGroup is not a real WebGPU limit. Code in Dawn that
uses it now uses dynamically sized vectors, optimistic stack_vecs or
a different limit like kMaxDynamicBuffersPerPipelineLayout.
The CL introduces kMaxOptimalBindingsPerGroup=32 which is used to size
the static portion of stack_vecs, but the value is tentative.
Bug: dawn:443
Change-Id: I08e06bed6531bed8b4365f36cf2fc0579ac5f180
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/23502
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
PRESUBMIT.py calls into a shell script which we can't do on Windows.
Disabling this for now until we can find a way to lint on Windows.
Bug: dawn:486
Change-Id: Ica525a4a8b01ffde6a3b6170bd58cb4edc9c442d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24784
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Chromium's //build/ requires the DEPS file to produce gclient_args.gni
that contains a max_xcode_version variable so we add a
gclient_gn_args_file.
Also third_party/binutils is no longer needed and is removed.
Roll build/ 896323eed..b8f14c09b (640 commits; 1 trivial rolls)
896323eeda..b8f14c09b7
$ git log 896323eed..b8f14c09b --date=short --no-merges --format='%ad %ae %s'
2020-07-14 agrieve Add "list_java_targets.py" to make it easy to build all java targets
2020-07-14 chromium-autoroll Roll Fuchsia SDK from 0.20200713.1.1 to 0.20200713.3.1
2020-07-13 sebmarchand Disable the segment heap by default and add a GN flag to control it.
2020-07-13 agrieve Android: Reduce link pool when R8 or Android Lint is enabled.
2020-07-13 wnwen Android: Add deps' transitive classes to classpath
2020-07-13 hypan Reland "emulator: Disable the feature GLDMA."
2020-07-13 thakis win: Don't pass -mllvm flags to ms assembler.
2020-07-13 zhin [Py3] Make mac_toolchain Python 3 compatible
2020-07-13 agrieve Android: Make android_test_apk() define target with name=target_name
2020-07-13 chromium-autoroll Roll Fuchsia SDK from 0.20200713.0.1 to 0.20200713.1.1
2020-07-13 chromium-autoroll Roll Fuchsia SDK from 0.20200712.3.1 to 0.20200713.0.1
2020-07-13 chromium-autoroll Roll Fuchsia SDK from 0.20200712.2.1 to 0.20200712.3.1
2020-07-12 chromium-autoroll Roll Fuchsia SDK from 0.20200712.1.1 to 0.20200712.2.1
2020-07-12 chromium-autoroll Roll Fuchsia SDK from 0.20200711.3.1 to 0.20200712.1.1
2020-07-12 chromium-autoroll Roll Fuchsia SDK from 0.20200711.2.1 to 0.20200711.3.1
2020-07-11 chromium-autoroll Roll Fuchsia SDK from 0.20200711.1.1 to 0.20200711.2.1
2020-07-11 chromium-autoroll Roll Fuchsia SDK from 0.20200710.4.1 to 0.20200711.1.1
2020-07-11 hypan Revert "emulator: Disable the feature GLDMA."
2020-07-11 chromium-autoroll Roll Fuchsia SDK from 0.20200710.2.1 to 0.20200710.4.1
2020-07-11 thakis Roll clang n358615-fb1aa286-3 : n359864-04b9a46c-1.
2020-07-10 hypan emulator: Disable the feature GLDMA.
2020-07-10 chromium-autoroll Roll Fuchsia SDK from 0.20200710.1.1 to 0.20200710.2.1
2020-07-10 ehmaldonado Allow DIR_METADATA files within res
2020-07-10 vasilyt Remove GLStreamTextureImage
2020-07-10 agrieve Reland #3 "Android: Bump default target_sdk_version 24 -> SDK used to compile"
2020-07-10 chromium-autoroll Roll Fuchsia SDK from 0.20200710.0.1 to 0.20200710.1.1
2020-07-10 sdefresne [ios] Fix intent_definition template
2020-07-10 chromium-autoroll Roll Fuchsia SDK from 0.20200708.2.1 to 0.20200710.0.1
2020-07-10 wnwen Android: Use direct classpath for android_webview
2020-07-09 wnwen Android: Prefer direct interface classpaths
2020-07-09 bsheedy Revert "Reland #2 "Android: Bump default target_sdk_version 24 -> SDK used to compile""
2020-07-09 mheikal java_library_impl targets can now generate their own R.java files
2020-07-09 mmoss Revert "Split the cros_boards gclient var into two for fetching QEMU images."
2020-07-09 agrieve Android: Dump logcat when gtest fails to list tests
2020-07-09 mmoss Revert "Simplify Simple Chrome's gclient and GN conditionals."
2020-07-09 agrieve Android: Fix -checkdiscard regex'es to ignore comments
2020-07-09 sdefresne [ios] Add support for compiling .intentdefinition
2020-07-08 agrieve Reland #2 "Android: Bump default target_sdk_version 24 -> SDK used to compile"
2020-07-08 chromium-autoroll Roll Fuchsia SDK from 0.20200708.1.1 to 0.20200708.2.1
2020-07-08 agrieve Revert "Reland "Android: Bump default target_sdk_version 24 -> SDK used to compile""
2020-07-08 sdefresne Reland "[ios] Add --landmines-path to build/landmines.py script"
2020-07-08 bpastene Simplify Simple Chrome's gclient and GN conditionals.
2020-07-08 agrieve Reland "Android: Bump default target_sdk_version 24 -> SDK used to compile"
2020-07-08 bsheedy Report public and internal Gold links
2020-07-08 sdefresne Revert "[ios] Add --landmines-path to build/landmines.py script"
2020-07-08 chromium-autoroll Roll Fuchsia SDK from 0.20200707.4.1 to 0.20200708.1.1
2020-07-08 sdefresne [ios] Add --landmines-path to build/landmines.py script
2020-07-08 sdefresne [ios] Fix interaction of build/clobber.py & ios/build/tools/setup-gn.py
2020-07-08 chromium-autoroll Roll Fuchsia SDK from 0.20200707.3.1 to 0.20200707.4.1
2020-07-08 thomasanderson [XProto] Remove usage of XRRUpdateConfiguration and XRandR
(...)
2020-04-23 bpastene Default is_chromeos_device to false.
2020-04-22 dtrainor DownloadUtils improvements for modularization
2020-04-22 steveroe [fuchsia] Save the fuchsia system log by default.
2020-04-22 thomasanderson Add xcb-proto to sysroots
2020-04-22 agrieve Android: Disable proguard deobuscation in tests for incremental_install && proguard_enabled
2020-04-22 bsheedy Add notion of configs to Android Gold
2020-04-22 hzjian Create a .expected checker for native libraries & assets
2020-04-22 agrieve Android: Put .javac.jar files in $OUT/obj rather than $OUT/gen
2020-04-22 chromium-autoroll Roll Fuchsia SDK from 0.20200422.1.1 to 0.20200422.2.1
2020-04-22 chromium-autoroll Roll Fuchsia SDK from 0.20200421.3.1 to 0.20200422.1.1
2020-04-22 ukai Use depot_tools/.cipd_bin as default of goma_dir
2020-04-22 rakina Revert "[Android] add sr-Latn to locales.gni and resource packs"
2020-04-22 chromium-autoroll Roll Fuchsia SDK from 0.20200421.2.1 to 0.20200421.3.1
2020-04-22 chonggu [Fuchsia] Extend time to wait for device connection to 2 minutes
2020-04-21 thestig Remove ro_segment_workaround_for_valgrind build argument.
2020-04-21 perrier [Android] add sr-Latn to locales.gni and resource packs
2020-04-21 chromium-autoroll Roll Fuchsia SDK from 0.20200421.1.1 to 0.20200421.2.1
2020-04-21 agrieve Remove python-cherrypy3 from //build/install-build-deps.sh
2020-04-21 hypan emulator: wait for decryption to complete during avd create
2020-04-21 agrieve Fix incremental_install on Android P
2020-04-21 wez [fuchsia] Simplify specification of required host tools.
2020-04-21 chromium-autoroll Roll Fuchsia SDK from 0.20200417.2.1 to 0.20200421.1.1
2020-04-20 spang [fuchsia] Add a basic WebGL test to cast runner
2020-04-20 agrieve SuperSize: Remove versions from .aar paths in android_deps
2020-04-20 wnwen Android: Remove md5check for android lint
2020-04-20 wnwen Android: Update lint target API
2020-04-20 agrieve Remove python-opencv from install-build-deps.sh
2020-04-20 agrieve Android: Never use --release when dexing library targets
2020-04-19 wez [fuchsia] Enable toolkit_views in Fuchsia builds.
2020-04-19 wez [fuchsia] Use 'pkgctl get-hash' to verify cached package version.
2020-04-18 thakis Remove is_multi_dll_chrome.
2020-04-18 agrieve compile_resources.py: Use try/finally for threadpools
2020-04-18 bpastene Strip chrome before deploying it when running disk-usage Tast test.
2020-04-17 chromium-autoroll Roll Fuchsia SDK from 0.20200417.1.1 to 0.20200417.2.1
2020-04-17 brucedawson Update compute_build_timestamp.py comment
2020-04-17 olivierrobin Add PRODUCT_BUNDLE_IDENTIFIER in xcode attributes
2020-04-17 chromium-autoroll Roll Fuchsia SDK from 0.20200416.3.1 to 0.20200417.1.1
2020-04-17 chromium-autoroll Roll Fuchsia SDK from 0.20200416.2.1 to 0.20200416.3.1
2020-04-17 hypan emulator: edit config.ini instead of hardware-qemu.ini during avd Install.
2020-04-16 perrier Update Android gyp to handle locales with scripts.
2020-04-16 chromium-autoroll Roll Fuchsia SDK from 0.20200416.1.1 to 0.20200416.2.1
2020-04-16 bsheedy Optimize Skia Gold Init And Auth
2020-04-16 chromium-autoroll Roll Fuchsia SDK from 0.20200416.0.1 to 0.20200416.1.1
2020-04-16 chromium-autoroll Roll Fuchsia SDK from 0.20200415.3.1 to 0.20200416.0.1
2020-04-16 chromium-autoroll Roll Fuchsia SDK from 0.20200415.2.1 to 0.20200415.3.1
2020-04-15 agrieve apk_operations.py: Fix additional_apk_paths being ignored
2020-04-15 chromium-autoroll Roll Fuchsia SDK from 0.20200415.1.1 to 0.20200415.2.1
2020-04-15 wnwen Android: Use lint from cmdline-tools (reland)
2020-04-15 agrieve Reland "Use .r8dex.jar and .mergeddex.jar rather than .dex.zip"
2020-04-15 chromium-autoroll Roll Fuchsia SDK from 0.20200414.3.1 to 0.20200415.1.1
Roll buildtools/ 2c41dfb19..eb3987ec7 (19 commits)
2c41dfb19a..eb3987ec70
$ git log 2c41dfb19..eb3987ec7 --date=short --no-merges --format='%ad %ae %s'
2020-07-06 estaab Roll GN from b6203d18..d585128c
2020-07-06 bpastene Update chromium's DEPS-file presubmits with new 'Str' type.
2020-07-03 sdefresne Roll GN from cd3869be..b6203d18
2020-07-01 estaab Roll GN from 7d7e8dee..cd3869be
2020-06-18 sdefresne remove copybara initialization artifacts
2020-06-18 sdefresne Copybara Service Migration Initialization.
2020-06-18 sdefresne Roll GN from db55efd4..7d7e8dee
2020-06-17 sdefresne Roll GN from fbe7aec7..db55efd4
2020-06-15 sdefresne Roll GN from 200492a5..fbe7aec7
2020-06-15 sdefresne Roll GN from 9a0496a7..200492a5
2020-06-11 thakis Roll GN from d0a6f072..9a0496a7
2020-06-03 ambre [libunwind] Build with -funwind-tables
2020-05-20 dpranke Change 'dpranke@chromium.org' -> 'dpranke@google.com' in OWNERS files.
2020-05-20 avi Fix checkdeps
2020-05-20 dpranke Update TEAM in OWNERS for build-related directories.
2020-05-19 rsesek Roll GN from ab32747a..d0a6f072
2020-05-15 hypan libc++: Set output_name of libc++ to libc++_chrome for android
2020-05-14 thakis Roll GN from 5ed3c9cc..ab32747a
2020-04-23 thakis Reland "Roll libunwind 43bb9f8722..d999d54f4b"
Roll tools/clang/ 698732d5d..d027d75e8 (100 commits)
698732d5db..d027d75e8d
$ git log 698732d5d..d027d75e8 --date=short --no-merges --format='%ad %ae %s'
2020-07-12 bartekn Fix a field and add more to manual-fields-to-ignore.txt
2020-07-11 thakis Roll clang n358615-fb1aa286-3 : n359864-04b9a46c-1.
2020-07-10 thakis clang/win bots: Switch to gnuwin-13.
2020-07-08 lukasza Only exclude const-qualified char pointers.
2020-07-08 lukasza Make raw-output-tests ignore changes in absolute path of Chromium repo.
2020-07-07 glenrob Always remove gomacc in compile_db.py, so clang is called directly.
2020-06-30 inglorion goma_link: add --allowlist option
2020-06-30 inglorion goma_link: add phony rules for native object files
2020-06-30 inglorion goma_link: use allowlist for targets for which we do distributed ThinLTO
2020-06-30 thakis clang build script: scale back xcode stuff a bit
2020-06-29 thakis mac: Include arm64 slice in libclang_rt.osx.a.
2020-06-29 inglorion goma_link: add --generate option
2020-06-29 zhin [Py3] Get update.py Python3 compatible
2020-06-28 thakis Minor tweaks to the clang upload rev script.
2020-06-28 thakis clang build script: Stop showing the first LLVM commit in every build.
2020-06-28 thakis Roll clang n356902-4e813bbd-1 : n358615-fb1aa286-1.
2020-06-26 zhin [Py3] Get blink_gc_plugin Py3 ready
2020-06-25 zhin [Py3] Refactor expand_thin_archives to call into goma_link
2020-06-25 lukasza Ensure stable order in the rewriter output.
2020-06-25 zhin [Py3] Make compile_db and test Python3 compatible
2020-06-25 bartekn Fix a field and add more to manual-fields-to-ignore.txt
2020-06-25 omerkatz heap: Remove mixin check from clang plugin
2020-06-25 hans Fix blink_gc_plugin tests with Python 2
2020-06-25 bartekn A script that performs a CheckedPtr rewrite
2020-06-25 lukasza Stop ignoring base::Bind args (thinking the parameters are references).
2020-06-24 zhin [Py3] Get blink_gc_plugin Py3 ready
2020-06-24 zhin [Py3] Make build.py python3 compatible
2020-06-23 hans Add linux_angle_deqp_rel_ng to Cq-Include-Trybots for Clang rolls
2020-06-23 bartekn Adding some more fields to manual-fields-to-ignore.txt.
2020-06-22 hans Revert "Roll clang n356902-4e813bbd-1 : n357772-7f0d7f32-1."
2020-06-22 hans Remove/replace unnecessary includes of logging.h (tools/)
2020-06-22 hans Roll clang n356902-4e813bbd-1 : n357772-7f0d7f32-1.
2020-06-18 omerkatz heap: Apply clang plugin to heap unittests
2020-06-18 bartekn Adding a few more fields to manual-fields-to-ignore.txt.
2020-06-17 lukasza Remove stale, automatic exclusions from fields-to-ignore.txt
2020-06-16 lukasza Workaround a clang bug affecting cxxConstructorExpr.
2020-06-16 lukasza Skip some scenarios via blocklist, rather than unconditionally.
2020-06-15 lukasza Adding two more fields to fields-to-ignore.txt.
2020-06-15 bartekn Add TlsVectorEntry::data to fields-to-ignore.txt
2020-06-15 bartekn Add 2 fields that violate constexpr to fields-to-ignore.txt
2020-06-13 aeubanks Roll clang n356235-f7f1abdb-1 : n356902-4e813bbd-1.
2020-06-11 lukasza Fix rewriting of |auto* v = my_struct.field| to allow direct memberExpr.
2020-06-11 lukasza Ensure that |SomeTemplate<SomeClass>* ptr_field| gets rewritten.
2020-06-11 bartekn Add one more x_display_ field to fields-to-ignore.txt
2020-06-10 bartekn Add more fields to fields-to-ignore.txt
2020-06-10 lukasza Ignoring fields declared within implicit function specializations.
2020-06-10 lukasza Always normalize paths used in apply_edit.py
2020-06-09 lukasza Append |.get()| when calling function templates like base::WrapUnique.
2020-06-09 lukasza Support for auto-generating input for --exclude-fields cmdline param.
2020-06-08 hans Roll clang n355885-a6ae333a-2 : n356235-f7f1abdb-1.
2020-06-05 lukasza Fix handling affected expressions in implicit template specializations.
2020-06-05 jonross Reland "Fields in system headers (and generated code) are not really affected."
2020-06-05 jonross Revert "Fields in system headers (and generated code) are not really affected."
2020-06-05 bartekn Exclude users of nmap and base::AllocPages
2020-06-04 inglorion goma_link: handle function sections and data sections
2020-06-04 lukasza Fields in system headers (and generated code) are not really affected.
2020-06-04 lukasza Append |.get()| to: auto* var_ptr = my_struct.ptr_field;
2020-06-03 lukasza Using |.get()| in conditional operator results.
2020-06-03 lukasza Rewriting |const_cast<...>(s.ptr_field)| into |...s.ptr_field.get()...|.
2020-06-03 lukasza Rewriting |printf("%p", s.ptr_field)| into |...s.ptr_field.get()...|.
2020-06-03 lukasza Avoid rewriting C-only or |extern "C"| field decls.
2020-06-03 thakis clang build script: Start using LLVM_LOCAL_RPATH.
2020-06-03 bartekn Add two more fields to fields-to-ignore.txt
2020-06-02 thakis Roll clang n354867-0e41d647-2 : n355885-a6ae333a-1.
2020-06-02 bartekn Add more fields to fields-to-ignore.txt
2020-05-28 dmcardle Fix broken --diff option for clang_tidy_tool.py.
2020-05-26 lukasza Support for --exclude-fields=fields-to-ignore.txt cmdline parameter.
2020-05-26 lukasza Avoiding rewriting macro-generated types.
2020-05-25 hans Clang upload_revision.py, add TODO about bug number
2020-05-25 thakis clang/android: Stop using make_standalone_toolchain.py script.
2020-05-22 thakis Roll clang n353803-99ac9ce7-2 : n354867-0e41d647-1.
2020-05-22 lukasza Avoid rewriting fields in third-party code.
2020-05-21 thakis clang build script: set rpath on linux so unit tests can run
2020-05-21 lukasza Ignoring |SomeClass *ptr_field1, *ptr_field2|.
2020-05-20 inglorion goma_link: add slash to -thinlto-prefix-replace
2020-05-17 omerkatz heap: Make all Trace methods const
2020-05-14 lukasza Avoiding rewriting pointers to non-free-standing structs.
2020-05-14 lukasza Avoid rewriting pointers to arrays.
2020-05-14 lukasza Avoid converting |char* field| to |CheckedPtr<char> field|.
2020-05-14 lukasza Avoiding CheckedPtr<object-with-deleted-operator-new>.
2020-05-14 lukasza Not generating replacements within implicit template specializations.
2020-05-12 lukasza Ignoring fields of class backing lambda expressions.
2020-05-12 hans Roll clang n346557-4e0d9925-3 : n353803-99ac9ce7-1.
2020-05-12 lukasza Stop depending on the Z3 solver when building llvm/clang.
2020-05-08 lukasza Inserting a new header should account for presence of BOM bytes.
2020-05-08 lukasza Attempt to preserve the original spelling of the pointee type.
2020-05-08 lukasza Avoid rewriting function pointer types.
2020-05-06 lukasza Inserting an include of the new header during the rewrite.
2020-05-02 sebmarchand clang upload script: Use Cq-Include-Trybots: for official builders
2020-04-30 thakis clang: Only copy msdia140.dll next to llvm-symbolizers when building clang.
2020-04-30 hans Clang build script: prefer Python 2 on Mac until infra problem is fixed
2020-04-28 inglorion goma_link: Add --no-gomacc option
2020-04-23 hans Clang build script: use CMake 3.17.1
2020-04-22 thakis win cross builds: Copy dia dlls when targeting Windows, even on non-Win hosts.
2020-04-22 mark clang: make platform downloaded by update.py switchable with --platform
2020-04-19 lukasza Preserving qualifiers and specifiers: |const|, |volatile|, |mutable|.
2020-04-19 bikineev Reland "clang plugins: default no-members-in-stack-allocated to on"
2020-04-18 thakis Revert "clang plugins: default no-members-in-stack-allocated to on"
2020-04-17 lukasza Handling of basics: |Pointee* field| -> |CheckedPtr<Pointee> field|.
2020-04-17 johannkoenig clang plugins: default no-members-in-stack-allocated to on
Created with:
roll-dep build buildtools tools/clang
Bug: None
Change-Id: Iedb7379f02bd1272305f8767299be98b137880bc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24800
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
MapAsync in dawn_native is fully implemented and only missing
a couple cleanups that can be done once MapRead/WriteAsync are
removed.
MapAsync in dawn_wire is left as a pure shim on top of
MapRead/WriteAsync and will be transitioned to its own commands
in follow-ups.
All MapRead/WriteAsync end2end and validation tests are duplicated
for MapAsync.
Bug: dawn:445
Change-Id: Ib1430b9257149917be19a84f13e0ddd2a8eccc32
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24260
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
In order to remove the kMaxBindingsPerGroup limit in Dawn, some static
ityp::arrays need to be made dynamically sized. This CL adds ityp::vector
wrapping std::vector.
This CL also fixes the assumption that ityp::stack_vec iterators are pointers
Bug: dawn:442, dawn:443
Change-Id: I8698cbba3ea80ac063ab918a77f223c527720d08
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24480
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
This CL adds per-stage and per-pipeline-layout limits according
to the WebGPU spec. It also slightly increases kMaxBindingsPerGroup
from 16 to 24 so that these limits can be effectively tested
without hitting kMaxBindingsPerGroup. kMaxBindingsPerGroup is not a
real WebGPU limit and will be removed in future patches.
Bug: dawn:443
Change-Id: I72be062cd31dea4ebd851f2d9f8274a77f286846
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24481
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Adds RenderPassDescriptor.occlusionQuerySet for struct compatibility
with upstream webgpu.h, and validation errors that it's not used (since
it's not implemented).
Bug: dawn:22
Change-Id: I05ac75105038a0d7569cc720170e55f35b0f80d7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24620
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
binding index >= kMaxBindingsPerGroup is actually valid.
Bug: none
Change-Id: Idfba743d50013b7115f125b6441fd49732dffc96
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24700
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Implements validation for RenderPassDepthStencilAttachmentDescriptor depthReadOnly and
stencilReadOnly flags to match WebGPU specification. Includes corresponding unit tests.
bug: dawn:485
Change-Id: I21e624850d5a393469569417f102fb979dbfdf27
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24602
Commit-Queue: Brandon Jones <brandon1.jones@intel.com>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Adds WARP to known vendor/device Ids so
tests can detect when MBR is being used.
BUG=dawn:463
TEST=dawn_end2end_tests
Change-Id: I19f16dfeb4839c5a7c0a993bab94d2b6ca4ca36d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24680
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
These were previously skipped because clang-format was messing up our
builder-pattern code. But we got rid of the builder pattern long ago.
The actual files will be autoformatted in the next CL.
Bug: none
Change-Id: Ia01a2cabc2daa9d94a15bf44687bc2e5801b49bd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24621
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Done by:
- Appending an extra newline at the end of src/**/*.{cpp,h,mm,gn}
except src/tests/*
- Running git cl format --full to format the full contents of every
changed file
Bug: none
Change-Id: Id88fc5ed0c5efbbc93b2c6a305c2f98465fe646d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24641
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Previously, buildtools' copy of clang-format was stuck at 6.0, so we
used a custom built of 7.0. Now, buildtools' version is 11.0.
Bug: none
Change-Id: I8964bcfbea2d40284249427395c8d417fc77b18d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24640
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
In order to remove a warning in the D3D debug layer, this patch passes
an empty range CPU written range to calls of Unmap on READBACK
buffers.
Bug: dawn:419
Change-Id: Ic4dcbf31beb3a257c3d88896f4bb97e19caf0cc6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24301
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Added validation tests for CommandEncoder::CopyB2T, CommandEncoder::CopyT2B and
Queue::WriteTexture which involve copying or writing to multiple layers
of a 2d-array texture.
Bug: dawn:483
Change-Id: I23f580dff86cd2512a94b41c9c0ce795122a045e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24443
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Tomek Ponitka <tommek@google.com>
This patch implements buffer lazy initialization before
CopyBufferToBuffer() behind the toggle LazyClearBufferOnFirstUse.
- If the source buffer is not initialized, it will be cleared to 0
before CopyBufferToBuffer().
- If the destination buffer is not initialized and the copy doesn't
overwrite the whole buffer, it will be cleared to 0 before
CopyBufferToBuffer(), otherwise the buffer shouldn't be cleared.
BUG=dawn:414
TEST=dawn_end2end_tests
Change-Id: I3d0512c6376a1ed8928e86f8e56fefebc16910fa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24360
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
It is breaking the roll of Dawn in Chromium because on ChromeOS the
macro is defined on the command-line, causing the compilation to fail
because of a macro redefinition.
Bug: None
TBR=enga@chromium.org
Change-Id: I13eebb9b40f2a5f7c1eed4e3572de3eda2db8bb6
Change-Id: I4797211f4d9ff122d992d78aeac83fd4f0585ff6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24580
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
In the validation tests, we relied on Queue.Submit(0, nullptr) to
resolve mapping operations. This is fragile so we replace it with a
FlushMappingOperations() function that uses device.Tick() instead.
This allows removing the mapSerial argument from
Buffer::MapRead/WriteAsyncImpl (which was the actual goal of this CL).
Bug: dawn:445
Change-Id: Id98822287370c371bebb83afb8e290e17f3c1b55
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24381
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
In order to lift Dawn's restriction on the number of bindings
per bind group, static sized arays need to be converted to
dynamically sized vectors. This CL adds Chromium's StackVector
class which behaves like std::vector but provides a stack allocator
to allocate small vectors on the stack. Dawn can use this to avoid
making separate heap allocations for a smaller, realistic binding
counts.
The CL also adds an ityp::stack_vec class to support using
a StackVector with TypedInteger indices.
Bug: dawn:442, dawn:443
Change-Id: I7604c02b3ea52cd63990a2e8b45ed238a5d52232
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/23681
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
This required changing DeviceBase::CreateBufferImpl to return
ResultOrError<Ref<BufferBase>>
Bug: chromium:1103154
Change-Id: I1a5811d293333b6ef29c988a08f2f1f84ac65702
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24500
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>