Closed Bug 1913568 Opened 3 months ago Closed 2 months ago

Incorrect hardware VP9 Video Scale on Huawei Mate 10 Pro

Categories

(Core :: Graphics: WebRender, defect, P3)

Firefox 131
ARM64
Android
defect

Tracking

()

RESOLVED FIXED
132 Branch
Tracking Status
firefox132 --- fixed

People

(Reporter: cmcaine, Assigned: jnicol)

References

Details

Attachments

(4 files)

User Agent: Mozilla/5.0 (Android 10; Mobile; rv:129.0) Gecko/129.0 Firefox/129.0

Steps to reproduce:

  1. Install Firefox for Android or Firefox Nightly on a HUAWEI Mate 10 Pro
  2. Open https://www.base-n.de/webm/VP9%20Sample.html
  3. Play both videos

Actual results:

Only the upper left corner of the vp9 video is shown.

Expected results:

The two videos should appear the same.

See also:
https://bugzilla.mozilla.org/show_bug.cgi?id=1825631
https://bugzilla.mozilla.org/show_bug.cgi?id=1863548

Workaround: install Firefox nightly and set gfx.webrender.software to true in about:config. Close Firefox completely and open it again, the video should now play correctly.

OS: Unspecified → Android
Hardware: Unspecified → ARM64
See Also: → 1825631, 1863548

This is also present on Firefox for Android v129 and many previous releases.

Possibly this is a regression introduced by https://bugzilla.mozilla.org/show_bug.cgi?id=1731980

about:support on Firefox Nightly:

Jamie, this sounds like a SurfaceTexture transform issue when rendering video. Could you please help take a look? Thanks a lot!

Flags: needinfo?(jnicol)

On first glance it looks like we just need to add kirin970 to the list of buggy platforms here. But it's suspicious that this list keeps growing, and yet I've never seen anyone else mention this bug anywhere (nor does chrome appear to work around it). It's also very suspicious that software webrender doesn't reproduce the bug. In bug 1731980 we added code to handle surfacetexture transforms to both software and hardware webrender code paths. The decoder gives the same transform in either case. So why would one work and not the other?

Looking at bug 1731980 again, the bug was reported on software webrender. The patch did indeed fix it for software webrender. But I believe we may have already accidentally been handling the transforms for hardware webrender, and since that patch landed we now effectively apply the transform twice. This means we now render incorrectly in hardware webrender for any device that provides a scaling transform. (Except for the ones we've already mistaken as buggy and added this workaround for.)

The reason we were already "accidentally" handling the transform is that we a) hard-coded a y-flip, and b) we provide the UV rect in unnormalized texels to our shaders (eg composite or brush_image). The shader then divides them by the value returned by textureSize() to normalize them. This is the actual size of the texture, as opposed to the size of the video frame within it. Meaning this is effectively applying the transformation.

So we need to a) stop overriding the transform for certain platforms, and b) stop scaling the UV rect in RenderAndroidSurfaceTextureHost::GetUvCoords(). (Except for doing a y-flip if there is one)

However, this is complicated by the presence of the composite_TEXTURE_EXTERNAL_ESSL1 and cs_scale_TEXTURE_EXTERNAL_ESSL1 shaders. We use these on devices which do not support the GL_OES_EGL_image_external_essl3 extension. These shaders are written in ESSL1 and therefore do not support textureSize(). Instead we pass the texture size as a uniform. Unfortunately we do not know the actual size of the surface texture, so we are using the size of the video frame rather than the texture. Meaning when we normalize the texture coords they are not scaled correctly. So we need to find a solution for this rendering path.

Flags: needinfo?(jnicol)
Severity: -- → S3
Component: Audio/Video: Playback → Graphics: WebRender
Priority: -- → P3

Note that even prior to bug 1731980 which regressed hardware webrender (or currently when we add the override of a simple y-flip transform), the rendering is still not quite right. It's certainly more correct than the current behaviour without the override, as the video is rendered at roughly the right size. But the transform usually contains a slight translation to ensure that we do not sample outwith the bounds of the video. If we hardcode just a y-flip, then rely on the fact we pass unnormalized UV coordinates to webrender, which then normalizes in the shader using the actual texture width, then yes we render roughly the correct size of the texture. But we sample slightly too large/offset an area, which can be seen as a green seam at the edge of the video.

I therefore don't believe it's possible to handle this correctly when using unnormalized texture coordinates, as we cannot know the actual texture size on the CPU. We must add the capability to webrender to use normalized ST coordinates rather than unnormalized UVs.

Duplicate of this bug: 1912794
Duplicate of this bug: 1912791

Add the capability to transform the texture coordinates when reading
from a texture, similar to existing support in GLBlitHelper and
CompositorOGL.

This patch doesn't change any behaviour, but this capability will be
made use of by a later patch in this series.

Assignee: nobody → jnicol
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

Some external images must be sampled from by providing normalized UV
coordinates to webrender, but currently webrender only supports
unnormalized UVs.

This patch adds a flag to webrender's external image API that
specifies whether the UV coordinates supplied when the texture is
locked are normalized or unnormalized. This flag is plumbed through
webrender to the required locations. We then add support for taking
normalized UVs as inputs to the brush_image and cs_scale shaders. The
only other shader that can be used with external textures is the
composite shader, which already supports normalized UVs.

This does not change any behaviour, that will happen in the next patch
in this series.

On Android, SurfaceTextures provide a transform that should be applied
to texture coordinates when sampling from the texture. Usually this is
simply a y-flip, but sometimes it includes a scale and slight
translation, eg when the video frame is contained within a larger
texture. Previously we ignored this transform but performed a y-flip,
meaning we rendered correctly most of the time, but not all of the
time.

Our first attempt to fix this was in bug 1731980. When rendering as a
compositor surface with RenderCompositorOGLSWGL, we supplied the
transform to CompositorOGL's shaders, which correctly fixed the bug
for this rendering path.

However, the attempted fix for hardware webrender in fact made things
worse. As UV coordinates are supplied to webrender unnormalized, then
the shaders normalize them by dividing by the actual texture size,
this effectively handled the scale component of the transform. (Though
not quite scaling by the correct amount, and ignoring the translation
component, sometimes resulting in a pixel-wide green seam being
visible at the video's edges.) When we additionally applied the
transformation to the coordinates, it resulted in the scale being
applied twice, and the video being rendered too far zoomed
in.

To make matters worse, when we received subsequent bug reports of
incorrect rendering on various devices we mistakenly assumed that the
devices must be buggy, rather than our code being incorrect. We
therefore reverted to ignoring the transform on these devices, thereby
breaking the software webrender path again.

Additionally, on devices without GL_OES_EGL_image_external_essl3
support, we must sample from the SurfaceTexture using an ESSL1
shader. This means we do not have access to the correct texture size,
meaning we cannot correctly normalize the UV coordinates. This results
in the video being rendered too far zoomed out. And in the
non-compositor-surface software webrender path, we were accidentally
downscaling the texture when reading back into a CPU buffer, resulting
in the video being rendered at the correct zoom, but being very
blurry.

This patch aims to handle the transform correctly, in all rendering
paths, hopefully once and for all.

For hardware webrender, we now supply the texture coordinates to
webrender already normalized, using the functionality added in the
previous patch. This avoids the shaders scaling the coordinates again,
or using an incorrect texture size to do so.

For RenderCompositorOGLSWGL, we continue to apply the transform using
CompositorOGL's shaders.

In the non-compositor-surface software webrender path, we make
GLReadPixelsHelper apply the transform when reading from the
SurfaceTexture in to the CPU buffer. Again using functionality added
earlier in this patch series. This avoids downscaling the image. We
can then provide the default untransformed and unnormalized UVs to
webrender. As a result we can now remove the virtual function
RenderTextureHost::GetUvCoords(), added in bug 1731980, as it no
longer serves any purpose: we no longer want to share the
implementation between RenderAndroidSurfaceTextureHost::Lock and
RenderTextureHostSWGL::LockSWGL.

Finally, we remove all transform overrides on the devices we
mistakenly assumed were buggy.

Posting my phone model and android version here, in case it is still needed. This is still happening to me on verion 131.0a1
Phone Model: Moto G20
Android Version: 11

Thanks for the information, Daniel! Hopefully the fix should be in nightly in a day or so

Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b6f9d83c6da0 Add texture transform support to GLReadTexImageHelper. r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/4aaa0e9d0a6f Add support for normalized UV coordinates to webrender. r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/08890d5674ad Handle SurfaceTexture transforms in webrender, for reals this time. r=gfx-reviewers,media-playback-reviewers,padenot,nical

Backed out for causing multiple wrench build bustages related to normalized_uvs.

[task 2024-09-09T09:35:54.065Z]    Compiling font-loader v0.11.0
[task 2024-09-09T09:35:54.065Z]      Running `rustc --crate-name font_loader --edition=2015 /builds/worker/checkouts/gecko/gfx/wr/vendor/font-loader/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C panic=abort -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' -C metadata=be27a47dde0035b4 -C extra-filename=-be27a47dde0035b4 --out-dir /builds/worker/checkouts/gecko/gfx/wr/target/debug/deps -L dependency=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps --extern libc=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/liblibc-579d2457170fce85.rmeta --extern fontconfig=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libfontconfig-40ec463c84ec8d5f.rmeta --cap-lints allow --deny warnings -L native=/builds/worker/checkouts/gecko/gfx/wr/target/debug/build/servo-fontconfig-sys-4654fbe950741e99/out -L native=/usr/lib/x86_64-linux-gnu -L native=/usr/lib/x86_64-linux-gnu`
[task 2024-09-09T09:35:54.078Z]      Running `/builds/worker/checkouts/gecko/gfx/wr/target/debug/build/webrender-7d21d359fc3b22bc/build-script-build`
[task 2024-09-09T09:35:54.418Z]      Running `rustc --crate-name webrender --edition=2018 webrender/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C panic=abort -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="capture"' --cfg 'feature="default"' --cfg 'feature="dynamic_freetype"' --cfg 'feature="leak_checks"' --cfg 'feature="png"' --cfg 'feature="profiler"' --cfg 'feature="replay"' --cfg 'feature="ron"' --cfg 'feature="serde"' --cfg 'feature="static_freetype"' --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values("capture", "default", "display_list_stats", "dynamic_freetype", "firefox-on-glean", "gecko", "glean", "leak_checks", "png", "profiler", "replay", "ron", "serde", "serialize_program", "static_freetype", "sw_compositor", "swgl"))' -C metadata=d7b9ad3ff61b3324 -C extra-filename=-d7b9ad3ff61b3324 --out-dir /builds/worker/checkouts/gecko/gfx/wr/target/debug/deps -C incremental=/builds/worker/checkouts/gecko/gfx/wr/target/debug/incremental -L dependency=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps --extern bincode=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libbincode-6a17900aea618bcb.rmeta --extern bitflags=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libbitflags-5b2de6e59660114d.rmeta --extern byteorder=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libbyteorder-8d3153e11fb099be.rmeta --extern derive_more=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libderive_more-672146f2f3a9ae59.so --extern etagere=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libetagere-d8995a3e02f88d6c.rmeta --extern euclid=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libeuclid-13c0517d6b13d73b.rmeta --extern fxhash=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libfxhash-e9767d58131c24ab.rmeta --extern gleam=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libgleam-359e8ab0ace46c06.rmeta --extern lazy_static=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/liblazy_static-16dd221a54fe1493.rmeta --extern log=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/liblog-eb587d249b938180.rmeta --extern malloc_size_of_derive=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libmalloc_size_of_derive-3d5c5c0fc3380a22.so --extern num_traits=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libnum_traits-8f251daba8520f12.rmeta --extern peek_poke=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libpeek_poke-4e7f543930fe1e6e.rmeta --extern plane_split=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libplane_split-ec0c9fead588891d.rmeta --extern png=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libpng-fb90dfadf975a582.rmeta --extern rayon=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/librayon-0f4452939e04890c.rmeta --extern ron=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libron-b78e0ce821824ba6.rmeta --extern serde=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libserde-b6890645cedea253.rmeta --extern smallvec=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libsmallvec-1579a79ef3f54aa7.rmeta --extern svg_fmt=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libsvg_fmt-d7f57bb56d0ed941.rmeta --extern time=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libtime-402c987bb3609791.rmeta --extern topological_sort=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libtopological_sort-d869762c92a4bd90.rmeta --extern tracy_rs=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libtracy_rs-294bd1d5d4b9f05f.rmeta --extern api=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwebrender_api-438224f4342d22f3.rmeta --extern webrender_build=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwebrender_build-ec2d1182b38baeb0.rmeta --extern glyph_rasterizer=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwr_glyph_rasterizer-8832dcbd979aee2f.rmeta --extern malloc_size_of=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwr_malloc_size_of-8cb658b13d7c450d.rmeta --deny warnings -L native=/usr/lib/x86_64-linux-gnu`
[task 2024-09-09T09:35:59.619Z]      Running `rustc --crate-name glsl_lang --edition=2021 /builds/worker/checkouts/gecko/gfx/wr/vendor/glsl-lang/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C panic=abort -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="lexer-v2-full"' --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values("default", "glsl-lang-pp", "lexer-v1", "lexer-v2-full", "lexer-v2-min", "parser-expr", "parser-statement", "rserde", "serde"))' -C metadata=716afe200f95753b -C extra-filename=-716afe200f95753b --out-dir /builds/worker/checkouts/gecko/gfx/wr/target/debug/deps -L dependency=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps --extern glsl_lang_lexer=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libglsl_lang_lexer-96d2ebe21b274021.rmeta --extern glsl_lang_types=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libglsl_lang_types-a557ea3c6b18ab82.rmeta --extern lalrpop_util=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/liblalrpop_util-6730958d7aca2d62.rmeta --extern lang_util=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/liblang_util-eec9d7632cdb96b2.rmeta --extern lazy_static=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/liblazy_static-16dd221a54fe1493.rmeta --extern thiserror=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libthiserror-79d204aa9f366524.rmeta --cap-lints allow --deny warnings`
[task 2024-09-09T09:36:20.627Z]      Running `rustc --crate-name wrench --edition=2018 wrench/src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --crate-type cdylib --emit=dep-info,link -C panic=abort -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="env_logger"' --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values("default", "env_logger", "headless", "osmesa-src", "osmesa-sys", "software", "swgl"))' -C metadata=c0963b7f2f1905d8 --out-dir /builds/worker/checkouts/gecko/gfx/wr/target/debug/deps -C incremental=/builds/worker/checkouts/gecko/gfx/wr/target/debug/incremental -L dependency=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps --extern base64=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libbase64-93c47934e3cd0d5f.rlib --extern chrono=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libchrono-2017cccac9ac972d.rlib --extern clap=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libclap-bf72cc2c022fb2be.rlib --extern crossbeam=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libcrossbeam-50c09fbc31016703.rlib --extern env_logger=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libenv_logger-b1397a545e236467.rlib --extern font_loader=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libfont_loader-be27a47dde0035b4.rlib --extern gleam=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libgleam-359e8ab0ace46c06.rlib --extern glsl_lang=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libglsl_lang-716afe200f95753b.rlib --extern glutin=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libglutin-458e3dd4b669afaf.rlib --extern image=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libimage-8620f45d7d5c04f7.rlib --extern log=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/liblog-eb587d249b938180.rlib --extern semver=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libsemver-9ef8b068d2c3597c.rlib --extern serde=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libserde-b6890645cedea253.rlib --extern serde_json=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libserde_json-d655994bf66098db.rlib --extern time=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libtime-402c987bb3609791.rlib --extern tracy_rs=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libtracy_rs-294bd1d5d4b9f05f.rlib --extern webrender=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwebrender-d7b9ad3ff61b3324.rlib --extern webrender_build=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwebrender_build-ec2d1182b38baeb0.rlib --extern winit=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwinit-4047dfb41bad75a0.rlib --extern yaml_rust=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libyaml_rust-bdbec8f2a1b95e68.rlib --deny warnings -L native=/builds/worker/checkouts/gecko/gfx/wr/target/debug/build/servo-fontconfig-sys-4654fbe950741e99/out -L native=/usr/lib/x86_64-linux-gnu -L native=/usr/lib/x86_64-linux-gnu`
[task 2024-09-09T09:36:21.004Z] error[E0063]: missing field `normalized_uvs` in initializer of `webrender::webrender_api::ExternalImageData`
[task 2024-09-09T09:36:21.004Z]    --> wrench/src/yaml_frame_reader.rs:142:13
[task 2024-09-09T09:36:21.004Z]     |
[task 2024-09-09T09:36:21.004Z] 142 |             ExternalImageData {
[task 2024-09-09T09:36:21.004Z]     |             ^^^^^^^^^^^^^^^^^ missing `normalized_uvs`
[task 2024-09-09T09:36:21.004Z] 
[task 2024-09-09T09:36:21.514Z] For more information about this error, try `rustc --explain E0063`.
[task 2024-09-09T09:36:21.522Z] error: could not compile `wrench` (lib) due to 1 previous error
[task 2024-09-09T09:36:21.523Z] 
[task 2024-09-09T09:36:21.523Z] Caused by:
[task 2024-09-09T09:36:21.523Z]   process didn't exit successfully: `rustc --crate-name wrench --edition=2018 wrench/src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --crate-type cdylib --emit=dep-info,link -C panic=abort -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="env_logger"' --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values("default", "env_logger", "headless", "osmesa-src", "osmesa-sys", "software", "swgl"))' -C metadata=c0963b7f2f1905d8 --out-dir /builds/worker/checkouts/gecko/gfx/wr/target/debug/deps -C incremental=/builds/worker/checkouts/gecko/gfx/wr/target/debug/incremental -L dependency=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps --extern base64=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libbase64-93c47934e3cd0d5f.rlib --extern chrono=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libchrono-2017cccac9ac972d.rlib --extern clap=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libclap-bf72cc2c022fb2be.rlib --extern crossbeam=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libcrossbeam-50c09fbc31016703.rlib --extern env_logger=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libenv_logger-b1397a545e236467.rlib --extern font_loader=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libfont_loader-be27a47dde0035b4.rlib --extern gleam=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libgleam-359e8ab0ace46c06.rlib --extern glsl_lang=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libglsl_lang-716afe200f95753b.rlib --extern glutin=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libglutin-458e3dd4b669afaf.rlib --extern image=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libimage-8620f45d7d5c04f7.rlib --extern log=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/liblog-eb587d249b938180.rlib --extern semver=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libsemver-9ef8b068d2c3597c.rlib --extern serde=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libserde-b6890645cedea253.rlib --extern serde_json=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libserde_json-d655994bf66098db.rlib --extern time=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libtime-402c987bb3609791.rlib --extern tracy_rs=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libtracy_rs-294bd1d5d4b9f05f.rlib --extern webrender=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwebrender-d7b9ad3ff61b3324.rlib --extern webrender_build=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwebrender_build-ec2d1182b38baeb0.rlib --extern winit=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwinit-4047dfb41bad75a0.rlib --extern yaml_rust=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libyaml_rust-bdbec8f2a1b95e68.rlib --deny warnings -L native=/builds/worker/checkouts/gecko/gfx/wr/target/debug/build/servo-fontconfig-sys-4654fbe950741e99/out -L native=/usr/lib/x86_64-linux-gnu -L native=/usr/lib/x86_64-linux-gnu` (exit status: 1)
[taskcluster 2024-09-09 09:36:23.442Z] === Task Finished ===
[taskcluster 2024-09-09 09:36:23.442Z] Unsuccessful task run with exit code: 101 completed in 155.221 seconds
Flags: needinfo?(jnicol)
Flags: needinfo?(jnicol)
Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a8790852568d Add texture transform support to GLReadTexImageHelper. r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/5f4da3c2bb3e Add support for normalized UV coordinates to webrender. r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/46c23625da22 Handle SurfaceTexture transforms in webrender, for reals this time. r=gfx-reviewers,media-playback-reviewers,padenot,nical
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 132 Branch
Duplicate of this bug: 1914313
Duplicate of this bug: 1921629
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: