Ryan Harrison
b07cb63896
Add SPIR-V Reader Fuzzer
...
Also clean up the mess I made of the build rules, so they actually work.
BUG=tint:57
Change-Id: I9c92d043a7be8f51ed7885a29eb153f078cc66d9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/26125
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-30 21:24:29 +00:00
Ryan Harrison
26479f19c7
Remove _exe suffix from sample program
...
BUG=tint:196
Change-Id: I4fb8fb8f00173743792914eff4427c5725bc9266
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/26122
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-30 18:44:14 +00:00
Ryan Harrison
40f16dde22
Change the default for BUILD.gn to build all the modules
...
BUG=tint:198
Change-Id: I88684c14506785545968c3366a5f3e485c829d97
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/26121
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-30 18:44:04 +00:00
Ryan Harrison
1a50cb9064
Simplify fuzzer targets to ease adding additional targets
...
BUG=tint:199
Change-Id: Ic42c8e5ea03f012e2be8e9bdbf46490bdc0048a9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/26120
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-30 18:43:48 +00:00
dan sinclair
753f40b869
Fixup build warnings
...
Change-Id: I7a61bd4363b01bf186e235bf76e97bd513d2fd12
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/26081
Reviewed-by: Ryan Harrison <rharrison@google.com >
2020-07-30 18:18:46 +00:00
dan sinclair
c8a85aa5a9
[wgsl-reader] Add stride support.
...
This CL adds stride support to the WGSL reader.
Bug: tint:178
Change-Id: Id6b5163438e562a371255ad3fb992d0a716543e7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/26040
Reviewed-by: David Neto <dneto@google.com >
2020-07-30 16:50:25 +00:00
dan sinclair
ac4a2894fe
[wgsl-writer] Emit array stride decoration.
...
This CL adds array stride decorations to the WGSL writer.
Bug: tint:179
Change-Id: I39d7625e1bdc876bbf9a83da7af76eb98bd09c28
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/26002
Reviewed-by: David Neto <dneto@google.com >
2020-07-30 16:48:36 +00:00
Idan Raiter
a8e4e2ad5d
Add BlockStatement insert and non-const global_variables
...
Insert will be used for adding code at the beginning of a function, and
non-const global_variables to edit decorations.
Bug: dawn:480
Change-Id: I9fbb0210a95b8488c9ce6d9a536a68f169b0cc33
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25850
Reviewed-by: dan sinclair <dsinclair@chromium.org >
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
2020-07-30 13:59:00 +00:00
Sarah Mashayekhi
a3f9778ee6
[Validator] Using pointers instead of refs
...
Change-Id: I19a1cd27b6cbbc5d5d88a46bc5dd43c66a318b7f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/26004
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-30 02:27:03 +00:00
dan sinclair
f961850988
[hlsl-writer] Add member accessor emission.
...
This CL adds emitting MemberAccessorExpressions to the HLSL backend.
Bug: tint:7
Change-Id: Ic6c99232e98322c8145700d5f1a3a8314cf60feb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25844
Reviewed-by: David Neto <dneto@google.com >
2020-07-29 19:12:19 +00:00
dan sinclair
7cf1979667
[hlsl-writer] Add AsExpression to the HLSL backend.
...
This CL adds as casts to the HLSL backend.
Bug: tint:7
Change-Id: I599527d665a3ec1ab6cf80b4f550f7aee8fdf294
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25843
Reviewed-by: David Neto <dneto@google.com >
2020-07-29 19:11:15 +00:00
dan sinclair
d450a920d5
[hlsl-writer] Add BlockStatement support.
...
This CL adds support for BlockStatement to the HLSL backend.
Bug: tint:7
Change-Id: I953a1b85a05cd84e8e296d677204ae9b5a3ae669
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25860
Reviewed-by: David Neto <dneto@google.com >
2020-07-29 19:06:46 +00:00
dan sinclair
cda5af0fa2
[hlsl-writer] Emit discard.
...
This CL adds the discard statement to the HLSL writer.
Bug: tint:7, tint:166
Change-Id: I292e9b97a1246c9b79a9660ec229ff7855aeb2a9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25842
Reviewed-by: David Neto <dneto@google.com >
2020-07-29 18:56:50 +00:00
dan sinclair
ec007b98c7
[hlsl-writer] Emit array accessors.
...
This CL adds array accessor expressions to the HLSL backend.
Bug: tint:7
Change-Id: I46d60f5d8ef74fee2a2f4da48c2d792969bfa365
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25820
Reviewed-by: David Neto <dneto@google.com >
2020-07-29 18:56:35 +00:00
dan sinclair
0e48082549
[hlsl-writer] Add alias type support.
...
This CL adds support for emitting type aliases to the HLSL backend.
Bug: tint:7
Change-Id: Ibd2c2d3bbe6c9a86033e379b4e1cb494259b4df2
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25800
Reviewed-by: David Neto <dneto@google.com >
Commit-Queue: dan sinclair <dsinclair@chromium.org >
2020-07-29 18:56:25 +00:00
dan sinclair
4a11b5600d
[hlsl-writer] Add constructor emission.
...
This CL adds scalar and type constructor emission to the HLSL backend.
Bug: tint:7
Change-Id: I2b402b7eb66f266c3a111c9b07502ef17cc1a679
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25726
Reviewed-by: David Neto <dneto@google.com >
2020-07-29 18:50:18 +00:00
dan sinclair
4551a31050
Add hlsl writer tests to BUILD.gn
...
The check to add the HLSL tests if needed into the BUILD.gn test list
was missing. This CL adds it.
Bug: tint:7
Change-Id: I662bc49fb4f88543cfb9b3b315deb5a678d169b4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/26001
Reviewed-by: Ryan Harrison <rharrison@google.com >
2020-07-29 18:50:06 +00:00
dan sinclair
8cce7cece8
[hlsl-writer] Add type emission.
...
This Cl adds the start of type emission to the HLSL backend.
Bug: tint:7
Change-Id: I403635080841c63382afe162ac80ae2be30b4faa
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25780
Reviewed-by: David Neto <dneto@google.com >
2020-07-29 18:30:44 +00:00
dan sinclair
bf4614e252
Update some language usage.
...
This CL updates a few bits of language to be inline with the Android
respectful code rules [1].
1- https://source.android.com/setup/contribute/respectful-code
Change-Id: Ia35b58d9003df64eeb1e9196c9c194f8955c11c1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25941
Reviewed-by: David Neto <dneto@google.com >
2020-07-29 17:49:01 +00:00
David Neto
d35e4e1bbe
[spirv-reader] Only support column-major matrices
...
- drop ColMajor, MatrixStride member decoration
- RowMajor matrix decoration is an error
Bug: tint:3, tint:99, tint:31
Change-Id: I7eb1ec53813a4b1ada971e8725dc91ffdf97bd43
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25920
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-29 16:04:23 +00:00
Ryan Harrison
c5cd8f5bd3
Remove binutils from DEPS and pull in changes to build.gni from Dawn
...
Change-Id: Id9855ccf133b50f406443c37b74f12ff1d9206fe
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25560
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-28 17:57:53 +00:00
Ryan Harrison
88f0ae369f
Get 'gn gen --check' passing
...
BUG=tint:123
Change-Id: I0b13be1e0ecd4a4fa5a20160276cb9af47495410
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25862
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-28 15:59:17 +00:00
Idan Raiter
e018cefdce
Fix Tint ninja build
...
Rebasing I saw chromium style issue with auto pointers and a missing BUILD.gn file.
Change-Id: I7666595664b5eb95f681b3d2edd1d84df7d6fe63
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25848
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-28 15:04:07 +00:00
dan sinclair
e8c12f32f9
Remove StatementList.
...
This CL removes the StatementList define now that BlockStatement is used
everywhere.
Bug: tint:130
Change-Id: Id51de13cd1ca0cd69023523c762fe719bc2da999
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25725
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-07-27 15:25:00 +00:00
dan sinclair
cfdc5995ec
[spirv-reader] Update to create BlockStatements
...
This CL updates the SPIR-V Reader to create BlockStatements instead of
StatementLists.
Bug: tint:136
Change-Id: I957019446ca00306187de701f86ae3e0dd5c5eb8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25740
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-07-27 15:25:00 +00:00
dan sinclair
f751501c35
[wgsl-reader] Update to create BlockStatements
...
This CL updates the WGSL Reader to create BlockStatements instead of
StatementLists.
Bug: tint:135
Change-Id: Ifda394023553a625dad67be7d4e0dc815292282a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25724
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-07-27 15:25:00 +00:00
dan sinclair
37c0970d51
Convert LoopStatement to use BlockStatement.
...
This CL converts the LoopStatement class to using a BlockStatement
internally. All usages have been updated execept for the two readers.
Bug: tint:130
Change-Id: Ied4b82f0ef49c7b92caa040bcf73050093022df7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25723
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-07-27 15:25:00 +00:00
dan sinclair
77040b85d9
Convert IfStatement and ElseStatement to use BlockStatement.
...
This CL converts the IfStatement and ElseStatement classes to using a
BlockStatement internally. All usages have been updated execept for the
two readers.
Bug: tint:130
Change-Id: I59a5b92f22f35f27f17e005aa9b266f4a2b0ef25
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25722
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-07-27 15:25:00 +00:00
dan sinclair
7c2fa1e7bc
Convert CaseStatement to use BlockStatement.
...
This CL converts the CaseStatement class to using a BlockStatement
internally. All usages have been updated execept for the two readers.
Bug: tint:130
Change-Id: Idb9114230f7d9eb0f2208af635316edb0a0e8f99
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25721
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-07-27 15:25:00 +00:00
dan sinclair
4069f3357d
Convert Function to use BlockStatement.
...
This CL converts the Function class to using a BlockStatement
internally. All usages have been updated execept for the two readers.
Bug: tint:130
Change-Id: I7159cf2d3ed5cb8a34d51fbe848b88f0e5479605
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25720
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-07-27 15:25:00 +00:00
dan sinclair
0975dd5663
[spirv-writer] Add BlockStatement emission.
...
This CL adds BlockStatement support to the spirv-writer. The type
determiner is also updated as needed.
Bug: tint:134
Change-Id: I91e08c3acafd67401a010fff21abde7feec46e8e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25609
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-07-27 15:25:00 +00:00
dan sinclair
cd182b137e
[msl-writer] Emit BlockStatement.
...
This CL adds BlockStatement emission to the MSL backend.
Bug: tint:132
Change-Id: Ie64c02b81760787f6d8aa8833b9756ede3deddf9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25608
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-07-27 15:25:00 +00:00
dan sinclair
21f8e253a0
[wgsl-writer] Add emission of BlockStatement.
...
This CL adds BlockStatement writting to the WGSL writer.
Bug: tint:131
Change-Id: I6d1d286134311cea13e19c7381ed344da8205199
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25607
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-07-27 15:25:00 +00:00
dan sinclair
775cb51794
[ast] Add BlockStatement
...
This CL adds a BlockStatement to wrap the statements in a given block.
Bug: tint:130
Change-Id: Idc2389e001d9d87ef7f45dcd8aa90bbd27ff7dce
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25606
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
2020-07-27 15:25:00 +00:00
dan sinclair
99ad0e8c94
[msl-writer] Emit intrinsics.
...
This CL adds intrinsics to the MSL backend.
Bug: tint:8, tint:159
Change-Id: I03e3c4bdf234ec4ca437ab1b1a0d4835e3342b0c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25500
Reviewed-by: David Neto <dneto@google.com >
2020-07-25 14:39:23 +00:00
dan sinclair
8f3c6356d4
Remove KillStatement
...
This CL removes the KillStatement from the AST and replaces all test
usage with DiscardStatement.
Bug: tint:169
Change-Id: Ie68dd3cdd54056f144d10506f05cc1f6903d1cda
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25605
Reviewed-by: David Neto <dneto@google.com >
2020-07-25 14:33:50 +00:00
dan sinclair
23508f4339
[spirv-reader] Convert from KillStatement to DiscardStatement
...
This CL changes the SPIRV-Reader to generate DiscardStatements instead
of KillStatements for an OpKill.
Bug: tint:168
Change-Id: Ic4223b614c822c6ad449f61aedaddc9605c42535
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25642
Reviewed-by: David Neto <dneto@google.com >
2020-07-25 14:33:35 +00:00
dan sinclair
f75f2cd22e
[wgsl-reader] Add discard parsing.
...
This CL adds parsing of the `discard` keyword to the WGSL reader.
Bug: tint:167
Change-Id: Iff91076a65715131f5f0f9bd1c8b6bf3a37cd3c7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25604
Reviewed-by: David Neto <dneto@google.com >
2020-07-25 14:33:13 +00:00
dan sinclair
d81bebcfcc
[wgsl-writer] Add DiscardStatement support
...
This CL adds the DiscardStatement to the WGSL writer.
Bug: tint:165
Change-Id: I012bc030482e097fd9a957ed96f15d8360f621a5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25603
Reviewed-by: David Neto <dneto@google.com >
2020-07-25 14:33:04 +00:00
dan sinclair
a9696b511f
[msl-writer] Emit DiscardStatement.
...
This CL adds the DiscardStatement to the MSL backend.
Bug: tint:164
Change-Id: I1e201d3b6a167690af7bb799e1c93e48232f4a0a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25602
Reviewed-by: David Neto <dneto@google.com >
2020-07-25 14:32:54 +00:00
dan sinclair
6a61d4127e
[spirv-writer] Add DiscardStatement support.
...
This CL updates the spirv-writer to emit the DiscardStatement as an
OpKill.
Bug: tint:163
Change-Id: Ic2514ee8a4ef7ef0220fc2e1145f8df0c3d32069
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25641
Reviewed-by: David Neto <dneto@google.com >
2020-07-25 14:32:44 +00:00
dan sinclair
b4374c271e
[ast] Add DiscardStatement AST node.
...
This CL adds DiscardStatement to the AST.
Bug: tint:162
Change-Id: I1905023eb8297d9a983884e77c6a2267fd43a076
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25601
Reviewed-by: David Neto <dneto@google.com >
2020-07-25 03:34:33 +00:00
Sarah Mashayekhi
ce973e355c
[validation] Add a disabled test for re-assigning a constant.
...
Bug:6
Change-Id: Ic2cd1d0eed82354e605e15aec2ba350c15773e51
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25522
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-24 14:50:51 +00:00
dan sinclair
095523020a
Fixup some doc and compile issues.
...
Change-Id: I75547e3fb4e1e4be08bde08f0bcfcf7e979791e7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25640
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-24 00:11:53 +00:00
Sarah Mashayekhi
591fe919c2
[validation] implement invalidate assignment to a different type.
...
Bug:6
Change-Id: I5bd98731a5827e5a6aa1761dd18e7e116dd68544
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25524
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-23 23:49:52 +00:00
dan sinclair
453eb97a30
Handle review feedback.
...
This CL implements review feedback from previous CL.
Change-Id: I913c09d11b4eeb1831494653c38227387775b346
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25600
Reviewed-by: Ryan Harrison <rharrison@chromium.org >
2020-07-23 15:51:02 +00:00
dan sinclair
429aa812a0
Add simple test runner.
...
This CL adds a script to run tint over the shaders in a given folder and
attempt to generate the WGSL, HLSL, MSL and SPIRV-ASM shaders. The
GPUWeb CTS is added to third_party and the validation folder set as the
default folder to execute.
Change-Id: I63a0af056416e2f99ed8e3f92f9e2ca31c2b3e49
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25561
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com >
Commit-Queue: Sarah Mashayekhi <sarahmashay@google.com >
2020-07-23 15:01:37 +00:00
Ryan Harrison
7a0b734864
Fix BUILD.gn builds
...
Change-Id: I4e54b30497e064061baff2dcc205b68db87bee2c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25540
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-22 20:41:12 +00:00
dan sinclair
b522fb343a
[msl-writer] Only emit in/out structs if function call requires.
...
This CL updates the EmitCall method to only ouptut the input and output
struct name if there are in/out variables used in the function.
Bug: tint:107
Change-Id: Ic0c7722c8796c2f9baa3515cb46be0568f9e1ac3
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25400
Reviewed-by: David Neto <dneto@google.com >
2020-07-22 20:02:08 +00:00
Ryan Harrison
433670b576
Add usage of main from chromium when part of a chromium build
...
BUG=tint:123
Change-Id: Ic7a8694cefd0dbee2a1855e84f4ffaaf75ad6e7a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25520
Reviewed-by: Ryan Harrison <rharrison@chromium.org >
2020-07-22 17:36:39 +00:00