|
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 noOpGLLoadIdentity(); |
|
100 |
|
101 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLLoadMatrixf(const GrGLfloat*); |
|
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 noOpGLMatrixMode(GrGLenum); |
|
108 |
|
109 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLQueryCounter(GrGLuint id, |
|
110 GrGLenum target); |
|
111 |
|
112 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLReadBuffer(GrGLenum src); |
|
113 |
|
114 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLScissor(GrGLint x, |
|
115 GrGLint y, |
|
116 GrGLsizei width, |
|
117 GrGLsizei height); |
|
118 |
|
119 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLShaderSource(GrGLuint shader, |
|
120 GrGLsizei count, |
|
121 #if GR_GL_USE_NEW_SHADER_SOURCE_SIGNATURE |
|
122 const char* const * str, |
|
123 #else |
|
124 const char** str, |
|
125 #endif |
|
126 const GrGLint* length); |
|
127 |
|
128 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilFunc(GrGLenum func, GrGLint ref, GrGLuint mask); |
|
129 |
|
130 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilFuncSeparate(GrGLenum face, |
|
131 GrGLenum func, |
|
132 GrGLint ref, |
|
133 GrGLuint mask); |
|
134 |
|
135 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilMask(GrGLuint mask); |
|
136 |
|
137 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilMaskSeparate(GrGLenum face, GrGLuint mask); |
|
138 |
|
139 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilOp(GrGLenum fail, GrGLenum zfail, GrGLenum zpass); |
|
140 |
|
141 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilOpSeparate(GrGLenum face, |
|
142 GrGLenum fail, |
|
143 GrGLenum zfail, |
|
144 GrGLenum zpass); |
|
145 |
|
146 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexImage2D(GrGLenum target, |
|
147 GrGLint level, |
|
148 GrGLint internalformat, |
|
149 GrGLsizei width, |
|
150 GrGLsizei height, |
|
151 GrGLint border, |
|
152 GrGLenum format, |
|
153 GrGLenum type, |
|
154 const GrGLvoid* pixels); |
|
155 |
|
156 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexParameteri(GrGLenum target, GrGLenum pname, GrGLint param); |
|
157 |
|
158 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexParameteriv(GrGLenum target, |
|
159 GrGLenum pname, |
|
160 const GrGLint* params); |
|
161 |
|
162 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexStorage2D(GrGLenum target, |
|
163 GrGLsizei levels, |
|
164 GrGLenum internalformat, |
|
165 GrGLsizei width, |
|
166 GrGLsizei height); |
|
167 |
|
168 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexGenf(GrGLenum, GrGLenum, GrGLfloat); |
|
169 |
|
170 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexGenfv(GrGLenum, GrGLenum, const GrGLfloat*); |
|
171 |
|
172 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexGeni(GrGLenum, GrGLenum, GrGLint); |
|
173 |
|
174 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDiscardFramebuffer(GrGLenum target, |
|
175 GrGLsizei numAttachments, |
|
176 const GrGLenum* attachments); |
|
177 |
|
178 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexSubImage2D(GrGLenum target, |
|
179 GrGLint level, |
|
180 GrGLint xoffset, |
|
181 GrGLint yoffset, |
|
182 GrGLsizei width, |
|
183 GrGLsizei height, |
|
184 GrGLenum format, |
|
185 GrGLenum type, |
|
186 const GrGLvoid* pixels); |
|
187 |
|
188 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1f(GrGLint location, GrGLfloat v0); |
|
189 |
|
190 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1i(GrGLint location, GrGLint v0); |
|
191 |
|
192 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1fv(GrGLint location, |
|
193 GrGLsizei count, |
|
194 const GrGLfloat* v); |
|
195 |
|
196 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1iv(GrGLint location, |
|
197 GrGLsizei count, |
|
198 const GrGLint* v); |
|
199 |
|
200 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2f(GrGLint location, |
|
201 GrGLfloat v0, |
|
202 GrGLfloat v1); |
|
203 |
|
204 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2i(GrGLint location, GrGLint v0, GrGLint v1); |
|
205 |
|
206 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2fv(GrGLint location, |
|
207 GrGLsizei count, |
|
208 const GrGLfloat* v); |
|
209 |
|
210 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2iv(GrGLint location, |
|
211 GrGLsizei count, |
|
212 const GrGLint* v); |
|
213 |
|
214 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3f(GrGLint location, |
|
215 GrGLfloat v0, |
|
216 GrGLfloat v1, |
|
217 GrGLfloat v2); |
|
218 |
|
219 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3i(GrGLint location, |
|
220 GrGLint v0, |
|
221 GrGLint v1, |
|
222 GrGLint v2); |
|
223 |
|
224 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3fv(GrGLint location, |
|
225 GrGLsizei count, |
|
226 const GrGLfloat* v); |
|
227 |
|
228 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3iv(GrGLint location, |
|
229 GrGLsizei count, |
|
230 const GrGLint* v); |
|
231 |
|
232 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4f(GrGLint location, |
|
233 GrGLfloat v0, |
|
234 GrGLfloat v1, |
|
235 GrGLfloat v2, |
|
236 GrGLfloat v3); |
|
237 |
|
238 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4i(GrGLint location, |
|
239 GrGLint v0, |
|
240 GrGLint v1, |
|
241 GrGLint v2, |
|
242 GrGLint v3); |
|
243 |
|
244 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4fv(GrGLint location, |
|
245 GrGLsizei count, |
|
246 const GrGLfloat* v); |
|
247 |
|
248 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4iv(GrGLint location, |
|
249 GrGLsizei count, |
|
250 const GrGLint* v); |
|
251 |
|
252 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniformMatrix2fv(GrGLint location, |
|
253 GrGLsizei count, |
|
254 GrGLboolean transpose, |
|
255 const GrGLfloat* value); |
|
256 |
|
257 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniformMatrix3fv(GrGLint location, |
|
258 GrGLsizei count, |
|
259 GrGLboolean transpose, |
|
260 const GrGLfloat* value); |
|
261 |
|
262 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniformMatrix4fv(GrGLint location, |
|
263 GrGLsizei count, |
|
264 GrGLboolean transpose, |
|
265 const GrGLfloat* value); |
|
266 |
|
267 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLVertexAttrib4fv(GrGLuint indx, const GrGLfloat* values); |
|
268 |
|
269 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLVertexAttribPointer(GrGLuint indx, |
|
270 GrGLint size, |
|
271 GrGLenum type, |
|
272 GrGLboolean normalized, |
|
273 GrGLsizei stride, |
|
274 const GrGLvoid* ptr); |
|
275 |
|
276 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLViewport(GrGLint x, |
|
277 GrGLint y, |
|
278 GrGLsizei width, |
|
279 GrGLsizei height); |
|
280 |
|
281 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetFramebufferAttachmentParameteriv(GrGLenum target, |
|
282 GrGLenum attachment, |
|
283 GrGLenum pname, |
|
284 GrGLint* params); |
|
285 |
|
286 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetRenderbufferParameteriv(GrGLenum target, |
|
287 GrGLenum pname, |
|
288 GrGLint* params); |
|
289 |
|
290 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLRenderbufferStorage(GrGLenum target, |
|
291 GrGLenum internalformat, |
|
292 GrGLsizei width, |
|
293 GrGLsizei height); |
|
294 |
|
295 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLRenderbufferStorageMultisample(GrGLenum target, |
|
296 GrGLsizei samples, |
|
297 GrGLenum internalformat, |
|
298 GrGLsizei width, |
|
299 GrGLsizei height); |
|
300 |
|
301 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBlitFramebuffer(GrGLint srcX0, |
|
302 GrGLint srcY0, |
|
303 GrGLint srcX1, |
|
304 GrGLint srcY1, |
|
305 GrGLint dstX0, |
|
306 GrGLint dstY0, |
|
307 GrGLint dstX1, |
|
308 GrGLint dstY1, |
|
309 GrGLbitfield mask, |
|
310 GrGLenum filter); |
|
311 |
|
312 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLResolveMultisampleFramebuffer(); |
|
313 |
|
314 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBindFragDataLocationIndexed(GrGLuint program, |
|
315 GrGLuint colorNumber, |
|
316 GrGLuint index, |
|
317 const GrGLchar * name); |
|
318 |
|
319 GrGLenum GR_GL_FUNCTION_TYPE noOpGLCheckFramebufferStatus(GrGLenum target); |
|
320 |
|
321 // this function can be used for all glGen*(GLsize i, GLuint*) functions |
|
322 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGenIds(GrGLsizei n, GrGLuint* ids); |
|
323 |
|
324 // this function function can be used for all glDelete*(GLsize i, const GLuint*) |
|
325 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDeleteIds(GrGLsizei n, const GrGLuint* ids); |
|
326 |
|
327 GrGLenum GR_GL_FUNCTION_TYPE noOpGLGetError(); |
|
328 |
|
329 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetIntegerv(GrGLenum pname, GrGLint* params); |
|
330 |
|
331 // can be used for both the program and shader info logs |
|
332 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetInfoLog(GrGLuint program, |
|
333 GrGLsizei bufsize, |
|
334 GrGLsizei* length, |
|
335 char* infolog); |
|
336 |
|
337 // can be used for both the program and shader params |
|
338 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetShaderOrProgramiv(GrGLuint program, |
|
339 GrGLenum pname, |
|
340 GrGLint* params); |
|
341 |
|
342 // Queries on bogus GLs just don't do anything at all. We could potentially make the timers work. |
|
343 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryiv(GrGLenum GLtarget, |
|
344 GrGLenum pname, |
|
345 GrGLint *params); |
|
346 |
|
347 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjecti64v(GrGLuint id, |
|
348 GrGLenum pname, |
|
349 GrGLint64 *params); |
|
350 |
|
351 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjectiv(GrGLuint id, GrGLenum pname, GrGLint *params); |
|
352 |
|
353 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjectui64v(GrGLuint id, |
|
354 GrGLenum pname, |
|
355 GrGLuint64 *params); |
|
356 |
|
357 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjectuiv(GrGLuint id, |
|
358 GrGLenum pname, |
|
359 GrGLuint *params); |
|
360 |
|
361 const GrGLubyte* GR_GL_FUNCTION_TYPE noOpGLGetString(GrGLenum name); |
|
362 |
|
363 const GrGLubyte* GR_GL_FUNCTION_TYPE noOpGLGetStringi(GrGLenum name, GrGLuint i); |
|
364 |
|
365 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetTexLevelParameteriv(GrGLenum target, |
|
366 GrGLint level, |
|
367 GrGLenum pname, |
|
368 GrGLint* params); |
|
369 |
|
370 GrGLint GR_GL_FUNCTION_TYPE noOpGLGetUniformLocation(GrGLuint program, const char* name); |
|
371 |
|
372 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLInsertEventMarker(GrGLsizei length, const char* marker); |
|
373 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLPushGroupMarker(GrGLsizei length , const char* marker); |
|
374 GrGLvoid GR_GL_FUNCTION_TYPE noOpGLPopGroupMarker(); |
|
375 |
|
376 #endif |