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