OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 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 #ifndef GrGLFunctions_DEFINED | 9 #ifndef GrGLFunctions_DEFINED |
10 #define GrGLFunctions_DEFINED | 10 #define GrGLFunctions_DEFINED |
11 | 11 |
| 12 #include <functional> |
12 #include "GrGLTypes.h" | 13 #include "GrGLTypes.h" |
| 14 #include "../private/SkTLogic.h" |
13 | 15 |
14 extern "C" { | 16 extern "C" { |
15 | 17 |
16 /////////////////////////////////////////////////////////////////////////////// | 18 /////////////////////////////////////////////////////////////////////////////// |
17 | 19 |
18 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLActiveTextureProc)(GrGLenum texture); | 20 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLActiveTextureProc)(GrGLenum texture); |
19 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLAttachShaderProc)(GrGLuint program, G
rGLuint shader); | 21 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLAttachShaderProc)(GrGLuint program, G
rGLuint shader); |
20 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLBeginQueryProc)(GrGLenum target, GrGL
uint id); | 22 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLBeginQueryProc)(GrGLenum target, GrGL
uint id); |
21 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLBindAttribLocationProc)(GrGLuint prog
ram, GrGLuint index, const char* name); | 23 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLBindAttribLocationProc)(GrGLuint prog
ram, GrGLuint index, const char* name); |
22 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLBindBufferProc)(GrGLenum target, GrGL
uint buffer); | 24 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLBindBufferProc)(GrGLenum target, GrGL
uint buffer); |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
345 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLPopDebugGroupProc)(); | 347 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLPopDebugGroupProc)(); |
346 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLObjectLabelProc)(GrGLenum identifier,
GrGLuint name, GrGLsizei length, const GrGLchar *label); | 348 typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLObjectLabelProc)(GrGLenum identifier,
GrGLuint name, GrGLsizei length, const GrGLchar *label); |
347 | 349 |
348 /** EGL functions */ | 350 /** EGL functions */ |
349 typedef const char* (GR_GL_FUNCTION_TYPE* GrEGLQueryStringProc)(GrEGLDisplay dpy
, GrEGLint name); | 351 typedef const char* (GR_GL_FUNCTION_TYPE* GrEGLQueryStringProc)(GrEGLDisplay dpy
, GrEGLint name); |
350 typedef GrEGLDisplay (GR_GL_FUNCTION_TYPE* GrEGLGetCurrentDisplayProc)(); | 352 typedef GrEGLDisplay (GR_GL_FUNCTION_TYPE* GrEGLGetCurrentDisplayProc)(); |
351 typedef GrEGLImage (GR_GL_FUNCTION_TYPE* GrEGLCreateImageProc)(GrEGLDisplay dpy,
GrEGLContext ctx, GrEGLenum target, GrEGLClientBuffer buffer, const GrEGLint *a
ttrib_list); | 353 typedef GrEGLImage (GR_GL_FUNCTION_TYPE* GrEGLCreateImageProc)(GrEGLDisplay dpy,
GrEGLContext ctx, GrEGLenum target, GrEGLClientBuffer buffer, const GrEGLint *a
ttrib_list); |
352 typedef GrEGLBoolean (GR_GL_FUNCTION_TYPE* GrEGLDestroyImageProc)(GrEGLDisplay d
py, GrEGLImage image); | 354 typedef GrEGLBoolean (GR_GL_FUNCTION_TYPE* GrEGLDestroyImageProc)(GrEGLDisplay d
py, GrEGLImage image); |
353 } // extern "C" | 355 } // extern "C" |
354 | 356 |
| 357 template <typename GLPTR> using GrGLFunction = |
| 358 std::function<typename std::remove_pointer<GLPTR>::type>; |
| 359 |
355 #endif | 360 #endif |
OLD | NEW |