4 Replies Latest reply on Feb 23, 2017 3:53 AM by dwitczak

    Incorrect OpenGL fixed function rendering

    scrawl

      Hi, I've just posted the below issue to the issue reporting form. This is what I sent:

       

      "I believe I've found a bug in your OpenGL driver. We are having an issue in OpenMW (https://openmw.org) where all AMD card users are reporting that some game objects incorrectly render at full brightness.

       

      I managed to create a minimal apitrace ( using https://github.com/apitrace/apitrace ) that demonstrates the issue. This trace file consists of only 125 OpenGL calls per frame of very simple fixed function rendering. The issue appears to be that the state tracker fails to update glMaterial state in some situations, causing the values from the last draw to bleed into the next draw.

       

      Here is the trace file, a screenshot of the (incorrect) rendering output with the AMD driver, and a screenshot of how the rendering *should* look like, captured with an Nvidia card. (Ignore the moving particles being different, the incorrect part is that the hand on the right is RED when it shouldn't be).

       

      http://scrawl.bplaced.net/amd/openmw.trace

      http://scrawl.bplaced.net/amd/trace_amd.png

      http://scrawl.bplaced.net/amd/trace_nvidia.png

       

      Affected AMD cards: I prepared the test case using an HD6450. OpenMW users have reported the original issue with a wide range of AMD cards, including:

      HD 5700 series, HD 7800 series, R9 200 series.

       

      Drivers affected by the issue:

      Proprietary AMD driver (Windows + Linux), all versions that have been tested.

       

      Drivers NOT affected by the issue:

      Open source Linux Radeon driver

       

      Hope you guys can shine some light on this. I've been banging my head against this issue for weeks, and at this point I've pretty much concluded that it's a driver issue. The reproduction case is extremely simple fixed function stuff and I can't imagine that there is undefined behaviour in it."

       

      In the meantime, could I ask other devgurus to please look over this issue to confirm or deny it? If any of you could play back the trace file and post your results that would be very helpful. So far it's looking like all AMD driver versions and cards are affected, but maybe we can find a previous working version or non affected card that would help AMD to locate the issue. Or maybe I'm doing something wrong in the usage of OpenGL after all (honestly, I can't imagine what that could be after weeks of debugging and reducing the testcase). Thanks guys!