developing on gentoo – shader compile or link fail

This topic contains 5 replies, has 2 voices, and was last updated by  Joe Davis 5 years, 4 months ago.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #30869

    funZX
    Member

    Hello,

    I hope this is the place to find OpenGL ES 2.0 coders that do their
    programming on Gentoo and can help me with some ideas or solutions to my
    problem. I’m using gentoo amd64, nvidia-drivers, all up to date, and I
    recently started programming OpenGL ES 2.0 on it, but when running just a
    simple example ( 02_IntroducingPVRShell from the PowerVR SDK ) the compiling of the shader fails ( glCompileShader ), the log taken with glGetShaderInfoLog doesn’t give me any information, it contains only garbage data. Also, weird enough is that glGetShaderInfoLog
    says that it has written a negative number of bytes into the buffer log
    and the log info length is always MAX_SHORT. This happens if I compile
    it for x64 ( -m64 flag ); if I compile the program for 32 bits ( -m32
    flag ) then both the fragment shader and the vertex shader compiles
    properly at runtime, but then the linking fails ( glLinkProgram ) with an empty log.

    Does anyone has any idea what could be the cause of this behavior? Or
    any suggestion is welcomed; maybe it’s a compile flag I’m missing?

    As a side note, the binaries from the PowerVR SDK for
    the same example runs properly, so there is no driver or a dependency
    problem. It’s just when I compile it myself. I’m not using the Imgtec
    libEGL.so/libGLESv2.so, but those from mesa, compiled with “gles” use
    flag. I checked both my binary and the binary from the sdk with “ldd”,
    they both have the same .so dependencies; the binaries from imgtec
    runs using the mesa .so libraries, so I doubt that there is a mesa issue
    too.

    Thank you in advance.

    #35830

    funZX
    Member

    Anyone working on gentoo amd 64? I can send you the project if interested to try it out.

    #35831

    funZX
    Member

    Solved it. 

    #35832

    Joe Davis
    Member

    Hi,

    Sorry for the delay in responding to this. I’m glad to hear that you’ve solved your problem. Were there any specific steps you had to take to get it working correctly?

    #35833

    funZX
    Member

    Hi Joe,

    Sorry for not posting the solution. I didn’t because it was just a stupid mistake of mine. I made a skeleton of an app with only PVRShell support and an aditional class derived from it that was instantiated in NewDemo(). Thing was that as I copied the PVRShell sources into my project and I missed the BUILD_OGLES2 directive in one of the headers, and in my class I had included #include <GLES2/gl2.h>. PVRShell was initializing for OpenGL ES 1.1, while in my class I used OpenGL ES 2.0 code. Having the headers included correctly, there were no compile error, but only at runtime.

    Cheers, and thank you for trying to help me.

    #35834

    Joe Davis
    Member

    Ah, ok. Thanks for letting us know 🙂

Viewing 6 posts - 1 through 6 (of 6 total)
You must be logged in to reply to this topic.