- Fixes stack-buffer-overflow issue caused due to memcpy due to typing in recording fundamental array types.
This is a reland of commit ca11c03824
Original change's description:
> Add render pipeline cache key generation for Vulkan.
>
> Bug: dawn:549
> Change-Id: I0c0607984193ddcc2add05594517638e5370484d
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85863
> Reviewed-by: Austin Eng <enga@chromium.org>
> Commit-Queue: Loko Kung <lokokung@google.com>
Bug: dawn:549, dawn:1368
Change-Id: I6a62fa6e64873f2c487e9926190515cb5cc27bcf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86743
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
BUG=chromium:1314527
Change-Id: I05adbe671c4f30fe3e59829cd370a59347c8ed51
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86760
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
- Changed path to include only vulkan-tools directory to allow for easier configuration in Skia which cannot use vulkan-deps at the moment.
Bug: dawn:1365
Change-Id: Icbd0d3503b4af9d89b23f89c87f18fde814062f6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86582
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
dcba3ac6b8..5e83d8349b
$ git log dcba3ac6b..5e83d8349 --date=short --no-merges --format='%ad %ae %s'
2022-04-13 cwallez Reduce the length of subresource test names (#1164)
2022-04-13 cwallez zero_init: add constant zero to prevent driver unrolling loops. (#1163)
2022-04-13 jiawei.shao Add validation,resource_usages,texture,in_render_misc:* - Part II (#1161)
2022-04-13 jiawei.shao Add validation,resource_usages,texture,in_render_misc:* - Part I (#1157)
2022-04-11 enga Test view format reinterpretation (#1126)
2022-04-11 litherum Only 2D textures can be marked as render targets (#1155)
2022-04-08 cwallez operation,image_copy: Add support for depth16unorm (#1154)
2022-04-08 cwallez image_copy,mip_levels: reduce the mip level count. (#1151)
2022-04-08 cwallez depth_compare_func: Don't use 0.5 as depth16unorm rounds either way (#1152)
2022-04-08 cwallez Fix tests trying to copy aspects of depth-stencil textures. (#1146)
2022-04-08 cwallez depth_clip_clamp: only set stencilLoadOp and friends when needed. (#1153)
2022-04-08 cwallez Fix validation errors with depth/StencilLoad/StoreOp set when not allowed. (#1145)
2022-04-08 enga Shorten test and param lengths in resource_usages,texture,in_render_common:* (#1144)
2022-04-08 jiawei.shao Add validation,resource_usages,texture,in_render_common:* - Part V (#1150)
2022-04-06 cwallez val,buffer,create: Buffer sizes don't have to be multiple of 4. (#1140)
2022-04-06 cwallez image_copy: Ensure bufferOffset % 4 == 0 for depth-stencil. (#1139)
2022-04-06 jiawei.shao Add validation,resource_usages,texture,in_render_common:* - Part IV (#1132)
2022-04-05 enga Fix infinite recursion in CopyExternalImageToTexture.spec.ts (#1143)
2022-04-05 cwallez Use globalThis instead of self. (#1141)
2022-04-05 cwallez val/copyT2T,format_compat: Don't assume compressed is always 4x4 (#1134)
2022-04-05 cwallez Fix DSAttachment load/store ops being specified when disallowed. (#1136)
2022-04-05 cwallez Fix test of BGL binding limits to correctly check limits (#1137)
2022-04-04 cwallez Fix a validation error caused by WriteTexture bytesPerRow: t.width (#1133)
2022-04-04 cwallez Add unicode tests for entryPoint matching. (#1131)
2022-04-04 cwallez writeBuffer: an unaligned bufferOffset is a validation error. (#1129)
Created with:
roll-dep third_party/webgpu-cts
Change-Id: I048afcaf3d33bcd67401412bf235181013ebf6d2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86533
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
So we can begin running the CTS on SwiftShader and add targeted
suppressions when necessary.
Bug: chromium:1315703
Change-Id: Ic68e43ad0d79830b3ef5559ea1de0133d48ea43c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86626
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
The kokoro bots are running at a different level of verbosity than
the presubmit check. This CL ups the verbosity level for presubmit
to match kokoro and suppresses any new lint warnings which are
produced by the change.
The set of always removed filter options used by PRESUBMIT are
copied into the CPPLINT.cfg main file in order for kokoro to
match the errors presented by the CQ.
Bug: dawn:1339
Change-Id: I875a06bc2ed929d5dbaaa933282e3afa2559a7af
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86627
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
This helps people looking at samples on how to use Dawn from getting
confused when implementation-based swapchains break (because they were
just made to be good enough N years ago).
Fixed: dawn:1361
Change-Id: Ia989fca4d0455fb8e0ff754056a3d60eb2958b04
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86531
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This CL fixes the build/c++11 found by the kokoro bots.
Change-Id: Ic6ebc4ddf0f7bd25b20e4059d9f6c1c024fd71aa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86625
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Use templated functions to make calling SetDebugLabel safer, with
less opportunities to screw up the casting and automatic lookup
of the VkObjectType for most handles.
Change-Id: I0938ad6fd7d5fe81569bdee5bc7ec7e396db7bcd
Bug: dawn:1323
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86580
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Brandon Jones <bajones@google.com>
Bug: dawn:549
Change-Id: I0c0607984193ddcc2add05594517638e5370484d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85863
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
- Note that the device-side cache key will be prepended to object cache keys to prevent incompatible adapter/device cache clashes.
- Adds a new template file to auto=generate these cache serializers based on arguments.
Bug: dawn:549
Change-Id: I24b9d11eb38c579acfcc173a5dced9e1b649cf2c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86081
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
Wraps the luci package to make it a bit friendlier.
Bug: dawn:1342
Change-Id: I70bf01b7ef5fcf210a2ff7ccafa49ea0720ae125
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86526
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
This CL removes two redundant override annotations in the include/dawn
folder. The override is redundant due to the final attribute.
This fixes readability/inheritance in include/dawn.
Bug: dawn:1339
Change-Id: I8d58d099ec36f379b2f0beb55007aafc64dab7c1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86445
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
This CL moves a couple of the import statements around in order to make
the build/include_order lint pass in include/dawn.
Bug: dawn:1339
Change-Id: I0570d150e938ebd27beda3d9d1516491344999b2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86444
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
The tint regex fuzzer is disabling the c++11 lints, but nothing fails
when the file is removed.
Change-Id: I2d9f780694fb6bd340bd0cbbf4addf15858d28ee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86440
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
This CL adds explicit to various single argument constructors. The
explicit is removed from zero argument constructors. None of these
changes required call sites to change.
Bug: dawn:1339
Change-Id: I7dfcf1b393e7dd379e29cd9bc613cb0626a9a967
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86365
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
This CL adds some explicit notations to single argument constructors in
the include/dawn folder.
Bug: dawn:1339
Change-Id: Ie4e31bf68f920acfcfb27828a465e45fe0977af6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86443
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
This is a small rework to try to make the template better handle
functions that aren't associated with an object, when during an
unrelated patch I got confused that APICreateInstance didn't appear in
dawn::native.
Change-Id: If5a2aa3f9e348d1847e48fec4e90e5966ddd489d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86530
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
using directory for actions output causes issue like
crbug.com/1315457
ninja explain: output obj/third_party/dawn/src/tint/fuzzers/tint_generate_wgsl_corpus.stamp older than most recent input gen/third_party/dawn/src/tint/fuzzers/fuzzer_corpus_wgsl (1649712735 vs
1649712999)
Use stamp file instead of directory.
Bug: chromium:1315457, chromium:1314527
Change-Id: Ifdf0493e23dbab000513e8f2c0ae4aa8cd76444f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86482
Auto-Submit: Fumitoshi Ukai <ukai@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Rename 'Auth' to 'Credentials' to match the gerrit package.
Add a couple more helpers, and add more comments.
Bug: dawn:1342
Change-Id: Ieb6d12d23bb71678e04ff694ab9085a8f5367437
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86525
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Add more helpers for interfacing with Gerrit.
Move dawn-specific constants out to a new 'dawn' package. Keeps the
packages dawn-specific-free.
Bug: dawn:1342
Change-Id: Iaebe0b68d877340fc848d711c848d01705ddae57
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86524
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
This has been superseded with the end-to-end test runner.
Change-Id: I628cf9578313a43d8423abab3dfbacf398a8c6ba
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86522
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Add a new muxWriter and use this for stdout writing to ensure
that stdout printing does not tear.
Bug: dawn:1123
Change-Id: Iec1ba16e5524c11bfc00ba38b3e4de3c06627fb1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85366
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
The generator/template folder has a CPPLINT.cfg which covers the
templates already so the generator one isn't required.
Change-Id: Ie1212475cd3a18daaf8a2425f3589c1f1b98b962
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86441
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This CL adds the two missing copyright headers to files under src/dawn
and enables the lint flag by default.
Bug: dawn:1339
Change-Id: I3c3ec47b7f93dabadd0934fb93042f695e7e96fc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86360
Reviewed-by: Ben Clayton <bclayton@google.com>
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This CL adds copyright headers to the two files in the include/webgpu
folder.
Bug: tint:1339
Change-Id: I6259ec0acd85d1ae9f6a8948d57ffa670d2cba6d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86361
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Queue labels can be set by the defaultQueue.label member of the device
descriptor or the setQueue method.
Device labels can be set label member of the device
descriptor or the setQueue method.
D3D12 and VK backend label support included.
Bug: dawn:1323
Change-Id: Ic44f1fac268c20d5338220eaf959d949a5f66536
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85843
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
Remove the default override for TINT_BUILD_DOCS.
Update the Doxyfile to only consider Tint.
Re-enable Kokoro checks.
Fixed: tint:1498
Bug: dawn:1339
Change-Id: I8bf5d7085452b42a6ed564c0f86ed7cbd85128b0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86381
Kokoro-Run: Ben Clayton <bclayton@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
About comparisons of different datatypes
Bug: dawn:1123
Change-Id: Iefdb8195041b824f63344a0b367fd5bebbe3ca85
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86308
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Remove transform::Glsl and replace with a Sanitize function. Cleans up
the code, reduces allocations and copies, and makes it consistent with
the other backends.
Also add a copy of src/tint/.clang-format to include/tint/ to keep files
in there formatted as per the tint standard.
Bug: tint:1495
Change-Id: I8a44ffecc6b3d244517bceb374ed93063e96f218
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86205
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro-Run: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Also opportunistically optimize out the copying of the spir-v result
vector by moving it instead.
Bug: tint:1495
Change-Id: Ia2c3b3c09e7a23822eb8a782ce57b1fa11a0b54d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86204
Reviewed-by: David Neto <dneto@google.com>
Kokoro-Run: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Wrap `napi.h` with a Dawn header that defines `NAPI_DISABLE_CPP_EXCEPTIONS`, and then includes the napi.h header.
Required now that CMake correctly disables exceptions with `-fno-exceptions`.
Change-Id: If31b28d331f2071a0119339c60cc3ab8ab801a98
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86301
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>