glalonde
bb604fd6a3
Mitigation for MSL atomic bounds check. ( #1703 )
...
[msl-out] Correct output for bounds-checked atomic accesses.
2022-02-01 16:37:09 -08:00
Dzmitry Malyshau
2ddc8d1929
Rename StorageClass to AddressSpace
2022-01-31 16:25:06 -05:00
rhysd
d6f8958b34
wgsl: Do not make error output colorful when the terminal is dumb
2022-01-29 08:52:36 -05:00
rhysd
f98053aa3c
cli: Include file path in WGSL parse error
2022-01-29 08:52:15 -05:00
rhysd
0afa8fcb4f
cli: Add --version flag
2022-01-28 12:16:00 -05:00
rhysd
6842db4432
cli: Support reading input from stdin
2022-01-27 12:59:01 -05:00
Connor Fitzgerald
f5d97cae84
Adjust MSL version invariant needs
2022-01-25 13:25:48 -05:00
Dzmitry Malyshau
a782592af3
msl: emit point size even when there is no struct
2022-01-25 11:24:58 -05:00
Dzmitry Malyshau
4c91abe5b3
wgsl: remove stride
2022-01-24 16:44:12 -05:00
Jim Blandy
f61ac3e73e
Document proc::layouter.
...
Rename `TypeLayoutError` to `LayoutErrorInner`, for consistency. It makes no
sense to have 'Type' in the name of one of the error types but not the other.
The 'Inner' convention is used by the module types.
Cite the layout rules in the WGSL spec, not a GitHub issue.
2022-01-24 16:43:54 -05:00
Connor Fitzgerald
f36cfb93dc
glsl: floatBitsToUint spelling
2022-01-24 10:36:26 -05:00
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