diff options
Diffstat (limited to 'opengl/libs/GLES_trace/src')
-rw-r--r-- | opengl/libs/GLES_trace/src/gltrace.pb.cpp | 182 | ||||
-rw-r--r-- | opengl/libs/GLES_trace/src/gltrace.pb.h | 182 | ||||
-rw-r--r-- | opengl/libs/GLES_trace/src/gltrace_api.cpp | 4187 | ||||
-rw-r--r-- | opengl/libs/GLES_trace/src/gltrace_api.h | 91 |
4 files changed, 4641 insertions, 1 deletions
diff --git a/opengl/libs/GLES_trace/src/gltrace.pb.cpp b/opengl/libs/GLES_trace/src/gltrace.pb.cpp index f1034a3..c0867cd 100644 --- a/opengl/libs/GLES_trace/src/gltrace.pb.cpp +++ b/opengl/libs/GLES_trace/src/gltrace.pb.cpp @@ -683,6 +683,97 @@ bool GLMessage_Function_IsValid(int value) { case 637: case 638: case 639: + case 640: + case 641: + case 642: + case 643: + case 644: + case 645: + case 646: + case 647: + case 648: + case 649: + case 650: + case 651: + case 652: + case 653: + case 654: + case 655: + case 656: + case 657: + case 658: + case 659: + case 660: + case 661: + case 662: + case 663: + case 664: + case 665: + case 666: + case 667: + case 668: + case 669: + case 670: + case 671: + case 672: + case 673: + case 674: + case 675: + case 676: + case 677: + case 678: + case 679: + case 680: + case 681: + case 682: + case 683: + case 684: + case 685: + case 686: + case 687: + case 688: + case 689: + case 690: + case 691: + case 692: + case 693: + case 694: + case 695: + case 696: + case 697: + case 698: + case 699: + case 700: + case 701: + case 702: + case 703: + case 704: + case 705: + case 706: + case 707: + case 708: + case 709: + case 710: + case 711: + case 712: + case 713: + case 714: + case 715: + case 716: + case 717: + case 718: + case 719: + case 720: + case 721: + case 722: + case 723: + case 724: + case 725: + case 726: + case 727: + case 728: + case 729: + case 730: case 2000: case 2001: case 2002: @@ -1379,6 +1470,97 @@ const GLMessage_Function GLMessage::glUniformMatrix2x4fvNV; const GLMessage_Function GLMessage::glUniformMatrix4x2fvNV; const GLMessage_Function GLMessage::glUniformMatrix3x4fvNV; const GLMessage_Function GLMessage::glUniformMatrix4x3fvNV; +const GLMessage_Function GLMessage::glActiveShaderProgram; +const GLMessage_Function GLMessage::glBindImageTexture; +const GLMessage_Function GLMessage::glBindProgramPipeline; +const GLMessage_Function GLMessage::glBindVertexBuffer; +const GLMessage_Function GLMessage::glCreateShaderProgramv; +const GLMessage_Function GLMessage::glDeleteProgramPipelines; +const GLMessage_Function GLMessage::glDispatchCompute; +const GLMessage_Function GLMessage::glDispatchComputeIndirect; +const GLMessage_Function GLMessage::glDrawArraysIndirect; +const GLMessage_Function GLMessage::glDrawElementsIndirect; +const GLMessage_Function GLMessage::glFramebufferParameteri; +const GLMessage_Function GLMessage::glGenProgramPipelines; +const GLMessage_Function GLMessage::glGetBooleani_v; +const GLMessage_Function GLMessage::glGetFramebufferParameteriv; +const GLMessage_Function GLMessage::glGetMultisamplefv; +const GLMessage_Function GLMessage::glGetProgramInterfaceiv; +const GLMessage_Function GLMessage::glGetProgramPipelineInfoLog; +const GLMessage_Function GLMessage::glGetProgramPipelineiv; +const GLMessage_Function GLMessage::glGetProgramResourceIndex; +const GLMessage_Function GLMessage::glGetProgramResourceLocation; +const GLMessage_Function GLMessage::glGetProgramResourceName; +const GLMessage_Function GLMessage::glGetProgramResourceiv; +const GLMessage_Function GLMessage::glGetTexLevelParameterfv; +const GLMessage_Function GLMessage::glGetTexLevelParameteriv; +const GLMessage_Function GLMessage::glIsProgramPipeline; +const GLMessage_Function GLMessage::glMemoryBarrier; +const GLMessage_Function GLMessage::glMemoryBarrierByRegion; +const GLMessage_Function GLMessage::glProgramUniform1f; +const GLMessage_Function GLMessage::glProgramUniform1fv; +const GLMessage_Function GLMessage::glProgramUniform1i; +const GLMessage_Function GLMessage::glProgramUniform1iv; +const GLMessage_Function GLMessage::glProgramUniform1ui; +const GLMessage_Function GLMessage::glProgramUniform1uiv; +const GLMessage_Function GLMessage::glProgramUniform2f; +const GLMessage_Function GLMessage::glProgramUniform2fv; +const GLMessage_Function GLMessage::glProgramUniform2i; +const GLMessage_Function GLMessage::glProgramUniform2iv; +const GLMessage_Function GLMessage::glProgramUniform2ui; +const GLMessage_Function GLMessage::glProgramUniform2uiv; +const GLMessage_Function GLMessage::glProgramUniform3f; +const GLMessage_Function GLMessage::glProgramUniform3fv; +const GLMessage_Function GLMessage::glProgramUniform3i; +const GLMessage_Function GLMessage::glProgramUniform3iv; +const GLMessage_Function GLMessage::glProgramUniform3ui; +const GLMessage_Function GLMessage::glProgramUniform3uiv; +const GLMessage_Function GLMessage::glProgramUniform4f; +const GLMessage_Function GLMessage::glProgramUniform4fv; +const GLMessage_Function GLMessage::glProgramUniform4i; +const GLMessage_Function GLMessage::glProgramUniform4iv; +const GLMessage_Function GLMessage::glProgramUniform4ui; +const GLMessage_Function GLMessage::glProgramUniform4uiv; +const GLMessage_Function GLMessage::glProgramUniformMatrix2fv; +const GLMessage_Function GLMessage::glProgramUniformMatrix2x3fv; +const GLMessage_Function GLMessage::glProgramUniformMatrix2x4fv; +const GLMessage_Function GLMessage::glProgramUniformMatrix3fv; +const GLMessage_Function GLMessage::glProgramUniformMatrix3x2fv; +const GLMessage_Function GLMessage::glProgramUniformMatrix3x4fv; +const GLMessage_Function GLMessage::glProgramUniformMatrix4fv; +const GLMessage_Function GLMessage::glProgramUniformMatrix4x2fv; +const GLMessage_Function GLMessage::glProgramUniformMatrix4x3fv; +const GLMessage_Function GLMessage::glSampleMaski; +const GLMessage_Function GLMessage::glTexStorage2DMultisample; +const GLMessage_Function GLMessage::glUseProgramStages; +const GLMessage_Function GLMessage::glValidateProgramPipeline; +const GLMessage_Function GLMessage::glVertexAttribBinding; +const GLMessage_Function GLMessage::glVertexAttribFormat; +const GLMessage_Function GLMessage::glVertexAttribIFormat; +const GLMessage_Function GLMessage::glVertexBindingDivisor; +const GLMessage_Function GLMessage::glBlendEquationSeparateiEXT; +const GLMessage_Function GLMessage::glBlendEquationiEXT; +const GLMessage_Function GLMessage::glBlendFuncSeparateiEXT; +const GLMessage_Function GLMessage::glBlendFunciEXT; +const GLMessage_Function GLMessage::glColorMaskiEXT; +const GLMessage_Function GLMessage::glCopyImageSubDataEXT; +const GLMessage_Function GLMessage::glDisableiEXT; +const GLMessage_Function GLMessage::glEnableiEXT; +const GLMessage_Function GLMessage::glFramebufferTextureEXT; +const GLMessage_Function GLMessage::glGetSamplerParameterIivEXT; +const GLMessage_Function GLMessage::glGetSamplerParameterIuivEXT; +const GLMessage_Function GLMessage::glGetTexParameterIivEXT; +const GLMessage_Function GLMessage::glGetTexParameterIuivEXT; +const GLMessage_Function GLMessage::glIsEnablediEXT; +const GLMessage_Function GLMessage::glPatchParameteriEXT; +const GLMessage_Function GLMessage::glPrimitiveBoundingBoxEXT; +const GLMessage_Function GLMessage::glSamplerParameterIivEXT; +const GLMessage_Function GLMessage::glSamplerParameterIuivEXT; +const GLMessage_Function GLMessage::glTexBufferEXT; +const GLMessage_Function GLMessage::glTexBufferRangeEXT; +const GLMessage_Function GLMessage::glTexParameterIivEXT; +const GLMessage_Function GLMessage::glTexParameterIuivEXT; +const GLMessage_Function GLMessage::glTextureViewEXT; const GLMessage_Function GLMessage::eglGetDisplay; const GLMessage_Function GLMessage::eglInitialize; const GLMessage_Function GLMessage::eglTerminate; diff --git a/opengl/libs/GLES_trace/src/gltrace.pb.h b/opengl/libs/GLES_trace/src/gltrace.pb.h index 966360b..9bc7c58 100644 --- a/opengl/libs/GLES_trace/src/gltrace.pb.h +++ b/opengl/libs/GLES_trace/src/gltrace.pb.h @@ -693,6 +693,97 @@ enum GLMessage_Function { GLMessage_Function_glUniformMatrix4x2fvNV = 637, GLMessage_Function_glUniformMatrix3x4fvNV = 638, GLMessage_Function_glUniformMatrix4x3fvNV = 639, + GLMessage_Function_glActiveShaderProgram = 640, + GLMessage_Function_glBindImageTexture = 641, + GLMessage_Function_glBindProgramPipeline = 642, + GLMessage_Function_glBindVertexBuffer = 643, + GLMessage_Function_glCreateShaderProgramv = 644, + GLMessage_Function_glDeleteProgramPipelines = 645, + GLMessage_Function_glDispatchCompute = 646, + GLMessage_Function_glDispatchComputeIndirect = 647, + GLMessage_Function_glDrawArraysIndirect = 648, + GLMessage_Function_glDrawElementsIndirect = 649, + GLMessage_Function_glFramebufferParameteri = 650, + GLMessage_Function_glGenProgramPipelines = 651, + GLMessage_Function_glGetBooleani_v = 652, + GLMessage_Function_glGetFramebufferParameteriv = 653, + GLMessage_Function_glGetMultisamplefv = 654, + GLMessage_Function_glGetProgramInterfaceiv = 655, + GLMessage_Function_glGetProgramPipelineInfoLog = 656, + GLMessage_Function_glGetProgramPipelineiv = 657, + GLMessage_Function_glGetProgramResourceIndex = 658, + GLMessage_Function_glGetProgramResourceLocation = 659, + GLMessage_Function_glGetProgramResourceName = 660, + GLMessage_Function_glGetProgramResourceiv = 661, + GLMessage_Function_glGetTexLevelParameterfv = 662, + GLMessage_Function_glGetTexLevelParameteriv = 663, + GLMessage_Function_glIsProgramPipeline = 664, + GLMessage_Function_glMemoryBarrier = 665, + GLMessage_Function_glMemoryBarrierByRegion = 666, + GLMessage_Function_glProgramUniform1f = 667, + GLMessage_Function_glProgramUniform1fv = 668, + GLMessage_Function_glProgramUniform1i = 669, + GLMessage_Function_glProgramUniform1iv = 670, + GLMessage_Function_glProgramUniform1ui = 671, + GLMessage_Function_glProgramUniform1uiv = 672, + GLMessage_Function_glProgramUniform2f = 673, + GLMessage_Function_glProgramUniform2fv = 674, + GLMessage_Function_glProgramUniform2i = 675, + GLMessage_Function_glProgramUniform2iv = 676, + GLMessage_Function_glProgramUniform2ui = 677, + GLMessage_Function_glProgramUniform2uiv = 678, + GLMessage_Function_glProgramUniform3f = 679, + GLMessage_Function_glProgramUniform3fv = 680, + GLMessage_Function_glProgramUniform3i = 681, + GLMessage_Function_glProgramUniform3iv = 682, + GLMessage_Function_glProgramUniform3ui = 683, + GLMessage_Function_glProgramUniform3uiv = 684, + GLMessage_Function_glProgramUniform4f = 685, + GLMessage_Function_glProgramUniform4fv = 686, + GLMessage_Function_glProgramUniform4i = 687, + GLMessage_Function_glProgramUniform4iv = 688, + GLMessage_Function_glProgramUniform4ui = 689, + GLMessage_Function_glProgramUniform4uiv = 690, + GLMessage_Function_glProgramUniformMatrix2fv = 691, + GLMessage_Function_glProgramUniformMatrix2x3fv = 692, + GLMessage_Function_glProgramUniformMatrix2x4fv = 693, + GLMessage_Function_glProgramUniformMatrix3fv = 694, + GLMessage_Function_glProgramUniformMatrix3x2fv = 695, + GLMessage_Function_glProgramUniformMatrix3x4fv = 696, + GLMessage_Function_glProgramUniformMatrix4fv = 697, + GLMessage_Function_glProgramUniformMatrix4x2fv = 698, + GLMessage_Function_glProgramUniformMatrix4x3fv = 699, + GLMessage_Function_glSampleMaski = 700, + GLMessage_Function_glTexStorage2DMultisample = 701, + GLMessage_Function_glUseProgramStages = 702, + GLMessage_Function_glValidateProgramPipeline = 703, + GLMessage_Function_glVertexAttribBinding = 704, + GLMessage_Function_glVertexAttribFormat = 705, + GLMessage_Function_glVertexAttribIFormat = 706, + GLMessage_Function_glVertexBindingDivisor = 707, + GLMessage_Function_glBlendEquationSeparateiEXT = 708, + GLMessage_Function_glBlendEquationiEXT = 709, + GLMessage_Function_glBlendFuncSeparateiEXT = 710, + GLMessage_Function_glBlendFunciEXT = 711, + GLMessage_Function_glColorMaskiEXT = 712, + GLMessage_Function_glCopyImageSubDataEXT = 713, + GLMessage_Function_glDisableiEXT = 714, + GLMessage_Function_glEnableiEXT = 715, + GLMessage_Function_glFramebufferTextureEXT = 716, + GLMessage_Function_glGetSamplerParameterIivEXT = 717, + GLMessage_Function_glGetSamplerParameterIuivEXT = 718, + GLMessage_Function_glGetTexParameterIivEXT = 719, + GLMessage_Function_glGetTexParameterIuivEXT = 720, + GLMessage_Function_glIsEnablediEXT = 721, + GLMessage_Function_glPatchParameteriEXT = 722, + GLMessage_Function_glPrimitiveBoundingBoxEXT = 723, + GLMessage_Function_glSamplerParameterIivEXT = 724, + GLMessage_Function_glSamplerParameterIuivEXT = 725, + GLMessage_Function_glTexBufferEXT = 726, + GLMessage_Function_glTexBufferRangeEXT = 727, + GLMessage_Function_glTexParameterIivEXT = 728, + GLMessage_Function_glTexParameterIuivEXT = 729, + GLMessage_Function_glTextureViewEXT = 730, GLMessage_Function_eglGetDisplay = 2000, GLMessage_Function_eglInitialize = 2001, GLMessage_Function_eglTerminate = 2002, @@ -1727,6 +1818,97 @@ class GLMessage : public ::google::protobuf::MessageLite { static const Function glUniformMatrix4x2fvNV = GLMessage_Function_glUniformMatrix4x2fvNV; static const Function glUniformMatrix3x4fvNV = GLMessage_Function_glUniformMatrix3x4fvNV; static const Function glUniformMatrix4x3fvNV = GLMessage_Function_glUniformMatrix4x3fvNV; + static const Function glActiveShaderProgram = GLMessage_Function_glActiveShaderProgram; + static const Function glBindImageTexture = GLMessage_Function_glBindImageTexture; + static const Function glBindProgramPipeline = GLMessage_Function_glBindProgramPipeline; + static const Function glBindVertexBuffer = GLMessage_Function_glBindVertexBuffer; + static const Function glCreateShaderProgramv = GLMessage_Function_glCreateShaderProgramv; + static const Function glDeleteProgramPipelines = GLMessage_Function_glDeleteProgramPipelines; + static const Function glDispatchCompute = GLMessage_Function_glDispatchCompute; + static const Function glDispatchComputeIndirect = GLMessage_Function_glDispatchComputeIndirect; + static const Function glDrawArraysIndirect = GLMessage_Function_glDrawArraysIndirect; + static const Function glDrawElementsIndirect = GLMessage_Function_glDrawElementsIndirect; + static const Function glFramebufferParameteri = GLMessage_Function_glFramebufferParameteri; + static const Function glGenProgramPipelines = GLMessage_Function_glGenProgramPipelines; + static const Function glGetBooleani_v = GLMessage_Function_glGetBooleani_v; + static const Function glGetFramebufferParameteriv = GLMessage_Function_glGetFramebufferParameteriv; + static const Function glGetMultisamplefv = GLMessage_Function_glGetMultisamplefv; + static const Function glGetProgramInterfaceiv = GLMessage_Function_glGetProgramInterfaceiv; + static const Function glGetProgramPipelineInfoLog = GLMessage_Function_glGetProgramPipelineInfoLog; + static const Function glGetProgramPipelineiv = GLMessage_Function_glGetProgramPipelineiv; + static const Function glGetProgramResourceIndex = GLMessage_Function_glGetProgramResourceIndex; + static const Function glGetProgramResourceLocation = GLMessage_Function_glGetProgramResourceLocation; + static const Function glGetProgramResourceName = GLMessage_Function_glGetProgramResourceName; + static const Function glGetProgramResourceiv = GLMessage_Function_glGetProgramResourceiv; + static const Function glGetTexLevelParameterfv = GLMessage_Function_glGetTexLevelParameterfv; + static const Function glGetTexLevelParameteriv = GLMessage_Function_glGetTexLevelParameteriv; + static const Function glIsProgramPipeline = GLMessage_Function_glIsProgramPipeline; + static const Function glMemoryBarrier = GLMessage_Function_glMemoryBarrier; + static const Function glMemoryBarrierByRegion = GLMessage_Function_glMemoryBarrierByRegion; + static const Function glProgramUniform1f = GLMessage_Function_glProgramUniform1f; + static const Function glProgramUniform1fv = GLMessage_Function_glProgramUniform1fv; + static const Function glProgramUniform1i = GLMessage_Function_glProgramUniform1i; + static const Function glProgramUniform1iv = GLMessage_Function_glProgramUniform1iv; + static const Function glProgramUniform1ui = GLMessage_Function_glProgramUniform1ui; + static const Function glProgramUniform1uiv = GLMessage_Function_glProgramUniform1uiv; + static const Function glProgramUniform2f = GLMessage_Function_glProgramUniform2f; + static const Function glProgramUniform2fv = GLMessage_Function_glProgramUniform2fv; + static const Function glProgramUniform2i = GLMessage_Function_glProgramUniform2i; + static const Function glProgramUniform2iv = GLMessage_Function_glProgramUniform2iv; + static const Function glProgramUniform2ui = GLMessage_Function_glProgramUniform2ui; + static const Function glProgramUniform2uiv = GLMessage_Function_glProgramUniform2uiv; + static const Function glProgramUniform3f = GLMessage_Function_glProgramUniform3f; + static const Function glProgramUniform3fv = GLMessage_Function_glProgramUniform3fv; + static const Function glProgramUniform3i = GLMessage_Function_glProgramUniform3i; + static const Function glProgramUniform3iv = GLMessage_Function_glProgramUniform3iv; + static const Function glProgramUniform3ui = GLMessage_Function_glProgramUniform3ui; + static const Function glProgramUniform3uiv = GLMessage_Function_glProgramUniform3uiv; + static const Function glProgramUniform4f = GLMessage_Function_glProgramUniform4f; + static const Function glProgramUniform4fv = GLMessage_Function_glProgramUniform4fv; + static const Function glProgramUniform4i = GLMessage_Function_glProgramUniform4i; + static const Function glProgramUniform4iv = GLMessage_Function_glProgramUniform4iv; + static const Function glProgramUniform4ui = GLMessage_Function_glProgramUniform4ui; + static const Function glProgramUniform4uiv = GLMessage_Function_glProgramUniform4uiv; + static const Function glProgramUniformMatrix2fv = GLMessage_Function_glProgramUniformMatrix2fv; + static const Function glProgramUniformMatrix2x3fv = GLMessage_Function_glProgramUniformMatrix2x3fv; + static const Function glProgramUniformMatrix2x4fv = GLMessage_Function_glProgramUniformMatrix2x4fv; + static const Function glProgramUniformMatrix3fv = GLMessage_Function_glProgramUniformMatrix3fv; + static const Function glProgramUniformMatrix3x2fv = GLMessage_Function_glProgramUniformMatrix3x2fv; + static const Function glProgramUniformMatrix3x4fv = GLMessage_Function_glProgramUniformMatrix3x4fv; + static const Function glProgramUniformMatrix4fv = GLMessage_Function_glProgramUniformMatrix4fv; + static const Function glProgramUniformMatrix4x2fv = GLMessage_Function_glProgramUniformMatrix4x2fv; + static const Function glProgramUniformMatrix4x3fv = GLMessage_Function_glProgramUniformMatrix4x3fv; + static const Function glSampleMaski = GLMessage_Function_glSampleMaski; + static const Function glTexStorage2DMultisample = GLMessage_Function_glTexStorage2DMultisample; + static const Function glUseProgramStages = GLMessage_Function_glUseProgramStages; + static const Function glValidateProgramPipeline = GLMessage_Function_glValidateProgramPipeline; + static const Function glVertexAttribBinding = GLMessage_Function_glVertexAttribBinding; + static const Function glVertexAttribFormat = GLMessage_Function_glVertexAttribFormat; + static const Function glVertexAttribIFormat = GLMessage_Function_glVertexAttribIFormat; + static const Function glVertexBindingDivisor = GLMessage_Function_glVertexBindingDivisor; + static const Function glBlendEquationSeparateiEXT = GLMessage_Function_glBlendEquationSeparateiEXT; + static const Function glBlendEquationiEXT = GLMessage_Function_glBlendEquationiEXT; + static const Function glBlendFuncSeparateiEXT = GLMessage_Function_glBlendFuncSeparateiEXT; + static const Function glBlendFunciEXT = GLMessage_Function_glBlendFunciEXT; + static const Function glColorMaskiEXT = GLMessage_Function_glColorMaskiEXT; + static const Function glCopyImageSubDataEXT = GLMessage_Function_glCopyImageSubDataEXT; + static const Function glDisableiEXT = GLMessage_Function_glDisableiEXT; + static const Function glEnableiEXT = GLMessage_Function_glEnableiEXT; + static const Function glFramebufferTextureEXT = GLMessage_Function_glFramebufferTextureEXT; + static const Function glGetSamplerParameterIivEXT = GLMessage_Function_glGetSamplerParameterIivEXT; + static const Function glGetSamplerParameterIuivEXT = GLMessage_Function_glGetSamplerParameterIuivEXT; + static const Function glGetTexParameterIivEXT = GLMessage_Function_glGetTexParameterIivEXT; + static const Function glGetTexParameterIuivEXT = GLMessage_Function_glGetTexParameterIuivEXT; + static const Function glIsEnablediEXT = GLMessage_Function_glIsEnablediEXT; + static const Function glPatchParameteriEXT = GLMessage_Function_glPatchParameteriEXT; + static const Function glPrimitiveBoundingBoxEXT = GLMessage_Function_glPrimitiveBoundingBoxEXT; + static const Function glSamplerParameterIivEXT = GLMessage_Function_glSamplerParameterIivEXT; + static const Function glSamplerParameterIuivEXT = GLMessage_Function_glSamplerParameterIuivEXT; + static const Function glTexBufferEXT = GLMessage_Function_glTexBufferEXT; + static const Function glTexBufferRangeEXT = GLMessage_Function_glTexBufferRangeEXT; + static const Function glTexParameterIivEXT = GLMessage_Function_glTexParameterIivEXT; + static const Function glTexParameterIuivEXT = GLMessage_Function_glTexParameterIuivEXT; + static const Function glTextureViewEXT = GLMessage_Function_glTextureViewEXT; static const Function eglGetDisplay = GLMessage_Function_eglGetDisplay; static const Function eglInitialize = GLMessage_Function_eglInitialize; static const Function eglTerminate = GLMessage_Function_eglTerminate; diff --git a/opengl/libs/GLES_trace/src/gltrace_api.cpp b/opengl/libs/GLES_trace/src/gltrace_api.cpp index 4fbd124..eed3ccf 100644 --- a/opengl/libs/GLES_trace/src/gltrace_api.cpp +++ b/opengl/libs/GLES_trace/src/gltrace_api.cpp @@ -18,7 +18,6 @@ #include <cutils/log.h> #include <utils/Timers.h> -#include <GLES3/gl3.h> #include "gltrace.pb.h" #include "gltrace_context.h" @@ -10343,6 +10342,3112 @@ void GLTrace_glGetInternalformativ(GLenum target, GLenum internalformat, GLenum glContext->traceGLMessage(&glmsg); } +void GLTrace_glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glDispatchCompute); + + // copy argument num_groups_x + GLMessage_DataType *arg_num_groups_x = glmsg.add_args(); + arg_num_groups_x->set_isarray(false); + arg_num_groups_x->set_type(GLMessage::DataType::INT); + arg_num_groups_x->add_intvalue(num_groups_x); + + // copy argument num_groups_y + GLMessage_DataType *arg_num_groups_y = glmsg.add_args(); + arg_num_groups_y->set_isarray(false); + arg_num_groups_y->set_type(GLMessage::DataType::INT); + arg_num_groups_y->add_intvalue(num_groups_y); + + // copy argument num_groups_z + GLMessage_DataType *arg_num_groups_z = glmsg.add_args(); + arg_num_groups_z->set_isarray(false); + arg_num_groups_z->set_type(GLMessage::DataType::INT); + arg_num_groups_z->add_intvalue(num_groups_z); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glDispatchCompute(num_groups_x, num_groups_y, num_groups_z); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glDispatchComputeIndirect(GLintptr indirect) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glDispatchComputeIndirect); + + // copy argument indirect + GLMessage_DataType *arg_indirect = glmsg.add_args(); + arg_indirect->set_isarray(false); + arg_indirect->set_type(GLMessage::DataType::INT); + arg_indirect->add_intvalue(indirect); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glDispatchComputeIndirect(indirect); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glDrawArraysIndirect(GLenum mode, const void * indirect) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glDrawArraysIndirect); + + // copy argument mode + GLMessage_DataType *arg_mode = glmsg.add_args(); + arg_mode->set_isarray(false); + arg_mode->set_type(GLMessage::DataType::ENUM); + arg_mode->add_intvalue((int)mode); + + // copy argument indirect + GLMessage_DataType *arg_indirect = glmsg.add_args(); + arg_indirect->set_isarray(false); + arg_indirect->set_type(GLMessage::DataType::INT64); + arg_indirect->add_int64value((uintptr_t)indirect); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glDrawArraysIndirect(mode, indirect); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) indirect, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glDrawElementsIndirect); + + // copy argument mode + GLMessage_DataType *arg_mode = glmsg.add_args(); + arg_mode->set_isarray(false); + arg_mode->set_type(GLMessage::DataType::ENUM); + arg_mode->add_intvalue((int)mode); + + // copy argument type + GLMessage_DataType *arg_type = glmsg.add_args(); + arg_type->set_isarray(false); + arg_type->set_type(GLMessage::DataType::ENUM); + arg_type->add_intvalue((int)type); + + // copy argument indirect + GLMessage_DataType *arg_indirect = glmsg.add_args(); + arg_indirect->set_isarray(false); + arg_indirect->set_type(GLMessage::DataType::INT64); + arg_indirect->add_int64value((uintptr_t)indirect); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glDrawElementsIndirect(mode, type, indirect); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) indirect, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glFramebufferParameteri(GLenum target, GLenum pname, GLint param) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glFramebufferParameteri); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument param + GLMessage_DataType *arg_param = glmsg.add_args(); + arg_param->set_isarray(false); + arg_param->set_type(GLMessage::DataType::INT); + arg_param->add_intvalue(param); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glFramebufferParameteri(target, pname, param); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetFramebufferParameteriv); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument params + GLMessage_DataType *arg_params = glmsg.add_args(); + arg_params->set_isarray(false); + arg_params->set_type(GLMessage::DataType::INT64); + arg_params->add_int64value((uintptr_t)params); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetFramebufferParameteriv(target, pname, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetProgramInterfaceiv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument programInterface + GLMessage_DataType *arg_programInterface = glmsg.add_args(); + arg_programInterface->set_isarray(false); + arg_programInterface->set_type(GLMessage::DataType::ENUM); + arg_programInterface->add_intvalue((int)programInterface); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument params + GLMessage_DataType *arg_params = glmsg.add_args(); + arg_params->set_isarray(false); + arg_params->set_type(GLMessage::DataType::INT64); + arg_params->add_int64value((uintptr_t)params); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetProgramInterfaceiv(program, programInterface, pname, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +GLuint GLTrace_glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar * name) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetProgramResourceIndex); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument programInterface + GLMessage_DataType *arg_programInterface = glmsg.add_args(); + arg_programInterface->set_isarray(false); + arg_programInterface->set_type(GLMessage::DataType::ENUM); + arg_programInterface->add_intvalue((int)programInterface); + + // copy argument name + GLMessage_DataType *arg_name = glmsg.add_args(); + arg_name->set_isarray(false); + arg_name->set_type(GLMessage::DataType::INT64); + arg_name->add_int64value((uintptr_t)name); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + GLuint retValue = glContext->hooks->gl.glGetProgramResourceIndex(program, programInterface, name); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + // set return value + GLMessage_DataType *rt = glmsg.mutable_returnvalue(); + rt->set_isarray(false); + rt->set_type(GLMessage::DataType::INT); + rt->add_intvalue(retValue); + + void *pointerArgs[] = { + (void *) name, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); + + return retValue; +} + +void GLTrace_glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetProgramResourceName); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument programInterface + GLMessage_DataType *arg_programInterface = glmsg.add_args(); + arg_programInterface->set_isarray(false); + arg_programInterface->set_type(GLMessage::DataType::ENUM); + arg_programInterface->add_intvalue((int)programInterface); + + // copy argument index + GLMessage_DataType *arg_index = glmsg.add_args(); + arg_index->set_isarray(false); + arg_index->set_type(GLMessage::DataType::INT); + arg_index->add_intvalue(index); + + // copy argument bufSize + GLMessage_DataType *arg_bufSize = glmsg.add_args(); + arg_bufSize->set_isarray(false); + arg_bufSize->set_type(GLMessage::DataType::INT); + arg_bufSize->add_intvalue(bufSize); + + // copy argument length + GLMessage_DataType *arg_length = glmsg.add_args(); + arg_length->set_isarray(false); + arg_length->set_type(GLMessage::DataType::INT64); + arg_length->add_int64value((uintptr_t)length); + + // copy argument name + GLMessage_DataType *arg_name = glmsg.add_args(); + arg_name->set_isarray(false); + arg_name->set_type(GLMessage::DataType::INT64); + arg_name->add_int64value((uintptr_t)name); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetProgramResourceName(program, programInterface, index, bufSize, length, name); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) length, + (void *) name, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetProgramResourceiv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument programInterface + GLMessage_DataType *arg_programInterface = glmsg.add_args(); + arg_programInterface->set_isarray(false); + arg_programInterface->set_type(GLMessage::DataType::ENUM); + arg_programInterface->add_intvalue((int)programInterface); + + // copy argument index + GLMessage_DataType *arg_index = glmsg.add_args(); + arg_index->set_isarray(false); + arg_index->set_type(GLMessage::DataType::INT); + arg_index->add_intvalue(index); + + // copy argument propCount + GLMessage_DataType *arg_propCount = glmsg.add_args(); + arg_propCount->set_isarray(false); + arg_propCount->set_type(GLMessage::DataType::INT); + arg_propCount->add_intvalue(propCount); + + // copy argument props + GLMessage_DataType *arg_props = glmsg.add_args(); + arg_props->set_isarray(false); + arg_props->set_type(GLMessage::DataType::INT64); + arg_props->add_int64value((uintptr_t)props); + + // copy argument bufSize + GLMessage_DataType *arg_bufSize = glmsg.add_args(); + arg_bufSize->set_isarray(false); + arg_bufSize->set_type(GLMessage::DataType::INT); + arg_bufSize->add_intvalue(bufSize); + + // copy argument length + GLMessage_DataType *arg_length = glmsg.add_args(); + arg_length->set_isarray(false); + arg_length->set_type(GLMessage::DataType::INT64); + arg_length->add_int64value((uintptr_t)length); + + // copy argument params + GLMessage_DataType *arg_params = glmsg.add_args(); + arg_params->set_isarray(false); + arg_params->set_type(GLMessage::DataType::INT64); + arg_params->add_int64value((uintptr_t)params); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) props, + (void *) length, + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +GLint GLTrace_glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar * name) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetProgramResourceLocation); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument programInterface + GLMessage_DataType *arg_programInterface = glmsg.add_args(); + arg_programInterface->set_isarray(false); + arg_programInterface->set_type(GLMessage::DataType::ENUM); + arg_programInterface->add_intvalue((int)programInterface); + + // copy argument name + GLMessage_DataType *arg_name = glmsg.add_args(); + arg_name->set_isarray(false); + arg_name->set_type(GLMessage::DataType::INT64); + arg_name->add_int64value((uintptr_t)name); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + GLint retValue = glContext->hooks->gl.glGetProgramResourceLocation(program, programInterface, name); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + // set return value + GLMessage_DataType *rt = glmsg.mutable_returnvalue(); + rt->set_isarray(false); + rt->set_type(GLMessage::DataType::INT); + rt->add_intvalue(retValue); + + void *pointerArgs[] = { + (void *) name, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); + + return retValue; +} + +void GLTrace_glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glUseProgramStages); + + // copy argument pipeline + GLMessage_DataType *arg_pipeline = glmsg.add_args(); + arg_pipeline->set_isarray(false); + arg_pipeline->set_type(GLMessage::DataType::INT); + arg_pipeline->add_intvalue(pipeline); + + // copy argument stages + GLMessage_DataType *arg_stages = glmsg.add_args(); + arg_stages->set_isarray(false); + arg_stages->set_type(GLMessage::DataType::INT); + arg_stages->add_intvalue(stages); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glUseProgramStages(pipeline, stages, program); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glActiveShaderProgram(GLuint pipeline, GLuint program) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glActiveShaderProgram); + + // copy argument pipeline + GLMessage_DataType *arg_pipeline = glmsg.add_args(); + arg_pipeline->set_isarray(false); + arg_pipeline->set_type(GLMessage::DataType::INT); + arg_pipeline->add_intvalue(pipeline); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glActiveShaderProgram(pipeline, program); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +GLuint GLTrace_glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const* strings) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glCreateShaderProgramv); + + // copy argument type + GLMessage_DataType *arg_type = glmsg.add_args(); + arg_type->set_isarray(false); + arg_type->set_type(GLMessage::DataType::ENUM); + arg_type->add_intvalue((int)type); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument strings + GLMessage_DataType *arg_strings = glmsg.add_args(); + arg_strings->set_isarray(false); + arg_strings->set_type(GLMessage::DataType::INT64); + arg_strings->add_int64value((uintptr_t)strings); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + GLuint retValue = glContext->hooks->gl.glCreateShaderProgramv(type, count, strings); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + // set return value + GLMessage_DataType *rt = glmsg.mutable_returnvalue(); + rt->set_isarray(false); + rt->set_type(GLMessage::DataType::INT); + rt->add_intvalue(retValue); + + void *pointerArgs[] = { + (void *) strings, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); + + return retValue; +} + +void GLTrace_glBindProgramPipeline(GLuint pipeline) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glBindProgramPipeline); + + // copy argument pipeline + GLMessage_DataType *arg_pipeline = glmsg.add_args(); + arg_pipeline->set_isarray(false); + arg_pipeline->set_type(GLMessage::DataType::INT); + arg_pipeline->add_intvalue(pipeline); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glBindProgramPipeline(pipeline); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glDeleteProgramPipelines(GLsizei n, const GLuint * pipelines) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glDeleteProgramPipelines); + + // copy argument n + GLMessage_DataType *arg_n = glmsg.add_args(); + arg_n->set_isarray(false); + arg_n->set_type(GLMessage::DataType::INT); + arg_n->add_intvalue(n); + + // copy argument pipelines + GLMessage_DataType *arg_pipelines = glmsg.add_args(); + arg_pipelines->set_isarray(false); + arg_pipelines->set_type(GLMessage::DataType::INT64); + arg_pipelines->add_int64value((uintptr_t)pipelines); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glDeleteProgramPipelines(n, pipelines); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) pipelines, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGenProgramPipelines(GLsizei n, GLuint * pipelines) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGenProgramPipelines); + + // copy argument n + GLMessage_DataType *arg_n = glmsg.add_args(); + arg_n->set_isarray(false); + arg_n->set_type(GLMessage::DataType::INT); + arg_n->add_intvalue(n); + + // copy argument pipelines + GLMessage_DataType *arg_pipelines = glmsg.add_args(); + arg_pipelines->set_isarray(false); + arg_pipelines->set_type(GLMessage::DataType::INT64); + arg_pipelines->add_int64value((uintptr_t)pipelines); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGenProgramPipelines(n, pipelines); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) pipelines, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +GLboolean GLTrace_glIsProgramPipeline(GLuint pipeline) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glIsProgramPipeline); + + // copy argument pipeline + GLMessage_DataType *arg_pipeline = glmsg.add_args(); + arg_pipeline->set_isarray(false); + arg_pipeline->set_type(GLMessage::DataType::INT); + arg_pipeline->add_intvalue(pipeline); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + GLboolean retValue = glContext->hooks->gl.glIsProgramPipeline(pipeline); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + // set return value + GLMessage_DataType *rt = glmsg.mutable_returnvalue(); + rt->set_isarray(false); + rt->set_type(GLMessage::DataType::BOOL); + rt->add_boolvalue(retValue); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); + + return retValue; +} + +void GLTrace_glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetProgramPipelineiv); + + // copy argument pipeline + GLMessage_DataType *arg_pipeline = glmsg.add_args(); + arg_pipeline->set_isarray(false); + arg_pipeline->set_type(GLMessage::DataType::INT); + arg_pipeline->add_intvalue(pipeline); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument params + GLMessage_DataType *arg_params = glmsg.add_args(); + arg_params->set_isarray(false); + arg_params->set_type(GLMessage::DataType::INT64); + arg_params->add_int64value((uintptr_t)params); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetProgramPipelineiv(pipeline, pname, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform1i(GLuint program, GLint location, GLint v0) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform1i); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument v0 + GLMessage_DataType *arg_v0 = glmsg.add_args(); + arg_v0->set_isarray(false); + arg_v0->set_type(GLMessage::DataType::INT); + arg_v0->add_intvalue(v0); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform1i(program, location, v0); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform2i); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument v0 + GLMessage_DataType *arg_v0 = glmsg.add_args(); + arg_v0->set_isarray(false); + arg_v0->set_type(GLMessage::DataType::INT); + arg_v0->add_intvalue(v0); + + // copy argument v1 + GLMessage_DataType *arg_v1 = glmsg.add_args(); + arg_v1->set_isarray(false); + arg_v1->set_type(GLMessage::DataType::INT); + arg_v1->add_intvalue(v1); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform2i(program, location, v0, v1); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform3i); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument v0 + GLMessage_DataType *arg_v0 = glmsg.add_args(); + arg_v0->set_isarray(false); + arg_v0->set_type(GLMessage::DataType::INT); + arg_v0->add_intvalue(v0); + + // copy argument v1 + GLMessage_DataType *arg_v1 = glmsg.add_args(); + arg_v1->set_isarray(false); + arg_v1->set_type(GLMessage::DataType::INT); + arg_v1->add_intvalue(v1); + + // copy argument v2 + GLMessage_DataType *arg_v2 = glmsg.add_args(); + arg_v2->set_isarray(false); + arg_v2->set_type(GLMessage::DataType::INT); + arg_v2->add_intvalue(v2); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform3i(program, location, v0, v1, v2); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform4i); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument v0 + GLMessage_DataType *arg_v0 = glmsg.add_args(); + arg_v0->set_isarray(false); + arg_v0->set_type(GLMessage::DataType::INT); + arg_v0->add_intvalue(v0); + + // copy argument v1 + GLMessage_DataType *arg_v1 = glmsg.add_args(); + arg_v1->set_isarray(false); + arg_v1->set_type(GLMessage::DataType::INT); + arg_v1->add_intvalue(v1); + + // copy argument v2 + GLMessage_DataType *arg_v2 = glmsg.add_args(); + arg_v2->set_isarray(false); + arg_v2->set_type(GLMessage::DataType::INT); + arg_v2->add_intvalue(v2); + + // copy argument v3 + GLMessage_DataType *arg_v3 = glmsg.add_args(); + arg_v3->set_isarray(false); + arg_v3->set_type(GLMessage::DataType::INT); + arg_v3->add_intvalue(v3); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform4i(program, location, v0, v1, v2, v3); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform1ui); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument v0 + GLMessage_DataType *arg_v0 = glmsg.add_args(); + arg_v0->set_isarray(false); + arg_v0->set_type(GLMessage::DataType::INT); + arg_v0->add_intvalue(v0); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform1ui(program, location, v0); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform2ui); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument v0 + GLMessage_DataType *arg_v0 = glmsg.add_args(); + arg_v0->set_isarray(false); + arg_v0->set_type(GLMessage::DataType::INT); + arg_v0->add_intvalue(v0); + + // copy argument v1 + GLMessage_DataType *arg_v1 = glmsg.add_args(); + arg_v1->set_isarray(false); + arg_v1->set_type(GLMessage::DataType::INT); + arg_v1->add_intvalue(v1); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform2ui(program, location, v0, v1); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform3ui); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument v0 + GLMessage_DataType *arg_v0 = glmsg.add_args(); + arg_v0->set_isarray(false); + arg_v0->set_type(GLMessage::DataType::INT); + arg_v0->add_intvalue(v0); + + // copy argument v1 + GLMessage_DataType *arg_v1 = glmsg.add_args(); + arg_v1->set_isarray(false); + arg_v1->set_type(GLMessage::DataType::INT); + arg_v1->add_intvalue(v1); + + // copy argument v2 + GLMessage_DataType *arg_v2 = glmsg.add_args(); + arg_v2->set_isarray(false); + arg_v2->set_type(GLMessage::DataType::INT); + arg_v2->add_intvalue(v2); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform3ui(program, location, v0, v1, v2); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform4ui); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument v0 + GLMessage_DataType *arg_v0 = glmsg.add_args(); + arg_v0->set_isarray(false); + arg_v0->set_type(GLMessage::DataType::INT); + arg_v0->add_intvalue(v0); + + // copy argument v1 + GLMessage_DataType *arg_v1 = glmsg.add_args(); + arg_v1->set_isarray(false); + arg_v1->set_type(GLMessage::DataType::INT); + arg_v1->add_intvalue(v1); + + // copy argument v2 + GLMessage_DataType *arg_v2 = glmsg.add_args(); + arg_v2->set_isarray(false); + arg_v2->set_type(GLMessage::DataType::INT); + arg_v2->add_intvalue(v2); + + // copy argument v3 + GLMessage_DataType *arg_v3 = glmsg.add_args(); + arg_v3->set_isarray(false); + arg_v3->set_type(GLMessage::DataType::INT); + arg_v3->add_intvalue(v3); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform4ui(program, location, v0, v1, v2, v3); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform1f); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument v0 + GLMessage_DataType *arg_v0 = glmsg.add_args(); + arg_v0->set_isarray(false); + arg_v0->set_type(GLMessage::DataType::FLOAT); + arg_v0->add_floatvalue(v0); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform1f(program, location, v0); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform2f); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument v0 + GLMessage_DataType *arg_v0 = glmsg.add_args(); + arg_v0->set_isarray(false); + arg_v0->set_type(GLMessage::DataType::FLOAT); + arg_v0->add_floatvalue(v0); + + // copy argument v1 + GLMessage_DataType *arg_v1 = glmsg.add_args(); + arg_v1->set_isarray(false); + arg_v1->set_type(GLMessage::DataType::FLOAT); + arg_v1->add_floatvalue(v1); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform2f(program, location, v0, v1); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform3f); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument v0 + GLMessage_DataType *arg_v0 = glmsg.add_args(); + arg_v0->set_isarray(false); + arg_v0->set_type(GLMessage::DataType::FLOAT); + arg_v0->add_floatvalue(v0); + + // copy argument v1 + GLMessage_DataType *arg_v1 = glmsg.add_args(); + arg_v1->set_isarray(false); + arg_v1->set_type(GLMessage::DataType::FLOAT); + arg_v1->add_floatvalue(v1); + + // copy argument v2 + GLMessage_DataType *arg_v2 = glmsg.add_args(); + arg_v2->set_isarray(false); + arg_v2->set_type(GLMessage::DataType::FLOAT); + arg_v2->add_floatvalue(v2); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform3f(program, location, v0, v1, v2); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform4f); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument v0 + GLMessage_DataType *arg_v0 = glmsg.add_args(); + arg_v0->set_isarray(false); + arg_v0->set_type(GLMessage::DataType::FLOAT); + arg_v0->add_floatvalue(v0); + + // copy argument v1 + GLMessage_DataType *arg_v1 = glmsg.add_args(); + arg_v1->set_isarray(false); + arg_v1->set_type(GLMessage::DataType::FLOAT); + arg_v1->add_floatvalue(v1); + + // copy argument v2 + GLMessage_DataType *arg_v2 = glmsg.add_args(); + arg_v2->set_isarray(false); + arg_v2->set_type(GLMessage::DataType::FLOAT); + arg_v2->add_floatvalue(v2); + + // copy argument v3 + GLMessage_DataType *arg_v3 = glmsg.add_args(); + arg_v3->set_isarray(false); + arg_v3->set_type(GLMessage::DataType::FLOAT); + arg_v3->add_floatvalue(v3); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform4f(program, location, v0, v1, v2, v3); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform1iv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform1iv(program, location, count, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform2iv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform2iv(program, location, count, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform3iv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform3iv(program, location, count, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform4iv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform4iv(program, location, count, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform1uiv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform1uiv(program, location, count, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform2uiv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform2uiv(program, location, count, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform3uiv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform3uiv(program, location, count, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform4uiv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform4uiv(program, location, count, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform1fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform1fv(program, location, count, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform2fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform2fv(program, location, count, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform3fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform3fv(program, location, count, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform4fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniform4fv(program, location, count, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniformMatrix2fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument transpose + GLMessage_DataType *arg_transpose = glmsg.add_args(); + arg_transpose->set_isarray(false); + arg_transpose->set_type(GLMessage::DataType::BOOL); + arg_transpose->add_boolvalue(transpose); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniformMatrix2fv(program, location, count, transpose, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniformMatrix3fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument transpose + GLMessage_DataType *arg_transpose = glmsg.add_args(); + arg_transpose->set_isarray(false); + arg_transpose->set_type(GLMessage::DataType::BOOL); + arg_transpose->add_boolvalue(transpose); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniformMatrix3fv(program, location, count, transpose, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniformMatrix4fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument transpose + GLMessage_DataType *arg_transpose = glmsg.add_args(); + arg_transpose->set_isarray(false); + arg_transpose->set_type(GLMessage::DataType::BOOL); + arg_transpose->add_boolvalue(transpose); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniformMatrix4fv(program, location, count, transpose, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniformMatrix2x3fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument transpose + GLMessage_DataType *arg_transpose = glmsg.add_args(); + arg_transpose->set_isarray(false); + arg_transpose->set_type(GLMessage::DataType::BOOL); + arg_transpose->add_boolvalue(transpose); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniformMatrix2x3fv(program, location, count, transpose, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniformMatrix3x2fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument transpose + GLMessage_DataType *arg_transpose = glmsg.add_args(); + arg_transpose->set_isarray(false); + arg_transpose->set_type(GLMessage::DataType::BOOL); + arg_transpose->add_boolvalue(transpose); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniformMatrix3x2fv(program, location, count, transpose, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniformMatrix2x4fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument transpose + GLMessage_DataType *arg_transpose = glmsg.add_args(); + arg_transpose->set_isarray(false); + arg_transpose->set_type(GLMessage::DataType::BOOL); + arg_transpose->add_boolvalue(transpose); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniformMatrix2x4fv(program, location, count, transpose, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniformMatrix4x2fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument transpose + GLMessage_DataType *arg_transpose = glmsg.add_args(); + arg_transpose->set_isarray(false); + arg_transpose->set_type(GLMessage::DataType::BOOL); + arg_transpose->add_boolvalue(transpose); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniformMatrix4x2fv(program, location, count, transpose, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniformMatrix3x4fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument transpose + GLMessage_DataType *arg_transpose = glmsg.add_args(); + arg_transpose->set_isarray(false); + arg_transpose->set_type(GLMessage::DataType::BOOL); + arg_transpose->add_boolvalue(transpose); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniformMatrix3x4fv(program, location, count, transpose, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniformMatrix4x3fv); + + // copy argument program + GLMessage_DataType *arg_program = glmsg.add_args(); + arg_program->set_isarray(false); + arg_program->set_type(GLMessage::DataType::INT); + arg_program->add_intvalue(program); + + // copy argument location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT); + arg_location->add_intvalue(location); + + // copy argument count + GLMessage_DataType *arg_count = glmsg.add_args(); + arg_count->set_isarray(false); + arg_count->set_type(GLMessage::DataType::INT); + arg_count->add_intvalue(count); + + // copy argument transpose + GLMessage_DataType *arg_transpose = glmsg.add_args(); + arg_transpose->set_isarray(false); + arg_transpose->set_type(GLMessage::DataType::BOOL); + arg_transpose->add_boolvalue(transpose); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT64); + arg_value->add_int64value((uintptr_t)value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramUniformMatrix4x3fv(program, location, count, transpose, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) value, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glValidateProgramPipeline(GLuint pipeline) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glValidateProgramPipeline); + + // copy argument pipeline + GLMessage_DataType *arg_pipeline = glmsg.add_args(); + arg_pipeline->set_isarray(false); + arg_pipeline->set_type(GLMessage::DataType::INT); + arg_pipeline->add_intvalue(pipeline); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glValidateProgramPipeline(pipeline); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetProgramPipelineInfoLog); + + // copy argument pipeline + GLMessage_DataType *arg_pipeline = glmsg.add_args(); + arg_pipeline->set_isarray(false); + arg_pipeline->set_type(GLMessage::DataType::INT); + arg_pipeline->add_intvalue(pipeline); + + // copy argument bufSize + GLMessage_DataType *arg_bufSize = glmsg.add_args(); + arg_bufSize->set_isarray(false); + arg_bufSize->set_type(GLMessage::DataType::INT); + arg_bufSize->add_intvalue(bufSize); + + // copy argument length + GLMessage_DataType *arg_length = glmsg.add_args(); + arg_length->set_isarray(false); + arg_length->set_type(GLMessage::DataType::INT64); + arg_length->add_int64value((uintptr_t)length); + + // copy argument infoLog + GLMessage_DataType *arg_infoLog = glmsg.add_args(); + arg_infoLog->set_isarray(false); + arg_infoLog->set_type(GLMessage::DataType::INT64); + arg_infoLog->add_int64value((uintptr_t)infoLog); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) length, + (void *) infoLog, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glBindImageTexture); + + // copy argument unit + GLMessage_DataType *arg_unit = glmsg.add_args(); + arg_unit->set_isarray(false); + arg_unit->set_type(GLMessage::DataType::INT); + arg_unit->add_intvalue(unit); + + // copy argument texture + GLMessage_DataType *arg_texture = glmsg.add_args(); + arg_texture->set_isarray(false); + arg_texture->set_type(GLMessage::DataType::INT); + arg_texture->add_intvalue(texture); + + // copy argument level + GLMessage_DataType *arg_level = glmsg.add_args(); + arg_level->set_isarray(false); + arg_level->set_type(GLMessage::DataType::INT); + arg_level->add_intvalue(level); + + // copy argument layered + GLMessage_DataType *arg_layered = glmsg.add_args(); + arg_layered->set_isarray(false); + arg_layered->set_type(GLMessage::DataType::BOOL); + arg_layered->add_boolvalue(layered); + + // copy argument layer + GLMessage_DataType *arg_layer = glmsg.add_args(); + arg_layer->set_isarray(false); + arg_layer->set_type(GLMessage::DataType::INT); + arg_layer->add_intvalue(layer); + + // copy argument access + GLMessage_DataType *arg_access = glmsg.add_args(); + arg_access->set_isarray(false); + arg_access->set_type(GLMessage::DataType::ENUM); + arg_access->add_intvalue((int)access); + + // copy argument format + GLMessage_DataType *arg_format = glmsg.add_args(); + arg_format->set_isarray(false); + arg_format->set_type(GLMessage::DataType::ENUM); + arg_format->add_intvalue((int)format); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glBindImageTexture(unit, texture, level, layered, layer, access, format); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetBooleani_v(GLenum target, GLuint index, GLboolean * data) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetBooleani_v); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument index + GLMessage_DataType *arg_index = glmsg.add_args(); + arg_index->set_isarray(false); + arg_index->set_type(GLMessage::DataType::INT); + arg_index->add_intvalue(index); + + // copy argument data + GLMessage_DataType *arg_data = glmsg.add_args(); + arg_data->set_isarray(false); + arg_data->set_type(GLMessage::DataType::INT64); + arg_data->add_int64value((uintptr_t)data); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetBooleani_v(target, index, data); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) data, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glMemoryBarrier(GLbitfield barriers) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glMemoryBarrier); + + // copy argument barriers + GLMessage_DataType *arg_barriers = glmsg.add_args(); + arg_barriers->set_isarray(false); + arg_barriers->set_type(GLMessage::DataType::INT); + arg_barriers->add_intvalue(barriers); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glMemoryBarrier(barriers); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glMemoryBarrierByRegion(GLbitfield barriers) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glMemoryBarrierByRegion); + + // copy argument barriers + GLMessage_DataType *arg_barriers = glmsg.add_args(); + arg_barriers->set_isarray(false); + arg_barriers->set_type(GLMessage::DataType::INT); + arg_barriers->add_intvalue(barriers); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glMemoryBarrierByRegion(barriers); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glTexStorage2DMultisample); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument samples + GLMessage_DataType *arg_samples = glmsg.add_args(); + arg_samples->set_isarray(false); + arg_samples->set_type(GLMessage::DataType::INT); + arg_samples->add_intvalue(samples); + + // copy argument internalformat + GLMessage_DataType *arg_internalformat = glmsg.add_args(); + arg_internalformat->set_isarray(false); + arg_internalformat->set_type(GLMessage::DataType::ENUM); + arg_internalformat->add_intvalue((int)internalformat); + + // copy argument width + GLMessage_DataType *arg_width = glmsg.add_args(); + arg_width->set_isarray(false); + arg_width->set_type(GLMessage::DataType::INT); + arg_width->add_intvalue(width); + + // copy argument height + GLMessage_DataType *arg_height = glmsg.add_args(); + arg_height->set_isarray(false); + arg_height->set_type(GLMessage::DataType::INT); + arg_height->add_intvalue(height); + + // copy argument fixedsamplelocations + GLMessage_DataType *arg_fixedsamplelocations = glmsg.add_args(); + arg_fixedsamplelocations->set_isarray(false); + arg_fixedsamplelocations->set_type(GLMessage::DataType::BOOL); + arg_fixedsamplelocations->add_boolvalue(fixedsamplelocations); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetMultisamplefv(GLenum pname, GLuint index, GLfloat * val) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetMultisamplefv); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument index + GLMessage_DataType *arg_index = glmsg.add_args(); + arg_index->set_isarray(false); + arg_index->set_type(GLMessage::DataType::INT); + arg_index->add_intvalue(index); + + // copy argument val + GLMessage_DataType *arg_val = glmsg.add_args(); + arg_val->set_isarray(false); + arg_val->set_type(GLMessage::DataType::INT64); + arg_val->add_int64value((uintptr_t)val); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetMultisamplefv(pname, index, val); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) val, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glSampleMaski(GLuint maskNumber, GLbitfield mask) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glSampleMaski); + + // copy argument maskNumber + GLMessage_DataType *arg_maskNumber = glmsg.add_args(); + arg_maskNumber->set_isarray(false); + arg_maskNumber->set_type(GLMessage::DataType::INT); + arg_maskNumber->add_intvalue(maskNumber); + + // copy argument mask + GLMessage_DataType *arg_mask = glmsg.add_args(); + arg_mask->set_isarray(false); + arg_mask->set_type(GLMessage::DataType::INT); + arg_mask->add_intvalue(mask); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glSampleMaski(maskNumber, mask); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetTexLevelParameteriv); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument level + GLMessage_DataType *arg_level = glmsg.add_args(); + arg_level->set_isarray(false); + arg_level->set_type(GLMessage::DataType::INT); + arg_level->add_intvalue(level); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument params + GLMessage_DataType *arg_params = glmsg.add_args(); + arg_params->set_isarray(false); + arg_params->set_type(GLMessage::DataType::INT64); + arg_params->add_int64value((uintptr_t)params); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetTexLevelParameteriv(target, level, pname, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetTexLevelParameterfv); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument level + GLMessage_DataType *arg_level = glmsg.add_args(); + arg_level->set_isarray(false); + arg_level->set_type(GLMessage::DataType::INT); + arg_level->add_intvalue(level); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument params + GLMessage_DataType *arg_params = glmsg.add_args(); + arg_params->set_isarray(false); + arg_params->set_type(GLMessage::DataType::INT64); + arg_params->add_int64value((uintptr_t)params); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetTexLevelParameterfv(target, level, pname, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glBindVertexBuffer); + + // copy argument bindingindex + GLMessage_DataType *arg_bindingindex = glmsg.add_args(); + arg_bindingindex->set_isarray(false); + arg_bindingindex->set_type(GLMessage::DataType::INT); + arg_bindingindex->add_intvalue(bindingindex); + + // copy argument buffer + GLMessage_DataType *arg_buffer = glmsg.add_args(); + arg_buffer->set_isarray(false); + arg_buffer->set_type(GLMessage::DataType::INT); + arg_buffer->add_intvalue(buffer); + + // copy argument offset + GLMessage_DataType *arg_offset = glmsg.add_args(); + arg_offset->set_isarray(false); + arg_offset->set_type(GLMessage::DataType::INT); + arg_offset->add_intvalue(offset); + + // copy argument stride + GLMessage_DataType *arg_stride = glmsg.add_args(); + arg_stride->set_isarray(false); + arg_stride->set_type(GLMessage::DataType::INT); + arg_stride->add_intvalue(stride); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glBindVertexBuffer(bindingindex, buffer, offset, stride); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glVertexAttribFormat); + + // copy argument attribindex + GLMessage_DataType *arg_attribindex = glmsg.add_args(); + arg_attribindex->set_isarray(false); + arg_attribindex->set_type(GLMessage::DataType::INT); + arg_attribindex->add_intvalue(attribindex); + + // copy argument size + GLMessage_DataType *arg_size = glmsg.add_args(); + arg_size->set_isarray(false); + arg_size->set_type(GLMessage::DataType::INT); + arg_size->add_intvalue(size); + + // copy argument type + GLMessage_DataType *arg_type = glmsg.add_args(); + arg_type->set_isarray(false); + arg_type->set_type(GLMessage::DataType::ENUM); + arg_type->add_intvalue((int)type); + + // copy argument normalized + GLMessage_DataType *arg_normalized = glmsg.add_args(); + arg_normalized->set_isarray(false); + arg_normalized->set_type(GLMessage::DataType::BOOL); + arg_normalized->add_boolvalue(normalized); + + // copy argument relativeoffset + GLMessage_DataType *arg_relativeoffset = glmsg.add_args(); + arg_relativeoffset->set_isarray(false); + arg_relativeoffset->set_type(GLMessage::DataType::INT); + arg_relativeoffset->add_intvalue(relativeoffset); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glVertexAttribIFormat); + + // copy argument attribindex + GLMessage_DataType *arg_attribindex = glmsg.add_args(); + arg_attribindex->set_isarray(false); + arg_attribindex->set_type(GLMessage::DataType::INT); + arg_attribindex->add_intvalue(attribindex); + + // copy argument size + GLMessage_DataType *arg_size = glmsg.add_args(); + arg_size->set_isarray(false); + arg_size->set_type(GLMessage::DataType::INT); + arg_size->add_intvalue(size); + + // copy argument type + GLMessage_DataType *arg_type = glmsg.add_args(); + arg_type->set_isarray(false); + arg_type->set_type(GLMessage::DataType::ENUM); + arg_type->add_intvalue((int)type); + + // copy argument relativeoffset + GLMessage_DataType *arg_relativeoffset = glmsg.add_args(); + arg_relativeoffset->set_isarray(false); + arg_relativeoffset->set_type(GLMessage::DataType::INT); + arg_relativeoffset->add_intvalue(relativeoffset); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glVertexAttribIFormat(attribindex, size, type, relativeoffset); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glVertexAttribBinding(GLuint attribindex, GLuint bindingindex) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glVertexAttribBinding); + + // copy argument attribindex + GLMessage_DataType *arg_attribindex = glmsg.add_args(); + arg_attribindex->set_isarray(false); + arg_attribindex->set_type(GLMessage::DataType::INT); + arg_attribindex->add_intvalue(attribindex); + + // copy argument bindingindex + GLMessage_DataType *arg_bindingindex = glmsg.add_args(); + arg_bindingindex->set_isarray(false); + arg_bindingindex->set_type(GLMessage::DataType::INT); + arg_bindingindex->add_intvalue(bindingindex); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glVertexAttribBinding(attribindex, bindingindex); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glVertexBindingDivisor(GLuint bindingindex, GLuint divisor) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glVertexBindingDivisor); + + // copy argument bindingindex + GLMessage_DataType *arg_bindingindex = glmsg.add_args(); + arg_bindingindex->set_isarray(false); + arg_bindingindex->set_type(GLMessage::DataType::INT); + arg_bindingindex->add_intvalue(bindingindex); + + // copy argument divisor + GLMessage_DataType *arg_divisor = glmsg.add_args(); + arg_divisor->set_isarray(false); + arg_divisor->set_type(GLMessage::DataType::INT); + arg_divisor->add_intvalue(divisor); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glVertexBindingDivisor(bindingindex, divisor); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + // Definitions for GL2Ext APIs @@ -13095,6 +16200,118 @@ void GLTrace_glGetSyncivAPPLE(GLsync sync, GLenum pname, GLsizei bufSize, GLsize glContext->traceGLMessage(&glmsg); } +void GLTrace_glCopyImageSubDataEXT(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glCopyImageSubDataEXT); + + // copy argument srcName + GLMessage_DataType *arg_srcName = glmsg.add_args(); + arg_srcName->set_isarray(false); + arg_srcName->set_type(GLMessage::DataType::INT); + arg_srcName->add_intvalue(srcName); + + // copy argument srcTarget + GLMessage_DataType *arg_srcTarget = glmsg.add_args(); + arg_srcTarget->set_isarray(false); + arg_srcTarget->set_type(GLMessage::DataType::ENUM); + arg_srcTarget->add_intvalue((int)srcTarget); + + // copy argument srcLevel + GLMessage_DataType *arg_srcLevel = glmsg.add_args(); + arg_srcLevel->set_isarray(false); + arg_srcLevel->set_type(GLMessage::DataType::INT); + arg_srcLevel->add_intvalue(srcLevel); + + // copy argument srcX + GLMessage_DataType *arg_srcX = glmsg.add_args(); + arg_srcX->set_isarray(false); + arg_srcX->set_type(GLMessage::DataType::INT); + arg_srcX->add_intvalue(srcX); + + // copy argument srcY + GLMessage_DataType *arg_srcY = glmsg.add_args(); + arg_srcY->set_isarray(false); + arg_srcY->set_type(GLMessage::DataType::INT); + arg_srcY->add_intvalue(srcY); + + // copy argument srcZ + GLMessage_DataType *arg_srcZ = glmsg.add_args(); + arg_srcZ->set_isarray(false); + arg_srcZ->set_type(GLMessage::DataType::INT); + arg_srcZ->add_intvalue(srcZ); + + // copy argument dstName + GLMessage_DataType *arg_dstName = glmsg.add_args(); + arg_dstName->set_isarray(false); + arg_dstName->set_type(GLMessage::DataType::INT); + arg_dstName->add_intvalue(dstName); + + // copy argument dstTarget + GLMessage_DataType *arg_dstTarget = glmsg.add_args(); + arg_dstTarget->set_isarray(false); + arg_dstTarget->set_type(GLMessage::DataType::ENUM); + arg_dstTarget->add_intvalue((int)dstTarget); + + // copy argument dstLevel + GLMessage_DataType *arg_dstLevel = glmsg.add_args(); + arg_dstLevel->set_isarray(false); + arg_dstLevel->set_type(GLMessage::DataType::INT); + arg_dstLevel->add_intvalue(dstLevel); + + // copy argument dstX + GLMessage_DataType *arg_dstX = glmsg.add_args(); + arg_dstX->set_isarray(false); + arg_dstX->set_type(GLMessage::DataType::INT); + arg_dstX->add_intvalue(dstX); + + // copy argument dstY + GLMessage_DataType *arg_dstY = glmsg.add_args(); + arg_dstY->set_isarray(false); + arg_dstY->set_type(GLMessage::DataType::INT); + arg_dstY->add_intvalue(dstY); + + // copy argument dstZ + GLMessage_DataType *arg_dstZ = glmsg.add_args(); + arg_dstZ->set_isarray(false); + arg_dstZ->set_type(GLMessage::DataType::INT); + arg_dstZ->add_intvalue(dstZ); + + // copy argument srcWidth + GLMessage_DataType *arg_srcWidth = glmsg.add_args(); + arg_srcWidth->set_isarray(false); + arg_srcWidth->set_type(GLMessage::DataType::INT); + arg_srcWidth->add_intvalue(srcWidth); + + // copy argument srcHeight + GLMessage_DataType *arg_srcHeight = glmsg.add_args(); + arg_srcHeight->set_isarray(false); + arg_srcHeight->set_type(GLMessage::DataType::INT); + arg_srcHeight->add_intvalue(srcHeight); + + // copy argument srcDepth + GLMessage_DataType *arg_srcDepth = glmsg.add_args(); + arg_srcDepth->set_isarray(false); + arg_srcDepth->set_type(GLMessage::DataType::INT); + arg_srcDepth->add_intvalue(srcDepth); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glCopyImageSubDataEXT(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + void GLTrace_glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar * label) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); @@ -13771,6 +16988,334 @@ void GLTrace_glDrawBuffersEXT(GLsizei n, const GLenum * bufs) { glContext->traceGLMessage(&glmsg); } +void GLTrace_glEnableiEXT(GLenum target, GLuint index) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glEnableiEXT); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument index + GLMessage_DataType *arg_index = glmsg.add_args(); + arg_index->set_isarray(false); + arg_index->set_type(GLMessage::DataType::INT); + arg_index->add_intvalue(index); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glEnableiEXT(target, index); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glDisableiEXT(GLenum target, GLuint index) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glDisableiEXT); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument index + GLMessage_DataType *arg_index = glmsg.add_args(); + arg_index->set_isarray(false); + arg_index->set_type(GLMessage::DataType::INT); + arg_index->add_intvalue(index); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glDisableiEXT(target, index); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glBlendEquationiEXT(GLuint buf, GLenum mode) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glBlendEquationiEXT); + + // copy argument buf + GLMessage_DataType *arg_buf = glmsg.add_args(); + arg_buf->set_isarray(false); + arg_buf->set_type(GLMessage::DataType::INT); + arg_buf->add_intvalue(buf); + + // copy argument mode + GLMessage_DataType *arg_mode = glmsg.add_args(); + arg_mode->set_isarray(false); + arg_mode->set_type(GLMessage::DataType::ENUM); + arg_mode->add_intvalue((int)mode); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glBlendEquationiEXT(buf, mode); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glBlendEquationSeparateiEXT(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glBlendEquationSeparateiEXT); + + // copy argument buf + GLMessage_DataType *arg_buf = glmsg.add_args(); + arg_buf->set_isarray(false); + arg_buf->set_type(GLMessage::DataType::INT); + arg_buf->add_intvalue(buf); + + // copy argument modeRGB + GLMessage_DataType *arg_modeRGB = glmsg.add_args(); + arg_modeRGB->set_isarray(false); + arg_modeRGB->set_type(GLMessage::DataType::ENUM); + arg_modeRGB->add_intvalue((int)modeRGB); + + // copy argument modeAlpha + GLMessage_DataType *arg_modeAlpha = glmsg.add_args(); + arg_modeAlpha->set_isarray(false); + arg_modeAlpha->set_type(GLMessage::DataType::ENUM); + arg_modeAlpha->add_intvalue((int)modeAlpha); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glBlendEquationSeparateiEXT(buf, modeRGB, modeAlpha); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glBlendFunciEXT(GLuint buf, GLenum src, GLenum dst) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glBlendFunciEXT); + + // copy argument buf + GLMessage_DataType *arg_buf = glmsg.add_args(); + arg_buf->set_isarray(false); + arg_buf->set_type(GLMessage::DataType::INT); + arg_buf->add_intvalue(buf); + + // copy argument src + GLMessage_DataType *arg_src = glmsg.add_args(); + arg_src->set_isarray(false); + arg_src->set_type(GLMessage::DataType::ENUM); + arg_src->add_intvalue((int)src); + + // copy argument dst + GLMessage_DataType *arg_dst = glmsg.add_args(); + arg_dst->set_isarray(false); + arg_dst->set_type(GLMessage::DataType::ENUM); + arg_dst->add_intvalue((int)dst); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glBlendFunciEXT(buf, src, dst); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glBlendFuncSeparateiEXT(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glBlendFuncSeparateiEXT); + + // copy argument buf + GLMessage_DataType *arg_buf = glmsg.add_args(); + arg_buf->set_isarray(false); + arg_buf->set_type(GLMessage::DataType::INT); + arg_buf->add_intvalue(buf); + + // copy argument srcRGB + GLMessage_DataType *arg_srcRGB = glmsg.add_args(); + arg_srcRGB->set_isarray(false); + arg_srcRGB->set_type(GLMessage::DataType::ENUM); + arg_srcRGB->add_intvalue((int)srcRGB); + + // copy argument dstRGB + GLMessage_DataType *arg_dstRGB = glmsg.add_args(); + arg_dstRGB->set_isarray(false); + arg_dstRGB->set_type(GLMessage::DataType::ENUM); + arg_dstRGB->add_intvalue((int)dstRGB); + + // copy argument srcAlpha + GLMessage_DataType *arg_srcAlpha = glmsg.add_args(); + arg_srcAlpha->set_isarray(false); + arg_srcAlpha->set_type(GLMessage::DataType::ENUM); + arg_srcAlpha->add_intvalue((int)srcAlpha); + + // copy argument dstAlpha + GLMessage_DataType *arg_dstAlpha = glmsg.add_args(); + arg_dstAlpha->set_isarray(false); + arg_dstAlpha->set_type(GLMessage::DataType::ENUM); + arg_dstAlpha->add_intvalue((int)dstAlpha); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glBlendFuncSeparateiEXT(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glColorMaskiEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glColorMaskiEXT); + + // copy argument index + GLMessage_DataType *arg_index = glmsg.add_args(); + arg_index->set_isarray(false); + arg_index->set_type(GLMessage::DataType::INT); + arg_index->add_intvalue(index); + + // copy argument r + GLMessage_DataType *arg_r = glmsg.add_args(); + arg_r->set_isarray(false); + arg_r->set_type(GLMessage::DataType::BOOL); + arg_r->add_boolvalue(r); + + // copy argument g + GLMessage_DataType *arg_g = glmsg.add_args(); + arg_g->set_isarray(false); + arg_g->set_type(GLMessage::DataType::BOOL); + arg_g->add_boolvalue(g); + + // copy argument b + GLMessage_DataType *arg_b = glmsg.add_args(); + arg_b->set_isarray(false); + arg_b->set_type(GLMessage::DataType::BOOL); + arg_b->add_boolvalue(b); + + // copy argument a + GLMessage_DataType *arg_a = glmsg.add_args(); + arg_a->set_isarray(false); + arg_a->set_type(GLMessage::DataType::BOOL); + arg_a->add_boolvalue(a); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glColorMaskiEXT(index, r, g, b, a); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +GLboolean GLTrace_glIsEnablediEXT(GLenum target, GLuint index) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glIsEnablediEXT); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument index + GLMessage_DataType *arg_index = glmsg.add_args(); + arg_index->set_isarray(false); + arg_index->set_type(GLMessage::DataType::INT); + arg_index->add_intvalue(index); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + GLboolean retValue = glContext->hooks->gl.glIsEnablediEXT(target, index); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + // set return value + GLMessage_DataType *rt = glmsg.mutable_returnvalue(); + rt->set_isarray(false); + rt->set_type(GLMessage::DataType::BOOL); + rt->add_boolvalue(retValue); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); + + return retValue; +} + void GLTrace_glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); @@ -13870,6 +17415,52 @@ void GLTrace_glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, glContext->traceGLMessage(&glmsg); } +void GLTrace_glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glFramebufferTextureEXT); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument attachment + GLMessage_DataType *arg_attachment = glmsg.add_args(); + arg_attachment->set_isarray(false); + arg_attachment->set_type(GLMessage::DataType::ENUM); + arg_attachment->add_intvalue((int)attachment); + + // copy argument texture + GLMessage_DataType *arg_texture = glmsg.add_args(); + arg_texture->set_isarray(false); + arg_texture->set_type(GLMessage::DataType::INT); + arg_texture->add_intvalue(texture); + + // copy argument level + GLMessage_DataType *arg_level = glmsg.add_args(); + arg_level->set_isarray(false); + arg_level->set_type(GLMessage::DataType::INT); + arg_level->add_intvalue(level); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glFramebufferTextureEXT(target, attachment, texture, level); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + void GLTrace_glVertexAttribDivisorEXT(GLuint index, GLuint divisor) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); @@ -14328,6 +17919,76 @@ void GLTrace_glGetIntegeri_vEXT(GLenum target, GLuint index, GLint * data) { glContext->traceGLMessage(&glmsg); } +void GLTrace_glPrimitiveBoundingBoxEXT(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glPrimitiveBoundingBoxEXT); + + // copy argument minX + GLMessage_DataType *arg_minX = glmsg.add_args(); + arg_minX->set_isarray(false); + arg_minX->set_type(GLMessage::DataType::FLOAT); + arg_minX->add_floatvalue(minX); + + // copy argument minY + GLMessage_DataType *arg_minY = glmsg.add_args(); + arg_minY->set_isarray(false); + arg_minY->set_type(GLMessage::DataType::FLOAT); + arg_minY->add_floatvalue(minY); + + // copy argument minZ + GLMessage_DataType *arg_minZ = glmsg.add_args(); + arg_minZ->set_isarray(false); + arg_minZ->set_type(GLMessage::DataType::FLOAT); + arg_minZ->add_floatvalue(minZ); + + // copy argument minW + GLMessage_DataType *arg_minW = glmsg.add_args(); + arg_minW->set_isarray(false); + arg_minW->set_type(GLMessage::DataType::FLOAT); + arg_minW->add_floatvalue(minW); + + // copy argument maxX + GLMessage_DataType *arg_maxX = glmsg.add_args(); + arg_maxX->set_isarray(false); + arg_maxX->set_type(GLMessage::DataType::FLOAT); + arg_maxX->add_floatvalue(maxX); + + // copy argument maxY + GLMessage_DataType *arg_maxY = glmsg.add_args(); + arg_maxY->set_isarray(false); + arg_maxY->set_type(GLMessage::DataType::FLOAT); + arg_maxY->add_floatvalue(maxY); + + // copy argument maxZ + GLMessage_DataType *arg_maxZ = glmsg.add_args(); + arg_maxZ->set_isarray(false); + arg_maxZ->set_type(GLMessage::DataType::FLOAT); + arg_maxZ->add_floatvalue(maxZ); + + // copy argument maxW + GLMessage_DataType *arg_maxW = glmsg.add_args(); + arg_maxW->set_isarray(false); + arg_maxW->set_type(GLMessage::DataType::FLOAT); + arg_maxW->add_floatvalue(maxW); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glPrimitiveBoundingBoxEXT(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + GLenum GLTrace_glGetGraphicsResetStatusEXT(void) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); @@ -16566,6 +20227,460 @@ void GLTrace_glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsi glContext->traceGLMessage(&glmsg); } +void GLTrace_glPatchParameteriEXT(GLenum pname, GLint value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glPatchParameteriEXT); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::INT); + arg_value->add_intvalue(value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glPatchParameteriEXT(pname, value); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glTexParameterIivEXT(GLenum target, GLenum pname, const GLint * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glTexParameterIivEXT); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument params + GLMessage_DataType *arg_params = glmsg.add_args(); + arg_params->set_isarray(false); + arg_params->set_type(GLMessage::DataType::INT64); + arg_params->add_int64value((uintptr_t)params); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glTexParameterIivEXT(target, pname, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glTexParameterIuivEXT); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument params + GLMessage_DataType *arg_params = glmsg.add_args(); + arg_params->set_isarray(false); + arg_params->set_type(GLMessage::DataType::INT64); + arg_params->add_int64value((uintptr_t)params); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glTexParameterIuivEXT(target, pname, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetTexParameterIivEXT); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument params + GLMessage_DataType *arg_params = glmsg.add_args(); + arg_params->set_isarray(false); + arg_params->set_type(GLMessage::DataType::INT64); + arg_params->add_int64value((uintptr_t)params); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetTexParameterIivEXT(target, pname, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetTexParameterIuivEXT); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument params + GLMessage_DataType *arg_params = glmsg.add_args(); + arg_params->set_isarray(false); + arg_params->set_type(GLMessage::DataType::INT64); + arg_params->add_int64value((uintptr_t)params); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetTexParameterIuivEXT(target, pname, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glSamplerParameterIivEXT(GLuint sampler, GLenum pname, const GLint * param) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glSamplerParameterIivEXT); + + // copy argument sampler + GLMessage_DataType *arg_sampler = glmsg.add_args(); + arg_sampler->set_isarray(false); + arg_sampler->set_type(GLMessage::DataType::INT); + arg_sampler->add_intvalue(sampler); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument param + GLMessage_DataType *arg_param = glmsg.add_args(); + arg_param->set_isarray(false); + arg_param->set_type(GLMessage::DataType::INT64); + arg_param->add_int64value((uintptr_t)param); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glSamplerParameterIivEXT(sampler, pname, param); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) param, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glSamplerParameterIuivEXT(GLuint sampler, GLenum pname, const GLuint * param) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glSamplerParameterIuivEXT); + + // copy argument sampler + GLMessage_DataType *arg_sampler = glmsg.add_args(); + arg_sampler->set_isarray(false); + arg_sampler->set_type(GLMessage::DataType::INT); + arg_sampler->add_intvalue(sampler); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument param + GLMessage_DataType *arg_param = glmsg.add_args(); + arg_param->set_isarray(false); + arg_param->set_type(GLMessage::DataType::INT64); + arg_param->add_int64value((uintptr_t)param); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glSamplerParameterIuivEXT(sampler, pname, param); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) param, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetSamplerParameterIivEXT(GLuint sampler, GLenum pname, GLint * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetSamplerParameterIivEXT); + + // copy argument sampler + GLMessage_DataType *arg_sampler = glmsg.add_args(); + arg_sampler->set_isarray(false); + arg_sampler->set_type(GLMessage::DataType::INT); + arg_sampler->add_intvalue(sampler); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument params + GLMessage_DataType *arg_params = glmsg.add_args(); + arg_params->set_isarray(false); + arg_params->set_type(GLMessage::DataType::INT64); + arg_params->add_int64value((uintptr_t)params); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetSamplerParameterIivEXT(sampler, pname, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetSamplerParameterIuivEXT(GLuint sampler, GLenum pname, GLuint * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetSamplerParameterIuivEXT); + + // copy argument sampler + GLMessage_DataType *arg_sampler = glmsg.add_args(); + arg_sampler->set_isarray(false); + arg_sampler->set_type(GLMessage::DataType::INT); + arg_sampler->add_intvalue(sampler); + + // copy argument pname + GLMessage_DataType *arg_pname = glmsg.add_args(); + arg_pname->set_isarray(false); + arg_pname->set_type(GLMessage::DataType::ENUM); + arg_pname->add_intvalue((int)pname); + + // copy argument params + GLMessage_DataType *arg_params = glmsg.add_args(); + arg_params->set_isarray(false); + arg_params->set_type(GLMessage::DataType::INT64); + arg_params->add_int64value((uintptr_t)params); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetSamplerParameterIuivEXT(sampler, pname, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glTexBufferEXT); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument internalformat + GLMessage_DataType *arg_internalformat = glmsg.add_args(); + arg_internalformat->set_isarray(false); + arg_internalformat->set_type(GLMessage::DataType::ENUM); + arg_internalformat->add_intvalue((int)internalformat); + + // copy argument buffer + GLMessage_DataType *arg_buffer = glmsg.add_args(); + arg_buffer->set_isarray(false); + arg_buffer->set_type(GLMessage::DataType::INT); + arg_buffer->add_intvalue(buffer); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glTexBufferEXT(target, internalformat, buffer); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glTexBufferRangeEXT(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glTexBufferRangeEXT); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument internalformat + GLMessage_DataType *arg_internalformat = glmsg.add_args(); + arg_internalformat->set_isarray(false); + arg_internalformat->set_type(GLMessage::DataType::ENUM); + arg_internalformat->add_intvalue((int)internalformat); + + // copy argument buffer + GLMessage_DataType *arg_buffer = glmsg.add_args(); + arg_buffer->set_isarray(false); + arg_buffer->set_type(GLMessage::DataType::INT); + arg_buffer->add_intvalue(buffer); + + // copy argument offset + GLMessage_DataType *arg_offset = glmsg.add_args(); + arg_offset->set_isarray(false); + arg_offset->set_type(GLMessage::DataType::INT); + arg_offset->add_intvalue(offset); + + // copy argument size + GLMessage_DataType *arg_size = glmsg.add_args(); + arg_size->set_isarray(false); + arg_size->set_type(GLMessage::DataType::INT); + arg_size->add_intvalue(size); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glTexBufferRangeEXT(target, internalformat, buffer, offset, size); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + void GLTrace_glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); @@ -16896,6 +21011,76 @@ void GLTrace_glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels glContext->traceGLMessage(&glmsg); } +void GLTrace_glTextureViewEXT(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glTextureViewEXT); + + // copy argument texture + GLMessage_DataType *arg_texture = glmsg.add_args(); + arg_texture->set_isarray(false); + arg_texture->set_type(GLMessage::DataType::INT); + arg_texture->add_intvalue(texture); + + // copy argument target + GLMessage_DataType *arg_target = glmsg.add_args(); + arg_target->set_isarray(false); + arg_target->set_type(GLMessage::DataType::ENUM); + arg_target->add_intvalue((int)target); + + // copy argument origtexture + GLMessage_DataType *arg_origtexture = glmsg.add_args(); + arg_origtexture->set_isarray(false); + arg_origtexture->set_type(GLMessage::DataType::INT); + arg_origtexture->add_intvalue(origtexture); + + // copy argument internalformat + GLMessage_DataType *arg_internalformat = glmsg.add_args(); + arg_internalformat->set_isarray(false); + arg_internalformat->set_type(GLMessage::DataType::ENUM); + arg_internalformat->add_intvalue((int)internalformat); + + // copy argument minlevel + GLMessage_DataType *arg_minlevel = glmsg.add_args(); + arg_minlevel->set_isarray(false); + arg_minlevel->set_type(GLMessage::DataType::INT); + arg_minlevel->add_intvalue(minlevel); + + // copy argument numlevels + GLMessage_DataType *arg_numlevels = glmsg.add_args(); + arg_numlevels->set_isarray(false); + arg_numlevels->set_type(GLMessage::DataType::INT); + arg_numlevels->add_intvalue(numlevels); + + // copy argument minlayer + GLMessage_DataType *arg_minlayer = glmsg.add_args(); + arg_minlayer->set_isarray(false); + arg_minlayer->set_type(GLMessage::DataType::INT); + arg_minlayer->add_intvalue(minlayer); + + // copy argument numlayers + GLMessage_DataType *arg_numlayers = glmsg.add_args(); + arg_numlayers->set_isarray(false); + arg_numlayers->set_type(GLMessage::DataType::INT); + arg_numlayers->add_intvalue(numlayers); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glTextureViewEXT(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + void GLTrace_glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); diff --git a/opengl/libs/GLES_trace/src/gltrace_api.h b/opengl/libs/GLES_trace/src/gltrace_api.h index 3530579..a9ca3c4 100644 --- a/opengl/libs/GLES_trace/src/gltrace_api.h +++ b/opengl/libs/GLES_trace/src/gltrace_api.h @@ -267,6 +267,74 @@ void GLTrace_glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, c void GLTrace_glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); void GLTrace_glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); void GLTrace_glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint * params); +void GLTrace_glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); +void GLTrace_glDispatchComputeIndirect(GLintptr indirect); +void GLTrace_glDrawArraysIndirect(GLenum mode, const void * indirect); +void GLTrace_glDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect); +void GLTrace_glFramebufferParameteri(GLenum target, GLenum pname, GLint param); +void GLTrace_glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint * params); +void GLTrace_glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint * params); +GLuint GLTrace_glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar * name); +void GLTrace_glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name); +void GLTrace_glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params); +GLint GLTrace_glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar * name); +void GLTrace_glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program); +void GLTrace_glActiveShaderProgram(GLuint pipeline, GLuint program); +GLuint GLTrace_glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const* strings); +void GLTrace_glBindProgramPipeline(GLuint pipeline); +void GLTrace_glDeleteProgramPipelines(GLsizei n, const GLuint * pipelines); +void GLTrace_glGenProgramPipelines(GLsizei n, GLuint * pipelines); +GLboolean GLTrace_glIsProgramPipeline(GLuint pipeline); +void GLTrace_glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint * params); +void GLTrace_glProgramUniform1i(GLuint program, GLint location, GLint v0); +void GLTrace_glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1); +void GLTrace_glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +void GLTrace_glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +void GLTrace_glProgramUniform1ui(GLuint program, GLint location, GLuint v0); +void GLTrace_glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1); +void GLTrace_glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +void GLTrace_glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +void GLTrace_glProgramUniform1f(GLuint program, GLint location, GLfloat v0); +void GLTrace_glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1); +void GLTrace_glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +void GLTrace_glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +void GLTrace_glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint * value); +void GLTrace_glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint * value); +void GLTrace_glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint * value); +void GLTrace_glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint * value); +void GLTrace_glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint * value); +void GLTrace_glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint * value); +void GLTrace_glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint * value); +void GLTrace_glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint * value); +void GLTrace_glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat * value); +void GLTrace_glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat * value); +void GLTrace_glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat * value); +void GLTrace_glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat * value); +void GLTrace_glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +void GLTrace_glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +void GLTrace_glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +void GLTrace_glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +void GLTrace_glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +void GLTrace_glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +void GLTrace_glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +void GLTrace_glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +void GLTrace_glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +void GLTrace_glValidateProgramPipeline(GLuint pipeline); +void GLTrace_glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog); +void GLTrace_glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); +void GLTrace_glGetBooleani_v(GLenum target, GLuint index, GLboolean * data); +void GLTrace_glMemoryBarrier(GLbitfield barriers); +void GLTrace_glMemoryBarrierByRegion(GLbitfield barriers); +void GLTrace_glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +void GLTrace_glGetMultisamplefv(GLenum pname, GLuint index, GLfloat * val); +void GLTrace_glSampleMaski(GLuint maskNumber, GLbitfield mask); +void GLTrace_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint * params); +void GLTrace_glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat * params); +void GLTrace_glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +void GLTrace_glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +void GLTrace_glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +void GLTrace_glVertexAttribBinding(GLuint attribindex, GLuint bindingindex); +void GLTrace_glVertexBindingDivisor(GLuint bindingindex, GLuint divisor); // Declarations for GL2Ext APIs @@ -328,6 +396,7 @@ GLenum GLTrace_glClientWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 tim void GLTrace_glWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout); void GLTrace_glGetInteger64vAPPLE(GLenum pname, GLint64 * params); void GLTrace_glGetSyncivAPPLE(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values); +void GLTrace_glCopyImageSubDataEXT(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); void GLTrace_glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar * label); void GLTrace_glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GLsizei * length, GLchar * label); void GLTrace_glInsertEventMarkerEXT(GLsizei length, const GLchar * marker); @@ -346,8 +415,17 @@ void GLTrace_glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint * params); void GLTrace_glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64 * params); void GLTrace_glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64 * params); void GLTrace_glDrawBuffersEXT(GLsizei n, const GLenum * bufs); +void GLTrace_glEnableiEXT(GLenum target, GLuint index); +void GLTrace_glDisableiEXT(GLenum target, GLuint index); +void GLTrace_glBlendEquationiEXT(GLuint buf, GLenum mode); +void GLTrace_glBlendEquationSeparateiEXT(GLuint buf, GLenum modeRGB, GLenum modeAlpha); +void GLTrace_glBlendFunciEXT(GLuint buf, GLenum src, GLenum dst); +void GLTrace_glBlendFuncSeparateiEXT(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +void GLTrace_glColorMaskiEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +GLboolean GLTrace_glIsEnablediEXT(GLenum target, GLuint index); void GLTrace_glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount); void GLTrace_glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount); +void GLTrace_glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level); void GLTrace_glVertexAttribDivisorEXT(GLuint index, GLuint divisor); void * GLTrace_glMapBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); void GLTrace_glFlushMappedBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length); @@ -358,6 +436,7 @@ void GLTrace_glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachme void GLTrace_glReadBufferIndexedEXT(GLenum src, GLint index); void GLTrace_glDrawBuffersIndexedEXT(GLint n, const GLenum * location, const GLint * indices); void GLTrace_glGetIntegeri_vEXT(GLenum target, GLuint index, GLint * data); +void GLTrace_glPrimitiveBoundingBoxEXT(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); GLenum GLTrace_glGetGraphicsResetStatusEXT(void); void GLTrace_glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data); void GLTrace_glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat * params); @@ -406,12 +485,24 @@ void GLTrace_glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsi void GLTrace_glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); void GLTrace_glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); void GLTrace_glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +void GLTrace_glPatchParameteriEXT(GLenum pname, GLint value); +void GLTrace_glTexParameterIivEXT(GLenum target, GLenum pname, const GLint * params); +void GLTrace_glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint * params); +void GLTrace_glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint * params); +void GLTrace_glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint * params); +void GLTrace_glSamplerParameterIivEXT(GLuint sampler, GLenum pname, const GLint * param); +void GLTrace_glSamplerParameterIuivEXT(GLuint sampler, GLenum pname, const GLuint * param); +void GLTrace_glGetSamplerParameterIivEXT(GLuint sampler, GLenum pname, GLint * params); +void GLTrace_glGetSamplerParameterIuivEXT(GLuint sampler, GLenum pname, GLuint * params); +void GLTrace_glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer); +void GLTrace_glTexBufferRangeEXT(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); void GLTrace_glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); void GLTrace_glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); void GLTrace_glTexStorage3DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); void GLTrace_glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); void GLTrace_glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); void GLTrace_glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +void GLTrace_glTextureViewEXT(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); void GLTrace_glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); void GLTrace_glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); void GLTrace_glBeginPerfQueryINTEL(GLuint queryHandle); |