Commit Graph

461 Commits

Author SHA1 Message Date
Dzmitry Malyshau
bfbb30b375 Add CI action for validation of native shaders 2021-02-10 21:48:45 -05:00
Dzmitry Malyshau
3aa11838c7 Refactor the global usage code into a separate module, fix inheriting from the callees 2021-02-10 11:02:56 -05:00
Dzmitry Malyshau
4f19903f46 [wgsl] fix variable initializers wrt control flow 2021-02-09 00:47:41 -05:00
Dzmitry Malyshau
5b94ecd9b2 Add a snapshot for parsing spirv input 2021-02-08 15:59:47 -05:00
Dzmitry Malyshau
cf0a86afd4 [spv-in] move all the image-related logic into a sub-module 2021-02-08 15:59:47 -05:00
Dzmitry Malyshau
6b9d3eafc8 [spv-in] Rewrite the comparison image/sample handling.
Keep track of the comparison property per global variable instead of  type.
Only track images that can actually be comparison-sampled.
Instead of mutating the type, just add a new type in the end
if we detect it to be necessary, cloning the old name.
2021-02-08 15:59:47 -05:00
Dzmitry Malyshau
10867879d4 [spv-in] support projection sampling and sampling from arrays 2021-02-08 11:31:45 -05:00
Dzmitry Malyshau
680fda9e1b [spv-out] fix initial ID 0 and 1 assignments 2021-02-08 00:20:37 -05:00
Dzmitry Malyshau
76094aa553 [mtl] fix nested loop service variable 2021-02-08 00:13:12 -05:00
Joshua Groves
832e259a03 Ues updated paths in Makefile 2021-02-07 18:16:26 -05:00
Joshua Groves
31be7099f2 Move snapshot inputs and outputs around 2021-02-07 18:16:26 -05:00
Dzmitry Malyshau
6f50ca6bee Push constant support 2021-02-07 11:54:56 -05:00
Dzmitry Malyshau
960aabec20 [spv-in] Implement OpCompositeInsert 2021-02-07 11:49:52 -05:00
Dzmitry Malyshau
75427cf95c [spv-in] handle matrix decorations 2021-02-07 11:44:47 -05:00
João Capucho
993521965d Add support for unary ops to glsl 2021-02-06 22:23:09 -05:00
João Capucho
708751a805 Add support for relational functions to glsl-in 2021-02-06 16:57:30 -05:00
João Capucho
da8f9ecbb9 Add support for more math functions in glsl-in 2021-02-06 16:57:30 -05:00
João Capucho
e0005211a3 Fix the way equality is handled in glsl 2021-02-06 16:04:24 -05:00
Dzmitry Malyshau
251f800825 Remove the typifier hack for void functions 2021-02-06 10:42:54 -05:00
Dzmitry Malyshau
d0c84a5ffa [spv-in] support for void function calls 2021-02-06 10:42:54 -05:00
Dzmitry Malyshau
11a3ed9837 WGSL support for void function calls 2021-02-06 10:42:54 -05:00
Dzmitry Malyshau
d949d58f7b Statement for void function call 2021-02-06 10:42:54 -05:00
João Capucho
f9f41fc9bf Add support for more math functions in glsl 2021-02-06 00:41:00 -05:00
João Capucho
2f9c957198 Add support for pow and fix mix arguments 2021-02-06 00:41:00 -05:00
João Capucho
ae72fb0933 Add support for component wise comparison to glsl 2021-02-06 00:41:00 -05:00
João Capucho
647dd76dba Moved the ConstantSolver to the glsl frontend 2021-02-06 00:25:30 -05:00
João Capucho
88eee833d7 Add binary op support for the ConstantSolver 2021-02-06 00:25:30 -05:00
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 naga-v0.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