mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-06-05 06:03:34 +00:00
The tool was getting slow, due to the number of branches being examined. M96 is the latest stable release. We aren't applying fixes to this or older branches. Also avoids an issue where the M95 branch was missing a cherry-pick, which the tool wanted to merge with each run. Change-Id: I8a8b1466c10633d9539725cd4f9b1b0514e41e93 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/75067 Auto-Submit: Ben Clayton <bclayton@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: James Price <jrprice@google.com> Commit-Queue: James Price <jrprice@google.com>
3.8 KiB
3.8 KiB
Tint changes during Origin Trial
Changes for M99
Deprecated Features
The following features have been deprecated and will be removed in M102:
- The
[[block]]
attribute has been deprecated. tint:1324 elseif
has been replaced withelse if
tint:1289
New Features
- Vector and matrix element type can now be inferred from constructor argument types. tint:1334
- Added builtins
degrees()
andradians()
for converting between degrees and radians. tint:1329
Changes for M98
Breaking Changes
- Taking the address of a vector component is no longer allowed.
- Module-scope declarations can no longer alias a builtin name. tint:1318
- It is now an error to call a function either directly or transitively, from a loop continuing block, that uses
discard
. tint:1302
Deprecated Features
- The
isNan()
,isInf()
,isFinite()
andisNormal()
builtins has been deprecated and will be removed in M101. tint:1312
New Features
- New texture gather builtins:
textureGather()
andtextureGatherCompare()
. tint:1330 - Shadowing is now fully supported. tint:819
- The
dot()
builtin now supports integer vector types. - Identifiers can now start with a single leading underscore. tint:1292
- Control flow analysis has been improved, and functions no longer need to
return
if the statement is unreachable. tint:1302 - Unreachable statements now produce a warning instead of an error, to allow WGSL code to be updated to the new analysis behavior. These warnings may become errors in the future gpuweb#2378
Fixes
- Fixed an issue where using a module-scoped
let
in aworkgroup_size
may result in a compilation error. tint:1320
Changes for M97
Breaking Changes
- Deprecated
modf()
andfrexp()
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
New Features
any()
andall()
now support abool
parameter. These simply return the passed argument. 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 instorage
anduniform
buffers has been fixed for Metal 1.x. tint:1249 - Calling a function that returns an unused value no longer produces an FXC compilation error. tint:1259
abs()
fixed for unsigned integers on SPIR-V backend
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.