by loftar » Thu Mar 04, 2021 6:50 pm
Hm, thanks a lot, that is at least quite informative. It seems that the root cause of the problem is that, for some reason, the fences associated with the framebuffer fetches end up never getting signaled. That smells a whole lot like a driver bug to me, because as long as the fences are at all valid, they should end up getting signaled sometime, sooner or later, and if they weren't valid, the driver should flag an error instead. Therefore, in the first instance, I'd check 1) if there is a driver update available to be installed that fixes the problem, or 2) if switching between 32- and 64-bit Java makes the problem go away (since there are separate 32- and 64-bit variants of the driver, that each tend to work a bit differently).
That being said, I also notice that the driver that you use technically only supports OpenGL 3.1, which may be part of the problem, since fences are only part of the core specification since OpenGL 3.2. The driver still announces support of fences as an extension though, so that should still work, but it could perhaps be conceivable that it works better if used via explicit extension calls, which may be something I can get the client to do if OpenGL 3.2 isn't natively supported. Please check the driver situation first, though.
"Object-oriented design is the roman numerals of computing." -- Rob Pike