Bug: OpenGL viewport of a client is clamped by the left edge of the output
Steps to reproduce:
- Launch weston-simple-egl
- Drag the window over the left edge of the display so that a region of the window is in negative coordinates
Expected Result:
The triangle should remain centered on the window as it crosses the output edge.
Observed Result:
The triangle moves with respect to the window up until the window crosses the edge, then the triangle remains fixed horizontally with respect the the edge.
Notes:
- I did not observe the issue on KDE, Sway, or with the v3d driver on a raspberry pi.
- Dragging the window past the right or bottom edge behaves as expected, which would suggest that it's something to do with negative coordinates. Weston prevents dragging a window into negative y coordinates but I'm guessing the same would happend there.
- WAYLAND_DEBUG doesn't show anything meaningful.
- Running weston as a nested session doesn't show the bug.
Picture
The built-in weston screen shot tool couldn't actually capture the bug, taking the screenshot fixes it for the one frame that the shot it taken, and then immediately reverts back. The client window physically flickers as well.
System:
- linux 6.0.7-arch1-1
- weston 11.0.0
- mesa 22.2.1
- nvidia 520.56.06