1 Reply Latest reply on Aug 16, 2017 5:41 AM by dwitczak

    atioglxx.dll Issue

    ghoulishpaladin

      Hello all! I'm a graduate student working on a side project using OpenGL with AMD... I keep running into an issue when running my programs that is caused by atioglxx.dll writing to an inaccessible location. From what I have found, its a driver issue, but one that seems to be most prominent back in 2009/10... Does anyone have any ideas as to how to approach solving this issue?

       

      Using GLEW for Extension wrapping.

      Using GLFW3 for windowing.

       

      GFX Card: RX480 8GB

      OGL Version: 4.5.13474

      Comparability Profile Context: 22.19.162.4

       

      GLuint cubeVAO = 0;

      GLuint cubeVBO = 0;

       

       

      // Initialize (if necessary)

      if (cubeVAO == 0)

      {

           glGenVertexArrays(1, &cubeVAO);

           glGenBuffers(1, &cubeVBO);

       

       

           //Fill buffer

           glBindBuffer(GL_ARRAY_BUFFER, cubeVBO);

           glBufferData(GL_ARRAY_BUFFER, sizeof(cube) * sizeof(GLfloat), cube, GL_STATIC_DRAW);

       

       

           //Vertices

           glBindVertexArray(cubeVAO); <- Issue happens here... "Exception thrown at 0x68F7F391 (atioglxx.dll) in lightedCubes.exe: 0xC0000005: Access violation writing location 0x00001E78."

           glEnableVertexAttribArray(0);

           glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)0);

       

       

           //Normals

           glEnableVertexAttribArray(1);

           glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)(3 * sizeof(GLfloat)));

       

       

           //Texture Coordinates

           glEnableVertexAttribArray(2);

           glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)(6 * sizeof(GLfloat)));

       

       

           //Bind the buffer and array

           glBindBuffer(GL_ARRAY_BUFFER, 0);

           glBindVertexArray(0);

      }

       

      TextureManager::bindTexture(tex1, 0);

      TextureManager::bindTexture(tex2, 1);

       

      // Render Cube

      glBindVertexArray(cubeVAO);

      glDrawArrays(GL_TRIANGLES, 0, 36);

      glBindVertexArray(0);