❯ google-chrome-unstable --disable-features=Vulkan amdgpu: os_same_file_description couldn't determine if two DRM fds reference the same file description. If they do, bad things may happen! INFO: Created TensorFlow Lite XNNPACK delegate for CPU. [39456:39456:0610/133737.064202:ERROR:interface_endpoint_client.cc(702)] Message 3 rejected by interface blink.mojom.Widget [39456:39456:0610/133737.133872:ERROR:interface_endpoint_client.cc(702)] Message 3 rejected by interface blink.mojom.Widget [39456:39456:0610/133737.196428:ERROR:interface_endpoint_client.cc(702)] Message 0 rejected by interface blink.mojom.WidgetHost [39456:39456:0610/133737.201988:ERROR:interface_endpoint_client.cc(702)] Message 0 rejected by interface blink.mojom.WidgetHost [39456:39456:0610/133737.205535:ERROR:interface_endpoint_client.cc(702)] Message 3 rejected by interface blink.mojom.Widget [39456:39456:0610/133737.207112:ERROR:interface_endpoint_client.cc(702)] Message 3 rejected by interface blink.mojom.Widget [39456:39456:0610/133737.207128:ERROR:interface_endpoint_client.cc(702)] Message 0 rejected by interface blink.mojom.WidgetHost [39456:39456:0610/133737.236451:ERROR:interface_endpoint_client.cc(702)] Message 0 rejected by interface blink.mojom.WidgetHost [39456:39456:0610/133737.236537:ERROR:interface_endpoint_client.cc(702)] Message 3 rejected by interface blink.mojom.Widget [39456:39456:0610/133737.272542:ERROR:interface_endpoint_client.cc(702)] Message 3 rejected by interface blink.mojom.Widget [39456:39456:0610/133737.272639:ERROR:interface_endpoint_client.cc(702)] Message 0 rejected by interface blink.mojom.WidgetHost [39456:39456:0610/133737.314203:ERROR:interface_endpoint_client.cc(702)] Message 0 rejected by interface blink.mojom.WidgetHost [39456:39456:0610/133737.337155:ERROR:interface_endpoint_client.cc(702)] Message 0 rejected by interface blink.mojom.WidgetHost Fontconfig error: Cannot load default config file: No such file: (null) [39456:39456:0610/133737.599433:ERROR:interface_endpoint_client.cc(702)] Message 0 rejected by interface blink.mojom.WidgetHost Fontconfig error: Cannot load default config file: No such file: (null) [39502:39502:0610/133752.870430:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times! [39502:39502:0610/133752.874542:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times! [39502:39502:0610/133752.879921:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times! Fontconfig error: Cannot load default config file: No such file: (null) [39502:39502:0610/133833.621332:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox. [39456:39456:0610/133833.637114:ERROR:interface_endpoint_client.cc(702)] Message 1 rejected by interface blink.mojom.WidgetHost [39502:39502:0610/133845.089340:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox. [39456:39456:0610/133845.102012:ERROR:interface_endpoint_client.cc(702)] Message 1 rejected by interface blink.mojom.WidgetHost [39502:39502:0610/133845.120081:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox. Fontconfig error: Cannot load default config file: No such file: (null) Fontconfig error: Cannot load default config file: No such file: (null) [39502:39502:0610/140218.386156:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 65536 times! [000055f9f7b5f520] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface. qt.qpa.qgnomeplatform.theme: The desktop style for QtQuick Controls 2 applications is not available on the system (qqc2-desktop-style). The application may look broken. amdgpu: os_same_file_description couldn't determine if two DRM fds reference the same file description. If they do, bad things may happen! [00007f569c006050] gl gl: Initialized libplacebo v5.264.1 (API v264) libva info: VA-API version 1.18.0 libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so libva info: Found init function __vaDriverInit_1_18 libva info: va_openDriver() returns 0 [00007f56bcc10740] avcodec decoder: Using Mesa Gallium driver 23.2.0-devel for AMD Radeon Graphics (gfx1100, LLVM 16.0.4, DRM 3.52, 6.4.0-0.rc5.20230606gitf8dba31b0a82.42.fc39.x86_64+debug) for hardware decoding Fontconfig error: Cannot load default config file: No such file: (null) [39502:39502:0610/143730.768478:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 131072 times! [39502:39502:0610/150140.094447:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 196608 times! ❯ ==== here was mesa updated ==== ❯ google-chrome-unstable --disable-features=Vulkan amdgpu: os_same_file_description couldn't determine if two DRM fds reference the same file description. If they do, bad things may happen! INFO: Created TensorFlow Lite XNNPACK delegate for CPU. [99061:99061:0610/150757.024784:ERROR:interface_endpoint_client.cc(702)] Message 3 rejected by interface blink.mojom.Widget [99061:99061:0610/150757.091058:ERROR:interface_endpoint_client.cc(702)] Message 3 rejected by interface blink.mojom.Widget [99061:99061:0610/150757.091181:ERROR:interface_endpoint_client.cc(702)] Message 3 rejected by interface blink.mojom.Widget [99061:99061:0610/150757.095668:ERROR:interface_endpoint_client.cc(702)] Message 3 rejected by interface blink.mojom.Widget Fontconfig error: Cannot load default config file: No such file: (null) [99061:99094:0610/150804.663989:ERROR:cert_issuer_source_aia.cc(36)] Error parsing cert retrieved from AIA (as DER): ERROR: Couldn't read tbsCertificate as SEQUENCE ERROR: Failed parsing Certificate [99061:99094:0610/150805.236183:ERROR:cert_verify_proc_builtin.cc(701)] CertVerifyProcBuiltin for safereddit.com failed: ----- Certificate i=0 (CN=safereddit.com) ----- ERROR: Time is after notAfter 11304354214592:error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED:../../third_party/boringssl/src/ssl/handshake.cc:393: 11304354214592:error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED:../../third_party/boringssl/src/ssl/handshake.cc:393: [99115:99115:0610/150806.287067:ERROR:shared_context_state.cc(79)] Skia shader compilation error ------------------------ // Vertex SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 sk_RTAdjust;uniform float4 ulocalMatrix_S0;in float2 inPosition;in half4 inColor;in float4 inCircleEdge;noperspective out float4 vinCircleEdge_S0;noperspective out half4 vinColor_S0;void main() {// Primitive Processor CircleGeometryProcessor vinCircleEdge_S0 = inCircleEdge;vinColor_S0 = inColor;float2 _tmp_0_inPosition = inPosition;float2 _tmp_1_inPosition = ulocalMatrix_S0.xz * inPosition + ulocalMatrix_S0.yw; sk_Position = _tmp_0_inPosition.xy01;} // Fragment SKSL #extension GL_NV_shader_noperspective_interpolation: require const int kFillBW_S1_c0 = 0; const int kInverseFillBW_S1_c0 = 2; const int kInverseFillAA_S1_c0 = 3; uniform float4 urectUniform_S1_c0;noperspective in float4 vinCircleEdge_S0;noperspective in half4 vinColor_S0;half4 Rect_S1_c0(half4 _input) { half4 _tmp_0_inColor = _input; half coverage; if (int(1) == kFillBW_S1_c0 || int(1) == kInverseFillBW_S1_c0) { coverage = half(all(greaterThan(float4(sk_FragCoord.xy, urectUniform_S1_c0.zw), float4(urectUniform_S1_c0.xy, sk_FragCoord.xy)))); } else { half4 dists4 = saturate(half4(1.0, 1.0, -1.0, -1.0) * half4(sk_FragCoord.xyxy - urectUniform_S1_c0)); half2 dists2 = (dists4.xy + dists4.zw) - 1.0; coverage = dists2.x * dists2.y; } if (int(1) == kInverseFillBW_S1_c0 || int(1) == kInverseFillAA_S1_c0) { coverage = 1.0 - coverage; } return half4(half4(coverage)); } half4 Blend_S1(half4 _src, half4 _dst) { return blend_modulate(Rect_S1_c0(_src), _src);} void main() {// Stage 0, CircleGeometryProcessor float4 circleEdge;circleEdge = vinCircleEdge_S0;half4 outputColor_S0;outputColor_S0 = vinColor_S0;float d = length(circleEdge.xy);half distanceToOuterEdge = half(circleEdge.z * (1.0 - d));half edgeAlpha = saturate(distanceToOuterEdge);half distanceToInnerEdge = half(circleEdge.z * (d - circleEdge.w));half innerAlpha = saturate(distanceToInnerEdge);edgeAlpha *= innerAlpha;half4 outputCoverage_S0 = half4(edgeAlpha);half4 output_S1;output_S1 = Blend_S1(outputCoverage_S0, half4(1));{ // Xfer Processor: Porter Duff sk_FragColor = outputColor_S0 * output_S1;}} // Vertex GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require precision mediump float; precision mediump sampler2D; uniform highp vec4 sk_RTAdjust; uniform highp vec4 ulocalMatrix_S0; in highp vec2 inPosition; in mediump vec4 inColor; in highp vec4 inCircleEdge; noperspective out highp vec4 vinCircleEdge_S0; noperspective out mediump vec4 vinColor_S0; void main() { vinCircleEdge_S0 = inCircleEdge; vinColor_S0 = inColor; highp vec2 _tmp_0_inPosition = inPosition; gl_Position = vec4(_tmp_0_inPosition, 0.0, 1.0); gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w); } // Fragment GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require uniform highp vec2 u_skRTFlip; precision mediump float; precision mediump sampler2D; out mediump vec4 sk_FragColor; uniform highp vec4 urectUniform_S1_c0; noperspective in highp vec4 vinCircleEdge_S0; noperspective in mediump vec4 vinColor_S0; void main() { highp vec4 sk_FragCoord = vec4(gl_FragCoord.x, u_skRTFlip.x + u_skRTFlip.y * gl_FragCoord.y, gl_FragCoord.z, gl_FragCoord.w); highp vec4 circleEdge = vinCircleEdge_S0; mediump vec4 outputColor_S0 = vinColor_S0; highp float d = length(circleEdge.xy); mediump float distanceToOuterEdge = circleEdge.z * (1.0 - d); mediump float edgeAlpha = clamp(distanceToOuterEdge, 0.0, 1.0); mediump float distanceToInnerEdge = circleEdge.z * (d - circleEdge.w); mediump float innerAlpha = clamp(distanceToInnerEdge, 0.0, 1.0); edgeAlpha *= innerAlpha; mediump vec4 outputCoverage_S0 = vec4(edgeAlpha); mediump float _5_coverage; { mediump vec4 _6_dists4 = clamp(vec4(1.0, 1.0, -1.0, -1.0) * (sk_FragCoord.xyxy - urectUniform_S1_c0), 0.0, 1.0); mediump vec2 _7_dists2 = (_6_dists4.xy + _6_dists4.zw) - 1.0; _5_coverage = _7_dists2.x * _7_dists2.y; } mediump vec4 output_S1 = vec4(_5_coverage) * outputCoverage_S0; { sk_FragColor = outputColor_S0 * output_S1; } } Errors: link failed but did not provide an info log [99115:99115:0610/150806.288806:ERROR:shared_context_state.cc(79)] Skia shader compilation error ------------------------ // Vertex SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 sk_RTAdjust;uniform float2 uatlas_adjust_S0;in float4 fillBounds;in half4 color;in float4 locations;noperspective out float2 vatlasCoord_S0;flat out half4 vcolor_S0;void main() {// Primitive Processor DrawAtlasPathShader float2 unitCoord = float2(sk_VertexID & 1, sk_VertexID >> 1); float2 devCoord = mix(fillBounds.xy, fillBounds.zw, unitCoord);float2 atlasTopLeft = float2(abs(locations.x) - 1, locations.y);float2 devTopLeft = locations.zw;bool transposed = locations.x < 0;float2 atlasCoord = devCoord - devTopLeft;if (transposed) {atlasCoord = atlasCoord.yx;}atlasCoord += atlasTopLeft;vatlasCoord_S0 = atlasCoord * uatlas_adjust_S0;vcolor_S0 = color;sk_Position = devCoord.xy01;} // Fragment SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 uinnerRect_S1;uniform half2 uradiusPlusHalf_S1;uniform sampler2D uTextureSampler_0_S0; noperspective in float2 vatlasCoord_S0;flat in half4 vcolor_S0;half4 CircularRRect_S1(half4 _input) { float2 dxy0 = uinnerRect_S1.LT - sk_FragCoord.xy;float dx1 = sk_FragCoord.x - uinnerRect_S1.R;float2 dxy = max(float2(max(dxy0.x, dx1), dxy0.y), 0.0);half bottomAlpha = half(saturate(uinnerRect_S1.B - sk_FragCoord.y));half alpha = bottomAlpha * half(saturate(uradiusPlusHalf_S1.x - length(dxy)));return _input * alpha;} void main() {// Stage 0, DrawAtlasPathShader half4 outputCoverage_S0 = half4(1);half atlasCoverage = sample(uTextureSampler_0_S0, vatlasCoord_S0).000r.a;outputCoverage_S0 *= atlasCoverage;half4 outputColor_S0;outputColor_S0 = vcolor_S0;half4 output_S1;output_S1 = CircularRRect_S1(outputCoverage_S0);{ // Xfer Processor: Porter Duff sk_FragColor = outputColor_S0 * output_S1;}} // Vertex GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require precision mediump float; precision mediump sampler2D; uniform highp vec4 sk_RTAdjust; uniform highp vec2 uatlas_adjust_S0; in highp vec4 fillBounds; in mediump vec4 color; in highp vec4 locations; noperspective out highp vec2 vatlasCoord_S0; flat out mediump vec4 vcolor_S0; void main() { highp vec2 unitCoord = vec2(float(gl_VertexID & 1), float(gl_VertexID >> 1)); highp vec2 devCoord = mix(fillBounds.xy, fillBounds.zw, unitCoord); highp vec2 atlasTopLeft = vec2(abs(locations.x) - 1.0, locations.y); highp vec2 devTopLeft = locations.zw; bool transposed = locations.x < 0.0; highp vec2 atlasCoord = devCoord - devTopLeft; if (transposed) { atlasCoord = atlasCoord.yx; } atlasCoord += atlasTopLeft; vatlasCoord_S0 = atlasCoord * uatlas_adjust_S0; vcolor_S0 = color; gl_Position = vec4(devCoord, 0.0, 1.0); gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w); } // Fragment GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require uniform highp vec2 u_skRTFlip; precision mediump float; precision mediump sampler2D; out mediump vec4 sk_FragColor; uniform highp vec4 uinnerRect_S1; uniform mediump vec2 uradiusPlusHalf_S1; uniform sampler2D uTextureSampler_0_S0; noperspective in highp vec2 vatlasCoord_S0; flat in mediump vec4 vcolor_S0; void main() { highp vec4 sk_FragCoord = vec4(gl_FragCoord.x, u_skRTFlip.x + u_skRTFlip.y * gl_FragCoord.y, gl_FragCoord.z, gl_FragCoord.w); mediump vec4 outputCoverage_S0 = vec4(1.0); mediump float atlasCoverage = texture(uTextureSampler_0_S0, vatlasCoord_S0, -0.5).x; outputCoverage_S0 *= atlasCoverage; mediump vec4 outputColor_S0 = vcolor_S0; highp vec2 _0_dxy0 = uinnerRect_S1.xy - sk_FragCoord.xy; highp float _1_dx1 = sk_FragCoord.x - uinnerRect_S1.z; highp vec2 _2_dxy = max(vec2(max(_0_dxy0.x, _1_dx1), _0_dxy0.y), 0.0); mediump float _3_bottomAlpha = clamp(uinnerRect_S1.w - sk_FragCoord.y, 0.0, 1.0); mediump float _4_alpha = _3_bottomAlpha * clamp(uradiusPlusHalf_S1.x - length(_2_dxy), 0.0, 1.0); mediump vec4 output_S1 = outputCoverage_S0 * _4_alpha; { sk_FragColor = outputColor_S0 * output_S1; } } Errors: link failed but did not provide an info log [99115:99115:0610/150806.290317:ERROR:shared_context_state.cc(79)] Skia shader compilation error ------------------------ // Vertex SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 sk_RTAdjust;uniform float4 ulocalMatrix_S0;in float2 inPosition;in half4 inColor;in float4 inCircleEdge;noperspective out float4 vinCircleEdge_S0;noperspective out half4 vinColor_S0;void main() {// Primitive Processor CircleGeometryProcessor vinCircleEdge_S0 = inCircleEdge;vinColor_S0 = inColor;float2 _tmp_0_inPosition = inPosition;float2 _tmp_1_inPosition = ulocalMatrix_S0.xz * inPosition + ulocalMatrix_S0.yw; sk_Position = _tmp_0_inPosition.xy01;} // Fragment SKSL #extension GL_NV_shader_noperspective_interpolation: require const int kFillBW_S1_c0 = 0; const int kInverseFillBW_S1_c0 = 2; const int kInverseFillAA_S1_c0 = 3; uniform float4 urectUniform_S1_c0;noperspective in float4 vinCircleEdge_S0;noperspective in half4 vinColor_S0;half4 Rect_S1_c0(half4 _input) { half4 _tmp_0_inColor = _input; half coverage; if (int(1) == kFillBW_S1_c0 || int(1) == kInverseFillBW_S1_c0) { coverage = half(all(greaterThan(float4(sk_FragCoord.xy, urectUniform_S1_c0.zw), float4(urectUniform_S1_c0.xy, sk_FragCoord.xy)))); } else { half4 dists4 = saturate(half4(1.0, 1.0, -1.0, -1.0) * half4(sk_FragCoord.xyxy - urectUniform_S1_c0)); half2 dists2 = (dists4.xy + dists4.zw) - 1.0; coverage = dists2.x * dists2.y; } if (int(1) == kInverseFillBW_S1_c0 || int(1) == kInverseFillAA_S1_c0) { coverage = 1.0 - coverage; } return half4(half4(coverage)); } half4 Blend_S1(half4 _src, half4 _dst) { return blend_modulate(Rect_S1_c0(_src), _src);} void main() {// Stage 0, CircleGeometryProcessor float4 circleEdge;circleEdge = vinCircleEdge_S0;half4 outputColor_S0;outputColor_S0 = vinColor_S0;float d = length(circleEdge.xy);half distanceToOuterEdge = half(circleEdge.z * (1.0 - d));half edgeAlpha = saturate(distanceToOuterEdge);half distanceToInnerEdge = half(circleEdge.z * (d - circleEdge.w));half innerAlpha = saturate(distanceToInnerEdge);edgeAlpha *= innerAlpha;half4 outputCoverage_S0 = half4(edgeAlpha);half4 output_S1;output_S1 = Blend_S1(outputCoverage_S0, half4(1));{ // Xfer Processor: Porter Duff sk_FragColor = outputColor_S0 * output_S1;}} // Vertex GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require precision mediump float; precision mediump sampler2D; uniform highp vec4 sk_RTAdjust; uniform highp vec4 ulocalMatrix_S0; in highp vec2 inPosition; in mediump vec4 inColor; in highp vec4 inCircleEdge; noperspective out highp vec4 vinCircleEdge_S0; noperspective out mediump vec4 vinColor_S0; void main() { vinCircleEdge_S0 = inCircleEdge; vinColor_S0 = inColor; highp vec2 _tmp_0_inPosition = inPosition; gl_Position = vec4(_tmp_0_inPosition, 0.0, 1.0); gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w); } // Fragment GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require uniform highp vec2 u_skRTFlip; precision mediump float; precision mediump sampler2D; out mediump vec4 sk_FragColor; uniform highp vec4 urectUniform_S1_c0; noperspective in highp vec4 vinCircleEdge_S0; noperspective in mediump vec4 vinColor_S0; void main() { highp vec4 sk_FragCoord = vec4(gl_FragCoord.x, u_skRTFlip.x + u_skRTFlip.y * gl_FragCoord.y, gl_FragCoord.z, gl_FragCoord.w); highp vec4 circleEdge = vinCircleEdge_S0; mediump vec4 outputColor_S0 = vinColor_S0; highp float d = length(circleEdge.xy); mediump float distanceToOuterEdge = circleEdge.z * (1.0 - d); mediump float edgeAlpha = clamp(distanceToOuterEdge, 0.0, 1.0); mediump float distanceToInnerEdge = circleEdge.z * (d - circleEdge.w); mediump float innerAlpha = clamp(distanceToInnerEdge, 0.0, 1.0); edgeAlpha *= innerAlpha; mediump vec4 outputCoverage_S0 = vec4(edgeAlpha); mediump float _5_coverage; { mediump vec4 _6_dists4 = clamp(vec4(1.0, 1.0, -1.0, -1.0) * (sk_FragCoord.xyxy - urectUniform_S1_c0), 0.0, 1.0); mediump vec2 _7_dists2 = (_6_dists4.xy + _6_dists4.zw) - 1.0; _5_coverage = _7_dists2.x * _7_dists2.y; } mediump vec4 output_S1 = vec4(_5_coverage) * outputCoverage_S0; { sk_FragColor = outputColor_S0 * output_S1; } } Errors: link failed but did not provide an info log [99115:99115:0610/150806.291589:ERROR:shared_context_state.cc(79)] Skia shader compilation error ------------------------ // Vertex SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 sk_RTAdjust;uniform float2 uatlas_adjust_S0;in float4 fillBounds;in half4 color;in float4 locations;noperspective out float2 vatlasCoord_S0;flat out half4 vcolor_S0;void main() {// Primitive Processor DrawAtlasPathShader float2 unitCoord = float2(sk_VertexID & 1, sk_VertexID >> 1); float2 devCoord = mix(fillBounds.xy, fillBounds.zw, unitCoord);float2 atlasTopLeft = float2(abs(locations.x) - 1, locations.y);float2 devTopLeft = locations.zw;bool transposed = locations.x < 0;float2 atlasCoord = devCoord - devTopLeft;if (transposed) {atlasCoord = atlasCoord.yx;}atlasCoord += atlasTopLeft;vatlasCoord_S0 = atlasCoord * uatlas_adjust_S0;vcolor_S0 = color;sk_Position = devCoord.xy01;} // Fragment SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 uinnerRect_S1;uniform half2 uradiusPlusHalf_S1;uniform sampler2D uTextureSampler_0_S0; noperspective in float2 vatlasCoord_S0;flat in half4 vcolor_S0;half4 CircularRRect_S1(half4 _input) { float2 dxy0 = uinnerRect_S1.LT - sk_FragCoord.xy;float dx1 = sk_FragCoord.x - uinnerRect_S1.R;float2 dxy = max(float2(max(dxy0.x, dx1), dxy0.y), 0.0);half bottomAlpha = half(saturate(uinnerRect_S1.B - sk_FragCoord.y));half alpha = bottomAlpha * half(saturate(uradiusPlusHalf_S1.x - length(dxy)));return _input * alpha;} void main() {// Stage 0, DrawAtlasPathShader half4 outputCoverage_S0 = half4(1);half atlasCoverage = sample(uTextureSampler_0_S0, vatlasCoord_S0).000r.a;outputCoverage_S0 *= atlasCoverage;half4 outputColor_S0;outputColor_S0 = vcolor_S0;half4 output_S1;output_S1 = CircularRRect_S1(outputCoverage_S0);{ // Xfer Processor: Porter Duff sk_FragColor = outputColor_S0 * output_S1;}} // Vertex GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require precision mediump float; precision mediump sampler2D; uniform highp vec4 sk_RTAdjust; uniform highp vec2 uatlas_adjust_S0; in highp vec4 fillBounds; in mediump vec4 color; in highp vec4 locations; noperspective out highp vec2 vatlasCoord_S0; flat out mediump vec4 vcolor_S0; void main() { highp vec2 unitCoord = vec2(float(gl_VertexID & 1), float(gl_VertexID >> 1)); highp vec2 devCoord = mix(fillBounds.xy, fillBounds.zw, unitCoord); highp vec2 atlasTopLeft = vec2(abs(locations.x) - 1.0, locations.y); highp vec2 devTopLeft = locations.zw; bool transposed = locations.x < 0.0; highp vec2 atlasCoord = devCoord - devTopLeft; if (transposed) { atlasCoord = atlasCoord.yx; } atlasCoord += atlasTopLeft; vatlasCoord_S0 = atlasCoord * uatlas_adjust_S0; vcolor_S0 = color; gl_Position = vec4(devCoord, 0.0, 1.0); gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w); } // Fragment GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require uniform highp vec2 u_skRTFlip; precision mediump float; precision mediump sampler2D; out mediump vec4 sk_FragColor; uniform highp vec4 uinnerRect_S1; uniform mediump vec2 uradiusPlusHalf_S1; uniform sampler2D uTextureSampler_0_S0; noperspective in highp vec2 vatlasCoord_S0; flat in mediump vec4 vcolor_S0; void main() { highp vec4 sk_FragCoord = vec4(gl_FragCoord.x, u_skRTFlip.x + u_skRTFlip.y * gl_FragCoord.y, gl_FragCoord.z, gl_FragCoord.w); mediump vec4 outputCoverage_S0 = vec4(1.0); mediump float atlasCoverage = texture(uTextureSampler_0_S0, vatlasCoord_S0, -0.5).x; outputCoverage_S0 *= atlasCoverage; mediump vec4 outputColor_S0 = vcolor_S0; highp vec2 _0_dxy0 = uinnerRect_S1.xy - sk_FragCoord.xy; highp float _1_dx1 = sk_FragCoord.x - uinnerRect_S1.z; highp vec2 _2_dxy = max(vec2(max(_0_dxy0.x, _1_dx1), _0_dxy0.y), 0.0); mediump float _3_bottomAlpha = clamp(uinnerRect_S1.w - sk_FragCoord.y, 0.0, 1.0); mediump float _4_alpha = _3_bottomAlpha * clamp(uradiusPlusHalf_S1.x - length(_2_dxy), 0.0, 1.0); mediump vec4 output_S1 = outputCoverage_S0 * _4_alpha; { sk_FragColor = outputColor_S0 * output_S1; } } Errors: link failed but did not provide an info log [99115:99115:0610/150806.292784:ERROR:shared_context_state.cc(79)] Skia shader compilation error ------------------------ // Vertex SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 sk_RTAdjust;uniform float4 ulocalMatrix_S0;in float2 inPosition;in half4 inColor;in float4 inCircleEdge;noperspective out float4 vinCircleEdge_S0;noperspective out half4 vinColor_S0;void main() {// Primitive Processor CircleGeometryProcessor vinCircleEdge_S0 = inCircleEdge;vinColor_S0 = inColor;float2 _tmp_0_inPosition = inPosition;float2 _tmp_1_inPosition = ulocalMatrix_S0.xz * inPosition + ulocalMatrix_S0.yw; sk_Position = _tmp_0_inPosition.xy01;} // Fragment SKSL #extension GL_NV_shader_noperspective_interpolation: require const int kFillBW_S1_c0 = 0; const int kInverseFillBW_S1_c0 = 2; const int kInverseFillAA_S1_c0 = 3; uniform float4 urectUniform_S1_c0;noperspective in float4 vinCircleEdge_S0;noperspective in half4 vinColor_S0;half4 Rect_S1_c0(half4 _input) { half4 _tmp_0_inColor = _input; half coverage; if (int(1) == kFillBW_S1_c0 || int(1) == kInverseFillBW_S1_c0) { coverage = half(all(greaterThan(float4(sk_FragCoord.xy, urectUniform_S1_c0.zw), float4(urectUniform_S1_c0.xy, sk_FragCoord.xy)))); } else { half4 dists4 = saturate(half4(1.0, 1.0, -1.0, -1.0) * half4(sk_FragCoord.xyxy - urectUniform_S1_c0)); half2 dists2 = (dists4.xy + dists4.zw) - 1.0; coverage = dists2.x * dists2.y; } if (int(1) == kInverseFillBW_S1_c0 || int(1) == kInverseFillAA_S1_c0) { coverage = 1.0 - coverage; } return half4(half4(coverage)); } half4 Blend_S1(half4 _src, half4 _dst) { return blend_modulate(Rect_S1_c0(_src), _src);} void main() {// Stage 0, CircleGeometryProcessor float4 circleEdge;circleEdge = vinCircleEdge_S0;half4 outputColor_S0;outputColor_S0 = vinColor_S0;float d = length(circleEdge.xy);half distanceToOuterEdge = half(circleEdge.z * (1.0 - d));half edgeAlpha = saturate(distanceToOuterEdge);half distanceToInnerEdge = half(circleEdge.z * (d - circleEdge.w));half innerAlpha = saturate(distanceToInnerEdge);edgeAlpha *= innerAlpha;half4 outputCoverage_S0 = half4(edgeAlpha);half4 output_S1;output_S1 = Blend_S1(outputCoverage_S0, half4(1));{ // Xfer Processor: Porter Duff sk_FragColor = outputColor_S0 * output_S1;}} // Vertex GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require precision mediump float; precision mediump sampler2D; uniform highp vec4 sk_RTAdjust; uniform highp vec4 ulocalMatrix_S0; in highp vec2 inPosition; in mediump vec4 inColor; in highp vec4 inCircleEdge; noperspective out highp vec4 vinCircleEdge_S0; noperspective out mediump vec4 vinColor_S0; void main() { vinCircleEdge_S0 = inCircleEdge; vinColor_S0 = inColor; highp vec2 _tmp_0_inPosition = inPosition; gl_Position = vec4(_tmp_0_inPosition, 0.0, 1.0); gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w); } // Fragment GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require uniform highp vec2 u_skRTFlip; precision mediump float; precision mediump sampler2D; out mediump vec4 sk_FragColor; uniform highp vec4 urectUniform_S1_c0; noperspective in highp vec4 vinCircleEdge_S0; noperspective in mediump vec4 vinColor_S0; void main() { highp vec4 sk_FragCoord = vec4(gl_FragCoord.x, u_skRTFlip.x + u_skRTFlip.y * gl_FragCoord.y, gl_FragCoord.z, gl_FragCoord.w); highp vec4 circleEdge = vinCircleEdge_S0; mediump vec4 outputColor_S0 = vinColor_S0; highp float d = length(circleEdge.xy); mediump float distanceToOuterEdge = circleEdge.z * (1.0 - d); mediump float edgeAlpha = clamp(distanceToOuterEdge, 0.0, 1.0); mediump float distanceToInnerEdge = circleEdge.z * (d - circleEdge.w); mediump float innerAlpha = clamp(distanceToInnerEdge, 0.0, 1.0); edgeAlpha *= innerAlpha; mediump vec4 outputCoverage_S0 = vec4(edgeAlpha); mediump float _5_coverage; { mediump vec4 _6_dists4 = clamp(vec4(1.0, 1.0, -1.0, -1.0) * (sk_FragCoord.xyxy - urectUniform_S1_c0), 0.0, 1.0); mediump vec2 _7_dists2 = (_6_dists4.xy + _6_dists4.zw) - 1.0; _5_coverage = _7_dists2.x * _7_dists2.y; } mediump vec4 output_S1 = vec4(_5_coverage) * outputCoverage_S0; { sk_FragColor = outputColor_S0 * output_S1; } } Errors: link failed but did not provide an info log [99115:99115:0610/150806.293870:ERROR:shared_context_state.cc(79)] Skia shader compilation error ------------------------ // Vertex SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 sk_RTAdjust;uniform float2 uatlas_adjust_S0;in float4 fillBounds;in half4 color;in float4 locations;noperspective out float2 vatlasCoord_S0;flat out half4 vcolor_S0;void main() {// Primitive Processor DrawAtlasPathShader float2 unitCoord = float2(sk_VertexID & 1, sk_VertexID >> 1); float2 devCoord = mix(fillBounds.xy, fillBounds.zw, unitCoord);float2 atlasTopLeft = float2(abs(locations.x) - 1, locations.y);float2 devTopLeft = locations.zw;bool transposed = locations.x < 0;float2 atlasCoord = devCoord - devTopLeft;if (transposed) {atlasCoord = atlasCoord.yx;}atlasCoord += atlasTopLeft;vatlasCoord_S0 = atlasCoord * uatlas_adjust_S0;vcolor_S0 = color;sk_Position = devCoord.xy01;} // Fragment SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 uinnerRect_S1;uniform half2 uradiusPlusHalf_S1;uniform sampler2D uTextureSampler_0_S0; noperspective in float2 vatlasCoord_S0;flat in half4 vcolor_S0;half4 CircularRRect_S1(half4 _input) { float2 dxy0 = uinnerRect_S1.LT - sk_FragCoord.xy;float dx1 = sk_FragCoord.x - uinnerRect_S1.R;float2 dxy = max(float2(max(dxy0.x, dx1), dxy0.y), 0.0);half bottomAlpha = half(saturate(uinnerRect_S1.B - sk_FragCoord.y));half alpha = bottomAlpha * half(saturate(uradiusPlusHalf_S1.x - length(dxy)));return _input * alpha;} void main() {// Stage 0, DrawAtlasPathShader half4 outputCoverage_S0 = half4(1);half atlasCoverage = sample(uTextureSampler_0_S0, vatlasCoord_S0).000r.a;outputCoverage_S0 *= atlasCoverage;half4 outputColor_S0;outputColor_S0 = vcolor_S0;half4 output_S1;output_S1 = CircularRRect_S1(outputCoverage_S0);{ // Xfer Processor: Porter Duff sk_FragColor = outputColor_S0 * output_S1;}} // Vertex GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require precision mediump float; precision mediump sampler2D; uniform highp vec4 sk_RTAdjust; uniform highp vec2 uatlas_adjust_S0; in highp vec4 fillBounds; in mediump vec4 color; in highp vec4 locations; noperspective out highp vec2 vatlasCoord_S0; flat out mediump vec4 vcolor_S0; void main() { highp vec2 unitCoord = vec2(float(gl_VertexID & 1), float(gl_VertexID >> 1)); highp vec2 devCoord = mix(fillBounds.xy, fillBounds.zw, unitCoord); highp vec2 atlasTopLeft = vec2(abs(locations.x) - 1.0, locations.y); highp vec2 devTopLeft = locations.zw; bool transposed = locations.x < 0.0; highp vec2 atlasCoord = devCoord - devTopLeft; if (transposed) { atlasCoord = atlasCoord.yx; } atlasCoord += atlasTopLeft; vatlasCoord_S0 = atlasCoord * uatlas_adjust_S0; vcolor_S0 = color; gl_Position = vec4(devCoord, 0.0, 1.0); gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w); } // Fragment GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require uniform highp vec2 u_skRTFlip; precision mediump float; precision mediump sampler2D; out mediump vec4 sk_FragColor; uniform highp vec4 uinnerRect_S1; uniform mediump vec2 uradiusPlusHalf_S1; uniform sampler2D uTextureSampler_0_S0; noperspective in highp vec2 vatlasCoord_S0; flat in mediump vec4 vcolor_S0; void main() { highp vec4 sk_FragCoord = vec4(gl_FragCoord.x, u_skRTFlip.x + u_skRTFlip.y * gl_FragCoord.y, gl_FragCoord.z, gl_FragCoord.w); mediump vec4 outputCoverage_S0 = vec4(1.0); mediump float atlasCoverage = texture(uTextureSampler_0_S0, vatlasCoord_S0, -0.5).x; outputCoverage_S0 *= atlasCoverage; mediump vec4 outputColor_S0 = vcolor_S0; highp vec2 _0_dxy0 = uinnerRect_S1.xy - sk_FragCoord.xy; highp float _1_dx1 = sk_FragCoord.x - uinnerRect_S1.z; highp vec2 _2_dxy = max(vec2(max(_0_dxy0.x, _1_dx1), _0_dxy0.y), 0.0); mediump float _3_bottomAlpha = clamp(uinnerRect_S1.w - sk_FragCoord.y, 0.0, 1.0); mediump float _4_alpha = _3_bottomAlpha * clamp(uradiusPlusHalf_S1.x - length(_2_dxy), 0.0, 1.0); mediump vec4 output_S1 = outputCoverage_S0 * _4_alpha; { sk_FragColor = outputColor_S0 * output_S1; } } Errors: link failed but did not provide an info log [99115:99115:0610/150806.294912:ERROR:shared_context_state.cc(79)] Skia shader compilation error ------------------------ // Vertex SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 sk_RTAdjust;uniform float4 ulocalMatrix_S0;in float2 inPosition;in half4 inColor;in float4 inCircleEdge;noperspective out float4 vinCircleEdge_S0;noperspective out half4 vinColor_S0;void main() {// Primitive Processor CircleGeometryProcessor vinCircleEdge_S0 = inCircleEdge;vinColor_S0 = inColor;float2 _tmp_0_inPosition = inPosition;float2 _tmp_1_inPosition = ulocalMatrix_S0.xz * inPosition + ulocalMatrix_S0.yw; sk_Position = _tmp_0_inPosition.xy01;} // Fragment SKSL #extension GL_NV_shader_noperspective_interpolation: require const int kFillBW_S1_c0 = 0; const int kInverseFillBW_S1_c0 = 2; const int kInverseFillAA_S1_c0 = 3; uniform float4 urectUniform_S1_c0;noperspective in float4 vinCircleEdge_S0;noperspective in half4 vinColor_S0;half4 Rect_S1_c0(half4 _input) { half4 _tmp_0_inColor = _input; half coverage; if (int(1) == kFillBW_S1_c0 || int(1) == kInverseFillBW_S1_c0) { coverage = half(all(greaterThan(float4(sk_FragCoord.xy, urectUniform_S1_c0.zw), float4(urectUniform_S1_c0.xy, sk_FragCoord.xy)))); } else { half4 dists4 = saturate(half4(1.0, 1.0, -1.0, -1.0) * half4(sk_FragCoord.xyxy - urectUniform_S1_c0)); half2 dists2 = (dists4.xy + dists4.zw) - 1.0; coverage = dists2.x * dists2.y; } if (int(1) == kInverseFillBW_S1_c0 || int(1) == kInverseFillAA_S1_c0) { coverage = 1.0 - coverage; } return half4(half4(coverage)); } half4 Blend_S1(half4 _src, half4 _dst) { return blend_modulate(Rect_S1_c0(_src), _src);} void main() {// Stage 0, CircleGeometryProcessor float4 circleEdge;circleEdge = vinCircleEdge_S0;half4 outputColor_S0;outputColor_S0 = vinColor_S0;float d = length(circleEdge.xy);half distanceToOuterEdge = half(circleEdge.z * (1.0 - d));half edgeAlpha = saturate(distanceToOuterEdge);half distanceToInnerEdge = half(circleEdge.z * (d - circleEdge.w));half innerAlpha = saturate(distanceToInnerEdge);edgeAlpha *= innerAlpha;half4 outputCoverage_S0 = half4(edgeAlpha);half4 output_S1;output_S1 = Blend_S1(outputCoverage_S0, half4(1));{ // Xfer Processor: Porter Duff sk_FragColor = outputColor_S0 * output_S1;}} // Vertex GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require precision mediump float; precision mediump sampler2D; uniform highp vec4 sk_RTAdjust; uniform highp vec4 ulocalMatrix_S0; in highp vec2 inPosition; in mediump vec4 inColor; in highp vec4 inCircleEdge; noperspective out highp vec4 vinCircleEdge_S0; noperspective out mediump vec4 vinColor_S0; void main() { vinCircleEdge_S0 = inCircleEdge; vinColor_S0 = inColor; highp vec2 _tmp_0_inPosition = inPosition; gl_Position = vec4(_tmp_0_inPosition, 0.0, 1.0); gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w); } // Fragment GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require uniform highp vec2 u_skRTFlip; precision mediump float; precision mediump sampler2D; out mediump vec4 sk_FragColor; uniform highp vec4 urectUniform_S1_c0; noperspective in highp vec4 vinCircleEdge_S0; noperspective in mediump vec4 vinColor_S0; void main() { highp vec4 sk_FragCoord = vec4(gl_FragCoord.x, u_skRTFlip.x + u_skRTFlip.y * gl_FragCoord.y, gl_FragCoord.z, gl_FragCoord.w); highp vec4 circleEdge = vinCircleEdge_S0; mediump vec4 outputColor_S0 = vinColor_S0; highp float d = length(circleEdge.xy); mediump float distanceToOuterEdge = circleEdge.z * (1.0 - d); mediump float edgeAlpha = clamp(distanceToOuterEdge, 0.0, 1.0); mediump float distanceToInnerEdge = circleEdge.z * (d - circleEdge.w); mediump float innerAlpha = clamp(distanceToInnerEdge, 0.0, 1.0); edgeAlpha *= innerAlpha; mediump vec4 outputCoverage_S0 = vec4(edgeAlpha); mediump float _5_coverage; { mediump vec4 _6_dists4 = clamp(vec4(1.0, 1.0, -1.0, -1.0) * (sk_FragCoord.xyxy - urectUniform_S1_c0), 0.0, 1.0); mediump vec2 _7_dists2 = (_6_dists4.xy + _6_dists4.zw) - 1.0; _5_coverage = _7_dists2.x * _7_dists2.y; } mediump vec4 output_S1 = vec4(_5_coverage) * outputCoverage_S0; { sk_FragColor = outputColor_S0 * output_S1; } } Errors: link failed but did not provide an info log [99115:99115:0610/150806.296089:ERROR:shared_context_state.cc(79)] Skia shader compilation error ------------------------ // Vertex SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 sk_RTAdjust;uniform float2 uatlas_adjust_S0;in float4 fillBounds;in half4 color;in float4 locations;noperspective out float2 vatlasCoord_S0;flat out half4 vcolor_S0;void main() {// Primitive Processor DrawAtlasPathShader float2 unitCoord = float2(sk_VertexID & 1, sk_VertexID >> 1); float2 devCoord = mix(fillBounds.xy, fillBounds.zw, unitCoord);float2 atlasTopLeft = float2(abs(locations.x) - 1, locations.y);float2 devTopLeft = locations.zw;bool transposed = locations.x < 0;float2 atlasCoord = devCoord - devTopLeft;if (transposed) {atlasCoord = atlasCoord.yx;}atlasCoord += atlasTopLeft;vatlasCoord_S0 = atlasCoord * uatlas_adjust_S0;vcolor_S0 = color;sk_Position = devCoord.xy01;} // Fragment SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 uinnerRect_S1;uniform half2 uradiusPlusHalf_S1;uniform sampler2D uTextureSampler_0_S0; noperspective in float2 vatlasCoord_S0;flat in half4 vcolor_S0;half4 CircularRRect_S1(half4 _input) { float2 dxy0 = uinnerRect_S1.LT - sk_FragCoord.xy;float dx1 = sk_FragCoord.x - uinnerRect_S1.R;float2 dxy = max(float2(max(dxy0.x, dx1), dxy0.y), 0.0);half bottomAlpha = half(saturate(uinnerRect_S1.B - sk_FragCoord.y));half alpha = bottomAlpha * half(saturate(uradiusPlusHalf_S1.x - length(dxy)));return _input * alpha;} void main() {// Stage 0, DrawAtlasPathShader half4 outputCoverage_S0 = half4(1);half atlasCoverage = sample(uTextureSampler_0_S0, vatlasCoord_S0).000r.a;outputCoverage_S0 *= atlasCoverage;half4 outputColor_S0;outputColor_S0 = vcolor_S0;half4 output_S1;output_S1 = CircularRRect_S1(outputCoverage_S0);{ // Xfer Processor: Porter Duff sk_FragColor = outputColor_S0 * output_S1;}} // Vertex GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require precision mediump float; precision mediump sampler2D; uniform highp vec4 sk_RTAdjust; uniform highp vec2 uatlas_adjust_S0; in highp vec4 fillBounds; in mediump vec4 color; in highp vec4 locations; noperspective out highp vec2 vatlasCoord_S0; flat out mediump vec4 vcolor_S0; void main() { highp vec2 unitCoord = vec2(float(gl_VertexID & 1), float(gl_VertexID >> 1)); highp vec2 devCoord = mix(fillBounds.xy, fillBounds.zw, unitCoord); highp vec2 atlasTopLeft = vec2(abs(locations.x) - 1.0, locations.y); highp vec2 devTopLeft = locations.zw; bool transposed = locations.x < 0.0; highp vec2 atlasCoord = devCoord - devTopLeft; if (transposed) { atlasCoord = atlasCoord.yx; } atlasCoord += atlasTopLeft; vatlasCoord_S0 = atlasCoord * uatlas_adjust_S0; vcolor_S0 = color; gl_Position = vec4(devCoord, 0.0, 1.0); gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w); } // Fragment GLSL #version 300 es #extension GL_NV_shader_noperspective_interpolation : require uniform highp vec2 u_skRTFlip; precision mediump float; precision mediump sampler2D; out mediump vec4 sk_FragColor; uniform highp vec4 uinnerRect_S1; uniform mediump vec2 uradiusPlusHalf_S1; uniform sampler2D uTextureSampler_0_S0; noperspective in highp vec2 vatlasCoord_S0; flat in mediump vec4 vcolor_S0; void main() { highp vec4 sk_FragCoord = vec4(gl_FragCoord.x, u_skRTFlip.x + u_skRTFlip.y * gl_FragCoord.y, gl_FragCoord.z, gl_FragCoord.w); mediump vec4 outputCoverage_S0 = vec4(1.0); mediump float atlasCoverage = texture(uTextureSampler_0_S0, vatlasCoord_S0, -0.5).x; outputCoverage_S0 *= atlasCoverage; mediump vec4 outputColor_S0 = vcolor_S0; highp vec2 _0_dxy0 = uinnerRect_S1.xy - sk_FragCoord.xy; highp float _1_dx1 = sk_FragCoord.x - uinnerRect_S1.z; highp vec2 _2_dxy = max(vec2(max(_0_dxy0.x, _1_dx1), _0_dxy0.y), 0.0); mediump float _3_bottomAlpha = clamp(uinnerRect_S1.w - sk_FragCoord.y, 0.0, 1.0); mediump float _4_alpha = _3_bottomAlpha * clamp(uradiusPlusHalf_S1.x - length(_2_dxy), 0.0, 1.0); mediump vec4 output_S1 = outputCoverage_S0 * _4_alpha; { sk_FragColor = outputColor_S0 * output_S1; } } Errors: link failed but did not provide an info log [99115:99115:0610/150806.298096:ERROR:shared_context_state.cc(79)] Skia shader compilation error ------------------------ // Vertex SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 sk_RTAdjust;uniform float4 ulocalMatrix_S0;in float2 inPosition;in half4 inColor;in float4 inCircleEdge;noperspective out float4 vinCircleEdge_S0;noperspective out half4 vinColor_S0;void main() {// Primitive Processor CircleGeometryProcessor vinCircleEdge_S0 = inCircleEdge;vinColor_S0 = inColor;float2 _tmp_0_inPosition = inPosition;float2 _tmp_1_inPosition = ulocalMatrix_S0.xz * inPosition + ulocalMatrix_S0.yw; sk_Position = _tmp_0_inPosition.xy01;} // Fragment SKSL #extension GL_NV_shader_noperspective_interpolation: require const int kFillBW_S1_c0 = 0; const int kInverseFillBW_S1_c0 = 2; const int kInverseFillAA_S1_c0 = 3; uniform float4 urectUniform_S1_c0;noperspective in float4 vinCircleEdge_S0;noperspective in half4 vinColor_S0;half4 Rect_S1_c0(half4 _input) { half4 _tmp_0_inColor = _input; half coverage; if (int(1) == kFillBW_S1_c0 || int(1) == kInverseFillBW_S1_c0) { coverage = half(all(greaterThan(float4(sk_FragCoord.xy, urectUniform_S1_c0.zw), float4(urectUniform_S1_c0.xy, sk_FragCoord.xy)))); } else { half4 dists4 = saturate(half4(1.0, 1.0, -1.0, -1.0) * half4(sk_FragCoord.xyxy - urectUniform_S1_c0)); half2 dists2 = (dists4.xy + dists4.zw) - 1.0; coverage = dists2.x * dists2.y; } if (int(1) == kInverseFillBW_S1_c0 || int(1) == kInverseFillAA_S1_c0) { coverage = 1.0 - coverage; } return half4(half4(coverage)); } half4 Blend_S1(half4 _src, half4 _dst) { return blend_modulate(Rect_S1_c0(_src), _src);} void main() {// Stage 0, CircleGeometryProcessor float4 circleEdge;circleEdge = vinCircleEdge_S0;half4 outputColor_S0;outputColor_S0 = vinColor_S0;float d = length(circleEdge.xy);half distanceToOuterEdge = half(circleEdge.z * (1.0 - d));half edgeAlpha = saturate(distanceToOuterEdge);half distanceToInnerEdge = half(circleEdge.z * (d - circleEdge.w));half innerAlpha = saturate(distanceToInnerEdge);edgeAlpha *= innerAlpha;half4 outputCoverage_S0 = half4(edgeAlpha);half4 output_S1;output_S1 = Blend_S1(outputCoverage_S0, half4(1));{ // Xfer Processor: Porter Duff sk_FragColor = outputColor_S0 * output_S1;}} // Vertex GLSL #version 300 es