Skip to content
  • Geoff Lang's avatar
    Refactor GL bindings so there is no global GLApi or DriverGL. · ceb64f73
    Geoff Lang authored
    Having a single global API and Driver object doesn't mirror the real GL
    context state that may have different entry points, extensions and version
    numbers per context.  This can cause entry points to be called when they
    are not loaded or extensions used when they are not present.
    
     * Refactored the GLApi and DriverGL objects to be owned by GLContext
       objects.
     * Moved all driver-level GL workarounds into RealGLApi so no swapping of
       function pointers in DriverGL is needed.
     * Instead of having separate debug function pointers in the drivers that
       call back to global variables, add new DebugApi objects that wrap the
       RealApi objects.
    
    BUG=671217
    CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
    R=jbauman@chromium.org
    
    Review-Url: https://codereview.chromium.org/2629633003 .
    Cr-Commit-Position: refs/heads/master@{#447005}
    ceb64f73