Commit Graph

37 Commits

Author SHA1 Message Date
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