qt_D_GGX called from qt_specularGGXBSDF returns INF in some cases. When the color buffer is a floating point one, this gets written out as-is.
While these white pixels are not necessarily noticable on screen, this then causes vastly amplified problems when there is a postprocessing effect. With SSGI for example, we may end up with NaN values over a much larger area.
With SSGI on this can lead to results such as this in some frames:
| For Gerrit Dashboard: QTBUG-140662 | ||||||
|---|---|---|---|---|---|---|
| # | Subject | Branch | Project | Status | CR | V |
| 681665,1 | Quick fix for INF values in specular | tqtc/lts-6.8 | qt/tqtc-qtquick3d | Status: NEW | +2 | 0 |
| 680287,7 | Quick fix for INF values in specular | dev | qt/qtquick3d | Status: MERGED | +2 | +1 |
| 681541,2 | Quick fix for INF values in specular | 6.10 | qt/qtquick3d | Status: MERGED | +2 | 0 |