Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / src / gpu / gl / GrGLNoOpInterface.h
1 /*
2  * Copyright 2013 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 #ifndef GrGLNoOpInterface_DEFINED
9 #define GrGLNoOpInterface_DEFINED
10
11 #include "gl/GrGLDefines.h"
12 #include "gl/GrGLFunctions.h"
13
14 // These are constants/functions that are common to the Null and Debug GL interface implementations.
15
16 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBlendColor(GrGLclampf red,
17                                               GrGLclampf green,
18                                               GrGLclampf blue,
19                                               GrGLclampf alpha);
20
21 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBindFragDataLocation(GrGLuint program,
22                                                         GrGLuint colorNumber,
23                                                         const GrGLchar* name);
24
25 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBlendFunc(GrGLenum sfactor,
26                                              GrGLenum dfactor);
27
28 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBufferSubData(GrGLenum target,
29                                                  GrGLintptr offset,
30                                                  GrGLsizeiptr size,
31                                                  const GrGLvoid* data);
32
33 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLClear(GrGLbitfield mask);
34
35 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLClearColor(GrGLclampf red,
36                                               GrGLclampf green,
37                                               GrGLclampf blue,
38                                               GrGLclampf alpha);
39
40 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLClearStencil(GrGLint s);
41
42 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLColorMask(GrGLboolean red,
43                                              GrGLboolean green,
44                                              GrGLboolean blue,
45                                              GrGLboolean alpha);
46
47 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCompileShader(GrGLuint shader);
48
49 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCompressedTexImage2D(GrGLenum target,
50                                                         GrGLint level,
51                                                         GrGLenum internalformat,
52                                                         GrGLsizei width,
53                                                         GrGLsizei height,
54                                                         GrGLint border,
55                                                         GrGLsizei imageSize,
56                                                         const GrGLvoid* data);
57
58 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCopyTexSubImage2D(GrGLenum target,
59                                                      GrGLint level,
60                                                      GrGLint xoffset,
61                                                      GrGLint yoffset,
62                                                      GrGLint x,
63                                                      GrGLint y,
64                                                      GrGLsizei width,
65                                                      GrGLsizei height);
66
67 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCullFace(GrGLenum mode);
68
69 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDepthMask(GrGLboolean flag);
70
71 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDisable(GrGLenum cap);
72
73 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDisableVertexAttribArray(GrGLuint index);
74
75 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDrawArrays(GrGLenum mode, GrGLint first, GrGLsizei count);
76
77 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDrawBuffer(GrGLenum mode);
78
79 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDrawBuffers(GrGLsizei n,
80                                                 const GrGLenum* bufs);
81
82 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDrawElements(GrGLenum mode,
83                                                 GrGLsizei count,
84                                                 GrGLenum type,
85                                                 const GrGLvoid* indices);
86
87 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLEnable(GrGLenum cap);
88
89 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLEnableVertexAttribArray(GrGLuint index);
90
91 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLEndQuery(GrGLenum target);
92
93 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLFinish();
94
95 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLFlush();
96
97 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLFrontFace(GrGLenum mode);
98
99 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLMatrixLoadf(GrGLenum, const GrGLfloat*);
100
101 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLMatrixLoadIdentity(GrGLenum);
102
103 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLLineWidth(GrGLfloat width);
104
105 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLLinkProgram(GrGLuint program);
106
107 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLQueryCounter(GrGLuint id,
108                                                 GrGLenum target);
109
110 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLReadBuffer(GrGLenum src);
111
112 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLScissor(GrGLint x,
113                                            GrGLint y,
114                                            GrGLsizei width,
115                                            GrGLsizei height);
116
117 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLShaderSource(GrGLuint shader,
118                                                 GrGLsizei count,
119 #if GR_GL_USE_NEW_SHADER_SOURCE_SIGNATURE
120                                                 const char* const * str,
121 #else
122                                                 const char** str,
123 #endif
124                                                 const GrGLint* length);
125
126 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilFunc(GrGLenum func, GrGLint ref, GrGLuint mask);
127
128 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilFuncSeparate(GrGLenum face,
129                                                        GrGLenum func,
130                                                        GrGLint ref,
131                                                        GrGLuint mask);
132
133 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilMask(GrGLuint mask);
134
135 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilMaskSeparate(GrGLenum face, GrGLuint mask);
136
137 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilOp(GrGLenum fail, GrGLenum zfail, GrGLenum zpass);
138
139 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilOpSeparate(GrGLenum face,
140                                                      GrGLenum fail,
141                                                      GrGLenum zfail,
142                                                      GrGLenum zpass);
143
144 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexImage2D(GrGLenum target,
145                                               GrGLint level,
146                                               GrGLint internalformat,
147                                               GrGLsizei width,
148                                               GrGLsizei height,
149                                               GrGLint border,
150                                               GrGLenum format,
151                                               GrGLenum type,
152                                               const GrGLvoid* pixels);
153
154 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexParameteri(GrGLenum target, GrGLenum pname, GrGLint param);
155
156 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexParameteriv(GrGLenum target,
157                                                   GrGLenum pname,
158                                                   const GrGLint* params);
159
160 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexStorage2D(GrGLenum target,
161                                                 GrGLsizei levels,
162                                                 GrGLenum internalformat,
163                                                 GrGLsizei width,
164                                                 GrGLsizei height);
165
166 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDiscardFramebuffer(GrGLenum target,
167                                                       GrGLsizei numAttachments,
168                                                       const GrGLenum* attachments);
169
170 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexSubImage2D(GrGLenum target,
171                                                  GrGLint level,
172                                                  GrGLint xoffset,
173                                                  GrGLint yoffset,
174                                                  GrGLsizei width,
175                                                  GrGLsizei height,
176                                                  GrGLenum format,
177                                                  GrGLenum type,
178                                                  const GrGLvoid* pixels);
179
180 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1f(GrGLint location, GrGLfloat v0);
181
182 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1i(GrGLint location, GrGLint v0);
183
184 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1fv(GrGLint location,
185                                               GrGLsizei count,
186                                               const GrGLfloat* v);
187
188 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1iv(GrGLint location,
189                                               GrGLsizei count,
190                                               const GrGLint* v);
191
192 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2f(GrGLint location,
193                                              GrGLfloat v0,
194                                              GrGLfloat v1);
195
196 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2i(GrGLint location, GrGLint v0, GrGLint v1);
197
198 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2fv(GrGLint location,
199                                               GrGLsizei count,
200                                               const GrGLfloat* v);
201
202 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2iv(GrGLint location,
203                                               GrGLsizei count,
204                                               const GrGLint* v);
205
206 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3f(GrGLint location,
207                                              GrGLfloat v0,
208                                              GrGLfloat v1,
209                                              GrGLfloat v2);
210
211 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3i(GrGLint location,
212                                              GrGLint v0,
213                                              GrGLint v1,
214                                              GrGLint v2);
215
216 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3fv(GrGLint location,
217                                               GrGLsizei count,
218                                               const GrGLfloat* v);
219
220 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3iv(GrGLint location,
221                                                GrGLsizei count,
222                                                const GrGLint* v);
223
224 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4f(GrGLint location,
225                                               GrGLfloat v0,
226                                               GrGLfloat v1,
227                                               GrGLfloat v2,
228                                               GrGLfloat v3);
229
230 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4i(GrGLint location,
231                                              GrGLint v0,
232                                              GrGLint v1,
233                                              GrGLint v2,
234                                              GrGLint v3);
235
236 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4fv(GrGLint location,
237                                               GrGLsizei count,
238                                               const GrGLfloat* v);
239
240 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4iv(GrGLint location,
241                                               GrGLsizei count,
242                                               const GrGLint* v);
243
244 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniformMatrix2fv(GrGLint location,
245                                                     GrGLsizei count,
246                                                     GrGLboolean transpose,
247                                                     const GrGLfloat* value);
248
249 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniformMatrix3fv(GrGLint location,
250                                                     GrGLsizei count,
251                                                     GrGLboolean transpose,
252                                                     const GrGLfloat* value);
253
254 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniformMatrix4fv(GrGLint location,
255                                                     GrGLsizei count,
256                                                     GrGLboolean transpose,
257                                                     const GrGLfloat* value);
258
259  GrGLvoid GR_GL_FUNCTION_TYPE noOpGLVertexAttrib4fv(GrGLuint indx, const GrGLfloat* values);
260
261 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLVertexAttribPointer(GrGLuint indx,
262                                                        GrGLint size,
263                                                        GrGLenum type,
264                                                        GrGLboolean normalized,
265                                                        GrGLsizei stride,
266                                                        const GrGLvoid* ptr);
267
268 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLViewport(GrGLint x,
269                                             GrGLint y,
270                                             GrGLsizei width,
271                                             GrGLsizei height);
272
273   GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetFramebufferAttachmentParameteriv(GrGLenum target,
274                                                                          GrGLenum attachment,
275                                                                          GrGLenum pname,
276                                                                          GrGLint* params);
277
278 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetRenderbufferParameteriv(GrGLenum target,
279                                                               GrGLenum pname,
280                                                               GrGLint* params);
281
282 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLRenderbufferStorage(GrGLenum target,
283                                                        GrGLenum internalformat,
284                                                        GrGLsizei width,
285                                                        GrGLsizei height);
286
287 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLRenderbufferStorageMultisample(GrGLenum target,
288                                                                   GrGLsizei samples,
289                                                                   GrGLenum internalformat,
290                                                                   GrGLsizei width,
291                                                                   GrGLsizei height);
292
293 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBlitFramebuffer(GrGLint srcX0,
294                                                    GrGLint srcY0,
295                                                    GrGLint srcX1,
296                                                    GrGLint srcY1,
297                                                    GrGLint dstX0,
298                                                    GrGLint dstY0,
299                                                    GrGLint dstX1,
300                                                    GrGLint dstY1,
301                                                    GrGLbitfield mask,
302                                                    GrGLenum filter);
303
304 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLResolveMultisampleFramebuffer();
305
306 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBindFragDataLocationIndexed(GrGLuint program,
307                                                                GrGLuint colorNumber,
308                                                                GrGLuint index,
309                                                                const GrGLchar * name);
310
311 GrGLenum GR_GL_FUNCTION_TYPE noOpGLCheckFramebufferStatus(GrGLenum target);
312
313 // this function can be used for all glGen*(GLsize i, GLuint*) functions
314 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGenIds(GrGLsizei n, GrGLuint* ids);
315
316 // this function function can be used for all glDelete*(GLsize i, const GLuint*)
317 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDeleteIds(GrGLsizei n, const GrGLuint* ids);
318
319 GrGLenum GR_GL_FUNCTION_TYPE noOpGLGetError();
320
321 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetIntegerv(GrGLenum pname, GrGLint* params);
322
323 // can be used for both the program and shader info logs
324 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetInfoLog(GrGLuint program,
325                                               GrGLsizei bufsize,
326                                               GrGLsizei* length,
327                                               char* infolog);
328
329 // can be used for both the program and shader params
330 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetShaderOrProgramiv(GrGLuint program,
331                                                         GrGLenum pname,
332                                                         GrGLint* params);
333
334 // Queries on bogus GLs just don't do anything at all. We could potentially make the timers work.
335 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryiv(GrGLenum GLtarget,
336                                               GrGLenum pname,
337                                               GrGLint *params);
338
339 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjecti64v(GrGLuint id,
340                                                       GrGLenum pname,
341                                                       GrGLint64 *params);
342
343 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjectiv(GrGLuint id, GrGLenum pname, GrGLint *params);
344
345 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjectui64v(GrGLuint id,
346                                                        GrGLenum pname,
347                                                        GrGLuint64 *params);
348
349 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjectuiv(GrGLuint id,
350                                                      GrGLenum pname,
351                                                      GrGLuint *params);
352
353 const GrGLubyte* GR_GL_FUNCTION_TYPE noOpGLGetString(GrGLenum name);
354
355 const GrGLubyte* GR_GL_FUNCTION_TYPE noOpGLGetStringi(GrGLenum name, GrGLuint i);
356
357 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetTexLevelParameteriv(GrGLenum target,
358                                                           GrGLint level,
359                                                           GrGLenum pname,
360                                                           GrGLint* params);
361
362 GrGLint GR_GL_FUNCTION_TYPE noOpGLGetUniformLocation(GrGLuint program, const char* name);
363
364 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLInsertEventMarker(GrGLsizei length, const char* marker);
365 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLPushGroupMarker(GrGLsizei length  , const char* marker);
366 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLPopGroupMarker();
367
368 #endif