QT Changes:
https://codereview.qt-project.org/#/c/166202
https://bugreports.qt.io/browse/QTBUG-33535
This change allows a user to paint on a QOpenGLWidget with a QPainter,
whenever an OpenGL3+ Core Profile format is used or enforced (such as
on macOS).
- Core Profile shaders add that use modern keywords (in, out, etc.).
- Paint engine binds a single VAO and two VBOs.
- Vertex and texture data is uploaded to VBO instead of directly to the GPU.
Krita Changes:
- Request OpenGL 3.2 Core Profile
- Draw our canvas using VAO's if possible
- Homogenised shaders with appropriate versions
- Shader loading happens outside of canvas
- Duplicate shader loading code removed
- Rename supportsGLSL13
- Added Qt patch for ext_qt, see above