David Neto
4a19eeff2c
Fixing include-what-you-use in SPIR-V parser
...
Change-Id: If9eeb92dd50bd88e3dcc8b0a8966812a96a153a2
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/17287
Reviewed-by: dan sinclair <dsinclair@google.com >
2020-03-18 20:32:49 +00:00
dan sinclair
8347687117
Split WGSL generator tests to individual files.
...
This makes it easier to find and track tests as the generator grows.
Bug: tint:4
Change-Id: I9660e459f3ffd33f3048a331f23623318af013e0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16840
Reviewed-by: David Neto <dneto@google.com >
2020-03-18 20:10:44 +00:00
David Neto
0afb943ebf
add ast::Module::to_str
...
This makes it easier to see the bug.
Bug: tint:22
Change-Id: Ic5acc0b8299ef31eb73b49863bc42ac09de6e9bf
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/17203
Reviewed-by: dan sinclair <dsinclair@google.com >
2020-03-18 20:09:44 +00:00
dan sinclair
9d9d7cd29d
Add ArrayAccessor to output expressions.
...
This CL extends the WGSL writer to output ArrayAccessorExpression the
initializers are also output so we can test the array[5] syntax..
Bug: tint:4
Change-Id: I560ca6af4d714e13b136f6ded2fb3329e309c9ca
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16820
Reviewed-by: David Neto <dneto@google.com >
2020-03-18 20:05:44 +00:00
dan sinclair
4b71b9ed2b
Expand build flags for Tint.
...
This CL extends the build options to Tint to make the various readers
and writers all optional.
Change-Id: I913e1830b1bb2243eff5deb4b8079ba592dd52e1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16801
Reviewed-by: David Neto <dneto@google.com >
2020-03-18 14:08:48 +00:00
dan sinclair
e4392c9ab5
Create SPIR-V writer skeleton.
...
This CL creates the skeleton for the SPIR-V writer.
Bug: tint:5
Change-Id: I849d8766d32d48314a51096710272f9821e2c1c4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16641
Reviewed-by: David Neto <dneto@google.com >
2020-03-17 21:00:22 +00:00
dan sinclair
3040f618a5
Remove assert in test.
...
The `assert` will compile out in Release builds so we don't actually
parse the module, which means we're always testing against an empty
module and the tests fail.
Bug: tint:22
Change-Id: I49a1f8fc8ec6231a65f4f17e385cff576c4f0d06
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/17204
Reviewed-by: David Neto <dneto@google.com >
2020-03-17 20:38:18 +00:00
David Neto
881cdede29
Fix include guards for SPV -> SPIRV
...
Bug: tint:3
Change-Id: I34a7c8e7dd0116968d2614441b3bcb81d7e5c4e7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/17202
Reviewed-by: dan sinclair <dsinclair@google.com >
2020-03-17 20:08:25 +00:00
David Neto
4df5d409c4
Rename tint::reader::spv -> tint::reader::spirv
...
Bug: tint:3
Change-Id: Iabee55bc75f60c04d00cd1560721def903052359
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/17001
Reviewed-by: dan sinclair <dsinclair@google.com >
2020-03-17 20:08:06 +00:00
David Neto
4e7f7da729
Rename reader/spv to reader/spirv
...
Bug: tint:3
Change-Id: I7707e2f9e51c1574e5dde18c83957573671dac70
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/17000
Reviewed-by: dan sinclair <dsinclair@google.com >
2020-03-17 20:07:41 +00:00
David Neto
3ac99398b5
spv: Parse OpExtInst for GLSL.std.450
...
It will always use the "std::glsl" import name.
Remember all the IDs of such imports.
Never add more than one GLSL.std.450 import to the AST.
Also refactor the Assemble test helper into its own file.
Bug: tint:3
Change-Id: I5b2b70ea0f00d44aacf553aa009756dff2a4cecf
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16662
Reviewed-by: dan sinclair <dsinclair@google.com >
2020-03-17 16:14:10 +00:00
dan sinclair
c83578038a
Disable lint warnings in fail stream test.
...
This CL marks the specific `bool` test as NOLINT in fail_stream to stop
the linter from emitting errors.
Change-Id: Ifa3d9b0a2e0f06bcd0d48cbe79f8dbe91fe7b4ef
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/17061
Reviewed-by: David Neto <dneto@google.com >
2020-03-17 16:13:31 +00:00
Dan Sinclair
45d585f5ae
Add unit test for VariableStatement.
...
This CL adds unit tests for the VariableStatement AST element.
Bug: tint:11
Change-Id: I36d1b134e4c1c93ee414c29e8bb8d5e7e9704da6
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16760
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 14:59:46 +00:00
Dan Sinclair
1e31f161db
Add Variable test for invalid initializer.
...
This CL adds a test to the variable AST node to verify the initializer
is valid.
Bug: tint:11
Change-Id: I95553e8572124e8e2e861b451003e5c9bf6358f1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16743
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 14:59:06 +00:00
Dan Sinclair
02d94b2903
Add UnlessStatement tests.
...
This CL adds tests for the UnlessStatement AST elements.
Bug: tint:11
Change-Id: Icd003e81925d60c6681e447be2f1a5610564eda7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16742
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 14:57:16 +00:00
Dan Sinclair
750d0e7bd1
Add unit tests for UnaryOpExpression
...
This CL adds unit tests for the UnaryOpExpression AST element.
Bug: tint:11
Change-Id: I086d167c3b2ef0764a45a41268222254adba4017
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16741
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 14:25:02 +00:00
Dan Sinclair
8584c6f7fe
Add unit tests for UnaryMethodExpression.
...
This CL adds unit tests for the UnaryMethodExpression AST element.
Bug: tint:11
Change-Id: I5e99bb15f1333c1fa7ff34efafd86739c6a1d662
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16740
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 14:20:11 +00:00
Dan Sinclair
f4434cd403
Add UnaryDerivativeExpression tests
...
This CL adds tests for the UnaryDerivativeExpression AST element.
Bug: tint:11
Change-Id: Ieabfdcb7940aedc58a3455b74c0ddb508b4859ff
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16673
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 03:54:38 +00:00
Dan Sinclair
5ced2178a6
Add TypeInitializerExpression tests
...
This CL adds unit tests for the TypeInitializerExpression AST element.
Bug: tint:11
Change-Id: I92790563c995038cc5a09afd03e84496b8f41487
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16672
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 03:54:07 +00:00
Dan Sinclair
43aab39237
Add SwitchStatement tests
...
This CL adds tests to the SwitchStatement AST element.
Bug: tint:11
Change-Id: I3e12667d14ab31cc15f6ea8595847f9daf55dc46
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16682
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 03:53:41 +00:00
Dan Sinclair
097c3a544d
Add more StructMember tests.
...
This Cl adds more IsValid tests to the StructMember AST node.
Bug: tint:11
Change-Id: I7fec6fb5e96f025735fd444c74f97d4ded8b3ae6
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16671
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 03:53:06 +00:00
Dan Sinclair
7c44407cd3
Add Struct IsValid tests.
...
This Cl adds tests for the Struct::IsValid to make sure struct members
are also valid.
Bug: tint:11
Change-Id: I49d9f1dd6a6d2da8c49a273466316a849e1d28cd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16670
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 03:52:21 +00:00
Dan Sinclair
0cef04193d
Add SetDecoration to_str test
...
This CL adds a test for the set decorations to_str method.
Bug: tint:11
Change-Id: I06396c1bf59c90aad6a6851cf9695fbee42546a8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16669
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 03:51:55 +00:00
Dan Sinclair
7267a851bf
Add ReturnStatement test
...
This CL adds tests for the ReturnStatement AST node.
Bug: tint:11
Change-Id: Ib20e38e67e07e0ae03d359619cc260bc8d6e3a3b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16668
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 03:51:29 +00:00
Dan Sinclair
33306e1fd1
Add RelationalExpression tests
...
This CL adds test for the RelationalExpression AST node.
Bug: tint:11
Change-Id: Id16e97110423dd9d987b045325696227df0d2913
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16667
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 03:48:36 +00:00
Dan Sinclair
baaa2af393
Add tests for RegardlessStatement
...
This CL adds the test for the RegardlessStatement AST element.
Bug: tint:11
Change-Id: Ide4a126e4fa68e84238985d1379dd80123aea5a8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16666
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-17 03:42:02 +00:00
Dan Sinclair
9964846c98
Add tests for NopStatement.
...
This CL adds tests for the NopStatement AST node.
Bug: tint:11
Change-Id: I890b7f6bc6347ba4f5a67334385feffd24079d5d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16665
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-16 14:31:58 +00:00
Dan Sinclair
3eaf827cc8
More module IsValid tests
...
Bug: tint:11
Change-Id: I1ce2b930f3dbf40791fa68963037e7b9f122658f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16664
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-16 14:17:52 +00:00
Dan Sinclair
f300756eff
Add MemberAccessorExpression tests
...
This CL adds unit tests for the MemberArrayExpression.
Bug: tint:11
Change-Id: I790d27018b516b3b2b79b6ed892c1a0e00b65818
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16681
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-16 14:17:28 +00:00
Dan Sinclair
c99fdb84b5
Add LoopStatement AST tests
...
This CL adds tests for the loop statement AST node.
Bug: tint: 11
Change-Id: I32a3e1d4d40d21e00f4022bd1a2d03ba2ef4f404
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16563
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-16 13:58:53 +00:00
Dan Sinclair
baca71db9a
Add LocationDecoration ToStr test.
...
Bug: tint:11
Change-Id: I8327d2f3961e4d8d74c6339b66ba36218126e63e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16562
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-16 13:47:24 +00:00
Dan Sinclair
ce6f648b9b
Add KillStatement AST tests
...
This CL adds tests for the KillStatement AST element.
Bug: tint:11
Change-Id: I1388051ca0639ddaf6b3f2bd2fa5ea8e492b114c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16561
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-16 13:40:11 +00:00
Dan Sinclair
bb521c0b24
Add tests for if statement AST
...
This CL adds tests for the if statement AST node.
Bug: tint:11
Change-Id: Ice3f281e1dfd72d76f43767f7b3040af862f4a58
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16540
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-16 13:39:44 +00:00
Dan Sinclair
3d1e69767a
Add identifier expression tests
...
This CL adds tests for the identifier expression AST node.
Bug: tint:11
Change-Id: Ie7dd4f1de3d8a23ac7e878285564d8c5fc9e1250
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16502
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-16 13:26:10 +00:00
David Neto
9bb0dc543d
spv: Build internal representation of the SPIR-V
...
For convenience, use the SPIRV-Tools' optimizer representation.
Bug: tint:3
Change-Id: I1b046209584e1e907045d496b0f8d7b36fca79bd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16660
Reviewed-by: dan sinclair <dsinclair@google.com >
2020-03-13 20:21:45 +00:00
David Neto
e5dc367a7e
spv: reject invalid SPIR-V
...
Use the SPIRV-Tools validator, with the WebGPU0 environment.
Bug: tint:3
Change-Id: Id1132d209fd939ed68587034761e97da9b35b21d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16821
Reviewed-by: dan sinclair <dsinclair@google.com >
2020-03-13 20:18:06 +00:00
David Neto
1ae7c7dba9
Add SPIR-V parser impl
...
The parser impl saves a copy of the SPIR-V binary.
Bug: tint:3
Change-Id: I5d61c87123c0bcb417d0c7004e0ef4e3c8fbb027
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16642
Reviewed-by: dan sinclair <dsinclair@google.com >
2020-03-13 20:14:33 +00:00
dan sinclair
306a2f8381
Add IdentifierExpression to WGSL writer.
...
This CL extends the WGSL writer to output IdentiferExpression and fills
out the variable with initializer test case and implementation.
Bug: tint:4
Change-Id: I9db9affb5ec4c4c109488f60bbc81bf3a96eee35
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16744
Reviewed-by: David Neto <dneto@google.com >
2020-03-12 12:43:05 +00:00
dan sinclair
d9e9ff3be5
Start WGSL writer
...
This CL is the start of a WGSL writer.
Bug: tint:4
Change-Id: Ib2c2580d9e50c36664088556d9b8feec76935211
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16560
Reviewed-by: David Neto <dneto@google.com >
2020-03-12 12:40:01 +00:00
dan sinclair
37dbf99e34
Always define TINT_BUILD_SPV_PARSER.
...
This CL always sets the define for building the SPV_PARSER. This fixes
undefined errors on certian platforms.
Change-Id: I5f84295cb7ddf23d64efd9a4d00717c84bc698aa
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16800
Reviewed-by: David Neto <dneto@google.com >
Commit-Queue: David Neto <dneto@google.com >
2020-03-11 18:43:12 +00:00
David Neto
ab0cdaf652
Add a FailStream error reporting helper
...
Bug: tint:3
Change-Id: Ie0bb2365a7dd6b2a5e9d0960593fac7586b02922
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16640
Reviewed-by: dan sinclair <dsinclair@google.com >
2020-03-10 22:54:46 +00:00
David Neto
f814bdc52a
Add stub unit tests for spv parser
...
Bug: tint:3
Change-Id: I6957cddbdadbcf493fc8f1e3dbe0c6d9037dc56b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16620
Reviewed-by: dan sinclair <dsinclair@google.com >
2020-03-10 22:54:31 +00:00
David Neto
bbd8987e71
Instantiate a stubbed SPIR-V parser if file ends in .spv
...
- spv parser just errors out for now
- link against SPIRV-Tools-opt
- Fixe CMake variable TINT_ENABLE_SPV_PARSER --> TINT_BUILD_SPV_PARSER
Bug: tint:3
Change-Id: Ie4ef9b03e001fca3cc11f65a425612755857feac
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16600
Reviewed-by: dan sinclair <dsinclair@google.com >
2020-03-10 22:54:12 +00:00
Dan Sinclair
49faa4c8d7
Add function tests
...
This CL adds tests for the function node.
Bug: tint:11
Change-Id: I10b1fb73ae93bf90162948ab42e2a74d4aca7987
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16501
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-10 19:19:28 +00:00
Dan Sinclair
9c48ddb917
Add fallthrough statement tests
...
This CL adds tests for the fallthrough statement.
Bug: tint:11
Change-Id: I1bc8677e00aa9eb446a096bd2600104550480d77
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16500
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-10 19:19:18 +00:00
Dan Sinclair
cc9d7851e1
Add builtin decoration to_str test.
...
This CL adds a test for the to_str method of the BuiltinDecoration.
Bug: tint:11
Change-Id: Ia350058fc4f551d62195527f0a6b86751ba92b8c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16481
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-10 19:19:06 +00:00
Dan Sinclair
d70d07c5b9
Add binding decoration to string test
...
This CL adds a test for the binding decoration to_str method.
Bug: tint:11
Change-Id: Id9d16bdb68c4b68fb8bd67dae898f8b7a17ee6c9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16468
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-10 19:18:51 +00:00
Dan Sinclair
89b2aa1207
Extend entry point to str testing
...
This CL adds more tests for the entry point to str method.
Bug: tint:11
Change-Id: I54bb349d606d05221d649215b7b2c6477cca6819
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16480
Reviewed-by: David Neto <dneto@google.com >
2020-03-10 19:18:29 +00:00
Dan Sinclair
18747b657a
Extend array accessor validity checks
...
This Cl extends the array accessor to verify the sub expressions are
also valid.
Bug: tint:11
Change-Id: Ieaa9643e07deaa8c406743c3bbb6fbe3ca9cb1ef
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16467
Commit-Queue: Sarah Mashayekhi <sarahmashay@google.com >
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-10 19:11:35 +00:00
Dan Sinclair
adb80f005a
Add else statement AST tests
...
This CL adds tests for the else statement AST node.
Bug: tint:11
Change-Id: I30c024775d188223d5a3875ee973ffc8ac78c645
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16466
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
Commit-Queue: Sarah Mashayekhi <sarahmashay@google.com >
2020-03-10 17:48:25 +00:00