Teodor Tanasoaia
2db49b6998
validate uniform address space layout constraints ( #1812 )
2022-04-09 22:35:28 -07:00
Igor Shaposhnik
43cd0ecedd
[wgsl] Make colon in case optional ( #1801 )
2022-03-30 14:32:01 -04:00
Igor Shaposhnik
6bbba0d0d5
[wgsl] Rename smoothStep to smoothstep ( #1800 )
2022-03-30 14:31:26 -04:00
Teodor Tanasoaia
cfcf625019
[wgsl-in] Constructor improvements ( #1790 )
...
* add support for zero value constructors and constructors that infer their type from their parameters
* address comments
* extract constructor machinery into new module
* fix doc link
2022-03-29 22:51:54 -07:00
Teodor Tanasoaia
012f2a6b2e
Merge pull request #1784 from teoxoy/patch-2
...
[hlsl-out] fix matrix not being declared as transposed
2022-03-27 22:24:09 -07:00
João Capucho
4146cb24d0
glsl-in: Allow nested accesses in lhs positions
...
Also fixes access to runtime sized arrays behind named blocks
2022-03-27 21:47:51 -07:00
João Capucho
21f89b65e4
glsl-in: use forced conversions for vector/matrix constructors
...
The spec defines that for vector and matrix constructors all arguments
should use the same conversions as scalar constructors (forced conversions)
2022-03-27 21:44:17 -07:00
Jonathan Behrens
26537c1a60
Call ctx.emit_start after flushing
2022-03-27 21:43:16 -07:00
Jonathan Behrens
a48faf543f
Add glsl barrier function
2022-03-27 21:43:16 -07:00
João Capucho
767d970312
glsl-in: Resume expression emit after imageStore
...
This wasn't done before which caused the frontend to crash if anything
appeared after it.
2022-03-27 21:42:02 -07:00
teoxoy
800fc7471f
fix msrv incompatibility
2022-03-27 00:34:53 -07:00
teoxoy
9dddfeec37
[wgsl-in] implement increment and decrement
2022-03-27 00:34:53 -07:00
Pu Xingyu
d62c0838a6
Update changelog
2022-03-27 00:22:58 -07:00
Pu Xingyu
b17e6cfe43
wgsl-out: Do not output semicolon after struct decl
2022-03-27 00:22:58 -07:00
Pu Xingyu
3c313564ac
wgsl-in: Make semicolon after struct decl optional
2022-03-27 00:22:58 -07:00
João Capucho
54ef2e39a0
glsl-in: Allow multiple array specifiers
2022-03-27 00:18:20 -07:00
João Capucho
b568bfbbdf
glsl-in: Fix memory qualifiers being inverted
...
Adds some documentation to better explain how the memory qualifier works
troughout the parser and some storage textures tests.
2022-03-27 00:02:26 -07:00
teoxoy
cf992a9a95
[wgsl-in] implement while loop
2022-03-22 22:47:47 -07:00
teoxoy
05f050fad4
insert padding between struct members
2022-03-21 16:39:10 -07:00
Teodor Tanasoaia
e66a66a763
[spv-out] fix wrong MatrixStride for matCx2 and mat2xR
2022-03-19 21:20:45 -07:00
Igor Shaposhnik
f90e563c28
update changelog
2022-03-12 22:07:06 -08:00
Igor Shaposhnik
b5761d9611
[wgsl-out] Uses commas to separate struct members instead of semicolons
2022-03-12 22:07:06 -08:00
Igor Shaposhnik
816fa347ad
[wgsl-in] Uses commas to separate struct members instead of semicolons
2022-03-12 22:07:06 -08:00
hatoo
7f4c01784c
Remove vs_bake
entry point from tests/in/shadow.wgsl
...
This entry point isn't useful for testing.
2022-03-11 20:14:25 -08:00
hatoo
ae282703e2
Update test case from wgpu's shadow example
2022-03-11 20:14:25 -08:00
hatoo
8344951ebe
[glsl-out] Write constant sized array type for uniform
2022-03-11 20:14:25 -08:00
Dzmitry Malyshau
1d3fb26ffd
Actually test push constants to be used ( #1767 )
2022-03-08 23:02:20 -05:00
Jim Blandy
c84aa77579
[msl-out] Properly rename entry point arguments for struct members. ( #1766 )
2022-03-08 10:07:30 -05:00
Dzmitry Malyshau
79845371d3
msl: qualify read-only storage with const
2022-03-06 19:28:15 -08:00
Vincent Isambart
fe3d945a58
Not operator depending on expression type
2022-03-05 19:11:27 -08:00
João Capucho
f054aa94f4
glsl-in: Support arrays as input/output types
...
Like it was already done for structs, arrays are flattened and each
element is attributed a location that is it's index + the array base
location.
2022-03-03 21:42:48 -08:00
João Capucho
a2bcdda81c
glsl-in: Fix freestanding constructor parsing
2022-03-03 21:39:45 -08:00
João Capucho
51e66eceb2
glsl-in: Allow backtracking in the parser
2022-03-03 21:39:45 -08:00
João Capucho
af8dd4b3bd
glsl-in: Fix matrix by scalar operations
2022-03-02 22:27:24 -08:00
João Capucho
48320db507
glsl-in: Fix matrix by matrix division
2022-03-02 22:27:24 -08:00
João Capucho
7f485d262b
glsl-in: Fix matrix comparisons
2022-03-02 22:27:24 -08:00
João Capucho
d449d2e665
glsl-in: Add support for texelFetchOffset
2022-03-01 21:06:50 -08:00
Jim Blandy
62f267a140
[wgsl-in] consume_number: Check uint_suffix flag at top of match.
...
This makes it unnecessary to check that field in every other pattern
in the match.
2022-02-27 22:43:44 -05:00
Jim Blandy
f24018dc36
[wgsl-in] Remove unused field Token::Number::width.
2022-02-27 22:43:10 -05:00
Shota Hamada
e6c202dc70
Fix typo
2022-02-27 10:30:54 -08:00
Jim Blandy
72e197fc1b
[wgsl-in] Use unwrap_or to placate Clippy.
2022-02-27 10:23:43 -08:00
João Capucho
98e7add6a2
glsl-out: texture function fixes
...
- samplerCubeShadow requires vec3 gradients
- Bias must be written after offset
- sampler1D hack on GLES requires vec2 gradients
- textureSize doesn't accept a lod argument for MS samplers
- sampler1DArray hack on GLES requires a y component on imageLoad
2022-02-23 23:23:05 -05:00
João Capucho
419a6c69f9
spv-out: Use OpImageQuerySize for MS images
2022-02-23 23:23:05 -05:00
Dzmitry Malyshau
a45b9a6cc6
wgsl: update find msb/lsb names ( #1735 )
2022-02-21 22:40:00 -08:00
Jim Blandy
679087bd9c
[msl-out] Bounds checks for ImageLoad
and ImageStore
. ( #1730 )
2022-02-21 15:08:14 -08:00
Jim Blandy
688ad474f7
[msl-out] Write 'using metal::uint' at the top, to work around bug. ( #1740 )
...
This lets us remove some special cases where `uint` must be fully
qualified, even though other similar types are not.
2022-02-21 13:22:54 -08:00
João Capucho
1ccfc8991e
glsl-in: Add test for conditional builtin inject
2022-02-19 10:42:44 -05:00
João Capucho
9f62feee87
glsl-in: inject sampler2DMSArray builtins on use
2022-02-19 10:42:44 -05:00
João Capucho
66d59eb7ac
glsl-in: inject samplerCubeArray builtins on use
...
Arrayed cube images require a special capabilities in some backends, so
like how we already do with doubles, we now only inject them if a call
uses one as an argument.
This required some refractoring on the builtins handling of variations
but now the interface is cleaner and adding new variations (if needed)
should be easier.
2022-02-18 20:29:23 -05:00
Jim Blandy
07f9cf670c
Give Expression::ImageLoad
separate sample
and level
operands.
2022-02-18 17:11:40 -05:00