GLSL: implement derivative instructions.

While Desktop GLSL supports the Coarse and Fine flavours, GLSL ES does
not. For now, emit dFdx/dFdy in all cases for ES, but excluding the
Coarse and Fine flavours via validation is also an option.

Bug: tint:1445
Change-Id: Iaac589f72043b5547e9141a6e870c1fd49631f6f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/82142
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:08:13 +00:00 committed by Tint LUCI CQ
parent 3b68fcb544
commit ba4d6ab01d
53 changed files with 83 additions and 552 deletions

View File

@ -1591,17 +1591,29 @@ std::string GeneratorImpl::generate_builtin_name(const sem::Builtin* builtin) {
case sem::BuiltinType::kCountOneBits:
return "countbits";
case sem::BuiltinType::kDpdx:
return "ddx";
return "dFdx";
case sem::BuiltinType::kDpdxCoarse:
return "ddx_coarse";
if (version_.IsES()) {
return "dFdx";
}
return "dFdxCoarse";
case sem::BuiltinType::kDpdxFine:
return "ddx_fine";
if (version_.IsES()) {
return "dFdx";
}
return "dFdxFine";
case sem::BuiltinType::kDpdy:
return "ddy";
return "dFdy";
case sem::BuiltinType::kDpdyCoarse:
return "ddy_coarse";
if (version_.IsES()) {
return "dFdy";
}
return "dFdyCoarse";
case sem::BuiltinType::kDpdyFine:
return "ddy_fine";
if (version_.IsES()) {
return "dFdy";
}
return "dFdyFine";
case sem::BuiltinType::kFaceForward:
return "faceforward";
case sem::BuiltinType::kFract:

View File

@ -203,12 +203,12 @@ INSTANTIATE_TEST_SUITE_P(
BuiltinData{BuiltinType::kDeterminant, ParamType::kF32, "determinant"},
BuiltinData{BuiltinType::kDistance, ParamType::kF32, "distance"},
BuiltinData{BuiltinType::kDot, ParamType::kF32, "dot"},
BuiltinData{BuiltinType::kDpdx, ParamType::kF32, "ddx"},
BuiltinData{BuiltinType::kDpdxCoarse, ParamType::kF32, "ddx_coarse"},
BuiltinData{BuiltinType::kDpdxFine, ParamType::kF32, "ddx_fine"},
BuiltinData{BuiltinType::kDpdy, ParamType::kF32, "ddy"},
BuiltinData{BuiltinType::kDpdyCoarse, ParamType::kF32, "ddy_coarse"},
BuiltinData{BuiltinType::kDpdyFine, ParamType::kF32, "ddy_fine"},
BuiltinData{BuiltinType::kDpdx, ParamType::kF32, "dFdx"},
BuiltinData{BuiltinType::kDpdxCoarse, ParamType::kF32, "dFdx"},
BuiltinData{BuiltinType::kDpdxFine, ParamType::kF32, "dFdx"},
BuiltinData{BuiltinType::kDpdy, ParamType::kF32, "dFdy"},
BuiltinData{BuiltinType::kDpdyCoarse, ParamType::kF32, "dFdy"},
BuiltinData{BuiltinType::kDpdyFine, ParamType::kF32, "dFdy"},
BuiltinData{BuiltinType::kExp, ParamType::kF32, "exp"},
BuiltinData{BuiltinType::kExp2, ParamType::kF32, "exp2"},
BuiltinData{BuiltinType::kFaceForward, ParamType::kF32, "faceforward"},

View File

@ -76,13 +76,13 @@ mat3 cotangent_frame_vf3_vf3_vf2_vf2_(inout vec3 normal_1, inout vec3 p, inout v
vec3 bitangent = vec3(0.0f, 0.0f, 0.0f);
float invmax = 0.0f;
vec3 x_133 = p;
dp1 = ddx(x_133);
dp1 = dFdx(x_133);
vec3 x_136 = p;
dp2 = ddy(x_136);
dp2 = dFdy(x_136);
vec2 x_139 = uv;
duv1 = ddx(x_139);
duv1 = dFdx(x_139);
vec2 x_142 = uv;
duv2 = ddy(x_142);
duv2 = dFdy(x_142);
vec3 x_145 = dp2;
vec3 x_146 = normal_1;
dp2perp = cross(x_145, x_146);
@ -375,10 +375,9 @@ void main() {
return;
}
Error parsing GLSL shader:
ERROR: 0:77: 'ddx' : no matching overloaded function found
ERROR: 0:77: 'assign' : cannot convert from ' const float' to ' temp mediump 3-component vector of float'
ERROR: 0:77: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
ERROR: 0:103: 'rsqrt' : no matching overloaded function found
ERROR: 0:103: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdx_0763f7() {
vec3 res = ddx(vec3(0.0f, 0.0f, 0.0f));
vec3 res = dFdx(vec3(0.0f, 0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdx_99edb1() {
vec2 res = ddx(vec2(0.0f, 0.0f));
vec2 res = dFdx(vec2(0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdx_c487fa() {
vec4 res = ddx(vec4(0.0f, 0.0f, 0.0f, 0.0f));
vec4 res = dFdx(vec4(0.0f, 0.0f, 0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdx_e263de() {
float res = ddx(1.0f);
float res = dFdx(1.0f);
}
void fragment_main() {
@ -15,10 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdxCoarse_029152() {
float res = ddx_coarse(1.0f);
float res = dFdx(1.0f);
}
void fragment_main() {
@ -15,10 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx_coarse' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdxCoarse_9581cf() {
vec2 res = ddx_coarse(vec2(0.0f, 0.0f));
vec2 res = dFdx(vec2(0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx_coarse' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdxCoarse_c28641() {
vec4 res = ddx_coarse(vec4(0.0f, 0.0f, 0.0f, 0.0f));
vec4 res = dFdx(vec4(0.0f, 0.0f, 0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx_coarse' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdxCoarse_f64d7b() {
vec3 res = ddx_coarse(vec3(0.0f, 0.0f, 0.0f));
vec3 res = dFdx(vec3(0.0f, 0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx_coarse' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdxFine_8c5069() {
vec4 res = ddx_fine(vec4(0.0f, 0.0f, 0.0f, 0.0f));
vec4 res = dFdx(vec4(0.0f, 0.0f, 0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx_fine' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdxFine_9631de() {
vec2 res = ddx_fine(vec2(0.0f, 0.0f));
vec2 res = dFdx(vec2(0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx_fine' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdxFine_f401a2() {
float res = ddx_fine(1.0f);
float res = dFdx(1.0f);
}
void fragment_main() {
@ -15,10 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx_fine' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdxFine_f92fb6() {
vec3 res = ddx_fine(vec3(0.0f, 0.0f, 0.0f));
vec3 res = dFdx(vec3(0.0f, 0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx_fine' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdy_699a05() {
vec4 res = ddy(vec4(0.0f, 0.0f, 0.0f, 0.0f));
vec4 res = dFdy(vec4(0.0f, 0.0f, 0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdy_7f8d84() {
float res = ddy(1.0f);
float res = dFdy(1.0f);
}
void fragment_main() {
@ -15,10 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdy_a8b56e() {
vec2 res = ddy(vec2(0.0f, 0.0f));
vec2 res = dFdy(vec2(0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdy_feb40f() {
vec3 res = ddy(vec3(0.0f, 0.0f, 0.0f));
vec3 res = dFdy(vec3(0.0f, 0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdyCoarse_3e1ab4() {
vec2 res = ddy_coarse(vec2(0.0f, 0.0f));
vec2 res = dFdy(vec2(0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy_coarse' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdyCoarse_445d24() {
vec4 res = ddy_coarse(vec4(0.0f, 0.0f, 0.0f, 0.0f));
vec4 res = dFdy(vec4(0.0f, 0.0f, 0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy_coarse' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdyCoarse_870a7e() {
float res = ddy_coarse(1.0f);
float res = dFdy(1.0f);
}
void fragment_main() {
@ -15,10 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy_coarse' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdyCoarse_ae1873() {
vec3 res = ddy_coarse(vec3(0.0f, 0.0f, 0.0f));
vec3 res = dFdy(vec3(0.0f, 0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy_coarse' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdyFine_1fb7ab() {
vec3 res = ddy_fine(vec3(0.0f, 0.0f, 0.0f));
vec3 res = dFdy(vec3(0.0f, 0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy_fine' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdyFine_6eb673() {
float res = ddy_fine(1.0f);
float res = dFdy(1.0f);
}
void fragment_main() {
@ -15,10 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy_fine' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdyFine_d0a648() {
vec4 res = ddy_fine(vec4(0.0f, 0.0f, 0.0f, 0.0f));
vec4 res = dFdy(vec4(0.0f, 0.0f, 0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy_fine' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void dpdyFine_df33aa() {
vec2 res = ddy_fine(vec2(0.0f, 0.0f));
vec2 res = dFdy(vec2(0.0f, 0.0f));
}
void fragment_main() {
@ -15,11 +13,3 @@ void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy_fine' : 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.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
float x_2 = ddx(50.0f);
float x_2 = dFdx(50.0f);
return;
}
@ -16,10 +14,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,11 +1,9 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
vec2 x_1 = vec2(50.0f, 60.0f);
vec2 x_2 = ddx(x_1);
vec2 x_2 = dFdx(x_1);
return;
}
@ -17,11 +15,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:6: 'ddx' : no matching overloaded function found
ERROR: 0:6: '=' : cannot convert from ' const float' to ' temp mediump 2-component vector of float'
ERROR: 0:6: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,11 +1,9 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
vec2 x_1 = vec2(50.0f, 60.0f);
vec2 x_2 = ddx_fine(x_1);
vec2 x_2 = dFdx(x_1);
return;
}
@ -17,11 +15,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:6: 'ddx_fine' : no matching overloaded function found
ERROR: 0:6: '=' : cannot convert from ' const float' to ' temp mediump 2-component vector of float'
ERROR: 0:6: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,11 +1,9 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
vec3 x_1 = vec3(50.0f, 60.0f, 70.0f);
vec3 x_2 = ddx_fine(x_1);
vec3 x_2 = dFdx(x_1);
return;
}
@ -17,11 +15,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:6: 'ddx_fine' : no matching overloaded function found
ERROR: 0:6: '=' : cannot convert from ' const float' to ' temp mediump 3-component vector of float'
ERROR: 0:6: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
float x_2 = ddy_fine(50.0f);
float x_2 = dFdy(50.0f);
return;
}
@ -16,10 +14,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy_fine' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,11 +1,9 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
vec2 x_1 = vec2(50.0f, 60.0f);
vec2 x_2 = ddy_fine(x_1);
vec2 x_2 = dFdy(x_1);
return;
}
@ -17,11 +15,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:6: 'ddy_fine' : no matching overloaded function found
ERROR: 0:6: '=' : cannot convert from ' const float' to ' temp mediump 2-component vector of float'
ERROR: 0:6: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,11 +1,9 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
vec3 x_1 = vec3(50.0f, 60.0f, 70.0f);
vec3 x_2 = ddy_fine(x_1);
vec3 x_2 = dFdy(x_1);
return;
}
@ -17,11 +15,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:6: 'ddy_fine' : no matching overloaded function found
ERROR: 0:6: '=' : cannot convert from ' const float' to ' temp mediump 3-component vector of float'
ERROR: 0:6: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
float x_2 = ddx_coarse(50.0f);
float x_2 = dFdx(50.0f);
return;
}
@ -16,10 +14,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx_coarse' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,11 +1,9 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
vec2 x_1 = vec2(50.0f, 60.0f);
vec2 x_2 = ddx_coarse(x_1);
vec2 x_2 = dFdx(x_1);
return;
}
@ -17,11 +15,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:6: 'ddx_coarse' : no matching overloaded function found
ERROR: 0:6: '=' : cannot convert from ' const float' to ' temp mediump 2-component vector of float'
ERROR: 0:6: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,11 +1,9 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
vec3 x_1 = vec3(50.0f, 60.0f, 70.0f);
vec3 x_2 = ddx(x_1);
vec3 x_2 = dFdx(x_1);
return;
}
@ -17,11 +15,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:6: 'ddx' : no matching overloaded function found
ERROR: 0:6: '=' : cannot convert from ' const float' to ' temp mediump 3-component vector of float'
ERROR: 0:6: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,11 +1,9 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
vec3 x_1 = vec3(50.0f, 60.0f, 70.0f);
vec3 x_2 = ddx_coarse(x_1);
vec3 x_2 = dFdx(x_1);
return;
}
@ -17,11 +15,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:6: 'ddx_coarse' : no matching overloaded function found
ERROR: 0:6: '=' : cannot convert from ' const float' to ' temp mediump 3-component vector of float'
ERROR: 0:6: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
float x_2 = ddy_coarse(50.0f);
float x_2 = dFdy(50.0f);
return;
}
@ -16,10 +14,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy_coarse' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,11 +1,9 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
vec2 x_1 = vec2(50.0f, 60.0f);
vec2 x_2 = ddy_coarse(x_1);
vec2 x_2 = dFdy(x_1);
return;
}
@ -17,11 +15,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:6: 'ddy_coarse' : no matching overloaded function found
ERROR: 0:6: '=' : cannot convert from ' const float' to ' temp mediump 2-component vector of float'
ERROR: 0:6: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,11 +1,9 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
vec3 x_1 = vec3(50.0f, 60.0f, 70.0f);
vec3 x_2 = ddy_coarse(x_1);
vec3 x_2 = dFdy(x_1);
return;
}
@ -17,11 +15,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:6: 'ddy_coarse' : no matching overloaded function found
ERROR: 0:6: '=' : cannot convert from ' const float' to ' temp mediump 3-component vector of float'
ERROR: 0:6: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
float x_2 = ddy(50.0f);
float x_2 = dFdy(50.0f);
return;
}
@ -16,10 +14,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddy' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,11 +1,9 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
vec2 x_1 = vec2(50.0f, 60.0f);
vec2 x_2 = ddy(x_1);
vec2 x_2 = dFdy(x_1);
return;
}
@ -17,11 +15,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:6: 'ddy' : no matching overloaded function found
ERROR: 0:6: '=' : cannot convert from ' const float' to ' temp mediump 2-component vector of float'
ERROR: 0:6: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,11 +1,9 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
vec3 x_1 = vec3(50.0f, 60.0f, 70.0f);
vec3 x_2 = ddy(x_1);
vec3 x_2 = dFdy(x_1);
return;
}
@ -17,11 +15,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:6: 'ddy' : no matching overloaded function found
ERROR: 0:6: '=' : cannot convert from ' const float' to ' temp mediump 3-component vector of float'
ERROR: 0:6: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

View File

@ -1,10 +1,8 @@
SKIP: FAILED
#version 310 es
precision mediump float;
void main_1() {
float x_2 = ddx_fine(50.0f);
float x_2 = dFdx(50.0f);
return;
}
@ -16,10 +14,3 @@ void main() {
tint_symbol();
return;
}
Error parsing GLSL shader:
ERROR: 0:5: 'ddx_fine' : no matching overloaded function found
ERROR: 0:5: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#version 310 es
precision mediump float;
@ -55,7 +53,7 @@ void main_1() {
}
x_GLF_global_loop_count = (x_GLF_global_loop_count + 1);
vec2 x_57 = x_12.injectionSwitch;
f = (f + ddx(x_57).y);
f = (f + dFdx(x_57).y);
{
r = (r + 1);
}
@ -100,10 +98,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:56: 'ddx' : no matching overloaded function found
ERROR: 0:56: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
vk-gl-cts/graphicsfuzz/cov-derivative-uniform-vector-global-loop-count/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>;
^^^^^^
@ -63,7 +61,7 @@ void main_1() {
}
x_GLF_global_loop_count = (x_GLF_global_loop_count + 1);
vec2 x_57 = x_12.injectionSwitch;
f = (f + ddx(x_57).y);
f = (f + dFdx(x_57).y);
{
r = (r + 1);
}
@ -108,10 +106,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:56: 'ddx' : no matching overloaded function found
ERROR: 0:56: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#version 310 es
precision mediump float;
@ -32,7 +30,7 @@ layout(binding = 1) uniform buf1_1 {
float f1_f1_(inout float a) {
float x_100 = a;
return ddx(x_100);
return dFdx(x_100);
}
void main_1() {
@ -90,10 +88,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:33: 'ddx' : no matching overloaded function found
ERROR: 0:33: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
vk-gl-cts/graphicsfuzz/cov-inst-combine-mul-div-rem-if-undefined-divide-mix/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<i32, 2>;
^^^^^^
@ -40,7 +38,7 @@ layout(binding = 1) uniform buf1_1 {
float f1_f1_(inout float a) {
float x_100 = a;
return ddx(x_100);
return dFdx(x_100);
}
void main_1() {
@ -98,10 +96,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:33: 'ddx' : no matching overloaded function found
ERROR: 0:33: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#version 310 es
precision mediump float;
@ -54,9 +52,9 @@ void main_1() {
if ((x_51 == x_53)) {
float x_57 = a;
float x_60 = x_6.x_GLF_uniform_float_values[1].el;
b = (ddx(x_57) + x_60);
b = (dFdx(x_57) + x_60);
}
c = ddx(a);
c = dFdx(a);
a = (c / b);
{
i = (i + 1);
@ -93,10 +91,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:55: 'ddx' : no matching overloaded function found
ERROR: 0:55: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
vk-gl-cts/graphicsfuzz/cov-loop-dfdx-constant-divide/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>;
^^^^^^
@ -62,9 +60,9 @@ void main_1() {
if ((x_51 == x_53)) {
float x_57 = a;
float x_60 = x_6.x_GLF_uniform_float_values[1].el;
b = (ddx(x_57) + x_60);
b = (dFdx(x_57) + x_60);
}
c = ddx(a);
c = dFdx(a);
a = (c / b);
{
i = (i + 1);
@ -101,10 +99,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:55: 'ddx' : no matching overloaded function found
ERROR: 0:55: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#version 310 es
precision mediump float;
@ -18,7 +16,7 @@ void main_1() {
float a = 0.0f;
float b = 0.0f;
float x_33 = tint_symbol.x;
a = ddx(cos(x_33));
a = dFdx(cos(x_33));
float x_37 = x_8.two;
b = mix(2.0f, x_37, a);
if (bool(uint((b >= 1.899999976f)) & uint((b <= 2.099999905f)))) {
@ -45,10 +43,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:19: 'ddx' : no matching overloaded function found
ERROR: 0:19: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#version 310 es
precision mediump float;
@ -18,7 +16,7 @@ void main_1() {
float a = 0.0f;
float b = 0.0f;
float x_33 = tint_symbol.x;
a = ddx(cos(x_33));
a = dFdx(cos(x_33));
float x_37 = x_8.two;
b = mix(2.0f, x_37, a);
bool tint_tmp = (b >= 1.899999976f);
@ -49,10 +47,3 @@ void main() {
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:19: 'ddx' : no matching overloaded function found
ERROR: 0:19: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.