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
João Capucho
b15b0b6862
[glsl-in] Use local for mutable non pointer args
2021-06-09 12:54:58 -04:00
João Capucho
605bab12e3
[glsl-in] Don't load unsized types
2021-06-09 12:54:58 -04:00
João Capucho
a2ecd8ecff
[glsl-in] Refractor global and blocks handling
2021-06-09 12:54:58 -04:00
João Capucho
15c846cd0e
[glsl-in] Fix panic when calculating global use
2021-06-09 12:54:58 -04:00
João Capucho
d8dc12e47b
[glsl-in] Add gl_GlobalInvocationID builtin
2021-06-09 12:54:58 -04:00
João Capucho
2023b1a72c
[glsl-in] Implicit convert initializers
2021-06-09 12:54:58 -04:00
João Capucho
a9dad25b0f
[glsl-in] Implement increment and decrement ops
2021-06-09 12:54:58 -04:00
João Capucho
a5b2486a9b
[glsl-in] Add mod function
2021-06-09 12:54:58 -04:00
João Capucho
803cb31fb0
[glsl-in] Add support for buffer class
2021-06-09 12:54:58 -04:00
João Capucho
0184e1c875
[glsl-in] Add parsing for some modifiers
...
Adds support for workgroup size and early fragment tests definitions
2021-06-09 12:54:58 -04:00
Igor Shaposhnik
54af830855
Fix nightly clippy suggestions
2021-06-09 10:17:20 -04:00
João Capucho
be2231f6d9
[wgsl-out] Write global initializers
2021-06-09 10:14:46 -04:00
Dzmitry Malyshau
38f6a79917
[spv-out] fix image sampling ops, add more tests
2021-06-08 17:38:42 -04:00
Igor Shaposhnik
b299a59bb5
[wgsl-out] Simplify code for writing named expression
2021-06-08 17:38:14 -04:00
Igor Shaposhnik
4af035edb7
[glsl-out] Simplify code for writing named expression
2021-06-08 17:38:14 -04:00
Igor Shaposhnik
575304a50c
[msl-out] Implement named expression generation ( #957 )
2021-06-08 12:09:46 -04:00
Jim Blandy
9dcfe8fa4b
[spv-out]: Don't have write_expression_pointer return a storage class. ( #958 )
...
Nobody uses that value. This lets us simplify `GlobalVariable` and
`write_global_variable` as well.
2021-06-08 10:16:10 -04:00
Igor Shaposhnik
be6a4172c5
Fix Expression::Load generating ( #925 )
...
* [glsl-out] Fix writing named expressions with array types
* [wgsl-out] Remove unsupported builtin from baked expression
* [glsl-out] Add a newline between globals for readability
* Set bake_ref_count to 1 for Expression::Load
* Update snapshot data
2021-06-08 10:15:26 -04:00
Matus Talcik
94cdaf685d
[spv-in] CFG: add break statements in switch selections ( #951 )
2021-06-05 20:09:41 -04:00
Jim Blandy
a2a35f2eb3
Permit dynamic indexing of arrays and matrices only behind a pointer. ( #949 )
...
This makes Naga IR validation impose the restrictions added to WGSL in
gpuweb/gpuweb#1801 .
Remove code in the SPIR-V writer to spill arrays to temporary variables in order
to index them dynamically. If such IR is encountered, treat it as a failure of
validation.
2021-06-04 12:57:20 -04:00
João Capucho
1c3baf4557
[glsl-in] Allow field selection behind pointers ( #948 )
2021-06-03 16:09:20 -04:00
João Capucho
87748a2fe3
[glsl-in] Add integration tests to CI ( #943 )
...
* [glsl-in] Add glsl snapshots folder
* [glsl-in] Fix incorrect angle brackets parsing
* [glsl-in] Temporarily remove wgsl snapshot output
2021-06-03 15:34:54 -04:00
João Capucho
db3dd63bdd
[glsl-in] Don't output empty struct in entry point
2021-06-03 15:32:46 -04:00
Gordon-F
90c2cf6aa6
Add ability to generate named expressions
2021-06-03 10:40:59 -04:00
João Capucho
98769c642d
[glsl-in] read global in prologue only if allowed
...
Adds a check of wether or not a global can be read in the entry point prologue
2021-06-03 10:36:54 -04:00
Frizi
2295508f0e
Insert attribute glsl location qualifier for opengl ES 3.0
2021-06-02 12:36:04 -04:00
João Capucho
3699034ccc
[glsl-in] Fix for if being in the wrong body
2021-06-01 21:12:46 -04:00
João Capucho
4cb036b335
[glsl-in] Fix op assignments
2021-06-01 21:12:46 -04:00
João Capucho
679b6a308f
[glsl-in] Fix emitting issues
2021-06-01 21:11:50 -04:00
João Capucho
027634451d
[glsl-in] Collect entry point arguments usage
2021-06-01 21:11:50 -04:00
Dzmitry Malyshau
61bfb29963
Don't consider discard and return inside uniform control flow
2021-05-31 00:49:25 -04:00