Edit

kc3-lang/angle/src/libGLESv2/global_state.h

Branch :

  • Show log

    Commit

  • Author : Geoff Lang
    Date : 2016-11-10 10:42:48
    Hash : 7b8f3c9b
    Message : Encapsulate the thread local storage into an egl::Thread class. Instead of having separate GetGlobal* functions, interact with the global objects through a single Thread object. This reduces the number of TLS lookups in many EGL functions and allows the Thread object to be passed down to other objects if needed. BUG=angleproject:1618 Change-Id: I1f9a89e8899d637633f4e91fda0e38ac308dd020 Reviewed-on: https://chromium-review.googlesource.com/409637 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>

  • src/libGLESv2/global_state.h
  • //
    // Copyright(c) 2014 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    
    // global_state.h : Defines functions for querying the thread-local GL and EGL state.
    
    #ifndef LIBGLESV2_GLOBALSTATE_H_
    #define LIBGLESV2_GLOBALSTATE_H_
    
    namespace gl
    {
    class Context;
    
    Context *GetGlobalContext();
    Context *GetValidGlobalContext();
    
    }  // namespace gl
    
    namespace egl
    {
    class Thread;
    
    Thread *GetCurrentThread();
    
    }  // namespace egl
    
    #endif // LIBGLESV2_GLOBALSTATE_H_