The wire's device is externally owned so reference/release were no-ops.
To unify the code paths, remove the special casing and instead
take an extra ref on the device the wire server is created with. This
is functionally equivalent and will allow both the current wire code,
and the incoming change to allow multiple device/adapter creation to
both work.
This CL also makes it possible for the client to destroy the device
before child objects.
A follow-up CL will mitigate this on the server side.
Bug: dawn:384
Change-Id: Ic5427074469012dccf8689ec95a848e6ba2c1fc2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37001
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This removes the logic where the Client owns the Device and the
Device owns all other objects. Ownership should be tracked in
dawn_native either with refcounting or validation to disallow
operations after an object's parent has been destroyed.
This simplifies the wire client code in that the client only
tracks allocated handles and does not manage parent/child lifetimes.
This is an important simplification so we can support multiple WebGPU
instances, adapters, and devices on a single wire.
Bug: dawn:384
Change-Id: I8ecc7c368130b8917202150c467b5f0e7d4b753e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37000
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This is needed before supporting instances, adapters, and devices on
the wire so that the client cannot free the instance before the device.
In Dawn native, the developer still needs to make sure the device is not
freed before all child objects.
Bug: dawn:384
Change-Id: I863d44c6a8acecc7b8ea0cc0ac483f7a864162fd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37003
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This issue was discovered in http://crrev.com/c/2613517 where a
device lost error on page teardown was bubbling up to the Renderer's
uncaptured error callback.
Bug: chromium:1160459
Change-Id: I64b8c7779f4808d5a4b87c131aaf2e041c512bb9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36960
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
These fix the tests so that the entire of Dawn can now be built with
VS2019. Some details:
Multiples of "error C3493: 'X' cannot be implicitly captured because no
default capture mode has been specified" in BufferTests.cpp. This
appears to be a bug in VS whereby the constexprs need capturing; the
workaround, rather than explicitly name them and change the function
signature, is to make the vars also static.
In DepthStencilSamplingTests.cpp we get "warning C4310: cast truncates
constant value" for uint8_t(256). Rather than try to silence the
warning the test was removed, since the cast will *always* result in
zero, which is also the first in the test values.
To successfully build two further third-party dependencies also require
updating:
https://dawn-review.googlesource.com/c/tint/+/37700https://chromium-review.googlesource.com/c/angle/angle/+/2624888
Note: whilst this now builds the entire of Dawn with VS not yet all of
the build arguments are supported. Yet to investigate is turning on
optimisations (with is_official_build=true) which attempts to combine
"/INCREMENTAL" with "/OPT:REF" and fails (to be addressed next).
Bug: dawn:602
Change-Id: I37202992f16b999d5627022eeeb6b9fff0d4b60b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37701
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Carl Woffenden <cwoffenden@gmail.com>
The opengl backend uses glBlitFramebuffer to present frames which
is affected by the opengl scissor rect.
Bug: dawn:616
Change-Id: I0b8c3eb7139ab22a98eeb60e3ad16678e3afad5d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37101
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Mark Sibly <marksibly@gmail.com>
Fix a bug about mipmap level in SamplerFilterAnisotropicTests.
Sizes of the 3 miplevels should be 4,2,1.
The old code allocates 8,4,2 (which don't have a 1x1 level)
Expected rendered pixel values have to change.
The render result now fits the webgl demo at https://jsfiddle.net/t8k7c95o/5/
(Thanks Kai for the enlarged pixelated canvas)
ComputeBoids.cpp and DawnTest.cpp change is due to git cl format
Bug: dawn:568
Change-Id: I9069732208a16be285be13b8cd1ab19b211995a6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37380
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This CL updates the tests with WGSL sources to use // for comments
instead of #. This matches the current WGSL spec.
Change-Id: I04e1a18630a16b794955cace7e55a89221c964fe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37520
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
When building with MSVC (using 'is_clang=false') various errors are
encountered. This fixes:
- multiple tests/end2end/ColorStateTests.cpp(309): error C2039:
'transform': is not a member of 'std'
- dawn_wire/server/Server.h(171): error C2248:
'dawn_wire::server::MapUserdata::MapUserdata': cannot access private
member declared in class 'dawn_wire::server::MapUserdata'
- variants of the above in Server.h for all the other CallbackUserdata
subclasses
Bug: dawn:602
Change-Id: I01b1db3fbf67ae170b21a7d890af6162b82a1725
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37420
Commit-Queue: Carl Woffenden <cwoffenden@gmail.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Previously the @executable_path rpath was only added when doing
component builds and non-component builds failed to find Vulkan and
Swiftshader on macOS.
Bug: None
Change-Id: I0277566e4bf181703dff26bb1bf3e57858864009
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37442
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Roll build/ 787a783b9..3769c3b43 (413 commits)
787a783b96..3769c3b43c
$ git log 787a783b9..3769c3b43 --date=short --no-merges --format='%ad %ae %s'
2021-01-12 chromium-autoroll Roll Fuchsia SDK from 0.20210111.1.1 to 0.20210111.3.1
2021-01-11 sokcevic Use inclusive parameter names in PRESUBMIT
2021-01-11 agrieve Android: Remove android:debuggable in AndroidManifest.xml expectations
2021-01-11 chromium-autoroll Roll Fuchsia SDK from 0.20210110.3.1 to 0.20210111.1.1
2021-01-11 jbudorick android: switch resource_sizes.py to vpython.
2021-01-11 chromium-autoroll Roll Fuchsia SDK from 0.20210110.2.1 to 0.20210110.3.1
2021-01-11 cduvall Check <queries> tag from DFM manifest when doing manifest verification
2021-01-10 chromium-autoroll Roll Fuchsia SDK from 0.20210110.1.1 to 0.20210110.2.1
2021-01-10 chromium-autoroll Roll Fuchsia SDK from 0.20210109.3.1 to 0.20210110.1.1
2021-01-10 chromium-autoroll Roll Fuchsia SDK from 0.20210109.2.1 to 0.20210109.3.1
2021-01-09 chromium-autoroll Roll Fuchsia SDK from 0.20210109.0.1 to 0.20210109.2.1
2021-01-09 chromium-autoroll Roll Fuchsia SDK from 0.20210108.2.1 to 0.20210109.0.1
2021-01-08 chromium-autoroll Roll Fuchsia SDK from 0.20210108.1.1 to 0.20210108.2.1
2021-01-08 chromium-autoroll Roll Fuchsia SDK from 0.20210107.3.1 to 0.20210108.1.1
2021-01-08 chromium-autoroll Roll Fuchsia SDK from 0.20210107.2.1 to 0.20210107.3.1
2021-01-07 liaoyuke Lacros: support --deploy-lacros in build/chromeos/test_runner.py
2021-01-07 guterman Proof of concept for test selection via GN
2021-01-07 chromium-autoroll Roll Fuchsia SDK from 0.20210107.0.1 to 0.20210107.2.1
2021-01-07 bpastene chromeos: Add support for sharding Tast tests.
2021-01-07 smaier Fixing ProtectedMembersInFinalClass errorprone warnings
2021-01-07 chromium-autoroll Roll Fuchsia SDK from 0.20210106.3.1 to 0.20210107.0.1
2021-01-07 chromium-autoroll Roll Fuchsia SDK from 0.20210106.1.1 to 0.20210106.3.1
2021-01-06 liaoyuke Lacros: Support --tast-vars in build/chromeos/test_runner.py
2021-01-06 wnwen Android: Use enable_bytecode_checks for D8 (reland)
2021-01-06 chromium-autoroll Roll Fuchsia SDK from 0.20210105.3.1 to 0.20210106.1.1
2021-01-06 chromium-autoroll Roll Fuchsia SDK from 0.20210105.2.1 to 0.20210105.3.1
2021-01-06 liaoyuke Add unit tests for build/chromeos/test_runner.py
2021-01-05 agrieve Android: Mark UnnecessaryParentheses ErrorProne check as undesirable.
2021-01-05 agrieve Android: Disable errorprone checks for generated files
2021-01-05 chromium-autoroll Roll Fuchsia SDK from 0.20210105.0.1 to 0.20210105.2.1
2021-01-05 agrieve Android: Add a way to apply errorprone suggested fixes
2021-01-05 chromium-autoroll Roll Fuchsia SDK from 0.20210104.3.1 to 0.20210105.0.1
2021-01-05 chromium-autoroll Roll Fuchsia SDK from 0.20210104.1.1 to 0.20210104.3.1
2021-01-04 thakis mac: Use `cp -l` instead of `cp -c` when available
2021-01-04 chromium-autoroll Roll Fuchsia SDK from 0.20210104.0.1 to 0.20210104.1.1
2021-01-04 chromium-autoroll Roll Fuchsia SDK from 0.20210103.2.1 to 0.20210104.0.1
2021-01-03 chromium-autoroll Roll Fuchsia SDK from 0.20210103.1.1 to 0.20210103.2.1
2021-01-03 chromium-autoroll Roll Fuchsia SDK from 0.20210102.3.1 to 0.20210103.1.1
2021-01-03 chromium-autoroll Roll Fuchsia SDK from 0.20210102.1.1 to 0.20210102.3.1
2021-01-02 chromium-autoroll Roll Fuchsia SDK from 0.20210102.0.1 to 0.20210102.1.1
2021-01-02 chromium-autoroll Roll Fuchsia SDK from 0.20201231.3.1 to 0.20210102.0.1
2021-01-01 chromium-autoroll Roll Fuchsia SDK from 0.20201231.1.1 to 0.20201231.3.1
2021-01-01 chromium-autoroll Roll Fuchsia SDK from 0.20201230.3.1 to 0.20201231.1.1
2020-12-31 chromium-autoroll Roll Fuchsia SDK from 0.20201230.2.1 to 0.20201230.3.1
2020-12-30 chromium-autoroll Roll Fuchsia SDK from 0.20201230.0.1 to 0.20201230.2.1
2020-12-30 agrieve Android: Remove obsolete .build_config entry "owned_resource_srcjars"
2020-12-30 thakis mac: Simplify copy_bundle_data command.
2020-12-30 chromium-autoroll Roll Fuchsia SDK from 0.20201229.2.1 to 0.20201230.0.1
2020-12-29 chromium-autoroll Roll Fuchsia SDK from 0.20201229.1.1 to 0.20201229.2.1
2020-12-29 chromium-autoroll Roll Fuchsia SDK from 0.20201228.3.1 to 0.20201229.1.1
(...)
2020-11-09 chromium-autoroll Roll Fuchsia SDK from 0.20201108.3.1 to 0.20201109.0.1
2020-11-09 chromium-autoroll Roll Fuchsia SDK from 0.20201108.1.1 to 0.20201108.3.1
2020-11-08 chromium-autoroll Roll Fuchsia SDK from 0.20201108.0.1 to 0.20201108.1.1
2020-11-08 chromium-autoroll Roll Fuchsia SDK from 0.20201107.2.1 to 0.20201108.0.1
2020-11-07 chromium-autoroll Roll Fuchsia SDK from 0.20201107.0.1 to 0.20201107.2.1
2020-11-07 chromium-autoroll Roll Fuchsia SDK from 0.20201106.3.1 to 0.20201107.0.1
2020-11-07 chromium-autoroll Roll Fuchsia SDK from 0.20201106.2.1 to 0.20201106.3.1
2020-11-07 smaier Android resources: skipping 'skip' XML element
2020-11-06 ender Enable errorprone compile-time nullable checks.
2020-11-06 thakis mac/arm: Remove two toolchain workarounds.
2020-11-06 chromium-autoroll Roll Fuchsia SDK from 0.20201106.0.1 to 0.20201106.2.1
2020-11-06 agrieve Reland "Android: Check R8 output for references to missing symbols"
2020-11-06 wenbinzhang Revert "Android: Check R8 output for references to missing symbols"
2020-11-06 thakis build: Enable MemorySSA DSE with pinned clang.
2020-11-06 nbilling Suppress output from the dwp tool in link scripts.
2020-11-06 chromium-autoroll Roll Fuchsia SDK from 0.20201105.5.1 to 0.20201106.0.1
2020-11-06 agrieve Android: Check R8 output for references to missing symbols
2020-11-06 mark mac-arm64: Update toolchain to Xcode 12.2rc (12B5044c)
2020-11-06 huangs [Build] Rename GN template "android_resource_size_config" to "android_size_bot_config".
2020-11-06 chromium-autoroll Roll Fuchsia SDK from 0.20201105.2.1 to 0.20201105.5.1
2020-11-05 huangs [Build] Add size config JSON files and supports.
2020-11-05 sebmarchand Enable call-graph-profile-sort for PGO builds.
2020-11-05 chromium-autoroll Roll Fuchsia SDK from 0.20201105.0.1 to 0.20201105.2.1
2020-11-05 sdefresne [ios] Mark Chrome target as supporting "catalyst" in Xcode project
2020-11-05 sdefresne [ios] Use generic implementation of libvpx in "catalyst" environment
2020-11-05 arthursonzogni Revert "[WebLayer] Change the return type of Fragment.getActivity() to Activity."
2020-11-05 chromium-autoroll Roll Fuchsia SDK from 0.20201104.2.1 to 0.20201105.0.1
2020-11-04 dpranke Change actions to python2_actions as needed.
2020-11-04 chromium-autoroll Roll Fuchsia SDK from 0.20201104.1.1 to 0.20201104.2.1
2020-11-04 seantopping Re-enable AFDO profiles for Chromecast
2020-11-04 bpastene Remove cros_browser_sanity_test from all CrOS bots.
2020-11-04 thakis Remove a no-op conditional to fix a todo.
2020-11-04 agrieve Revert "Reland #2: Android: Use locally-build devil deps only when build_with_chromium=true"
2020-11-04 cwallez Fix `gn gen` with python3 and the Windows toolchain on a other drive.
2020-11-04 chromium-autoroll Roll Fuchsia SDK from 0.20201103.3.1 to 0.20201104.1.1
2020-11-04 chromium-autoroll Roll Fuchsia SDK from 0.20201103.2.1 to 0.20201103.3.1
2020-11-03 bjoyce Add chrome_junit_test shard experimental test suit.
2020-11-03 thakis android: Reorganize how arm_float_abi is set.
2020-11-03 wnwen Android: Fix build_utils output for python 2
2020-11-03 chromium-autoroll Roll Fuchsia SDK from 0.20201103.0.1 to 0.20201103.2.1
2020-11-03 agrieve Reland #2: Android: Use locally-build devil deps only when build_with_chromium=true
2020-11-03 agrieve Fix missing output when using use_debug_fission
2020-11-03 sdefresne [ios] Ensure bots can pretty print $root_build_dir/args.gn
2020-11-03 rmcelrath [WebLayer] Change the return type of Fragment.getActivity() to Activity.
2020-11-03 chromium-autoroll Roll Fuchsia SDK from 0.20201102.3.1 to 0.20201103.0.1
2020-11-03 mmenke Remove TCP/UDP echo modes from the SpawnedTestServer.
2020-11-03 chromium-autoroll Roll Fuchsia SDK from 0.20201102.1.1 to 0.20201102.3.1
2020-11-02 mbonadei Move arm_float_abi to a generic declare_arg.
2020-11-02 sdefresne [gn] Ensure bots correctly parse $root_build_dir/args.gn
2020-11-02 smaier Reland "Re-enabling aar .info file checker"
Roll buildtools/ 98881a129..235cfe435 (10 commits)
98881a1297..235cfe435c
$ git log 98881a129..235cfe435 --date=short --no-merges --format='%ad %ae %s'
2021-01-12 dpranke Roll GN from 0d67e272..595e3be7
2020-12-26 thakis Roll GN from 53d92014..0d67e272
2020-12-09 msavigny Add initial support for re-client to the chromium build.
2020-12-08 msavigny Move reclient binaries to src/buildtools.
2020-11-05 dpranke Roll GN from 843b5003..53d92014
2020-11-05 honglinyu Roll gn to 843b50030ce7ee1f86b8f1bf284ce8ca92985c3b
2020-11-04 dpranke Revert "Reland "Roll GN from e002e68a..f5f465b5""
2020-11-03 dpranke Reland "Roll GN from e002e68a..f5f465b5"
2020-11-03 dpranke Revert "Roll GN from e002e68a..f5f465b5"
2020-11-03 rjascani Roll GN from e002e68a..f5f465b5
Roll tools/clang/ eb065289a..b12d1c836 (36 commits)
eb065289a4..b12d1c836e
$ git log eb065289a..b12d1c836 --date=short --no-merges --format='%ad %ae %s'
2021-01-12 hans Build Clang with GCC 10.2.0 on Linux
2021-01-12 keishi Update namespace for TK_AsIs
2021-01-11 thakis Roll clang llvmorg-12-init-15676-g5c951623-1 : llvmorg-12-init-16296-g5e476061-1.
2021-01-07 jdoerrie [clang] Add StringPiece Rewriter Tool
2021-01-05 glazunov Exclude BigEndianWriter::end_ from rewrite_raw_ptr_fields
2021-01-05 thakis Roll clang llvmorg-12-init-12923-g6ee22ca6-1 : llvmorg-12-init-15676-g5c951623-1.
2020-12-21 thakis clang build/mac: Stop forcing Py2
2020-12-18 timvp Add fallback for Ninja path for clang compile DB
2020-12-07 hans Clang build scripts: LLVM 'master' is now 'main'
2020-12-03 bikineev blink_gc_plugin: Disallow only Optional GCed fields
2020-12-01 rnk Fix -Wsuggest-override warnings in clang plugin code
2020-11-29 thakis Roll clang llvmorg-12-init-12083-g94e4ec64-1 : llvmorg-12-init-12923-g6ee22ca6-1.
2020-11-26 keishi Add sandbox/win to rewrite_raw_ptr_fields ignore list
2020-11-20 aeubanks Roll clang llvmorg-12-init-11780-g6ef07111-1 : llvmorg-12-init-12083-g94e4ec64-1.
2020-11-18 keishi Exclude MemoryDumpProvider::name from rewrite_raw_ptr_fields
2020-11-18 keishi Exclude LabelManagerTest TestCase fields from rewrite_raw_ptr_fields
2020-11-18 keishi Fix matcher for constructors via an implicit cast
2020-11-17 keishi Exclude logging.h in rewrite_raw_ptr_fields
2020-11-17 keishi Exclude KeyedServiceBaseFactory::service_name_ in rewrite_raw_ptr_fields
2020-11-17 thakis Roll clang llvmorg-12-init-11462-g418f18c6-1 : llvmorg-12-init-11780-g6ef07111-1.
2020-11-17 thakis clang packager: Create "ld64.lld" symlinks
2020-11-17 thakis mac: Let clang updater pull mac packages on all hosts.
2020-11-16 keishi Add .get() to CheckedPtr when comparing with a std::string
2020-11-12 thakis Roll clang llvmorg-12-init-11060-g118c3f3c-1 : llvmorg-12-init-11462-g418f18c6-1.
2020-11-12 thakis clang: Update plugin test expectations after clang e7f3e2103c
2020-11-11 mark mac: Switch all architectures to the macOS 11.0 SDK and Xcode 12
2020-11-09 thakis Roll clang llvmorg-12-init-10666-gc9f69ee7-1 : llvmorg-12-init-11060-g118c3f3c-1.
2020-11-05 thakis Revert "Treat CheckedPtr specially in FindBadConstructsConsumer"
2020-11-05 keishi Add mini_installer and chrome_elf to rewrite_raw_ptr_fields ignore list
2020-11-05 keishi Treat CheckedPtr specially in FindBadConstructsConsumer
2020-11-04 thakis Bump system Xcode on ToTMac, ToTMac (dbg), ToTMacAsan, ToTMacCoverage from 11 to 12.
2020-11-04 thakis clang build script: Remove a workaround for an issue that's fixed upstream.
2020-11-04 thakis Roll clang llvmorg-12-init-5627-gf086e85e-3 : llvmorg-12-init-10666-gc9f69ee7-1.
2020-11-03 lukasza Emit constexpr-initialized fields as candidates for exclusion (vars).
2020-11-03 thakis clang: Only build arm64 iossim compiler-rt libs on the upload bots.
2020-11-02 sdefresne [ios] Build more architecture for clang runtime library
Created with:
roll-dep build buildtools tools/clang
Change-Id: Id4737ea3623ebd9d0f21b6a8c3b4a37fc4ab7dc2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37440
Commit-Queue: Stephen White <senorblanco@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Chromium's //build directory now supports building only on Windows 10,
so request that for our builder.
Bug: None
Change-Id: I10692e20e25d8ea305a6504fb17cf5ac9370b6fc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37441
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
The tint::ast::Module holds a diagnostic list (tint::diag::List) which references the source tint::Source::File.
If you try to enable any of the more pretty diagnostic printing functionality, and attempt to print these after ParseWGSL() has returned, you'll then dereference a pointer to the now stack unwound `tint::Source::File`.
Promote the file up one callstack level to fix this.
Bug: none. Only exposed when using pretty printing.
Change-Id: I9432dd9d668fd1d92efa228bb5ed31278fd3ddfc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37280
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
- Implement begin/endOcclusionQuery on D3D12, the query result is binary
(0/1), so we don't need compute shader on D3D12.
- Add end2end tests with depth/stencil/scissor tests enable/disable
Bug: dawn:434
Change-Id: I7b58987a9bc3e7f9cbcdee83f630aaa166582f5f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36860
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
Fixes error C2679: binary '-': no operator found which takes a right-hand operand of type 'std::_Array_iterator<_Ty,23>' (or there is no acceptable conversion)
Change-Id: I566b05032da5f68674156eae2901a3f3e7a8acbb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36082
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Currently we only implemented 2D and 2DArray texture. kMaxTextureSize
is actually for 2D texture only. This patch adds a few more constants
for texture size for 1D and 3D textures, and changes kMaxTextureSize
to kMaxTextureDimension2D.
Bug: dawn:558
Change-Id: I9088dd7c060dc096a65abea37c7fb01f760524e9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36540
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Currently it's not clear how to convert timestamps to nanoseconds on
Metal, disable timestamp query extension on Metal until we know how to
do that. WebGPU issue: https://github.com/gpuweb/gpuweb/issues/1325
Bug: dawn:434
Change-Id: If63bd5fe9dccc1fff16a42cddf63e9d8265e65c5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37020
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
The test is failing because it seems that SPIRV-Cross is outputing some
of the builtins for the vertex in the fragment shader and vice-versa.
Bug: chromium:1163767
TBR=senorblanco@chromium.org
Change-Id: Iefbc1beb9065a92f1d61776d12c903d4e80648d4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37040
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
The handling of the default view dimension in the deprecated bind group
layout entry path was checking the viewDimension of the new
sub-descriptor instead of the deprecated viewDimension member. This
meant that viewDimension was always defaulted and "2D".
This commit fixes the issue by looking at the correct viewDimension member
and adds a regression deprecation test.
Bug: dawn:620
Change-Id: Icc133b6d80ba3d88bae30dc9138f1d74e14d12c7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36841
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
https://chromium.googlesource.com/vulkan-deps/+log/b08eace32e9c..c493c6112021
$ git log b08eace32..c493c6112 --date=short --no-merges --format='%ad %ae %s'
2021-01-07 chromium-autoroll Roll SPIRV-Cross from 7b7a21c4058c to 234c65c0f32c (3 revisions)
2021-01-07 chromium-autoroll Roll glslang from 480f6039e072 to 3de5cfe50ede (1 revision)
2021-01-06 chromium-autoroll Roll Vulkan-Tools from 4cc0932495ec to a7825740f316 (3 revisions)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from 4ed1f4fce9e7 to aa005e8bd435 (1 revision)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from af3a3d481f6e to 4ed1f4fce9e7 (1 revision)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from 94d1a80159e3 to af3a3d481f6e (1 revision)
2021-01-06 chromium-autoroll Roll Vulkan-ValidationLayers from 98382948dfea to cc435b55410a (2 revisions)
2021-01-06 chromium-autoroll Roll glslang from f77085c307fc to 480f6039e072 (1 revision)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from 6d05ed8410b4 to 94d1a80159e3 (1 revision)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from 37c03859de9e to 6d05ed8410b4 (1 revision)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from d630e5f8c10c to 37c03859de9e (1 revision)
2021-01-06 chromium-autoroll Roll Vulkan-ValidationLayers from 2468aa9630c2 to 98382948dfea (1 revision)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from 1bb80d2778a3 to d630e5f8c10c (1 revision)
2021-01-06 chromium-autoroll Roll glslang from 9325cc013e3d to f77085c307fc (1 revision)
2021-01-05 chromium-autoroll Roll Vulkan-ValidationLayers from 57255a663ed9 to 2468aa9630c2 (1 revision)
2021-01-05 chromium-autoroll Roll Vulkan-Loader from 1f0c7868a438 to 9ba835885ffe (1 revision)
2021-01-05 chromium-autoroll Roll Vulkan-ValidationLayers from 56a96658b750 to 57255a663ed9 (3 revisions)
2021-01-05 chromium-autoroll Roll Vulkan-Loader from 294480cb7f3e to 1f0c7868a438 (1 revision)
2021-01-05 chromium-autoroll Roll Vulkan-Tools from 7554321b88ae to 4cc0932495ec (2 revisions)
2021-01-05 chromium-autoroll Roll Vulkan-Loader from 66a23ac8c566 to 294480cb7f3e (1 revision)
2021-01-05 chromium-autoroll Roll Vulkan-Headers from 85470b32ad5d to 9efc4a631161 (1 revision)
2021-01-05 chromium-autoroll Roll Vulkan-ValidationLayers from aa076dae88e2 to 56a96658b750 (25 revisions)
2021-01-05 chromium-autoroll Roll glslang from f426f652299d to 9325cc013e3d (1 revision)
2021-01-05 chromium-autoroll Roll SPIRV-Cross from e50f7d1ce8e1 to 7b7a21c4058c (3 revisions)
2021-01-05 chromium-autoroll Roll SPIRV-Tools from 17ffa89097b2 to 1bb80d2778a3 (1 revision)
2020-12-21 jmadill Rolling 8 dependencies
TBR=senorblanco@chromium.org
Created with:
roll-dep third_party/vulkan-deps
Change-Id: I8dffafc888ed2d54c38a14cfb2f1521a2c85dcc1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36840
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
The plan of record is to use Tint for back end generation on these
platforms for launch, so there is no need to fuzz SPIRV-Cross on them.
The GLSL fuzzer will remain for now, since the PoR has native support
for GLSL using SPRIV-Cross.
Change-Id: I8d6bf76b2b81e9bbc158fa8c5a63b119060abbe5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36701
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
This allows us to roll all Vulkan- and SPIRV-related dependencies
simultaneously (which are often inter-dependent).
This change also implicitly rolls the dependencies to the revs in ANGLE.
Change-Id: I50a1e5b2ef706ffbfbc22f5783321820bb50ae96
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36500
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This patch enables all the tests in CompressedTextureZeroInitTest
on Windows/Intel/Vulkan after the upgrade of Dawn try bots.
BUG=dawn:601
TEST=dawn_end2end_tests
Change-Id: Ida4278ae50ef45b2347462be986e5490a921f988
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36560
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
After the server is destroyed, the server's can't do anything like
forward callbacks to the client. Track this with a weak_ptr and
return early if it has expired.
It also updates device destruction in dawn_native so the lost
callback is always called, even on graceful destruction. This
is consistent with the rest of WebGPU where all callbacks are
guaranteed to be called in finite time.
Bug: chromium:1147416, chromium:1161943
Change-Id: Ib80dea36517401a2b8eafb01ded255ebbe757aef
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35840
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
It's come up multiple times that ASAN doesn't support
std::nothrow which leads to OOM bugs filed by the fuzzers.
Use a common helper to avoid this and return nullptr for large
allocations when ASAN is enabled.
Bug: none
Change-Id: I492b4ff4e498cf82d4ca08ba849671d3d16b9cfb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36280
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
In timestamp compute shader, we will create an internal buffer for
resolving QuerySet and use it as input buffer in compute shader,
the user-provided resolve buffer is used as output buffer.
This will cause the buffer zero initialization to be called twice,
one is the internal buffer is zero initialized in ResolveQuerySet,
antoher is the user-provided buffer is tracked as pass resource
and need to be initialized. But for ResolveQuerySet(), we expect
there is only once.
We have no special requirements to have an internal buffer. It is
possible to directly use the user-provided buffer for read and
write becuase it will get STORAGE_INTERNAL usage.
Bug: dawn:434
Change-Id: Ia8c8ac6e9ba23fea31468a6d9b4580eece189be2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36201
Commit-Queue: Hao Li <hao.x.li@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
- Get timestamp period on each backend
D3D12: Get GPU frequency(HZ) from queue and calculate the period in ns
Vulkan: Get timestampPeriod from device properties
Metal and others: don't need the period
Bug: dawn:434
Change-Id: Ia5588a3dccadfe92d7384b9fdf1e6848c6e5c6e2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36220
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
This patch fixes a bug in the implementation of the toggle
UseTemporaryBufferInCompressedTextureToTextureCopy on Vulkan backend.
The previous implementation only considered the T2T one-layer copies,
which will cause the validation error by Vulkan validation layer. This
patch fixes this issue by adding the missing support of multi-layer
copies.
This patch also fixes the failures in the WebGPU CTS tests
color_textures,compressed,array,* on the Linux/Vulkan backends with
Vulkan validation layer enabled.
BUG=dawn:42, chromium:1161355
TEST=dawn_end2end_tests
Change-Id: Ic437919a843b8439d267b8d75b27ade3a9e7bcae
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36260
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>