Commit Graph

1647 Commits

Author SHA1 Message Date
Teodor Tanasoaia
fa44d9d536 [glsl-in] error on a matCx2 used with the std140 layout (#1806) 2022-04-10 21:42:02 -07:00
Noel Tautges
a3d968e795 [hlsl-out] Don't output interpolation modifier if it's the default (#1809)
* hlsl-out: don't output interpolation modifier if it's the default (linear/`Interpolation::Perspective`)

* Remove linear interpolation modifiers from HLSL output tests
2022-04-09 22:36:36 -07:00
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