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
dan sinclair
9a2b692b1c
Add return to simple test
...
Change-Id: I0432724f3b77912ec547a0700c022f9dbbca7d36
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25460
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-22 13:41:04 +00:00
Sarah Mashayekhi
fbf4506356
[validation] Add a disabled test for assignment statement.
...
Bug: tint:6
Change-Id: I37fe9f69917a007b9e3325de324e719637b192e8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25420
Reviewed-by: dan sinclair <dsinclair@chromium.org >
Commit-Queue: dan sinclair <dsinclair@chromium.org >
2020-07-22 12:59:19 +00:00
David Neto
b6f0299964
[spirv-reader] Support OpAny, OpAll, OpIsInf, OpIsNan
...
Bug: tint:3, tint:121
Change-Id: I1a6a2d45684c28a0e03ad4b208dc6b2f737da694
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25422
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-22 12:58:31 +00:00
dan sinclair
e3de74fd2b
[spirv-writer] Emit select intrinsic.
...
This CL adds the select intrinsic to the SPIR-V backend.
Bug: tint:106
Change-Id: Ib5b4c1f25ff8620055f75f0291a949a950a50b7f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25381
Reviewed-by: David Neto <dneto@google.com >
2020-07-21 17:44:44 +00:00
dan sinclair
16a2ea11d3
Add type determination for the select intrinsic.
...
This CL adds type determination for a `select` intrinsic.
Bug: tint:106
Change-Id: Ie5c051cb42c72ae732579e3064561a4544a90473
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25380
Reviewed-by: David Neto <dneto@google.com >
2020-07-21 17:44:44 +00:00
David Neto
d71e80b710
[spirv-reader] Add README.md
...
Bug: tint:3
Change-Id: Ie711f7bdbb870c9f370ce777653884c5942a0622
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25260
Reviewed-by: dan sinclair <dsinclair@chromium.org >
Commit-Queue: dan sinclair <dsinclair@chromium.org >
2020-07-21 17:11:50 +00:00
David Neto
28d0f4b905
[spirv-reader] Support function call returning void
...
Bug: tint:3, tint:99
Change-Id: I6fe6d06d79115e6b3b0adb800f21c4704795dc15
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25360
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-21 16:08:56 +00:00
dan sinclair
a0b73e8aca
[hlsl-writer] Add assignment statement.
...
This CL adds the assign statement emission to the HLSL backend.
Bug: tint:7
Change-Id: I3e46ac09170ea1af7444ae89267a82e1d1c42c52
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25224
Reviewed-by: David Neto <dneto@google.com >
2020-07-21 15:58:56 +00:00
dan sinclair
41aa1a1ed8
[hlsl-writer] Add switch statement support
...
This CL adds emission of switch statements to the HLSL backend.
Bug: tint:7
Change-Id: Ie6f41031878a1f5a945f9310429d28fb0e4a98c8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25223
Reviewed-by: David Neto <dneto@google.com >
2020-07-21 15:58:50 +00:00
dan sinclair
557a0f8e63
[hlsl-writer] Emit case statements.
...
This CL adds emission of case statements to the HLSL backend.
Bug: tint:7
Change-Id: I5d0dd7ecfe4ef032a03777c29f3d0d00e584a93a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25222
Reviewed-by: David Neto <dneto@google.com >
2020-07-21 15:58:43 +00:00
dan sinclair
6dab73b5c6
[hlsl-writer] Emit unary operators.
...
This CL emits unary operators from the HLSL backend.
Bug: tint:7
Change-Id: I997d89d62d279fc7440ba6045c56e290ec7601c1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25221
Reviewed-by: David Neto <dneto@google.com >
2020-07-21 15:58:36 +00:00
dan sinclair
abfdd22acc
[hlsl-writer] Emit break, return and continue.
...
This CL updates the HLSL writer to emit break, return and continue
statements.
Bug: tint:7
Change-Id: I03eafc343e57e9e8d1efaf930023099d6f85fc57
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25220
Reviewed-by: David Neto <dneto@google.com >
2020-07-21 15:58:29 +00:00
dan sinclair
dee9136c20
[hlsl-writer] Add binary operator emission.
...
Emits the binary operators.
Bug: tint:7
Change-Id: I6f4fce3b6fb646b8340e39538b041715a676ac28
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25164
Reviewed-by: David Neto <dneto@google.com >
2020-07-21 15:58:20 +00:00
dan sinclair
fbbc617888
Parse void function call.
...
This CL updates the WGSL parser to handle a void function call.
Fixes: tint:45
Change-Id: If5b2a4b9e62f0b10e0f2e2e10c0ca2586c5268e8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25322
Reviewed-by: Ryan Harrison <rharrison@chromium.org >
2020-07-21 15:13:36 +00:00
dan sinclair
e5228407f4
[hlsl-writer] Add emission of identifiers
...
This CL adds identifier emission and an HLSL namer to guard against
names using reserved words.
Bug: tint:7
Change-Id: Id3d73ff683048c26ac99451d21c3dd7ef3c620a3
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25001
Reviewed-by: David Neto <dneto@google.com >
2020-07-21 14:51:33 +00:00
dan sinclair
b44fe3c034
Emit call statements from the various backends.
...
This CL adds emission of CallStatement to the various backends.
Bug: tint:45
Change-Id: Ia2bdf0433f136c516ecccdcbc64a5365094220af
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25281
Reviewed-by: David Neto <dneto@google.com >
2020-07-21 13:44:27 +00:00
dan sinclair
50080b74e1
Type determine the call statement.
...
This CL adds type determination for the call statement.
Bug: tint:45
Change-Id: I2460fe6c6103bdf7e5d0367cded1d78ca5d671d6
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25321
Reviewed-by: David Neto <dneto@google.com >
2020-07-21 13:42:13 +00:00
dan sinclair
2e40491467
Add a call ast statement.
...
This CL adds CallStatement to the AST to allow wrapping a CallExpression
into a statement.
Bug: tint:45
Change-Id: I5a9525514344fcc2cf9900eb2cd78c1fb94ca2ef
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25320
Reviewed-by: David Neto <dneto@google.com >
2020-07-21 13:42:05 +00:00
David Neto
0a56a103be
[spirv-reader] Support select over scalars and vectors
...
Still TODO: OpSelect over arrays and structures, as permitted in SPIR-V 1.4
Bug: tint:3, tint:99
Change-Id: I70f6c8a43ea3339cd715813c6eb0128d66ff0df8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25301
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-21 13:36:25 +00:00
David Neto
d6b024b66d
Add missing Doxygen comments on two methods.
...
Bug: tint:3
Change-Id: I5cb5c3ce078951363279ccc999074c0c46dfad6e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25300
Reviewed-by: dan sinclair <dsinclair@chromium.org >
2020-07-20 23:31:56 +00:00