/* * Copyright 2014 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "gl/GrGLInterface.h" #include "gl/GrGLAssembleInterface.h" #include "gl/GrGLUtil.h" #include <EGL/egl.h> #include <GLES2/gl2.h> static GrGLFuncPtr egl_get_gl_proc(void* ctx, const char name[]) { SkASSERT(nullptr == ctx); GrGLFuncPtr ptr = eglGetProcAddress(name); if (!ptr) { if (0 == strcmp("eglQueryString", name)) { return (GrGLFuncPtr)eglQueryString; } else if (0 == strcmp("eglGetCurrentDisplay", name)) { return (GrGLFuncPtr)eglGetCurrentDisplay; } } return ptr; } sk_sp<const GrGLInterface> GrGLMakeNativeInterface() { return GrGLMakeAssembledInterface(nullptr, egl_get_gl_proc); } const GrGLInterface* GrGLCreateNativeInterface() { return GrGLMakeNativeInterface().release(); }