mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-06-04 21:54:32 +00:00
'__' is reserved in C++, and the 'match__' and 'build__' functions are causing OSS-fuzz builds to fail. Add the change in tint behavior to the OT notes. Add end to end tests for underscores. While the GLSL and MSL compilers seem to accept leading and double underscores in identifiers, the tint build failure has highlighted we have more work to do here (crbug.com/tint/1319) Fixed: oss-fuzz:41214 Bug: tint:1292 Bug: tint:1319 Change-Id: I32b7bf4e0cff26e678b788457f90452c2503da50 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/70480 Commit-Queue: Ben Clayton <bclayton@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: David Neto <dneto@google.com>
50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
# Tint changes during Origin Trial
|
|
|
|
## Changes for M98
|
|
|
|
### Breaking Changes
|
|
|
|
* Taking the address of a vector component is no longer allowed.
|
|
|
|
### New Features
|
|
|
|
* The `dot()` builtin now supports integer vector types.
|
|
* Identifiers can now start with a single leading underscore. [tint:1292](https://crbug.com/tint/1292)
|
|
|
|
## Changes for M97
|
|
|
|
### Breaking Changes
|
|
|
|
* Deprecated `modf()` and `frexp()` builtin overloads that take a pointer second parameter have been removed.
|
|
* Deprecated texture builtin functions that accepted a `read` access controlled storage texture have been removed.
|
|
* Storage textures must now only use the `write` access control.
|
|
|
|
### Deprecated Features
|
|
|
|
* The `ignore()` builtin has been replaced with phony-assignment. [gpuweb#2127](https://github.com/gpuweb/gpuweb/pull/2127)
|
|
|
|
### New Features
|
|
|
|
* `any()` and `all()` now support a `bool` parameter. These simply return the passed argument. [tint:1253](https://crbug.com/tint/1253)
|
|
* Call statements may now include functions that return a value (`ignore()` is no longer needed).
|
|
* The `interpolate(flat)` attribute can now be specified on integral user-defined IO. It will eventually become an error to define integral user-defined IO without this attribute.
|
|
* Matrix construction from scalar element values is now supported.
|
|
|
|
### Fixes
|
|
|
|
* Swizzling of `vec3` types in `storage` and `uniform` buffers has been fixed for Metal 1.x. [tint:1249](https://crbug.com/tint/1249)
|
|
* Calling a function that returns an unused value no longer produces an FXC compilation error. [tint:1259](https://crbug.com/tint/1259)
|
|
|
|
## Changes for M95
|
|
|
|
### New Features
|
|
|
|
* The size of an array can now be defined using a non-overridable module-scope constant
|
|
* The `num_workgroups` builtin is now supported.
|
|
|
|
### Fixes
|
|
|
|
* Hex floats: now correctly errors when the magnitude is non-zero, and the exponent would cause overflow. [tint:1150](https://crbug.com/tint/1150), [tint:1166](https://crbug.com/tint/1166)
|
|
* Identifiers beginning with an underscore are now correctly rejected. [tint:1179](https://crbug.com/tint/1179)
|
|
* `abs()` fixed for unsigned integers on SPIR-V backend
|