Taylor Holliday
f63003cd36
WGSL storage address space should always correspond to MSL device add… ( #1711 )
...
* WGSL storage address space should always correspond to MSL device address space.
See MSL spec section 4.2.
* Update baselines
* Add error for storage address space if MSL version < 2.
* Update default MSL version to 2.0.
2022-02-03 13:00:04 -05:00
Dzmitry Malyshau
9b89c5fa89
Improve error messages about address space
2022-02-02 12:42:29 -05:00
Dzmitry Malyshau
75692d3795
Allow non-structure buffer types
2022-02-02 10:08:20 -05:00
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