Login  Register

JOGL and gl.glTexSubImage2D() performance issue on Linux

Posted by Umka on Nov 07, 2012; 5:32pm
URL: https://forum.jogamp.org/JOGL-and-gl-glTexSubImage2D-performance-issue-on-Linux-tp4026810.html

hi all,

I've faced with the issue that execution time for single gl.glTexSubImage2D() call takes 0.1-0.2sec while running on Linux and eating 100% of cpu. On mac it is all fine.

The call arguments are the following:

gl.glTexSubImage2D(GL.GL_TEXTURE_2D, 0, 0, 0, 1920, 1080, GL2.GL_RED, GL2.GL_UNSIGNED_SHORT, data);

Textures setup is the following:

    void glCreateClearTex(GL gl, int target, int fmt, int format, int type, int filter, int w, int h, int val) {
        float fval = 0;
        int stride;
        if (w == 0)
            w = 1;
        if (h == 0)
            h = 1;
        stride = 2/*2048*/ * 2;
        ByteBuffer init = ByteBuffer.allocateDirect(stride * h/*2048*/);
        glAdjustAlignment(gl, stride);
        gl.glPixelStorei(GL2.GL_UNPACK_ROW_LENGTH, w);
        gl.glTexImage2D(target, 0, fmt, w, h, 0, format, type, init);
        gl.glTexParameterf(target, GL2.GL_TEXTURE_PRIORITY, 1.0f);
        gl.glTexParameteri(target, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_LINEAR);
        gl.glTexParameteri(target, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_LINEAR);
        gl.glTexParameteri(target, GL2.GL_TEXTURE_WRAP_S, GL2.GL_CLAMP_TO_EDGE);
        gl.glTexParameteri(target, GL2.GL_TEXTURE_WRAP_T, GL2.GL_CLAMP_TO_EDGE);
        gl.glTexParameterfv(target, GL2.GL_TEXTURE_BORDER_COLOR, FloatBuffer.wrap(new float[] { fval, fval, fval, fval }));
    }

Mplayer doing same work natively runs just fine. glxgears runs ok but also takes up 100%. This may be the sign of OpenGL setup issues but glxinfo and others report that it is hw rendering. Graphic Card is ATI FirePro.

Any help appreciated.