1/* 2 * Copyright 2014 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8#include "include/gpu/gl/GrGLInterface.h" 9 10typedef GrGLFuncPtr (*GrGLGetProc)(void* ctx, const char name[]); 11 12/** 13 * Generic function for creating a GrGLInterface for an either OpenGL or GLES. It calls 14 * get() to get each function address. ctx is a generic ptr passed to and interpreted by get(). 15 */ 16SK_API sk_sp<const GrGLInterface> GrGLMakeAssembledInterface(void *ctx, GrGLGetProc get); 17 18/** 19 * Generic function for creating a GrGLInterface for an OpenGL (but not GLES) context. It calls 20 * get() to get each function address. ctx is a generic ptr passed to and interpreted by get(). 21 */ 22SK_API sk_sp<const GrGLInterface> GrGLMakeAssembledGLInterface(void *ctx, GrGLGetProc get); 23 24/** 25 * Generic function for creating a GrGLInterface for an OpenGL ES (but not Open GL) context. It 26 * calls get() to get each function address. ctx is a generic ptr passed to and interpreted by 27 * get(). 28 */ 29SK_API sk_sp<const GrGLInterface> GrGLMakeAssembledGLESInterface(void *ctx, GrGLGetProc get); 30 31/** 32 * Generic function for creating a GrGLInterface for a WebGL (similar to OpenGL ES) context. It 33 * calls get() to get each function address. ctx is a generic ptr passed to and interpreted by 34 * get(). 35 */ 36SK_API sk_sp<const GrGLInterface> GrGLMakeAssembledWebGLInterface(void *ctx, GrGLGetProc get); 37 38/** Deprecated version of GrGLMakeAssembledInterface() that returns a bare pointer. */ 39SK_API const GrGLInterface* GrGLAssembleInterface(void *ctx, GrGLGetProc get); 40