Update test sksl_large to be ES2 compatible.
SkVM does not support nonconstant array indexing because this is an ES3 feature, but sksl_large was using the ES3-specific looping binary colorizer for gradients. This prevented SkVM from compiling the benchmark. sksl_large has been regenerated with `nonconstantArrayIndexSupport` set to false in the GrShaderCaps. Change-Id: If706d9544d1bc0d9c49c59c925a517f677262c85 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/533956 Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: John Stiles <johnstiles@google.com>
This commit is contained in:
parent
82146a7fcd
commit
1675ef75cc
@ -117,9 +117,11 @@ DEF_BENCH(return new SkSLCompileBench(#name, name ## _SRC, /*optimize=*/true, O
|
||||
DEF_BENCH(return new SkSLCompileBench(#name, name ## _SRC, /*optimize=*/true, Output::kSPIRV);)
|
||||
|
||||
// This fragment shader is from the third tile on the top row of GM_gradients_2pt_conical_outside.
|
||||
// To get an ES2 compatible shader, nonconstantArrayIndexSupport in GrShaderCaps is forced off.
|
||||
COMPILER_BENCH(large, R"(
|
||||
uniform float3x3 umatrix_S1_c0;
|
||||
uniform half4 uthresholds_S1_c1_c0_c0[1];
|
||||
uniform half4 uthresholds1_7_S1_c1_c0_c0;
|
||||
uniform half4 uthresholds9_13_S1_c1_c0_c0;
|
||||
uniform float4 uscale_S1_c1_c0_c0[4];
|
||||
uniform float4 ubias_S1_c1_c0_c0[4];
|
||||
uniform half uinvR1_S1_c1_c0_c1_c0;
|
||||
@ -140,26 +142,42 @@ half4 MatrixEffect_S1_c0(half4 _input, float2 _coords)
|
||||
{
|
||||
return TextureEffect_S1_c0_c0(_input, float3x2(umatrix_S1_c0) * _coords.xy1);
|
||||
}
|
||||
half4 LoopingBinaryColorizer_S1_c1_c0_c0(half4 _input, float2 _coords)
|
||||
half4 UnrolledBinaryColorizer_S1_c1_c0_c0(half4 _input, float2 _coords)
|
||||
{
|
||||
half4 _tmp_0_inColor = _input;
|
||||
float2 _tmp_1_coords = _coords;
|
||||
half t = half(_tmp_1_coords.x);
|
||||
;
|
||||
;
|
||||
int chunk = 0;
|
||||
;
|
||||
int pos;
|
||||
if (t < uthresholds_S1_c1_c0_c0[chunk].y)
|
||||
float4 s;
|
||||
float4 b;
|
||||
{
|
||||
pos = int(t < uthresholds_S1_c1_c0_c0[chunk].x ? 0 : 1);
|
||||
if (t < uthresholds1_7_S1_c1_c0_c0.y)
|
||||
{
|
||||
if (t < uthresholds1_7_S1_c1_c0_c0.x)
|
||||
{
|
||||
s = uscale_S1_c1_c0_c0[0];
|
||||
b = ubias_S1_c1_c0_c0[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
s = uscale_S1_c1_c0_c0[1];
|
||||
b = ubias_S1_c1_c0_c0[1];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t < uthresholds1_7_S1_c1_c0_c0.z)
|
||||
{
|
||||
s = uscale_S1_c1_c0_c0[2];
|
||||
b = ubias_S1_c1_c0_c0[2];
|
||||
}
|
||||
else
|
||||
{
|
||||
s = uscale_S1_c1_c0_c0[3];
|
||||
b = ubias_S1_c1_c0_c0[3];
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pos = int(t < uthresholds_S1_c1_c0_c0[chunk].z ? 2 : 3);
|
||||
}
|
||||
;
|
||||
return half4(half4(float(t) * uscale_S1_c1_c0_c0[pos] + ubias_S1_c1_c0_c0[pos]));
|
||||
return half4(half4(float(t) * s + b));
|
||||
}
|
||||
half4 TwoPointConicalFocalLayout_S1_c1_c0_c1_c0(half4 _input)
|
||||
{
|
||||
@ -249,7 +267,7 @@ half4 ClampedGradient_S1_c1_c0(half4 _input)
|
||||
}
|
||||
else
|
||||
{
|
||||
outColor = LoopingBinaryColorizer_S1_c1_c0_c0(_tmp_4_inColor, float2(half2(t.x, 0.0)));
|
||||
outColor = UnrolledBinaryColorizer_S1_c1_c0_c0(_tmp_4_inColor, float2(half2(t.x, 0.0)));
|
||||
}
|
||||
if (bool(int(0)))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user