This CL reverts the changes to use the top level namer in the various
backends. This is causing issues when rolling into Dawn in the case
where the tint generator is used to create SPIR-V which is sent to
SPIRV-Cross but then generator and inspector aren't used. The entry
points end up being incorrect as SPIRV-Cross gets the renamed entry
points.
Change-Id: I4749e1d773f2bd9edcce83e63555f07a443d5ca5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37342
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Currently Dawn may use the tint generator or the SPIRV-Cross generator.
In the case of SPIRV-Cross, we need to generate the SPIR-V with the
original names otherwise SPIRV-Cross won't be able to match up the entry
point name with the names in the shader.
Change-Id: Ica473030009b282fee352f2d1c1acc93f1db592c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37222
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
`DetermineStorageTextureSubtype()` may add types to the module while these types are being iterated over, leading to UB.
To work around, collect all the storage texture types into a vector first, and iterate over these.
Change-Id: Ib94b1df52d6ccbbf635a6d89eeeabef46ba03416
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37261
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Automatically prints a newline at the end of the last diagnostic in a list. Defaults to true.
Disabled for many tests that assume no newline at end of string.
Change-Id: Id1c2f7771f03f22d926fafc2bebebcef056ac5e8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37260
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
This CL adds an extra constructor to the inspector to change the namer
user. The inspector tests are then updated to use the test namer.
Change-Id: Ibc91de89b52161dc125b38d65e445b5833ad6c18
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36943
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
This CL changes the generators so we don't have to move the module into
the generator. This will then allow calling the demangler at a later
point and still having access to the module.
Change-Id: Icad16ddb2b89921cbb174cf7fec520c410139285
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36942
Reviewed-by: Ben Clayton <bclayton@google.com>
Roll third_party/spirv-tools/ 8f4b35c33..f3ccb633d (11 commits)
8f4b35c332..f3ccb633df
$ git log 8f4b35c33..f3ccb633d --date=short --no-merges --format='%ad %ae %s'
2021-01-07 dneto use std::string::empty() to test for emptiness (#4098)
2021-01-07 46493288+sfricke-samsung spirv-val: Label standalone Vulkan VUID (#4091)
2021-01-06 46493288+sfricke-samsung spirv-val: Add Vulkan decroation VUID (#4090)
2021-01-06 stevenperron Fix binding number calculation in desc sroa (#4095)
2021-01-06 stevenperron Build deps: dump ini from 1.3.5 to 1.3.7 in tools/sva (#4092)
2021-01-06 46493288+sfricke-samsung spirv-val: Add Vulkan FP Mode VUID (#4088)
2021-01-06 46493288+sfricke-samsung spirv-val: Fix Vulkan image sampled check (#4085)
2021-01-06 46493288+sfricke-samsung spirv-val: Add Vulkan ForwardPointer VUID (#4089)
2021-01-06 46493288+sfricke-samsung spirv-val: Add Vulkan ImageTexelPointer format check (#4087)
2021-01-05 46493288+sfricke-samsung spirv-val: Add Vulkan Group Operation VUID (#4086)
2020-12-17 46493288+sfricke-samsung spirv-val: Add first StandAlone VUID 04633 (#4077)
Created with:
roll-dep third_party/spirv-tools
Change-Id: Ia8b6b998358881be7c48f84a6a046827d09d7743
Roll third_party/gpuweb-cts/ 46c7b591c..1ba84a62a (12 commits)
46c7b591c2..1ba84a62ae
$ git log 46c7b591c..1ba84a62a --date=short --no-merges --format='%ad %ae %s'
2021-01-07 kainino Organize and rename some tests (#429)
2021-01-07 kainino Add plans for texture view reads/writes (#430)
2021-01-07 9856269+sarahM0 [wgsl] Add validation test - v-0033: If the initializer is present, it's store type must match the store type of the variable. (#418)
2021-01-07 9856269+sarahM0 [wgsl] Add validation test - v-0034: The access decoration must only appear on a type used as the store type for a variable in the storage storage class. (#420)
2021-01-06 9856269+sarahM0 [wgsl] add validation test - v-0035: The access decoration is required for variables in the storage storage class. (#421)
2021-01-06 9856269+sarahM0 [wgsl] Add validation test - v-0036: Module scope variable must not be in the function storage class.
2021-01-06 9856269+sarahM0 [wgsl] Add validation test - v-0037: Module scope variables must be declared with an explicit storage class decoration.
2021-01-06 9856269+sarahM0 [wgsl] Add validation test - v-0032: constraints on module variables with an initializers (#417)
2020-12-23 jiawei.shao Add T2T operation tests for all the compressed color formats (#412)
2020-12-22 kainino Catch exceptions in expectValidationError (#416)
2020-12-21 kainino clarify pull request template
2020-12-18 kainino Test fixes found by Chromium automated testing (#415)
Created with:
roll-dep third_party/gpuweb-cts
Change-Id: I9ce04555e4f34259ad501fdae5bda0a8a146a9a8
Roll third_party/googletest/ 18f8200e3..389cb68b8 (3 commits)
18f8200e30..389cb68b87
$ git log 18f8200e3..389cb68b8 --date=short --no-merges --format='%ad %ae %s'
2020-12-21 absl-team Googletest export
2020-12-15 dmauro Googletest export
2020-10-30 chuck.atkins Bump CMake minimum to 2.8.12
Created with:
roll-dep third_party/googletest
Change-Id: Id4aaff4448fdc6f40c2364ead8ebdc7fe8f699f2
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37060
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
This moves the usage of Tint in the fuzzers into a single class. This
will be expanded in the future to support emitting shaders, so fuzzing
tests, just need to indicate which reader & writer they want to use,
instead of having each test implement all of the API usage logic
directly.
BUG=tint:199
Change-Id: Id081a374014b7640a07b267e544ddeba3e6329dd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36760
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Demangle the printed AST before comparing.
Many to_str() methods on AST nodes will print the symbol numerical identifiers, which is not guaranteed to be stable between clones.
By comparing the demangled AST, these should be stable.
Fixed: chromium:1160099
Change-Id: I4e62adbccc690a1531f78dc70cef8480ed6f3f2c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36621
Commit-Queue: Ben Clayton <bclayton@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Remove the logic around `arrayLength()` being passed anything but a member accessor. Runtime arrays types cannot be used for variables nor parameters.
Add validator logic and test for runtime array parameters.
Adjust the validator error message so it doesn't include the field / variable name. This read weird, and the same information is already provided by the source.
Bug: tint:266
Bug: tint:252
Change-Id: Iecedb0524e10a67b4f8ad15635d67fe61e9d69d9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36420
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Fix how handle usage is collected. OpImageQuerySize
is usable for *any* image that is either MS=1 or Sampled=0 or 2.
(Sampled=0 is not allowed by Vulkan).
So it's usable by storage images or multisampled image.
OpImageQuerySizeLod is usable by Sampled=1 MS=0 images, ie. sampled
images.
Fixed: tint:422
Change-Id: Ibfbcab2daa8b38f17758a0428a08cb9660496bac
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36061
Auto-Submit: David Neto <dneto@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>