Closed Bug 1716044 Opened 3 years ago Closed 3 years ago

Fix WebGL in combination with compositor integration

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

RESOLVED FIXED
91 Branch
Tracking Status
firefox91 --- fixed

People

(Reporter: rmader, Assigned: rmader)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

It's currently broken for some reason.

Glenn, do have any idea if there's something special going on in WR wrt WebGL? I thought this already worked, but apparently doesn't. Do contents get blit somewhere, or do we somehow try to directly import WebGL buffers into a tile or so?

Flags: needinfo?(gwatson)

Never mind, apparently just a bug in the clipping logic in NativeLayerRootWayland :)

Flags: needinfo?(gwatson)

So the issue here is that WebGL content apparently is treated Y-flipped within WR:

  • the transformation matrix is either flipped or just transformed by the height of the layer, not sure yet
  • content is y-flipped

Unfortunately RenderCompositorNative does not let us know about it - and I don't yet understand how NativeLayerCA figures this out. Glenn, does this ring any bell for you, that WebGL apparently gets treated differently in WR concerning coordinates / y-flipp?

Flags: needinfo?(gwatson)

Never mind and sorry for the noise! Stupid me just didn't handle y-flips in the transform matrix

Flags: needinfo?(gwatson)

This caused e.g. WebGL content to get hidden as it always fell out
of bounds. As a side effect clean up the whole custom transform math.

Depends on D118274

Assignee: nobody → robert.mader
Status: NEW → ASSIGNED
Pushed by robert.mader@posteo.de:
https://hg.mozilla.org/integration/autoland/rev/e12a4e3c04b9
Handle Y-flipped transform matrices, r=gfx-reviewers,lsalzman
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: