João Capucho
06c8588fcd
[glsl-in] Add collatz shader and test quad shader
2021-06-09 12:54:58 -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
Jim Blandy
bfa2bbe590
Snapshot quad-glsl to WGSL, not SPIR-V and IR.
...
In tests/out, stop generating the uncommitted files quad-glsl.ron and
quad-glsl.spvasm, and add the snapshot quad-glsl.wgsl.
2021-06-07 17:27:09 +01: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
Igor Shaposhnik
ce88c9d537
Exclude bin and tests from publishing
2021-06-03 13:06:45 -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
Igor Shaposhnik
1a60ba01d9
Add note about MSRV in README
2021-06-02 21:19:09 -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
344acc3121
[glsl-in] Reenable snapshot tests
2021-06-01 21:11:50 -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
4b5ab528ac
Comparison sampling tests
2021-05-28 22:43:39 -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
Dzmitry Malyshau
d1e2ac57fe
New snapshot test for global variables
2021-05-28 22:18:51 -04:00
Dzmitry Malyshau
0244853d4c
[wgsl-in] Support workgroup storage class
2021-05-28 22:18:51 -04:00
Jim Blandy
14908e5126
[spv-out]: Don't pass in the type arena where it's not needed.
2021-05-28 00:47:25 -04:00
Jim Blandy
48363fcef1
Don't accept unsized types as function arguments.
2021-05-26 12:27:29 -04:00
Jim Blandy
398d3545b3
Include the type arena in ResolveContext, since it's always needed.
2021-05-26 10:35:59 -04:00