AMD FirePro D700 / MacPro - OpenGL GLSL problems

I can’t get OpenGL/GLSL to work on the new MacPro.

My old project used to call ofSetOpenGL(3,3) or something…

Current logs:

GL_VERSION_3_1: OK

glDrawArraysInstanced: OK
glDrawElementsInstanced: OK
glPrimitiveRestartIndex: OK
glTexBuffer: OK

GL_VERSION_3_2: OK

glFramebufferTexture: OK
glGetBufferParameteri64v: OK
glGetInteger64i_v: OK

GL_VERSION_3_3: OK

glVertexAttribDivisor: OK

GL_VERSION_4_0: OK

glBlendEquationSeparatei: OK
glBlendEquationi: OK
glBlendFuncSeparatei: OK
glBlendFunci: OK
glMinSampleShading: OK

GL_VERSION_4_1: MISSING

GL_VERSION_4_2: MISSING

[ error ] ofShader: setupShaderFromSource(): GL_VERTEX_SHADER shader failed to compile
[ error ] ofShader: GL_VERTEX_SHADER shader reports:
ERROR: 0:1: ‘’ : version ‘210’ is not supported

[ error ] ofShader: GL_VERTEX_SHADER, offending line 1 :
1 #version 210
2
3 uniform mat4 projectionMatrix;

I tested a lot of different #version combinations…

Any ideas? (Im running latest git master)
Thanks

that glsl version is not correct. version 150 is the minimum to run under gl 3+ which should work.

I know, I had 150… but I get the same error so I tried all combinations.

150, 410,330 everything.

[ error ] ofShader: setupShaderFromSource(): GL_VERTEX_SHADER shader failed to compile
[ error ] ofShader: GL_VERTEX_SHADER shader reports:
ERROR: 0:1: ‘’ : version ‘150’ is not supported

[ error ] ofShader: GL_VERTEX_SHADER, offending line 1 :
1 #version 150
2
3 uniform mat4 projectionMatrix;

[ error ] ofShader: setupShaderFromSource(): GL_FRAGMENT_SHADER shader failed to compile
[ error ] ofShader: GL_FRAGMENT_SHADER shader reports:
ERROR: 0:1: ‘’ : version ‘150’ is not supported

[ error ] ofShader: GL_FRAGMENT_SHADER, offending line 1 :
1 #version 150
2
3 in vec4 colorVarying;

[ error ] ofShader: checkProgramLinkStatus(): program failed to link
[ error ] ofShader: ofShader: program reports:
ERROR: One or more attached shaders not successfully compiled

mmh, that’s really strange, can you post a small example that fails like that? including the main.cpp where you iniitialized openGL…

So, shaderExample modified:

//--------------------------------------------------------------
void ofApp::setup(){
ofBackground(34, 34, 34);
ofSetVerticalSync(false);
ofEnableAlphaBlending();

//we load a font and tell OF to make outlines so we can draw it as GL shapes rather than textures
font.load(“type/verdana.ttf”, 100, true, false, true, 0.4, 72);
#ifdef TARGET_OPENGLES
shader.load(“shaders_gles/noise.vert”,“shaders_gles/noise.frag”);
#else
//if(ofIsGLProgrammableRenderer()){
shader.load(“shaders_gl3/noise.vert”, “shaders_gl3/noise.frag”);
//}else{
// shader.load(“shaders/noise.vert”, “shaders/noise.frag”);
//}
#endif

doShader = true;
}

[verbose] GL Version:2.1 ATI-1.38.3
[verbose] ofShader: checkAndCreateProgram(): creating GLSL program
[ error ] ofShader: setupShaderFromSource(): GL_VERTEX_SHADER shader failed to compile
[ error ] ofShader: GL_VERTEX_SHADER shader reports:
ERROR: 0:1: ‘’ : version ‘150’ is not supported

[ error ] ofShader: GL_VERTEX_SHADER, offending line 1 :
1 #version 150
2
3 in vec4 position;

[ error ] ofShader: setupShaderFromSource(): GL_FRAGMENT_SHADER shader failed to compile
[ error ] ofShader: GL_FRAGMENT_SHADER shader reports:
ERROR: 0:1: ‘’ : version ‘150’ is not supported

[ error ] ofShader: GL_FRAGMENT_SHADER, offending line 1 :
1 #version 150
2
3 uniform sampler2D src_tex_unit0;

[verbose] ofShader: linkProgram(): attaching GL_FRAGMENT_SHADER shader to program 1
[verbose] ofShader: linkProgram(): attaching GL_VERTEX_SHADER shader to program 1
[ error ] ofShader: checkProgramLinkStatus(): program failed to link
[ error ] ofShader: ofShader: program reports:
ERROR: One or more attached shaders not successfully compiled

[verbose] ofShader: unload(): detaching and deleting GL_FRAGMENT_SHADER shader from program 1
[verbose] ofShader: unload(): detaching and deleting GL_VERTEX_SHADER shader from program 1

If I force the programable it fails :smile:

It can’t see the GFX as 4.1 openGL at all.
Im on 10.11.1 (whatever the latest is) with Dual D700 AMD setup.

any idea why that might be happening? its a new , from scratch setup.

There is something strange going on with mac’s core openGL and the supported openGL.

However, if you just need to compile 150, you can do so by specifying >3.3 With current 0.9.6 you can select your GL Version by adding in the main():

settings.setGLVersion(4,1);

on 750m (and D700 i guess) and 10.12 you’ve 4.1, but its not selected by default… for version 150 GLSL shader to compile you need at least 3.3. I used to have the same problem as by default osx is providing 2.1 (? or smth), which supports only up to 120.

It is still confusing for me since I didn’t find alternative drivers or way to update manually openGL, but in the end of the day it seem you don’t need to. Maybe back then was a problem and might be issue once again in the future, but here a full list with the support of openGL for mac video cards.

https://developer.apple.com/opengl/capabilities/

Hope that helps some of you folks which were lost a bit.