Skip to content
  • Julian Thijssen's avatar
    Add support for OpenGL 3.2+ core profile contexts in QPainter · 7dc88b68
    Julian Thijssen authored
    
    
    This change allows painting via QPainter onto a QOpenGLWindow, QOpenGLWidget
    or QOpenGLFramebufferObject when an core profile context is in use. This is
    important on macOS in particular, where compatibility profiles are not
    available, and so the only way to use modern OpenGL is via a core profile
    context.
    
    Added core profile compatible shaders with moder GLSL keywords.
    
    The paint engine binds a VAO and two VBOs from now on, whenever VAOs are
    supported. Note that this changes behavior also for OpenGL 2.x context that
    have VAO support via extensions.
    
    The Lancelot test suite gains support for core profile contexts. This can
    be triggered via -coreglbuffer in place of -glbuffer when manually inspecting
    via 'lance', while tst_lancelot will automatically run core context-based tests
    whenever supported.
    
    Task-number: QTBUG-33535
    Change-Id: I6323a7ea2aaa9e111651ebbffd3e40259c8e7a9c
    Reviewed-by: default avatarAllan Sandfeld Jensen <allan.jensen@qt.io>
    7dc88b68