diff --git a/src/sksl/generated/sksl_rt_shader.minified.sksl b/src/sksl/generated/sksl_rt_shader.minified.sksl index c15e6a11f9c..70853a8e570 100644 --- a/src/sksl/generated/sksl_rt_shader.minified.sksl +++ b/src/sksl/generated/sksl_rt_shader.minified.sksl @@ -3,7 +3,7 @@ static constexpr char SKSL_MINIFIED_sksl_rt_shader[] = ",0.,0.,saturate(dot(half3(.2126,.7152,.0722),a)));}half4 sk_decal(shader a," "float2 b,float4 c){half4 e=half4(c-b.xyxy)*half4(-1.,-1.,1.,1.);e=saturate(" "e+.5);return(((e.x*e.y)*e.z)*e.w)*a.eval(b);}half4 sk_displacement(shader a" -",shader b,float2 c,half2 d,half4 e,half4 f){half4 g=unpremul(a.eval(c));half2" +",shader b,float2 c,half2 d,half4 e,half4 f){half4 g=saturate(unpremul(a.eval(c)));half2" " h=half2(dot(g,e),dot(g,f));h=d*(h-.5);return b.eval(c+float2(h));}half4 sk_magnifier" "(shader a,float2 b,float4 c,float4 d,float2 e){float2 f=d.xy+d.zw*b;float2 g" "=min(b-c.xy,c.zw-b)*e;float h=all(lessThan(g,2..xx))?2.-length(2.-g):min(g." diff --git a/src/sksl/generated/sksl_rt_shader.unoptimized.sksl b/src/sksl/generated/sksl_rt_shader.unoptimized.sksl index b0c764eee91..4a87a8c4280 100644 --- a/src/sksl/generated/sksl_rt_shader.unoptimized.sksl +++ b/src/sksl/generated/sksl_rt_shader.unoptimized.sksl @@ -4,8 +4,8 @@ static constexpr char SKSL_MINIFIED_sksl_rt_shader[] = " image,float2 coord,float4 decalBounds){half4 d=half4(decalBounds-coord.xyxy" ")*half4(-1.,-1.,1.,1.);d=saturate(d+.5);return(((d.x*d.y)*d.z)*d.w)*image.eval" "(coord);}half4 sk_displacement(shader displMap,shader colorMap,float2 coord" -",half2 scale,half4 xSelect,half4 ySelect){half4 displColor=unpremul(displMap" -".eval(coord));half2 displ=half2(dot(displColor,xSelect),dot(displColor,ySelect" +",half2 scale,half4 xSelect,half4 ySelect){half4 displColor=saturate(unpremul" +"(displMap.eval(coord)));half2 displ=half2(dot(displColor,xSelect),dot(displColor,ySelect" "));displ=scale*(displ-.5);return colorMap.eval(coord+float2(displ));}half4 sk_magnifier" "(shader src,float2 coord,float4 lensBounds,float4 zoomXform,float2 invInset" "){float2 zoomCoord=zoomXform.xy+zoomXform.zw*coord;float2 edgeInset=min(coord" diff --git a/src/sksl/sksl_rt_shader.sksl b/src/sksl/sksl_rt_shader.sksl index 811deb3b962..03378cb0bc7 100644 --- a/src/sksl/sksl_rt_shader.sksl +++ b/src/sksl/sksl_rt_shader.sksl @@ -22,7 +22,7 @@ half4 sk_displacement(shader displMap, half2 scale, half4 xSelect, // Only one of RGBA will be 1, the rest are 0 half4 ySelect) { - half4 displColor = unpremul(displMap.eval(coord)); + half4 displColor = saturate(unpremul(displMap.eval(coord))); half2 displ = half2(dot(displColor, xSelect), dot(displColor, ySelect)); displ = scale * (displ - 0.5); return colorMap.eval(coord + displ);