João Capucho
ffe67139cd
[glsl-in] Add support for mix with bool selectors
2021-06-20 23:11:16 -04:00
João Capucho
c152205c87
[glsl-in] arguments of opaque types are constant
2021-06-20 23:11:16 -04:00
João Capucho
01036e8f42
[glsl-in] Use crate::BOOL_WIDTH for booleans width
2021-06-20 23:11:16 -04:00
João Capucho
e7d712e608
[glsl-in] Apply constant binary ops to composites
2021-06-20 23:11:16 -04:00
João Capucho
60644504d8
[glsl-in] Implicit cast stores with ValuePointer
2021-06-20 23:11:16 -04:00
João Capucho
68609cdff8
[glsl-in] Implement textureSize
2021-06-20 23:11:16 -04:00
João Capucho
fd042e6f31
[glsl-in] Implement default for options
2021-06-20 23:11:16 -04:00
João Capucho
16d7c0e428
[glsl-in] Implement texelFetch
2021-06-20 23:11:16 -04:00
Jim Blandy
696ca340e0
Improve docs for TypeInner, valid::TypeFlags, and some internal types.
2021-06-20 12:18:50 -04:00
Jim Blandy
70016ce6e3
Address warnings about links from cargo doc --package naga.
2021-06-20 12:18:50 -04:00
Dzmitry Malyshau
70071228a3
[spv-out] don't OpConvert the same width
2021-06-20 01:27:58 -04:00
João Capucho
4bc4c60663
[glsl-in] Implicit casts for function calls
2021-06-19 13:58:21 -04:00
Jim Blandy
c16f2097ad
[spv-out]: Ensure array subscripts are in bounds.
2021-06-18 20:44:07 -04:00
Jim Blandy
a7cacab276
[spv-out] Move Writer type to back/spv/mod.rs.
...
The `impl` blocks for `Writer` and its associated types remain in spv/writer.rs.
There should be no substantive code changes in this commit, only moving code
around and adjusting `use` declarations to match.
2021-06-18 20:44:07 -04:00
Jim Blandy
9146942412
[spv-out]: Abstract out null constant creation.
2021-06-18 20:44:07 -04:00
Jim Blandy
ac92f09a48
[spv-out] Document is_intermediate.
2021-06-18 20:44:07 -04:00
Jim Blandy
1d0b3f3a75
Functions can take pointers to unsized structs, but no other unsized types.
2021-06-18 20:44:07 -04:00
Dzmitry Malyshau
f0f8a5f3ba
Fix GLSL frontend clippy error
2021-06-18 20:18:52 -04:00
João Capucho
a1bd4a8053
[glsl-in] Allow structs as local type
2021-06-18 16:54:45 -04:00
Gordon-F
46be75fb37
[hlsl-out] Implement all parts required by quad-spv snaphost test
2021-06-18 15:23:09 -04:00
Frizi
5242d4f5a9
avoid hashmap allocation when entering namer namespace
2021-06-18 13:57:44 -04:00
Frizi
b89da31cc7
reorder namer assignment order to preserve names for reflection
2021-06-18 13:57:44 -04:00
Jakob Hellermann
8f410d5ca8
[glsl-in] add source metadata to VariableAlreadyDeclared error
2021-06-18 16:23:13 +01:00
Jakob Hellermann
c2cfcbf84b
[glsl-in] include information on what was expected in InvalidToken
2021-06-18 16:23:13 +01:00
Dzmitry Malyshau
e3827f8e08
Improve the MemberOutOfBounds error
2021-06-18 00:10:39 -04:00
Frizi
efd416d964
[glsl-in] parse all math functions
2021-06-17 16:08:34 -04:00
João Capucho
8a4e7b0c93
[glsl-in] Generate AccessIndex for constant access
2021-06-17 20:57:32 +01:00
João Capucho
b490902112
[glsl-in] Add loads as needed
2021-06-17 20:57:32 +01:00
Frizi
b439868c00
move SwizzleComponent impl into proc module
2021-06-17 15:21:47 -04:00
Frizi
1d39a92c8b
[glsl-in] parse structs inside parse_type
2021-06-17 15:21:47 -04:00
Frizi
3d5e6d51a0
[glsl-in] make sure swizzles never operate on a pointer value
2021-06-17 15:21:47 -04:00
Frizi
96980727cb
[glsl-in] support nested swizzles and prevent l-value repeated components
2021-06-17 15:21:47 -04:00
Frizi
60c44b0611
[glsl-in] create temp var for swizzles used as out parameters
2021-06-17 15:21:47 -04:00
Frizi
25c0dd22cc
[glsl-in] simplify parse_type identifier case
2021-06-17 15:21:47 -04:00
Frizi
f85c896ddf
[glsl-in] require at least one item inside struct_declaration_list
2021-06-17 15:21:47 -04:00
Frizi
ad260062a0
[glsl-in] parse structs and resolve user-defined types
2021-06-17 15:21:47 -04:00
Frizi
c7580f2743
[glsl-in] preserve entrypoint arg names for reflection
2021-06-17 15:21:47 -04:00
Frizi
e6d142f28f
[glsl-in] treat const globals as constants allow them in array size exprs
2021-06-17 15:21:47 -04:00
Frizi
7c8fbb4377
[glsl-in] support more math functions and builitns
2021-06-17 15:21:47 -04:00
Frizi
bff8b18a01
[glsl-in] lower swizzle store to per-component stores
2021-06-17 15:21:47 -04:00
Frizi
a7d3b604dc
[wgsl-in] fix clippy warnings on to_wgsl methods
2021-06-17 11:50:03 -04:00
Frizi
337014786c
[wgsl-in] use AccessIndex for accesses using constant index
2021-06-17 11:34:58 -04:00
Jim Blandy
b79d4c5d85
Validator::validate: Remove bogus comment.
...
This comment claims that the following work is being done after global
validation, but it actually appears before global validation.
2021-06-17 11:05:27 -04:00
Gordon-F
96b37aff1f
[hlsl-out] Reduce heap allocation
2021-06-16 14:03:50 -04:00
Gordon-F
92a11d0978
[hlsl-out] More improvements. Enable quad snapshot testing
2021-06-15 21:08:05 -04:00
Gordon-F
7430a43c36
[wgsl-out] Write constant names with namer
2021-06-15 21:08:05 -04:00
Gordon-F
d1f9575ed1
[glsl-out] Write space after if keyword
2021-06-15 21:08:05 -04:00
Gordon-F
54d7d7d2a3
Improve hlsl-out
2021-06-13 11:15:42 -04:00
Dzmitry Malyshau
af022ed21e
Add Hash to ResourceBinding
2021-06-10 14:19:41 -04:00
João Capucho
fb71e49501
[glsl-in] Implicit cast mod function
2021-06-09 12:54:58 -04:00