| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #include "gl/GrGLInterface.h" | 10 #include "gl/GrGLInterface.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 } | 31 } |
| 32 private: | 32 private: |
| 33 void* fLibrary; | 33 void* fLibrary; |
| 34 }; | 34 }; |
| 35 | 35 |
| 36 static void* GetProcAddress(const char* name) { | 36 static void* GetProcAddress(const char* name) { |
| 37 static GLLoader gLoader; | 37 static GLLoader gLoader; |
| 38 return dlsym(gLoader.handle(), name); | 38 return dlsym(gLoader.handle(), name); |
| 39 } | 39 } |
| 40 | 40 |
| 41 #define GET_PROC(name) (interface->f ## name = ((GrGL ## name ## Proc) GetProcAd
dress("gl" #name))) | 41 #define GET_PROC(name) (interface->fFunctions.f ## name = ((GrGL ## name ## Proc
) GetProcAddress("gl" #name))) |
| 42 #define GET_PROC_SUFFIX(name, suffix) (interface->f ## name = ((GrGL ## name ##
Proc) GetProcAddress("gl" #name #suffix))) | 42 #define GET_PROC_SUFFIX(name, suffix) (interface->fFunctions.f ## name = ((GrGL
## name ## Proc) GetProcAddress("gl" #name #suffix))) |
| 43 | 43 |
| 44 const GrGLInterface* GrGLCreateNativeInterface() { | 44 const GrGLInterface* GrGLCreateNativeInterface() { |
| 45 | 45 |
| 46 GrGLGetStringProc glGetString = (GrGLGetStringProc) GetProcAddress("glGetStr
ing"); | 46 GrGLGetStringProc glGetString = (GrGLGetStringProc) GetProcAddress("glGetStr
ing"); |
| 47 GrGLGetStringiProc glGetStringi = (GrGLGetStringiProc) GetProcAddress("glGet
Stringi"); | 47 GrGLGetStringiProc glGetStringi = (GrGLGetStringiProc) GetProcAddress("glGet
Stringi"); |
| 48 GrGLGetIntegervProc glGetIntegerv = (GrGLGetIntegervProc) GetProcAddress("gl
GetIntegerv"); | 48 GrGLGetIntegervProc glGetIntegerv = (GrGLGetIntegervProc) GetProcAddress("gl
GetIntegerv"); |
| 49 | 49 |
| 50 const char* verStr = (const char*) glGetString(GR_GL_VERSION); | 50 const char* verStr = (const char*) glGetString(GR_GL_VERSION); |
| 51 GrGLVersion ver = GrGLGetVersionFromString(verStr); | 51 GrGLVersion ver = GrGLGetVersionFromString(verStr); |
| 52 GrGLExtensions extensions; | 52 GrGLExtensions extensions; |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 } | 237 } |
| 238 } | 238 } |
| 239 if (ver >= GR_GL_VER(3,3) || extensions.has("GL_ARB_blend_func_extended")) { | 239 if (ver >= GR_GL_VER(3,3) || extensions.has("GL_ARB_blend_func_extended")) { |
| 240 // ARB extension doesn't use the ARB suffix on the function name | 240 // ARB extension doesn't use the ARB suffix on the function name |
| 241 GET_PROC(BindFragDataLocationIndexed); | 241 GET_PROC(BindFragDataLocationIndexed); |
| 242 } | 242 } |
| 243 | 243 |
| 244 interface->fExtensions.swap(&extensions); | 244 interface->fExtensions.swap(&extensions); |
| 245 return interface; | 245 return interface; |
| 246 } | 246 } |
| OLD | NEW |