João Capucho
32205e3097
glsl-out: write array initializers
2022-01-04 13:52:00 +00:00
João Capucho
79233ba5e5
glsl-out: Fix array constants constructor
2022-01-04 13:52:00 +00:00
Dzmitry Malyshau
8003e3e30a
Validate structure resource types
2022-01-03 12:44:58 -05:00
Vinh Truong
6aca3e0b36
Fix data packing functions on MSL ( #1637 )
...
* Fix data packing functions on MSL
`snorm` and `unorm` got mixed up.
* Fix bits.msl
2021-12-31 16:44:54 +00:00
João Capucho
1d0f484b37
glsl-in: fix composite constructors ( #1631 )
...
* glsl-in: Remove unneeded mutability from reference
* glsl-in: Fix composite constructors
In the recent rework of the constructors it seems that the logic for
composite types (arrays and structs) was accidentally removed by me.
2021-12-28 20:16:56 -05:00
Dzmitry Malyshau
2738ad80b9
msl: fix packed vec access ( #1634 )
2021-12-28 05:13:13 +00:00
João Capucho
5a26606a09
glsl-in: Fix using swizzle as out arguments ( #1632 )
...
This worked at one point but because of some changes to the IR it was
temporarily broken.
2021-12-27 19:09:33 -05:00
Dzmitry Malyshau
b1ab59925d
msl: fix packed float support ( #1630 )
2021-12-27 02:57:47 +00:00
Jeff Muizelaar
848ae3dc6e
Turn on panic = "abort" by default ( #1597 )
...
This reduces the size of a release naga binary on macOS
from 3.5MB to 3.2MB. It's also the configuration we use
for naga in Firefox.
2021-12-26 20:01:49 -05:00
Dzmitry Malyshau
f2832b8999
hlsl: support arrays of matrices ( #1629 )
2021-12-27 00:30:57 +00:00
Luke Street
0d1fc2131f
[wgsl-in] Support radians/degrees builtin functions ( #1627 )
2021-12-27 00:29:33 +00:00
Igor Shaposhnik
8df5421e2e
[glsl-out] Add stage postfix to generated global name ( #1616 )
2021-12-23 22:19:07 -05:00
Jay Oster
924ab17b62
Fixes for fma function ( #1580 )
...
* [hlsl-out] Write `mad` intrinsic for `fma` function
- This should be enough because we only support f32 for now.
- Adds a new test for WGSL functions, in the spirit of operators.wgsl.
- Closes #1579
* Add FMA feature to glsl backend
- I think this is right. Just iterate all known expressions in all
functions and entry points to locate any `fma` function call.
Should not need to walk the statement DAG.
* Transform GLSL fma function into an airthmetic expression when necessary
* Add tests for GLSL fma function tranformation
* Remove the hazard comment from the webgl test input
* Add helper method for fma function support checks
* Address review comment
2021-12-22 09:41:07 -05:00
Jakob Hellermann
54178dede2
impl Clone for WithSpan<E> ( #1620 )
2021-12-21 20:14:10 +00:00
Jonathan Behrens
f9b348557a
Add FindLsb / FindMsb ( #1473 )
...
* Add FindLsb / FindMsb
* Fixes and tests for FindLsb/FindMsb
* Add findLsb / findMsb as WGSL builtins
* Fix tests
* Fix incompatible type issue with MSL output
* Requested changes
* Test fewer cases of findLsb/findMsb
2021-12-20 14:48:54 -05:00
Dzmitry Malyshau
c2328fea75
Release v0.8
2021-12-18 12:05:12 -05:00
Dzmitry Malyshau
8caa2bd87e
Gather operations
2021-12-18 11:46:49 -05:00
Jim Blandy
db98743a5a
[glsl-out] Don't return early from snapshot tests.
2021-12-17 20:27:27 -05:00
Ashley
75ce45d4f3
spv-in: fix support for degrees and radians conversion
2021-12-17 11:56:47 -05:00
Christofer Nolander
d13e9e3b83
wgsl-in: correctly parse else if ( #1611 )
...
* wgsl-in: correctly parse `else if`
* wgsl-in: use early exit in `else if` parsing
2021-12-17 16:19:38 +00:00
João Capucho
e1552fd9d5
wgsl-in: Implement matrix construction from scalar
2021-12-17 10:39:31 -05:00
João Capucho
33c1daecee
glsl-in: Cull the body of do while if needed
2021-12-16 18:42:59 -05:00
João Capucho
322be0772e
spv-in: Implement CompositeInsert for arrays
...
Only adds support for unspecialized arrays
2021-12-16 16:31:51 -05:00
Dzmitry Malyshau
6df9656e96
spv-out: Force wrapping of push constant structs
2021-12-16 16:21:06 -05:00
Dzmitry Malyshau
7bb886bf36
Enforce casting width better, fix IEqual/INotEqual in spv
2021-12-16 16:14:56 -05:00
João Capucho
12baa1e909
spv-in: Implement OpCopyObject
...
Treat it as a noop since the IR has no concept of copying objects
2021-12-16 13:11:20 -05:00
João Capucho
2a8d64fc59
spv-in: Implement remaining sign agnostic ops
2021-12-16 11:22:16 -05:00
João Capucho
cf0c31cc85
spv-in: Allow branch weights in OpBranchConditional
2021-12-16 10:58:27 -05:00
João Capucho
9c75f3cdce
glsl-in: Flatten entry point arguments
...
The IR doesn't allow having structs has bindings for entry point
input/output, so the glsl frontend must flatten them.
Glsl defines that the locations are sequential from the block base location.
2021-12-16 10:55:06 -05:00
João Capucho
049b48b319
spv-in: Remove if when both branches are equal
2021-12-15 23:55:20 -05:00
João Capucho
4334f0e6a9
Support bitwise And on booleans
2021-12-15 23:53:23 -05:00
João Capucho
c64d5eff50
Support bitwise Or on booleans
2021-12-15 23:53:23 -05:00
Dzmitry Malyshau
8ffd6ba929
Remove top_level property of structs
2021-12-15 09:33:33 -05:00
Jim Blandy
3867ef4f6c
[msl-out] Correctly construct out-of-bounds values for all types.
2021-12-14 23:00:03 -05:00
Jim Blandy
8a2fbd360d
[msl-out] Add log tracing for functions and entry points.
2021-12-14 23:00:03 -05:00
Markus
c4b331acb4
readme: list supported GLSL versions for glsl-in ( #1586 )
2021-12-11 21:29:49 -05:00
Lain-dono
e200e44ede
[spv-out] Fixing incorrect pack/unpack ( #1587 )
...
* [spv-out] Fixing incorrect pack/unpack
* [spv-out] Fixing incorrect pack/unpack: make tests happy
* [spv-out] Fixing incorrect pack/unpack: remove unexpected newline
2021-12-11 21:29:31 -05:00
Jim Blandy
f51f468a47
[msl-out] Implement index bounds check policies for non-texture accesses.
2021-12-06 15:53:41 -05:00
Jim Blandy
e8f564dc83
[spv-out] Add comment about AccessIndex on non-pointer values.
2021-12-06 15:53:41 -05:00
Jim Blandy
61e3af2989
[msl-out] Move Statement::Store handling into its own function.
2021-12-06 15:53:41 -05:00
Jim Blandy
17398e761f
[msl-out] Move Expression::Load handling into its own function.
...
No changes in behavior.
2021-12-06 15:53:41 -05:00
Jim Blandy
840bbaffcc
[msl-out] Rename put_dynamic_array_length, make it take a global.
2021-12-06 15:53:41 -05:00
Jim Blandy
89cc21ef43
[spv-out] BlockContext::write_expression_pointer doc fix.
2021-12-06 15:53:41 -05:00
Jim Blandy
6912cb3594
[spv-out] Move ExpressionPointer to back::spv::block, remove pub.
2021-12-06 15:53:41 -05:00
Igor Shaposhnik
9cc2b730b7
[glsl-out] Add note about supported GLSL versions
2021-12-06 12:31:31 -05:00
João Capucho
14719553a6
glsl-in: fix pre/postfix ops on swizzles
2021-12-05 22:16:28 -05:00
Dzmitry Malyshau
c69f676609
glsl: reflect textures without samplers
2021-12-04 12:19:36 -05:00
Dzmitry Malyshau
6fbd668bd3
Add missing GLSL tests
2021-12-02 13:11:23 -05:00
João Capucho
9fac7c48a6
glsl-in: Allow vector/matrix in vector constructor
...
The glsl spec defines that vector constructors flatten their arguments
and consume them in order, ignoring the remaining arguments if there are
more than needed
2021-11-29 11:06:18 -05:00
Igor Shaposhnik
dba6beb941
[wgsl-in] Don't allow redefinition of module scope identifiers
2021-11-28 21:23:22 -05:00