1 // Copyright 2014 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.
5 // This file is auto-generated from
6 // gpu/command_buffer/build_gles2_cmd_buffer.py
7 // It's formatted by clang-format using chromium coding style:
8 // clang-format -i -style=chromium filename
11 // This file is included by gles2_trace_implementation.cc
12 #ifndef GPU_COMMAND_BUFFER_CLIENT_GLES2_TRACE_IMPLEMENTATION_IMPL_AUTOGEN_H_
13 #define GPU_COMMAND_BUFFER_CLIENT_GLES2_TRACE_IMPLEMENTATION_IMPL_AUTOGEN_H_
15 void GLES2TraceImplementation::ActiveTexture(GLenum texture
) {
16 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ActiveTexture");
17 gl_
->ActiveTexture(texture
);
20 void GLES2TraceImplementation::AttachShader(GLuint program
, GLuint shader
) {
21 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::AttachShader");
22 gl_
->AttachShader(program
, shader
);
25 void GLES2TraceImplementation::BindAttribLocation(GLuint program
,
28 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindAttribLocation");
29 gl_
->BindAttribLocation(program
, index
, name
);
32 void GLES2TraceImplementation::BindBuffer(GLenum target
, GLuint buffer
) {
33 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindBuffer");
34 gl_
->BindBuffer(target
, buffer
);
37 void GLES2TraceImplementation::BindBufferBase(GLenum target
,
40 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindBufferBase");
41 gl_
->BindBufferBase(target
, index
, buffer
);
44 void GLES2TraceImplementation::BindBufferRange(GLenum target
,
49 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindBufferRange");
50 gl_
->BindBufferRange(target
, index
, buffer
, offset
, size
);
53 void GLES2TraceImplementation::BindFramebuffer(GLenum target
,
55 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindFramebuffer");
56 gl_
->BindFramebuffer(target
, framebuffer
);
59 void GLES2TraceImplementation::BindRenderbuffer(GLenum target
,
60 GLuint renderbuffer
) {
61 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindRenderbuffer");
62 gl_
->BindRenderbuffer(target
, renderbuffer
);
65 void GLES2TraceImplementation::BindSampler(GLuint unit
, GLuint sampler
) {
66 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindSampler");
67 gl_
->BindSampler(unit
, sampler
);
70 void GLES2TraceImplementation::BindTexture(GLenum target
, GLuint texture
) {
71 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindTexture");
72 gl_
->BindTexture(target
, texture
);
75 void GLES2TraceImplementation::BindTransformFeedback(GLenum target
,
76 GLuint transformfeedback
) {
77 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindTransformFeedback");
78 gl_
->BindTransformFeedback(target
, transformfeedback
);
81 void GLES2TraceImplementation::BlendColor(GLclampf red
,
85 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlendColor");
86 gl_
->BlendColor(red
, green
, blue
, alpha
);
89 void GLES2TraceImplementation::BlendEquation(GLenum mode
) {
90 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlendEquation");
91 gl_
->BlendEquation(mode
);
94 void GLES2TraceImplementation::BlendEquationSeparate(GLenum modeRGB
,
96 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlendEquationSeparate");
97 gl_
->BlendEquationSeparate(modeRGB
, modeAlpha
);
100 void GLES2TraceImplementation::BlendFunc(GLenum sfactor
, GLenum dfactor
) {
101 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlendFunc");
102 gl_
->BlendFunc(sfactor
, dfactor
);
105 void GLES2TraceImplementation::BlendFuncSeparate(GLenum srcRGB
,
109 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlendFuncSeparate");
110 gl_
->BlendFuncSeparate(srcRGB
, dstRGB
, srcAlpha
, dstAlpha
);
113 void GLES2TraceImplementation::BufferData(GLenum target
,
117 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BufferData");
118 gl_
->BufferData(target
, size
, data
, usage
);
121 void GLES2TraceImplementation::BufferSubData(GLenum target
,
125 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BufferSubData");
126 gl_
->BufferSubData(target
, offset
, size
, data
);
129 GLenum
GLES2TraceImplementation::CheckFramebufferStatus(GLenum target
) {
130 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CheckFramebufferStatus");
131 return gl_
->CheckFramebufferStatus(target
);
134 void GLES2TraceImplementation::Clear(GLbitfield mask
) {
135 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Clear");
139 void GLES2TraceImplementation::ClearBufferfi(GLenum buffer
,
143 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ClearBufferfi");
144 gl_
->ClearBufferfi(buffer
, drawbuffers
, depth
, stencil
);
147 void GLES2TraceImplementation::ClearBufferfv(GLenum buffer
,
149 const GLfloat
* value
) {
150 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ClearBufferfv");
151 gl_
->ClearBufferfv(buffer
, drawbuffers
, value
);
154 void GLES2TraceImplementation::ClearBufferiv(GLenum buffer
,
156 const GLint
* value
) {
157 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ClearBufferiv");
158 gl_
->ClearBufferiv(buffer
, drawbuffers
, value
);
161 void GLES2TraceImplementation::ClearBufferuiv(GLenum buffer
,
163 const GLuint
* value
) {
164 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ClearBufferuiv");
165 gl_
->ClearBufferuiv(buffer
, drawbuffers
, value
);
168 void GLES2TraceImplementation::ClearColor(GLclampf red
,
172 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ClearColor");
173 gl_
->ClearColor(red
, green
, blue
, alpha
);
176 void GLES2TraceImplementation::ClearDepthf(GLclampf depth
) {
177 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ClearDepthf");
178 gl_
->ClearDepthf(depth
);
181 void GLES2TraceImplementation::ClearStencil(GLint s
) {
182 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ClearStencil");
183 gl_
->ClearStencil(s
);
186 GLenum
GLES2TraceImplementation::ClientWaitSync(GLsync sync
,
189 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ClientWaitSync");
190 return gl_
->ClientWaitSync(sync
, flags
, timeout
);
193 void GLES2TraceImplementation::ColorMask(GLboolean red
,
197 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ColorMask");
198 gl_
->ColorMask(red
, green
, blue
, alpha
);
201 void GLES2TraceImplementation::CompileShader(GLuint shader
) {
202 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CompileShader");
203 gl_
->CompileShader(shader
);
206 void GLES2TraceImplementation::CompressedTexImage2D(GLenum target
,
208 GLenum internalformat
,
214 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CompressedTexImage2D");
215 gl_
->CompressedTexImage2D(target
, level
, internalformat
, width
, height
,
216 border
, imageSize
, data
);
219 void GLES2TraceImplementation::CompressedTexSubImage2D(GLenum target
,
228 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CompressedTexSubImage2D");
229 gl_
->CompressedTexSubImage2D(target
, level
, xoffset
, yoffset
, width
, height
,
230 format
, imageSize
, data
);
233 void GLES2TraceImplementation::CompressedTexImage3D(GLenum target
,
235 GLenum internalformat
,
242 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CompressedTexImage3D");
243 gl_
->CompressedTexImage3D(target
, level
, internalformat
, width
, height
, depth
,
244 border
, imageSize
, data
);
247 void GLES2TraceImplementation::CompressedTexSubImage3D(GLenum target
,
258 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CompressedTexSubImage3D");
259 gl_
->CompressedTexSubImage3D(target
, level
, xoffset
, yoffset
, zoffset
, width
,
260 height
, depth
, format
, imageSize
, data
);
263 void GLES2TraceImplementation::CopyBufferSubData(GLenum readtarget
,
266 GLintptr writeoffset
,
268 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CopyBufferSubData");
269 gl_
->CopyBufferSubData(readtarget
, writetarget
, readoffset
, writeoffset
,
273 void GLES2TraceImplementation::CopyTexImage2D(GLenum target
,
275 GLenum internalformat
,
281 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CopyTexImage2D");
282 gl_
->CopyTexImage2D(target
, level
, internalformat
, x
, y
, width
, height
,
286 void GLES2TraceImplementation::CopyTexSubImage2D(GLenum target
,
294 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CopyTexSubImage2D");
295 gl_
->CopyTexSubImage2D(target
, level
, xoffset
, yoffset
, x
, y
, width
, height
);
298 void GLES2TraceImplementation::CopyTexSubImage3D(GLenum target
,
307 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CopyTexSubImage3D");
308 gl_
->CopyTexSubImage3D(target
, level
, xoffset
, yoffset
, zoffset
, x
, y
, width
,
312 GLuint
GLES2TraceImplementation::CreateProgram() {
313 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CreateProgram");
314 return gl_
->CreateProgram();
317 GLuint
GLES2TraceImplementation::CreateShader(GLenum type
) {
318 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CreateShader");
319 return gl_
->CreateShader(type
);
322 void GLES2TraceImplementation::CullFace(GLenum mode
) {
323 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CullFace");
327 void GLES2TraceImplementation::DeleteBuffers(GLsizei n
, const GLuint
* buffers
) {
328 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteBuffers");
329 gl_
->DeleteBuffers(n
, buffers
);
332 void GLES2TraceImplementation::DeleteFramebuffers(GLsizei n
,
333 const GLuint
* framebuffers
) {
334 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteFramebuffers");
335 gl_
->DeleteFramebuffers(n
, framebuffers
);
338 void GLES2TraceImplementation::DeleteProgram(GLuint program
) {
339 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteProgram");
340 gl_
->DeleteProgram(program
);
343 void GLES2TraceImplementation::DeleteRenderbuffers(
345 const GLuint
* renderbuffers
) {
346 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteRenderbuffers");
347 gl_
->DeleteRenderbuffers(n
, renderbuffers
);
350 void GLES2TraceImplementation::DeleteSamplers(GLsizei n
,
351 const GLuint
* samplers
) {
352 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteSamplers");
353 gl_
->DeleteSamplers(n
, samplers
);
356 void GLES2TraceImplementation::DeleteSync(GLsync sync
) {
357 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteSync");
358 gl_
->DeleteSync(sync
);
361 void GLES2TraceImplementation::DeleteShader(GLuint shader
) {
362 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteShader");
363 gl_
->DeleteShader(shader
);
366 void GLES2TraceImplementation::DeleteTextures(GLsizei n
,
367 const GLuint
* textures
) {
368 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteTextures");
369 gl_
->DeleteTextures(n
, textures
);
372 void GLES2TraceImplementation::DeleteTransformFeedbacks(GLsizei n
,
374 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteTransformFeedbacks");
375 gl_
->DeleteTransformFeedbacks(n
, ids
);
378 void GLES2TraceImplementation::DepthFunc(GLenum func
) {
379 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DepthFunc");
380 gl_
->DepthFunc(func
);
383 void GLES2TraceImplementation::DepthMask(GLboolean flag
) {
384 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DepthMask");
385 gl_
->DepthMask(flag
);
388 void GLES2TraceImplementation::DepthRangef(GLclampf zNear
, GLclampf zFar
) {
389 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DepthRangef");
390 gl_
->DepthRangef(zNear
, zFar
);
393 void GLES2TraceImplementation::DetachShader(GLuint program
, GLuint shader
) {
394 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DetachShader");
395 gl_
->DetachShader(program
, shader
);
398 void GLES2TraceImplementation::Disable(GLenum cap
) {
399 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Disable");
403 void GLES2TraceImplementation::DisableVertexAttribArray(GLuint index
) {
404 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DisableVertexAttribArray");
405 gl_
->DisableVertexAttribArray(index
);
408 void GLES2TraceImplementation::DrawArrays(GLenum mode
,
411 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DrawArrays");
412 gl_
->DrawArrays(mode
, first
, count
);
415 void GLES2TraceImplementation::DrawElements(GLenum mode
,
418 const void* indices
) {
419 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DrawElements");
420 gl_
->DrawElements(mode
, count
, type
, indices
);
423 void GLES2TraceImplementation::DrawRangeElements(GLenum mode
,
428 const void* indices
) {
429 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DrawRangeElements");
430 gl_
->DrawRangeElements(mode
, start
, end
, count
, type
, indices
);
433 void GLES2TraceImplementation::Enable(GLenum cap
) {
434 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Enable");
438 void GLES2TraceImplementation::EnableVertexAttribArray(GLuint index
) {
439 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::EnableVertexAttribArray");
440 gl_
->EnableVertexAttribArray(index
);
443 GLsync
GLES2TraceImplementation::FenceSync(GLenum condition
, GLbitfield flags
) {
444 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::FenceSync");
445 return gl_
->FenceSync(condition
, flags
);
448 void GLES2TraceImplementation::Finish() {
449 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Finish");
453 void GLES2TraceImplementation::Flush() {
454 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Flush");
458 void GLES2TraceImplementation::FramebufferRenderbuffer(
461 GLenum renderbuffertarget
,
462 GLuint renderbuffer
) {
463 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::FramebufferRenderbuffer");
464 gl_
->FramebufferRenderbuffer(target
, attachment
, renderbuffertarget
,
468 void GLES2TraceImplementation::FramebufferTexture2D(GLenum target
,
473 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::FramebufferTexture2D");
474 gl_
->FramebufferTexture2D(target
, attachment
, textarget
, texture
, level
);
477 void GLES2TraceImplementation::FramebufferTextureLayer(GLenum target
,
482 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::FramebufferTextureLayer");
483 gl_
->FramebufferTextureLayer(target
, attachment
, texture
, level
, layer
);
486 void GLES2TraceImplementation::FrontFace(GLenum mode
) {
487 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::FrontFace");
488 gl_
->FrontFace(mode
);
491 void GLES2TraceImplementation::GenBuffers(GLsizei n
, GLuint
* buffers
) {
492 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenBuffers");
493 gl_
->GenBuffers(n
, buffers
);
496 void GLES2TraceImplementation::GenerateMipmap(GLenum target
) {
497 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenerateMipmap");
498 gl_
->GenerateMipmap(target
);
501 void GLES2TraceImplementation::GenFramebuffers(GLsizei n
,
502 GLuint
* framebuffers
) {
503 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenFramebuffers");
504 gl_
->GenFramebuffers(n
, framebuffers
);
507 void GLES2TraceImplementation::GenRenderbuffers(GLsizei n
,
508 GLuint
* renderbuffers
) {
509 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenRenderbuffers");
510 gl_
->GenRenderbuffers(n
, renderbuffers
);
513 void GLES2TraceImplementation::GenSamplers(GLsizei n
, GLuint
* samplers
) {
514 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenSamplers");
515 gl_
->GenSamplers(n
, samplers
);
518 void GLES2TraceImplementation::GenTextures(GLsizei n
, GLuint
* textures
) {
519 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenTextures");
520 gl_
->GenTextures(n
, textures
);
523 void GLES2TraceImplementation::GenTransformFeedbacks(GLsizei n
, GLuint
* ids
) {
524 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenTransformFeedbacks");
525 gl_
->GenTransformFeedbacks(n
, ids
);
528 void GLES2TraceImplementation::GetActiveAttrib(GLuint program
,
535 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetActiveAttrib");
536 gl_
->GetActiveAttrib(program
, index
, bufsize
, length
, size
, type
, name
);
539 void GLES2TraceImplementation::GetActiveUniform(GLuint program
,
546 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetActiveUniform");
547 gl_
->GetActiveUniform(program
, index
, bufsize
, length
, size
, type
, name
);
550 void GLES2TraceImplementation::GetActiveUniformBlockiv(GLuint program
,
554 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetActiveUniformBlockiv");
555 gl_
->GetActiveUniformBlockiv(program
, index
, pname
, params
);
558 void GLES2TraceImplementation::GetActiveUniformBlockName(GLuint program
,
563 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetActiveUniformBlockName");
564 gl_
->GetActiveUniformBlockName(program
, index
, bufsize
, length
, name
);
567 void GLES2TraceImplementation::GetActiveUniformsiv(GLuint program
,
569 const GLuint
* indices
,
572 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetActiveUniformsiv");
573 gl_
->GetActiveUniformsiv(program
, count
, indices
, pname
, params
);
576 void GLES2TraceImplementation::GetAttachedShaders(GLuint program
,
580 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetAttachedShaders");
581 gl_
->GetAttachedShaders(program
, maxcount
, count
, shaders
);
584 GLint
GLES2TraceImplementation::GetAttribLocation(GLuint program
,
586 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetAttribLocation");
587 return gl_
->GetAttribLocation(program
, name
);
590 void GLES2TraceImplementation::GetBooleanv(GLenum pname
, GLboolean
* params
) {
591 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetBooleanv");
592 gl_
->GetBooleanv(pname
, params
);
595 void GLES2TraceImplementation::GetBufferParameteri64v(GLenum target
,
598 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetBufferParameteri64v");
599 gl_
->GetBufferParameteri64v(target
, pname
, params
);
602 void GLES2TraceImplementation::GetBufferParameteriv(GLenum target
,
605 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetBufferParameteriv");
606 gl_
->GetBufferParameteriv(target
, pname
, params
);
609 GLenum
GLES2TraceImplementation::GetError() {
610 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetError");
611 return gl_
->GetError();
614 void GLES2TraceImplementation::GetFloatv(GLenum pname
, GLfloat
* params
) {
615 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetFloatv");
616 gl_
->GetFloatv(pname
, params
);
619 GLint
GLES2TraceImplementation::GetFragDataLocation(GLuint program
,
621 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetFragDataLocation");
622 return gl_
->GetFragDataLocation(program
, name
);
625 void GLES2TraceImplementation::GetFramebufferAttachmentParameteriv(
630 TRACE_EVENT_BINARY_EFFICIENT0(
631 "gpu", "GLES2Trace::GetFramebufferAttachmentParameteriv");
632 gl_
->GetFramebufferAttachmentParameteriv(target
, attachment
, pname
, params
);
635 void GLES2TraceImplementation::GetInteger64v(GLenum pname
, GLint64
* params
) {
636 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetInteger64v");
637 gl_
->GetInteger64v(pname
, params
);
640 void GLES2TraceImplementation::GetIntegeri_v(GLenum pname
,
643 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetIntegeri_v");
644 gl_
->GetIntegeri_v(pname
, index
, data
);
647 void GLES2TraceImplementation::GetInteger64i_v(GLenum pname
,
650 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetInteger64i_v");
651 gl_
->GetInteger64i_v(pname
, index
, data
);
654 void GLES2TraceImplementation::GetIntegerv(GLenum pname
, GLint
* params
) {
655 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetIntegerv");
656 gl_
->GetIntegerv(pname
, params
);
659 void GLES2TraceImplementation::GetInternalformativ(GLenum target
,
664 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetInternalformativ");
665 gl_
->GetInternalformativ(target
, format
, pname
, bufSize
, params
);
668 void GLES2TraceImplementation::GetProgramiv(GLuint program
,
671 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetProgramiv");
672 gl_
->GetProgramiv(program
, pname
, params
);
675 void GLES2TraceImplementation::GetProgramInfoLog(GLuint program
,
679 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetProgramInfoLog");
680 gl_
->GetProgramInfoLog(program
, bufsize
, length
, infolog
);
683 void GLES2TraceImplementation::GetRenderbufferParameteriv(GLenum target
,
686 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
687 "GLES2Trace::GetRenderbufferParameteriv");
688 gl_
->GetRenderbufferParameteriv(target
, pname
, params
);
691 void GLES2TraceImplementation::GetSamplerParameterfv(GLuint sampler
,
694 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetSamplerParameterfv");
695 gl_
->GetSamplerParameterfv(sampler
, pname
, params
);
698 void GLES2TraceImplementation::GetSamplerParameteriv(GLuint sampler
,
701 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetSamplerParameteriv");
702 gl_
->GetSamplerParameteriv(sampler
, pname
, params
);
705 void GLES2TraceImplementation::GetShaderiv(GLuint shader
,
708 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetShaderiv");
709 gl_
->GetShaderiv(shader
, pname
, params
);
712 void GLES2TraceImplementation::GetShaderInfoLog(GLuint shader
,
716 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetShaderInfoLog");
717 gl_
->GetShaderInfoLog(shader
, bufsize
, length
, infolog
);
720 void GLES2TraceImplementation::GetShaderPrecisionFormat(GLenum shadertype
,
721 GLenum precisiontype
,
724 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetShaderPrecisionFormat");
725 gl_
->GetShaderPrecisionFormat(shadertype
, precisiontype
, range
, precision
);
728 void GLES2TraceImplementation::GetShaderSource(GLuint shader
,
732 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetShaderSource");
733 gl_
->GetShaderSource(shader
, bufsize
, length
, source
);
736 const GLubyte
* GLES2TraceImplementation::GetString(GLenum name
) {
737 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetString");
738 return gl_
->GetString(name
);
741 void GLES2TraceImplementation::GetSynciv(GLsync sync
,
746 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetSynciv");
747 gl_
->GetSynciv(sync
, pname
, bufsize
, length
, values
);
750 void GLES2TraceImplementation::GetTexParameterfv(GLenum target
,
753 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetTexParameterfv");
754 gl_
->GetTexParameterfv(target
, pname
, params
);
757 void GLES2TraceImplementation::GetTexParameteriv(GLenum target
,
760 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetTexParameteriv");
761 gl_
->GetTexParameteriv(target
, pname
, params
);
764 void GLES2TraceImplementation::GetTransformFeedbackVarying(GLuint program
,
771 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
772 "GLES2Trace::GetTransformFeedbackVarying");
773 gl_
->GetTransformFeedbackVarying(program
, index
, bufsize
, length
, size
, type
,
777 GLuint
GLES2TraceImplementation::GetUniformBlockIndex(GLuint program
,
779 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetUniformBlockIndex");
780 return gl_
->GetUniformBlockIndex(program
, name
);
783 void GLES2TraceImplementation::GetUniformfv(GLuint program
,
786 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetUniformfv");
787 gl_
->GetUniformfv(program
, location
, params
);
790 void GLES2TraceImplementation::GetUniformiv(GLuint program
,
793 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetUniformiv");
794 gl_
->GetUniformiv(program
, location
, params
);
797 void GLES2TraceImplementation::GetUniformuiv(GLuint program
,
800 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetUniformuiv");
801 gl_
->GetUniformuiv(program
, location
, params
);
804 void GLES2TraceImplementation::GetUniformIndices(GLuint program
,
806 const char* const* names
,
808 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetUniformIndices");
809 gl_
->GetUniformIndices(program
, count
, names
, indices
);
812 GLint
GLES2TraceImplementation::GetUniformLocation(GLuint program
,
814 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetUniformLocation");
815 return gl_
->GetUniformLocation(program
, name
);
818 void GLES2TraceImplementation::GetVertexAttribfv(GLuint index
,
821 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetVertexAttribfv");
822 gl_
->GetVertexAttribfv(index
, pname
, params
);
825 void GLES2TraceImplementation::GetVertexAttribiv(GLuint index
,
828 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetVertexAttribiv");
829 gl_
->GetVertexAttribiv(index
, pname
, params
);
832 void GLES2TraceImplementation::GetVertexAttribIiv(GLuint index
,
835 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetVertexAttribIiv");
836 gl_
->GetVertexAttribIiv(index
, pname
, params
);
839 void GLES2TraceImplementation::GetVertexAttribIuiv(GLuint index
,
842 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetVertexAttribIuiv");
843 gl_
->GetVertexAttribIuiv(index
, pname
, params
);
846 void GLES2TraceImplementation::GetVertexAttribPointerv(GLuint index
,
849 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetVertexAttribPointerv");
850 gl_
->GetVertexAttribPointerv(index
, pname
, pointer
);
853 void GLES2TraceImplementation::Hint(GLenum target
, GLenum mode
) {
854 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Hint");
855 gl_
->Hint(target
, mode
);
858 void GLES2TraceImplementation::InvalidateFramebuffer(
861 const GLenum
* attachments
) {
862 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::InvalidateFramebuffer");
863 gl_
->InvalidateFramebuffer(target
, count
, attachments
);
866 void GLES2TraceImplementation::InvalidateSubFramebuffer(
869 const GLenum
* attachments
,
874 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::InvalidateSubFramebuffer");
875 gl_
->InvalidateSubFramebuffer(target
, count
, attachments
, x
, y
, width
,
879 GLboolean
GLES2TraceImplementation::IsBuffer(GLuint buffer
) {
880 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsBuffer");
881 return gl_
->IsBuffer(buffer
);
884 GLboolean
GLES2TraceImplementation::IsEnabled(GLenum cap
) {
885 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsEnabled");
886 return gl_
->IsEnabled(cap
);
889 GLboolean
GLES2TraceImplementation::IsFramebuffer(GLuint framebuffer
) {
890 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsFramebuffer");
891 return gl_
->IsFramebuffer(framebuffer
);
894 GLboolean
GLES2TraceImplementation::IsProgram(GLuint program
) {
895 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsProgram");
896 return gl_
->IsProgram(program
);
899 GLboolean
GLES2TraceImplementation::IsRenderbuffer(GLuint renderbuffer
) {
900 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsRenderbuffer");
901 return gl_
->IsRenderbuffer(renderbuffer
);
904 GLboolean
GLES2TraceImplementation::IsSampler(GLuint sampler
) {
905 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsSampler");
906 return gl_
->IsSampler(sampler
);
909 GLboolean
GLES2TraceImplementation::IsShader(GLuint shader
) {
910 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsShader");
911 return gl_
->IsShader(shader
);
914 GLboolean
GLES2TraceImplementation::IsSync(GLsync sync
) {
915 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsSync");
916 return gl_
->IsSync(sync
);
919 GLboolean
GLES2TraceImplementation::IsTexture(GLuint texture
) {
920 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsTexture");
921 return gl_
->IsTexture(texture
);
924 GLboolean
GLES2TraceImplementation::IsTransformFeedback(
925 GLuint transformfeedback
) {
926 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsTransformFeedback");
927 return gl_
->IsTransformFeedback(transformfeedback
);
930 void GLES2TraceImplementation::LineWidth(GLfloat width
) {
931 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::LineWidth");
932 gl_
->LineWidth(width
);
935 void GLES2TraceImplementation::LinkProgram(GLuint program
) {
936 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::LinkProgram");
937 gl_
->LinkProgram(program
);
940 void GLES2TraceImplementation::PauseTransformFeedback() {
941 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PauseTransformFeedback");
942 gl_
->PauseTransformFeedback();
945 void GLES2TraceImplementation::PixelStorei(GLenum pname
, GLint param
) {
946 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PixelStorei");
947 gl_
->PixelStorei(pname
, param
);
950 void GLES2TraceImplementation::PolygonOffset(GLfloat factor
, GLfloat units
) {
951 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PolygonOffset");
952 gl_
->PolygonOffset(factor
, units
);
955 void GLES2TraceImplementation::ReadBuffer(GLenum src
) {
956 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ReadBuffer");
957 gl_
->ReadBuffer(src
);
960 void GLES2TraceImplementation::ReadPixels(GLint x
,
967 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ReadPixels");
968 gl_
->ReadPixels(x
, y
, width
, height
, format
, type
, pixels
);
971 void GLES2TraceImplementation::ReleaseShaderCompiler() {
972 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ReleaseShaderCompiler");
973 gl_
->ReleaseShaderCompiler();
976 void GLES2TraceImplementation::RenderbufferStorage(GLenum target
,
977 GLenum internalformat
,
980 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::RenderbufferStorage");
981 gl_
->RenderbufferStorage(target
, internalformat
, width
, height
);
984 void GLES2TraceImplementation::ResumeTransformFeedback() {
985 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ResumeTransformFeedback");
986 gl_
->ResumeTransformFeedback();
989 void GLES2TraceImplementation::SampleCoverage(GLclampf value
,
991 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::SampleCoverage");
992 gl_
->SampleCoverage(value
, invert
);
995 void GLES2TraceImplementation::SamplerParameterf(GLuint sampler
,
998 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::SamplerParameterf");
999 gl_
->SamplerParameterf(sampler
, pname
, param
);
1002 void GLES2TraceImplementation::SamplerParameterfv(GLuint sampler
,
1004 const GLfloat
* params
) {
1005 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::SamplerParameterfv");
1006 gl_
->SamplerParameterfv(sampler
, pname
, params
);
1009 void GLES2TraceImplementation::SamplerParameteri(GLuint sampler
,
1012 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::SamplerParameteri");
1013 gl_
->SamplerParameteri(sampler
, pname
, param
);
1016 void GLES2TraceImplementation::SamplerParameteriv(GLuint sampler
,
1018 const GLint
* params
) {
1019 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::SamplerParameteriv");
1020 gl_
->SamplerParameteriv(sampler
, pname
, params
);
1023 void GLES2TraceImplementation::Scissor(GLint x
,
1027 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Scissor");
1028 gl_
->Scissor(x
, y
, width
, height
);
1031 void GLES2TraceImplementation::ShaderBinary(GLsizei n
,
1032 const GLuint
* shaders
,
1033 GLenum binaryformat
,
1036 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ShaderBinary");
1037 gl_
->ShaderBinary(n
, shaders
, binaryformat
, binary
, length
);
1040 void GLES2TraceImplementation::ShaderSource(GLuint shader
,
1042 const GLchar
* const* str
,
1043 const GLint
* length
) {
1044 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ShaderSource");
1045 gl_
->ShaderSource(shader
, count
, str
, length
);
1048 void GLES2TraceImplementation::ShallowFinishCHROMIUM() {
1049 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ShallowFinishCHROMIUM");
1050 gl_
->ShallowFinishCHROMIUM();
1053 void GLES2TraceImplementation::ShallowFlushCHROMIUM() {
1054 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ShallowFlushCHROMIUM");
1055 gl_
->ShallowFlushCHROMIUM();
1058 void GLES2TraceImplementation::OrderingBarrierCHROMIUM() {
1059 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::OrderingBarrierCHROMIUM");
1060 gl_
->OrderingBarrierCHROMIUM();
1063 void GLES2TraceImplementation::StencilFunc(GLenum func
,
1066 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilFunc");
1067 gl_
->StencilFunc(func
, ref
, mask
);
1070 void GLES2TraceImplementation::StencilFuncSeparate(GLenum face
,
1074 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilFuncSeparate");
1075 gl_
->StencilFuncSeparate(face
, func
, ref
, mask
);
1078 void GLES2TraceImplementation::StencilMask(GLuint mask
) {
1079 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilMask");
1080 gl_
->StencilMask(mask
);
1083 void GLES2TraceImplementation::StencilMaskSeparate(GLenum face
, GLuint mask
) {
1084 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilMaskSeparate");
1085 gl_
->StencilMaskSeparate(face
, mask
);
1088 void GLES2TraceImplementation::StencilOp(GLenum fail
,
1091 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilOp");
1092 gl_
->StencilOp(fail
, zfail
, zpass
);
1095 void GLES2TraceImplementation::StencilOpSeparate(GLenum face
,
1099 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilOpSeparate");
1100 gl_
->StencilOpSeparate(face
, fail
, zfail
, zpass
);
1103 void GLES2TraceImplementation::TexImage2D(GLenum target
,
1105 GLint internalformat
,
1111 const void* pixels
) {
1112 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexImage2D");
1113 gl_
->TexImage2D(target
, level
, internalformat
, width
, height
, border
, format
,
1117 void GLES2TraceImplementation::TexImage3D(GLenum target
,
1119 GLint internalformat
,
1126 const void* pixels
) {
1127 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexImage3D");
1128 gl_
->TexImage3D(target
, level
, internalformat
, width
, height
, depth
, border
,
1129 format
, type
, pixels
);
1132 void GLES2TraceImplementation::TexParameterf(GLenum target
,
1135 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexParameterf");
1136 gl_
->TexParameterf(target
, pname
, param
);
1139 void GLES2TraceImplementation::TexParameterfv(GLenum target
,
1141 const GLfloat
* params
) {
1142 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexParameterfv");
1143 gl_
->TexParameterfv(target
, pname
, params
);
1146 void GLES2TraceImplementation::TexParameteri(GLenum target
,
1149 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexParameteri");
1150 gl_
->TexParameteri(target
, pname
, param
);
1153 void GLES2TraceImplementation::TexParameteriv(GLenum target
,
1155 const GLint
* params
) {
1156 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexParameteriv");
1157 gl_
->TexParameteriv(target
, pname
, params
);
1160 void GLES2TraceImplementation::TexStorage3D(GLenum target
,
1162 GLenum internalFormat
,
1166 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexStorage3D");
1167 gl_
->TexStorage3D(target
, levels
, internalFormat
, width
, height
, depth
);
1170 void GLES2TraceImplementation::TexSubImage2D(GLenum target
,
1178 const void* pixels
) {
1179 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexSubImage2D");
1180 gl_
->TexSubImage2D(target
, level
, xoffset
, yoffset
, width
, height
, format
,
1184 void GLES2TraceImplementation::TexSubImage3D(GLenum target
,
1194 const void* pixels
) {
1195 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexSubImage3D");
1196 gl_
->TexSubImage3D(target
, level
, xoffset
, yoffset
, zoffset
, width
, height
,
1197 depth
, format
, type
, pixels
);
1200 void GLES2TraceImplementation::TransformFeedbackVaryings(
1203 const char* const* varyings
,
1204 GLenum buffermode
) {
1205 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TransformFeedbackVaryings");
1206 gl_
->TransformFeedbackVaryings(program
, count
, varyings
, buffermode
);
1209 void GLES2TraceImplementation::Uniform1f(GLint location
, GLfloat x
) {
1210 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform1f");
1211 gl_
->Uniform1f(location
, x
);
1214 void GLES2TraceImplementation::Uniform1fv(GLint location
,
1217 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform1fv");
1218 gl_
->Uniform1fv(location
, count
, v
);
1221 void GLES2TraceImplementation::Uniform1i(GLint location
, GLint x
) {
1222 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform1i");
1223 gl_
->Uniform1i(location
, x
);
1226 void GLES2TraceImplementation::Uniform1iv(GLint location
,
1229 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform1iv");
1230 gl_
->Uniform1iv(location
, count
, v
);
1233 void GLES2TraceImplementation::Uniform1ui(GLint location
, GLuint x
) {
1234 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform1ui");
1235 gl_
->Uniform1ui(location
, x
);
1238 void GLES2TraceImplementation::Uniform1uiv(GLint location
,
1241 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform1uiv");
1242 gl_
->Uniform1uiv(location
, count
, v
);
1245 void GLES2TraceImplementation::Uniform2f(GLint location
, GLfloat x
, GLfloat y
) {
1246 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform2f");
1247 gl_
->Uniform2f(location
, x
, y
);
1250 void GLES2TraceImplementation::Uniform2fv(GLint location
,
1253 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform2fv");
1254 gl_
->Uniform2fv(location
, count
, v
);
1257 void GLES2TraceImplementation::Uniform2i(GLint location
, GLint x
, GLint y
) {
1258 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform2i");
1259 gl_
->Uniform2i(location
, x
, y
);
1262 void GLES2TraceImplementation::Uniform2iv(GLint location
,
1265 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform2iv");
1266 gl_
->Uniform2iv(location
, count
, v
);
1269 void GLES2TraceImplementation::Uniform2ui(GLint location
, GLuint x
, GLuint y
) {
1270 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform2ui");
1271 gl_
->Uniform2ui(location
, x
, y
);
1274 void GLES2TraceImplementation::Uniform2uiv(GLint location
,
1277 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform2uiv");
1278 gl_
->Uniform2uiv(location
, count
, v
);
1281 void GLES2TraceImplementation::Uniform3f(GLint location
,
1285 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform3f");
1286 gl_
->Uniform3f(location
, x
, y
, z
);
1289 void GLES2TraceImplementation::Uniform3fv(GLint location
,
1292 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform3fv");
1293 gl_
->Uniform3fv(location
, count
, v
);
1296 void GLES2TraceImplementation::Uniform3i(GLint location
,
1300 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform3i");
1301 gl_
->Uniform3i(location
, x
, y
, z
);
1304 void GLES2TraceImplementation::Uniform3iv(GLint location
,
1307 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform3iv");
1308 gl_
->Uniform3iv(location
, count
, v
);
1311 void GLES2TraceImplementation::Uniform3ui(GLint location
,
1315 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform3ui");
1316 gl_
->Uniform3ui(location
, x
, y
, z
);
1319 void GLES2TraceImplementation::Uniform3uiv(GLint location
,
1322 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform3uiv");
1323 gl_
->Uniform3uiv(location
, count
, v
);
1326 void GLES2TraceImplementation::Uniform4f(GLint location
,
1331 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform4f");
1332 gl_
->Uniform4f(location
, x
, y
, z
, w
);
1335 void GLES2TraceImplementation::Uniform4fv(GLint location
,
1338 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform4fv");
1339 gl_
->Uniform4fv(location
, count
, v
);
1342 void GLES2TraceImplementation::Uniform4i(GLint location
,
1347 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform4i");
1348 gl_
->Uniform4i(location
, x
, y
, z
, w
);
1351 void GLES2TraceImplementation::Uniform4iv(GLint location
,
1354 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform4iv");
1355 gl_
->Uniform4iv(location
, count
, v
);
1358 void GLES2TraceImplementation::Uniform4ui(GLint location
,
1363 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform4ui");
1364 gl_
->Uniform4ui(location
, x
, y
, z
, w
);
1367 void GLES2TraceImplementation::Uniform4uiv(GLint location
,
1370 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Uniform4uiv");
1371 gl_
->Uniform4uiv(location
, count
, v
);
1374 void GLES2TraceImplementation::UniformBlockBinding(GLuint program
,
1377 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformBlockBinding");
1378 gl_
->UniformBlockBinding(program
, index
, binding
);
1381 void GLES2TraceImplementation::UniformMatrix2fv(GLint location
,
1383 GLboolean transpose
,
1384 const GLfloat
* value
) {
1385 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformMatrix2fv");
1386 gl_
->UniformMatrix2fv(location
, count
, transpose
, value
);
1389 void GLES2TraceImplementation::UniformMatrix2x3fv(GLint location
,
1391 GLboolean transpose
,
1392 const GLfloat
* value
) {
1393 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformMatrix2x3fv");
1394 gl_
->UniformMatrix2x3fv(location
, count
, transpose
, value
);
1397 void GLES2TraceImplementation::UniformMatrix2x4fv(GLint location
,
1399 GLboolean transpose
,
1400 const GLfloat
* value
) {
1401 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformMatrix2x4fv");
1402 gl_
->UniformMatrix2x4fv(location
, count
, transpose
, value
);
1405 void GLES2TraceImplementation::UniformMatrix3fv(GLint location
,
1407 GLboolean transpose
,
1408 const GLfloat
* value
) {
1409 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformMatrix3fv");
1410 gl_
->UniformMatrix3fv(location
, count
, transpose
, value
);
1413 void GLES2TraceImplementation::UniformMatrix3x2fv(GLint location
,
1415 GLboolean transpose
,
1416 const GLfloat
* value
) {
1417 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformMatrix3x2fv");
1418 gl_
->UniformMatrix3x2fv(location
, count
, transpose
, value
);
1421 void GLES2TraceImplementation::UniformMatrix3x4fv(GLint location
,
1423 GLboolean transpose
,
1424 const GLfloat
* value
) {
1425 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformMatrix3x4fv");
1426 gl_
->UniformMatrix3x4fv(location
, count
, transpose
, value
);
1429 void GLES2TraceImplementation::UniformMatrix4fv(GLint location
,
1431 GLboolean transpose
,
1432 const GLfloat
* value
) {
1433 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformMatrix4fv");
1434 gl_
->UniformMatrix4fv(location
, count
, transpose
, value
);
1437 void GLES2TraceImplementation::UniformMatrix4x2fv(GLint location
,
1439 GLboolean transpose
,
1440 const GLfloat
* value
) {
1441 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformMatrix4x2fv");
1442 gl_
->UniformMatrix4x2fv(location
, count
, transpose
, value
);
1445 void GLES2TraceImplementation::UniformMatrix4x3fv(GLint location
,
1447 GLboolean transpose
,
1448 const GLfloat
* value
) {
1449 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UniformMatrix4x3fv");
1450 gl_
->UniformMatrix4x3fv(location
, count
, transpose
, value
);
1453 void GLES2TraceImplementation::UseProgram(GLuint program
) {
1454 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UseProgram");
1455 gl_
->UseProgram(program
);
1458 void GLES2TraceImplementation::ValidateProgram(GLuint program
) {
1459 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ValidateProgram");
1460 gl_
->ValidateProgram(program
);
1463 void GLES2TraceImplementation::VertexAttrib1f(GLuint indx
, GLfloat x
) {
1464 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib1f");
1465 gl_
->VertexAttrib1f(indx
, x
);
1468 void GLES2TraceImplementation::VertexAttrib1fv(GLuint indx
,
1469 const GLfloat
* values
) {
1470 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib1fv");
1471 gl_
->VertexAttrib1fv(indx
, values
);
1474 void GLES2TraceImplementation::VertexAttrib2f(GLuint indx
,
1477 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib2f");
1478 gl_
->VertexAttrib2f(indx
, x
, y
);
1481 void GLES2TraceImplementation::VertexAttrib2fv(GLuint indx
,
1482 const GLfloat
* values
) {
1483 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib2fv");
1484 gl_
->VertexAttrib2fv(indx
, values
);
1487 void GLES2TraceImplementation::VertexAttrib3f(GLuint indx
,
1491 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib3f");
1492 gl_
->VertexAttrib3f(indx
, x
, y
, z
);
1495 void GLES2TraceImplementation::VertexAttrib3fv(GLuint indx
,
1496 const GLfloat
* values
) {
1497 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib3fv");
1498 gl_
->VertexAttrib3fv(indx
, values
);
1501 void GLES2TraceImplementation::VertexAttrib4f(GLuint indx
,
1506 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib4f");
1507 gl_
->VertexAttrib4f(indx
, x
, y
, z
, w
);
1510 void GLES2TraceImplementation::VertexAttrib4fv(GLuint indx
,
1511 const GLfloat
* values
) {
1512 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttrib4fv");
1513 gl_
->VertexAttrib4fv(indx
, values
);
1516 void GLES2TraceImplementation::VertexAttribI4i(GLuint indx
,
1521 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttribI4i");
1522 gl_
->VertexAttribI4i(indx
, x
, y
, z
, w
);
1525 void GLES2TraceImplementation::VertexAttribI4iv(GLuint indx
,
1526 const GLint
* values
) {
1527 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttribI4iv");
1528 gl_
->VertexAttribI4iv(indx
, values
);
1531 void GLES2TraceImplementation::VertexAttribI4ui(GLuint indx
,
1536 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttribI4ui");
1537 gl_
->VertexAttribI4ui(indx
, x
, y
, z
, w
);
1540 void GLES2TraceImplementation::VertexAttribI4uiv(GLuint indx
,
1541 const GLuint
* values
) {
1542 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttribI4uiv");
1543 gl_
->VertexAttribI4uiv(indx
, values
);
1546 void GLES2TraceImplementation::VertexAttribIPointer(GLuint indx
,
1551 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttribIPointer");
1552 gl_
->VertexAttribIPointer(indx
, size
, type
, stride
, ptr
);
1555 void GLES2TraceImplementation::VertexAttribPointer(GLuint indx
,
1558 GLboolean normalized
,
1561 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttribPointer");
1562 gl_
->VertexAttribPointer(indx
, size
, type
, normalized
, stride
, ptr
);
1565 void GLES2TraceImplementation::Viewport(GLint x
,
1569 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::Viewport");
1570 gl_
->Viewport(x
, y
, width
, height
);
1573 void GLES2TraceImplementation::WaitSync(GLsync sync
,
1576 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::WaitSync");
1577 gl_
->WaitSync(sync
, flags
, timeout
);
1580 void GLES2TraceImplementation::BlitFramebufferCHROMIUM(GLint srcX0
,
1590 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlitFramebufferCHROMIUM");
1591 gl_
->BlitFramebufferCHROMIUM(srcX0
, srcY0
, srcX1
, srcY1
, dstX0
, dstY0
, dstX1
,
1592 dstY1
, mask
, filter
);
1595 void GLES2TraceImplementation::RenderbufferStorageMultisampleCHROMIUM(
1598 GLenum internalformat
,
1601 TRACE_EVENT_BINARY_EFFICIENT0(
1602 "gpu", "GLES2Trace::RenderbufferStorageMultisampleCHROMIUM");
1603 gl_
->RenderbufferStorageMultisampleCHROMIUM(target
, samples
, internalformat
,
1607 void GLES2TraceImplementation::RenderbufferStorageMultisampleEXT(
1610 GLenum internalformat
,
1613 TRACE_EVENT_BINARY_EFFICIENT0(
1614 "gpu", "GLES2Trace::RenderbufferStorageMultisampleEXT");
1615 gl_
->RenderbufferStorageMultisampleEXT(target
, samples
, internalformat
, width
,
1619 void GLES2TraceImplementation::FramebufferTexture2DMultisampleEXT(
1626 TRACE_EVENT_BINARY_EFFICIENT0(
1627 "gpu", "GLES2Trace::FramebufferTexture2DMultisampleEXT");
1628 gl_
->FramebufferTexture2DMultisampleEXT(target
, attachment
, textarget
,
1629 texture
, level
, samples
);
1632 void GLES2TraceImplementation::TexStorage2DEXT(GLenum target
,
1634 GLenum internalFormat
,
1637 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TexStorage2DEXT");
1638 gl_
->TexStorage2DEXT(target
, levels
, internalFormat
, width
, height
);
1641 void GLES2TraceImplementation::GenQueriesEXT(GLsizei n
, GLuint
* queries
) {
1642 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenQueriesEXT");
1643 gl_
->GenQueriesEXT(n
, queries
);
1646 void GLES2TraceImplementation::DeleteQueriesEXT(GLsizei n
,
1647 const GLuint
* queries
) {
1648 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteQueriesEXT");
1649 gl_
->DeleteQueriesEXT(n
, queries
);
1652 void GLES2TraceImplementation::QueryCounterEXT(GLuint id
, GLenum target
) {
1653 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::QueryCounterEXT");
1654 gl_
->QueryCounterEXT(id
, target
);
1657 GLboolean
GLES2TraceImplementation::IsQueryEXT(GLuint id
) {
1658 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsQueryEXT");
1659 return gl_
->IsQueryEXT(id
);
1662 void GLES2TraceImplementation::BeginQueryEXT(GLenum target
, GLuint id
) {
1663 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BeginQueryEXT");
1664 gl_
->BeginQueryEXT(target
, id
);
1667 void GLES2TraceImplementation::BeginTransformFeedback(GLenum primitivemode
) {
1668 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BeginTransformFeedback");
1669 gl_
->BeginTransformFeedback(primitivemode
);
1672 void GLES2TraceImplementation::EndQueryEXT(GLenum target
) {
1673 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::EndQueryEXT");
1674 gl_
->EndQueryEXT(target
);
1677 void GLES2TraceImplementation::EndTransformFeedback() {
1678 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::EndTransformFeedback");
1679 gl_
->EndTransformFeedback();
1682 void GLES2TraceImplementation::GetQueryivEXT(GLenum target
,
1685 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetQueryivEXT");
1686 gl_
->GetQueryivEXT(target
, pname
, params
);
1689 void GLES2TraceImplementation::GetQueryObjectivEXT(GLuint id
,
1692 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetQueryObjectivEXT");
1693 gl_
->GetQueryObjectivEXT(id
, pname
, params
);
1696 void GLES2TraceImplementation::GetQueryObjectuivEXT(GLuint id
,
1699 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetQueryObjectuivEXT");
1700 gl_
->GetQueryObjectuivEXT(id
, pname
, params
);
1703 void GLES2TraceImplementation::GetQueryObjecti64vEXT(GLuint id
,
1706 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetQueryObjecti64vEXT");
1707 gl_
->GetQueryObjecti64vEXT(id
, pname
, params
);
1710 void GLES2TraceImplementation::GetQueryObjectui64vEXT(GLuint id
,
1713 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetQueryObjectui64vEXT");
1714 gl_
->GetQueryObjectui64vEXT(id
, pname
, params
);
1717 void GLES2TraceImplementation::SetDisjointValueSyncCHROMIUM() {
1718 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
1719 "GLES2Trace::SetDisjointValueSyncCHROMIUM");
1720 gl_
->SetDisjointValueSyncCHROMIUM();
1723 void GLES2TraceImplementation::InsertEventMarkerEXT(GLsizei length
,
1724 const GLchar
* marker
) {
1725 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::InsertEventMarkerEXT");
1726 gl_
->InsertEventMarkerEXT(length
, marker
);
1729 void GLES2TraceImplementation::PushGroupMarkerEXT(GLsizei length
,
1730 const GLchar
* marker
) {
1731 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PushGroupMarkerEXT");
1732 gl_
->PushGroupMarkerEXT(length
, marker
);
1735 void GLES2TraceImplementation::PopGroupMarkerEXT() {
1736 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PopGroupMarkerEXT");
1737 gl_
->PopGroupMarkerEXT();
1740 void GLES2TraceImplementation::GenVertexArraysOES(GLsizei n
, GLuint
* arrays
) {
1741 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenVertexArraysOES");
1742 gl_
->GenVertexArraysOES(n
, arrays
);
1745 void GLES2TraceImplementation::DeleteVertexArraysOES(GLsizei n
,
1746 const GLuint
* arrays
) {
1747 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeleteVertexArraysOES");
1748 gl_
->DeleteVertexArraysOES(n
, arrays
);
1751 GLboolean
GLES2TraceImplementation::IsVertexArrayOES(GLuint array
) {
1752 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsVertexArrayOES");
1753 return gl_
->IsVertexArrayOES(array
);
1756 void GLES2TraceImplementation::BindVertexArrayOES(GLuint array
) {
1757 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindVertexArrayOES");
1758 gl_
->BindVertexArrayOES(array
);
1761 void GLES2TraceImplementation::SwapBuffers() {
1762 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::SwapBuffers");
1766 GLuint
GLES2TraceImplementation::GetMaxValueInBufferCHROMIUM(GLuint buffer_id
,
1770 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
1771 "GLES2Trace::GetMaxValueInBufferCHROMIUM");
1772 return gl_
->GetMaxValueInBufferCHROMIUM(buffer_id
, count
, type
, offset
);
1775 GLboolean
GLES2TraceImplementation::EnableFeatureCHROMIUM(const char* feature
) {
1776 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::EnableFeatureCHROMIUM");
1777 return gl_
->EnableFeatureCHROMIUM(feature
);
1780 void* GLES2TraceImplementation::MapBufferCHROMIUM(GLuint target
,
1782 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::MapBufferCHROMIUM");
1783 return gl_
->MapBufferCHROMIUM(target
, access
);
1786 GLboolean
GLES2TraceImplementation::UnmapBufferCHROMIUM(GLuint target
) {
1787 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UnmapBufferCHROMIUM");
1788 return gl_
->UnmapBufferCHROMIUM(target
);
1791 void* GLES2TraceImplementation::MapBufferSubDataCHROMIUM(GLuint target
,
1795 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::MapBufferSubDataCHROMIUM");
1796 return gl_
->MapBufferSubDataCHROMIUM(target
, offset
, size
, access
);
1799 void GLES2TraceImplementation::UnmapBufferSubDataCHROMIUM(const void* mem
) {
1800 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
1801 "GLES2Trace::UnmapBufferSubDataCHROMIUM");
1802 gl_
->UnmapBufferSubDataCHROMIUM(mem
);
1805 void* GLES2TraceImplementation::MapBufferRange(GLenum target
,
1808 GLbitfield access
) {
1809 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::MapBufferRange");
1810 return gl_
->MapBufferRange(target
, offset
, size
, access
);
1813 GLboolean
GLES2TraceImplementation::UnmapBuffer(GLenum target
) {
1814 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::UnmapBuffer");
1815 return gl_
->UnmapBuffer(target
);
1818 void* GLES2TraceImplementation::MapTexSubImage2DCHROMIUM(GLenum target
,
1827 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::MapTexSubImage2DCHROMIUM");
1828 return gl_
->MapTexSubImage2DCHROMIUM(target
, level
, xoffset
, yoffset
, width
,
1829 height
, format
, type
, access
);
1832 void GLES2TraceImplementation::UnmapTexSubImage2DCHROMIUM(const void* mem
) {
1833 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
1834 "GLES2Trace::UnmapTexSubImage2DCHROMIUM");
1835 gl_
->UnmapTexSubImage2DCHROMIUM(mem
);
1838 void GLES2TraceImplementation::ResizeCHROMIUM(GLuint width
,
1840 GLfloat scale_factor
) {
1841 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ResizeCHROMIUM");
1842 gl_
->ResizeCHROMIUM(width
, height
, scale_factor
);
1845 const GLchar
* GLES2TraceImplementation::GetRequestableExtensionsCHROMIUM() {
1846 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
1847 "GLES2Trace::GetRequestableExtensionsCHROMIUM");
1848 return gl_
->GetRequestableExtensionsCHROMIUM();
1851 void GLES2TraceImplementation::RequestExtensionCHROMIUM(const char* extension
) {
1852 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::RequestExtensionCHROMIUM");
1853 gl_
->RequestExtensionCHROMIUM(extension
);
1856 void GLES2TraceImplementation::RateLimitOffscreenContextCHROMIUM() {
1857 TRACE_EVENT_BINARY_EFFICIENT0(
1858 "gpu", "GLES2Trace::RateLimitOffscreenContextCHROMIUM");
1859 gl_
->RateLimitOffscreenContextCHROMIUM();
1862 void GLES2TraceImplementation::GetProgramInfoCHROMIUM(GLuint program
,
1866 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetProgramInfoCHROMIUM");
1867 gl_
->GetProgramInfoCHROMIUM(program
, bufsize
, size
, info
);
1870 void GLES2TraceImplementation::GetUniformBlocksCHROMIUM(GLuint program
,
1874 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetUniformBlocksCHROMIUM");
1875 gl_
->GetUniformBlocksCHROMIUM(program
, bufsize
, size
, info
);
1878 void GLES2TraceImplementation::GetTransformFeedbackVaryingsCHROMIUM(
1883 TRACE_EVENT_BINARY_EFFICIENT0(
1884 "gpu", "GLES2Trace::GetTransformFeedbackVaryingsCHROMIUM");
1885 gl_
->GetTransformFeedbackVaryingsCHROMIUM(program
, bufsize
, size
, info
);
1888 void GLES2TraceImplementation::GetUniformsES3CHROMIUM(GLuint program
,
1892 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetUniformsES3CHROMIUM");
1893 gl_
->GetUniformsES3CHROMIUM(program
, bufsize
, size
, info
);
1896 GLuint
GLES2TraceImplementation::CreateStreamTextureCHROMIUM(GLuint texture
) {
1897 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
1898 "GLES2Trace::CreateStreamTextureCHROMIUM");
1899 return gl_
->CreateStreamTextureCHROMIUM(texture
);
1902 GLuint
GLES2TraceImplementation::CreateImageCHROMIUM(ClientBuffer buffer
,
1905 GLenum internalformat
) {
1906 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CreateImageCHROMIUM");
1907 return gl_
->CreateImageCHROMIUM(buffer
, width
, height
, internalformat
);
1910 void GLES2TraceImplementation::DestroyImageCHROMIUM(GLuint image_id
) {
1911 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DestroyImageCHROMIUM");
1912 gl_
->DestroyImageCHROMIUM(image_id
);
1915 GLuint
GLES2TraceImplementation::CreateGpuMemoryBufferImageCHROMIUM(
1918 GLenum internalformat
,
1920 TRACE_EVENT_BINARY_EFFICIENT0(
1921 "gpu", "GLES2Trace::CreateGpuMemoryBufferImageCHROMIUM");
1922 return gl_
->CreateGpuMemoryBufferImageCHROMIUM(width
, height
, internalformat
,
1926 void GLES2TraceImplementation::GetTranslatedShaderSourceANGLE(GLuint shader
,
1930 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
1931 "GLES2Trace::GetTranslatedShaderSourceANGLE");
1932 gl_
->GetTranslatedShaderSourceANGLE(shader
, bufsize
, length
, source
);
1935 void GLES2TraceImplementation::PostSubBufferCHROMIUM(GLint x
,
1939 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PostSubBufferCHROMIUM");
1940 gl_
->PostSubBufferCHROMIUM(x
, y
, width
, height
);
1943 void GLES2TraceImplementation::TexImageIOSurface2DCHROMIUM(GLenum target
,
1948 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
1949 "GLES2Trace::TexImageIOSurface2DCHROMIUM");
1950 gl_
->TexImageIOSurface2DCHROMIUM(target
, width
, height
, ioSurfaceId
, plane
);
1953 void GLES2TraceImplementation::CopyTextureCHROMIUM(
1957 GLint internalformat
,
1959 GLboolean unpack_flip_y
,
1960 GLboolean unpack_premultiply_alpha
,
1961 GLboolean unpack_unmultiply_alpha
) {
1962 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CopyTextureCHROMIUM");
1963 gl_
->CopyTextureCHROMIUM(target
, source_id
, dest_id
, internalformat
,
1964 dest_type
, unpack_flip_y
, unpack_premultiply_alpha
,
1965 unpack_unmultiply_alpha
);
1968 void GLES2TraceImplementation::CopySubTextureCHROMIUM(
1978 GLboolean unpack_flip_y
,
1979 GLboolean unpack_premultiply_alpha
,
1980 GLboolean unpack_unmultiply_alpha
) {
1981 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CopySubTextureCHROMIUM");
1982 gl_
->CopySubTextureCHROMIUM(
1983 target
, source_id
, dest_id
, xoffset
, yoffset
, x
, y
, width
, height
,
1984 unpack_flip_y
, unpack_premultiply_alpha
, unpack_unmultiply_alpha
);
1987 void GLES2TraceImplementation::CompressedCopyTextureCHROMIUM(GLenum target
,
1990 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
1991 "GLES2Trace::CompressedCopyTextureCHROMIUM");
1992 gl_
->CompressedCopyTextureCHROMIUM(target
, source_id
, dest_id
);
1995 void GLES2TraceImplementation::CompressedCopySubTextureCHROMIUM(
2005 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2006 "GLES2Trace::CompressedCopySubTextureCHROMIUM");
2007 gl_
->CompressedCopySubTextureCHROMIUM(target
, source_id
, dest_id
, xoffset
,
2008 yoffset
, x
, y
, width
, height
);
2011 void GLES2TraceImplementation::DrawArraysInstancedANGLE(GLenum mode
,
2014 GLsizei primcount
) {
2015 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DrawArraysInstancedANGLE");
2016 gl_
->DrawArraysInstancedANGLE(mode
, first
, count
, primcount
);
2019 void GLES2TraceImplementation::DrawElementsInstancedANGLE(GLenum mode
,
2022 const void* indices
,
2023 GLsizei primcount
) {
2024 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2025 "GLES2Trace::DrawElementsInstancedANGLE");
2026 gl_
->DrawElementsInstancedANGLE(mode
, count
, type
, indices
, primcount
);
2029 void GLES2TraceImplementation::VertexAttribDivisorANGLE(GLuint index
,
2031 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::VertexAttribDivisorANGLE");
2032 gl_
->VertexAttribDivisorANGLE(index
, divisor
);
2035 void GLES2TraceImplementation::GenMailboxCHROMIUM(GLbyte
* mailbox
) {
2036 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenMailboxCHROMIUM");
2037 gl_
->GenMailboxCHROMIUM(mailbox
);
2040 void GLES2TraceImplementation::ProduceTextureCHROMIUM(GLenum target
,
2041 const GLbyte
* mailbox
) {
2042 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ProduceTextureCHROMIUM");
2043 gl_
->ProduceTextureCHROMIUM(target
, mailbox
);
2046 void GLES2TraceImplementation::ProduceTextureDirectCHROMIUM(
2049 const GLbyte
* mailbox
) {
2050 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2051 "GLES2Trace::ProduceTextureDirectCHROMIUM");
2052 gl_
->ProduceTextureDirectCHROMIUM(texture
, target
, mailbox
);
2055 void GLES2TraceImplementation::ConsumeTextureCHROMIUM(GLenum target
,
2056 const GLbyte
* mailbox
) {
2057 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ConsumeTextureCHROMIUM");
2058 gl_
->ConsumeTextureCHROMIUM(target
, mailbox
);
2061 GLuint
GLES2TraceImplementation::CreateAndConsumeTextureCHROMIUM(
2063 const GLbyte
* mailbox
) {
2064 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2065 "GLES2Trace::CreateAndConsumeTextureCHROMIUM");
2066 return gl_
->CreateAndConsumeTextureCHROMIUM(target
, mailbox
);
2069 void GLES2TraceImplementation::BindUniformLocationCHROMIUM(GLuint program
,
2072 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2073 "GLES2Trace::BindUniformLocationCHROMIUM");
2074 gl_
->BindUniformLocationCHROMIUM(program
, location
, name
);
2077 void GLES2TraceImplementation::GenValuebuffersCHROMIUM(GLsizei n
,
2079 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenValuebuffersCHROMIUM");
2080 gl_
->GenValuebuffersCHROMIUM(n
, buffers
);
2083 void GLES2TraceImplementation::DeleteValuebuffersCHROMIUM(
2085 const GLuint
* valuebuffers
) {
2086 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2087 "GLES2Trace::DeleteValuebuffersCHROMIUM");
2088 gl_
->DeleteValuebuffersCHROMIUM(n
, valuebuffers
);
2091 GLboolean
GLES2TraceImplementation::IsValuebufferCHROMIUM(GLuint valuebuffer
) {
2092 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsValuebufferCHROMIUM");
2093 return gl_
->IsValuebufferCHROMIUM(valuebuffer
);
2096 void GLES2TraceImplementation::BindValuebufferCHROMIUM(GLenum target
,
2097 GLuint valuebuffer
) {
2098 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindValuebufferCHROMIUM");
2099 gl_
->BindValuebufferCHROMIUM(target
, valuebuffer
);
2102 void GLES2TraceImplementation::SubscribeValueCHROMIUM(GLenum target
,
2103 GLenum subscription
) {
2104 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::SubscribeValueCHROMIUM");
2105 gl_
->SubscribeValueCHROMIUM(target
, subscription
);
2108 void GLES2TraceImplementation::PopulateSubscribedValuesCHROMIUM(GLenum target
) {
2109 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2110 "GLES2Trace::PopulateSubscribedValuesCHROMIUM");
2111 gl_
->PopulateSubscribedValuesCHROMIUM(target
);
2114 void GLES2TraceImplementation::UniformValuebufferCHROMIUM(GLint location
,
2116 GLenum subscription
) {
2117 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2118 "GLES2Trace::UniformValuebufferCHROMIUM");
2119 gl_
->UniformValuebufferCHROMIUM(location
, target
, subscription
);
2122 void GLES2TraceImplementation::BindTexImage2DCHROMIUM(GLenum target
,
2124 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BindTexImage2DCHROMIUM");
2125 gl_
->BindTexImage2DCHROMIUM(target
, imageId
);
2128 void GLES2TraceImplementation::ReleaseTexImage2DCHROMIUM(GLenum target
,
2130 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ReleaseTexImage2DCHROMIUM");
2131 gl_
->ReleaseTexImage2DCHROMIUM(target
, imageId
);
2134 void GLES2TraceImplementation::TraceBeginCHROMIUM(const char* category_name
,
2135 const char* trace_name
) {
2136 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TraceBeginCHROMIUM");
2137 gl_
->TraceBeginCHROMIUM(category_name
, trace_name
);
2140 void GLES2TraceImplementation::TraceEndCHROMIUM() {
2141 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::TraceEndCHROMIUM");
2142 gl_
->TraceEndCHROMIUM();
2145 void GLES2TraceImplementation::AsyncTexSubImage2DCHROMIUM(GLenum target
,
2154 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2155 "GLES2Trace::AsyncTexSubImage2DCHROMIUM");
2156 gl_
->AsyncTexSubImage2DCHROMIUM(target
, level
, xoffset
, yoffset
, width
,
2157 height
, format
, type
, data
);
2160 void GLES2TraceImplementation::AsyncTexImage2DCHROMIUM(GLenum target
,
2162 GLenum internalformat
,
2168 const void* pixels
) {
2169 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::AsyncTexImage2DCHROMIUM");
2170 gl_
->AsyncTexImage2DCHROMIUM(target
, level
, internalformat
, width
, height
,
2171 border
, format
, type
, pixels
);
2174 void GLES2TraceImplementation::WaitAsyncTexImage2DCHROMIUM(GLenum target
) {
2175 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2176 "GLES2Trace::WaitAsyncTexImage2DCHROMIUM");
2177 gl_
->WaitAsyncTexImage2DCHROMIUM(target
);
2180 void GLES2TraceImplementation::WaitAllAsyncTexImage2DCHROMIUM() {
2181 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2182 "GLES2Trace::WaitAllAsyncTexImage2DCHROMIUM");
2183 gl_
->WaitAllAsyncTexImage2DCHROMIUM();
2186 void GLES2TraceImplementation::DiscardFramebufferEXT(
2189 const GLenum
* attachments
) {
2190 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DiscardFramebufferEXT");
2191 gl_
->DiscardFramebufferEXT(target
, count
, attachments
);
2194 void GLES2TraceImplementation::LoseContextCHROMIUM(GLenum current
,
2196 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::LoseContextCHROMIUM");
2197 gl_
->LoseContextCHROMIUM(current
, other
);
2200 GLuint
GLES2TraceImplementation::InsertSyncPointCHROMIUM() {
2201 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::InsertSyncPointCHROMIUM");
2202 return gl_
->InsertSyncPointCHROMIUM();
2205 void GLES2TraceImplementation::WaitSyncPointCHROMIUM(GLuint sync_point
) {
2206 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::WaitSyncPointCHROMIUM");
2207 gl_
->WaitSyncPointCHROMIUM(sync_point
);
2210 void GLES2TraceImplementation::DrawBuffersEXT(GLsizei count
,
2211 const GLenum
* bufs
) {
2212 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DrawBuffersEXT");
2213 gl_
->DrawBuffersEXT(count
, bufs
);
2216 void GLES2TraceImplementation::DiscardBackbufferCHROMIUM() {
2217 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DiscardBackbufferCHROMIUM");
2218 gl_
->DiscardBackbufferCHROMIUM();
2221 void GLES2TraceImplementation::ScheduleOverlayPlaneCHROMIUM(
2222 GLint plane_z_order
,
2223 GLenum plane_transform
,
2224 GLuint overlay_texture_id
,
2228 GLint bounds_height
,
2232 GLfloat uv_height
) {
2233 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2234 "GLES2Trace::ScheduleOverlayPlaneCHROMIUM");
2235 gl_
->ScheduleOverlayPlaneCHROMIUM(
2236 plane_z_order
, plane_transform
, overlay_texture_id
, bounds_x
, bounds_y
,
2237 bounds_width
, bounds_height
, uv_x
, uv_y
, uv_width
, uv_height
);
2240 void GLES2TraceImplementation::SwapInterval(GLint interval
) {
2241 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::SwapInterval");
2242 gl_
->SwapInterval(interval
);
2245 void GLES2TraceImplementation::FlushDriverCachesCHROMIUM() {
2246 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::FlushDriverCachesCHROMIUM");
2247 gl_
->FlushDriverCachesCHROMIUM();
2250 void GLES2TraceImplementation::MatrixLoadfCHROMIUM(GLenum matrixMode
,
2252 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::MatrixLoadfCHROMIUM");
2253 gl_
->MatrixLoadfCHROMIUM(matrixMode
, m
);
2256 void GLES2TraceImplementation::MatrixLoadIdentityCHROMIUM(GLenum matrixMode
) {
2257 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2258 "GLES2Trace::MatrixLoadIdentityCHROMIUM");
2259 gl_
->MatrixLoadIdentityCHROMIUM(matrixMode
);
2262 GLuint
GLES2TraceImplementation::GenPathsCHROMIUM(GLsizei range
) {
2263 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GenPathsCHROMIUM");
2264 return gl_
->GenPathsCHROMIUM(range
);
2267 void GLES2TraceImplementation::DeletePathsCHROMIUM(GLuint path
, GLsizei range
) {
2268 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::DeletePathsCHROMIUM");
2269 gl_
->DeletePathsCHROMIUM(path
, range
);
2272 GLboolean
GLES2TraceImplementation::IsPathCHROMIUM(GLuint path
) {
2273 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::IsPathCHROMIUM");
2274 return gl_
->IsPathCHROMIUM(path
);
2277 void GLES2TraceImplementation::PathCommandsCHROMIUM(GLuint path
,
2278 GLsizei numCommands
,
2279 const GLubyte
* commands
,
2282 const GLvoid
* coords
) {
2283 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PathCommandsCHROMIUM");
2284 gl_
->PathCommandsCHROMIUM(path
, numCommands
, commands
, numCoords
, coordType
,
2288 void GLES2TraceImplementation::PathParameterfCHROMIUM(GLuint path
,
2291 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PathParameterfCHROMIUM");
2292 gl_
->PathParameterfCHROMIUM(path
, pname
, value
);
2295 void GLES2TraceImplementation::PathParameteriCHROMIUM(GLuint path
,
2298 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PathParameteriCHROMIUM");
2299 gl_
->PathParameteriCHROMIUM(path
, pname
, value
);
2302 void GLES2TraceImplementation::PathStencilFuncCHROMIUM(GLenum func
,
2305 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::PathStencilFuncCHROMIUM");
2306 gl_
->PathStencilFuncCHROMIUM(func
, ref
, mask
);
2309 void GLES2TraceImplementation::StencilFillPathCHROMIUM(GLuint path
,
2312 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilFillPathCHROMIUM");
2313 gl_
->StencilFillPathCHROMIUM(path
, fillMode
, mask
);
2316 void GLES2TraceImplementation::StencilStrokePathCHROMIUM(GLuint path
,
2319 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::StencilStrokePathCHROMIUM");
2320 gl_
->StencilStrokePathCHROMIUM(path
, reference
, mask
);
2323 void GLES2TraceImplementation::CoverFillPathCHROMIUM(GLuint path
,
2325 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CoverFillPathCHROMIUM");
2326 gl_
->CoverFillPathCHROMIUM(path
, coverMode
);
2329 void GLES2TraceImplementation::CoverStrokePathCHROMIUM(GLuint path
,
2331 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::CoverStrokePathCHROMIUM");
2332 gl_
->CoverStrokePathCHROMIUM(path
, coverMode
);
2335 void GLES2TraceImplementation::StencilThenCoverFillPathCHROMIUM(
2340 TRACE_EVENT_BINARY_EFFICIENT0("gpu",
2341 "GLES2Trace::StencilThenCoverFillPathCHROMIUM");
2342 gl_
->StencilThenCoverFillPathCHROMIUM(path
, fillMode
, mask
, coverMode
);
2345 void GLES2TraceImplementation::StencilThenCoverStrokePathCHROMIUM(
2350 TRACE_EVENT_BINARY_EFFICIENT0(
2351 "gpu", "GLES2Trace::StencilThenCoverStrokePathCHROMIUM");
2352 gl_
->StencilThenCoverStrokePathCHROMIUM(path
, reference
, mask
, coverMode
);
2355 GLenum
GLES2TraceImplementation::GetGraphicsResetStatusKHR() {
2356 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::GetGraphicsResetStatusKHR");
2357 return gl_
->GetGraphicsResetStatusKHR();
2360 void GLES2TraceImplementation::BlendBarrierKHR() {
2361 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::BlendBarrierKHR");
2362 gl_
->BlendBarrierKHR();
2365 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_TRACE_IMPLEMENTATION_IMPL_AUTOGEN_H_