Commit Graph

33 Commits

Author SHA1 Message Date
João Capucho
0aae8ae6f8 glsl-out: More glsl versions (#191)
* Added support for glsl core version up to 400

* Added 330 to the list supported versions

* Added links to all extensions and fixed a extension being wrongfully activated

* Cleanup and check for image formats

* Removed useless extension and location on layout

* Added support for external functions and fixed global names

* Typefier allow Scalars in distance and length

* Addressed comments

* Fixed extension appearing after body

* Fixed entry point not being generated
2020-09-18 17:01:05 -04:00
Dzmitry Malyshau
7aff39784b [wgsl] texture operations 2020-09-18 10:01: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
d6cc17f051 Refactor feature names 2020-09-15 07:51:45 -04:00
Dzmitry Malyshau
b278e10ea7 [spirv-in] make pointers totally transparent (#187) 2020-09-11 12:19:55 -04:00
Pelle Johnsen
2ea0310b63 [glsl] Promote glsl-new to glsl (#184)
* [glsl] Promote glsl-new to glsl

* [glsl-in] rename feature glsl > glsl-in
2020-09-10 01:11:52 -04:00
Matus Talcik
b67739034e Implement Execution Modes (#169)
Add documentation, make clippy happy


Compilation errors


Add some more docs


Few more compilation errors


Changes based on the review


glsl-new parser fix


Set default local size to (0, 0, 0)


final cleanup


Last design


New design
2020-08-31 14:34:38 -04:00
Dzmitry Malyshau
1b17030d05 Split wgsl into sub-modules, and gate by a feature (#165) 2020-08-27 23:30:53 -04:00
Dzmitry Malyshau
4797773152 Image IR refactor (#153) 2020-08-26 13:26:51 -04:00
João Capucho
5d9489871d Add support for glsl es in the glsl backend (#128)
* Initial glsl es 300 support

* Set float default precision

* Generate interface blocks and check storage class in es

* Added more checks on es and fixed uniform blocks with same name type

* Added image checks

* Added the test to the makefile

* applied comments
2020-08-22 10:50:54 -04:00
Lachlan Sneff
8c0b1636ea Interpolation support for wgsl, glsl, glsl-new, spirv (front and back), and glsl-out (#140)
* Add interpolation support to naga core and wgsl

* Add glsl-new fragment shader support to examples/convert.rs

* Add interpolation support to glsl_new

* Add interpolation support to spirv frontend

* Add interpolation support to spirv backend

* Add interpolation support to glsl backend

* Add interpolation support to old glsl backend

* Fix interpolation field syntax in glsl backend

* Formatting fix

* thanks clippy

* Add wgsl struct interpolation decoration

* Change wgsl interpolation syntax

* Modify interpolation enum

* Changes responding to review

* Remove interpolation struct member qualifier

* code changes after review
2020-08-19 20:22:21 -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
João Capucho
a16204456e WIP: glsl 450 backend and common glsl module (#123)
* Initial backend implementation

* Refractored glsl450 backend to have a common module between further glsl backends
Implemented more missing functionality

* Error handling

* Implemented most of the suggestions

* Addresed all comments
Fixed some bugs

* Made code style consistent
2020-08-11 16:20:23 -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
e0a1e80fb5 Remove spirv-headers use from IR, make it optional 2020-06-25 00:37:33 -04:00
Pelle Johnsen
ba0798e5d1 Add glsl handling to convert sample (#69)
* Add glsl handling to convert sample

- Also fis extension check for spv and wgsl (missing .)

* Use std::path::Path for ext handling

* Also fix ext for .comp

Missing from last commit
2020-06-17 09:34:35 -04:00
Dzmitry Malyshau
d55cd79a21 Minor improvements, expose Handle, move glsl module inside the dir. 2020-06-16 22:54:26 -04:00
Timo de Kort
82573b288b Implement basic SPIR-V back-end (#46) 2020-06-15 16:01:00 -04:00
João Capucho
f94b486d8b Run cargo fmt and enable monocodus (#63) 2020-06-09 14:49:12 -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
AIOOB
1ac92cd942 Fixup clippy lints and remove unsafe 2020-03-15 21:09:08 -04:00
Dzmitry Malyshau
d4fb81a005 [wgsl] basic typed constructors 2020-03-03 22:56:11 -05:00
Dzmitry Malyshau
aba9e8a0f2 Fixup metal type exports 2020-03-02 16:56:15 -05:00
Dzmitry Malyshau
246ca018ef [tint] beginning of the front-end based on Pest (#9) 2020-02-28 13:05:24 -05:00
Dzmitry Malyshau
515f878fa2 Basic image sampling support 2020-02-26 17:10:42 -05:00
Dzmitry Malyshau
72ecd7b072 Parse decorations 2020-02-25 17:10:42 -05:00
Dzmitry Malyshau
96a12a0c9a Complete the crate rename to Naga 2020-02-25 14:00:51 -05:00
Dzmitry Malyshau
763014cb43 [msl] write struct definitions 2020-02-24 18:49:19 -05:00
Dzmitry Malyshau
0e38eef82d Restructure the project with frontends and backends 2020-02-21 08:23:44 -05:00
Dzmitry Malyshau
99f160ebce First bits of hand-written high-level representation 2020-02-18 15:34:16 -05:00
Dzmitry Malyshau
ed96c2b8e0 Transpiler skeleton and first bits of MSL support 2018-09-12 21:29:03 -04:00