Closed Bug 1761685 Opened 3 years ago Closed 3 years ago

(sw-wr) Element with "transform: scaleX" and "image-rendering" becomes corrupted

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

RESOLVED FIXED
100 Branch
Tracking Status
firefox-esr91 --- wontfix
firefox98 --- wontfix
firefox99 --- wontfix
firefox100 --- fixed

People

(Reporter: krinkle, Assigned: lsalzman)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(2 files)

When an element with image-rendering: crisp-edges; (or image-rendering: pixelated;) uses transform (e.g. to invert it with scaleX(-1)), it becomes corrupted or even dissappears completely.

It seems to be specific to elements with PNG or SVG background images, as I could not reproduce it on elements with plain text content or with a linear gradient as background image.

Isolated test case: https://codepen.io/Krinkle/full/Exomjgv

<span style="
display: block;
width: 50px;
height: 50px;
position: absolute;
top: 45%; left: 45%;
background-image: url(https://treasure21.timotijhof.net/src/dino.png);
image-rendering: crisp-edges;
background-size: 100% 100%;
transform: scaleX(-1);
"></span>

Live example: https://treasure21.timotijhof.net/vault.html

Browsers:

  • Firefox 99 on Windows 11: Broken.
  • Firefox 90 on Windows 11: Broken.
  • Firefox 80 on Windows 11: OK.
  • Firefox 70 on Windows 11: OK.
  • Firefox 88 on Linux: Broken.
  • Firefox 45 on Linux: OK.
  • Firefox 98 on macOS: OK.
  • Safari 15: OK.
  • Chrome 99: OK.

Possibly related:

Attached image visual-example.png
Has Regression Range: --- → yes
Root Cause: --- → ?

Seems to work here on Nightly and Stable (on Linux)

I can reproduce the issue in Nightly100.0a1 Windows10 if HWA is disabled (i.e. sw-wr).

Blocks: sw-wr
Flags: needinfo?(lsalzman)
Summary: Element with "transform: scaleX" and "image-rendering" becomes corrupted → (sw-wr) Element with "transform: scaleX" and "image-rendering" becomes corrupted
Assignee: nobody → lsalzman
Status: NEW → ASSIGNED
Flags: needinfo?(lsalzman)

Set release status flags based on info from the regressing bug 1686244

Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5422107de8e9 Check for negative step in blendTextureNearestRepeat. r=gfx-reviewers,jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 100 Branch
Root Cause: ? → ---
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: