3 Replies Latest reply on Mar 24, 2017 5:14 AM by fsadough

    Driver crash after OpenGL persistent memory allocation (regression)

    fabrice

      I'm responsible of all OpenGL graphics part in our 3D software that we are selling world wide.

       

      We discovered a crash issue with all Firepro W5100 and W7100 since we update the driver to a version between 16.Q4 and  17.Q1.

      All driver versions equal to or later than 15.301.2601.1002 are running ok.

       

      Here a description of the issue:

      When opening the software, we allocate some memory depending of the detected video memory (vram). For the W5100, we allocate 2Gb, and for the W7100, we allocate 3.3 Gb.

      There are several ways to allocate memory with Opengl :  standard vbo (glBufferData), AMD_pinned_memory and persistent memory using glBufferStorage.

      We are using glBufferStorage and allocating several VBOs of 1Mb each.

       

      If allocating more than 2Gb for the W7100, then the opengl driver crashes quiclky after that (doing a glCreateProgram() or a glClear() for instance, but not a glFinish...)

      If allocating less than 2Gb, it seems to work but I have not tested a long time to see if it is stable enough.

       

      If allocating memory using glBufferData or the AMD pinned memory extension, the driver does not crash, but because of other issues, I don't want to use these allocation methods.

       

      I used CodeXL to try to find the issue in my code, but it crashes exactly the same (doing a DrvPresentbuffers), without notifying an error before.

       

      We don't have other AMD graphics card to do the testing (we have some old radeon with 1Gb of vram or less).

      Nvidia graphics don't have this issue (Quadro & Geforce), nor Intel HD ones (but we don't allocate much on these cards).

       

      I hope that you will start a discussion with me to be able to find the issue in order to get a fix in a next driver release (we have several users that are starting to complain with this crash).

      I may give you the C++ class that holds the memory management for instance or a sample of the program to run.

       

       

      Configuration:

      Graphics: Firepro W5100 and W7100

      Various desktop configuration and power supply.

      Various monitors.

      Windows 10 - 64 bits.

      Memory between 16 Gb and 32 Gb.