Noel Tautges
9b7fe8803d
Clarify accepted types for Expression::AccessIndex ( #1862 )
...
* Clarify accepted types for `AccessIndex` and remove `Constant` fragment
* Remove spaces
Will I ever learn to run `cargo fmt` before pushing? The answer is probably yes, after this repeated embarrassment
2022-04-25 21:31:10 -07:00
Connor Fitzgerald
1aa9154964
Binding arrays play nice with bounds checks ( #1855 )
2022-04-25 04:17:51 +00:00
Connor Fitzgerald
ad28396851
Implement Binding Arrays ( #1845 )
2022-04-19 14:23:07 -04:00
teoxoy
850565243d
replace unicode-id with unicode-xid
2022-04-18 13:03:37 -07:00
Jim Blandy
0aa6b6902b
[hlsl-out] Flesh out matrix handling documentation.
2022-04-18 08:36:51 -07:00
teoxoy
94467c770f
fix bitflags min version
2022-04-18 08:08:22 -07:00
teoxoy
0e2bb0194b
refactor consume_token fn body
2022-04-17 21:01:01 -07:00
teoxoy
90b3c18fae
fix being able to match ~= as LogicalOperation
2022-04-17 21:01:01 -07:00
teoxoy
340bfcc33a
remove unused code
2022-04-17 21:01:01 -07:00
teoxoy
743c8aa387
update lexer to match more unicode characters
2022-04-17 21:01:01 -07:00
teoxoy
bddfc34299
fix minimal-versions of dependencies
2022-04-17 20:59:59 -07:00
teoxoy
88fff4c028
add minimal-versions check to CI
2022-04-17 20:59:59 -07:00
Teodor Tanasoaia
dc075e66e3
[wgsl-in] Update reserved keywords ( #1847 )
2022-04-17 15:56:54 +02:00
Teodor Tanasoaia
7ce98dcc7d
Make use of new language features ( #1841 )
...
* use strip_prefix
* make fn const (resolving TODO)
* make use of nested OR patterns in match arms
* warn on clippy::missing_const_for_fn
* constify functions
* ignore clippy::missing_const_for_fn for into_inner functions
2022-04-17 03:39:54 -04:00
Jim Blandy
ef387f73a6
[hlsl-out] Emit row_major qualifier on matrix uniform globals.
...
Fixes #1836 .
2022-04-16 23:50:17 -07:00
teoxoy
c942a9011b
update doc of clamp fn
2022-04-16 08:32:31 -07:00
teoxoy
33085863b7
update msrv to 1.56
2022-04-16 08:32:31 -07:00
Igor Shaposhnik
1720725014
[wgsl-out] Update entry point stage attributes
2022-04-15 18:02:48 +01:00
Igor Shaposhnik
fbb77aa0dc
[wgsl-in] Update entry point stage attributes
2022-04-15 18:02:48 +01:00
Teodor Tanasoaia
c93a5ede71
update hlsl-out status in README
2022-04-15 13:25:49 +02:00
teoxoy
8584507fb6
[glsl-out] remove redundant space from unary ops
2022-04-15 11:21:51 +02:00
teoxoy
7f4e07e5cd
[glsl-out] add support for boolean vector ~, | and & ops
2022-04-15 11:21:51 +02:00
teoxoy
d3b37dcdb1
add tests for remaining vector - scalar ops
2022-04-15 11:21:51 +02:00
teoxoy
95b84c4403
[spv-out] add support for int vector scalar mult
2022-04-15 11:21:51 +02:00
teoxoy
2cda40396a
comment out problematic negative int
2022-04-15 11:21:51 +02:00
teoxoy
6e6daad4d4
[hlsl-out] fix bool splat
2022-04-15 11:21:51 +02:00
teoxoy
4ea7dc3381
[spv-out] add support for matrix add and sub
2022-04-15 11:21:51 +02:00
teoxoy
4366e65609
add support for unary vector operators
2022-04-15 11:21:51 +02:00
teoxoy
e4c017cb7c
add more tests for operators
2022-04-15 11:21:51 +02:00
Jakob Hellermann
6427a661f7
add methods on the error types for reusability in wgsl-analyzer ( #1827 )
2022-04-15 11:13:39 +02:00
Jim Blandy
ba58ef5176
Document Naga's promises around validation and panics.
2022-04-14 13:47:41 -07:00
teoxoy
dd75579d7c
fix typos
2022-04-14 13:47:18 -07:00
Jim Blandy
bdbf821c32
Test matrix-typed uniform globals.
2022-04-14 11:54:47 -07:00
Jim Blandy
97fffccac7
[spv-out] Emit required decorations on wrapper struct types, too.
...
Fixes #1810 .
2022-04-14 11:54:47 -07:00
Jim Blandy
1a0a48fd69
[spv-out] Decorate array and struct type layouts unconditionally.
...
Remove the `decorate_layout` variable, which is unconditionally set to
`true` anyway.
2022-04-14 11:54:47 -07:00
Jim Blandy
27d0fee2e7
More tests for non-struct global types.
2022-04-14 11:45:42 -07:00
Jim Blandy
5d631d9e2d
[glsl-out] Generate GLSL for arbitrary global types, per Naga IR.
...
Delete `GlobalTypeKind`.
Break out `Writer::write_global`'s code into two new functions,
`write_simple_global` and `write_interface_block`. This introduces
some repeated code, but the way we need to produce interface blocks
and normal globals are sufficiently different that I think it's
clearer overall to just separate them entirely. Much of the details
are handled by their callees.
Loosen the interface block code to support arbitrary types.
2022-04-14 11:45:42 -07:00
Jim Blandy
cf1869016f
[glsl-out] Rename glsl_storage_class to glsl_storage_qualifier.
...
"Storage qualifier" is the term used in the GLSL ES specification.
2022-04-14 11:45:42 -07:00
Jim Blandy
896e884802
[glsl-out] Use exhaustive match in AddressSpace::initializable.
...
No change in behavior. Exhaustive matches aid error detection, and are
clearer when the number of match arms isn't excessive.
2022-04-14 11:45:42 -07:00
Jim Blandy
438a750967
Introduce TypeInner::is_dynamically_sized helper function.
...
Use it in HLSL and GLSL back ends.
2022-04-14 11:45:42 -07:00
Jim Blandy
f11d27af6f
Reject empty struct types. ( #1826 )
2022-04-14 09:36:53 -07:00
Jim Blandy
170faab6db
Move invariant bit from Binding::Builtin to Builtin::Position. ( #1822 )
...
Use the type system to enforce the rule that the invariant attribute
may only appear on `Position` builtins.
2022-04-13 14:57:05 -07:00
Jim Blandy
78975f25da
[msl-out] Permit invariant qualifier on vertex shader outputs.
2022-04-12 22:22:20 +02:00
Jim Blandy
4e4d918d39
[msl-out] Introduce finer distinctions to LocationMode.
...
Distinguish between vertex shader outputs and fragment shader inputs.
This change should have no visible effect.
2022-04-12 22:22:20 +02:00
Jim Blandy
8afa5fe5e3
[glsl-out] Document and flatten back::glsl::Writer::write_varying.
2022-04-12 14:22:50 +01:00
Teodor Tanasoaia
bd62887a13
[hlsl-out] Add more padding when necessary ( #1814 )
...
* [hlsl-out] add padding at the end of structs and after struct members of type matrix and array (when necessary)
* use wrapped constructor fn for constants
* add array as fn arg test
* fix glsl array fn arg
* add wrapped constructor for arrays
* [glsl-out] support multidimensional arrays
* address comments
2022-04-11 20:34:06 -07:00
teoxoy
0e77d26241
cast packed vec3's to vec3 for expressions that require it
2022-04-11 20:30:00 -07:00
teoxoy
32cdb27230
add better tests for msl packed vec3
2022-04-11 20:30:00 -07:00
teoxoy
d7f4c340a7
add matrix vector multiplication test
2022-04-11 20:30:00 -07:00
teoxoy
1688a767bb
fix packed vec3 stores
2022-04-11 20:30:00 -07:00