AnsweredAssumed Answered

OpenGL: Driver crash on drawing just one line and a triangle (windows)

Question asked by mksrksh on Jul 6, 2016
Latest reply on Jan 11, 2018 by mksrksh

Hello DevGurus,

 

I'm facing the problem of windows driver crashes by executing only a few lines of OpenGL code.

 

All I have to do is to draw a line and a triangle meeting following conditions:

 

1. line stippling has to be enabled and set.

2. line width has to be greater than 1.

3. on drawing the triangle at least one of the edge flags has to be set to false.

 

Then the OpenGL application freezes and the windows driver crashes with the message: "Display driver stopped responding and has recovered."

 

Feel free to give it a try and put the following code snippet to your render loop function:

    //------------------------------------------------------------
    // 1. enable line stipple
    glEnable(GL_LINE_STIPPLE);
    glLineStipple(2, 0x1111);

    // 2. increase width
    glLineWidth(3.0f);

    // 3. drawing the line
    glBegin(GL_LINES);
    glVertex3d(15.000000, -48.000999, 26.000000);
    glVertex3d(-15.000000, -48.000999, 26.000000);
    glEnd();

    // 4. switching the polygon mode
    glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
  
    // 5. drawing a triangle with edge flag
    glBegin(GL_TRIANGLES);
    glEdgeFlag(GL_TRUE);
    glVertex3d(0, 0, 0);
    glEdgeFlag(GL_FALSE);
    glVertex3d(0, 50, 0);
    glEdgeFlag(GL_TRUE);
    glVertex3d(50, 50, 0);
    glEnd();

    // swap buffers, e.g.
    glutSwapBuffers();
    //-----------------------------------------

I was able to reproduce the crash on following systems:

 

AMD Radeon R7 200 Series

AMD FirePro W2100

AMD FirePro W4100

 

Catalyst Pro 15.301.2601

Crimson 16.6.2 and earlier

 

Windows 10 64 bit

Windows 7 64 bit

 

Any suggestions/ideas?

 

Thanks in advance

Outcomes