João Capucho
3d3e5ae00d
glsl-in: Fix parameter not changing to depth
...
The conversion from sampled images to depth changed the `argument` type
but didn't change the `parameter` type (`argument` without pointer
indirection) causing 2+ deep propagation of depth images with function
arguments to fail.
2022-06-14 13:11:30 -07:00
teoxoy
0a6b0e5b71
update changelog for v0.9
2022-06-14 11:47:39 -07:00
teoxoy
53aa3e2df5
[wgsl-in] overhaul number lexing / parsing
...
Bring the lexer's parsing of numeric literals in line with the WGSL
specification as of 86a23b83 (2022-05-10).
2022-06-10 10:36:07 -07:00
Jim Blandy
89bed99bcc
Forbid returning pointers and atomics from functions.
...
Introduce a new `TypeFlags::CONSTRUCTIBLE` flag, corresponding to
WGSL's "constructible types". Set this on the appropriate types.
Check for this flag on function return types.
2022-06-01 14:20:55 -07:00
Jim Blandy
1c21fc02fe
Let validation check for more unsupported builtins.
...
Add `valid::Capabilities` flags for the `ClipDistance` and
`CullDistance` builtins, which are not supported by all back ends.
Have the CLI perform valation with only those capabilities that the
requested back ends support.
Fixes #1961 .
2022-06-01 14:20:06 -07:00
Jim Blandy
7f5ec31825
Verify in CI that benchmarks build.
...
Also, the documentation job probably doesn't need Clippy.
2022-06-01 10:59:18 -07:00
Jim Blandy
231341f056
Fix Criterion benchmark build.
...
As of #1889 , the GLSL back end takes an additional argument specifying
the bounds checks policies to use.
2022-06-01 08:18:46 -07:00
João Capucho
e461d30865
glsl-in: Fix matrix multiplication check
...
The previous check compared rows to rows and columns to columns but
multiplication of matrices only needs the columns of the left matrix to
be equal to the rows of the right matrix.
2022-05-30 22:54:14 +01:00
João Capucho
cff744dc89
spv-in: Implement OpBitReverse and OpBitCount
2022-05-30 22:51:50 +01:00
Jim Blandy
6a3f526c12
[spv-in] Finish truncated comment.
2022-05-30 14:31:26 -07:00
João Capucho
9e75332283
glsl-in: Stop emitter in conditional
...
This wasn't being done when there were no implicit conversions, causing
the emitter to panic.
2022-05-30 13:27:06 -07:00
teoxoy
768e1fe703
[hlsl-out] avoid error X3504: array index out of bounds
2022-05-30 13:15:40 -07:00
teoxoy
a8256e94c2
[hlsl-out] avoid error X3694: race condition writing to shared resource detected
2022-05-30 13:14:00 -07:00
teoxoy
91ee407c87
[hlsl-out] fix fallthrough in switch statements
2022-05-30 13:11:56 -07:00
teoxoy
7c7e96276a
[hlsl-out] fix missing break statements (for FXC)
2022-05-30 12:15:16 -07:00
João Capucho
0aa7681165
glsl-out: Implement bounds checks for ImageLoad ( #1889 )
...
* glsl-out: Implement bounds checks for `ImageLoad`
* Enable image bounds check snapshot tests for GLSL.
In addition to the snapshot.rs changes, this entails adding an entry
point function to `bounds-check-image-restrict.wgsl` and
`bounds-check-image-rzsw.wgsl`, including appropriate data in the
param.ron files.
* Apply comments
Snapshot test changes:
Co-authored-by: Jim Blandy <jimb@red-bean.com >
2022-05-30 12:13:58 -07:00
João Capucho
c7e245c083
Update README for glsl-in ( #1951 )
2022-05-29 19:50:30 -04:00
João Capucho
4cd997a3eb
glsl-out: Fix storage format for Rgba8Unorm
2022-05-28 14:30:12 -07:00
Jim Blandy
f035854dac
Doc tweaks.
2022-05-25 17:17:47 -07:00
Nicolas Silva
f9dfc38c40
Add a helper for getting the location of a span in some textual source.
2022-05-25 17:17:47 -07:00
teoxoy
62da3bf348
add HLSL validation via FXC to CI
2022-05-22 08:53:46 -07:00
Ashley Ruglys
104f4dc7ec
Fix a broken clippy lint
2022-05-22 08:42:20 -07:00
Ashley Ruglys
196c9981bc
Run cargo fmt
2022-05-22 08:42:20 -07:00
Ashley Ruglys
fea733f58e
Add MultiView to SUPPORTED_CAPABILITIES
2022-05-22 08:42:20 -07:00
Hasan Ali
571302e3ff
[hlsl-out] Fix countOneBits and reverseBits for signed integers
2022-05-17 00:12:18 +02:00
grovesNL
60ae549fe1
Add error for non-floating-point matrix
2022-05-14 17:00:15 +02:00
teoxoy
ab2806e05f
[hlsl-out] fix array constructor return type (for FXC)
2022-05-12 22:17:40 -07:00
teoxoy
5f47d6d31f
[msl-out] use matrix identity constructor
2022-05-12 22:15:45 -07:00
teoxoy
6dae3ac7e0
[wgsl-in] support partial vector & matrix identity constructors
2022-05-12 22:15:45 -07:00
teoxoy
f48174a0b4
[spv-out] use OpCopyObject for matrix identity casts
2022-05-12 22:15:45 -07:00
teoxoy
b7ff50619c
[spv-out] use OpCopyObject for bool - bool conversion due to OpBitcast not being feasible for booleans
2022-05-12 22:15:45 -07:00
teoxoy
afb6504b8b
add support for identity matrix constructor
2022-05-12 22:15:45 -07:00
Connor Fitzgerald
95d5d165fb
[valid] Fix bitflag assignments ( #1915 )
2022-05-12 13:10:17 +00:00
teoxoy
b688584d87
[msl-out] fix pointers to private or workgroup address spaces possibly being read only
2022-05-11 20:10:18 -07:00
teoxoy
fea33c682e
[wgsl-in] fix incr/decr not matching ValuePointer
2022-05-11 20:01:46 -07:00
Igor Shaposhnik
8db27c49f8
[wgsl] Reserve binding_array
2022-05-11 13:41:24 +02:00
Hasan Ali
205ea6cc5c
Fix hlsl output for writes to scalar/vector storage buffer
2022-05-10 22:46:47 +02:00
teoxoy
b3d5e6d807
[msl-out] zero init variables in function address space
2022-05-10 10:44:40 +02:00
teoxoy
239bbbbed4
[spv-out] zero init variables in function and private address spaces
2022-05-10 10:44:40 +02:00
teoxoy
ceb92921c2
remove named expression entry for phony assignment
2022-05-10 10:43:25 +02:00
teoxoy
66337af310
add TODOs for handling undefined behavior
2022-05-09 20:48:09 -07:00
teoxoy
ecd6d4e4aa
[spv-in] translate OpSMod correctly
2022-05-09 20:48:09 -07:00
teoxoy
7109cffb20
[spv-out] use SRem instead of SMod
2022-05-09 20:48:09 -07:00
teoxoy
0d4098d634
[spv-in] translate OpFMod correctly
2022-05-09 20:48:09 -07:00
teoxoy
c03d840755
[glsl-in] translate mod fn correctly
2022-05-09 20:48:09 -07:00
teoxoy
c584331f39
[hlsl-out] use fmod instead of %
2022-05-09 20:48:09 -07:00
Teodor Tanasoaia
e312a7adeb
[hlsl-out] use wrapped constructors when loading from storage address space ( #1893 )
2022-05-09 20:40:42 -07:00
Hiroaki Yutani
af6e2fc7ab
Describe the usage of cargo run
2022-05-09 23:29:00 +02:00
Hiroaki Yutani
f1d72f8433
Show naga-cli instead of cargo run on README
2022-05-09 23:29:00 +02:00
Hasan Ali
934fa16919
Implement reverseBits and countOneBits for SPIR-V ( #1897 )
...
* Implement reverseBits and countOneBits for spir-v
* Update tests
* Fix type error for glsl countOneBits implementation
2022-05-09 23:24:28 +02:00