wgsl: Replace [[decoration]] with @decoration

Deprecate the old syntax. Migrate everything to the new syntax.

Bug: tint:1382
Change-Id: Ide12b2e927b17dc93b9714c7049090864cc568d3
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77260
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
This commit is contained in:
Ben Clayton
2022-01-19 22:46:57 +00:00
committed by Tint LUCI CQ
parent 8f1d5224ee
commit 01e4b6fc18
3200 changed files with 15906 additions and 15215 deletions

View File

@@ -11,7 +11,8 @@ Obviously infinite loops (no condition, no break) are now a validation error.
The following features have been deprecated and will be removed in M102:
* The `[[block]]` attribute has been deprecated. [tint:1324](https://crbug.com/tint/1324)
* `elseif` has been replaced with `else if` [tint:1289](https://crbug.com/tint/1289)
* Attributes now use the `@decoration` syntax instead of the `[[decoration]]` syntax. [tint:1382](https://crbug.com/tint/1382)
* `elseif` has been replaced with `else if`. [tint:1289](https://crbug.com/tint/1289)
### New Features

View File

@@ -85,8 +85,8 @@ through the copying and optimize the result.
Current translation, through SPIR-V, SPIR-V reader, WGSL writer:
```groovy
[[location(0)]] var<out> frag_colour : vec4<f32>;
[[location(0)]] var<in> the_colour : vec4<f32>;
@location(0) var<out> frag_colour : vec4<f32>;
@location(0) var<in> the_colour : vec4<f32>;
fn bar_() -> void {
const x_14 : vec4<f32> = the_colour;
@@ -94,7 +94,7 @@ Current translation, through SPIR-V, SPIR-V reader, WGSL writer:
return;
}
[[stage(fragment)]]
@stage(fragment)
fn main() -> void {
bar_();
return;
@@ -123,14 +123,14 @@ Proposed translation, through SPIR-V, SPIR-V reader, WGSL writer:
// Declare a structure type to collect the return values.
struct main_result_type {
[[location(0)]] frag_color : vec4<f32>;
@location(0) frag_color : vec4<f32>;
};
[[stage(fragment)]]
@stage(fragment)
fn main(
// 'in' variables are entry point parameters
[[location(0)]] the_color_arg : vec4<f32>
@location(0) the_color_arg : vec4<f32>
) -> main_result_type {

View File

@@ -188,4 +188,4 @@ static const <type> <name> = WGSL_SPEC_CONSTANT_<id>
```
## MSL
`[[function_constant(<id>)]]`
`@function_constant(<id>)`