# Tint changes during Origin Trial ## 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. ### New Features * `any()` and `all()` now support a `bool` parameter. These simply return the passed argument. [tint:1253](https://crbug.com/tint/1253) ### Fixes * Swizzling of `vec3` types in `storage` and `uniform` buffers has been fixed for Metal 1.x. [tint:1249](https://crbug.com/tint/1249) ## 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 [tint:1179](https://crbug.com/tint/1194)