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
Fredrik Norén
58e5b2565d
Validate matrix component-wise ops correctly
2021-05-30 11:03:54 -04:00
Aron Granberg
37724102a3
Improve wgsl lexer error messages.
...
Better errors for Unexpected, BadInteger, BadFloat, BadTexture, BadTypeCast, UnknownScalarType, UnknownStorageClass, UnknownAttribute, UnknownBuiltin, UnknownShaderStage, UnknownStorageFormat and UnknownConservativeDepth, ZeroStride, ZeroSizeOrAlign and UnknownType.
Also adds lexer::capture_span.
Also fixes some validation for texture sample types and and issue that cauld cause e.g. the type `f33` to be parsed as `f32`.
2021-05-30 11:01:00 -04:00
João Capucho
589f02fad4
[glsl-in] Add implicit conversions tests
2021-05-29 19:38:56 -04:00
João Capucho
b9e641c310
[glsl-in] Expression implicit conversions
2021-05-29 19:38:56 -04:00
Dzmitry Malyshau
d3fbb30d46
[wgsl-out] Improve texture sampling call
2021-05-28 22:43:39 -04:00
Dzmitry Malyshau
8a1d883ba5
[wgsl-in] support textureSampleCompareLevel
2021-05-28 22:43:39 -04:00
Dzmitry Malyshau
1366546645
[glsl-out] improve array types
2021-05-28 22:18:51 -04:00