c++ atioglxx.pdb contains the debug information required to find the source for the module atioglxx.dll

0

I keep getting

atioglxx.pdb not loaded error

and the exception thrown is

Unhandled exception at 0x61DA5D3A (atioglxx.dll) in opengl_fps.exe: 0xC0000005: Access violation writing location 0x00000000. occurred

This started happening after I added some code for loading some shaders and drawing a triangle

I've allready tried updating my amd drivers,cleaning the solution and rebuilding,restarting visual studio,restarting my pc,and googling it

code for loading a the shaders

GLuint vsid = glCreateShader(GL_VERTEX_SHADER);\\exception thrown here
glShaderSource(vsid, 1, &vs, NULL);
glCompileShader(vsid);

GLint* success = 0;
GLchar infolog[512];

glGetShaderiv(vsid, GL_COMPILE_STATUS, success);
if (!success)
{
    glGetShaderInfoLog(vsid, 512, NULL, infolog);
    std::cout << "shader vs cant compile\n" << infolog << std::endl;
}
GLuint fsid = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(fsid, 1, &fs, NULL);
glCompileShader(fsid);

glGetShaderiv(fsid, GL_COMPILE_STATUS, success);

if (!success)
{
    glGetShaderInfoLog(vsid, 512, NULL, infolog);
    std::cout << "shader fs cant compile\n" << infolog << std::endl;
}
GLuint shaderprogram = glCreateProgram();
glAttachShader(shaderprogram, vsid);
glAttachShader(shaderprogram, fsid);
glLinkProgram(shaderprogram);

glGetProgramiv(shaderprogram, GL_LINK_STATUS, success);

if (!success)
{
    glGetShaderInfoLog(shaderprogram, 512, NULL, infolog);
    std::cout << "shader program" << infolog;
}
glDeleteShader(vsid);
glDeleteShader(fsid);
GLfloat vertices[] = {
    -0.5f,-0.5f,0.0f,
    0.5f,-0.5f,0.0f,
    0.0f,0.5f,0.0f
};

GLuint vbo, vao;
glGenVertexArrays(1, &vao);
glGenBuffers(1, &vbo);

glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);

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

glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindVertexArray(0);

code for rendering

win.update();
glUseProgram(shaderprogram);
glBindVertexArray(vao);
glDrawArrays(GL_TRIANGLES, 0, 3);
glBindVertexArray(0);
win.swapbuffers();
c++
asked on Stack Overflow Mar 26, 2019 by vincent castro • edited Mar 26, 2019 by gameon67

1 Answer

1

The 3 parameter of glGetShaderiv is expecting the address of a GLint you are passing the null pointer in as the address to use.

Change:

GLint* success = 0;
GLchar infolog[512];

glGetShaderiv(vsid, GL_COMPILE_STATUS, success);

To:

GLint success = 0;
GLchar infolog[512];

glGetShaderiv(vsid, GL_COMPILE_STATUS, &success);

And also in other similar places.

answered on Stack Overflow Mar 26, 2019 by Richard Critten • edited Mar 26, 2019 by Richard Critten

User contributions licensed under CC BY-SA 3.0