VC4: Rendering artifacts on OpenJFX graphs using Raspberry Pi 3
1 frame apitrace to reproduce the issue: rpi3-openjfx-chart-VC4-artifacts.trace
- Symptom 1: 1 pixel more data than wanted got included from texture #4359 (comment 821296)
- Symptom 2: Incorrect rendering output from gradient shader #4359 (comment 821346)
- Symptom 3: The big red bar in the middle of the chart, draw to framebuffer 2 caused unwanted draw on unbound framebuffer 1 #4359 (comment 821772)
Describe the issue
Rendering artifacts seen on frame-buffer when rendering OpenJFX charts using VC4 V3D 2.1 on Raspberry Pi 3 using the FKMS Mesa GL driver It is 100% reproducible, re-running the application renders the same artifacts at the same location.
This bug can be reproduced with current mesa 19.3.2 and 21.1.0-devel (git-ca6f4a3d)
Screenshots and apitrace to reproduce the issue
Rendering seen on Raspberry Pi 3 using Graphics Vendor: Broadcom Renderer: VC4 V3D 2.1 Version: 2.1 Mesa 19.3.2
Expected rendering seen on Intel HD Graphics 5500 and Raspberry Pi 4
1 frame apitrace to reproduce the issue: rpi3-openjfx-chart-VC4-artifacts.trace
images above are generated using:
apitrace dump-images rpi3-openjfx-chart-VC4-artifacts.trace
System information
System:
Host: raspberrypi Kernel: 5.10.11-v7+ armv7l bits: 32 compiler: N/A
Desktop: LXDE 0.10.0 wm: Openbox dm: LightDM
Distro: Raspbian GNU/Linux 10 (buster)
Argument "Raspberry Pi 3 Model B Plus Rev 1.3" isn't numeric in sprintf at /usr/bin/inxi line 6969.
CPU:
Topology: Quad Core model: ARMv7 v7l variant: cortex-a53 bits: 32
type: MCP arch: v7l rev: 4
features: Use -f option to see features bogomips: 358
Speed: 1400 MHz min/max: 600/1400 MHz Core speeds (MHz): 1: 1400 2: 1400
3: 1400 4: 1400
Graphics:
Device-1: bcm2835-vc4 driver: vc4_drm v: N/A bus ID: N/A chip ID: brcm:soc
Device-2: bcm2835-hdmi driver: N/A bus ID: N/A chip ID: brcm:soc
Display: x11 server: X.Org 1.20.4 driver: modesetting unloaded: fbdev
compositor: xcompmgr resolution: FIXED_MODE~60Hz
OpenGL: renderer: VC4 V3D 2.1 v: 2.1 Mesa 19.3.2 direct render: Yes