GLSL: implement fract() builtin function.

Bug: tint:1446
Change-Id: Icb06bb560956372a689db33c758b3d5ad8c27225
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/82143
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:
Stephen White 2022-02-28 18:19:47 +00:00 committed by Tint LUCI CQ
parent ba4d6ab01d
commit 2a02b68453
19 changed files with 34 additions and 231 deletions

View File

@ -1617,7 +1617,7 @@ std::string GeneratorImpl::generate_builtin_name(const sem::Builtin* builtin) {
case sem::BuiltinType::kFaceForward: case sem::BuiltinType::kFaceForward:
return "faceforward"; return "faceforward";
case sem::BuiltinType::kFract: case sem::BuiltinType::kFract:
return "frac"; return "fract";
case sem::BuiltinType::kFma: case sem::BuiltinType::kFma:
return "mad"; return "mad";
case sem::BuiltinType::kFwidth: case sem::BuiltinType::kFwidth:

View File

@ -214,7 +214,7 @@ INSTANTIATE_TEST_SUITE_P(
BuiltinData{BuiltinType::kFaceForward, ParamType::kF32, "faceforward"}, BuiltinData{BuiltinType::kFaceForward, ParamType::kF32, "faceforward"},
BuiltinData{BuiltinType::kFloor, ParamType::kF32, "floor"}, BuiltinData{BuiltinType::kFloor, ParamType::kF32, "floor"},
BuiltinData{BuiltinType::kFma, ParamType::kF32, "mad"}, BuiltinData{BuiltinType::kFma, ParamType::kF32, "mad"},
BuiltinData{BuiltinType::kFract, ParamType::kF32, "frac"}, BuiltinData{BuiltinType::kFract, ParamType::kF32, "fract"},
BuiltinData{BuiltinType::kFwidth, ParamType::kF32, "fwidth"}, BuiltinData{BuiltinType::kFwidth, ParamType::kF32, "fwidth"},
BuiltinData{BuiltinType::kFwidthCoarse, ParamType::kF32, "fwidth"}, BuiltinData{BuiltinType::kFwidthCoarse, ParamType::kF32, "fwidth"},
BuiltinData{BuiltinType::kFwidthFine, ParamType::kF32, "fwidth"}, BuiltinData{BuiltinType::kFwidthFine, ParamType::kF32, "fwidth"},

View File

@ -56,7 +56,7 @@ INSTANTIATE_TEST_SUITE_P(GlslGeneratorImplTest_Import,
GlslImportData{"exp", "exp"}, GlslImportData{"exp", "exp"},
GlslImportData{"exp2", "exp2"}, GlslImportData{"exp2", "exp2"},
GlslImportData{"floor", "floor"}, GlslImportData{"floor", "floor"},
GlslImportData{"fract", "frac"}, GlslImportData{"fract", "fract"},
GlslImportData{"inverseSqrt", "rsqrt"}, GlslImportData{"inverseSqrt", "rsqrt"},
GlslImportData{"length", "length"}, GlslImportData{"length", "length"},
GlslImportData{"log", "log"}, GlslImportData{"log", "log"},
@ -114,7 +114,7 @@ INSTANTIATE_TEST_SUITE_P(GlslGeneratorImplTest_Import,
GlslImportData{"exp", "exp"}, GlslImportData{"exp", "exp"},
GlslImportData{"exp2", "exp2"}, GlslImportData{"exp2", "exp2"},
GlslImportData{"floor", "floor"}, GlslImportData{"floor", "floor"},
GlslImportData{"fract", "frac"}, GlslImportData{"fract", "fract"},
GlslImportData{"inverseSqrt", "rsqrt"}, GlslImportData{"inverseSqrt", "rsqrt"},
GlslImportData{"length", "length"}, GlslImportData{"length", "length"},
GlslImportData{"log", "log"}, GlslImportData{"log", "log"},

View File

@ -123,8 +123,8 @@ void main() {
vec2 rand_seed = vec2(0.0f, 0.0f); vec2 rand_seed = vec2(0.0f, 0.0f);
float rand() { float rand() {
rand_seed.x = frac((cos(dot(rand_seed, vec2(23.140779495f, 232.616897583f))) * 136.816802979f)); rand_seed.x = fract((cos(dot(rand_seed, vec2(23.140779495f, 232.616897583f))) * 136.816802979f));
rand_seed.y = frac((cos(dot(rand_seed, vec2(54.478565216f, 345.841522217f))) * 534.764526367f)); rand_seed.y = fract((cos(dot(rand_seed, vec2(54.478565216f, 345.841522217f))) * 534.764526367f));
return rand_seed.y; return rand_seed.y;
} }
@ -208,8 +208,8 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:5: 'frac' : no matching overloaded function found ERROR: 0:64: 'textureQueryLevels' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated ERROR: 0:64: '' : compilation terminated
ERROR: 2 compilation errors. No code generated. ERROR: 2 compilation errors. No code generated.

View File

@ -79,7 +79,7 @@ void main_1() {
float alpha = 0.0f; float alpha = 0.0f;
vec3 mixed = vec3(0.0f, 0.0f, 0.0f); vec3 mixed = vec3(0.0f, 0.0f, 0.0f);
color = vec4(0.0f, 0.0f, 0.0f, 0.0f); color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
tileUV = frac(tUV); tileUV = fract(tUV);
float x_91 = tileUV.y; float x_91 = tileUV.y;
tileUV.y = (1.0f - x_91); tileUV.y = (1.0f - x_91);
tileID = floor(tUV); tileID = floor(tUV);
@ -200,10 +200,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:80: 'frac' : no matching overloaded function found ERROR: 0:120: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type ' temp mediump float' and a right operand of type ' const float' (or there is no acceptable conversion)
ERROR: 0:80: 'assign' : cannot convert from ' const float' to ' temp mediump 2-component vector of float' ERROR: 0:120: '' : compilation terminated
ERROR: 0:80: '' : compilation terminated ERROR: 2 compilation errors. No code generated.
ERROR: 3 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void fract_8bc1e9() { void fract_8bc1e9() {
vec4 res = frac(vec4(0.0f, 0.0f, 0.0f, 0.0f)); vec4 res = fract(vec4(0.0f, 0.0f, 0.0f, 0.0f));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,19 +16,11 @@ 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: 'frac' : no matching overloaded function found
ERROR: 0:4: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:4: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void fract_8bc1e9() { void fract_8bc1e9() {
vec4 res = frac(vec4(0.0f, 0.0f, 0.0f, 0.0f)); vec4 res = fract(vec4(0.0f, 0.0f, 0.0f, 0.0f));
} }
void fragment_main() { void fragment_main() {
@ -41,18 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: 'frac' : no matching overloaded function found
ERROR: 0:5: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of float'
ERROR: 0:5: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
#version 310 es #version 310 es
void fract_8bc1e9() { void fract_8bc1e9() {
vec4 res = frac(vec4(0.0f, 0.0f, 0.0f, 0.0f)); vec4 res = fract(vec4(0.0f, 0.0f, 0.0f, 0.0f));
} }
void compute_main() { void compute_main() {
@ -64,11 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: 'frac' : no matching overloaded function found
ERROR: 0:4: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:4: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void fract_943cb1() { void fract_943cb1() {
vec2 res = frac(vec2(0.0f, 0.0f)); vec2 res = fract(vec2(0.0f, 0.0f));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,19 +16,11 @@ 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: 'frac' : no matching overloaded function found
ERROR: 0:4: '=' : cannot convert from ' const float' to ' temp highp 2-component vector of float'
ERROR: 0:4: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void fract_943cb1() { void fract_943cb1() {
vec2 res = frac(vec2(0.0f, 0.0f)); vec2 res = fract(vec2(0.0f, 0.0f));
} }
void fragment_main() { void fragment_main() {
@ -41,18 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: 'frac' : no matching overloaded function found
ERROR: 0:5: '=' : cannot convert from ' const float' to ' temp mediump 2-component vector of float'
ERROR: 0:5: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
#version 310 es #version 310 es
void fract_943cb1() { void fract_943cb1() {
vec2 res = frac(vec2(0.0f, 0.0f)); vec2 res = fract(vec2(0.0f, 0.0f));
} }
void compute_main() { void compute_main() {
@ -64,11 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: 'frac' : no matching overloaded function found
ERROR: 0:4: '=' : cannot convert from ' const float' to ' temp highp 2-component vector of float'
ERROR: 0:4: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void fract_a49758() { void fract_a49758() {
vec3 res = frac(vec3(0.0f, 0.0f, 0.0f)); vec3 res = fract(vec3(0.0f, 0.0f, 0.0f));
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,19 +16,11 @@ 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: 'frac' : no matching overloaded function found
ERROR: 0:4: '=' : cannot convert from ' const float' to ' temp highp 3-component vector of float'
ERROR: 0:4: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void fract_a49758() { void fract_a49758() {
vec3 res = frac(vec3(0.0f, 0.0f, 0.0f)); vec3 res = fract(vec3(0.0f, 0.0f, 0.0f));
} }
void fragment_main() { void fragment_main() {
@ -41,18 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: 'frac' : no matching overloaded function found
ERROR: 0:5: '=' : cannot convert from ' const float' to ' temp mediump 3-component vector of float'
ERROR: 0:5: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
#version 310 es #version 310 es
void fract_a49758() { void fract_a49758() {
vec3 res = frac(vec3(0.0f, 0.0f, 0.0f)); vec3 res = fract(vec3(0.0f, 0.0f, 0.0f));
} }
void compute_main() { void compute_main() {
@ -64,11 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: 'frac' : no matching overloaded function found
ERROR: 0:4: '=' : cannot convert from ' const float' to ' temp highp 3-component vector of float'
ERROR: 0:4: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,9 +1,7 @@
SKIP: FAILED
#version 310 es #version 310 es
void fract_fa5c71() { void fract_fa5c71() {
float res = frac(1.0f); float res = fract(1.0f);
} }
vec4 vertex_main() { vec4 vertex_main() {
@ -18,18 +16,11 @@ 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: 'frac' : no matching overloaded function found
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
void fract_fa5c71() { void fract_fa5c71() {
float res = frac(1.0f); float res = fract(1.0f);
} }
void fragment_main() { void fragment_main() {
@ -40,17 +31,10 @@ void main() {
fragment_main(); fragment_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:5: 'frac' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es #version 310 es
void fract_fa5c71() { void fract_fa5c71() {
float res = frac(1.0f); float res = fract(1.0f);
} }
void compute_main() { void compute_main() {
@ -62,10 +46,3 @@ void main() {
compute_main(); compute_main();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:4: 'frac' : no matching overloaded function found
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#version 310 es #version 310 es
void main_1() { void main_1() {
@ -25,7 +23,7 @@ void main_1() {
vec3 v3f2 = vec3(60.0f, 70.0f, 50.0f); vec3 v3f2 = vec3(60.0f, 70.0f, 50.0f);
vec4 v4f1 = vec4(50.0f, 50.0f, 50.0f, 50.0f); vec4 v4f1 = vec4(50.0f, 50.0f, 50.0f, 50.0f);
vec4 v4f2 = v4f1; vec4 v4f2 = v4f1;
float x_1 = frac(f1); float x_1 = fract(f1);
return; return;
} }
@ -38,10 +36,3 @@ void main() {
tint_symbol(); tint_symbol();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:26: 'frac' : no matching overloaded function found
ERROR: 0:26: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#version 310 es #version 310 es
void main_1() { void main_1() {
@ -25,7 +23,7 @@ void main_1() {
vec3 v3f2 = vec3(60.0f, 70.0f, 50.0f); vec3 v3f2 = vec3(60.0f, 70.0f, 50.0f);
vec4 v4f1 = vec4(50.0f, 50.0f, 50.0f, 50.0f); vec4 v4f1 = vec4(50.0f, 50.0f, 50.0f, 50.0f);
vec4 v4f2 = v4f1; vec4 v4f2 = v4f1;
vec2 x_1 = frac(v2f1); vec2 x_1 = fract(v2f1);
return; return;
} }
@ -38,11 +36,3 @@ void main() {
tint_symbol(); tint_symbol();
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:26: 'frac' : no matching overloaded function found
ERROR: 0:26: '=' : cannot convert from ' const float' to ' temp highp 2-component vector of float'
ERROR: 0:26: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#version 310 es #version 310 es
precision mediump float; precision mediump float;
@ -34,7 +32,7 @@ void main_1() {
float f0 = 0.0f; float f0 = 0.0f;
float f1 = 0.0f; float f1 = 0.0f;
f0 = uintBitsToFloat(0x7fc00000u); f0 = uintBitsToFloat(0x7fc00000u);
f1 = frac(f0); f1 = fract(f0);
float x_38 = tint_symbol.x; float x_38 = tint_symbol.x;
float x_40 = x_8.x_GLF_uniform_float_values[0].el; float x_40 = x_8.x_GLF_uniform_float_values[0].el;
if ((x_38 > x_40)) { if ((x_38 > x_40)) {
@ -66,10 +64,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1; x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:35: 'frac' : no matching overloaded function found
ERROR: 0:35: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.wgsl:1:13 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.wgsl:1:13 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
type Arr = @stride(16) array<f32, 1>; type Arr = @stride(16) array<f32, 1>;
^^^^^^ ^^^^^^
@ -42,7 +40,7 @@ void main_1() {
float f0 = 0.0f; float f0 = 0.0f;
float f1 = 0.0f; float f1 = 0.0f;
f0 = uintBitsToFloat(0x7f800000u); f0 = uintBitsToFloat(0x7f800000u);
f1 = frac(f0); f1 = fract(f0);
float x_38 = tint_symbol.x; float x_38 = tint_symbol.x;
float x_40 = x_8.x_GLF_uniform_float_values[0].el; float x_40 = x_8.x_GLF_uniform_float_values[0].el;
if ((x_38 > x_40)) { if ((x_38 > x_40)) {
@ -74,10 +72,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1; x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:35: 'frac' : no matching overloaded function found
ERROR: 0:35: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#version 310 es #version 310 es
precision mediump float; precision mediump float;
@ -25,7 +23,7 @@ void main_1() {
bool x_52_phi = false; bool x_52_phi = false;
float x_30 = x_6.x_GLF_uniform_float_values[0].el; float x_30 = x_6.x_GLF_uniform_float_values[0].el;
v1 = vec2(x_30, x_30); v1 = vec2(x_30, x_30);
b = frac(v1); b = fract(v1);
a = smoothstep(vec2(1.0f, 1.0f), vec2(1.0f, 1.0f), b).x; a = smoothstep(vec2(1.0f, 1.0f), vec2(1.0f, 1.0f), b).x;
float x_38 = x_6.x_GLF_uniform_float_values[0].el; float x_38 = x_6.x_GLF_uniform_float_values[0].el;
float x_39 = a; float x_39 = a;
@ -68,11 +66,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1; x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:26: 'frac' : no matching overloaded function found
ERROR: 0:26: 'assign' : cannot convert from ' const float' to ' temp mediump 2-component vector of float'
ERROR: 0:26: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
vk-gl-cts/graphicsfuzz/cov-fract-smoothstep-undefined/0-opt.wgsl:1:13 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary vk-gl-cts/graphicsfuzz/cov-fract-smoothstep-undefined/0-opt.wgsl:1:13 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
type Arr = @stride(16) array<f32, 1>; type Arr = @stride(16) array<f32, 1>;
^^^^^^ ^^^^^^
@ -29,7 +27,7 @@ void main_1() {
bool x_52_phi = false; bool x_52_phi = false;
float x_30 = x_6.x_GLF_uniform_float_values[0].el; float x_30 = x_6.x_GLF_uniform_float_values[0].el;
v1 = vec2(x_30, x_30); v1 = vec2(x_30, x_30);
b = frac(v1); b = fract(v1);
a = smoothstep(vec2(1.0f, 1.0f), vec2(1.0f, 1.0f), b).x; a = smoothstep(vec2(1.0f, 1.0f), vec2(1.0f, 1.0f), b).x;
float x_38 = x_6.x_GLF_uniform_float_values[0].el; float x_38 = x_6.x_GLF_uniform_float_values[0].el;
float x_39 = a; float x_39 = a;
@ -72,11 +70,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1; x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:26: 'frac' : no matching overloaded function found
ERROR: 0:26: 'assign' : cannot convert from ' const float' to ' temp mediump 2-component vector of float'
ERROR: 0:26: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#version 310 es #version 310 es
precision mediump float; precision mediump float;
@ -34,7 +32,7 @@ void main_1() {
float f = 0.0f; float f = 0.0f;
float x_35 = tint_symbol.y; float x_35 = tint_symbol.y;
float x_37 = x_7.x_GLF_uniform_float_values[1].el; float x_37 = x_7.x_GLF_uniform_float_values[1].el;
f = frac(trunc(((x_35 < x_37) ? 0.100000001f : 1.0f))); f = fract(trunc(((x_35 < x_37) ? 0.100000001f : 1.0f)));
float x_42 = f; float x_42 = f;
float x_44 = x_7.x_GLF_uniform_float_values[0].el; float x_44 = x_7.x_GLF_uniform_float_values[0].el;
if ((x_42 == x_44)) { if ((x_42 == x_44)) {
@ -67,10 +65,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1; x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:35: 'frac' : no matching overloaded function found
ERROR: 0:35: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
vk-gl-cts/graphicsfuzz/cov-trunc-fract-always-zero/0-opt.wgsl:1:13 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary vk-gl-cts/graphicsfuzz/cov-trunc-fract-always-zero/0-opt.wgsl:1:13 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
type Arr = @stride(16) array<f32, 2>; type Arr = @stride(16) array<f32, 2>;
^^^^^^ ^^^^^^
@ -42,7 +40,7 @@ void main_1() {
float f = 0.0f; float f = 0.0f;
float x_35 = tint_symbol.y; float x_35 = tint_symbol.y;
float x_37 = x_7.x_GLF_uniform_float_values[1].el; float x_37 = x_7.x_GLF_uniform_float_values[1].el;
f = frac(trunc(((x_35 < x_37) ? 0.100000001f : 1.0f))); f = fract(trunc(((x_35 < x_37) ? 0.100000001f : 1.0f)));
float x_42 = f; float x_42 = f;
float x_44 = x_7.x_GLF_uniform_float_values[0].el; float x_44 = x_7.x_GLF_uniform_float_values[0].el;
if ((x_42 == x_44)) { if ((x_42 == x_44)) {
@ -75,10 +73,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1; x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:35: 'frac' : no matching overloaded function found
ERROR: 0:35: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#version 310 es #version 310 es
precision mediump float; precision mediump float;
@ -11,7 +9,7 @@ void main_1() {
a = vec2(1.0f, 1.0f); a = vec2(1.0f, 1.0f);
float x_25 = a.x; float x_25 = a.x;
a.x = (x_25 + 0.5f); a.x = (x_25 + 0.5f);
b = frac(a); b = fract(a);
float x_31 = b.x; float x_31 = b.x;
if ((x_31 == 0.5f)) { if ((x_31 == 0.5f)) {
x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f); x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
@ -36,11 +34,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1; x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:12: 'frac' : no matching overloaded function found
ERROR: 0:12: 'assign' : cannot convert from ' const float' to ' temp mediump 2-component vector of float'
ERROR: 0:12: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#version 310 es #version 310 es
precision mediump float; precision mediump float;
@ -11,7 +9,7 @@ void main_1() {
a = vec2(1.0f, 1.0f); a = vec2(1.0f, 1.0f);
float x_25 = a.x; float x_25 = a.x;
a.x = (x_25 + 0.5f); a.x = (x_25 + 0.5f);
b = frac(a); b = fract(a);
float x_31 = b.x; float x_31 = b.x;
if ((x_31 == 0.5f)) { if ((x_31 == 0.5f)) {
x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f); x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
@ -36,11 +34,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1; x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return; return;
} }
Error parsing GLSL shader:
ERROR: 0:12: 'frac' : no matching overloaded function found
ERROR: 0:12: 'assign' : cannot convert from ' const float' to ' temp mediump 2-component vector of float'
ERROR: 0:12: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.