intrinsics: Deprecate isNan, isInf, isFinite, isNormal

These have all been removed from the spec as we cannot guarantee they will behave as expected on the various backends.

Bug: tint:1312
Change-Id: I9d7d81cfdc44489fffe08c5183ed8da84901a024
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/70665
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
This commit is contained in:
Ben Clayton 2021-11-23 18:57:57 +00:00
parent 7cff4c8745
commit a40e45522b
71 changed files with 468 additions and 16 deletions

View File

@ -6,6 +6,10 @@
* Taking the address of a vector component is no longer allowed. * Taking the address of a vector component is no longer allowed.
### Deprecated Features
* The `isNan()`, `isInf()`, `isFinite()` and `isNormal()` builtins has been deprecated and will be removed in M101. [tint:1312](https://crbug.com/tint/1312)
### New Features ### New Features
* The `dot()` builtin now supports integer vector types. * The `dot()` builtin now supports integer vector types.

View File

@ -6838,7 +6838,7 @@ constexpr OverloadInfo kOverloads[] = {
/* parameters */ &kParameters[531], /* parameters */ &kParameters[531],
/* return matcher indices */ &kMatcherIndices[10], /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false, /* is_deprecated */ true,
}, },
{ {
/* [172] */ /* [172] */
@ -6850,7 +6850,7 @@ constexpr OverloadInfo kOverloads[] = {
/* parameters */ &kParameters[530], /* parameters */ &kParameters[530],
/* return matcher indices */ &kMatcherIndices[24], /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false, /* is_deprecated */ true,
}, },
{ {
/* [173] */ /* [173] */
@ -6862,7 +6862,7 @@ constexpr OverloadInfo kOverloads[] = {
/* parameters */ &kParameters[529], /* parameters */ &kParameters[529],
/* return matcher indices */ &kMatcherIndices[10], /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false, /* is_deprecated */ true,
}, },
{ {
/* [174] */ /* [174] */
@ -6874,7 +6874,7 @@ constexpr OverloadInfo kOverloads[] = {
/* parameters */ &kParameters[528], /* parameters */ &kParameters[528],
/* return matcher indices */ &kMatcherIndices[24], /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false, /* is_deprecated */ true,
}, },
{ {
/* [175] */ /* [175] */
@ -6886,7 +6886,7 @@ constexpr OverloadInfo kOverloads[] = {
/* parameters */ &kParameters[527], /* parameters */ &kParameters[527],
/* return matcher indices */ &kMatcherIndices[10], /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false, /* is_deprecated */ true,
}, },
{ {
/* [176] */ /* [176] */
@ -6898,7 +6898,7 @@ constexpr OverloadInfo kOverloads[] = {
/* parameters */ &kParameters[526], /* parameters */ &kParameters[526],
/* return matcher indices */ &kMatcherIndices[24], /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false, /* is_deprecated */ true,
}, },
{ {
/* [177] */ /* [177] */
@ -6910,7 +6910,7 @@ constexpr OverloadInfo kOverloads[] = {
/* parameters */ &kParameters[525], /* parameters */ &kParameters[525],
/* return matcher indices */ &kMatcherIndices[10], /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false, /* is_deprecated */ true,
}, },
{ {
/* [178] */ /* [178] */
@ -6922,7 +6922,7 @@ constexpr OverloadInfo kOverloads[] = {
/* parameters */ &kParameters[524], /* parameters */ &kParameters[524],
/* return matcher indices */ &kMatcherIndices[24], /* return matcher indices */ &kMatcherIndices[24],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute), /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false, /* is_deprecated */ true,
}, },
{ {
/* [179] */ /* [179] */

View File

@ -327,14 +327,14 @@ fn frexp<N: num>(vec<N, f32>) -> __frexp_result_vec<N>
[[deprecated]] fn ignore<T>(T) [[deprecated]] fn ignore<T>(T)
fn inverseSqrt(f32) -> f32 fn inverseSqrt(f32) -> f32
fn inverseSqrt<N: num>(vec<N, f32>) -> vec<N, f32> fn inverseSqrt<N: num>(vec<N, f32>) -> vec<N, f32>
fn isFinite(f32) -> bool [[deprecated]] fn isFinite(f32) -> bool
fn isFinite<N: num>(vec<N, f32>) -> vec<N, bool> [[deprecated]] fn isFinite<N: num>(vec<N, f32>) -> vec<N, bool>
fn isInf(f32) -> bool [[deprecated]] fn isInf(f32) -> bool
fn isInf<N: num>(vec<N, f32>) -> vec<N, bool> [[deprecated]] fn isInf<N: num>(vec<N, f32>) -> vec<N, bool>
fn isNan(f32) -> bool [[deprecated]] fn isNan(f32) -> bool
fn isNan<N: num>(vec<N, f32>) -> vec<N, bool> [[deprecated]] fn isNan<N: num>(vec<N, f32>) -> vec<N, bool>
fn isNormal(f32) -> bool [[deprecated]] fn isNormal(f32) -> bool
fn isNormal<N: num>(vec<N, f32>) -> vec<N, bool> [[deprecated]] fn isNormal<N: num>(vec<N, f32>) -> vec<N, bool>
fn ldexp(f32, i32) -> f32 fn ldexp(f32, i32) -> f32
fn ldexp<N: num>(vec<N, f32>, vec<N, i32>) -> vec<N, f32> fn ldexp<N: num>(vec<N, f32>, vec<N, i32>) -> vec<N, f32>
fn length(f32) -> f32 fn length(f32) -> f32

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/34d32b.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isFinite(vec2<f32>());
^^^^^^^^
void isFinite_34d32b() { void isFinite_34d32b() {
bool2 res = isfinite(float2(0.0f, 0.0f)); bool2 res = isfinite(float2(0.0f, 0.0f));
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/34d32b.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isFinite(vec2<f32>());
^^^^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/34d32b.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isFinite(vec2<f32>());
^^^^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/34d32b.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isFinite(vec2<f32>());
^^^^^^^^
fn isFinite_34d32b() { fn isFinite_34d32b() {
var res : vec2<bool> = isFinite(vec2<f32>()); var res : vec2<bool> = isFinite(vec2<f32>());
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/426f9f.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isFinite(1.0);
^^^^^^^^
void isFinite_426f9f() { void isFinite_426f9f() {
bool res = isfinite(1.0f); bool res = isfinite(1.0f);
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/426f9f.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isFinite(1.0);
^^^^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/426f9f.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isFinite(1.0);
^^^^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/426f9f.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isFinite(1.0);
^^^^^^^^
fn isFinite_426f9f() { fn isFinite_426f9f() {
var res : bool = isFinite(1.0); var res : bool = isFinite(1.0);
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/8a23ad.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isFinite(vec3<f32>());
^^^^^^^^
void isFinite_8a23ad() { void isFinite_8a23ad() {
bool3 res = isfinite(float3(0.0f, 0.0f, 0.0f)); bool3 res = isfinite(float3(0.0f, 0.0f, 0.0f));
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/8a23ad.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isFinite(vec3<f32>());
^^^^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/8a23ad.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isFinite(vec3<f32>());
^^^^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/8a23ad.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isFinite(vec3<f32>());
^^^^^^^^
fn isFinite_8a23ad() { fn isFinite_8a23ad() {
var res : vec3<bool> = isFinite(vec3<f32>()); var res : vec3<bool> = isFinite(vec3<f32>());
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/f31987.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isFinite(vec4<f32>());
^^^^^^^^
void isFinite_f31987() { void isFinite_f31987() {
bool4 res = isfinite(float4(0.0f, 0.0f, 0.0f, 0.0f)); bool4 res = isfinite(float4(0.0f, 0.0f, 0.0f, 0.0f));
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/f31987.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isFinite(vec4<f32>());
^^^^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/f31987.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isFinite(vec4<f32>());
^^^^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isFinite/f31987.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isFinite(vec4<f32>());
^^^^^^^^
fn isFinite_f31987() { fn isFinite_f31987() {
var res : vec4<bool> = isFinite(vec4<f32>()); var res : vec4<bool> = isFinite(vec4<f32>());
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/666f2a.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isInf(vec3<f32>());
^^^^^
void isInf_666f2a() { void isInf_666f2a() {
bool3 res = isinf(float3(0.0f, 0.0f, 0.0f)); bool3 res = isinf(float3(0.0f, 0.0f, 0.0f));
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/666f2a.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isInf(vec3<f32>());
^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/666f2a.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isInf(vec3<f32>());
^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/666f2a.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isInf(vec3<f32>());
^^^^^
fn isInf_666f2a() { fn isInf_666f2a() {
var res : vec3<bool> = isInf(vec3<f32>()); var res : vec3<bool> = isInf(vec3<f32>());
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/7bd98f.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isInf(1.0);
^^^^^
void isInf_7bd98f() { void isInf_7bd98f() {
bool res = isinf(1.0f); bool res = isinf(1.0f);
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/7bd98f.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isInf(1.0);
^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/7bd98f.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isInf(1.0);
^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/7bd98f.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isInf(1.0);
^^^^^
fn isInf_7bd98f() { fn isInf_7bd98f() {
var res : bool = isInf(1.0); var res : bool = isInf(1.0);
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/7e81b5.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isInf(vec4<f32>());
^^^^^
void isInf_7e81b5() { void isInf_7e81b5() {
bool4 res = isinf(float4(0.0f, 0.0f, 0.0f, 0.0f)); bool4 res = isinf(float4(0.0f, 0.0f, 0.0f, 0.0f));
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/7e81b5.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isInf(vec4<f32>());
^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/7e81b5.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isInf(vec4<f32>());
^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/7e81b5.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isInf(vec4<f32>());
^^^^^
fn isInf_7e81b5() { fn isInf_7e81b5() {
var res : vec4<bool> = isInf(vec4<f32>()); var res : vec4<bool> = isInf(vec4<f32>());
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/a46d6f.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isInf(vec2<f32>());
^^^^^
void isInf_a46d6f() { void isInf_a46d6f() {
bool2 res = isinf(float2(0.0f, 0.0f)); bool2 res = isinf(float2(0.0f, 0.0f));
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/a46d6f.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isInf(vec2<f32>());
^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/a46d6f.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isInf(vec2<f32>());
^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isInf/a46d6f.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isInf(vec2<f32>());
^^^^^
fn isInf_a46d6f() { fn isInf_a46d6f() {
var res : vec2<bool> = isInf(vec2<f32>()); var res : vec2<bool> = isInf(vec2<f32>());
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/1280ab.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isNan(vec3<f32>());
^^^^^
void isNan_1280ab() { void isNan_1280ab() {
bool3 res = isnan(float3(0.0f, 0.0f, 0.0f)); bool3 res = isnan(float3(0.0f, 0.0f, 0.0f));
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/1280ab.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isNan(vec3<f32>());
^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/1280ab.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isNan(vec3<f32>());
^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/1280ab.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isNan(vec3<f32>());
^^^^^
fn isNan_1280ab() { fn isNan_1280ab() {
var res : vec3<bool> = isNan(vec3<f32>()); var res : vec3<bool> = isNan(vec3<f32>());
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/4d280d.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isNan(vec4<f32>());
^^^^^
void isNan_4d280d() { void isNan_4d280d() {
bool4 res = isnan(float4(0.0f, 0.0f, 0.0f, 0.0f)); bool4 res = isnan(float4(0.0f, 0.0f, 0.0f, 0.0f));
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/4d280d.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isNan(vec4<f32>());
^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/4d280d.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isNan(vec4<f32>());
^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/4d280d.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isNan(vec4<f32>());
^^^^^
fn isNan_4d280d() { fn isNan_4d280d() {
var res : vec4<bool> = isNan(vec4<f32>()); var res : vec4<bool> = isNan(vec4<f32>());
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/67ecd3.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isNan(vec2<f32>());
^^^^^
void isNan_67ecd3() { void isNan_67ecd3() {
bool2 res = isnan(float2(0.0f, 0.0f)); bool2 res = isnan(float2(0.0f, 0.0f));
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/67ecd3.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isNan(vec2<f32>());
^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/67ecd3.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isNan(vec2<f32>());
^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/67ecd3.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isNan(vec2<f32>());
^^^^^
fn isNan_67ecd3() { fn isNan_67ecd3() {
var res : vec2<bool> = isNan(vec2<f32>()); var res : vec2<bool> = isNan(vec2<f32>());
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/e4978e.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isNan(1.0);
^^^^^
void isNan_e4978e() { void isNan_e4978e() {
bool res = isnan(1.0f); bool res = isnan(1.0f);
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/e4978e.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isNan(1.0);
^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/e4978e.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isNan(1.0);
^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNan/e4978e.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isNan(1.0);
^^^^^
fn isNan_e4978e() { fn isNan_e4978e() {
var res : bool = isNan(1.0); var res : bool = isNan(1.0);
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/863dcd.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isNormal(vec4<f32>());
^^^^^^^^
bool4 tint_isNormal(float4 param_0) { bool4 tint_isNormal(float4 param_0) {
uint4 exponent = asuint(param_0) & 0x7f80000; uint4 exponent = asuint(param_0) & 0x7f80000;
uint4 clamped = clamp(exponent, 0x0080000, 0x7f00000); uint4 clamped = clamp(exponent, 0x0080000, 0x7f00000);

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/863dcd.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isNormal(vec4<f32>());
^^^^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/863dcd.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isNormal(vec4<f32>());
^^^^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/863dcd.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec4<bool> = isNormal(vec4<f32>());
^^^^^^^^
fn isNormal_863dcd() { fn isNormal_863dcd() {
var res : vec4<bool> = isNormal(vec4<f32>()); var res : vec4<bool> = isNormal(vec4<f32>());
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/b00ab1.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isNormal(vec2<f32>());
^^^^^^^^
bool2 tint_isNormal(float2 param_0) { bool2 tint_isNormal(float2 param_0) {
uint2 exponent = asuint(param_0) & 0x7f80000; uint2 exponent = asuint(param_0) & 0x7f80000;
uint2 clamped = clamp(exponent, 0x0080000, 0x7f00000); uint2 clamped = clamp(exponent, 0x0080000, 0x7f00000);

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/b00ab1.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isNormal(vec2<f32>());
^^^^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/b00ab1.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isNormal(vec2<f32>());
^^^^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/b00ab1.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec2<bool> = isNormal(vec2<f32>());
^^^^^^^^
fn isNormal_b00ab1() { fn isNormal_b00ab1() {
var res : vec2<bool> = isNormal(vec2<f32>()); var res : vec2<bool> = isNormal(vec2<f32>());
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/c286b7.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isNormal(vec3<f32>());
^^^^^^^^
bool3 tint_isNormal(float3 param_0) { bool3 tint_isNormal(float3 param_0) {
uint3 exponent = asuint(param_0) & 0x7f80000; uint3 exponent = asuint(param_0) & 0x7f80000;
uint3 clamped = clamp(exponent, 0x0080000, 0x7f00000); uint3 clamped = clamp(exponent, 0x0080000, 0x7f00000);

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/c286b7.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isNormal(vec3<f32>());
^^^^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/c286b7.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isNormal(vec3<f32>());
^^^^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/c286b7.wgsl:28:25 warning: use of deprecated intrinsic
var res: vec3<bool> = isNormal(vec3<f32>());
^^^^^^^^
fn isNormal_c286b7() { fn isNormal_c286b7() {
var res : vec3<bool> = isNormal(vec3<f32>()); var res : vec3<bool> = isNormal(vec3<f32>());
} }

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/c6e880.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isNormal(1.0);
^^^^^^^^
bool tint_isNormal(float param_0) { bool tint_isNormal(float param_0) {
uint exponent = asuint(param_0) & 0x7f80000; uint exponent = asuint(param_0) & 0x7f80000;
uint clamped = clamp(exponent, 0x0080000, 0x7f00000); uint clamped = clamp(exponent, 0x0080000, 0x7f00000);

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/c6e880.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isNormal(1.0);
^^^^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/c6e880.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isNormal(1.0);
^^^^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,7 @@
intrinsics/gen/isNormal/c6e880.wgsl:28:19 warning: use of deprecated intrinsic
var res: bool = isNormal(1.0);
^^^^^^^^
fn isNormal_c6e880() { fn isNormal_c6e880() {
var res : bool = isNormal(1.0); var res : bool = isNormal(1.0);
} }

View File

@ -1,3 +1,51 @@
intrinsics/repeated_use.wgsl:5:9 warning: use of deprecated intrinsic
_ = isNormal(vec4<f32>());
^^^^^^^^
intrinsics/repeated_use.wgsl:6:9 warning: use of deprecated intrinsic
_ = isNormal(vec4<f32>(1.));
^^^^^^^^
intrinsics/repeated_use.wgsl:7:9 warning: use of deprecated intrinsic
_ = isNormal(vec4<f32>(1., 2., 3., 4.));
^^^^^^^^
intrinsics/repeated_use.wgsl:9:9 warning: use of deprecated intrinsic
_ = isNormal(vec3<f32>());
^^^^^^^^
intrinsics/repeated_use.wgsl:10:9 warning: use of deprecated intrinsic
_ = isNormal(vec3<f32>(1.));
^^^^^^^^
intrinsics/repeated_use.wgsl:11:9 warning: use of deprecated intrinsic
_ = isNormal(vec3<f32>(1., 2., 3.));
^^^^^^^^
intrinsics/repeated_use.wgsl:13:9 warning: use of deprecated intrinsic
_ = isNormal(vec2<f32>());
^^^^^^^^
intrinsics/repeated_use.wgsl:14:9 warning: use of deprecated intrinsic
_ = isNormal(vec2<f32>(1.));
^^^^^^^^
intrinsics/repeated_use.wgsl:15:9 warning: use of deprecated intrinsic
_ = isNormal(vec2<f32>(1., 2.));
^^^^^^^^
intrinsics/repeated_use.wgsl:17:9 warning: use of deprecated intrinsic
_ = isNormal(1.);
^^^^^^^^
intrinsics/repeated_use.wgsl:18:9 warning: use of deprecated intrinsic
_ = isNormal(2.);
^^^^^^^^
intrinsics/repeated_use.wgsl:19:9 warning: use of deprecated intrinsic
_ = isNormal(3.);
^^^^^^^^
bool4 tint_isNormal(float4 param_0) { bool4 tint_isNormal(float4 param_0) {
uint4 exponent = asuint(param_0) & 0x7f80000; uint4 exponent = asuint(param_0) & 0x7f80000;
uint4 clamped = clamp(exponent, 0x0080000, 0x7f00000); uint4 clamped = clamp(exponent, 0x0080000, 0x7f00000);

View File

@ -1,3 +1,51 @@
intrinsics/repeated_use.wgsl:5:9 warning: use of deprecated intrinsic
_ = isNormal(vec4<f32>());
^^^^^^^^
intrinsics/repeated_use.wgsl:6:9 warning: use of deprecated intrinsic
_ = isNormal(vec4<f32>(1.));
^^^^^^^^
intrinsics/repeated_use.wgsl:7:9 warning: use of deprecated intrinsic
_ = isNormal(vec4<f32>(1., 2., 3., 4.));
^^^^^^^^
intrinsics/repeated_use.wgsl:9:9 warning: use of deprecated intrinsic
_ = isNormal(vec3<f32>());
^^^^^^^^
intrinsics/repeated_use.wgsl:10:9 warning: use of deprecated intrinsic
_ = isNormal(vec3<f32>(1.));
^^^^^^^^
intrinsics/repeated_use.wgsl:11:9 warning: use of deprecated intrinsic
_ = isNormal(vec3<f32>(1., 2., 3.));
^^^^^^^^
intrinsics/repeated_use.wgsl:13:9 warning: use of deprecated intrinsic
_ = isNormal(vec2<f32>());
^^^^^^^^
intrinsics/repeated_use.wgsl:14:9 warning: use of deprecated intrinsic
_ = isNormal(vec2<f32>(1.));
^^^^^^^^
intrinsics/repeated_use.wgsl:15:9 warning: use of deprecated intrinsic
_ = isNormal(vec2<f32>(1., 2.));
^^^^^^^^
intrinsics/repeated_use.wgsl:17:9 warning: use of deprecated intrinsic
_ = isNormal(1.);
^^^^^^^^
intrinsics/repeated_use.wgsl:18:9 warning: use of deprecated intrinsic
_ = isNormal(2.);
^^^^^^^^
intrinsics/repeated_use.wgsl:19:9 warning: use of deprecated intrinsic
_ = isNormal(3.);
^^^^^^^^
#include <metal_stdlib> #include <metal_stdlib>
using namespace metal; using namespace metal;

View File

@ -1,3 +1,51 @@
intrinsics/repeated_use.wgsl:5:9 warning: use of deprecated intrinsic
_ = isNormal(vec4<f32>());
^^^^^^^^
intrinsics/repeated_use.wgsl:6:9 warning: use of deprecated intrinsic
_ = isNormal(vec4<f32>(1.));
^^^^^^^^
intrinsics/repeated_use.wgsl:7:9 warning: use of deprecated intrinsic
_ = isNormal(vec4<f32>(1., 2., 3., 4.));
^^^^^^^^
intrinsics/repeated_use.wgsl:9:9 warning: use of deprecated intrinsic
_ = isNormal(vec3<f32>());
^^^^^^^^
intrinsics/repeated_use.wgsl:10:9 warning: use of deprecated intrinsic
_ = isNormal(vec3<f32>(1.));
^^^^^^^^
intrinsics/repeated_use.wgsl:11:9 warning: use of deprecated intrinsic
_ = isNormal(vec3<f32>(1., 2., 3.));
^^^^^^^^
intrinsics/repeated_use.wgsl:13:9 warning: use of deprecated intrinsic
_ = isNormal(vec2<f32>());
^^^^^^^^
intrinsics/repeated_use.wgsl:14:9 warning: use of deprecated intrinsic
_ = isNormal(vec2<f32>(1.));
^^^^^^^^
intrinsics/repeated_use.wgsl:15:9 warning: use of deprecated intrinsic
_ = isNormal(vec2<f32>(1., 2.));
^^^^^^^^
intrinsics/repeated_use.wgsl:17:9 warning: use of deprecated intrinsic
_ = isNormal(1.);
^^^^^^^^
intrinsics/repeated_use.wgsl:18:9 warning: use of deprecated intrinsic
_ = isNormal(2.);
^^^^^^^^
intrinsics/repeated_use.wgsl:19:9 warning: use of deprecated intrinsic
_ = isNormal(3.);
^^^^^^^^
; SPIR-V ; SPIR-V
; Version: 1.3 ; Version: 1.3
; Generator: Google Tint Compiler; 0 ; Generator: Google Tint Compiler; 0

View File

@ -1,3 +1,51 @@
intrinsics/repeated_use.wgsl:5:9 warning: use of deprecated intrinsic
_ = isNormal(vec4<f32>());
^^^^^^^^
intrinsics/repeated_use.wgsl:6:9 warning: use of deprecated intrinsic
_ = isNormal(vec4<f32>(1.));
^^^^^^^^
intrinsics/repeated_use.wgsl:7:9 warning: use of deprecated intrinsic
_ = isNormal(vec4<f32>(1., 2., 3., 4.));
^^^^^^^^
intrinsics/repeated_use.wgsl:9:9 warning: use of deprecated intrinsic
_ = isNormal(vec3<f32>());
^^^^^^^^
intrinsics/repeated_use.wgsl:10:9 warning: use of deprecated intrinsic
_ = isNormal(vec3<f32>(1.));
^^^^^^^^
intrinsics/repeated_use.wgsl:11:9 warning: use of deprecated intrinsic
_ = isNormal(vec3<f32>(1., 2., 3.));
^^^^^^^^
intrinsics/repeated_use.wgsl:13:9 warning: use of deprecated intrinsic
_ = isNormal(vec2<f32>());
^^^^^^^^
intrinsics/repeated_use.wgsl:14:9 warning: use of deprecated intrinsic
_ = isNormal(vec2<f32>(1.));
^^^^^^^^
intrinsics/repeated_use.wgsl:15:9 warning: use of deprecated intrinsic
_ = isNormal(vec2<f32>(1., 2.));
^^^^^^^^
intrinsics/repeated_use.wgsl:17:9 warning: use of deprecated intrinsic
_ = isNormal(1.);
^^^^^^^^
intrinsics/repeated_use.wgsl:18:9 warning: use of deprecated intrinsic
_ = isNormal(2.);
^^^^^^^^
intrinsics/repeated_use.wgsl:19:9 warning: use of deprecated intrinsic
_ = isNormal(3.);
^^^^^^^^
[[stage(compute), workgroup_size(1)]] [[stage(compute), workgroup_size(1)]]
fn main() { fn main() {
_ = isNormal(vec4<f32>()); _ = isNormal(vec4<f32>());