title: OpenGL 3.2 VAO creation fails on OS X Maverick
body: <p>I have a program which used to work fine on MAC OS X Lion.It uses OpenGL 3.2 Core profile.Now after I upgraded to Maverick it fails on glGenVertexArrays() right after context setup.The context is being created all right.What has changed in Maverick regarding OpenGL 3.2 setup?</p>
  
  <p>I initialise the context like this:</p>
  
  <pre><code>static CGLPixelFormatAttribute attributes[4]={
  kCGLPFAAccelerated,  
  kCGLPFAOpenGLProfile, 
  (CGLPixelFormatAttribute)kCGLOGLPVersion_3_2_Core,
  (CGLPixelFormatAttribute)0
  };
  
  
  
  
  
      _errorCode = CGLChoosePixelFormat(attributes,&amp;_pix,&amp;_num);
      if(_errorCode &gt; 0){
  
          throw ;
      }
      _errorCode = CGLCreateContext(_pix, NULL, &amp;_context);
      if(_errorCode &gt; 0){
  
            throw;
      }
      CGLDestroyPixelFormat(_pix);
  
      _errorCode = CGLSetCurrentContext(_context);
      if(_errorCode &gt; 0){
  
          throw ;
      }
  </code></pre>
  
  <p>None of these throws an error till I am getting to VAO handle generation.Also glGetError returns some junk.</p>
  
  <p>UPDATE:</p>
  
  <p>I caught the error which is GL_INVALID_FRAMEBUFFER_OPERATION​, 0x0506 .And now it happens when I perform </p>
  
  <p>glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);</p>
  
  <p>when no custom framebuffer is bound.If I call the draw command with custom FBO it does work.My context creation has no display.It is offscreen.Can it be that with the newer implementation Apple enforces display to exist in order to access default FBO? On Lion I did the same and it worked.Btw,the GL version is 4.1.</p>