Frizi
e6d142f28f
[glsl-in] treat const globals as constants allow them in array size exprs
2021-06-17 15:21:47 -04:00
Frizi
7c8fbb4377
[glsl-in] support more math functions and builitns
2021-06-17 15:21:47 -04:00
Frizi
bff8b18a01
[glsl-in] lower swizzle store to per-component stores
2021-06-17 15:21:47 -04:00
Frizi
a7d3b604dc
[wgsl-in] fix clippy warnings on to_wgsl methods
2021-06-17 11:50:03 -04:00
Frizi
337014786c
[wgsl-in] use AccessIndex for accesses using constant index
2021-06-17 11:34:58 -04:00
Igor Shaposhnik
b29e853a86
Update wgsl-out status in README
2021-06-17 11:11:36 -04:00
Jim Blandy
b79d4c5d85
Validator::validate: Remove bogus comment.
...
This comment claims that the following work is being done after global
validation, but it actually appears before global validation.
2021-06-17 11:05:27 -04:00
Gordon-F
96b37aff1f
[hlsl-out] Reduce heap allocation
2021-06-16 14:03:50 -04:00
Gordon-F
1b468edaa4
Makefile. Move dxc params into a variable
2021-06-16 14:03:50 -04:00
Igor Shaposhnik
b1ce49a217
Remove features from lazy CI task
2021-06-16 13:59:23 -04:00
Jim Blandy
fd83816945
Add . to the workspace's default members. Test with no features.
...
Naga is now a workspace with `naga` and `cli` as its two members. The default
package for cargo commands is `cli`, so that `cargo run` will just run the CLI.
However, this has a few unexpected consequences:
- Now `cargo test` will just try to run `cli`'s tests, of which there are none.
Adding `"."` to the `default-members` list in the workspace's `Cargo.toml`
seems to fix this, without breaking `cargo run`.
- Even with `"."` added to `default-members`, `cargo test` will build `naga` by
default with the features requested for it in `cli/Cargo.toml`: all the front
and back ends, but no `serialize` or `deserialize`. This means that our CI job
meant to verify no-feature builds isn't doing that job any more. We need to
pass `--package naga` to `cargo test` to make it test naga directly.
2021-06-16 13:53:00 -04:00
Gordon-F
822c68067c
Remove all features from README
2021-06-15 21:08:05 -04:00
Gordon-F
92a11d0978
[hlsl-out] More improvements. Enable quad snapshot testing
2021-06-15 21:08:05 -04:00
Gordon-F
7430a43c36
[wgsl-out] Write constant names with namer
2021-06-15 21:08:05 -04:00
Gordon-F
d1f9575ed1
[glsl-out] Write space after if keyword
2021-06-15 21:08:05 -04:00
Jim Blandy
976ae3a9ff
Makefile: Make validate-wgsl target use new 'cli' sub-package.
2021-06-14 13:15:55 -04:00
Igor Shaposhnik
343f786492
Fix testing infrastructure
2021-06-13 11:25:23 -04:00
Gordon-F
54d7d7d2a3
Improve hlsl-out
2021-06-13 11:15:42 -04:00
Evgeny Proydakov
753e9608d3
Fixed compile-time error in spv fuzzer test. ( #967 )
...
* Fixed compile-time error in spv fuzzer test.
error[E0061]: this function takes 2 arguments but 1 argument was supplied
--> fuzz_targets/spv_parser.rs:7:19
|
7 | let _result = Parser::new(data.into_iter()).parse();
| ^^^^^^^^^^^ ---------------- supplied 1 argument
| |
| expected 2 arguments
|
note: associated function defined here
--> /Users/evgeny.proydakov/repository/naga/src/front/spv/mod.rs:411:12
|
411 | pub fn new(data: I, options: &Options) -> Self {
| ^^^
error: aborting due to previous error
* Code review. Group imports
2021-06-12 19:46:33 -04:00
Jakob Hellermann
4224d14a08
move bin/naga.rs to a separate crate in workspace ( #938 )
...
* move bin/naga.rs to a separate crate
* enable all shader languages for naga binary
* [naga-cli] add env logger
* [naga-cli] remove unneccessary code
* [naga-cli]enable glsl-validate feature
* move naga-cli to cli, add trailing newline
* remove commented env_logger dependency
2021-06-12 19:24:01 -04:00
Dzmitry Malyshau
af022ed21e
Add Hash to ResourceBinding
2021-06-10 14:19:41 -04:00
João Capucho
10422c6b4a
Regenerate quad-glsl shader
2021-06-09 13:06:36 -04:00
João Capucho
06c8588fcd
[glsl-in] Add collatz shader and test quad shader
2021-06-09 12:54:58 -04:00
João Capucho
fb71e49501
[glsl-in] Implicit cast mod function
2021-06-09 12:54:58 -04:00
João Capucho
b15b0b6862
[glsl-in] Use local for mutable non pointer args
2021-06-09 12:54:58 -04:00
João Capucho
605bab12e3
[glsl-in] Don't load unsized types
2021-06-09 12:54:58 -04:00
João Capucho
a2ecd8ecff
[glsl-in] Refractor global and blocks handling
2021-06-09 12:54:58 -04:00
João Capucho
15c846cd0e
[glsl-in] Fix panic when calculating global use
2021-06-09 12:54:58 -04:00
João Capucho
d8dc12e47b
[glsl-in] Add gl_GlobalInvocationID builtin
2021-06-09 12:54:58 -04:00
João Capucho
2023b1a72c
[glsl-in] Implicit convert initializers
2021-06-09 12:54:58 -04:00
João Capucho
a9dad25b0f
[glsl-in] Implement increment and decrement ops
2021-06-09 12:54:58 -04:00
João Capucho
a5b2486a9b
[glsl-in] Add mod function
2021-06-09 12:54:58 -04:00
João Capucho
803cb31fb0
[glsl-in] Add support for buffer class
2021-06-09 12:54:58 -04:00
João Capucho
0184e1c875
[glsl-in] Add parsing for some modifiers
...
Adds support for workgroup size and early fragment tests definitions
2021-06-09 12:54:58 -04:00
Igor Shaposhnik
54af830855
Fix nightly clippy suggestions
2021-06-09 10:17:20 -04:00
João Capucho
be2231f6d9
[wgsl-out] Write global initializers
2021-06-09 10:14:46 -04:00
Dzmitry Malyshau
38f6a79917
[spv-out] fix image sampling ops, add more tests
2021-06-08 17:38:42 -04:00
Igor Shaposhnik
b299a59bb5
[wgsl-out] Simplify code for writing named expression
2021-06-08 17:38:14 -04:00
Igor Shaposhnik
4af035edb7
[glsl-out] Simplify code for writing named expression
2021-06-08 17:38:14 -04:00
Igor Shaposhnik
575304a50c
[msl-out] Implement named expression generation ( #957 )
2021-06-08 12:09:46 -04:00
Jim Blandy
9dcfe8fa4b
[spv-out]: Don't have write_expression_pointer return a storage class. ( #958 )
...
Nobody uses that value. This lets us simplify `GlobalVariable` and
`write_global_variable` as well.
2021-06-08 10:16:10 -04:00
Igor Shaposhnik
be6a4172c5
Fix Expression::Load generating ( #925 )
...
* [glsl-out] Fix writing named expressions with array types
* [wgsl-out] Remove unsupported builtin from baked expression
* [glsl-out] Add a newline between globals for readability
* Set bake_ref_count to 1 for Expression::Load
* Update snapshot data
2021-06-08 10:15:26 -04:00
Jim Blandy
bfa2bbe590
Snapshot quad-glsl to WGSL, not SPIR-V and IR.
...
In tests/out, stop generating the uncommitted files quad-glsl.ron and
quad-glsl.spvasm, and add the snapshot quad-glsl.wgsl.
2021-06-07 17:27:09 +01:00
Matus Talcik
94cdaf685d
[spv-in] CFG: add break statements in switch selections ( #951 )
2021-06-05 20:09:41 -04:00
Jim Blandy
a2a35f2eb3
Permit dynamic indexing of arrays and matrices only behind a pointer. ( #949 )
...
This makes Naga IR validation impose the restrictions added to WGSL in
gpuweb/gpuweb#1801 .
Remove code in the SPIR-V writer to spill arrays to temporary variables in order
to index them dynamically. If such IR is encountered, treat it as a failure of
validation.
2021-06-04 12:57:20 -04:00
João Capucho
1c3baf4557
[glsl-in] Allow field selection behind pointers ( #948 )
2021-06-03 16:09:20 -04:00
João Capucho
87748a2fe3
[glsl-in] Add integration tests to CI ( #943 )
...
* [glsl-in] Add glsl snapshots folder
* [glsl-in] Fix incorrect angle brackets parsing
* [glsl-in] Temporarily remove wgsl snapshot output
2021-06-03 15:34:54 -04:00
João Capucho
db3dd63bdd
[glsl-in] Don't output empty struct in entry point
2021-06-03 15:32:46 -04:00
Igor Shaposhnik
ce88c9d537
Exclude bin and tests from publishing
2021-06-03 13:06:45 -04:00
Gordon-F
90c2cf6aa6
Add ability to generate named expressions
2021-06-03 10:40:59 -04:00