This CL adds diagnostics for the ast nodes which would come before
override substitution. The struct member attributes are marked as ICE as
they should never be encountered. The Struct declaration is ignored as
we will get the `type::Struct` from the semantic usage.
Bug: tint:1718
Change-Id: I8c51787f1455d02e822f222f43a9606a844eed3c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116549
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
This Cl updates the flow node tests to compare against a disassembled
output instead of explicit expect statements. This makes it easier to
see the structure of the IR and to determine any changes.
Bug: tint:1718
Change-Id: I5b8ab42ada4ba902e8937099c7058a39533f2010
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116548
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
This CL expands the disassembler output and makes a bit more useful. The
case selector value is changed to an `ir::Constant` instead of the
`constant::Value` to make disassembly easier. The `BuilderImpl` is
updated to not fail in the face of missing implementation but continue
as best as possible.
Bug: tint:1718
Change-Id: I8b275a19bccbb02bb785d311778198bb0c9e0456
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116547
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
When branching to a different flow node, there is a need to pass
arguments to the branch. These arguments could be the value of the
return.
This extracts a `Branch` out to an object with a target and arguments
and then updates the IR to use the new Branch structure.
Bug: tint:1718
Change-Id: Ic8de8046f58056327a04c8afe3b597810c80ccdb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116546
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
With the CTS global timeout extended, and tweaks to how const-eval loops are emitted, we now have a whole lot of passing tests.
Adjust the 'Slow' threshold to account for the new global timeout.
Cq-Include-Trybots: luci.chromium.try:dawn-try-win10-x86-rel,linux-dawn-rel,mac-dawn-rel,win-dawn-rel
Change-Id: I9a4d3278048e72e6560552164522395423dedf99
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116296
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
This CL converts the case selectors over from ast CaseSelectors to IR
CaseSelectors. They work the same way in that a `nullptr` value signals
a `default` selector but they only store the resulting `constant::Value`
instead of the `ast::Expression`.
Bug: tint:1718
Change-Id: Ied62d661e03a7f8da4c1e1bdaccc04f21ab38111
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116364
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
The call to Queue::WriteTexture was passing a size that was bigger than
the array of data being used. This caused an ASAN failure when running
with the wire, because the serialization of the command would memcpy
past the end of the data.
Bug: dawn:1625
Change-Id: I2a00f2e32e3d8f8ff66d85575d1908480861f153
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116288
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
This patch enables all the dawn_end2end_tests that fail with old
Windows Intel driver but pass on the newer ones after the driver
of the bots being upgraded to 31.0.101.2111.
Bug: dawn:416, dawn:815, dawn:1070
Test: dawn_end2end_tests
Change-Id: I3022ff09a6c2be21f1c99fab0077743f84f83b34
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116133
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Accept any type in the intrinsics definition, and then manually
validate that there are no atomics in the type. Add manual E2E tests
for composite types.
Use the BuiltinPolyfill transform to implement it for all backends.
Update the uniformity analysis with special-case tags for the builtin.
Fixed: tint:1780
Change-Id: I95786dff4df70a0b16ed1c53b853b5d0ec6bc501
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/114862
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Kokoro: James Price <jrprice@google.com>
And unroll const-eval expression test loops on non-windows platforms, in an
attempt to avoid test timeouts on devices that perform poorly with constant array
indexing inside loops.
Regenerated:
- expectations.txt
- ts_sources.txt
- test_list.txt
- cache_list.txt
- resource_files.txt
- webtest .html files
0673bb68c2..6d3a80420d
- 6d3a80 Add flag to unroll const-eval loops
Created with './tools/run cts roll'
Cq-Include-Trybots: luci.chromium.try:dawn-try-win10-x86-rel,linux-dawn-rel,mac-dawn-rel,win-dawn-rel
Include-Ci-Only-Tests: true
Change-Id: Ida17dbab3eeed1e30610af63d036c3d43ceafa68
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116292
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Start using Tint's ClampFragDepth transform in the Vulkan backend when
needed in order to correctly clamp @builtin(frag_depth) on Vulkan. Do
this by always reserving 8 bytes of push constant space to contain the
f32 min and max values from the last viewport command.
Reenables relevant CTS tests that were suppressed on Vulkan.
Bug: dawn:1125, dawn:1576, dawn:1616
Change-Id: I38f4f6c3c51c99b5e591a780fea9859537529534
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/105642
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Regenerated:
- expectations.txt
- ts_sources.txt
- test_list.txt
- cache_list.txt
- resource_files.txt
- webtest .html files
09447faf1a..0673bb68c2
- 0673bb Fix silencing of DOMExceptions (#2102)
- d85507 Test beginComputePass/RenderPass after encoder.finish() in call_after_successful_finish (#2093)
- 861b20 Update kMaxQueryCount to 4096 (#2104)
- 030f44 Add some progress
- 62dbcc Support dark mode
- 6a7030 Buffer.mapAsync pending map error shouldn't be a validation error (#2080)
- 44173e Test all stencil formats, and address some nits in depth_bias/stencil tests (#2096)
- 172002 op: Update 'stencil_compare_func' test in stencil.spec.ts (#2094)
- f12820 op: Implement 'depth_bias_24bit_format' test in depth_bias.spec.ts (#2095)
- 5f2708 Add earlyRejection parameter to testMapAsyncCall() (#2052)
- dcdcb3 op: Implement 'stencil_depthFailOp_operation' test in stencil.spec.ts (#2092)
- d13c42 op: Update 'stencil_test_fail' test (#2091)
- 5daf3c Fix wrong _errorLine in operation/shader_module/compilation_info.spec.ts (#2088)
- 47d19f op: Introduce depth_bias.spec.ts file with a 'depth_bias' test (#2075)
- 7a679a Prefix subcase recorder error stacks with the subcase name (#2086)
- 17522c fix requestAdapter test.
- 5a5838 Implement CTS requestAdapter test
- e583fa Add 'skipUndefined' Comparator (#2082)
- e0e735 Remove usage of Case Cache in `pack2x16float`
- eb5794 Update copyTextureToTexture tests to allow both encodings of -1 for 8-byte snorm formats (#2073)
- 516d19 Expect DataCloneError when transferring a detached mapped ArrayBuffer (#2076)
- 8985b5 Filter inputs that will cause const-eval to fail validation due to OOB
- 216c8e Remove attempting to emit infinities in WGSL (#2059)
- b99b81 Adds explicit check that mapAsync rejects when buffer is destroyed. (#2069)
- ae20ff Add code coverage collection feature to the server
- 1ff6ae Implement generate*Cases functions and use them (#2062)
- 7e99a7 op: Implement 'depth_test_fail' test in depth.spec.ts (#2067)
- b701c5 Add val:*_pipeline,overrides,value,type_error/validation_error (#2061)
- b6f758 op: Implement 'stencil_reference_initialized' test in stencil.spec.ts (#2063)
- 89bf5e Also test depthWriteEnabled:true in depth_write_disabled (#2065)
- 40e3ae op: Implement 'depth_disabled' test in depth.spec.ts (#2050)
- 677ece op: Implement 'depth_write_disabled' test in depth.spec.ts (#2024)
- a6b97c Remove infinities from all f32 test inputs (#2056)
- 41a1e5 Replace usage of vector inputs with fullF32Range for arithmetic tests (#2053)
- 16bb08 wgsl: Add tests for preservation of padding bytes (#2051)
- 7d16f8 op: Implmenet 'stencil_pass_operation' test in stencil.spec.ts (#2055)
- dcc430 op: Implement stencil_read_write_mask test in stencil.spec.ts (#2043)
- f539a2 op: Implement stencil_fail_operation test in stencil.spec.ts (#2044)
- 8041ca update deps for various packages (#2041)
- 09b30e op: Implement 'stencil_compare_func' test in stencil.spec.ts (#2032)
- c6efbf Except a TypeError when transferring a mapped ArrayBuffer (#2019)
- dd4316 op: Add more parameters to 'color_write_mask,channel_work' test (#2025)
- b66a1a Replace calls to F32Interval constructor with toF32Interval (#2037)
- fdab6c Clean up a couple of .map in f32_interval.spec.ts tests (#2038)
- 40abc0 Test buffer.mapAsync() early rejection (#2033)
- 25ddea Handle inputs that are arrays in `cartesianProduct` (#2031)
- 0e790f Only try to generate errors for testable error filters (#2034)
- 57304e Fix workgroup array size limit validation test (#2035)
Created with './tools/run cts roll'
Change-Id: I9b6e2b8526fc62acbf915b5e8153d32ae02c7a14
Cq-Include-Trybots: luci.chromium.try:dawn-try-win10-x86-rel,linux-dawn-rel,mac-dawn-rel,win-dawn-rel
Include-Ci-Only-Tests: true
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116420
Auto-Submit: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
The toggle D3D12ForceClearCopyableDepthStencilTextureOnCreation can be
disabled when the toggle D3D12Allocate2DTexturewithCopyDstAsCommittedResource
is enabled because with D3D12Allocate2DTexturewithCopyDstAsCommittedResource
all the depth stencil textures (can only be 2D textures) with CopyDst usage
have already been created with CreateCommittedResource() instead of
CreatePlacedResource(), thus the driver issue about creating depth stencil
texture on a dirty heap with CreatePlacedResource() won't be triggered.
Bug: dawn:1487, chromium:1237175
Change-Id: I872d4d95e6e05e1bcf9489b31a72e61f957de3e5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116129
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>