GLSL: fix isNormal.
(I know it's deprecated, I'm just being a completist.) Bug: tint:1222 Change-Id: Ie7716d2f5dd2d2bd2245ba2b0fe7ed8705574de0 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/80141 Reviewed-by: Ben Clayton <bclayton@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
This commit is contained in:
parent
723f999ac2
commit
6f9ac3524a
|
@ -970,21 +970,27 @@ bool GeneratorImpl::EmitIsNormalCall(std::ostream& out,
|
||||||
[&](TextBuffer* b, const std::vector<std::string>& params) {
|
[&](TextBuffer* b, const std::vector<std::string>& params) {
|
||||||
auto* input_ty = builtin->Parameters()[0]->Type();
|
auto* input_ty = builtin->Parameters()[0]->Type();
|
||||||
|
|
||||||
std::string width;
|
std::string vec_type;
|
||||||
if (auto* vec = input_ty->As<sem::Vector>()) {
|
if (auto* vec = input_ty->As<sem::Vector>()) {
|
||||||
width = std::to_string(vec->Width());
|
vec_type = "uvec" + std::to_string(vec->Width());
|
||||||
|
} else {
|
||||||
|
vec_type = "uint";
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr auto* kExponentMask = "0x7f80000";
|
constexpr auto* kExponentMask = "0x7f80000u";
|
||||||
constexpr auto* kMinNormalExponent = "0x0080000";
|
constexpr auto* kMinNormalExponent = "0x0080000u";
|
||||||
constexpr auto* kMaxNormalExponent = "0x7f00000";
|
constexpr auto* kMaxNormalExponent = "0x7f00000u";
|
||||||
|
|
||||||
line(b) << "uint" << width << " exponent = asuint(" << params[0]
|
line(b) << vec_type << " exponent = floatBitsToUint(" << params[0]
|
||||||
<< ") & " << kExponentMask << ";";
|
<< ") & " << kExponentMask << ";";
|
||||||
line(b) << "uint" << width << " clamped = "
|
line(b) << vec_type << " clamped = "
|
||||||
<< "clamp(exponent, " << kMinNormalExponent << ", "
|
<< "clamp(exponent, " << kMinNormalExponent << ", "
|
||||||
<< kMaxNormalExponent << ");";
|
<< kMaxNormalExponent << ");";
|
||||||
line(b) << "return clamped == exponent;";
|
if (input_ty->Is<sem::Vector>()) {
|
||||||
|
line(b) << "return equal(clamped, exponent);";
|
||||||
|
} else {
|
||||||
|
line(b) << "return clamped == exponent;";
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -415,7 +415,6 @@ void main() {
|
||||||
)"));
|
)"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
TEST_F(GlslGeneratorImplTest_Builtin, IsNormal_Scalar) {
|
TEST_F(GlslGeneratorImplTest_Builtin, IsNormal_Scalar) {
|
||||||
auto* val = Var("val", ty.f32());
|
auto* val = Var("val", ty.f32());
|
||||||
auto* call = Call("isNormal", val);
|
auto* call = Call("isNormal", val);
|
||||||
|
@ -424,10 +423,23 @@ TEST_F(GlslGeneratorImplTest_Builtin, IsNormal_Scalar) {
|
||||||
GeneratorImpl& gen = SanitizeAndBuild();
|
GeneratorImpl& gen = SanitizeAndBuild();
|
||||||
|
|
||||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||||
EXPECT_THAT(gen.result(), HasSubstr(R"(
|
EXPECT_THAT(gen.result(), HasSubstr(R"(ion 310 es
|
||||||
uint tint_isnormal_exponent = asuint(val) & 0x7f80000;
|
|
||||||
uint tint_isnormal_clamped = clamp(tint_isnormal_exponent, 0x0080000, 0x7f00000);
|
bool tint_isNormal(float param_0) {
|
||||||
(tint_isnormal_clamped == tint_isnormal_exponent);
|
uint exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
|
uint clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
|
return clamped == exponent;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void test_function() {
|
||||||
|
float val = 0.0f;
|
||||||
|
bool tint_symbol = tint_isNormal(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
||||||
|
void main() {
|
||||||
|
test_function();
|
||||||
)"));
|
)"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -439,13 +451,25 @@ TEST_F(GlslGeneratorImplTest_Builtin, IsNormal_Vector) {
|
||||||
GeneratorImpl& gen = SanitizeAndBuild();
|
GeneratorImpl& gen = SanitizeAndBuild();
|
||||||
|
|
||||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||||
EXPECT_THAT(gen.result(), HasSubstr(R"(
|
EXPECT_THAT(gen.result(), HasSubstr(R"( 310 es
|
||||||
uvec3 tint_isnormal_exponent = asuint(val) & 0x7f80000;
|
|
||||||
uvec3 tint_isnormal_clamped = clamp(tint_isnormal_exponent, 0x0080000, 0x7f00000);
|
bvec3 tint_isNormal(vec3 param_0) {
|
||||||
(tint_isnormal_clamped == tint_isnormal_exponent);
|
uvec3 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
|
uvec3 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
|
return equal(clamped, exponent);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void test_function() {
|
||||||
|
vec3 val = vec3(0.0f, 0.0f, 0.0f);
|
||||||
|
bvec3 tint_symbol = tint_isNormal(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
||||||
|
void main() {
|
||||||
|
test_function();
|
||||||
)"));
|
)"));
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
TEST_F(GlslGeneratorImplTest_Builtin, Degrees_Scalar) {
|
TEST_F(GlslGeneratorImplTest_Builtin, Degrees_Scalar) {
|
||||||
auto* val = Var("val", ty.f32());
|
auto* val = Var("val", ty.f32());
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
builtins/gen/isNormal/863dcd.wgsl:28:25 warning: use of deprecated builtin
|
builtins/gen/isNormal/863dcd.wgsl:28:25 warning: use of deprecated builtin
|
||||||
var res: vec4<bool> = isNormal(vec4<f32>());
|
var res: vec4<bool> = isNormal(vec4<f32>());
|
||||||
^^^^^^^^
|
^^^^^^^^
|
||||||
|
@ -7,9 +5,9 @@ builtins/gen/isNormal/863dcd.wgsl:28:25 warning: use of deprecated builtin
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
bvec4 tint_isNormal(vec4 param_0) {
|
bvec4 tint_isNormal(vec4 param_0) {
|
||||||
uint4 exponent = asuint(param_0) & 0x7f80000;
|
uvec4 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint4 clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uvec4 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return equal(clamped, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -29,20 +27,13 @@ void main() {
|
||||||
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
|
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:4: 'uint4' : undeclared identifier
|
|
||||||
ERROR: 0:4: '' : compilation terminated
|
|
||||||
ERROR: 2 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
bvec4 tint_isNormal(vec4 param_0) {
|
bvec4 tint_isNormal(vec4 param_0) {
|
||||||
uint4 exponent = asuint(param_0) & 0x7f80000;
|
uvec4 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint4 clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uvec4 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return equal(clamped, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,19 +49,12 @@ void main() {
|
||||||
fragment_main();
|
fragment_main();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:5: 'uint4' : undeclared identifier
|
|
||||||
ERROR: 0:5: '' : compilation terminated
|
|
||||||
ERROR: 2 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
bvec4 tint_isNormal(vec4 param_0) {
|
bvec4 tint_isNormal(vec4 param_0) {
|
||||||
uint4 exponent = asuint(param_0) & 0x7f80000;
|
uvec4 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint4 clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uvec4 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return equal(clamped, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -87,10 +71,3 @@ void main() {
|
||||||
compute_main();
|
compute_main();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:4: 'uint4' : undeclared identifier
|
|
||||||
ERROR: 0:4: '' : compilation terminated
|
|
||||||
ERROR: 2 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
builtins/gen/isNormal/b00ab1.wgsl:28:25 warning: use of deprecated builtin
|
builtins/gen/isNormal/b00ab1.wgsl:28:25 warning: use of deprecated builtin
|
||||||
var res: vec2<bool> = isNormal(vec2<f32>());
|
var res: vec2<bool> = isNormal(vec2<f32>());
|
||||||
^^^^^^^^
|
^^^^^^^^
|
||||||
|
@ -7,9 +5,9 @@ builtins/gen/isNormal/b00ab1.wgsl:28:25 warning: use of deprecated builtin
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
bvec2 tint_isNormal(vec2 param_0) {
|
bvec2 tint_isNormal(vec2 param_0) {
|
||||||
uint2 exponent = asuint(param_0) & 0x7f80000;
|
uvec2 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint2 clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uvec2 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return equal(clamped, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -29,20 +27,13 @@ void main() {
|
||||||
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
|
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:4: 'uint2' : undeclared identifier
|
|
||||||
ERROR: 0:4: '' : compilation terminated
|
|
||||||
ERROR: 2 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
bvec2 tint_isNormal(vec2 param_0) {
|
bvec2 tint_isNormal(vec2 param_0) {
|
||||||
uint2 exponent = asuint(param_0) & 0x7f80000;
|
uvec2 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint2 clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uvec2 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return equal(clamped, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,19 +49,12 @@ void main() {
|
||||||
fragment_main();
|
fragment_main();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:5: 'uint2' : undeclared identifier
|
|
||||||
ERROR: 0:5: '' : compilation terminated
|
|
||||||
ERROR: 2 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
bvec2 tint_isNormal(vec2 param_0) {
|
bvec2 tint_isNormal(vec2 param_0) {
|
||||||
uint2 exponent = asuint(param_0) & 0x7f80000;
|
uvec2 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint2 clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uvec2 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return equal(clamped, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -87,10 +71,3 @@ void main() {
|
||||||
compute_main();
|
compute_main();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:4: 'uint2' : undeclared identifier
|
|
||||||
ERROR: 0:4: '' : compilation terminated
|
|
||||||
ERROR: 2 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
builtins/gen/isNormal/c286b7.wgsl:28:25 warning: use of deprecated builtin
|
builtins/gen/isNormal/c286b7.wgsl:28:25 warning: use of deprecated builtin
|
||||||
var res: vec3<bool> = isNormal(vec3<f32>());
|
var res: vec3<bool> = isNormal(vec3<f32>());
|
||||||
^^^^^^^^
|
^^^^^^^^
|
||||||
|
@ -7,9 +5,9 @@ builtins/gen/isNormal/c286b7.wgsl:28:25 warning: use of deprecated builtin
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
bvec3 tint_isNormal(vec3 param_0) {
|
bvec3 tint_isNormal(vec3 param_0) {
|
||||||
uint3 exponent = asuint(param_0) & 0x7f80000;
|
uvec3 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint3 clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uvec3 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return equal(clamped, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -29,20 +27,13 @@ void main() {
|
||||||
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
|
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:4: 'uint3' : undeclared identifier
|
|
||||||
ERROR: 0:4: '' : compilation terminated
|
|
||||||
ERROR: 2 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
bvec3 tint_isNormal(vec3 param_0) {
|
bvec3 tint_isNormal(vec3 param_0) {
|
||||||
uint3 exponent = asuint(param_0) & 0x7f80000;
|
uvec3 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint3 clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uvec3 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return equal(clamped, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,19 +49,12 @@ void main() {
|
||||||
fragment_main();
|
fragment_main();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:5: 'uint3' : undeclared identifier
|
|
||||||
ERROR: 0:5: '' : compilation terminated
|
|
||||||
ERROR: 2 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
bvec3 tint_isNormal(vec3 param_0) {
|
bvec3 tint_isNormal(vec3 param_0) {
|
||||||
uint3 exponent = asuint(param_0) & 0x7f80000;
|
uvec3 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint3 clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uvec3 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return equal(clamped, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -87,10 +71,3 @@ void main() {
|
||||||
compute_main();
|
compute_main();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:4: 'uint3' : undeclared identifier
|
|
||||||
ERROR: 0:4: '' : compilation terminated
|
|
||||||
ERROR: 2 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
builtins/gen/isNormal/c6e880.wgsl:28:19 warning: use of deprecated builtin
|
builtins/gen/isNormal/c6e880.wgsl:28:19 warning: use of deprecated builtin
|
||||||
var res: bool = isNormal(1.0);
|
var res: bool = isNormal(1.0);
|
||||||
^^^^^^^^
|
^^^^^^^^
|
||||||
|
@ -7,8 +5,8 @@ builtins/gen/isNormal/c6e880.wgsl:28:19 warning: use of deprecated builtin
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
bool tint_isNormal(float param_0) {
|
bool tint_isNormal(float param_0) {
|
||||||
uint exponent = asuint(param_0) & 0x7f80000;
|
uint exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uint clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return clamped == exponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,20 +27,12 @@ void main() {
|
||||||
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
|
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:4: 'asuint' : no matching overloaded function found
|
|
||||||
ERROR: 0:4: '=' : cannot convert from ' const float' to ' temp highp uint'
|
|
||||||
ERROR: 0:4: '' : compilation terminated
|
|
||||||
ERROR: 3 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
bool tint_isNormal(float param_0) {
|
bool tint_isNormal(float param_0) {
|
||||||
uint exponent = asuint(param_0) & 0x7f80000;
|
uint exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uint clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return clamped == exponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,19 +49,11 @@ void main() {
|
||||||
fragment_main();
|
fragment_main();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:5: 'asuint' : no matching overloaded function found
|
|
||||||
ERROR: 0:5: '=' : cannot convert from ' const float' to ' temp mediump uint'
|
|
||||||
ERROR: 0:5: '' : compilation terminated
|
|
||||||
ERROR: 3 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
bool tint_isNormal(float param_0) {
|
bool tint_isNormal(float param_0) {
|
||||||
uint exponent = asuint(param_0) & 0x7f80000;
|
uint exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uint clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return clamped == exponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,11 +71,3 @@ void main() {
|
||||||
compute_main();
|
compute_main();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:4: 'asuint' : no matching overloaded function found
|
|
||||||
ERROR: 0:4: '=' : cannot convert from ' const float' to ' temp highp uint'
|
|
||||||
ERROR: 0:4: '' : compilation terminated
|
|
||||||
ERROR: 3 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
SKIP: FAILED
|
|
||||||
|
|
||||||
builtins/repeated_use.wgsl:5:9 warning: use of deprecated builtin
|
builtins/repeated_use.wgsl:5:9 warning: use of deprecated builtin
|
||||||
_ = isNormal(vec4<f32>());
|
_ = isNormal(vec4<f32>());
|
||||||
^^^^^^^^
|
^^^^^^^^
|
||||||
|
@ -51,26 +49,26 @@ builtins/repeated_use.wgsl:19:9 warning: use of deprecated builtin
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
bvec4 tint_isNormal(vec4 param_0) {
|
bvec4 tint_isNormal(vec4 param_0) {
|
||||||
uint4 exponent = asuint(param_0) & 0x7f80000;
|
uvec4 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint4 clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uvec4 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return equal(clamped, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
bvec3 tint_isNormal_1(vec3 param_0) {
|
bvec3 tint_isNormal_1(vec3 param_0) {
|
||||||
uint3 exponent = asuint(param_0) & 0x7f80000;
|
uvec3 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint3 clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uvec3 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return equal(clamped, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
bvec2 tint_isNormal_2(vec2 param_0) {
|
bvec2 tint_isNormal_2(vec2 param_0) {
|
||||||
uint2 exponent = asuint(param_0) & 0x7f80000;
|
uvec2 exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint2 clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uvec2 clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return equal(clamped, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool tint_isNormal_3(float param_0) {
|
bool tint_isNormal_3(float param_0) {
|
||||||
uint exponent = asuint(param_0) & 0x7f80000;
|
uint exponent = floatBitsToUint(param_0) & 0x7f80000u;
|
||||||
uint clamped = clamp(exponent, 0x0080000, 0x7f00000);
|
uint clamped = clamp(exponent, 0x0080000u, 0x7f00000u);
|
||||||
return clamped == exponent;
|
return clamped == exponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,10 +93,3 @@ void main() {
|
||||||
tint_symbol();
|
tint_symbol();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Error parsing GLSL shader:
|
|
||||||
ERROR: 0:4: 'uint4' : undeclared identifier
|
|
||||||
ERROR: 0:4: '' : compilation terminated
|
|
||||||
ERROR: 2 compilation errors. No code generated.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue