1
// Copyright 2013 Dolphin Emulator Project
2
// Licensed under GPLv2
3
// Refer to the license.txt file included.
6
#include "GLInterface.h"
9
typedef GLvoid* (*PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
10
typedef GLvoid* (*PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
11
typedef void (*PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
12
typedef GLboolean (*PFNGLUNMAPBUFFERPROC) (GLenum target);
14
typedef void (*PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
16
typedef void (*PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays);
17
typedef void (*PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint* arrays);
18
typedef void (*PFNGLBINDVERTEXARRAYPROC) (GLuint array);
21
typedef GLenum (*PFNGLCLIENTWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout);
22
typedef void (*PFNGLDELETESYNCPROC) (GLsync GLsync);
23
typedef GLsync (*PFNGLFENCESYNCPROC) (GLenum condition,GLbitfield flags);
26
typedef void (*PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
27
typedef void (*PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
28
typedef void (*PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat* params);
29
typedef void (*PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
30
typedef void (*PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint * samplers);
31
typedef void (*PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint* samplers);
34
typedef void (*PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLenum *binaryFormat, GLvoid*binary);
35
typedef void (*PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void* binary, GLsizei length);
36
typedef void (*PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);
38
typedef GLuint (*PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar* uniformBlockName);
39
typedef void (*PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
42
typedef void (*PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
43
typedef void (*PFNGLENDQUERYPROC) (GLenum target);
44
typedef void (*PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params);
45
typedef void (*PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* ids);
46
typedef void (*PFNGLGENQUERIESPROC) (GLsizei n, GLuint* ids);
49
typedef void (*PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices);
52
typedef void (*PFNGLRENDERBUFFERSTORAGEMULTISAMPLE) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
55
extern PFNGLBEGINQUERYPROC glBeginQuery;
56
extern PFNGLENDQUERYPROC glEndQuery;
57
extern PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv;
58
extern PFNGLDELETEQUERIESPROC glDeleteQueries;
59
extern PFNGLGENQUERIESPROC glGenQueries;
61
extern PFNGLUNMAPBUFFERPROC glUnmapBuffer;
62
extern PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
63
extern PFNGLBINDBUFFERRANGEPROC glBindBufferRange;
65
extern PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
67
extern PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
68
extern PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
69
extern PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
71
extern PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
72
extern PFNGLDELETESYNCPROC glDeleteSync;
73
extern PFNGLFENCESYNCPROC glFenceSync;
75
extern PFNGLGETPROGRAMBINARYPROC glGetProgramBinary;
76
extern PFNGLPROGRAMBINARYPROC glProgramBinary;
77
extern PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
79
extern PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements;
81
extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLE glRenderbufferStorageMultisample;
84
extern PFNGLSAMPLERPARAMETERFPROC glSamplerParameterf;
85
extern PFNGLSAMPLERPARAMETERIPROC glSamplerParameteri;
86
extern PFNGLSAMPLERPARAMETERFVPROC glSamplerParameterfv;
87
extern PFNGLBINDSAMPLERPROC glBindSampler;
88
extern PFNGLDELETESAMPLERSPROC glDeleteSamplers;
89
extern PFNGLGENSAMPLERSPROC glGenSamplers;
91
extern PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
92
extern PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding;