diff --git a/src/back/wgsl/writer.rs b/src/back/wgsl/writer.rs index 9315e63757..a85ade071a 100644 --- a/src/back/wgsl/writer.rs +++ b/src/back/wgsl/writer.rs @@ -423,7 +423,7 @@ impl Writer { writeln!(self.out)?; } - write!(self.out, "}};")?; + write!(self.out, "}}")?; writeln!(self.out)?; diff --git a/tests/out/wgsl/210-bevy-2d-shader-frag.wgsl b/tests/out/wgsl/210-bevy-2d-shader-frag.wgsl index 3c7aaf1d14..e9f9c92a6c 100644 --- a/tests/out/wgsl/210-bevy-2d-shader-frag.wgsl +++ b/tests/out/wgsl/210-bevy-2d-shader-frag.wgsl @@ -1,10 +1,10 @@ struct ColorMaterial_color { Color: vec4, -}; +} struct FragmentOutput { @location(0) o_Target: vec4, -}; +} var v_Uv_1: vec2; var o_Target: vec4; diff --git a/tests/out/wgsl/210-bevy-2d-shader-vert.wgsl b/tests/out/wgsl/210-bevy-2d-shader-vert.wgsl index b6e70957cb..cec816f8a2 100644 --- a/tests/out/wgsl/210-bevy-2d-shader-vert.wgsl +++ b/tests/out/wgsl/210-bevy-2d-shader-vert.wgsl @@ -1,19 +1,19 @@ struct Camera { ViewProj: mat4x4, -}; +} struct Transform { Model: mat4x4, -}; +} struct Sprite_size { size: vec2, -}; +} struct VertexOutput { @location(0) v_Uv: vec2, @builtin(position) member: vec4, -}; +} var Vertex_Position_1: vec3; var Vertex_Normal_1: vec3; diff --git a/tests/out/wgsl/210-bevy-shader-vert.wgsl b/tests/out/wgsl/210-bevy-shader-vert.wgsl index d7a177cb3c..454a426cde 100644 --- a/tests/out/wgsl/210-bevy-shader-vert.wgsl +++ b/tests/out/wgsl/210-bevy-shader-vert.wgsl @@ -1,17 +1,17 @@ struct Camera { ViewProj: mat4x4, -}; +} struct Transform { Model: mat4x4, -}; +} struct VertexOutput { @location(0) v_Position: vec3, @location(1) v_Normal: vec3, @location(2) v_Uv: vec2, @builtin(position) member: vec4, -}; +} var Vertex_Position_1: vec3; var Vertex_Normal_1: vec3; diff --git a/tests/out/wgsl/246-collatz-comp.wgsl b/tests/out/wgsl/246-collatz-comp.wgsl index 994c028d12..03e6f1356b 100644 --- a/tests/out/wgsl/246-collatz-comp.wgsl +++ b/tests/out/wgsl/246-collatz-comp.wgsl @@ -1,6 +1,6 @@ struct PrimeIndices { indices: array, -}; +} @group(0) @binding(0) var global: PrimeIndices; diff --git a/tests/out/wgsl/800-out-of-bounds-panic-vert.wgsl b/tests/out/wgsl/800-out-of-bounds-panic-vert.wgsl index a3aca90828..c0c1581db1 100644 --- a/tests/out/wgsl/800-out-of-bounds-panic-vert.wgsl +++ b/tests/out/wgsl/800-out-of-bounds-panic-vert.wgsl @@ -1,15 +1,15 @@ struct Globals { view_matrix: mat4x4, -}; +} struct VertexPushConstants { world_matrix: mat4x4, -}; +} struct VertexOutput { @location(0) frag_color: vec4, @builtin(position) member: vec4, -}; +} @group(0) @binding(0) var global: Globals; diff --git a/tests/out/wgsl/896-push-constant-vert.wgsl b/tests/out/wgsl/896-push-constant-vert.wgsl index 89e7cee2be..f4892e00db 100644 --- a/tests/out/wgsl/896-push-constant-vert.wgsl +++ b/tests/out/wgsl/896-push-constant-vert.wgsl @@ -1,6 +1,6 @@ struct PushConstants { example: f32, -}; +} var c: PushConstants; diff --git a/tests/out/wgsl/access.wgsl b/tests/out/wgsl/access.wgsl index cab0428e9d..1e07fc9334 100644 --- a/tests/out/wgsl/access.wgsl +++ b/tests/out/wgsl/access.wgsl @@ -1,6 +1,6 @@ struct AlignedWrapper { value: i32, -}; +} struct Bar { matrix: mat4x4, @@ -8,7 +8,7 @@ struct Bar { atom: atomic, arr: array,2>, data: array, -}; +} @group(0) @binding(0) var bar: Bar; diff --git a/tests/out/wgsl/bevy-pbr-frag.wgsl b/tests/out/wgsl/bevy-pbr-frag.wgsl index d8ef7b2dd0..5d04450756 100644 --- a/tests/out/wgsl/bevy-pbr-frag.wgsl +++ b/tests/out/wgsl/bevy-pbr-frag.wgsl @@ -2,51 +2,51 @@ struct PointLight { pos: vec4, color: vec4, lightParams: vec4, -}; +} struct DirectionalLight { direction: vec4, color: vec4, -}; +} struct CameraViewProj { ViewProj: mat4x4, -}; +} struct CameraPosition { CameraPos: vec4, -}; +} struct Lights { AmbientColor: vec4, NumLights: vec4, PointLights: array, DirectionalLights: array, -}; +} struct StandardMaterial_base_color { base_color: vec4, -}; +} struct StandardMaterial_roughness { perceptual_roughness: f32, -}; +} struct StandardMaterial_metallic { metallic: f32, -}; +} struct StandardMaterial_reflectance { reflectance: f32, -}; +} struct StandardMaterial_emissive { emissive: vec4, -}; +} struct FragmentOutput { @location(0) o_Target: vec4, -}; +} var v_WorldPosition_1: vec3; var v_WorldNormal_1: vec3; diff --git a/tests/out/wgsl/bevy-pbr-vert.wgsl b/tests/out/wgsl/bevy-pbr-vert.wgsl index 13c7cb9358..124914c13b 100644 --- a/tests/out/wgsl/bevy-pbr-vert.wgsl +++ b/tests/out/wgsl/bevy-pbr-vert.wgsl @@ -1,10 +1,10 @@ struct CameraViewProj { ViewProj: mat4x4, -}; +} struct Transform { Model: mat4x4, -}; +} struct VertexOutput { @location(0) v_WorldPosition: vec3, @@ -12,7 +12,7 @@ struct VertexOutput { @location(2) v_Uv: vec2, @location(3) v_WorldTangent: vec4, @builtin(position) member: vec4, -}; +} var Vertex_Position_1: vec3; var Vertex_Normal_1: vec3; diff --git a/tests/out/wgsl/boids.wgsl b/tests/out/wgsl/boids.wgsl index bc908aa675..e166308ed4 100644 --- a/tests/out/wgsl/boids.wgsl +++ b/tests/out/wgsl/boids.wgsl @@ -1,7 +1,7 @@ struct Particle { pos: vec2, vel: vec2, -}; +} struct SimParams { deltaT: f32, @@ -11,11 +11,11 @@ struct SimParams { rule1Scale: f32, rule2Scale: f32, rule3Scale: f32, -}; +} struct Particles { particles: array, -}; +} let NUM_PARTICLES: u32 = 1500u; diff --git a/tests/out/wgsl/bool-select-frag.wgsl b/tests/out/wgsl/bool-select-frag.wgsl index f44a4416e8..ac22cfa890 100644 --- a/tests/out/wgsl/bool-select-frag.wgsl +++ b/tests/out/wgsl/bool-select-frag.wgsl @@ -1,6 +1,6 @@ struct FragmentOutput { @location(0) o_color: vec4, -}; +} var o_color: vec4; diff --git a/tests/out/wgsl/clamp-splat-vert.wgsl b/tests/out/wgsl/clamp-splat-vert.wgsl index fd0b8eaf6d..227f49aab2 100644 --- a/tests/out/wgsl/clamp-splat-vert.wgsl +++ b/tests/out/wgsl/clamp-splat-vert.wgsl @@ -1,6 +1,6 @@ struct VertexOutput { @builtin(position) member: vec4, -}; +} var a_pos_1: vec2; var gl_Position: vec4; diff --git a/tests/out/wgsl/collatz.wgsl b/tests/out/wgsl/collatz.wgsl index 7b0a134fd5..e81b1fa1c9 100644 --- a/tests/out/wgsl/collatz.wgsl +++ b/tests/out/wgsl/collatz.wgsl @@ -1,6 +1,6 @@ struct PrimeIndices { data: array, -}; +} @group(0) @binding(0) var v_indices: PrimeIndices; diff --git a/tests/out/wgsl/constant-array-size-vert.wgsl b/tests/out/wgsl/constant-array-size-vert.wgsl index bf4830dc9e..2408f8104e 100644 --- a/tests/out/wgsl/constant-array-size-vert.wgsl +++ b/tests/out/wgsl/constant-array-size-vert.wgsl @@ -1,6 +1,6 @@ struct Data { vecs: array,42u>, -}; +} @group(1) @binding(0) var global: Data; diff --git a/tests/out/wgsl/declarations-vert.wgsl b/tests/out/wgsl/declarations-vert.wgsl index 42de93fd8a..cfd2528f39 100644 --- a/tests/out/wgsl/declarations-vert.wgsl +++ b/tests/out/wgsl/declarations-vert.wgsl @@ -1,24 +1,24 @@ struct VertexData { position: vec2, a: vec2, -}; +} struct FragmentData { position: vec2, a: vec2, -}; +} struct TestStruct { a: f32, b: f32, -}; +} struct VertexOutput { @location(0) position: vec2, @location(1) a: vec2, @location(2) out_array: vec4, @location(3) out_array_1: vec4, -}; +} var vert: VertexData; var frag: FragmentData; diff --git a/tests/out/wgsl/empty-global-name.wgsl b/tests/out/wgsl/empty-global-name.wgsl index 81334fc8f6..8d6d3f9a01 100644 --- a/tests/out/wgsl/empty-global-name.wgsl +++ b/tests/out/wgsl/empty-global-name.wgsl @@ -1,6 +1,6 @@ struct type_1 { member: i32, -}; +} @group(0) @binding(0) var unnamed: type_1; diff --git a/tests/out/wgsl/expressions-frag.wgsl b/tests/out/wgsl/expressions-frag.wgsl index f487aae834..30d6b30fc0 100644 --- a/tests/out/wgsl/expressions-frag.wgsl +++ b/tests/out/wgsl/expressions-frag.wgsl @@ -1,10 +1,10 @@ struct BST { data: i32, -}; +} struct FragmentOutput { @location(0) o_color: vec4, -}; +} var global: f32; var o_color: vec4; diff --git a/tests/out/wgsl/extra.wgsl b/tests/out/wgsl/extra.wgsl index 98b6bc883b..0090ffad04 100644 --- a/tests/out/wgsl/extra.wgsl +++ b/tests/out/wgsl/extra.wgsl @@ -1,12 +1,12 @@ struct PushConstants { index: u32, double: vec2, -}; +} struct FragmentIn { @location(0) color: vec4, @builtin(primitive_index) primitive_index: u32, -}; +} var pc: PushConstants; diff --git a/tests/out/wgsl/fma-frag.wgsl b/tests/out/wgsl/fma-frag.wgsl index 3d094d41ce..3c2233abfe 100644 --- a/tests/out/wgsl/fma-frag.wgsl +++ b/tests/out/wgsl/fma-frag.wgsl @@ -2,11 +2,11 @@ struct Mat4x3_ { mx: vec4, my: vec4, mz: vec4, -}; +} struct FragmentOutput { @location(0) o_color: vec4, -}; +} var o_color: vec4; diff --git a/tests/out/wgsl/globals.wgsl b/tests/out/wgsl/globals.wgsl index 4d60fe89b4..2437556f2e 100644 --- a/tests/out/wgsl/globals.wgsl +++ b/tests/out/wgsl/globals.wgsl @@ -1,7 +1,7 @@ struct Foo { v3_: vec3, v1_: f32, -}; +} let Foo_2: bool = true; diff --git a/tests/out/wgsl/interface.wgsl b/tests/out/wgsl/interface.wgsl index 9da63f6318..d2584caaba 100644 --- a/tests/out/wgsl/interface.wgsl +++ b/tests/out/wgsl/interface.wgsl @@ -1,21 +1,21 @@ struct VertexOutput { @builtin(position) position: vec4, @location(1) varying: f32, -}; +} struct FragmentOutput { @builtin(frag_depth) depth: f32, @builtin(sample_mask) sample_mask: u32, @location(0) color: f32, -}; +} struct Input1_ { @builtin(vertex_index) index: u32, -}; +} struct Input2_ { @builtin(instance_index) index: u32, -}; +} var output: array; diff --git a/tests/out/wgsl/interpolate.wgsl b/tests/out/wgsl/interpolate.wgsl index a74b65741f..ca3db022bc 100644 --- a/tests/out/wgsl/interpolate.wgsl +++ b/tests/out/wgsl/interpolate.wgsl @@ -7,7 +7,7 @@ struct FragmentInput { @location(4) perspective: vec4, @location(5) @interpolate(perspective, centroid) perspective_centroid: f32, @location(6) @interpolate(perspective, sample) perspective_sample: f32, -}; +} @stage(vertex) fn vert_main() -> FragmentInput { diff --git a/tests/out/wgsl/operators.wgsl b/tests/out/wgsl/operators.wgsl index 5beefb4d4d..d8e1a42673 100644 --- a/tests/out/wgsl/operators.wgsl +++ b/tests/out/wgsl/operators.wgsl @@ -1,7 +1,7 @@ struct Foo { a: vec4, b: i32, -}; +} let v_f32_one: vec4 = vec4(1.0, 1.0, 1.0, 1.0); let v_f32_zero: vec4 = vec4(0.0, 0.0, 0.0, 0.0); diff --git a/tests/out/wgsl/pointers.wgsl b/tests/out/wgsl/pointers.wgsl index 035e05292d..5269e16f7a 100644 --- a/tests/out/wgsl/pointers.wgsl +++ b/tests/out/wgsl/pointers.wgsl @@ -1,6 +1,6 @@ struct DynamicArray { arr: array, -}; +} @group(0) @binding(0) var dynamic_array: DynamicArray; diff --git a/tests/out/wgsl/quad-vert.wgsl b/tests/out/wgsl/quad-vert.wgsl index 7f598d03f1..b568037251 100644 --- a/tests/out/wgsl/quad-vert.wgsl +++ b/tests/out/wgsl/quad-vert.wgsl @@ -1,11 +1,11 @@ struct gl_PerVertex { @builtin(position) gl_Position: vec4, -}; +} struct VertexOutput { @location(0) member: vec2, @builtin(position) gl_Position: vec4, -}; +} var v_uv: vec2; var a_uv_1: vec2; diff --git a/tests/out/wgsl/quad.wgsl b/tests/out/wgsl/quad.wgsl index 01c21bf157..5b565a281f 100644 --- a/tests/out/wgsl/quad.wgsl +++ b/tests/out/wgsl/quad.wgsl @@ -1,7 +1,7 @@ struct VertexOutput { @location(0) uv: vec2, @builtin(position) position: vec4, -}; +} let c_scale: f32 = 1.2000000476837158; diff --git a/tests/out/wgsl/quad_glsl-frag.wgsl b/tests/out/wgsl/quad_glsl-frag.wgsl index 49dbe92423..58cde6e330 100644 --- a/tests/out/wgsl/quad_glsl-frag.wgsl +++ b/tests/out/wgsl/quad_glsl-frag.wgsl @@ -1,6 +1,6 @@ struct FragmentOutput { @location(0) o_color: vec4, -}; +} var v_uv_1: vec2; var o_color: vec4; diff --git a/tests/out/wgsl/quad_glsl-vert.wgsl b/tests/out/wgsl/quad_glsl-vert.wgsl index a029b3d434..6fd0b186ed 100644 --- a/tests/out/wgsl/quad_glsl-vert.wgsl +++ b/tests/out/wgsl/quad_glsl-vert.wgsl @@ -1,7 +1,7 @@ struct VertexOutput { @location(0) v_uv: vec2, @builtin(position) member: vec4, -}; +} var a_pos_1: vec2; var a_uv_1: vec2; diff --git a/tests/out/wgsl/shadow.wgsl b/tests/out/wgsl/shadow.wgsl index 41fc7eba2d..2b0747df35 100644 --- a/tests/out/wgsl/shadow.wgsl +++ b/tests/out/wgsl/shadow.wgsl @@ -1,24 +1,24 @@ struct Globals { view_proj: mat4x4, num_lights: vec4, -}; +} struct Entity { world: mat4x4, color: vec4, -}; +} struct VertexOutput { @builtin(position) proj_position: vec4, @location(0) world_normal: vec3, @location(1) world_position: vec4, -}; +} struct Light { proj: mat4x4, pos: vec4, color: vec4, -}; +} let c_ambient: vec3 = vec3(0.05000000074505806, 0.05000000074505806, 0.05000000074505806); let c_max_lights: u32 = 10u; diff --git a/tests/out/wgsl/skybox.wgsl b/tests/out/wgsl/skybox.wgsl index 32c2c52d25..e40793757e 100644 --- a/tests/out/wgsl/skybox.wgsl +++ b/tests/out/wgsl/skybox.wgsl @@ -1,12 +1,12 @@ struct VertexOutput { @builtin(position) position: vec4, @location(0) uv: vec3, -}; +} struct Data { proj_inv: mat4x4, view: mat4x4, -}; +} @group(0) @binding(0) var r_data: Data;