glLinkProgram crash

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

glLinkProgram crash

elect
We got a new notebook with an Nvidia 880m

it came with win8.1, we installed the 7 x64

Trying to execute jogl, java is crashing

http://pastebin.com/gv6117NK

it crashes when glLinkProgram is called

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j jogamp.opengl.gl4.GL4bcImpl.dispatch_glLinkProgram1(IJ)V+0
j jogamp.opengl.gl4.GL4bcImpl.glLinkProgram(I)V+46
j javax.media.opengl.DebugGL4bc.glLinkProgram(I)V+9
j glsl.GLSLProgramObject.initializeProgram(Ljavax/media/opengl/GL3;Z)V+113

I am creating the shader using some code that I wrote in past, it always worked and I never got problems, so I am afraid it has something to do with the nvidia opengl driver..

I am initializing the program in this way


    public final void initializeProgram(GL3 gl3, boolean cleanUp) {
        _progId = gl3.glCreateProgram();

        for (int i = 0; i < _vertexShaders.size(); i++) {
            gl3.glAttachShader(_progId, _vertexShaders.get(i));
        }

        for (int i = 0; i < _fragmentShaders.size(); i++) {
            gl3.glAttachShader(_progId, _fragmentShaders.get(i));
        }

        gl3.glLinkProgram(_progId);

        int[] params = new int[]{0};
        gl3.glGetProgramiv(_progId, GL3.GL_LINK_STATUS, params, 0);

        if (params[0] != 1) {

            System.err.println("link status: " + params[0]);
            gl3.glGetProgramiv(_progId, GL3.GL_INFO_LOG_LENGTH, params, 0);
            System.err.println("log length: " + params[0]);

            byte[] abInfoLog = new byte[params[0]];
            gl3.glGetProgramInfoLog(_progId, params[0], params, 0, abInfoLog, 0);
            System.err.println(new String(abInfoLog));
        }

        gl3.glValidateProgram(_progId);

        if (cleanUp) {
            for (int i = 0; i < _vertexShaders.size(); i++) {
                gl3.glDetachShader(_progId, _vertexShaders.get(i));
                gl3.glDeleteShader(_vertexShaders.get(i));
            }

            for (int i = 0; i < _fragmentShaders.size(); i++) {
                gl3.glDetachShader(_progId, _fragmentShaders.get(i));
                gl3.glDeleteShader(_fragmentShaders.get(i));
            }
        }
    }

Any tips?
Reply | Threaded
Open this post in threaded view
|

Re: glLinkProgram crash

jmaasing
I'm not very good with the C-level stuff but the problematic frame is listed as in "ig75icd64.dll" which is an Intel driver (they are notoriously bad). Maybe the notebook has dual graphics cards and it uses the wrong one.
Reply | Threaded
Open this post in threaded view
|

Re: glLinkProgram crash

elect
jmaasing wrote
I'm not very good with the C-level stuff but the problematic frame is listed as in "ig75icd64.dll" which is an Intel driver (they are notoriously bad). Maybe the notebook has dual graphics cards and it uses the wrong one.
Thanks for the tip, jmaasing. You were right!

I also had to add "C:\Program Files\Internet Explorer" to the path for the IEShims.dll and update the retail win7 to the sp1 and various updates