Dzmitry Malyshau
aea427fa92
msl: add invariance if supported
2022-01-24 09:59:45 -05:00
João Capucho
81dc67402a
glsl-out: push constants use anonymous uniforms
...
Previously this was done with UBOs but this posed some problems when
integrating with wgpu (see https://github.com/gfx-rs/wgpu/pull/2400 )
2022-01-21 21:13:12 -05:00
francesco-cattoglio
8647e06b72
glsl-out: Call proper memory barrier functions ( #1680 )
...
* glsl-out: Call proper memory barrier functions
* glsl-out: Change test for control flow
* Removed two unnecessary calls
2022-01-21 15:34:44 +00:00
Dzmitry Malyshau
4bd1efc34d
wgsl: declare attribtues with @
2022-01-20 19:44:05 -05:00
Dávid Kocsis
adc6821751
implement block comments ( #1675 )
2022-01-19 19:48:04 +00:00
Dzmitry Malyshau
76814a83a2
msl: inject point size if needed
2022-01-19 11:33:14 -05:00
João Capucho
a1840beb1a
glsl-out: Add test for push constants
2022-01-16 19:32:51 -05:00
João Capucho
91ca923553
glsl-out: Add support for push constant emulation
2022-01-16 19:32:51 -05:00
João Capucho
b42bf8768e
glsl-out: Write correct argument name when skipping samplers
2022-01-16 00:47:35 -05:00
Noel Tautges
955e02eb17
Ignore .vscode
2022-01-14 21:47:14 -03:30
Dzmitry Malyshau
a89e248d68
layouter: let size() panic
2022-01-14 12:52:30 -05:00
Dzmitry Malyshau
d468e1512f
Introduce BadHandle error
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
b12ed2cc9e
Fix arbitrary for MSRV
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
0ec049fb94
typifier: handle non-existing constants
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
68b1ae1499
typifier: handle forward expression dependencies
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
be7df0d212
analyzer: skip invalid expressions
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
ab02ec7904
layouter: rich and careful errors
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
a069361bf4
validate: check local var type to be in range
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
fee69774a3
validate: check function argument type to be in range
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
ee0cb0d5d3
layouter: handle width multiplication overflows
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
c9f52bd651
validate: check global var type to be in range
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
a4ea9ce68d
typifier: check local vars, global vars, and function arguments to exist
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
003ea29a3a
validate: check constant composite type
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
bf0cb2b3a9
Fix multiplication overflow in span() computation
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
aedcc56b81
layouter: handle width=0 gracefully
2022-01-14 12:44:27 -05:00
Dzmitry Malyshau
58b4fd0f57
IR fuzz target with Arbitrary implementations
2022-01-14 12:44:27 -05:00
Benoît du Garreau
9f37624592
Don't pin indexmap version
2022-01-12 13:31:40 -05:00
Dzmitry Malyshau
c0b7ac7f54
WGSL: assignment binary operators
2022-01-11 11:01:24 -05:00
Dzmitry Malyshau
7555df952e
Adjust the MSL stack size lower bound
2022-01-11 09:30:14 -05:00
Igor Shaposhnik
298a8c30bd
[wgsl-in] Write a real type in type mismatch error
2022-01-10 10:02:05 -05:00
João Capucho
70b5ddaaad
spv-out: use OpFRem instead of OpFMod
2022-01-07 20:19:15 -05:00
João Capucho
a8929603ac
spv-in: OpVectorInsertDynamic allow unsigned index
2022-01-07 11:08:04 -05:00
João Capucho
eeb3de6f86
spv-in: sign agnostic unary operations
2022-01-07 11:03:44 -05:00
João Capucho
e2fc32387b
spv-in: more sign agnostic binary operations
2022-01-07 11:03:44 -05:00
Dzmitry Malyshau
09d35f3631
gl-out: skip unsized types if unused
2022-01-05 23:11:43 -05:00
Jim Blandy
53eeb654aa
[msl-out] Don't give level in texture1d accesses.
...
Fixes #1642 .
Since 1d textures cannot have mipmaps, MSL requires that the `level` argument to
texel accesses and dimension queries be a constexpr 0. For our purposes, just
omit the level argument altogether.
2022-01-04 15:33:23 -08:00
Jim Blandy
a1e8805360
Use ExpressionContext::resolve_type where appropriate.
2022-01-04 15:33:23 -08:00
Ibiyemi Abiodun
9a0f1b395c
Add a way to emit errors with a path ( #1640 )
...
* Add a way to emit errors with a path
I am using `naga` in my build script to validate all of my shaders, and it would be nice to be able to display the file path inside of the diagnostic, so I added a method `emit_to_stderr_with_path` to `naga::front::wgsl::ParserError`.
* change path to &str
* fix rustfmt
2022-01-04 18:21:44 +00:00
João Capucho
743d058b49
glsl-out: Use constructors shorthand for zero init
2022-01-04 13:52:00 +00:00
João Capucho
b9c4893112
glsl-out: Write struct initializers
2022-01-04 13:52:00 +00:00
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