1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// This file is auto-generated from
6// gpu/command_buffer/build_gles2_cmd_buffer.py
7// DO NOT EDIT!
8
9// This file is included by gles2_trace_implementation.cc
10#ifndef GPU_COMMAND_BUFFER_CLIENT_GLES2_TRACE_IMPLEMENTATION_IMPL_AUTOGEN_H_
11#define GPU_COMMAND_BUFFER_CLIENT_GLES2_TRACE_IMPLEMENTATION_IMPL_AUTOGEN_H_
12
13void GLES2TraceImplementation::ActiveTexture(GLenum texture) {
14  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ActiveTexture");
15  gl_->ActiveTexture(texture);
16}
17
18void GLES2TraceImplementation::AttachShader(GLuint program, GLuint shader) {
19  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::AttachShader");
20  gl_->AttachShader(program, shader);
21}
22
23void GLES2TraceImplementation::BindAttribLocation(
24    GLuint program, GLuint index, const char* name) {
25  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindAttribLocation");
26  gl_->BindAttribLocation(program, index, name);
27}
28
29void GLES2TraceImplementation::BindBuffer(GLenum target, GLuint buffer) {
30  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindBuffer");
31  gl_->BindBuffer(target, buffer);
32}
33
34void GLES2TraceImplementation::BindFramebuffer(
35    GLenum target, GLuint framebuffer) {
36  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindFramebuffer");
37  gl_->BindFramebuffer(target, framebuffer);
38}
39
40void GLES2TraceImplementation::BindRenderbuffer(
41    GLenum target, GLuint renderbuffer) {
42  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindRenderbuffer");
43  gl_->BindRenderbuffer(target, renderbuffer);
44}
45
46void GLES2TraceImplementation::BindTexture(GLenum target, GLuint texture) {
47  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindTexture");
48  gl_->BindTexture(target, texture);
49}
50
51void GLES2TraceImplementation::BlendColor(
52    GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) {
53  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlendColor");
54  gl_->BlendColor(red, green, blue, alpha);
55}
56
57void GLES2TraceImplementation::BlendEquation(GLenum mode) {
58  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlendEquation");
59  gl_->BlendEquation(mode);
60}
61
62void GLES2TraceImplementation::BlendEquationSeparate(
63    GLenum modeRGB, GLenum modeAlpha) {
64  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlendEquationSeparate");
65  gl_->BlendEquationSeparate(modeRGB, modeAlpha);
66}
67
68void GLES2TraceImplementation::BlendFunc(GLenum sfactor, GLenum dfactor) {
69  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlendFunc");
70  gl_->BlendFunc(sfactor, dfactor);
71}
72
73void GLES2TraceImplementation::BlendFuncSeparate(
74    GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) {
75  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlendFuncSeparate");
76  gl_->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
77}
78
79void GLES2TraceImplementation::BufferData(
80    GLenum target, GLsizeiptr size, const void* data, GLenum usage) {
81  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BufferData");
82  gl_->BufferData(target, size, data, usage);
83}
84
85void GLES2TraceImplementation::BufferSubData(
86    GLenum target, GLintptr offset, GLsizeiptr size, const void* data) {
87  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BufferSubData");
88  gl_->BufferSubData(target, offset, size, data);
89}
90
91GLenum GLES2TraceImplementation::CheckFramebufferStatus(GLenum target) {
92  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CheckFramebufferStatus");
93  return gl_->CheckFramebufferStatus(target);
94}
95
96void GLES2TraceImplementation::Clear(GLbitfield mask) {
97  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Clear");
98  gl_->Clear(mask);
99}
100
101void GLES2TraceImplementation::ClearColor(
102    GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) {
103  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ClearColor");
104  gl_->ClearColor(red, green, blue, alpha);
105}
106
107void GLES2TraceImplementation::ClearDepthf(GLclampf depth) {
108  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ClearDepthf");
109  gl_->ClearDepthf(depth);
110}
111
112void GLES2TraceImplementation::ClearStencil(GLint s) {
113  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ClearStencil");
114  gl_->ClearStencil(s);
115}
116
117void GLES2TraceImplementation::ColorMask(
118    GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) {
119  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ColorMask");
120  gl_->ColorMask(red, green, blue, alpha);
121}
122
123void GLES2TraceImplementation::CompileShader(GLuint shader) {
124  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CompileShader");
125  gl_->CompileShader(shader);
126}
127
128void GLES2TraceImplementation::CompressedTexImage2D(
129    GLenum target, GLint level, GLenum internalformat, GLsizei width,
130    GLsizei height, GLint border, GLsizei imageSize, const void* data) {
131  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CompressedTexImage2D");
132  gl_->CompressedTexImage2D(
133      target, level, internalformat, width, height, border, imageSize, data);
134}
135
136void GLES2TraceImplementation::CompressedTexSubImage2D(
137    GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
138    GLsizei height, GLenum format, GLsizei imageSize, const void* data) {
139  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CompressedTexSubImage2D");
140  gl_->CompressedTexSubImage2D(
141      target, level, xoffset, yoffset, width, height, format, imageSize, data);
142}
143
144void GLES2TraceImplementation::CopyTexImage2D(
145    GLenum target, GLint level, GLenum internalformat, GLint x, GLint y,
146    GLsizei width, GLsizei height, GLint border) {
147  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CopyTexImage2D");
148  gl_->CopyTexImage2D(
149      target, level, internalformat, x, y, width, height, border);
150}
151
152void GLES2TraceImplementation::CopyTexSubImage2D(
153    GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y,
154    GLsizei width, GLsizei height) {
155  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CopyTexSubImage2D");
156  gl_->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
157}
158
159GLuint GLES2TraceImplementation::CreateProgram() {
160  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CreateProgram");
161  return gl_->CreateProgram();
162}
163
164GLuint GLES2TraceImplementation::CreateShader(GLenum type) {
165  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CreateShader");
166  return gl_->CreateShader(type);
167}
168
169void GLES2TraceImplementation::CullFace(GLenum mode) {
170  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CullFace");
171  gl_->CullFace(mode);
172}
173
174void GLES2TraceImplementation::DeleteBuffers(
175    GLsizei n, const GLuint* buffers) {
176  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteBuffers");
177  gl_->DeleteBuffers(n, buffers);
178}
179
180void GLES2TraceImplementation::DeleteFramebuffers(
181    GLsizei n, const GLuint* framebuffers) {
182  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteFramebuffers");
183  gl_->DeleteFramebuffers(n, framebuffers);
184}
185
186void GLES2TraceImplementation::DeleteProgram(GLuint program) {
187  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteProgram");
188  gl_->DeleteProgram(program);
189}
190
191void GLES2TraceImplementation::DeleteRenderbuffers(
192    GLsizei n, const GLuint* renderbuffers) {
193  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteRenderbuffers");
194  gl_->DeleteRenderbuffers(n, renderbuffers);
195}
196
197void GLES2TraceImplementation::DeleteShader(GLuint shader) {
198  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteShader");
199  gl_->DeleteShader(shader);
200}
201
202void GLES2TraceImplementation::DeleteTextures(
203    GLsizei n, const GLuint* textures) {
204  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteTextures");
205  gl_->DeleteTextures(n, textures);
206}
207
208void GLES2TraceImplementation::DepthFunc(GLenum func) {
209  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DepthFunc");
210  gl_->DepthFunc(func);
211}
212
213void GLES2TraceImplementation::DepthMask(GLboolean flag) {
214  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DepthMask");
215  gl_->DepthMask(flag);
216}
217
218void GLES2TraceImplementation::DepthRangef(GLclampf zNear, GLclampf zFar) {
219  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DepthRangef");
220  gl_->DepthRangef(zNear, zFar);
221}
222
223void GLES2TraceImplementation::DetachShader(GLuint program, GLuint shader) {
224  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DetachShader");
225  gl_->DetachShader(program, shader);
226}
227
228void GLES2TraceImplementation::Disable(GLenum cap) {
229  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Disable");
230  gl_->Disable(cap);
231}
232
233void GLES2TraceImplementation::DisableVertexAttribArray(GLuint index) {
234  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DisableVertexAttribArray");
235  gl_->DisableVertexAttribArray(index);
236}
237
238void GLES2TraceImplementation::DrawArrays(
239    GLenum mode, GLint first, GLsizei count) {
240  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DrawArrays");
241  gl_->DrawArrays(mode, first, count);
242}
243
244void GLES2TraceImplementation::DrawElements(
245    GLenum mode, GLsizei count, GLenum type, const void* indices) {
246  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DrawElements");
247  gl_->DrawElements(mode, count, type, indices);
248}
249
250void GLES2TraceImplementation::Enable(GLenum cap) {
251  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Enable");
252  gl_->Enable(cap);
253}
254
255void GLES2TraceImplementation::EnableVertexAttribArray(GLuint index) {
256  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::EnableVertexAttribArray");
257  gl_->EnableVertexAttribArray(index);
258}
259
260void GLES2TraceImplementation::Finish() {
261  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Finish");
262  gl_->Finish();
263}
264
265void GLES2TraceImplementation::Flush() {
266  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Flush");
267  gl_->Flush();
268}
269
270void GLES2TraceImplementation::FramebufferRenderbuffer(
271    GLenum target, GLenum attachment, GLenum renderbuffertarget,
272    GLuint renderbuffer) {
273  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::FramebufferRenderbuffer");
274  gl_->FramebufferRenderbuffer(
275      target, attachment, renderbuffertarget, renderbuffer);
276}
277
278void GLES2TraceImplementation::FramebufferTexture2D(
279    GLenum target, GLenum attachment, GLenum textarget, GLuint texture,
280    GLint level) {
281  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::FramebufferTexture2D");
282  gl_->FramebufferTexture2D(target, attachment, textarget, texture, level);
283}
284
285void GLES2TraceImplementation::FrontFace(GLenum mode) {
286  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::FrontFace");
287  gl_->FrontFace(mode);
288}
289
290void GLES2TraceImplementation::GenBuffers(GLsizei n, GLuint* buffers) {
291  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenBuffers");
292  gl_->GenBuffers(n, buffers);
293}
294
295void GLES2TraceImplementation::GenerateMipmap(GLenum target) {
296  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenerateMipmap");
297  gl_->GenerateMipmap(target);
298}
299
300void GLES2TraceImplementation::GenFramebuffers(
301    GLsizei n, GLuint* framebuffers) {
302  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenFramebuffers");
303  gl_->GenFramebuffers(n, framebuffers);
304}
305
306void GLES2TraceImplementation::GenRenderbuffers(
307    GLsizei n, GLuint* renderbuffers) {
308  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenRenderbuffers");
309  gl_->GenRenderbuffers(n, renderbuffers);
310}
311
312void GLES2TraceImplementation::GenTextures(GLsizei n, GLuint* textures) {
313  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenTextures");
314  gl_->GenTextures(n, textures);
315}
316
317void GLES2TraceImplementation::GetActiveAttrib(
318    GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size,
319    GLenum* type, char* name) {
320  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetActiveAttrib");
321  gl_->GetActiveAttrib(program, index, bufsize, length, size, type, name);
322}
323
324void GLES2TraceImplementation::GetActiveUniform(
325    GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size,
326    GLenum* type, char* name) {
327  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetActiveUniform");
328  gl_->GetActiveUniform(program, index, bufsize, length, size, type, name);
329}
330
331void GLES2TraceImplementation::GetAttachedShaders(
332    GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) {
333  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetAttachedShaders");
334  gl_->GetAttachedShaders(program, maxcount, count, shaders);
335}
336
337GLint GLES2TraceImplementation::GetAttribLocation(
338    GLuint program, const char* name) {
339  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetAttribLocation");
340  return gl_->GetAttribLocation(program, name);
341}
342
343void GLES2TraceImplementation::GetBooleanv(GLenum pname, GLboolean* params) {
344  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetBooleanv");
345  gl_->GetBooleanv(pname, params);
346}
347
348void GLES2TraceImplementation::GetBufferParameteriv(
349    GLenum target, GLenum pname, GLint* params) {
350  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetBufferParameteriv");
351  gl_->GetBufferParameteriv(target, pname, params);
352}
353
354GLenum GLES2TraceImplementation::GetError() {
355  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetError");
356  return gl_->GetError();
357}
358
359void GLES2TraceImplementation::GetFloatv(GLenum pname, GLfloat* params) {
360  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetFloatv");
361  gl_->GetFloatv(pname, params);
362}
363
364void GLES2TraceImplementation::GetFramebufferAttachmentParameteriv(
365    GLenum target, GLenum attachment, GLenum pname, GLint* params) {
366  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetFramebufferAttachmentParameteriv");  // NOLINT
367  gl_->GetFramebufferAttachmentParameteriv(target, attachment, pname, params);
368}
369
370void GLES2TraceImplementation::GetIntegerv(GLenum pname, GLint* params) {
371  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetIntegerv");
372  gl_->GetIntegerv(pname, params);
373}
374
375void GLES2TraceImplementation::GetProgramiv(
376    GLuint program, GLenum pname, GLint* params) {
377  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetProgramiv");
378  gl_->GetProgramiv(program, pname, params);
379}
380
381void GLES2TraceImplementation::GetProgramInfoLog(
382    GLuint program, GLsizei bufsize, GLsizei* length, char* infolog) {
383  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetProgramInfoLog");
384  gl_->GetProgramInfoLog(program, bufsize, length, infolog);
385}
386
387void GLES2TraceImplementation::GetRenderbufferParameteriv(
388    GLenum target, GLenum pname, GLint* params) {
389  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetRenderbufferParameteriv");  // NOLINT
390  gl_->GetRenderbufferParameteriv(target, pname, params);
391}
392
393void GLES2TraceImplementation::GetShaderiv(
394    GLuint shader, GLenum pname, GLint* params) {
395  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetShaderiv");
396  gl_->GetShaderiv(shader, pname, params);
397}
398
399void GLES2TraceImplementation::GetShaderInfoLog(
400    GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog) {
401  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetShaderInfoLog");
402  gl_->GetShaderInfoLog(shader, bufsize, length, infolog);
403}
404
405void GLES2TraceImplementation::GetShaderPrecisionFormat(
406    GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) {
407  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetShaderPrecisionFormat");
408  gl_->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
409}
410
411void GLES2TraceImplementation::GetShaderSource(
412    GLuint shader, GLsizei bufsize, GLsizei* length, char* source) {
413  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetShaderSource");
414  gl_->GetShaderSource(shader, bufsize, length, source);
415}
416
417const GLubyte* GLES2TraceImplementation::GetString(GLenum name) {
418  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetString");
419  return gl_->GetString(name);
420}
421
422void GLES2TraceImplementation::GetTexParameterfv(
423    GLenum target, GLenum pname, GLfloat* params) {
424  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetTexParameterfv");
425  gl_->GetTexParameterfv(target, pname, params);
426}
427
428void GLES2TraceImplementation::GetTexParameteriv(
429    GLenum target, GLenum pname, GLint* params) {
430  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetTexParameteriv");
431  gl_->GetTexParameteriv(target, pname, params);
432}
433
434void GLES2TraceImplementation::GetUniformfv(
435    GLuint program, GLint location, GLfloat* params) {
436  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetUniformfv");
437  gl_->GetUniformfv(program, location, params);
438}
439
440void GLES2TraceImplementation::GetUniformiv(
441    GLuint program, GLint location, GLint* params) {
442  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetUniformiv");
443  gl_->GetUniformiv(program, location, params);
444}
445
446GLint GLES2TraceImplementation::GetUniformLocation(
447    GLuint program, const char* name) {
448  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetUniformLocation");
449  return gl_->GetUniformLocation(program, name);
450}
451
452void GLES2TraceImplementation::GetVertexAttribfv(
453    GLuint index, GLenum pname, GLfloat* params) {
454  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetVertexAttribfv");
455  gl_->GetVertexAttribfv(index, pname, params);
456}
457
458void GLES2TraceImplementation::GetVertexAttribiv(
459    GLuint index, GLenum pname, GLint* params) {
460  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetVertexAttribiv");
461  gl_->GetVertexAttribiv(index, pname, params);
462}
463
464void GLES2TraceImplementation::GetVertexAttribPointerv(
465    GLuint index, GLenum pname, void** pointer) {
466  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetVertexAttribPointerv");
467  gl_->GetVertexAttribPointerv(index, pname, pointer);
468}
469
470void GLES2TraceImplementation::Hint(GLenum target, GLenum mode) {
471  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Hint");
472  gl_->Hint(target, mode);
473}
474
475GLboolean GLES2TraceImplementation::IsBuffer(GLuint buffer) {
476  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsBuffer");
477  return gl_->IsBuffer(buffer);
478}
479
480GLboolean GLES2TraceImplementation::IsEnabled(GLenum cap) {
481  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsEnabled");
482  return gl_->IsEnabled(cap);
483}
484
485GLboolean GLES2TraceImplementation::IsFramebuffer(GLuint framebuffer) {
486  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsFramebuffer");
487  return gl_->IsFramebuffer(framebuffer);
488}
489
490GLboolean GLES2TraceImplementation::IsProgram(GLuint program) {
491  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsProgram");
492  return gl_->IsProgram(program);
493}
494
495GLboolean GLES2TraceImplementation::IsRenderbuffer(GLuint renderbuffer) {
496  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsRenderbuffer");
497  return gl_->IsRenderbuffer(renderbuffer);
498}
499
500GLboolean GLES2TraceImplementation::IsShader(GLuint shader) {
501  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsShader");
502  return gl_->IsShader(shader);
503}
504
505GLboolean GLES2TraceImplementation::IsTexture(GLuint texture) {
506  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsTexture");
507  return gl_->IsTexture(texture);
508}
509
510void GLES2TraceImplementation::LineWidth(GLfloat width) {
511  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::LineWidth");
512  gl_->LineWidth(width);
513}
514
515void GLES2TraceImplementation::LinkProgram(GLuint program) {
516  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::LinkProgram");
517  gl_->LinkProgram(program);
518}
519
520void GLES2TraceImplementation::PixelStorei(GLenum pname, GLint param) {
521  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PixelStorei");
522  gl_->PixelStorei(pname, param);
523}
524
525void GLES2TraceImplementation::PolygonOffset(GLfloat factor, GLfloat units) {
526  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PolygonOffset");
527  gl_->PolygonOffset(factor, units);
528}
529
530void GLES2TraceImplementation::ReadPixels(
531    GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type,
532    void* pixels) {
533  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ReadPixels");
534  gl_->ReadPixels(x, y, width, height, format, type, pixels);
535}
536
537void GLES2TraceImplementation::ReleaseShaderCompiler() {
538  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ReleaseShaderCompiler");
539  gl_->ReleaseShaderCompiler();
540}
541
542void GLES2TraceImplementation::RenderbufferStorage(
543    GLenum target, GLenum internalformat, GLsizei width, GLsizei height) {
544  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::RenderbufferStorage");
545  gl_->RenderbufferStorage(target, internalformat, width, height);
546}
547
548void GLES2TraceImplementation::SampleCoverage(
549    GLclampf value, GLboolean invert) {
550  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::SampleCoverage");
551  gl_->SampleCoverage(value, invert);
552}
553
554void GLES2TraceImplementation::Scissor(
555    GLint x, GLint y, GLsizei width, GLsizei height) {
556  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Scissor");
557  gl_->Scissor(x, y, width, height);
558}
559
560void GLES2TraceImplementation::ShaderBinary(
561    GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary,
562    GLsizei length) {
563  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ShaderBinary");
564  gl_->ShaderBinary(n, shaders, binaryformat, binary, length);
565}
566
567void GLES2TraceImplementation::ShaderSource(
568    GLuint shader, GLsizei count, const GLchar* const* str,
569    const GLint* length) {
570  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ShaderSource");
571  gl_->ShaderSource(shader, count, str, length);
572}
573
574void GLES2TraceImplementation::ShallowFinishCHROMIUM() {
575  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ShallowFinishCHROMIUM");
576  gl_->ShallowFinishCHROMIUM();
577}
578
579void GLES2TraceImplementation::ShallowFlushCHROMIUM() {
580  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ShallowFlushCHROMIUM");
581  gl_->ShallowFlushCHROMIUM();
582}
583
584void GLES2TraceImplementation::StencilFunc(
585    GLenum func, GLint ref, GLuint mask) {
586  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilFunc");
587  gl_->StencilFunc(func, ref, mask);
588}
589
590void GLES2TraceImplementation::StencilFuncSeparate(
591    GLenum face, GLenum func, GLint ref, GLuint mask) {
592  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilFuncSeparate");
593  gl_->StencilFuncSeparate(face, func, ref, mask);
594}
595
596void GLES2TraceImplementation::StencilMask(GLuint mask) {
597  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilMask");
598  gl_->StencilMask(mask);
599}
600
601void GLES2TraceImplementation::StencilMaskSeparate(GLenum face, GLuint mask) {
602  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilMaskSeparate");
603  gl_->StencilMaskSeparate(face, mask);
604}
605
606void GLES2TraceImplementation::StencilOp(
607    GLenum fail, GLenum zfail, GLenum zpass) {
608  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilOp");
609  gl_->StencilOp(fail, zfail, zpass);
610}
611
612void GLES2TraceImplementation::StencilOpSeparate(
613    GLenum face, GLenum fail, GLenum zfail, GLenum zpass) {
614  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilOpSeparate");
615  gl_->StencilOpSeparate(face, fail, zfail, zpass);
616}
617
618void GLES2TraceImplementation::TexImage2D(
619    GLenum target, GLint level, GLint internalformat, GLsizei width,
620    GLsizei height, GLint border, GLenum format, GLenum type,
621    const void* pixels) {
622  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexImage2D");
623  gl_->TexImage2D(
624      target, level, internalformat, width, height, border, format, type,
625      pixels);
626}
627
628void GLES2TraceImplementation::TexParameterf(
629    GLenum target, GLenum pname, GLfloat param) {
630  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexParameterf");
631  gl_->TexParameterf(target, pname, param);
632}
633
634void GLES2TraceImplementation::TexParameterfv(
635    GLenum target, GLenum pname, const GLfloat* params) {
636  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexParameterfv");
637  gl_->TexParameterfv(target, pname, params);
638}
639
640void GLES2TraceImplementation::TexParameteri(
641    GLenum target, GLenum pname, GLint param) {
642  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexParameteri");
643  gl_->TexParameteri(target, pname, param);
644}
645
646void GLES2TraceImplementation::TexParameteriv(
647    GLenum target, GLenum pname, const GLint* params) {
648  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexParameteriv");
649  gl_->TexParameteriv(target, pname, params);
650}
651
652void GLES2TraceImplementation::TexSubImage2D(
653    GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
654    GLsizei height, GLenum format, GLenum type, const void* pixels) {
655  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexSubImage2D");
656  gl_->TexSubImage2D(
657      target, level, xoffset, yoffset, width, height, format, type, pixels);
658}
659
660void GLES2TraceImplementation::Uniform1f(GLint location, GLfloat x) {
661  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform1f");
662  gl_->Uniform1f(location, x);
663}
664
665void GLES2TraceImplementation::Uniform1fv(
666    GLint location, GLsizei count, const GLfloat* v) {
667  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform1fv");
668  gl_->Uniform1fv(location, count, v);
669}
670
671void GLES2TraceImplementation::Uniform1i(GLint location, GLint x) {
672  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform1i");
673  gl_->Uniform1i(location, x);
674}
675
676void GLES2TraceImplementation::Uniform1iv(
677    GLint location, GLsizei count, const GLint* v) {
678  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform1iv");
679  gl_->Uniform1iv(location, count, v);
680}
681
682void GLES2TraceImplementation::Uniform2f(
683    GLint location, GLfloat x, GLfloat y) {
684  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform2f");
685  gl_->Uniform2f(location, x, y);
686}
687
688void GLES2TraceImplementation::Uniform2fv(
689    GLint location, GLsizei count, const GLfloat* v) {
690  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform2fv");
691  gl_->Uniform2fv(location, count, v);
692}
693
694void GLES2TraceImplementation::Uniform2i(GLint location, GLint x, GLint y) {
695  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform2i");
696  gl_->Uniform2i(location, x, y);
697}
698
699void GLES2TraceImplementation::Uniform2iv(
700    GLint location, GLsizei count, const GLint* v) {
701  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform2iv");
702  gl_->Uniform2iv(location, count, v);
703}
704
705void GLES2TraceImplementation::Uniform3f(
706    GLint location, GLfloat x, GLfloat y, GLfloat z) {
707  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform3f");
708  gl_->Uniform3f(location, x, y, z);
709}
710
711void GLES2TraceImplementation::Uniform3fv(
712    GLint location, GLsizei count, const GLfloat* v) {
713  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform3fv");
714  gl_->Uniform3fv(location, count, v);
715}
716
717void GLES2TraceImplementation::Uniform3i(
718    GLint location, GLint x, GLint y, GLint z) {
719  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform3i");
720  gl_->Uniform3i(location, x, y, z);
721}
722
723void GLES2TraceImplementation::Uniform3iv(
724    GLint location, GLsizei count, const GLint* v) {
725  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform3iv");
726  gl_->Uniform3iv(location, count, v);
727}
728
729void GLES2TraceImplementation::Uniform4f(
730    GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
731  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform4f");
732  gl_->Uniform4f(location, x, y, z, w);
733}
734
735void GLES2TraceImplementation::Uniform4fv(
736    GLint location, GLsizei count, const GLfloat* v) {
737  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform4fv");
738  gl_->Uniform4fv(location, count, v);
739}
740
741void GLES2TraceImplementation::Uniform4i(
742    GLint location, GLint x, GLint y, GLint z, GLint w) {
743  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform4i");
744  gl_->Uniform4i(location, x, y, z, w);
745}
746
747void GLES2TraceImplementation::Uniform4iv(
748    GLint location, GLsizei count, const GLint* v) {
749  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform4iv");
750  gl_->Uniform4iv(location, count, v);
751}
752
753void GLES2TraceImplementation::UniformMatrix2fv(
754    GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
755  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformMatrix2fv");
756  gl_->UniformMatrix2fv(location, count, transpose, value);
757}
758
759void GLES2TraceImplementation::UniformMatrix3fv(
760    GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
761  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformMatrix3fv");
762  gl_->UniformMatrix3fv(location, count, transpose, value);
763}
764
765void GLES2TraceImplementation::UniformMatrix4fv(
766    GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
767  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformMatrix4fv");
768  gl_->UniformMatrix4fv(location, count, transpose, value);
769}
770
771void GLES2TraceImplementation::UseProgram(GLuint program) {
772  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UseProgram");
773  gl_->UseProgram(program);
774}
775
776void GLES2TraceImplementation::ValidateProgram(GLuint program) {
777  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ValidateProgram");
778  gl_->ValidateProgram(program);
779}
780
781void GLES2TraceImplementation::VertexAttrib1f(GLuint indx, GLfloat x) {
782  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib1f");
783  gl_->VertexAttrib1f(indx, x);
784}
785
786void GLES2TraceImplementation::VertexAttrib1fv(
787    GLuint indx, const GLfloat* values) {
788  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib1fv");
789  gl_->VertexAttrib1fv(indx, values);
790}
791
792void GLES2TraceImplementation::VertexAttrib2f(
793    GLuint indx, GLfloat x, GLfloat y) {
794  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib2f");
795  gl_->VertexAttrib2f(indx, x, y);
796}
797
798void GLES2TraceImplementation::VertexAttrib2fv(
799    GLuint indx, const GLfloat* values) {
800  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib2fv");
801  gl_->VertexAttrib2fv(indx, values);
802}
803
804void GLES2TraceImplementation::VertexAttrib3f(
805    GLuint indx, GLfloat x, GLfloat y, GLfloat z) {
806  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib3f");
807  gl_->VertexAttrib3f(indx, x, y, z);
808}
809
810void GLES2TraceImplementation::VertexAttrib3fv(
811    GLuint indx, const GLfloat* values) {
812  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib3fv");
813  gl_->VertexAttrib3fv(indx, values);
814}
815
816void GLES2TraceImplementation::VertexAttrib4f(
817    GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
818  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib4f");
819  gl_->VertexAttrib4f(indx, x, y, z, w);
820}
821
822void GLES2TraceImplementation::VertexAttrib4fv(
823    GLuint indx, const GLfloat* values) {
824  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib4fv");
825  gl_->VertexAttrib4fv(indx, values);
826}
827
828void GLES2TraceImplementation::VertexAttribPointer(
829    GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride,
830    const void* ptr) {
831  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttribPointer");
832  gl_->VertexAttribPointer(indx, size, type, normalized, stride, ptr);
833}
834
835void GLES2TraceImplementation::Viewport(
836    GLint x, GLint y, GLsizei width, GLsizei height) {
837  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Viewport");
838  gl_->Viewport(x, y, width, height);
839}
840
841void GLES2TraceImplementation::BlitFramebufferCHROMIUM(
842    GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
843    GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) {
844  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlitFramebufferCHROMIUM");
845  gl_->BlitFramebufferCHROMIUM(
846      srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
847}
848
849void GLES2TraceImplementation::RenderbufferStorageMultisampleCHROMIUM(
850    GLenum target, GLsizei samples, GLenum internalformat, GLsizei width,
851    GLsizei height) {
852  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::RenderbufferStorageMultisampleCHROMIUM");  // NOLINT
853  gl_->RenderbufferStorageMultisampleCHROMIUM(
854      target, samples, internalformat, width, height);
855}
856
857void GLES2TraceImplementation::RenderbufferStorageMultisampleEXT(
858    GLenum target, GLsizei samples, GLenum internalformat, GLsizei width,
859    GLsizei height) {
860  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::RenderbufferStorageMultisampleEXT");  // NOLINT
861  gl_->RenderbufferStorageMultisampleEXT(
862      target, samples, internalformat, width, height);
863}
864
865void GLES2TraceImplementation::FramebufferTexture2DMultisampleEXT(
866    GLenum target, GLenum attachment, GLenum textarget, GLuint texture,
867    GLint level, GLsizei samples) {
868  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::FramebufferTexture2DMultisampleEXT");  // NOLINT
869  gl_->FramebufferTexture2DMultisampleEXT(
870      target, attachment, textarget, texture, level, samples);
871}
872
873void GLES2TraceImplementation::TexStorage2DEXT(
874    GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width,
875    GLsizei height) {
876  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexStorage2DEXT");
877  gl_->TexStorage2DEXT(target, levels, internalFormat, width, height);
878}
879
880void GLES2TraceImplementation::GenQueriesEXT(GLsizei n, GLuint* queries) {
881  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenQueriesEXT");
882  gl_->GenQueriesEXT(n, queries);
883}
884
885void GLES2TraceImplementation::DeleteQueriesEXT(
886    GLsizei n, const GLuint* queries) {
887  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteQueriesEXT");
888  gl_->DeleteQueriesEXT(n, queries);
889}
890
891GLboolean GLES2TraceImplementation::IsQueryEXT(GLuint id) {
892  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsQueryEXT");
893  return gl_->IsQueryEXT(id);
894}
895
896void GLES2TraceImplementation::BeginQueryEXT(GLenum target, GLuint id) {
897  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BeginQueryEXT");
898  gl_->BeginQueryEXT(target, id);
899}
900
901void GLES2TraceImplementation::EndQueryEXT(GLenum target) {
902  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::EndQueryEXT");
903  gl_->EndQueryEXT(target);
904}
905
906void GLES2TraceImplementation::GetQueryivEXT(
907    GLenum target, GLenum pname, GLint* params) {
908  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetQueryivEXT");
909  gl_->GetQueryivEXT(target, pname, params);
910}
911
912void GLES2TraceImplementation::GetQueryObjectuivEXT(
913    GLuint id, GLenum pname, GLuint* params) {
914  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetQueryObjectuivEXT");
915  gl_->GetQueryObjectuivEXT(id, pname, params);
916}
917
918void GLES2TraceImplementation::InsertEventMarkerEXT(
919    GLsizei length, const GLchar* marker) {
920  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::InsertEventMarkerEXT");
921  gl_->InsertEventMarkerEXT(length, marker);
922}
923
924void GLES2TraceImplementation::PushGroupMarkerEXT(
925    GLsizei length, const GLchar* marker) {
926  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PushGroupMarkerEXT");
927  gl_->PushGroupMarkerEXT(length, marker);
928}
929
930void GLES2TraceImplementation::PopGroupMarkerEXT() {
931  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PopGroupMarkerEXT");
932  gl_->PopGroupMarkerEXT();
933}
934
935void GLES2TraceImplementation::GenVertexArraysOES(GLsizei n, GLuint* arrays) {
936  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenVertexArraysOES");
937  gl_->GenVertexArraysOES(n, arrays);
938}
939
940void GLES2TraceImplementation::DeleteVertexArraysOES(
941    GLsizei n, const GLuint* arrays) {
942  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteVertexArraysOES");
943  gl_->DeleteVertexArraysOES(n, arrays);
944}
945
946GLboolean GLES2TraceImplementation::IsVertexArrayOES(GLuint array) {
947  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsVertexArrayOES");
948  return gl_->IsVertexArrayOES(array);
949}
950
951void GLES2TraceImplementation::BindVertexArrayOES(GLuint array) {
952  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindVertexArrayOES");
953  gl_->BindVertexArrayOES(array);
954}
955
956void GLES2TraceImplementation::SwapBuffers() {
957  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::SwapBuffers");
958  gl_->SwapBuffers();
959}
960
961GLuint GLES2TraceImplementation::GetMaxValueInBufferCHROMIUM(
962    GLuint buffer_id, GLsizei count, GLenum type, GLuint offset) {
963  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetMaxValueInBufferCHROMIUM");  // NOLINT
964  return gl_->GetMaxValueInBufferCHROMIUM(buffer_id, count, type, offset);
965}
966
967void GLES2TraceImplementation::GenSharedIdsCHROMIUM(
968    GLuint namespace_id, GLuint id_offset, GLsizei n, GLuint* ids) {
969  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenSharedIdsCHROMIUM");
970  gl_->GenSharedIdsCHROMIUM(namespace_id, id_offset, n, ids);
971}
972
973void GLES2TraceImplementation::DeleteSharedIdsCHROMIUM(
974    GLuint namespace_id, GLsizei n, const GLuint* ids) {
975  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteSharedIdsCHROMIUM");
976  gl_->DeleteSharedIdsCHROMIUM(namespace_id, n, ids);
977}
978
979void GLES2TraceImplementation::RegisterSharedIdsCHROMIUM(
980    GLuint namespace_id, GLsizei n, const GLuint* ids) {
981  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::RegisterSharedIdsCHROMIUM");
982  gl_->RegisterSharedIdsCHROMIUM(namespace_id, n, ids);
983}
984
985GLboolean GLES2TraceImplementation::EnableFeatureCHROMIUM(
986    const char* feature) {
987  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::EnableFeatureCHROMIUM");
988  return gl_->EnableFeatureCHROMIUM(feature);
989}
990
991void* GLES2TraceImplementation::MapBufferCHROMIUM(
992    GLuint target, GLenum access) {
993  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::MapBufferCHROMIUM");
994  return gl_->MapBufferCHROMIUM(target, access);
995}
996
997GLboolean GLES2TraceImplementation::UnmapBufferCHROMIUM(GLuint target) {
998  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UnmapBufferCHROMIUM");
999  return gl_->UnmapBufferCHROMIUM(target);
1000}
1001
1002void* GLES2TraceImplementation::MapImageCHROMIUM(
1003    GLuint image_id, GLenum access) {
1004  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::MapImageCHROMIUM");
1005  return gl_->MapImageCHROMIUM(image_id, access);
1006}
1007
1008void GLES2TraceImplementation::UnmapImageCHROMIUM(GLuint image_id) {
1009  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UnmapImageCHROMIUM");
1010  gl_->UnmapImageCHROMIUM(image_id);
1011}
1012
1013void* GLES2TraceImplementation::MapBufferSubDataCHROMIUM(
1014    GLuint target, GLintptr offset, GLsizeiptr size, GLenum access) {
1015  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::MapBufferSubDataCHROMIUM");
1016  return gl_->MapBufferSubDataCHROMIUM(target, offset, size, access);
1017}
1018
1019void GLES2TraceImplementation::UnmapBufferSubDataCHROMIUM(const void* mem) {
1020  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UnmapBufferSubDataCHROMIUM");  // NOLINT
1021  gl_->UnmapBufferSubDataCHROMIUM(mem);
1022}
1023
1024void* GLES2TraceImplementation::MapTexSubImage2DCHROMIUM(
1025    GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
1026    GLsizei height, GLenum format, GLenum type, GLenum access) {
1027  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::MapTexSubImage2DCHROMIUM");
1028  return gl_->MapTexSubImage2DCHROMIUM(
1029      target, level, xoffset, yoffset, width, height, format, type, access);
1030}
1031
1032void GLES2TraceImplementation::UnmapTexSubImage2DCHROMIUM(const void* mem) {
1033  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UnmapTexSubImage2DCHROMIUM");  // NOLINT
1034  gl_->UnmapTexSubImage2DCHROMIUM(mem);
1035}
1036
1037void GLES2TraceImplementation::ResizeCHROMIUM(
1038    GLuint width, GLuint height, GLfloat scale_factor) {
1039  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ResizeCHROMIUM");
1040  gl_->ResizeCHROMIUM(width, height, scale_factor);
1041}
1042
1043const GLchar* GLES2TraceImplementation::GetRequestableExtensionsCHROMIUM() {
1044  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetRequestableExtensionsCHROMIUM");  // NOLINT
1045  return gl_->GetRequestableExtensionsCHROMIUM();
1046}
1047
1048void GLES2TraceImplementation::RequestExtensionCHROMIUM(
1049    const char* extension) {
1050  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::RequestExtensionCHROMIUM");
1051  gl_->RequestExtensionCHROMIUM(extension);
1052}
1053
1054void GLES2TraceImplementation::RateLimitOffscreenContextCHROMIUM() {
1055  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::RateLimitOffscreenContextCHROMIUM");  // NOLINT
1056  gl_->RateLimitOffscreenContextCHROMIUM();
1057}
1058
1059void GLES2TraceImplementation::GetMultipleIntegervCHROMIUM(
1060    const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size) {
1061  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetMultipleIntegervCHROMIUM");  // NOLINT
1062  gl_->GetMultipleIntegervCHROMIUM(pnames, count, results, size);
1063}
1064
1065void GLES2TraceImplementation::GetProgramInfoCHROMIUM(
1066    GLuint program, GLsizei bufsize, GLsizei* size, void* info) {
1067  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetProgramInfoCHROMIUM");
1068  gl_->GetProgramInfoCHROMIUM(program, bufsize, size, info);
1069}
1070
1071GLuint GLES2TraceImplementation::CreateStreamTextureCHROMIUM(GLuint texture) {
1072  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CreateStreamTextureCHROMIUM");  // NOLINT
1073  return gl_->CreateStreamTextureCHROMIUM(texture);
1074}
1075
1076void GLES2TraceImplementation::DestroyStreamTextureCHROMIUM(GLuint texture) {
1077  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DestroyStreamTextureCHROMIUM");  // NOLINT
1078  gl_->DestroyStreamTextureCHROMIUM(texture);
1079}
1080
1081GLuint GLES2TraceImplementation::CreateImageCHROMIUM(
1082    GLsizei width, GLsizei height, GLenum internalformat) {
1083  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CreateImageCHROMIUM");
1084  return gl_->CreateImageCHROMIUM(width, height, internalformat);
1085}
1086
1087void GLES2TraceImplementation::DestroyImageCHROMIUM(GLuint image_id) {
1088  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DestroyImageCHROMIUM");
1089  gl_->DestroyImageCHROMIUM(image_id);
1090}
1091
1092void GLES2TraceImplementation::GetImageParameterivCHROMIUM(
1093    GLuint image_id, GLenum pname, GLint* params) {
1094  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetImageParameterivCHROMIUM");  // NOLINT
1095  gl_->GetImageParameterivCHROMIUM(image_id, pname, params);
1096}
1097
1098void GLES2TraceImplementation::GetTranslatedShaderSourceANGLE(
1099    GLuint shader, GLsizei bufsize, GLsizei* length, char* source) {
1100  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetTranslatedShaderSourceANGLE");  // NOLINT
1101  gl_->GetTranslatedShaderSourceANGLE(shader, bufsize, length, source);
1102}
1103
1104void GLES2TraceImplementation::PostSubBufferCHROMIUM(
1105    GLint x, GLint y, GLint width, GLint height) {
1106  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PostSubBufferCHROMIUM");
1107  gl_->PostSubBufferCHROMIUM(x, y, width, height);
1108}
1109
1110void GLES2TraceImplementation::TexImageIOSurface2DCHROMIUM(
1111    GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId,
1112    GLuint plane) {
1113  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexImageIOSurface2DCHROMIUM");  // NOLINT
1114  gl_->TexImageIOSurface2DCHROMIUM(target, width, height, ioSurfaceId, plane);
1115}
1116
1117void GLES2TraceImplementation::CopyTextureCHROMIUM(
1118    GLenum target, GLenum source_id, GLenum dest_id, GLint level,
1119    GLint internalformat, GLenum dest_type) {
1120  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CopyTextureCHROMIUM");
1121  gl_->CopyTextureCHROMIUM(
1122      target, source_id, dest_id, level, internalformat, dest_type);
1123}
1124
1125void GLES2TraceImplementation::DrawArraysInstancedANGLE(
1126    GLenum mode, GLint first, GLsizei count, GLsizei primcount) {
1127  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DrawArraysInstancedANGLE");
1128  gl_->DrawArraysInstancedANGLE(mode, first, count, primcount);
1129}
1130
1131void GLES2TraceImplementation::DrawElementsInstancedANGLE(
1132    GLenum mode, GLsizei count, GLenum type, const void* indices,
1133    GLsizei primcount) {
1134  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DrawElementsInstancedANGLE");  // NOLINT
1135  gl_->DrawElementsInstancedANGLE(mode, count, type, indices, primcount);
1136}
1137
1138void GLES2TraceImplementation::VertexAttribDivisorANGLE(
1139    GLuint index, GLuint divisor) {
1140  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttribDivisorANGLE");
1141  gl_->VertexAttribDivisorANGLE(index, divisor);
1142}
1143
1144void GLES2TraceImplementation::GenMailboxCHROMIUM(GLbyte* mailbox) {
1145  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenMailboxCHROMIUM");
1146  gl_->GenMailboxCHROMIUM(mailbox);
1147}
1148
1149void GLES2TraceImplementation::ProduceTextureCHROMIUM(
1150    GLenum target, const GLbyte* mailbox) {
1151  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ProduceTextureCHROMIUM");
1152  gl_->ProduceTextureCHROMIUM(target, mailbox);
1153}
1154
1155void GLES2TraceImplementation::ConsumeTextureCHROMIUM(
1156    GLenum target, const GLbyte* mailbox) {
1157  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ConsumeTextureCHROMIUM");
1158  gl_->ConsumeTextureCHROMIUM(target, mailbox);
1159}
1160
1161void GLES2TraceImplementation::BindUniformLocationCHROMIUM(
1162    GLuint program, GLint location, const char* name) {
1163  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindUniformLocationCHROMIUM");  // NOLINT
1164  gl_->BindUniformLocationCHROMIUM(program, location, name);
1165}
1166
1167void GLES2TraceImplementation::BindTexImage2DCHROMIUM(
1168    GLenum target, GLint imageId) {
1169  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindTexImage2DCHROMIUM");
1170  gl_->BindTexImage2DCHROMIUM(target, imageId);
1171}
1172
1173void GLES2TraceImplementation::ReleaseTexImage2DCHROMIUM(
1174    GLenum target, GLint imageId) {
1175  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ReleaseTexImage2DCHROMIUM");
1176  gl_->ReleaseTexImage2DCHROMIUM(target, imageId);
1177}
1178
1179void GLES2TraceImplementation::TraceBeginCHROMIUM(const char* name) {
1180  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TraceBeginCHROMIUM");
1181  gl_->TraceBeginCHROMIUM(name);
1182}
1183
1184void GLES2TraceImplementation::TraceEndCHROMIUM() {
1185  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TraceEndCHROMIUM");
1186  gl_->TraceEndCHROMIUM();
1187}
1188
1189void GLES2TraceImplementation::AsyncTexSubImage2DCHROMIUM(
1190    GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
1191    GLsizei height, GLenum format, GLenum type, const void* data) {
1192  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::AsyncTexSubImage2DCHROMIUM");  // NOLINT
1193  gl_->AsyncTexSubImage2DCHROMIUM(
1194      target, level, xoffset, yoffset, width, height, format, type, data);
1195}
1196
1197void GLES2TraceImplementation::AsyncTexImage2DCHROMIUM(
1198    GLenum target, GLint level, GLint internalformat, GLsizei width,
1199    GLsizei height, GLint border, GLenum format, GLenum type,
1200    const void* pixels) {
1201  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::AsyncTexImage2DCHROMIUM");
1202  gl_->AsyncTexImage2DCHROMIUM(
1203      target, level, internalformat, width, height, border, format, type,
1204      pixels);
1205}
1206
1207void GLES2TraceImplementation::WaitAsyncTexImage2DCHROMIUM(GLenum target) {
1208  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::WaitAsyncTexImage2DCHROMIUM");  // NOLINT
1209  gl_->WaitAsyncTexImage2DCHROMIUM(target);
1210}
1211
1212void GLES2TraceImplementation::DiscardFramebufferEXT(
1213    GLenum target, GLsizei count, const GLenum* attachments) {
1214  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DiscardFramebufferEXT");
1215  gl_->DiscardFramebufferEXT(target, count, attachments);
1216}
1217
1218void GLES2TraceImplementation::LoseContextCHROMIUM(
1219    GLenum current, GLenum other) {
1220  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::LoseContextCHROMIUM");
1221  gl_->LoseContextCHROMIUM(current, other);
1222}
1223
1224GLuint GLES2TraceImplementation::InsertSyncPointCHROMIUM() {
1225  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::InsertSyncPointCHROMIUM");
1226  return gl_->InsertSyncPointCHROMIUM();
1227}
1228
1229void GLES2TraceImplementation::WaitSyncPointCHROMIUM(GLuint sync_point) {
1230  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::WaitSyncPointCHROMIUM");
1231  gl_->WaitSyncPointCHROMIUM(sync_point);
1232}
1233
1234void GLES2TraceImplementation::DrawBuffersEXT(
1235    GLsizei count, const GLenum* bufs) {
1236  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DrawBuffersEXT");
1237  gl_->DrawBuffersEXT(count, bufs);
1238}
1239
1240void GLES2TraceImplementation::DiscardBackbufferCHROMIUM() {
1241  TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DiscardBackbufferCHROMIUM");
1242  gl_->DiscardBackbufferCHROMIUM();
1243}
1244
1245#endif  // GPU_COMMAND_BUFFER_CLIENT_GLES2_TRACE_IMPLEMENTATION_IMPL_AUTOGEN_H_
1246
1247