~registry/dolphin-emu/triforce

« back to all changes in this revision

Viewing changes to Source/Core/VideoBackends/OGL/Src/GLFunctions.h

  • Committer: Sérgio Benjamim
  • Date: 2015-02-13 05:54:40 UTC
  • Revision ID: sergio_br2@yahoo.com.br-20150213055440-ey2rt3sjpy27km78
Dolphin Triforce branch from code.google, commit b957980 (4.0-315).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2013 Dolphin Emulator Project
 
2
// Licensed under GPLv2
 
3
// Refer to the license.txt file included.
 
4
#ifndef GLFUNCTIONS_H_
 
5
#define GLFUNCTIONS_H_
 
6
#include "GLInterface.h"
 
7
 
 
8
#ifdef USE_GLES3
 
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);
 
13
 
 
14
typedef void (*PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
 
15
// VAOS
 
16
typedef void (*PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays);
 
17
typedef void (*PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint* arrays);
 
18
typedef void (*PFNGLBINDVERTEXARRAYPROC) (GLuint array);
 
19
 
 
20
// Sync
 
21
typedef GLenum (*PFNGLCLIENTWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout);
 
22
typedef void (*PFNGLDELETESYNCPROC) (GLsync GLsync);
 
23
typedef GLsync (*PFNGLFENCESYNCPROC) (GLenum condition,GLbitfield flags);
 
24
 
 
25
//Sampler
 
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);
 
32
 
 
33
//Program binary
 
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);
 
37
 
 
38
typedef GLuint (*PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar* uniformBlockName);
 
39
typedef void (*PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
 
40
 
 
41
//Query
 
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);
 
47
 
 
48
// glDraw*
 
49
typedef void (*PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices);
 
50
 
 
51
// Multisample buffer
 
52
typedef void (*PFNGLRENDERBUFFERSTORAGEMULTISAMPLE) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 
53
 
 
54
// ptrs
 
55
extern PFNGLBEGINQUERYPROC glBeginQuery;
 
56
extern PFNGLENDQUERYPROC glEndQuery;
 
57
extern PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv;
 
58
extern PFNGLDELETEQUERIESPROC glDeleteQueries;
 
59
extern PFNGLGENQUERIESPROC glGenQueries;
 
60
 
 
61
extern PFNGLUNMAPBUFFERPROC glUnmapBuffer;
 
62
extern PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
 
63
extern PFNGLBINDBUFFERRANGEPROC glBindBufferRange;
 
64
 
 
65
extern PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
 
66
 
 
67
extern PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
 
68
extern PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
 
69
extern PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
 
70
 
 
71
extern PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
 
72
extern PFNGLDELETESYNCPROC glDeleteSync;
 
73
extern PFNGLFENCESYNCPROC glFenceSync;
 
74
 
 
75
extern PFNGLGETPROGRAMBINARYPROC glGetProgramBinary;
 
76
extern PFNGLPROGRAMBINARYPROC glProgramBinary;
 
77
extern PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
 
78
 
 
79
extern PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements;
 
80
 
 
81
extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLE glRenderbufferStorageMultisample;
 
82
 
 
83
//Sampler
 
84
extern PFNGLSAMPLERPARAMETERFPROC glSamplerParameterf;
 
85
extern PFNGLSAMPLERPARAMETERIPROC glSamplerParameteri;
 
86
extern PFNGLSAMPLERPARAMETERFVPROC glSamplerParameterfv;
 
87
extern PFNGLBINDSAMPLERPROC glBindSampler;
 
88
extern PFNGLDELETESAMPLERSPROC glDeleteSamplers;
 
89
extern PFNGLGENSAMPLERSPROC glGenSamplers;
 
90
 
 
91
extern PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
 
92
extern PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding;
 
93
#endif
 
94
 
 
95
namespace GLFunc
 
96
{
 
97
        void Init();
 
98
}
 
99
#endif