Commit Graph

634 Commits

Author SHA1 Message Date
Dzmitry Malyshau
b1fa7471d2 Basic image query support in SPV and WGSL frontends 2021-02-05 15:26:45 -05:00
Dzmitry Malyshau
50f0ad6249 Image queries 2021-02-05 15:26:45 -05:00
Dzmitry Malyshau
c496c05ba4 Makefile commands for native shader validation 2021-02-05 14:04:02 -05:00
Dzmitry Malyshau
ac27a1abaa Don't break upon a void function in the typifier 2021-02-05 10:08:34 -05:00
Dzmitry Malyshau
f563b5810b [spv-in] support OpImage, OpImageFetch, OpLogicalOr, OpLogicalAnd, relational functions, and fix OpUndef 2021-02-04 09:49:40 -05:00
Dzmitry Malyshau
423ccc2074 [spv-in] parse OpConstantNull and OpUndef 2021-02-04 09:49:40 -05:00
Dzmitry Malyshau
0970ef0ea5 [spv-in] derive the block status of a structure from its members 2021-02-04 09:49:40 -05:00
tfgast
71fdaedcec FragDepth is a Write Property
FragDepth is written to in a fragment shader, not read.
2021-02-03 22:29:42 -05:00
João Capucho
bb88aac937 Add matrix access to ConstantSolver 2021-02-02 11:17:34 -05:00
João Capucho
fcbf2aa4c4 Add support for unary ops to the constant solver
Fix wrong result when casting to bool
Add tests
2021-02-02 11:17:34 -05:00
João Capucho
53bd721895 Add support for casts in constant expressions 2021-02-02 11:17:34 -05:00
João Capucho
68bbf00249 Added support for initalizers and constants 2021-02-02 11:17:34 -05:00
Dzmitry Malyshau
e05baa2889
[spv] put NonWritable on buffer variable itself (#405) 2021-02-01 20:17:50 -05:00
Dzmitry Malyshau
5def021b6e
[spv] replace the internal type inferrence with the typifier (#403)
Also, fix the Typifier's handling of logical operations.
See https://github.com/gfx-rs/naga/pull/404 for v0.3 branch.
2021-02-01 09:33:28 -05:00
Lain-dono
6ff725d89a
[spv-out] Add missing math functions (#401)
* [spv-out] Add missing builtins

* [spv-out] remove a non-existent integer version of mix
2021-02-01 00:28:17 -05:00
Lain-dono
208346fad6 [spv-out] implement discard 2021-01-31 23:39:45 -05:00
João Capucho
c12003f564 Populate ResolveContext with functions
Add support for more math functions
2021-01-31 21:21:51 -05:00
João Capucho
daf18642d7 Add support for hexadecimal literals 2021-01-31 21:20:59 -05:00
João Capucho
df3759ebff Fix double constant lexing and lex uint constants 2021-01-31 21:20:59 -05:00
Jay Oster
9f88c3e986 Update emoji in README 2021-01-31 21:19:18 -05:00
Dzmitry Malyshau
537a516ff5 Version bump to 0.3.1 2021-01-31 18:27:08 -05:00
Dzmitry Malyshau
6138e4ddd3 [spv] fix block decoration on nested structs 2021-01-31 18:27:08 -05:00
Dzmitry Malyshau
4a3ecc774f [wgsl] remove function and constant lookup maps 2021-01-31 18:27:08 -05:00
Dzmitry Malyshau
cb36c642ea [wgsl] refactor constants processing, add support for array sizes 2021-01-31 18:27:08 -05:00
Dzmitry Malyshau
7c6835bdbc [spv] fix support for fixed-size array, refactor constant writes 2021-01-31 18:27:08 -05:00
Dzmitry Malyshau
1ec4c2b0d0 [spv] implement NonReadable/NonWritable decorations 2021-01-31 18:27:08 -05:00
Dzmitry Malyshau
15b629b750 [spv] put ColMajor on the struct member 2021-01-31 18:27:08 -05:00
João Capucho
b55aa51f65 Add support for function declarations with arguments
Change ParseError to be public
Change globals to default to private instead of throwing error
2021-01-30 13:44:39 -05:00
Dzmitry Malyshau
be86f5b7cf Update README table 2021-01-30 11:54:15 -05:00
Dzmitry Malyshau
40974d503c Bump version to 0.3 and update changelog 2021-01-30 11:48:37 -05:00
Dzmitry Malyshau
b8e9c209b0 [mtl] fix unsigned constants, comparison level option 2021-01-30 15:14:38 +01:00
Dzmitry Malyshau
0bbeec7d55 Add shadow snapshot shader 2021-01-30 15:14:38 +01:00
Dzmitry Malyshau
3b9f517446 [mtl] implement continuing, fix Greater op and scoping 2021-01-30 15:14:38 +01:00
Baptiste Manson
0c725c0837 added function pow from spirv backend 2021-01-29 17:38:41 -05:00
Dzmitry Malyshau
ea64ab0431 Check host shared decorations in the validator 2021-01-29 21:22:04 +01:00
Dzmitry Malyshau
0c5db60d69 [spv] fix depth sampler type 2021-01-29 21:05:15 +01:00
Dzmitry Malyshau
4a13ce022b [spv] debug labels for types, local variables, and struct members 2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
089a5597c6 [spv] implement the rest of binary operators 2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
20b9aa6835 Address clippy issues 2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
162079c160 Enable collatz and boids testing for spv-out 2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
194a67edda [spv] separate block ID creation from contents writing 2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
7d3342f2c9 [spv] Implement math comparison functions 2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
b9cc890ca6 [spv] implement loops 2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
16521a94d0 [spv] implement trigonometry math functions 2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
3177df2188 [spv] refactor the return statement handling 2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
e3328773d0 [spv] Refactor struct Block, implement Statement::Block 2021-01-28 17:28:48 +01:00
Timo de Kort
88f118a07d Working prototype 2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
dc98305bb8 Print out detailed WGSL errors 2021-01-28 01:22:10 -05:00
Dzmitry Malyshau
4f517f4af3 [wgsl] include the expected string into the error 2021-01-28 01:22:10 -05:00
Dzmitry Malyshau
3e4cb21b90 [wgsl] support simple block statements 2021-01-27 21:31:04 +01:00