• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 
2 /*
3  * Copyright 2014 Google Inc.
4  *
5  * Use of this source code is governed by a BSD-style license that can be
6  * found in the LICENSE file.
7  */
8 #include "gl/GrGLInterface.h"
9 #include "gl/GrGLAssembleInterface.h"
10 #include "gl/GrGLUtil.h"
11 
12 #include <EGL/egl.h>
13 #include <GLES2/gl2.h>
14 
egl_get_gl_proc(void * ctx,const char name[])15 static GrGLFuncPtr egl_get_gl_proc(void* ctx, const char name[]) {
16     SkASSERT(nullptr == ctx);
17     GrGLFuncPtr ptr = eglGetProcAddress(name);
18     if (!ptr) {
19         if (0 == strcmp("eglQueryString", name)) {
20             return (GrGLFuncPtr)eglQueryString;
21         } else if (0 == strcmp("eglGetCurrentDisplay", name)) {
22             return (GrGLFuncPtr)eglGetCurrentDisplay;
23         }
24     }
25     return ptr;
26 }
27 
GrGLCreateNativeInterface()28 const GrGLInterface* GrGLCreateNativeInterface() {
29     return GrGLAssembleInterface(nullptr, egl_get_gl_proc);
30 }
31