Commit Graph

40 Commits

Author SHA1 Message Date
Dzmitry Malyshau
dafca34877 Add block boolean to the structure types in IR
Also update WGSL syntax for structures.
Move the boids code into snapshots.
2020-12-12 12:46:24 -05:00
Joshua Groves
d18b73c3a7 Remove duplicate wgsl from test-data 2020-12-10 19:07:08 -05:00
Timo de Kort
6a6e3c28f9 Update simple.wgsl to latest syntax 2020-12-10 23:38:59 +01:00
Dzmitry Malyshau
b7744a1ec5 [wgsl] function lookup, improve error reporting 2020-12-10 10:20:56 -05:00
Dzmitry Malyshau
eeb479ae94 [wgsl] support const locals 2020-12-10 10:20:56 -05:00
Dzmitry Malyshau
b35e901249 Add all standard library functions to the IR 2020-12-09 15:43:36 -05:00
Dzmitry Malyshau
66d994566c [spv] force treating the built-in scalar types as unsigned 2020-12-08 22:55:21 -05:00
Dzmitry Malyshau
148fac0601 [spv] enable quad conversion test, refactor binary operations 2020-12-08 09:25:59 -05:00
Dzmitry Malyshau
8b56f3ef96 [ir] support function argument names (#270) 2020-11-11 21:34:37 +01:00
Dzmitry Malyshau
41b3865e5b Make variable initializers to be const 2020-11-04 16:38:55 -05:00
Dzmitry Malyshau
529225ce4c Option to dump spirv flow graphs (#249) 2020-10-30 16:44:59 -04:00
Dzmitry Malyshau
587dc01a2c [msl] refactor the options, add override stages 2020-10-28 00:30:22 -04:00
Dzmitry Malyshau
ce49afa391 Clean up the storage classes (#245) 2020-10-27 09:10:55 -04:00
Dzmitry Malyshau
0651eb8fab Complete expression/statement support in MSL, refactor conversion methods in WGSL, and remove Statement::Empty 2020-09-19 16:16:17 -04:00
Dzmitry Malyshau
7aff39784b [wgsl] texture operations 2020-09-18 10:01:56 -04:00
Dzmitry Malyshau
14feb9ac01 Validation of global variables and entry points 2020-09-17 16:12:56 -04:00
Dzmitry Malyshau
081b90f117 Consolidate rosetta tests 2020-09-17 10:16:32 -04:00
Dzmitry Malyshau
2ebaadaf0c Refactor entry point IR 2020-09-17 10:08:49 -04:00
Dzmitry Malyshau
089d0dd4f8 Minor fixes in feature checks (#194) 2020-09-13 21:03:00 -04:00
Dzmitry Malyshau
c122e064a7 Move storage class from image type into the global declaration (#182) 2020-09-09 13:59:29 -04:00
Pelle Johnsen
789d624710 [rosetta] Add explicit return (#180) 2020-09-08 01:18:07 -04:00
Pelle Johnsen
92c1ffb588 Add initial Rosetta testing (#148)
* Add initial Rosetta testing

* Make rosetta tests run as part of cargo test

* Fix rosetta test failure
2020-08-24 00:09:37 -04:00
Lachlan Sneff
6026e57404 [wgsl] Add more complete function calling support (#144)
* Add function calling support to wgsl frontend

* Fix external namespace with multiple namespaces

* changes after code review

* Don't re-tokenize std_namespace every time
2020-08-21 00:13:25 -04:00
Lachlan Sneff
d6b172ddcb Add support for array stride to wgsl frontend (#137)
* Add support for array stride to wgsl frontend

* rename
2020-08-19 14:09:28 -04:00
Lachlan Sneff
466cd1b728 Serialize and Deserialize Module (#125)
* Add serialize and deserialize features with examples

* Fix formatting

* Make some types (de)serialize transparently

* Fix more formatting

* Remove new examples and add (de)serialization support to the convert example

* Remove extraneous file

* Rename param file
2020-08-13 12:27:10 -04:00
Pelle Johnsen
b96b7449db [gls-new] handle local vars 2020-08-10 10:57:31 -04:00
Pelle Johnsen
482c6d042d [glsl.new] Add initial declaration support
Focus on handling global in/out vars
2020-08-09 10:57:41 -04:00
Pelle Johnsen
745ef6a6d6 [glsl-new] Add float consts (#119) 2020-08-05 09:45:42 -04:00
Kristoffer Søholm
6c062087fa Initial GLSL constant evaluation implementation (#94)
Adds constant evaluation for addition, and uses it for globals and array
specifiers.
2020-07-09 20:52:13 -04:00
Dzmitry Malyshau
4a769c10b5 [spv] remove the pointer indirection to variables 2020-07-05 09:33:07 -04:00
Pelle Johnsen
6f0f551bac New GLSL frontend using pomelo (#87)
* Add initial pomelo glsl work

* Fix ref to glsl_old

* Fix idents with numbers in lexer

* Use glsl_new for .vert in convert example

Controlled by PREFER_GLSL_NEW=1 env var

Also add simple test files

* Start making parser look like spec

* Port 'old' lex.rs to glsl_new

* Apply fixes after rebasing

* Fix clippy issue

* Fix PR comments

- Make into optional feature glsl-new

- Minor code style improvements
2020-06-30 10:42:50 -04:00
Dzmitry Malyshau
8e0ae1cf06 Convert glsl module line endings to Unix 2020-06-16 22:54:26 -04:00
Timo de Kort
f9fa281da5 Update integers to float32 (#64) 2020-06-13 13:05:30 -04:00
João Capucho
b91b9ca987 Glsl frontend (#50)
* Basic glsl support

* Miscellaneous fixes and vertex shader works

* Added rudimentary texture and sampler support

* Basic preprocessor

* Added preprocessor if macros

* Pass tests and handle floats correctly

* Fix preprocessor if wrong precedence ordering when using macros
Refractor for the glsl parser
Partial primary expression parser

* Fix all clippy errors

* Cleanup

* Rollback formatting changes in lib.rs
2020-06-09 13:43:16 -04:00
Dzmitry Malyshau
55fab04353 Refactor the interface processor, many improvements in global variables handling in MSL 2020-03-19 22:36:26 -04:00
Dzmitry Malyshau
df855bc2ff Makefile and RON converter parameters 2020-03-19 09:44:14 -04:00
Dzmitry Malyshau
ee7882723a [wgsl] expect logical expressions, fix hex literals 2020-03-05 21:21:14 -05:00
Dzmitry Malyshau
330ce644d8 [wgsl] parse most binary expressions 2020-03-05 13:14:06 -05:00
Joshua Groves
279af921bc [wgsl] richer expression grammar 2020-03-05 11:22:50 -05:00
Dzmitry Malyshau
13a4c41121 Include test WGSL shaders 2020-03-03 22:57:20 -05:00