title: OpenGL ES 2.0 works on Windows and Linux but not on Mac
body: <p>I have a Qt app that uses a QOpenGLWidget for its main window. It draws using OpenGL ES 2.0, using QOpenGLFunctions to resolve the OpenGL functions. Everything works perfectly (using the same Qt app) on Windows and Linux. I use Qt 5 and Qt Creator on all three platforms.</p>
  
  <p>However, on the Mac, drawing the graphics does not work. When I first tried running the app it crashed because it could not compile the shader programs, complaining that the 'precision' keyword was syntactically incorrect. This probably indicates that the shader compiler expects a different version of the shader language.</p>
  
  <p>I tried inserting '#version 100' at the start of the shader programs, but that didn't help: the error message this time was that version 100 was not supported.</p>
  
  <p>I found I could get some graphics on the display by deleting the 'precision' statements from the shaders. However, the display was incorrect - some graphics were missing. I discovered that only pixels with no transparency (alpha = 1) were drawn.</p>
  
  <p>I am confident of the correctness of my use of OpenGL ES 2.0, because, apart from working under Qt on Windows and Linux, the same code also works perfectly outside Qt on Android (in native code) and iOS.</p>
  
  <p>According the the Qt documentation, QOpenGLFunctions 'provides cross-platform access to the OpenGL ES 2.0 API'. That seems not to be true.</p>
  
  <p>Is there a solution to this problem? I have spent a few hours searching and found nothing.</p>