From fca1b54031a1ba2a3c82bbbbe71716cd7e6a61d7 Mon Sep 17 00:00:00 2001 From: Jesse Hall Date: Sat, 17 May 2014 22:46:13 -0700 Subject: [PATCH] opengl: Regenerate code with ES 3.1 and new extensions Enable ES 3.1 generation in glgen.py, and regenerate everything to add support for that as well as these new extensions in the registry: - EXT_copy_image - EXT_draw_buffers_indexed - EXT_geometry_shader - EXT_gpu_shader5 - EXT_primitive_bounding_box - EXT_shader_implicit_conversions - EXT_shader_io_blocks - EXT_tessellation_shader - EXT_texture_border_clamp - EXT_texture_buffer - EXT_texture_cube_map_array - EXT_texture_view Bug: 15028495 Change-Id: I3f45a7ef5367c70e54ce6b36a8c030ae11033434 --- opengl/libs/GLES2/gl2.cpp | 4 - opengl/libs/GLES2/gl2_api.in | 204 + opengl/libs/GLES2/gl2ext_api.in | 69 + opengl/libs/GLES_trace/gltrace.proto | 91 + opengl/libs/GLES_trace/src/gltrace.pb.cpp | 182 + opengl/libs/GLES_trace/src/gltrace.pb.h | 182 + opengl/libs/GLES_trace/src/gltrace_api.cpp | 9619 ++++++++++++++++++++-------- opengl/libs/GLES_trace/src/gltrace_api.h | 91 + opengl/libs/GLES_trace/tools/genapi.py | 1 - opengl/libs/entries.in | 91 + opengl/libs/enums.in | 268 +- opengl/libs/hooks.h | 2 +- opengl/libs/trace.in | 91 + opengl/tools/glgen2/glgen.py | 4 - 14 files changed, 8164 insertions(+), 2735 deletions(-) diff --git a/opengl/libs/GLES2/gl2.cpp b/opengl/libs/GLES2/gl2.cpp index fa8a228761..75fc95c713 100644 --- a/opengl/libs/GLES2/gl2.cpp +++ b/opengl/libs/GLES2/gl2.cpp @@ -20,10 +20,6 @@ #include -#include -#include -#include - #include #include diff --git a/opengl/libs/GLES2/gl2_api.in b/opengl/libs/GLES2/gl2_api.in index 776d2474af..8363960512 100644 --- a/opengl/libs/GLES2/gl2_api.in +++ b/opengl/libs/GLES2/gl2_api.in @@ -736,3 +736,207 @@ void API_ENTRY(glTexStorage3D)(GLenum target, GLsizei levels, GLenum internalfor void API_ENTRY(glGetInternalformativ)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint * params) { CALL_GL_API(glGetInternalformativ, target, internalformat, pname, bufSize, params); } +void API_ENTRY(glDispatchCompute)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) { + CALL_GL_API(glDispatchCompute, num_groups_x, num_groups_y, num_groups_z); +} +void API_ENTRY(glDispatchComputeIndirect)(GLintptr indirect) { + CALL_GL_API(glDispatchComputeIndirect, indirect); +} +void API_ENTRY(glDrawArraysIndirect)(GLenum mode, const void * indirect) { + CALL_GL_API(glDrawArraysIndirect, mode, indirect); +} +void API_ENTRY(glDrawElementsIndirect)(GLenum mode, GLenum type, const void * indirect) { + CALL_GL_API(glDrawElementsIndirect, mode, type, indirect); +} +void API_ENTRY(glFramebufferParameteri)(GLenum target, GLenum pname, GLint param) { + CALL_GL_API(glFramebufferParameteri, target, pname, param); +} +void API_ENTRY(glGetFramebufferParameteriv)(GLenum target, GLenum pname, GLint * params) { + CALL_GL_API(glGetFramebufferParameteriv, target, pname, params); +} +void API_ENTRY(glGetProgramInterfaceiv)(GLuint program, GLenum programInterface, GLenum pname, GLint * params) { + CALL_GL_API(glGetProgramInterfaceiv, program, programInterface, pname, params); +} +GLuint API_ENTRY(glGetProgramResourceIndex)(GLuint program, GLenum programInterface, const GLchar * name) { + CALL_GL_API_RETURN(glGetProgramResourceIndex, program, programInterface, name); +} +void API_ENTRY(glGetProgramResourceName)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name) { + CALL_GL_API(glGetProgramResourceName, program, programInterface, index, bufSize, length, name); +} +void API_ENTRY(glGetProgramResourceiv)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params) { + CALL_GL_API(glGetProgramResourceiv, program, programInterface, index, propCount, props, bufSize, length, params); +} +GLint API_ENTRY(glGetProgramResourceLocation)(GLuint program, GLenum programInterface, const GLchar * name) { + CALL_GL_API_RETURN(glGetProgramResourceLocation, program, programInterface, name); +} +void API_ENTRY(glUseProgramStages)(GLuint pipeline, GLbitfield stages, GLuint program) { + CALL_GL_API(glUseProgramStages, pipeline, stages, program); +} +void API_ENTRY(glActiveShaderProgram)(GLuint pipeline, GLuint program) { + CALL_GL_API(glActiveShaderProgram, pipeline, program); +} +GLuint API_ENTRY(glCreateShaderProgramv)(GLenum type, GLsizei count, const GLchar *const* strings) { + CALL_GL_API_RETURN(glCreateShaderProgramv, type, count, strings); +} +void API_ENTRY(glBindProgramPipeline)(GLuint pipeline) { + CALL_GL_API(glBindProgramPipeline, pipeline); +} +void API_ENTRY(glDeleteProgramPipelines)(GLsizei n, const GLuint * pipelines) { + CALL_GL_API(glDeleteProgramPipelines, n, pipelines); +} +void API_ENTRY(glGenProgramPipelines)(GLsizei n, GLuint * pipelines) { + CALL_GL_API(glGenProgramPipelines, n, pipelines); +} +GLboolean API_ENTRY(glIsProgramPipeline)(GLuint pipeline) { + CALL_GL_API_RETURN(glIsProgramPipeline, pipeline); +} +void API_ENTRY(glGetProgramPipelineiv)(GLuint pipeline, GLenum pname, GLint * params) { + CALL_GL_API(glGetProgramPipelineiv, pipeline, pname, params); +} +void API_ENTRY(glProgramUniform1i)(GLuint program, GLint location, GLint v0) { + CALL_GL_API(glProgramUniform1i, program, location, v0); +} +void API_ENTRY(glProgramUniform2i)(GLuint program, GLint location, GLint v0, GLint v1) { + CALL_GL_API(glProgramUniform2i, program, location, v0, v1); +} +void API_ENTRY(glProgramUniform3i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { + CALL_GL_API(glProgramUniform3i, program, location, v0, v1, v2); +} +void API_ENTRY(glProgramUniform4i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { + CALL_GL_API(glProgramUniform4i, program, location, v0, v1, v2, v3); +} +void API_ENTRY(glProgramUniform1ui)(GLuint program, GLint location, GLuint v0) { + CALL_GL_API(glProgramUniform1ui, program, location, v0); +} +void API_ENTRY(glProgramUniform2ui)(GLuint program, GLint location, GLuint v0, GLuint v1) { + CALL_GL_API(glProgramUniform2ui, program, location, v0, v1); +} +void API_ENTRY(glProgramUniform3ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { + CALL_GL_API(glProgramUniform3ui, program, location, v0, v1, v2); +} +void API_ENTRY(glProgramUniform4ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { + CALL_GL_API(glProgramUniform4ui, program, location, v0, v1, v2, v3); +} +void API_ENTRY(glProgramUniform1f)(GLuint program, GLint location, GLfloat v0) { + CALL_GL_API(glProgramUniform1f, program, location, v0); +} +void API_ENTRY(glProgramUniform2f)(GLuint program, GLint location, GLfloat v0, GLfloat v1) { + CALL_GL_API(glProgramUniform2f, program, location, v0, v1); +} +void API_ENTRY(glProgramUniform3f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { + CALL_GL_API(glProgramUniform3f, program, location, v0, v1, v2); +} +void API_ENTRY(glProgramUniform4f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { + CALL_GL_API(glProgramUniform4f, program, location, v0, v1, v2, v3); +} +void API_ENTRY(glProgramUniform1iv)(GLuint program, GLint location, GLsizei count, const GLint * value) { + CALL_GL_API(glProgramUniform1iv, program, location, count, value); +} +void API_ENTRY(glProgramUniform2iv)(GLuint program, GLint location, GLsizei count, const GLint * value) { + CALL_GL_API(glProgramUniform2iv, program, location, count, value); +} +void API_ENTRY(glProgramUniform3iv)(GLuint program, GLint location, GLsizei count, const GLint * value) { + CALL_GL_API(glProgramUniform3iv, program, location, count, value); +} +void API_ENTRY(glProgramUniform4iv)(GLuint program, GLint location, GLsizei count, const GLint * value) { + CALL_GL_API(glProgramUniform4iv, program, location, count, value); +} +void API_ENTRY(glProgramUniform1uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value) { + CALL_GL_API(glProgramUniform1uiv, program, location, count, value); +} +void API_ENTRY(glProgramUniform2uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value) { + CALL_GL_API(glProgramUniform2uiv, program, location, count, value); +} +void API_ENTRY(glProgramUniform3uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value) { + CALL_GL_API(glProgramUniform3uiv, program, location, count, value); +} +void API_ENTRY(glProgramUniform4uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value) { + CALL_GL_API(glProgramUniform4uiv, program, location, count, value); +} +void API_ENTRY(glProgramUniform1fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + CALL_GL_API(glProgramUniform1fv, program, location, count, value); +} +void API_ENTRY(glProgramUniform2fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + CALL_GL_API(glProgramUniform2fv, program, location, count, value); +} +void API_ENTRY(glProgramUniform3fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + CALL_GL_API(glProgramUniform3fv, program, location, count, value); +} +void API_ENTRY(glProgramUniform4fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + CALL_GL_API(glProgramUniform4fv, program, location, count, value); +} +void API_ENTRY(glProgramUniformMatrix2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + CALL_GL_API(glProgramUniformMatrix2fv, program, location, count, transpose, value); +} +void API_ENTRY(glProgramUniformMatrix3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + CALL_GL_API(glProgramUniformMatrix3fv, program, location, count, transpose, value); +} +void API_ENTRY(glProgramUniformMatrix4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + CALL_GL_API(glProgramUniformMatrix4fv, program, location, count, transpose, value); +} +void API_ENTRY(glProgramUniformMatrix2x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + CALL_GL_API(glProgramUniformMatrix2x3fv, program, location, count, transpose, value); +} +void API_ENTRY(glProgramUniformMatrix3x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + CALL_GL_API(glProgramUniformMatrix3x2fv, program, location, count, transpose, value); +} +void API_ENTRY(glProgramUniformMatrix2x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + CALL_GL_API(glProgramUniformMatrix2x4fv, program, location, count, transpose, value); +} +void API_ENTRY(glProgramUniformMatrix4x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + CALL_GL_API(glProgramUniformMatrix4x2fv, program, location, count, transpose, value); +} +void API_ENTRY(glProgramUniformMatrix3x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + CALL_GL_API(glProgramUniformMatrix3x4fv, program, location, count, transpose, value); +} +void API_ENTRY(glProgramUniformMatrix4x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + CALL_GL_API(glProgramUniformMatrix4x3fv, program, location, count, transpose, value); +} +void API_ENTRY(glValidateProgramPipeline)(GLuint pipeline) { + CALL_GL_API(glValidateProgramPipeline, pipeline); +} +void API_ENTRY(glGetProgramPipelineInfoLog)(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog) { + CALL_GL_API(glGetProgramPipelineInfoLog, pipeline, bufSize, length, infoLog); +} +void API_ENTRY(glBindImageTexture)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) { + CALL_GL_API(glBindImageTexture, unit, texture, level, layered, layer, access, format); +} +void API_ENTRY(glGetBooleani_v)(GLenum target, GLuint index, GLboolean * data) { + CALL_GL_API(glGetBooleani_v, target, index, data); +} +void API_ENTRY(glMemoryBarrier)(GLbitfield barriers) { + CALL_GL_API(glMemoryBarrier, barriers); +} +void API_ENTRY(glMemoryBarrierByRegion)(GLbitfield barriers) { + CALL_GL_API(glMemoryBarrierByRegion, barriers); +} +void API_ENTRY(glTexStorage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { + CALL_GL_API(glTexStorage2DMultisample, target, samples, internalformat, width, height, fixedsamplelocations); +} +void API_ENTRY(glGetMultisamplefv)(GLenum pname, GLuint index, GLfloat * val) { + CALL_GL_API(glGetMultisamplefv, pname, index, val); +} +void API_ENTRY(glSampleMaski)(GLuint maskNumber, GLbitfield mask) { + CALL_GL_API(glSampleMaski, maskNumber, mask); +} +void API_ENTRY(glGetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint * params) { + CALL_GL_API(glGetTexLevelParameteriv, target, level, pname, params); +} +void API_ENTRY(glGetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat * params) { + CALL_GL_API(glGetTexLevelParameterfv, target, level, pname, params); +} +void API_ENTRY(glBindVertexBuffer)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { + CALL_GL_API(glBindVertexBuffer, bindingindex, buffer, offset, stride); +} +void API_ENTRY(glVertexAttribFormat)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { + CALL_GL_API(glVertexAttribFormat, attribindex, size, type, normalized, relativeoffset); +} +void API_ENTRY(glVertexAttribIFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { + CALL_GL_API(glVertexAttribIFormat, attribindex, size, type, relativeoffset); +} +void API_ENTRY(glVertexAttribBinding)(GLuint attribindex, GLuint bindingindex) { + CALL_GL_API(glVertexAttribBinding, attribindex, bindingindex); +} +void API_ENTRY(glVertexBindingDivisor)(GLuint bindingindex, GLuint divisor) { + CALL_GL_API(glVertexBindingDivisor, bindingindex, divisor); +} diff --git a/opengl/libs/GLES2/gl2ext_api.in b/opengl/libs/GLES2/gl2ext_api.in index 8c1bae16f8..745590dc76 100644 --- a/opengl/libs/GLES2/gl2ext_api.in +++ b/opengl/libs/GLES2/gl2ext_api.in @@ -172,6 +172,9 @@ void API_ENTRY(glGetInteger64vAPPLE)(GLenum pname, GLint64 * params) { void API_ENTRY(glGetSyncivAPPLE)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values) { CALL_GL_API(glGetSyncivAPPLE, sync, pname, bufSize, length, values); } +void API_ENTRY(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) { + CALL_GL_API(glCopyImageSubDataEXT, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); +} void API_ENTRY(glLabelObjectEXT)(GLenum type, GLuint object, GLsizei length, const GLchar * label) { CALL_GL_API(glLabelObjectEXT, type, object, length, label); } @@ -226,12 +229,39 @@ void API_ENTRY(glGetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64 * par void API_ENTRY(glDrawBuffersEXT)(GLsizei n, const GLenum * bufs) { CALL_GL_API(glDrawBuffersEXT, n, bufs); } +void API_ENTRY(glEnableiEXT)(GLenum target, GLuint index) { + CALL_GL_API(glEnableiEXT, target, index); +} +void API_ENTRY(glDisableiEXT)(GLenum target, GLuint index) { + CALL_GL_API(glDisableiEXT, target, index); +} +void API_ENTRY(glBlendEquationiEXT)(GLuint buf, GLenum mode) { + CALL_GL_API(glBlendEquationiEXT, buf, mode); +} +void API_ENTRY(glBlendEquationSeparateiEXT)(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { + CALL_GL_API(glBlendEquationSeparateiEXT, buf, modeRGB, modeAlpha); +} +void API_ENTRY(glBlendFunciEXT)(GLuint buf, GLenum src, GLenum dst) { + CALL_GL_API(glBlendFunciEXT, buf, src, dst); +} +void API_ENTRY(glBlendFuncSeparateiEXT)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { + CALL_GL_API(glBlendFuncSeparateiEXT, buf, srcRGB, dstRGB, srcAlpha, dstAlpha); +} +void API_ENTRY(glColorMaskiEXT)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { + CALL_GL_API(glColorMaskiEXT, index, r, g, b, a); +} +GLboolean API_ENTRY(glIsEnablediEXT)(GLenum target, GLuint index) { + CALL_GL_API_RETURN(glIsEnablediEXT, target, index); +} void API_ENTRY(glDrawArraysInstancedEXT)(GLenum mode, GLint start, GLsizei count, GLsizei primcount) { CALL_GL_API(glDrawArraysInstancedEXT, mode, start, count, primcount); } void API_ENTRY(glDrawElementsInstancedEXT)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount) { CALL_GL_API(glDrawElementsInstancedEXT, mode, count, type, indices, primcount); } +void API_ENTRY(glFramebufferTextureEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level) { + CALL_GL_API(glFramebufferTextureEXT, target, attachment, texture, level); +} void API_ENTRY(glVertexAttribDivisorEXT)(GLuint index, GLuint divisor) { CALL_GL_API(glVertexAttribDivisorEXT, index, divisor); } @@ -262,6 +292,9 @@ void API_ENTRY(glDrawBuffersIndexedEXT)(GLint n, const GLenum * location, const void API_ENTRY(glGetIntegeri_vEXT)(GLenum target, GLuint index, GLint * data) { CALL_GL_API(glGetIntegeri_vEXT, target, index, data); } +void API_ENTRY(glPrimitiveBoundingBoxEXT)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW) { + CALL_GL_API(glPrimitiveBoundingBoxEXT, minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); +} GLenum API_ENTRY(glGetGraphicsResetStatusEXT)(void) { CALL_GL_API_RETURN(glGetGraphicsResetStatusEXT); } @@ -406,6 +439,39 @@ void API_ENTRY(glProgramUniformMatrix3x4fvEXT)(GLuint program, GLint location, G void API_ENTRY(glProgramUniformMatrix4x3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { CALL_GL_API(glProgramUniformMatrix4x3fvEXT, program, location, count, transpose, value); } +void API_ENTRY(glPatchParameteriEXT)(GLenum pname, GLint value) { + CALL_GL_API(glPatchParameteriEXT, pname, value); +} +void API_ENTRY(glTexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params) { + CALL_GL_API(glTexParameterIivEXT, target, pname, params); +} +void API_ENTRY(glTexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params) { + CALL_GL_API(glTexParameterIuivEXT, target, pname, params); +} +void API_ENTRY(glGetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params) { + CALL_GL_API(glGetTexParameterIivEXT, target, pname, params); +} +void API_ENTRY(glGetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params) { + CALL_GL_API(glGetTexParameterIuivEXT, target, pname, params); +} +void API_ENTRY(glSamplerParameterIivEXT)(GLuint sampler, GLenum pname, const GLint * param) { + CALL_GL_API(glSamplerParameterIivEXT, sampler, pname, param); +} +void API_ENTRY(glSamplerParameterIuivEXT)(GLuint sampler, GLenum pname, const GLuint * param) { + CALL_GL_API(glSamplerParameterIuivEXT, sampler, pname, param); +} +void API_ENTRY(glGetSamplerParameterIivEXT)(GLuint sampler, GLenum pname, GLint * params) { + CALL_GL_API(glGetSamplerParameterIivEXT, sampler, pname, params); +} +void API_ENTRY(glGetSamplerParameterIuivEXT)(GLuint sampler, GLenum pname, GLuint * params) { + CALL_GL_API(glGetSamplerParameterIuivEXT, sampler, pname, params); +} +void API_ENTRY(glTexBufferEXT)(GLenum target, GLenum internalformat, GLuint buffer) { + CALL_GL_API(glTexBufferEXT, target, internalformat, buffer); +} +void API_ENTRY(glTexBufferRangeEXT)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { + CALL_GL_API(glTexBufferRangeEXT, target, internalformat, buffer, offset, size); +} void API_ENTRY(glTexStorage1DEXT)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { CALL_GL_API(glTexStorage1DEXT, target, levels, internalformat, width); } @@ -424,6 +490,9 @@ void API_ENTRY(glTextureStorage2DEXT)(GLuint texture, GLenum target, GLsizei lev void API_ENTRY(glTextureStorage3DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { CALL_GL_API(glTextureStorage3DEXT, texture, target, levels, internalformat, width, height, depth); } +void API_ENTRY(glTextureViewEXT)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) { + CALL_GL_API(glTextureViewEXT, texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); +} void API_ENTRY(glRenderbufferStorageMultisampleIMG)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { CALL_GL_API(glRenderbufferStorageMultisampleIMG, target, samples, internalformat, width, height); } diff --git a/opengl/libs/GLES_trace/gltrace.proto b/opengl/libs/GLES_trace/gltrace.proto index 671bcf5689..00303c2f0e 100644 --- a/opengl/libs/GLES_trace/gltrace.proto +++ b/opengl/libs/GLES_trace/gltrace.proto @@ -664,6 +664,97 @@ message GLMessage { glUniformMatrix4x2fvNV = 637; glUniformMatrix3x4fvNV = 638; glUniformMatrix4x3fvNV = 639; + glActiveShaderProgram = 640; + glBindImageTexture = 641; + glBindProgramPipeline = 642; + glBindVertexBuffer = 643; + glCreateShaderProgramv = 644; + glDeleteProgramPipelines = 645; + glDispatchCompute = 646; + glDispatchComputeIndirect = 647; + glDrawArraysIndirect = 648; + glDrawElementsIndirect = 649; + glFramebufferParameteri = 650; + glGenProgramPipelines = 651; + glGetBooleani_v = 652; + glGetFramebufferParameteriv = 653; + glGetMultisamplefv = 654; + glGetProgramInterfaceiv = 655; + glGetProgramPipelineInfoLog = 656; + glGetProgramPipelineiv = 657; + glGetProgramResourceIndex = 658; + glGetProgramResourceLocation = 659; + glGetProgramResourceName = 660; + glGetProgramResourceiv = 661; + glGetTexLevelParameterfv = 662; + glGetTexLevelParameteriv = 663; + glIsProgramPipeline = 664; + glMemoryBarrier = 665; + glMemoryBarrierByRegion = 666; + glProgramUniform1f = 667; + glProgramUniform1fv = 668; + glProgramUniform1i = 669; + glProgramUniform1iv = 670; + glProgramUniform1ui = 671; + glProgramUniform1uiv = 672; + glProgramUniform2f = 673; + glProgramUniform2fv = 674; + glProgramUniform2i = 675; + glProgramUniform2iv = 676; + glProgramUniform2ui = 677; + glProgramUniform2uiv = 678; + glProgramUniform3f = 679; + glProgramUniform3fv = 680; + glProgramUniform3i = 681; + glProgramUniform3iv = 682; + glProgramUniform3ui = 683; + glProgramUniform3uiv = 684; + glProgramUniform4f = 685; + glProgramUniform4fv = 686; + glProgramUniform4i = 687; + glProgramUniform4iv = 688; + glProgramUniform4ui = 689; + glProgramUniform4uiv = 690; + glProgramUniformMatrix2fv = 691; + glProgramUniformMatrix2x3fv = 692; + glProgramUniformMatrix2x4fv = 693; + glProgramUniformMatrix3fv = 694; + glProgramUniformMatrix3x2fv = 695; + glProgramUniformMatrix3x4fv = 696; + glProgramUniformMatrix4fv = 697; + glProgramUniformMatrix4x2fv = 698; + glProgramUniformMatrix4x3fv = 699; + glSampleMaski = 700; + glTexStorage2DMultisample = 701; + glUseProgramStages = 702; + glValidateProgramPipeline = 703; + glVertexAttribBinding = 704; + glVertexAttribFormat = 705; + glVertexAttribIFormat = 706; + glVertexBindingDivisor = 707; + glBlendEquationSeparateiEXT = 708; + glBlendEquationiEXT = 709; + glBlendFuncSeparateiEXT = 710; + glBlendFunciEXT = 711; + glColorMaskiEXT = 712; + glCopyImageSubDataEXT = 713; + glDisableiEXT = 714; + glEnableiEXT = 715; + glFramebufferTextureEXT = 716; + glGetSamplerParameterIivEXT = 717; + glGetSamplerParameterIuivEXT = 718; + glGetTexParameterIivEXT = 719; + glGetTexParameterIuivEXT = 720; + glIsEnablediEXT = 721; + glPatchParameteriEXT = 722; + glPrimitiveBoundingBoxEXT = 723; + glSamplerParameterIivEXT = 724; + glSamplerParameterIuivEXT = 725; + glTexBufferEXT = 726; + glTexBufferRangeEXT = 727; + glTexParameterIivEXT = 728; + glTexParameterIuivEXT = 729; + glTextureViewEXT = 730; eglGetDisplay = 2000; eglInitialize = 2001; diff --git a/opengl/libs/GLES_trace/src/gltrace.pb.cpp b/opengl/libs/GLES_trace/src/gltrace.pb.cpp index f1034a34fc..c0867cd385 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 966360bb21..9bc7c58ce4 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 4fbd1241d7..eed3ccfa92 100644 --- a/opengl/libs/GLES_trace/src/gltrace_api.cpp +++ b/opengl/libs/GLES_trace/src/gltrace_api.cpp @@ -18,7 +18,6 @@ #include #include -#include #include "gltrace.pb.h" #include "gltrace_context.h" @@ -10343,19 +10342,34 @@ void GLTrace_glGetInternalformativ(GLenum target, GLenum internalformat, GLenum glContext->traceGLMessage(&glmsg); } - -// Definitions for GL2Ext APIs - -void GLTrace_glBlendBarrierKHR(void) { +void GLTrace_glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glBlendBarrierKHR); + 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.glBlendBarrierKHR(); + 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); @@ -10368,57 +10382,61 @@ void GLTrace_glBlendBarrierKHR(void) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glDebugMessageControlKHR(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled) { +void GLTrace_glDispatchComputeIndirect(GLintptr indirect) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDebugMessageControlKHR); + glmsg.set_function(GLMessage::glDispatchComputeIndirect); - // copy argument source - GLMessage_DataType *arg_source = glmsg.add_args(); - arg_source->set_isarray(false); - arg_source->set_type(GLMessage::DataType::ENUM); - arg_source->add_intvalue((int)source); + // 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); - // 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); + // 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); - // copy argument severity - GLMessage_DataType *arg_severity = glmsg.add_args(); - arg_severity->set_isarray(false); - arg_severity->set_type(GLMessage::DataType::ENUM); - arg_severity->add_intvalue((int)severity); + void *pointerArgs[] = { + }; - // 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); + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} - // copy argument ids - GLMessage_DataType *arg_ids = glmsg.add_args(); - arg_ids->set_isarray(false); - arg_ids->set_type(GLMessage::DataType::INT64); - arg_ids->add_int64value((uintptr_t)ids); +void GLTrace_glDrawArraysIndirect(GLenum mode, const void * indirect) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); - // copy argument enabled - GLMessage_DataType *arg_enabled = glmsg.add_args(); - arg_enabled->set_isarray(false); - arg_enabled->set_type(GLMessage::DataType::BOOL); - arg_enabled->add_boolvalue(enabled); + 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.glDebugMessageControlKHR(source, type, severity, count, ids, enabled); + glContext->hooks->gl.glDrawArraysIndirect(mode, indirect); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) ids, + (void *) indirect, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -10427,17 +10445,17 @@ void GLTrace_glDebugMessageControlKHR(GLenum source, GLenum type, GLenum severit glContext->traceGLMessage(&glmsg); } -void GLTrace_glDebugMessageInsertKHR(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf) { +void GLTrace_glDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDebugMessageInsertKHR); + glmsg.set_function(GLMessage::glDrawElementsIndirect); - // copy argument source - GLMessage_DataType *arg_source = glmsg.add_args(); - arg_source->set_isarray(false); - arg_source->set_type(GLMessage::DataType::ENUM); - arg_source->add_intvalue((int)source); + // 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(); @@ -10445,39 +10463,21 @@ void GLTrace_glDebugMessageInsertKHR(GLenum source, GLenum type, GLuint id, GLen arg_type->set_type(GLMessage::DataType::ENUM); arg_type->add_intvalue((int)type); - // copy argument id - GLMessage_DataType *arg_id = glmsg.add_args(); - arg_id->set_isarray(false); - arg_id->set_type(GLMessage::DataType::INT); - arg_id->add_intvalue(id); - - // copy argument severity - GLMessage_DataType *arg_severity = glmsg.add_args(); - arg_severity->set_isarray(false); - arg_severity->set_type(GLMessage::DataType::ENUM); - arg_severity->add_intvalue((int)severity); - - // copy argument length - GLMessage_DataType *arg_length = glmsg.add_args(); - arg_length->set_isarray(false); - arg_length->set_type(GLMessage::DataType::INT); - arg_length->add_intvalue(length); - - // copy argument buf - GLMessage_DataType *arg_buf = glmsg.add_args(); - arg_buf->set_isarray(false); - arg_buf->set_type(GLMessage::DataType::INT64); - arg_buf->add_int64value((uintptr_t)buf); + // 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.glDebugMessageInsertKHR(source, type, id, severity, length, buf); + glContext->hooks->gl.glDrawElementsIndirect(mode, type, indirect); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) buf, + (void *) indirect, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -10486,34 +10486,38 @@ void GLTrace_glDebugMessageInsertKHR(GLenum source, GLenum type, GLuint id, GLen glContext->traceGLMessage(&glmsg); } -void GLTrace_glDebugMessageCallbackKHR(GLDEBUGPROCKHR callback, const void * userParam) { +void GLTrace_glFramebufferParameteri(GLenum target, GLenum pname, GLint param) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDebugMessageCallbackKHR); + glmsg.set_function(GLMessage::glFramebufferParameteri); - // copy argument callback - GLMessage_DataType *arg_callback = glmsg.add_args(); - arg_callback->set_isarray(false); - arg_callback->set_type(GLMessage::DataType::INT64); - arg_callback->add_int64value((uintptr_t)callback); + // 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 userParam - GLMessage_DataType *arg_userParam = glmsg.add_args(); - arg_userParam->set_isarray(false); - arg_userParam->set_type(GLMessage::DataType::INT64); - arg_userParam->add_int64value((uintptr_t)userParam); + // 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.glDebugMessageCallbackKHR(callback, userParam); + glContext->hooks->gl.glFramebufferParameteri(target, pname, param); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) callback, - (void *) userParam, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -10522,129 +10526,86 @@ void GLTrace_glDebugMessageCallbackKHR(GLDEBUGPROCKHR callback, const void * use glContext->traceGLMessage(&glmsg); } -GLuint GLTrace_glGetDebugMessageLogKHR(GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog) { +void GLTrace_glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetDebugMessageLogKHR); - - // 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 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 sources - GLMessage_DataType *arg_sources = glmsg.add_args(); - arg_sources->set_isarray(false); - arg_sources->set_type(GLMessage::DataType::INT64); - arg_sources->add_int64value((uintptr_t)sources); - - // copy argument types - GLMessage_DataType *arg_types = glmsg.add_args(); - arg_types->set_isarray(false); - arg_types->set_type(GLMessage::DataType::INT64); - arg_types->add_int64value((uintptr_t)types); - - // copy argument ids - GLMessage_DataType *arg_ids = glmsg.add_args(); - arg_ids->set_isarray(false); - arg_ids->set_type(GLMessage::DataType::INT64); - arg_ids->add_int64value((uintptr_t)ids); + glmsg.set_function(GLMessage::glGetFramebufferParameteriv); - // copy argument severities - GLMessage_DataType *arg_severities = glmsg.add_args(); - arg_severities->set_isarray(false); - arg_severities->set_type(GLMessage::DataType::INT64); - arg_severities->add_int64value((uintptr_t)severities); + // 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 lengths - GLMessage_DataType *arg_lengths = glmsg.add_args(); - arg_lengths->set_isarray(false); - arg_lengths->set_type(GLMessage::DataType::INT64); - arg_lengths->add_int64value((uintptr_t)lengths); + // 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 messageLog - GLMessage_DataType *arg_messageLog = glmsg.add_args(); - arg_messageLog->set_isarray(false); - arg_messageLog->set_type(GLMessage::DataType::INT64); - arg_messageLog->add_int64value((uintptr_t)messageLog); + // 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); - GLuint retValue = glContext->hooks->gl.glGetDebugMessageLogKHR(count, bufSize, sources, types, ids, severities, lengths, messageLog); + glContext->hooks->gl.glGetFramebufferParameteriv(target, pname, params); 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 *) sources, - (void *) types, - (void *) ids, - (void *) severities, - (void *) lengths, - (void *) messageLog, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); - - return retValue; } -void GLTrace_glPushDebugGroupKHR(GLenum source, GLuint id, GLsizei length, const GLchar * message) { +void GLTrace_glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glPushDebugGroupKHR); + glmsg.set_function(GLMessage::glGetProgramInterfaceiv); - // copy argument source - GLMessage_DataType *arg_source = glmsg.add_args(); - arg_source->set_isarray(false); - arg_source->set_type(GLMessage::DataType::ENUM); - arg_source->add_intvalue((int)source); + // 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 id - GLMessage_DataType *arg_id = glmsg.add_args(); - arg_id->set_isarray(false); - arg_id->set_type(GLMessage::DataType::INT); - arg_id->add_intvalue(id); + // 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 length - GLMessage_DataType *arg_length = glmsg.add_args(); - arg_length->set_isarray(false); - arg_length->set_type(GLMessage::DataType::INT); - arg_length->add_intvalue(length); + // 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 message - GLMessage_DataType *arg_message = glmsg.add_args(); - arg_message->set_isarray(false); - arg_message->set_type(GLMessage::DataType::INT64); - arg_message->add_int64value((uintptr_t)message); + // 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.glPushDebugGroupKHR(source, id, length, message); + 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 *) message, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -10653,67 +10614,107 @@ void GLTrace_glPushDebugGroupKHR(GLenum source, GLuint id, GLsizei length, const glContext->traceGLMessage(&glmsg); } -void GLTrace_glPopDebugGroupKHR(void) { +GLuint GLTrace_glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar * name) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glPopDebugGroupKHR); + glmsg.set_function(GLMessage::glGetProgramResourceIndex); - // call function - nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); - nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glPopDebugGroupKHR(); + // 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_glObjectLabelKHR(GLenum identifier, GLuint name, GLsizei length, const GLchar * label) { +void GLTrace_glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glObjectLabelKHR); + glmsg.set_function(GLMessage::glGetProgramResourceName); - // copy argument identifier - GLMessage_DataType *arg_identifier = glmsg.add_args(); - arg_identifier->set_isarray(false); - arg_identifier->set_type(GLMessage::DataType::ENUM); - arg_identifier->add_intvalue((int)identifier); + // 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 name - GLMessage_DataType *arg_name = glmsg.add_args(); - arg_name->set_isarray(false); - arg_name->set_type(GLMessage::DataType::INT); - arg_name->add_intvalue(name); + // 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::INT); - arg_length->add_intvalue(length); + arg_length->set_type(GLMessage::DataType::INT64); + arg_length->add_int64value((uintptr_t)length); - // copy argument label - GLMessage_DataType *arg_label = glmsg.add_args(); - arg_label->set_isarray(false); - arg_label->set_type(GLMessage::DataType::INT64); - arg_label->add_int64value((uintptr_t)label); + // 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.glObjectLabelKHR(identifier, name, length, label); + 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 *) label, + (void *) length, + (void *) name, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -10722,23 +10723,41 @@ void GLTrace_glObjectLabelKHR(GLenum identifier, GLuint name, GLsizei length, co glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetObjectLabelKHR(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label) { +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::glGetObjectLabelKHR); + glmsg.set_function(GLMessage::glGetProgramResourceiv); - // copy argument identifier - GLMessage_DataType *arg_identifier = glmsg.add_args(); - arg_identifier->set_isarray(false); - arg_identifier->set_type(GLMessage::DataType::ENUM); - arg_identifier->add_intvalue((int)identifier); + // 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 name - GLMessage_DataType *arg_name = glmsg.add_args(); - arg_name->set_isarray(false); - arg_name->set_type(GLMessage::DataType::INT); - arg_name->add_intvalue(name); + // 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(); @@ -10752,22 +10771,23 @@ void GLTrace_glGetObjectLabelKHR(GLenum identifier, GLuint name, GLsizei bufSize arg_length->set_type(GLMessage::DataType::INT64); arg_length->add_int64value((uintptr_t)length); - // copy argument label - GLMessage_DataType *arg_label = glmsg.add_args(); - arg_label->set_isarray(false); - arg_label->set_type(GLMessage::DataType::INT64); - arg_label->add_int64value((uintptr_t)label); + // 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.glGetObjectLabelKHR(identifier, name, bufSize, length, label); + 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 *) label, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -10776,89 +10796,87 @@ void GLTrace_glGetObjectLabelKHR(GLenum identifier, GLuint name, GLsizei bufSize glContext->traceGLMessage(&glmsg); } -void GLTrace_glObjectPtrLabelKHR(const void * ptr, GLsizei length, const GLchar * label) { +GLint GLTrace_glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar * name) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glObjectPtrLabelKHR); + glmsg.set_function(GLMessage::glGetProgramResourceLocation); - // copy argument ptr - GLMessage_DataType *arg_ptr = glmsg.add_args(); - arg_ptr->set_isarray(false); - arg_ptr->set_type(GLMessage::DataType::INT64); - arg_ptr->add_int64value((uintptr_t)ptr); + // 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 length - GLMessage_DataType *arg_length = glmsg.add_args(); - arg_length->set_isarray(false); - arg_length->set_type(GLMessage::DataType::INT); - arg_length->add_intvalue(length); + // 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 label - GLMessage_DataType *arg_label = glmsg.add_args(); - arg_label->set_isarray(false); - arg_label->set_type(GLMessage::DataType::INT64); - arg_label->add_int64value((uintptr_t)label); + // 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.glObjectPtrLabelKHR(ptr, length, label); + 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 *) ptr, - (void *) label, + (void *) name, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); + + return retValue; } -void GLTrace_glGetObjectPtrLabelKHR(const void * ptr, GLsizei bufSize, GLsizei * length, GLchar * label) { +void GLTrace_glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetObjectPtrLabelKHR); - - // copy argument ptr - GLMessage_DataType *arg_ptr = glmsg.add_args(); - arg_ptr->set_isarray(false); - arg_ptr->set_type(GLMessage::DataType::INT64); - arg_ptr->add_int64value((uintptr_t)ptr); + glmsg.set_function(GLMessage::glUseProgramStages); - // 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 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 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 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 label - GLMessage_DataType *arg_label = glmsg.add_args(); - arg_label->set_isarray(false); - arg_label->set_type(GLMessage::DataType::INT64); - arg_label->add_int64value((uintptr_t)label); + // 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.glGetObjectPtrLabelKHR(ptr, bufSize, length, label); + glContext->hooks->gl.glUseProgramStages(pipeline, stages, program); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) ptr, - (void *) length, - (void *) label, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -10867,33 +10885,32 @@ void GLTrace_glGetObjectPtrLabelKHR(const void * ptr, GLsizei bufSize, GLsizei * glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetPointervKHR(GLenum pname, void ** params) { +void GLTrace_glActiveShaderProgram(GLuint pipeline, GLuint program) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetPointervKHR); + glmsg.set_function(GLMessage::glActiveShaderProgram); - // 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 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 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); + // 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.glGetPointervKHR(pname, params); + glContext->hooks->gl.glActiveShaderProgram(pipeline, program); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -10902,68 +10919,75 @@ void GLTrace_glGetPointervKHR(GLenum pname, void ** params) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) { +GLuint GLTrace_glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const* strings) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glEGLImageTargetTexture2DOES); + glmsg.set_function(GLMessage::glCreateShaderProgramv); - // 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 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 image - GLMessage_DataType *arg_image = glmsg.add_args(); - arg_image->set_isarray(false); - arg_image->set_type(GLMessage::DataType::INT64); - arg_image->add_int64value((uintptr_t)image); + // 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); - glContext->hooks->gl.glEGLImageTargetTexture2DOES(target, image); + 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 *) image, + (void *) strings, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); + + return retValue; } -void GLTrace_glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image) { +void GLTrace_glBindProgramPipeline(GLuint pipeline) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glEGLImageTargetRenderbufferStorageOES); + glmsg.set_function(GLMessage::glBindProgramPipeline); - // 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 image - GLMessage_DataType *arg_image = glmsg.add_args(); - arg_image->set_isarray(false); - arg_image->set_type(GLMessage::DataType::INT64); - arg_image->add_int64value((uintptr_t)image); + // 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.glEGLImageTargetRenderbufferStorageOES(target, image); + glContext->hooks->gl.glBindProgramPipeline(pipeline); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) image, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -10972,53 +10996,33 @@ void GLTrace_glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary) { +void GLTrace_glDeleteProgramPipelines(GLsizei n, const GLuint * pipelines) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetProgramBinaryOES); - - // 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 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); + glmsg.set_function(GLMessage::glDeleteProgramPipelines); - // copy argument binaryFormat - GLMessage_DataType *arg_binaryFormat = glmsg.add_args(); - arg_binaryFormat->set_isarray(false); - arg_binaryFormat->set_type(GLMessage::DataType::INT64); - arg_binaryFormat->add_int64value((uintptr_t)binaryFormat); + // 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 binary - GLMessage_DataType *arg_binary = glmsg.add_args(); - arg_binary->set_isarray(false); - arg_binary->set_type(GLMessage::DataType::INT64); - arg_binary->add_int64value((uintptr_t)binary); + // 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.glGetProgramBinaryOES(program, bufSize, length, binaryFormat, binary); + glContext->hooks->gl.glDeleteProgramPipelines(n, pipelines); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) length, - (void *) binaryFormat, - (void *) binary, + (void *) pipelines, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -11027,45 +11031,33 @@ void GLTrace_glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei * le glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramBinaryOES(GLuint program, GLenum binaryFormat, const void * binary, GLint length) { +void GLTrace_glGenProgramPipelines(GLsizei n, GLuint * pipelines) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramBinaryOES); - - // 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 binaryFormat - GLMessage_DataType *arg_binaryFormat = glmsg.add_args(); - arg_binaryFormat->set_isarray(false); - arg_binaryFormat->set_type(GLMessage::DataType::ENUM); - arg_binaryFormat->add_intvalue((int)binaryFormat); + glmsg.set_function(GLMessage::glGenProgramPipelines); - // copy argument binary - GLMessage_DataType *arg_binary = glmsg.add_args(); - arg_binary->set_isarray(false); - arg_binary->set_type(GLMessage::DataType::INT64); - arg_binary->add_int64value((uintptr_t)binary); + // 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 length - GLMessage_DataType *arg_length = glmsg.add_args(); - arg_length->set_isarray(false); - arg_length->set_type(GLMessage::DataType::INT); - arg_length->add_intvalue(length); + // 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.glProgramBinaryOES(program, binaryFormat, binary, length); + glContext->hooks->gl.glGenProgramPipelines(n, pipelines); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) binary, + (void *) pipelines, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -11074,39 +11066,32 @@ void GLTrace_glProgramBinaryOES(GLuint program, GLenum binaryFormat, const void glContext->traceGLMessage(&glmsg); } -void * GLTrace_glMapBufferOES(GLenum target, GLenum access) { +GLboolean GLTrace_glIsProgramPipeline(GLuint pipeline) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glMapBufferOES); - - // 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); + glmsg.set_function(GLMessage::glIsProgramPipeline); - // 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 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); - void * retValue = glContext->hooks->gl.glMapBufferOES(target, access); + 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::INT64); - rt->add_int64value((uintptr_t)retValue); + rt->set_type(GLMessage::DataType::BOOL); + rt->add_boolvalue(retValue); void *pointerArgs[] = { - (void *) retValue, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -11117,75 +11102,79 @@ void * GLTrace_glMapBufferOES(GLenum target, GLenum access) { return retValue; } -GLboolean GLTrace_glUnmapBufferOES(GLenum target) { +void GLTrace_glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glUnmapBufferOES); + glmsg.set_function(GLMessage::glGetProgramPipelineiv); - // 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 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); - GLboolean retValue = glContext->hooks->gl.glUnmapBufferOES(target); + glContext->hooks->gl.glGetProgramPipelineiv(pipeline, pname, params); 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[] = { + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); - - return retValue; } -void GLTrace_glGetBufferPointervOES(GLenum target, GLenum pname, void ** params) { +void GLTrace_glProgramUniform1i(GLuint program, GLint location, GLint v0) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetBufferPointervOES); + glmsg.set_function(GLMessage::glProgramUniform1i); - // 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 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 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 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 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); + // 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.glGetBufferPointervOES(target, pname, params); + glContext->hooks->gl.glProgramUniform1i(program, location, v0); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -11194,22 +11183,40 @@ void GLTrace_glGetBufferPointervOES(GLenum target, GLenum pname, void ** params) glContext->traceGLMessage(&glmsg); } -void GLTrace_glMinSampleShadingOES(GLfloat value) { +void GLTrace_glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glMinSampleShadingOES); + glmsg.set_function(GLMessage::glProgramUniform2i); - // copy argument value - GLMessage_DataType *arg_value = glmsg.add_args(); - arg_value->set_isarray(false); - arg_value->set_type(GLMessage::DataType::FLOAT); - arg_value->add_floatvalue(value); + // 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.glMinSampleShadingOES(value); + glContext->hooks->gl.glProgramUniform2i(program, location, v0, v1); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -11222,81 +11229,3965 @@ void GLTrace_glMinSampleShadingOES(GLfloat value) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels) { +void GLTrace_glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glTexImage3DOES); + glmsg.set_function(GLMessage::glProgramUniform3i); - // 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 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 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 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 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 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 width + // 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 + +void GLTrace_glBlendBarrierKHR(void) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glBlendBarrierKHR); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glBlendBarrierKHR(); + 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_glDebugMessageControlKHR(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glDebugMessageControlKHR); + + // copy argument source + GLMessage_DataType *arg_source = glmsg.add_args(); + arg_source->set_isarray(false); + arg_source->set_type(GLMessage::DataType::ENUM); + arg_source->add_intvalue((int)source); + + // 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 severity + GLMessage_DataType *arg_severity = glmsg.add_args(); + arg_severity->set_isarray(false); + arg_severity->set_type(GLMessage::DataType::ENUM); + arg_severity->add_intvalue((int)severity); + + // 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 ids + GLMessage_DataType *arg_ids = glmsg.add_args(); + arg_ids->set_isarray(false); + arg_ids->set_type(GLMessage::DataType::INT64); + arg_ids->add_int64value((uintptr_t)ids); + + // copy argument enabled + GLMessage_DataType *arg_enabled = glmsg.add_args(); + arg_enabled->set_isarray(false); + arg_enabled->set_type(GLMessage::DataType::BOOL); + arg_enabled->add_boolvalue(enabled); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glDebugMessageControlKHR(source, type, severity, count, ids, enabled); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) ids, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glDebugMessageInsertKHR(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glDebugMessageInsertKHR); + + // copy argument source + GLMessage_DataType *arg_source = glmsg.add_args(); + arg_source->set_isarray(false); + arg_source->set_type(GLMessage::DataType::ENUM); + arg_source->add_intvalue((int)source); + + // 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 id + GLMessage_DataType *arg_id = glmsg.add_args(); + arg_id->set_isarray(false); + arg_id->set_type(GLMessage::DataType::INT); + arg_id->add_intvalue(id); + + // copy argument severity + GLMessage_DataType *arg_severity = glmsg.add_args(); + arg_severity->set_isarray(false); + arg_severity->set_type(GLMessage::DataType::ENUM); + arg_severity->add_intvalue((int)severity); + + // copy argument length + GLMessage_DataType *arg_length = glmsg.add_args(); + arg_length->set_isarray(false); + arg_length->set_type(GLMessage::DataType::INT); + arg_length->add_intvalue(length); + + // copy argument buf + GLMessage_DataType *arg_buf = glmsg.add_args(); + arg_buf->set_isarray(false); + arg_buf->set_type(GLMessage::DataType::INT64); + arg_buf->add_int64value((uintptr_t)buf); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glDebugMessageInsertKHR(source, type, id, severity, length, buf); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) buf, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glDebugMessageCallbackKHR(GLDEBUGPROCKHR callback, const void * userParam) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glDebugMessageCallbackKHR); + + // copy argument callback + GLMessage_DataType *arg_callback = glmsg.add_args(); + arg_callback->set_isarray(false); + arg_callback->set_type(GLMessage::DataType::INT64); + arg_callback->add_int64value((uintptr_t)callback); + + // copy argument userParam + GLMessage_DataType *arg_userParam = glmsg.add_args(); + arg_userParam->set_isarray(false); + arg_userParam->set_type(GLMessage::DataType::INT64); + arg_userParam->add_int64value((uintptr_t)userParam); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glDebugMessageCallbackKHR(callback, userParam); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) callback, + (void *) userParam, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +GLuint GLTrace_glGetDebugMessageLogKHR(GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetDebugMessageLogKHR); + + // 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 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 sources + GLMessage_DataType *arg_sources = glmsg.add_args(); + arg_sources->set_isarray(false); + arg_sources->set_type(GLMessage::DataType::INT64); + arg_sources->add_int64value((uintptr_t)sources); + + // copy argument types + GLMessage_DataType *arg_types = glmsg.add_args(); + arg_types->set_isarray(false); + arg_types->set_type(GLMessage::DataType::INT64); + arg_types->add_int64value((uintptr_t)types); + + // copy argument ids + GLMessage_DataType *arg_ids = glmsg.add_args(); + arg_ids->set_isarray(false); + arg_ids->set_type(GLMessage::DataType::INT64); + arg_ids->add_int64value((uintptr_t)ids); + + // copy argument severities + GLMessage_DataType *arg_severities = glmsg.add_args(); + arg_severities->set_isarray(false); + arg_severities->set_type(GLMessage::DataType::INT64); + arg_severities->add_int64value((uintptr_t)severities); + + // copy argument lengths + GLMessage_DataType *arg_lengths = glmsg.add_args(); + arg_lengths->set_isarray(false); + arg_lengths->set_type(GLMessage::DataType::INT64); + arg_lengths->add_int64value((uintptr_t)lengths); + + // copy argument messageLog + GLMessage_DataType *arg_messageLog = glmsg.add_args(); + arg_messageLog->set_isarray(false); + arg_messageLog->set_type(GLMessage::DataType::INT64); + arg_messageLog->add_int64value((uintptr_t)messageLog); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + GLuint retValue = glContext->hooks->gl.glGetDebugMessageLogKHR(count, bufSize, sources, types, ids, severities, lengths, messageLog); + 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 *) sources, + (void *) types, + (void *) ids, + (void *) severities, + (void *) lengths, + (void *) messageLog, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); + + return retValue; +} + +void GLTrace_glPushDebugGroupKHR(GLenum source, GLuint id, GLsizei length, const GLchar * message) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glPushDebugGroupKHR); + + // copy argument source + GLMessage_DataType *arg_source = glmsg.add_args(); + arg_source->set_isarray(false); + arg_source->set_type(GLMessage::DataType::ENUM); + arg_source->add_intvalue((int)source); + + // copy argument id + GLMessage_DataType *arg_id = glmsg.add_args(); + arg_id->set_isarray(false); + arg_id->set_type(GLMessage::DataType::INT); + arg_id->add_intvalue(id); + + // copy argument length + GLMessage_DataType *arg_length = glmsg.add_args(); + arg_length->set_isarray(false); + arg_length->set_type(GLMessage::DataType::INT); + arg_length->add_intvalue(length); + + // copy argument message + GLMessage_DataType *arg_message = glmsg.add_args(); + arg_message->set_isarray(false); + arg_message->set_type(GLMessage::DataType::INT64); + arg_message->add_int64value((uintptr_t)message); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glPushDebugGroupKHR(source, id, length, message); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) message, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glPopDebugGroupKHR(void) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glPopDebugGroupKHR); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glPopDebugGroupKHR(); + 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_glObjectLabelKHR(GLenum identifier, GLuint name, GLsizei length, const GLchar * label) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glObjectLabelKHR); + + // copy argument identifier + GLMessage_DataType *arg_identifier = glmsg.add_args(); + arg_identifier->set_isarray(false); + arg_identifier->set_type(GLMessage::DataType::ENUM); + arg_identifier->add_intvalue((int)identifier); + + // copy argument name + GLMessage_DataType *arg_name = glmsg.add_args(); + arg_name->set_isarray(false); + arg_name->set_type(GLMessage::DataType::INT); + arg_name->add_intvalue(name); + + // copy argument length + GLMessage_DataType *arg_length = glmsg.add_args(); + arg_length->set_isarray(false); + arg_length->set_type(GLMessage::DataType::INT); + arg_length->add_intvalue(length); + + // copy argument label + GLMessage_DataType *arg_label = glmsg.add_args(); + arg_label->set_isarray(false); + arg_label->set_type(GLMessage::DataType::INT64); + arg_label->add_int64value((uintptr_t)label); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glObjectLabelKHR(identifier, name, length, label); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) label, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetObjectLabelKHR(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetObjectLabelKHR); + + // copy argument identifier + GLMessage_DataType *arg_identifier = glmsg.add_args(); + arg_identifier->set_isarray(false); + arg_identifier->set_type(GLMessage::DataType::ENUM); + arg_identifier->add_intvalue((int)identifier); + + // copy argument name + GLMessage_DataType *arg_name = glmsg.add_args(); + arg_name->set_isarray(false); + arg_name->set_type(GLMessage::DataType::INT); + arg_name->add_intvalue(name); + + // 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 label + GLMessage_DataType *arg_label = glmsg.add_args(); + arg_label->set_isarray(false); + arg_label->set_type(GLMessage::DataType::INT64); + arg_label->add_int64value((uintptr_t)label); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetObjectLabelKHR(identifier, name, bufSize, length, label); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) length, + (void *) label, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glObjectPtrLabelKHR(const void * ptr, GLsizei length, const GLchar * label) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glObjectPtrLabelKHR); + + // copy argument ptr + GLMessage_DataType *arg_ptr = glmsg.add_args(); + arg_ptr->set_isarray(false); + arg_ptr->set_type(GLMessage::DataType::INT64); + arg_ptr->add_int64value((uintptr_t)ptr); + + // copy argument length + GLMessage_DataType *arg_length = glmsg.add_args(); + arg_length->set_isarray(false); + arg_length->set_type(GLMessage::DataType::INT); + arg_length->add_intvalue(length); + + // copy argument label + GLMessage_DataType *arg_label = glmsg.add_args(); + arg_label->set_isarray(false); + arg_label->set_type(GLMessage::DataType::INT64); + arg_label->add_int64value((uintptr_t)label); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glObjectPtrLabelKHR(ptr, length, label); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) ptr, + (void *) label, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetObjectPtrLabelKHR(const void * ptr, GLsizei bufSize, GLsizei * length, GLchar * label) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetObjectPtrLabelKHR); + + // copy argument ptr + GLMessage_DataType *arg_ptr = glmsg.add_args(); + arg_ptr->set_isarray(false); + arg_ptr->set_type(GLMessage::DataType::INT64); + arg_ptr->add_int64value((uintptr_t)ptr); + + // 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 label + GLMessage_DataType *arg_label = glmsg.add_args(); + arg_label->set_isarray(false); + arg_label->set_type(GLMessage::DataType::INT64); + arg_label->add_int64value((uintptr_t)label); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetObjectPtrLabelKHR(ptr, bufSize, length, label); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) ptr, + (void *) length, + (void *) label, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetPointervKHR(GLenum pname, void ** params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetPointervKHR); + + // 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.glGetPointervKHR(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_glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glEGLImageTargetTexture2DOES); + + // 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 image + GLMessage_DataType *arg_image = glmsg.add_args(); + arg_image->set_isarray(false); + arg_image->set_type(GLMessage::DataType::INT64); + arg_image->add_int64value((uintptr_t)image); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glEGLImageTargetTexture2DOES(target, image); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) image, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glEGLImageTargetRenderbufferStorageOES); + + // 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 image + GLMessage_DataType *arg_image = glmsg.add_args(); + arg_image->set_isarray(false); + arg_image->set_type(GLMessage::DataType::INT64); + arg_image->add_int64value((uintptr_t)image); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glEGLImageTargetRenderbufferStorageOES(target, image); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) image, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetProgramBinaryOES); + + // 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 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 binaryFormat + GLMessage_DataType *arg_binaryFormat = glmsg.add_args(); + arg_binaryFormat->set_isarray(false); + arg_binaryFormat->set_type(GLMessage::DataType::INT64); + arg_binaryFormat->add_int64value((uintptr_t)binaryFormat); + + // copy argument binary + GLMessage_DataType *arg_binary = glmsg.add_args(); + arg_binary->set_isarray(false); + arg_binary->set_type(GLMessage::DataType::INT64); + arg_binary->add_int64value((uintptr_t)binary); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetProgramBinaryOES(program, bufSize, length, binaryFormat, binary); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) length, + (void *) binaryFormat, + (void *) binary, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glProgramBinaryOES(GLuint program, GLenum binaryFormat, const void * binary, GLint length) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramBinaryOES); + + // 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 binaryFormat + GLMessage_DataType *arg_binaryFormat = glmsg.add_args(); + arg_binaryFormat->set_isarray(false); + arg_binaryFormat->set_type(GLMessage::DataType::ENUM); + arg_binaryFormat->add_intvalue((int)binaryFormat); + + // copy argument binary + GLMessage_DataType *arg_binary = glmsg.add_args(); + arg_binary->set_isarray(false); + arg_binary->set_type(GLMessage::DataType::INT64); + arg_binary->add_int64value((uintptr_t)binary); + + // copy argument length + GLMessage_DataType *arg_length = glmsg.add_args(); + arg_length->set_isarray(false); + arg_length->set_type(GLMessage::DataType::INT); + arg_length->add_intvalue(length); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glProgramBinaryOES(program, binaryFormat, binary, length); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) binary, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void * GLTrace_glMapBufferOES(GLenum target, GLenum access) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glMapBufferOES); + + // 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 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); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + void * retValue = glContext->hooks->gl.glMapBufferOES(target, access); + 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::INT64); + rt->add_int64value((uintptr_t)retValue); + + void *pointerArgs[] = { + (void *) retValue, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); + + return retValue; +} + +GLboolean GLTrace_glUnmapBufferOES(GLenum target) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glUnmapBufferOES); + + // 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); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + GLboolean retValue = glContext->hooks->gl.glUnmapBufferOES(target); + 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_glGetBufferPointervOES(GLenum target, GLenum pname, void ** params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetBufferPointervOES); + + // 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.glGetBufferPointervOES(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_glMinSampleShadingOES(GLfloat value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glMinSampleShadingOES); + + // copy argument value + GLMessage_DataType *arg_value = glmsg.add_args(); + arg_value->set_isarray(false); + arg_value->set_type(GLMessage::DataType::FLOAT); + arg_value->add_floatvalue(value); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glMinSampleShadingOES(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_glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glTexImage3DOES); + + // 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 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 depth + GLMessage_DataType *arg_depth = glmsg.add_args(); + arg_depth->set_isarray(false); + arg_depth->set_type(GLMessage::DataType::INT); + arg_depth->add_intvalue(depth); + + // copy argument border + GLMessage_DataType *arg_border = glmsg.add_args(); + arg_border->set_isarray(false); + arg_border->set_type(GLMessage::DataType::INT); + arg_border->add_intvalue(border); + + // 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); + + // 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 pixels + GLMessage_DataType *arg_pixels = glmsg.add_args(); + arg_pixels->set_isarray(false); + arg_pixels->set_type(GLMessage::DataType::INT64); + arg_pixels->add_int64value((uintptr_t)pixels); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glTexImage3DOES(target, level, internalformat, width, height, depth, border, format, type, pixels); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) pixels, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glTexSubImage3DOES); + + // 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 xoffset + GLMessage_DataType *arg_xoffset = glmsg.add_args(); + arg_xoffset->set_isarray(false); + arg_xoffset->set_type(GLMessage::DataType::INT); + arg_xoffset->add_intvalue(xoffset); + + // copy argument yoffset + GLMessage_DataType *arg_yoffset = glmsg.add_args(); + arg_yoffset->set_isarray(false); + arg_yoffset->set_type(GLMessage::DataType::INT); + arg_yoffset->add_intvalue(yoffset); + + // copy argument zoffset + GLMessage_DataType *arg_zoffset = glmsg.add_args(); + arg_zoffset->set_isarray(false); + arg_zoffset->set_type(GLMessage::DataType::INT); + arg_zoffset->add_intvalue(zoffset); + + // 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 depth + GLMessage_DataType *arg_depth = glmsg.add_args(); + arg_depth->set_isarray(false); + arg_depth->set_type(GLMessage::DataType::INT); + arg_depth->add_intvalue(depth); + + // 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); + + // 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 pixels + GLMessage_DataType *arg_pixels = glmsg.add_args(); + arg_pixels->set_isarray(false); + arg_pixels->set_type(GLMessage::DataType::INT64); + arg_pixels->add_int64value((uintptr_t)pixels); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) pixels, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glCopyTexSubImage3DOES); + + // 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 xoffset + GLMessage_DataType *arg_xoffset = glmsg.add_args(); + arg_xoffset->set_isarray(false); + arg_xoffset->set_type(GLMessage::DataType::INT); + arg_xoffset->add_intvalue(xoffset); + + // copy argument yoffset + GLMessage_DataType *arg_yoffset = glmsg.add_args(); + arg_yoffset->set_isarray(false); + arg_yoffset->set_type(GLMessage::DataType::INT); + arg_yoffset->add_intvalue(yoffset); + + // copy argument zoffset + GLMessage_DataType *arg_zoffset = glmsg.add_args(); + arg_zoffset->set_isarray(false); + arg_zoffset->set_type(GLMessage::DataType::INT); + arg_zoffset->add_intvalue(zoffset); + + // copy argument x + GLMessage_DataType *arg_x = glmsg.add_args(); + arg_x->set_isarray(false); + arg_x->set_type(GLMessage::DataType::INT); + arg_x->add_intvalue(x); + + // copy argument y + GLMessage_DataType *arg_y = glmsg.add_args(); + arg_y->set_isarray(false); + arg_y->set_type(GLMessage::DataType::INT); + arg_y->add_intvalue(y); + + // 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); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glCopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height); + 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_glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glCompressedTexImage3DOES); + + // 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 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 depth + GLMessage_DataType *arg_depth = glmsg.add_args(); + arg_depth->set_isarray(false); + arg_depth->set_type(GLMessage::DataType::INT); + arg_depth->add_intvalue(depth); + + // copy argument border + GLMessage_DataType *arg_border = glmsg.add_args(); + arg_border->set_isarray(false); + arg_border->set_type(GLMessage::DataType::INT); + arg_border->add_intvalue(border); + + // copy argument imageSize + GLMessage_DataType *arg_imageSize = glmsg.add_args(); + arg_imageSize->set_isarray(false); + arg_imageSize->set_type(GLMessage::DataType::INT); + arg_imageSize->add_intvalue(imageSize); + + // 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.glCompressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, 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_glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glCompressedTexSubImage3DOES); + + // 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 xoffset + GLMessage_DataType *arg_xoffset = glmsg.add_args(); + arg_xoffset->set_isarray(false); + arg_xoffset->set_type(GLMessage::DataType::INT); + arg_xoffset->add_intvalue(xoffset); + + // copy argument yoffset + GLMessage_DataType *arg_yoffset = glmsg.add_args(); + arg_yoffset->set_isarray(false); + arg_yoffset->set_type(GLMessage::DataType::INT); + arg_yoffset->add_intvalue(yoffset); + + // copy argument zoffset + GLMessage_DataType *arg_zoffset = glmsg.add_args(); + arg_zoffset->set_isarray(false); + arg_zoffset->set_type(GLMessage::DataType::INT); + arg_zoffset->add_intvalue(zoffset); + + // 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 depth + GLMessage_DataType *arg_depth = glmsg.add_args(); + arg_depth->set_isarray(false); + arg_depth->set_type(GLMessage::DataType::INT); + arg_depth->add_intvalue(depth); + + // 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); + + // copy argument imageSize + GLMessage_DataType *arg_imageSize = glmsg.add_args(); + arg_imageSize->set_isarray(false); + arg_imageSize->set_type(GLMessage::DataType::INT); + arg_imageSize->add_intvalue(imageSize); + + // 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.glCompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, 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_glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glFramebufferTexture3DOES); + + // 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 textarget + GLMessage_DataType *arg_textarget = glmsg.add_args(); + arg_textarget->set_isarray(false); + arg_textarget->set_type(GLMessage::DataType::ENUM); + arg_textarget->add_intvalue((int)textarget); + + // 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 zoffset + GLMessage_DataType *arg_zoffset = glmsg.add_args(); + arg_zoffset->set_isarray(false); + arg_zoffset->set_type(GLMessage::DataType::INT); + arg_zoffset->add_intvalue(zoffset); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glFramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset); + 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_glTexStorage3DMultisampleOES(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glTexStorage3DMultisampleOES); + + // 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 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 depth + GLMessage_DataType *arg_depth = glmsg.add_args(); + arg_depth->set_isarray(false); + arg_depth->set_type(GLMessage::DataType::INT); + arg_depth->add_intvalue(depth); + + // 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.glTexStorage3DMultisampleOES(target, samples, internalformat, width, height, depth, 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_glBindVertexArrayOES(GLuint array) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glBindVertexArrayOES); + + // copy argument array + GLMessage_DataType *arg_array = glmsg.add_args(); + arg_array->set_isarray(false); + arg_array->set_type(GLMessage::DataType::INT); + arg_array->add_intvalue(array); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glBindVertexArrayOES(array); + 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_glDeleteVertexArraysOES(GLsizei n, const GLuint * arrays) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glDeleteVertexArraysOES); + + // 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 arrays + GLMessage_DataType *arg_arrays = glmsg.add_args(); + arg_arrays->set_isarray(false); + arg_arrays->set_type(GLMessage::DataType::INT64); + arg_arrays->add_int64value((uintptr_t)arrays); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glDeleteVertexArraysOES(n, arrays); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) arrays, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGenVertexArraysOES(GLsizei n, GLuint * arrays) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGenVertexArraysOES); + + // 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 arrays + GLMessage_DataType *arg_arrays = glmsg.add_args(); + arg_arrays->set_isarray(false); + arg_arrays->set_type(GLMessage::DataType::INT64); + arg_arrays->add_int64value((uintptr_t)arrays); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGenVertexArraysOES(n, arrays); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) arrays, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +GLboolean GLTrace_glIsVertexArrayOES(GLuint array) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glIsVertexArrayOES); + + // copy argument array + GLMessage_DataType *arg_array = glmsg.add_args(); + arg_array->set_isarray(false); + arg_array->set_type(GLMessage::DataType::INT); + arg_array->add_intvalue(array); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + GLboolean retValue = glContext->hooks->gl.glIsVertexArrayOES(array); + 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_glGetPerfMonitorGroupsAMD(GLint * numGroups, GLsizei groupsSize, GLuint * groups) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetPerfMonitorGroupsAMD); + + // copy argument numGroups + GLMessage_DataType *arg_numGroups = glmsg.add_args(); + arg_numGroups->set_isarray(false); + arg_numGroups->set_type(GLMessage::DataType::INT64); + arg_numGroups->add_int64value((uintptr_t)numGroups); + + // copy argument groupsSize + GLMessage_DataType *arg_groupsSize = glmsg.add_args(); + arg_groupsSize->set_isarray(false); + arg_groupsSize->set_type(GLMessage::DataType::INT); + arg_groupsSize->add_intvalue(groupsSize); + + // copy argument groups + GLMessage_DataType *arg_groups = glmsg.add_args(); + arg_groups->set_isarray(false); + arg_groups->set_type(GLMessage::DataType::INT64); + arg_groups->add_int64value((uintptr_t)groups); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) numGroups, + (void *) groups, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetPerfMonitorCountersAMD(GLuint group, GLint * numCounters, GLint * maxActiveCounters, GLsizei counterSize, GLuint * counters) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetPerfMonitorCountersAMD); + + // copy argument group + GLMessage_DataType *arg_group = glmsg.add_args(); + arg_group->set_isarray(false); + arg_group->set_type(GLMessage::DataType::INT); + arg_group->add_intvalue(group); + + // copy argument numCounters + GLMessage_DataType *arg_numCounters = glmsg.add_args(); + arg_numCounters->set_isarray(false); + arg_numCounters->set_type(GLMessage::DataType::INT64); + arg_numCounters->add_int64value((uintptr_t)numCounters); + + // copy argument maxActiveCounters + GLMessage_DataType *arg_maxActiveCounters = glmsg.add_args(); + arg_maxActiveCounters->set_isarray(false); + arg_maxActiveCounters->set_type(GLMessage::DataType::INT64); + arg_maxActiveCounters->add_int64value((uintptr_t)maxActiveCounters); + + // copy argument counterSize + GLMessage_DataType *arg_counterSize = glmsg.add_args(); + arg_counterSize->set_isarray(false); + arg_counterSize->set_type(GLMessage::DataType::INT); + arg_counterSize->add_intvalue(counterSize); + + // copy argument counters + GLMessage_DataType *arg_counters = glmsg.add_args(); + arg_counters->set_isarray(false); + arg_counters->set_type(GLMessage::DataType::INT64); + arg_counters->add_int64value((uintptr_t)counters); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) numCounters, + (void *) maxActiveCounters, + (void *) counters, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei * length, GLchar * groupString) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetPerfMonitorGroupStringAMD); + + // copy argument group + GLMessage_DataType *arg_group = glmsg.add_args(); + arg_group->set_isarray(false); + arg_group->set_type(GLMessage::DataType::INT); + arg_group->add_intvalue(group); + + // 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 groupString + GLMessage_DataType *arg_groupString = glmsg.add_args(); + arg_groupString->set_isarray(false); + arg_groupString->set_type(GLMessage::DataType::INT64); + arg_groupString->add_int64value((uintptr_t)groupString); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) length, + (void *) groupString, + }; - // copy argument depth - GLMessage_DataType *arg_depth = glmsg.add_args(); - arg_depth->set_isarray(false); - arg_depth->set_type(GLMessage::DataType::INT); - arg_depth->add_intvalue(depth); + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} - // copy argument border - GLMessage_DataType *arg_border = glmsg.add_args(); - arg_border->set_isarray(false); - arg_border->set_type(GLMessage::DataType::INT); - arg_border->add_intvalue(border); +void GLTrace_glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei * length, GLchar * counterString) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); - // 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); + glmsg.set_function(GLMessage::glGetPerfMonitorCounterStringAMD); - // 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 group + GLMessage_DataType *arg_group = glmsg.add_args(); + arg_group->set_isarray(false); + arg_group->set_type(GLMessage::DataType::INT); + arg_group->add_intvalue(group); - // copy argument pixels - GLMessage_DataType *arg_pixels = glmsg.add_args(); - arg_pixels->set_isarray(false); - arg_pixels->set_type(GLMessage::DataType::INT64); - arg_pixels->add_int64value((uintptr_t)pixels); + // copy argument counter + GLMessage_DataType *arg_counter = glmsg.add_args(); + arg_counter->set_isarray(false); + arg_counter->set_type(GLMessage::DataType::INT); + arg_counter->add_intvalue(counter); + + // 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 counterString + GLMessage_DataType *arg_counterString = glmsg.add_args(); + arg_counterString->set_isarray(false); + arg_counterString->set_type(GLMessage::DataType::INT64); + arg_counterString->add_int64value((uintptr_t)counterString); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glTexImage3DOES(target, level, internalformat, width, height, depth, border, format, type, pixels); + glContext->hooks->gl.glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) pixels, + (void *) length, + (void *) counterString, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -11305,87 +15196,168 @@ void GLTrace_glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, glContext->traceGLMessage(&glmsg); } -void GLTrace_glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels) { +void GLTrace_glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, void * data) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glTexSubImage3DOES); + glmsg.set_function(GLMessage::glGetPerfMonitorCounterInfoAMD); - // 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 group + GLMessage_DataType *arg_group = glmsg.add_args(); + arg_group->set_isarray(false); + arg_group->set_type(GLMessage::DataType::INT); + arg_group->add_intvalue(group); - // 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 counter + GLMessage_DataType *arg_counter = glmsg.add_args(); + arg_counter->set_isarray(false); + arg_counter->set_type(GLMessage::DataType::INT); + arg_counter->add_intvalue(counter); - // copy argument xoffset - GLMessage_DataType *arg_xoffset = glmsg.add_args(); - arg_xoffset->set_isarray(false); - arg_xoffset->set_type(GLMessage::DataType::INT); - arg_xoffset->add_intvalue(xoffset); + // 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 yoffset - GLMessage_DataType *arg_yoffset = glmsg.add_args(); - arg_yoffset->set_isarray(false); - arg_yoffset->set_type(GLMessage::DataType::INT); - arg_yoffset->add_intvalue(yoffset); + // 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); - // copy argument zoffset - GLMessage_DataType *arg_zoffset = glmsg.add_args(); - arg_zoffset->set_isarray(false); - arg_zoffset->set_type(GLMessage::DataType::INT); - arg_zoffset->add_intvalue(zoffset); + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGetPerfMonitorCounterInfoAMD(group, counter, pname, data); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); - // 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); + void *pointerArgs[] = { + (void *) data, + }; - // 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); + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} - // copy argument depth - GLMessage_DataType *arg_depth = glmsg.add_args(); - arg_depth->set_isarray(false); - arg_depth->set_type(GLMessage::DataType::INT); - arg_depth->add_intvalue(depth); +void GLTrace_glGenPerfMonitorsAMD(GLsizei n, GLuint * monitors) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); - // 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); + glmsg.set_function(GLMessage::glGenPerfMonitorsAMD); - // 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 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 monitors + GLMessage_DataType *arg_monitors = glmsg.add_args(); + arg_monitors->set_isarray(false); + arg_monitors->set_type(GLMessage::DataType::INT64); + arg_monitors->add_int64value((uintptr_t)monitors); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGenPerfMonitorsAMD(n, monitors); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) monitors, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glDeletePerfMonitorsAMD(GLsizei n, GLuint * monitors) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glDeletePerfMonitorsAMD); + + // 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 monitors + GLMessage_DataType *arg_monitors = glmsg.add_args(); + arg_monitors->set_isarray(false); + arg_monitors->set_type(GLMessage::DataType::INT64); + arg_monitors->add_int64value((uintptr_t)monitors); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glDeletePerfMonitorsAMD(n, monitors); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + + void *pointerArgs[] = { + (void *) monitors, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint * counterList) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glSelectPerfMonitorCountersAMD); + + // copy argument monitor + GLMessage_DataType *arg_monitor = glmsg.add_args(); + arg_monitor->set_isarray(false); + arg_monitor->set_type(GLMessage::DataType::INT); + arg_monitor->add_intvalue(monitor); + + // copy argument enable + GLMessage_DataType *arg_enable = glmsg.add_args(); + arg_enable->set_isarray(false); + arg_enable->set_type(GLMessage::DataType::BOOL); + arg_enable->add_boolvalue(enable); + + // copy argument group + GLMessage_DataType *arg_group = glmsg.add_args(); + arg_group->set_isarray(false); + arg_group->set_type(GLMessage::DataType::INT); + arg_group->add_intvalue(group); + + // copy argument numCounters + GLMessage_DataType *arg_numCounters = glmsg.add_args(); + arg_numCounters->set_isarray(false); + arg_numCounters->set_type(GLMessage::DataType::INT); + arg_numCounters->add_intvalue(numCounters); - // copy argument pixels - GLMessage_DataType *arg_pixels = glmsg.add_args(); - arg_pixels->set_isarray(false); - arg_pixels->set_type(GLMessage::DataType::INT64); - arg_pixels->add_int64value((uintptr_t)pixels); + // copy argument counterList + GLMessage_DataType *arg_counterList = glmsg.add_args(); + arg_counterList->set_isarray(false); + arg_counterList->set_type(GLMessage::DataType::INT64); + arg_counterList->add_int64value((uintptr_t)counterList); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + glContext->hooks->gl.glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) pixels, + (void *) counterList, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -11394,70 +15366,22 @@ void GLTrace_glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint glContext->traceGLMessage(&glmsg); } -void GLTrace_glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { +void GLTrace_glBeginPerfMonitorAMD(GLuint monitor) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glCopyTexSubImage3DOES); - - // 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 xoffset - GLMessage_DataType *arg_xoffset = glmsg.add_args(); - arg_xoffset->set_isarray(false); - arg_xoffset->set_type(GLMessage::DataType::INT); - arg_xoffset->add_intvalue(xoffset); - - // copy argument yoffset - GLMessage_DataType *arg_yoffset = glmsg.add_args(); - arg_yoffset->set_isarray(false); - arg_yoffset->set_type(GLMessage::DataType::INT); - arg_yoffset->add_intvalue(yoffset); - - // copy argument zoffset - GLMessage_DataType *arg_zoffset = glmsg.add_args(); - arg_zoffset->set_isarray(false); - arg_zoffset->set_type(GLMessage::DataType::INT); - arg_zoffset->add_intvalue(zoffset); - - // copy argument x - GLMessage_DataType *arg_x = glmsg.add_args(); - arg_x->set_isarray(false); - arg_x->set_type(GLMessage::DataType::INT); - arg_x->add_intvalue(x); - - // copy argument y - GLMessage_DataType *arg_y = glmsg.add_args(); - arg_y->set_isarray(false); - arg_y->set_type(GLMessage::DataType::INT); - arg_y->add_intvalue(y); - - // 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); + glmsg.set_function(GLMessage::glBeginPerfMonitorAMD); - // 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 monitor + GLMessage_DataType *arg_monitor = glmsg.add_args(); + arg_monitor->set_isarray(false); + arg_monitor->set_type(GLMessage::DataType::INT); + arg_monitor->add_intvalue(monitor); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glCopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height); + glContext->hooks->gl.glBeginPerfMonitorAMD(monitor); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -11470,75 +15394,26 @@ void GLTrace_glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, G glContext->traceGLMessage(&glmsg); } -void GLTrace_glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data) { +void GLTrace_glEndPerfMonitorAMD(GLuint monitor) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glCompressedTexImage3DOES); - - // 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 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 depth - GLMessage_DataType *arg_depth = glmsg.add_args(); - arg_depth->set_isarray(false); - arg_depth->set_type(GLMessage::DataType::INT); - arg_depth->add_intvalue(depth); - - // copy argument border - GLMessage_DataType *arg_border = glmsg.add_args(); - arg_border->set_isarray(false); - arg_border->set_type(GLMessage::DataType::INT); - arg_border->add_intvalue(border); - - // copy argument imageSize - GLMessage_DataType *arg_imageSize = glmsg.add_args(); - arg_imageSize->set_isarray(false); - arg_imageSize->set_type(GLMessage::DataType::INT); - arg_imageSize->add_intvalue(imageSize); + glmsg.set_function(GLMessage::glEndPerfMonitorAMD); - // 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); + // copy argument monitor + GLMessage_DataType *arg_monitor = glmsg.add_args(); + arg_monitor->set_isarray(false); + arg_monitor->set_type(GLMessage::DataType::INT); + arg_monitor->add_intvalue(monitor); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glCompressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, data); + glContext->hooks->gl.glEndPerfMonitorAMD(monitor); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) data, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -11547,71 +15422,29 @@ void GLTrace_glCompressedTexImage3DOES(GLenum target, GLint level, GLenum intern glContext->traceGLMessage(&glmsg); } -void GLTrace_glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data) { +void GLTrace_glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint * data, GLint * bytesWritten) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glCompressedTexSubImage3DOES); - - // 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 xoffset - GLMessage_DataType *arg_xoffset = glmsg.add_args(); - arg_xoffset->set_isarray(false); - arg_xoffset->set_type(GLMessage::DataType::INT); - arg_xoffset->add_intvalue(xoffset); - - // copy argument yoffset - GLMessage_DataType *arg_yoffset = glmsg.add_args(); - arg_yoffset->set_isarray(false); - arg_yoffset->set_type(GLMessage::DataType::INT); - arg_yoffset->add_intvalue(yoffset); - - // copy argument zoffset - GLMessage_DataType *arg_zoffset = glmsg.add_args(); - arg_zoffset->set_isarray(false); - arg_zoffset->set_type(GLMessage::DataType::INT); - arg_zoffset->add_intvalue(zoffset); - - // 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); + glmsg.set_function(GLMessage::glGetPerfMonitorCounterDataAMD); - // copy argument depth - GLMessage_DataType *arg_depth = glmsg.add_args(); - arg_depth->set_isarray(false); - arg_depth->set_type(GLMessage::DataType::INT); - arg_depth->add_intvalue(depth); + // copy argument monitor + GLMessage_DataType *arg_monitor = glmsg.add_args(); + arg_monitor->set_isarray(false); + arg_monitor->set_type(GLMessage::DataType::INT); + arg_monitor->add_intvalue(monitor); - // 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); + // 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 imageSize - GLMessage_DataType *arg_imageSize = glmsg.add_args(); - arg_imageSize->set_isarray(false); - arg_imageSize->set_type(GLMessage::DataType::INT); - arg_imageSize->add_intvalue(imageSize); + // copy argument dataSize + GLMessage_DataType *arg_dataSize = glmsg.add_args(); + arg_dataSize->set_isarray(false); + arg_dataSize->set_type(GLMessage::DataType::INT); + arg_dataSize->add_intvalue(dataSize); // copy argument data GLMessage_DataType *arg_data = glmsg.add_args(); @@ -11619,15 +15452,22 @@ void GLTrace_glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoff arg_data->set_type(GLMessage::DataType::INT64); arg_data->add_int64value((uintptr_t)data); + // copy argument bytesWritten + GLMessage_DataType *arg_bytesWritten = glmsg.add_args(); + arg_bytesWritten->set_isarray(false); + arg_bytesWritten->set_type(GLMessage::DataType::INT64); + arg_bytesWritten->add_int64value((uintptr_t)bytesWritten); + // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glCompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + glContext->hooks->gl.glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { (void *) data, + (void *) bytesWritten, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -11636,52 +15476,76 @@ void GLTrace_glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoff glContext->traceGLMessage(&glmsg); } -void GLTrace_glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { +void GLTrace_glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glFramebufferTexture3DOES); + glmsg.set_function(GLMessage::glBlitFramebufferANGLE); + + // copy argument srcX0 + GLMessage_DataType *arg_srcX0 = glmsg.add_args(); + arg_srcX0->set_isarray(false); + arg_srcX0->set_type(GLMessage::DataType::INT); + arg_srcX0->add_intvalue(srcX0); + + // copy argument srcY0 + GLMessage_DataType *arg_srcY0 = glmsg.add_args(); + arg_srcY0->set_isarray(false); + arg_srcY0->set_type(GLMessage::DataType::INT); + arg_srcY0->add_intvalue(srcY0); + + // copy argument srcX1 + GLMessage_DataType *arg_srcX1 = glmsg.add_args(); + arg_srcX1->set_isarray(false); + arg_srcX1->set_type(GLMessage::DataType::INT); + arg_srcX1->add_intvalue(srcX1); + + // copy argument srcY1 + GLMessage_DataType *arg_srcY1 = glmsg.add_args(); + arg_srcY1->set_isarray(false); + arg_srcY1->set_type(GLMessage::DataType::INT); + arg_srcY1->add_intvalue(srcY1); - // 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 dstX0 + GLMessage_DataType *arg_dstX0 = glmsg.add_args(); + arg_dstX0->set_isarray(false); + arg_dstX0->set_type(GLMessage::DataType::INT); + arg_dstX0->add_intvalue(dstX0); - // 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 dstY0 + GLMessage_DataType *arg_dstY0 = glmsg.add_args(); + arg_dstY0->set_isarray(false); + arg_dstY0->set_type(GLMessage::DataType::INT); + arg_dstY0->add_intvalue(dstY0); - // copy argument textarget - GLMessage_DataType *arg_textarget = glmsg.add_args(); - arg_textarget->set_isarray(false); - arg_textarget->set_type(GLMessage::DataType::ENUM); - arg_textarget->add_intvalue((int)textarget); + // copy argument dstX1 + GLMessage_DataType *arg_dstX1 = glmsg.add_args(); + arg_dstX1->set_isarray(false); + arg_dstX1->set_type(GLMessage::DataType::INT); + arg_dstX1->add_intvalue(dstX1); - // 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 dstY1 + GLMessage_DataType *arg_dstY1 = glmsg.add_args(); + arg_dstY1->set_isarray(false); + arg_dstY1->set_type(GLMessage::DataType::INT); + arg_dstY1->add_intvalue(dstY1); - // 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 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); - // copy argument zoffset - GLMessage_DataType *arg_zoffset = glmsg.add_args(); - arg_zoffset->set_isarray(false); - arg_zoffset->set_type(GLMessage::DataType::INT); - arg_zoffset->add_intvalue(zoffset); + // copy argument filter + GLMessage_DataType *arg_filter = glmsg.add_args(); + arg_filter->set_isarray(false); + arg_filter->set_type(GLMessage::DataType::ENUM); + arg_filter->add_intvalue((int)filter); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glFramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset); + glContext->hooks->gl.glBlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -11694,11 +15558,11 @@ void GLTrace_glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum glContext->traceGLMessage(&glmsg); } -void GLTrace_glTexStorage3DMultisampleOES(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { +void GLTrace_glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glTexStorage3DMultisampleOES); + glmsg.set_function(GLMessage::glRenderbufferStorageMultisampleANGLE); // copy argument target GLMessage_DataType *arg_target = glmsg.add_args(); @@ -11730,22 +15594,10 @@ void GLTrace_glTexStorage3DMultisampleOES(GLenum target, GLsizei samples, GLenum arg_height->set_type(GLMessage::DataType::INT); arg_height->add_intvalue(height); - // copy argument depth - GLMessage_DataType *arg_depth = glmsg.add_args(); - arg_depth->set_isarray(false); - arg_depth->set_type(GLMessage::DataType::INT); - arg_depth->add_intvalue(depth); - - // 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.glTexStorage3DMultisampleOES(target, samples, internalformat, width, height, depth, fixedsamplelocations); + glContext->hooks->gl.glRenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -11758,61 +15610,44 @@ void GLTrace_glTexStorage3DMultisampleOES(GLenum target, GLsizei samples, GLenum glContext->traceGLMessage(&glmsg); } -void GLTrace_glBindVertexArrayOES(GLuint array) { +void GLTrace_glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glBindVertexArrayOES); - - // copy argument array - GLMessage_DataType *arg_array = glmsg.add_args(); - arg_array->set_isarray(false); - arg_array->set_type(GLMessage::DataType::INT); - arg_array->add_intvalue(array); - - // call function - nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); - nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glBindVertexArrayOES(array); - 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); -} + glmsg.set_function(GLMessage::glDrawArraysInstancedANGLE); -void GLTrace_glDeleteVertexArraysOES(GLsizei n, const GLuint * arrays) { - GLMessage glmsg; - GLTraceContext *glContext = getGLTraceContext(); + // 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); - glmsg.set_function(GLMessage::glDeleteVertexArraysOES); + // copy argument first + GLMessage_DataType *arg_first = glmsg.add_args(); + arg_first->set_isarray(false); + arg_first->set_type(GLMessage::DataType::INT); + arg_first->add_intvalue(first); - // 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 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 arrays - GLMessage_DataType *arg_arrays = glmsg.add_args(); - arg_arrays->set_isarray(false); - arg_arrays->set_type(GLMessage::DataType::INT64); - arg_arrays->add_int64value((uintptr_t)arrays); + // copy argument primcount + GLMessage_DataType *arg_primcount = glmsg.add_args(); + arg_primcount->set_isarray(false); + arg_primcount->set_type(GLMessage::DataType::INT); + arg_primcount->add_intvalue(primcount); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glDeleteVertexArraysOES(n, arrays); + glContext->hooks->gl.glDrawArraysInstancedANGLE(mode, first, count, primcount); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) arrays, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -11821,111 +15656,85 @@ void GLTrace_glDeleteVertexArraysOES(GLsizei n, const GLuint * arrays) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glGenVertexArraysOES(GLsizei n, GLuint * arrays) { +void GLTrace_glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGenVertexArraysOES); - - // 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 arrays - GLMessage_DataType *arg_arrays = glmsg.add_args(); - arg_arrays->set_isarray(false); - arg_arrays->set_type(GLMessage::DataType::INT64); - arg_arrays->add_int64value((uintptr_t)arrays); - - // call function - nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); - nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glGenVertexArraysOES(n, arrays); - nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); - nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); + glmsg.set_function(GLMessage::glDrawElementsInstancedANGLE); - void *pointerArgs[] = { - (void *) arrays, - }; + // 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); - fixupGLMessage(glContext, wallStartTime, wallEndTime, - threadStartTime, threadEndTime, - &glmsg, pointerArgs); - glContext->traceGLMessage(&glmsg); -} + // 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); -GLboolean GLTrace_glIsVertexArrayOES(GLuint array) { - GLMessage glmsg; - GLTraceContext *glContext = getGLTraceContext(); + // 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); - glmsg.set_function(GLMessage::glIsVertexArrayOES); + // copy argument indices + GLMessage_DataType *arg_indices = glmsg.add_args(); + arg_indices->set_isarray(false); + arg_indices->set_type(GLMessage::DataType::INT64); + arg_indices->add_int64value((uintptr_t)indices); - // copy argument array - GLMessage_DataType *arg_array = glmsg.add_args(); - arg_array->set_isarray(false); - arg_array->set_type(GLMessage::DataType::INT); - arg_array->add_intvalue(array); + // copy argument primcount + GLMessage_DataType *arg_primcount = glmsg.add_args(); + arg_primcount->set_isarray(false); + arg_primcount->set_type(GLMessage::DataType::INT); + arg_primcount->add_intvalue(primcount); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - GLboolean retValue = glContext->hooks->gl.glIsVertexArrayOES(array); + glContext->hooks->gl.glDrawElementsInstancedANGLE(mode, count, type, indices, primcount); 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[] = { + (void *) indices, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); - - return retValue; } -void GLTrace_glGetPerfMonitorGroupsAMD(GLint * numGroups, GLsizei groupsSize, GLuint * groups) { +void GLTrace_glVertexAttribDivisorANGLE(GLuint index, GLuint divisor) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetPerfMonitorGroupsAMD); - - // copy argument numGroups - GLMessage_DataType *arg_numGroups = glmsg.add_args(); - arg_numGroups->set_isarray(false); - arg_numGroups->set_type(GLMessage::DataType::INT64); - arg_numGroups->add_int64value((uintptr_t)numGroups); + glmsg.set_function(GLMessage::glVertexAttribDivisorANGLE); - // copy argument groupsSize - GLMessage_DataType *arg_groupsSize = glmsg.add_args(); - arg_groupsSize->set_isarray(false); - arg_groupsSize->set_type(GLMessage::DataType::INT); - arg_groupsSize->add_intvalue(groupsSize); + // 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 groups - GLMessage_DataType *arg_groups = glmsg.add_args(); - arg_groups->set_isarray(false); - arg_groups->set_type(GLMessage::DataType::INT64); - arg_groups->add_int64value((uintptr_t)groups); + // 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.glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups); + glContext->hooks->gl.glVertexAttribDivisorANGLE(index, divisor); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) numGroups, - (void *) groups, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -11934,53 +15743,46 @@ void GLTrace_glGetPerfMonitorGroupsAMD(GLint * numGroups, GLsizei groupsSize, GL glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetPerfMonitorCountersAMD(GLuint group, GLint * numCounters, GLint * maxActiveCounters, GLsizei counterSize, GLuint * counters) { +void GLTrace_glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GLsizei * length, GLchar * source) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetPerfMonitorCountersAMD); - - // copy argument group - GLMessage_DataType *arg_group = glmsg.add_args(); - arg_group->set_isarray(false); - arg_group->set_type(GLMessage::DataType::INT); - arg_group->add_intvalue(group); + glmsg.set_function(GLMessage::glGetTranslatedShaderSourceANGLE); - // copy argument numCounters - GLMessage_DataType *arg_numCounters = glmsg.add_args(); - arg_numCounters->set_isarray(false); - arg_numCounters->set_type(GLMessage::DataType::INT64); - arg_numCounters->add_int64value((uintptr_t)numCounters); + // copy argument shader + GLMessage_DataType *arg_shader = glmsg.add_args(); + arg_shader->set_isarray(false); + arg_shader->set_type(GLMessage::DataType::INT); + arg_shader->add_intvalue(shader); - // copy argument maxActiveCounters - GLMessage_DataType *arg_maxActiveCounters = glmsg.add_args(); - arg_maxActiveCounters->set_isarray(false); - arg_maxActiveCounters->set_type(GLMessage::DataType::INT64); - arg_maxActiveCounters->add_int64value((uintptr_t)maxActiveCounters); + // 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 counterSize - GLMessage_DataType *arg_counterSize = glmsg.add_args(); - arg_counterSize->set_isarray(false); - arg_counterSize->set_type(GLMessage::DataType::INT); - arg_counterSize->add_intvalue(counterSize); + // 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 counters - GLMessage_DataType *arg_counters = glmsg.add_args(); - arg_counters->set_isarray(false); - arg_counters->set_type(GLMessage::DataType::INT64); - arg_counters->add_int64value((uintptr_t)counters); + // copy argument source + GLMessage_DataType *arg_source = glmsg.add_args(); + arg_source->set_isarray(false); + arg_source->set_type(GLMessage::DataType::INT64); + arg_source->add_int64value((uintptr_t)source); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters); + glContext->hooks->gl.glGetTranslatedShaderSourceANGLE(shader, bufsize, length, source); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) numCounters, - (void *) maxActiveCounters, - (void *) counters, + (void *) length, + (void *) source, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -11989,46 +15791,44 @@ void GLTrace_glGetPerfMonitorCountersAMD(GLuint group, GLint * numCounters, GLin glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei * length, GLchar * groupString) { +void GLTrace_glCopyTextureLevelsAPPLE(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetPerfMonitorGroupStringAMD); + glmsg.set_function(GLMessage::glCopyTextureLevelsAPPLE); - // copy argument group - GLMessage_DataType *arg_group = glmsg.add_args(); - arg_group->set_isarray(false); - arg_group->set_type(GLMessage::DataType::INT); - arg_group->add_intvalue(group); + // copy argument destinationTexture + GLMessage_DataType *arg_destinationTexture = glmsg.add_args(); + arg_destinationTexture->set_isarray(false); + arg_destinationTexture->set_type(GLMessage::DataType::INT); + arg_destinationTexture->add_intvalue(destinationTexture); - // 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 sourceTexture + GLMessage_DataType *arg_sourceTexture = glmsg.add_args(); + arg_sourceTexture->set_isarray(false); + arg_sourceTexture->set_type(GLMessage::DataType::INT); + arg_sourceTexture->add_intvalue(sourceTexture); - // 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 sourceBaseLevel + GLMessage_DataType *arg_sourceBaseLevel = glmsg.add_args(); + arg_sourceBaseLevel->set_isarray(false); + arg_sourceBaseLevel->set_type(GLMessage::DataType::INT); + arg_sourceBaseLevel->add_intvalue(sourceBaseLevel); - // copy argument groupString - GLMessage_DataType *arg_groupString = glmsg.add_args(); - arg_groupString->set_isarray(false); - arg_groupString->set_type(GLMessage::DataType::INT64); - arg_groupString->add_int64value((uintptr_t)groupString); + // copy argument sourceLevelCount + GLMessage_DataType *arg_sourceLevelCount = glmsg.add_args(); + arg_sourceLevelCount->set_isarray(false); + arg_sourceLevelCount->set_type(GLMessage::DataType::INT); + arg_sourceLevelCount->add_intvalue(sourceLevelCount); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString); + glContext->hooks->gl.glCopyTextureLevelsAPPLE(destinationTexture, sourceTexture, sourceBaseLevel, sourceLevelCount); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) length, - (void *) groupString, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12037,52 +15837,50 @@ void GLTrace_glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsiz glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei * length, GLchar * counterString) { +void GLTrace_glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetPerfMonitorCounterStringAMD); + glmsg.set_function(GLMessage::glRenderbufferStorageMultisampleAPPLE); - // copy argument group - GLMessage_DataType *arg_group = glmsg.add_args(); - arg_group->set_isarray(false); - arg_group->set_type(GLMessage::DataType::INT); - arg_group->add_intvalue(group); + // 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 counter - GLMessage_DataType *arg_counter = glmsg.add_args(); - arg_counter->set_isarray(false); - arg_counter->set_type(GLMessage::DataType::INT); - arg_counter->add_intvalue(counter); + // 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 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 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 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 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 counterString - GLMessage_DataType *arg_counterString = glmsg.add_args(); - arg_counterString->set_isarray(false); - arg_counterString->set_type(GLMessage::DataType::INT64); - arg_counterString->add_int64value((uintptr_t)counterString); + // 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); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString); + glContext->hooks->gl.glRenderbufferStorageMultisampleAPPLE(target, samples, internalformat, width, height); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) length, - (void *) counterString, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12091,45 +15889,20 @@ void GLTrace_glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsi glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, void * data) { +void GLTrace_glResolveMultisampleFramebufferAPPLE(void) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetPerfMonitorCounterInfoAMD); - - // copy argument group - GLMessage_DataType *arg_group = glmsg.add_args(); - arg_group->set_isarray(false); - arg_group->set_type(GLMessage::DataType::INT); - arg_group->add_intvalue(group); - - // copy argument counter - GLMessage_DataType *arg_counter = glmsg.add_args(); - arg_counter->set_isarray(false); - arg_counter->set_type(GLMessage::DataType::INT); - arg_counter->add_intvalue(counter); - - // 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 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); + glmsg.set_function(GLMessage::glResolveMultisampleFramebufferAPPLE); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glGetPerfMonitorCounterInfoAMD(group, counter, pname, data); + glContext->hooks->gl.glResolveMultisampleFramebufferAPPLE(); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) data, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12138,121 +15911,107 @@ void GLTrace_glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum glContext->traceGLMessage(&glmsg); } -void GLTrace_glGenPerfMonitorsAMD(GLsizei n, GLuint * monitors) { +GLsync GLTrace_glFenceSyncAPPLE(GLenum condition, GLbitfield flags) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGenPerfMonitorsAMD); + glmsg.set_function(GLMessage::glFenceSyncAPPLE); - // 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 condition + GLMessage_DataType *arg_condition = glmsg.add_args(); + arg_condition->set_isarray(false); + arg_condition->set_type(GLMessage::DataType::ENUM); + arg_condition->add_intvalue((int)condition); - // copy argument monitors - GLMessage_DataType *arg_monitors = glmsg.add_args(); - arg_monitors->set_isarray(false); - arg_monitors->set_type(GLMessage::DataType::INT64); - arg_monitors->add_int64value((uintptr_t)monitors); + // copy argument flags + GLMessage_DataType *arg_flags = glmsg.add_args(); + arg_flags->set_isarray(false); + arg_flags->set_type(GLMessage::DataType::INT); + arg_flags->add_intvalue(flags); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glGenPerfMonitorsAMD(n, monitors); + GLsync retValue = glContext->hooks->gl.glFenceSyncAPPLE(condition, flags); 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::INT64); + rt->add_int64value((uintptr_t)retValue); + void *pointerArgs[] = { - (void *) monitors, + (void *) retValue, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); + + return retValue; } -void GLTrace_glDeletePerfMonitorsAMD(GLsizei n, GLuint * monitors) { +GLboolean GLTrace_glIsSyncAPPLE(GLsync sync) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDeletePerfMonitorsAMD); - - // 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); + glmsg.set_function(GLMessage::glIsSyncAPPLE); - // copy argument monitors - GLMessage_DataType *arg_monitors = glmsg.add_args(); - arg_monitors->set_isarray(false); - arg_monitors->set_type(GLMessage::DataType::INT64); - arg_monitors->add_int64value((uintptr_t)monitors); + // copy argument sync + GLMessage_DataType *arg_sync = glmsg.add_args(); + arg_sync->set_isarray(false); + arg_sync->set_type(GLMessage::DataType::INT64); + arg_sync->add_int64value((uintptr_t)sync); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glDeletePerfMonitorsAMD(n, monitors); + GLboolean retValue = glContext->hooks->gl.glIsSyncAPPLE(sync); 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[] = { - (void *) monitors, + (void *) sync, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); + + return retValue; } -void GLTrace_glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint * counterList) { +void GLTrace_glDeleteSyncAPPLE(GLsync sync) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glSelectPerfMonitorCountersAMD); - - // copy argument monitor - GLMessage_DataType *arg_monitor = glmsg.add_args(); - arg_monitor->set_isarray(false); - arg_monitor->set_type(GLMessage::DataType::INT); - arg_monitor->add_intvalue(monitor); - - // copy argument enable - GLMessage_DataType *arg_enable = glmsg.add_args(); - arg_enable->set_isarray(false); - arg_enable->set_type(GLMessage::DataType::BOOL); - arg_enable->add_boolvalue(enable); - - // copy argument group - GLMessage_DataType *arg_group = glmsg.add_args(); - arg_group->set_isarray(false); - arg_group->set_type(GLMessage::DataType::INT); - arg_group->add_intvalue(group); - - // copy argument numCounters - GLMessage_DataType *arg_numCounters = glmsg.add_args(); - arg_numCounters->set_isarray(false); - arg_numCounters->set_type(GLMessage::DataType::INT); - arg_numCounters->add_intvalue(numCounters); + glmsg.set_function(GLMessage::glDeleteSyncAPPLE); - // copy argument counterList - GLMessage_DataType *arg_counterList = glmsg.add_args(); - arg_counterList->set_isarray(false); - arg_counterList->set_type(GLMessage::DataType::INT64); - arg_counterList->add_int64value((uintptr_t)counterList); + // copy argument sync + GLMessage_DataType *arg_sync = glmsg.add_args(); + arg_sync->set_isarray(false); + arg_sync->set_type(GLMessage::DataType::INT64); + arg_sync->add_int64value((uintptr_t)sync); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList); + glContext->hooks->gl.glDeleteSyncAPPLE(sync); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) counterList, + (void *) sync, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12261,54 +16020,88 @@ void GLTrace_glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GL glContext->traceGLMessage(&glmsg); } -void GLTrace_glBeginPerfMonitorAMD(GLuint monitor) { +GLenum GLTrace_glClientWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glBeginPerfMonitorAMD); + glmsg.set_function(GLMessage::glClientWaitSyncAPPLE); - // copy argument monitor - GLMessage_DataType *arg_monitor = glmsg.add_args(); - arg_monitor->set_isarray(false); - arg_monitor->set_type(GLMessage::DataType::INT); - arg_monitor->add_intvalue(monitor); + // copy argument sync + GLMessage_DataType *arg_sync = glmsg.add_args(); + arg_sync->set_isarray(false); + arg_sync->set_type(GLMessage::DataType::INT64); + arg_sync->add_int64value((uintptr_t)sync); + + // copy argument flags + GLMessage_DataType *arg_flags = glmsg.add_args(); + arg_flags->set_isarray(false); + arg_flags->set_type(GLMessage::DataType::INT); + arg_flags->add_intvalue(flags); + + // copy argument timeout + GLMessage_DataType *arg_timeout = glmsg.add_args(); + arg_timeout->set_isarray(false); + arg_timeout->set_type(GLMessage::DataType::INT64); + arg_timeout->add_int64value(timeout); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glBeginPerfMonitorAMD(monitor); + GLenum retValue = glContext->hooks->gl.glClientWaitSyncAPPLE(sync, flags, timeout); 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::ENUM); + rt->add_intvalue((int)retValue); + void *pointerArgs[] = { + (void *) sync, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); + + return retValue; } -void GLTrace_glEndPerfMonitorAMD(GLuint monitor) { +void GLTrace_glWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glEndPerfMonitorAMD); + glmsg.set_function(GLMessage::glWaitSyncAPPLE); - // copy argument monitor - GLMessage_DataType *arg_monitor = glmsg.add_args(); - arg_monitor->set_isarray(false); - arg_monitor->set_type(GLMessage::DataType::INT); - arg_monitor->add_intvalue(monitor); + // copy argument sync + GLMessage_DataType *arg_sync = glmsg.add_args(); + arg_sync->set_isarray(false); + arg_sync->set_type(GLMessage::DataType::INT64); + arg_sync->add_int64value((uintptr_t)sync); + + // copy argument flags + GLMessage_DataType *arg_flags = glmsg.add_args(); + arg_flags->set_isarray(false); + arg_flags->set_type(GLMessage::DataType::INT); + arg_flags->add_intvalue(flags); + + // copy argument timeout + GLMessage_DataType *arg_timeout = glmsg.add_args(); + arg_timeout->set_isarray(false); + arg_timeout->set_type(GLMessage::DataType::INT64); + arg_timeout->add_int64value(timeout); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glEndPerfMonitorAMD(monitor); + glContext->hooks->gl.glWaitSyncAPPLE(sync, flags, timeout); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { + (void *) sync, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12317,17 +16110,11 @@ void GLTrace_glEndPerfMonitorAMD(GLuint monitor) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint * data, GLint * bytesWritten) { +void GLTrace_glGetInteger64vAPPLE(GLenum pname, GLint64 * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetPerfMonitorCounterDataAMD); - - // copy argument monitor - GLMessage_DataType *arg_monitor = glmsg.add_args(); - arg_monitor->set_isarray(false); - arg_monitor->set_type(GLMessage::DataType::INT); - arg_monitor->add_intvalue(monitor); + glmsg.set_function(GLMessage::glGetInteger64vAPPLE); // copy argument pname GLMessage_DataType *arg_pname = glmsg.add_args(); @@ -12335,34 +16122,21 @@ void GLTrace_glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsize arg_pname->set_type(GLMessage::DataType::ENUM); arg_pname->add_intvalue((int)pname); - // copy argument dataSize - GLMessage_DataType *arg_dataSize = glmsg.add_args(); - arg_dataSize->set_isarray(false); - arg_dataSize->set_type(GLMessage::DataType::INT); - arg_dataSize->add_intvalue(dataSize); - - // 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); - - // copy argument bytesWritten - GLMessage_DataType *arg_bytesWritten = glmsg.add_args(); - arg_bytesWritten->set_isarray(false); - arg_bytesWritten->set_type(GLMessage::DataType::INT64); - arg_bytesWritten->add_int64value((uintptr_t)bytesWritten); + // 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.glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten); + glContext->hooks->gl.glGetInteger64vAPPLE(pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) data, - (void *) bytesWritten, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12371,80 +16145,53 @@ void GLTrace_glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsize glContext->traceGLMessage(&glmsg); } -void GLTrace_glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { +void GLTrace_glGetSyncivAPPLE(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glBlitFramebufferANGLE); - - // copy argument srcX0 - GLMessage_DataType *arg_srcX0 = glmsg.add_args(); - arg_srcX0->set_isarray(false); - arg_srcX0->set_type(GLMessage::DataType::INT); - arg_srcX0->add_intvalue(srcX0); - - // copy argument srcY0 - GLMessage_DataType *arg_srcY0 = glmsg.add_args(); - arg_srcY0->set_isarray(false); - arg_srcY0->set_type(GLMessage::DataType::INT); - arg_srcY0->add_intvalue(srcY0); - - // copy argument srcX1 - GLMessage_DataType *arg_srcX1 = glmsg.add_args(); - arg_srcX1->set_isarray(false); - arg_srcX1->set_type(GLMessage::DataType::INT); - arg_srcX1->add_intvalue(srcX1); - - // copy argument srcY1 - GLMessage_DataType *arg_srcY1 = glmsg.add_args(); - arg_srcY1->set_isarray(false); - arg_srcY1->set_type(GLMessage::DataType::INT); - arg_srcY1->add_intvalue(srcY1); - - // copy argument dstX0 - GLMessage_DataType *arg_dstX0 = glmsg.add_args(); - arg_dstX0->set_isarray(false); - arg_dstX0->set_type(GLMessage::DataType::INT); - arg_dstX0->add_intvalue(dstX0); + glmsg.set_function(GLMessage::glGetSyncivAPPLE); - // copy argument dstY0 - GLMessage_DataType *arg_dstY0 = glmsg.add_args(); - arg_dstY0->set_isarray(false); - arg_dstY0->set_type(GLMessage::DataType::INT); - arg_dstY0->add_intvalue(dstY0); + // copy argument sync + GLMessage_DataType *arg_sync = glmsg.add_args(); + arg_sync->set_isarray(false); + arg_sync->set_type(GLMessage::DataType::INT64); + arg_sync->add_int64value((uintptr_t)sync); - // copy argument dstX1 - GLMessage_DataType *arg_dstX1 = glmsg.add_args(); - arg_dstX1->set_isarray(false); - arg_dstX1->set_type(GLMessage::DataType::INT); - arg_dstX1->add_intvalue(dstX1); + // 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 dstY1 - GLMessage_DataType *arg_dstY1 = glmsg.add_args(); - arg_dstY1->set_isarray(false); - arg_dstY1->set_type(GLMessage::DataType::INT); - arg_dstY1->add_intvalue(dstY1); + // 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 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); + // 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 filter - GLMessage_DataType *arg_filter = glmsg.add_args(); - arg_filter->set_isarray(false); - arg_filter->set_type(GLMessage::DataType::ENUM); - arg_filter->add_intvalue((int)filter); + // copy argument values + GLMessage_DataType *arg_values = glmsg.add_args(); + arg_values->set_isarray(false); + arg_values->set_type(GLMessage::DataType::INT64); + arg_values->add_int64value((uintptr_t)values); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glBlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + glContext->hooks->gl.glGetSyncivAPPLE(sync, pname, bufSize, length, values); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { + (void *) sync, + (void *) length, + (void *) values, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12453,46 +16200,106 @@ void GLTrace_glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint glContext->traceGLMessage(&glmsg); } -void GLTrace_glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { +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::glRenderbufferStorageMultisampleANGLE); + glmsg.set_function(GLMessage::glCopyImageSubDataEXT); - // 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 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 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 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 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 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 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 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 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 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.glRenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height); + 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); @@ -12505,44 +16312,45 @@ void GLTrace_glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei sample glContext->traceGLMessage(&glmsg); } -void GLTrace_glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount) { +void GLTrace_glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar * label) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDrawArraysInstancedANGLE); + glmsg.set_function(GLMessage::glLabelObjectEXT); - // 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 first - GLMessage_DataType *arg_first = glmsg.add_args(); - arg_first->set_isarray(false); - arg_first->set_type(GLMessage::DataType::INT); - arg_first->add_intvalue(first); + // copy argument object + GLMessage_DataType *arg_object = glmsg.add_args(); + arg_object->set_isarray(false); + arg_object->set_type(GLMessage::DataType::INT); + arg_object->add_intvalue(object); - // 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 length + GLMessage_DataType *arg_length = glmsg.add_args(); + arg_length->set_isarray(false); + arg_length->set_type(GLMessage::DataType::INT); + arg_length->add_intvalue(length); - // copy argument primcount - GLMessage_DataType *arg_primcount = glmsg.add_args(); - arg_primcount->set_isarray(false); - arg_primcount->set_type(GLMessage::DataType::INT); - arg_primcount->add_intvalue(primcount); + // copy argument label + GLMessage_DataType *arg_label = glmsg.add_args(); + arg_label->set_isarray(false); + arg_label->set_type(GLMessage::DataType::INT64); + arg_label->add_int64value((uintptr_t)label); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glDrawArraysInstancedANGLE(mode, first, count, primcount); + glContext->hooks->gl.glLabelObjectEXT(type, object, length, label); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { + (void *) label, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12551,23 +16359,11 @@ void GLTrace_glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, glContext->traceGLMessage(&glmsg); } -void GLTrace_glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount) { +void GLTrace_glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GLsizei * length, GLchar * label) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDrawElementsInstancedANGLE); - - // 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 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); + glmsg.set_function(GLMessage::glGetObjectLabelEXT); // copy argument type GLMessage_DataType *arg_type = glmsg.add_args(); @@ -12575,27 +16371,40 @@ void GLTrace_glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum typ arg_type->set_type(GLMessage::DataType::ENUM); arg_type->add_intvalue((int)type); - // copy argument indices - GLMessage_DataType *arg_indices = glmsg.add_args(); - arg_indices->set_isarray(false); - arg_indices->set_type(GLMessage::DataType::INT64); - arg_indices->add_int64value((uintptr_t)indices); + // copy argument object + GLMessage_DataType *arg_object = glmsg.add_args(); + arg_object->set_isarray(false); + arg_object->set_type(GLMessage::DataType::INT); + arg_object->add_intvalue(object); - // copy argument primcount - GLMessage_DataType *arg_primcount = glmsg.add_args(); - arg_primcount->set_isarray(false); - arg_primcount->set_type(GLMessage::DataType::INT); - arg_primcount->add_intvalue(primcount); + // 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 label + GLMessage_DataType *arg_label = glmsg.add_args(); + arg_label->set_isarray(false); + arg_label->set_type(GLMessage::DataType::INT64); + arg_label->add_int64value((uintptr_t)label); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glDrawElementsInstancedANGLE(mode, count, type, indices, primcount); + glContext->hooks->gl.glGetObjectLabelEXT(type, object, bufSize, length, label); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) indices, + (void *) length, + (void *) label, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12604,32 +16413,33 @@ void GLTrace_glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum typ glContext->traceGLMessage(&glmsg); } -void GLTrace_glVertexAttribDivisorANGLE(GLuint index, GLuint divisor) { +void GLTrace_glInsertEventMarkerEXT(GLsizei length, const GLchar * marker) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glVertexAttribDivisorANGLE); + glmsg.set_function(GLMessage::glInsertEventMarkerEXT); - // 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 length + GLMessage_DataType *arg_length = glmsg.add_args(); + arg_length->set_isarray(false); + arg_length->set_type(GLMessage::DataType::INT); + arg_length->add_intvalue(length); - // 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); + // copy argument marker + GLMessage_DataType *arg_marker = glmsg.add_args(); + arg_marker->set_isarray(false); + arg_marker->set_type(GLMessage::DataType::INT64); + arg_marker->add_int64value((uintptr_t)marker); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glVertexAttribDivisorANGLE(index, divisor); + glContext->hooks->gl.glInsertEventMarkerEXT(length, marker); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { + (void *) marker, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12638,46 +16448,33 @@ void GLTrace_glVertexAttribDivisorANGLE(GLuint index, GLuint divisor) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GLsizei * length, GLchar * source) { +void GLTrace_glPushGroupMarkerEXT(GLsizei length, const GLchar * marker) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetTranslatedShaderSourceANGLE); - - // copy argument shader - GLMessage_DataType *arg_shader = glmsg.add_args(); - arg_shader->set_isarray(false); - arg_shader->set_type(GLMessage::DataType::INT); - arg_shader->add_intvalue(shader); - - // 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); + glmsg.set_function(GLMessage::glPushGroupMarkerEXT); // 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); + arg_length->set_type(GLMessage::DataType::INT); + arg_length->add_intvalue(length); - // copy argument source - GLMessage_DataType *arg_source = glmsg.add_args(); - arg_source->set_isarray(false); - arg_source->set_type(GLMessage::DataType::INT64); - arg_source->add_int64value((uintptr_t)source); + // copy argument marker + GLMessage_DataType *arg_marker = glmsg.add_args(); + arg_marker->set_isarray(false); + arg_marker->set_type(GLMessage::DataType::INT64); + arg_marker->add_int64value((uintptr_t)marker); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glGetTranslatedShaderSourceANGLE(shader, bufsize, length, source); + glContext->hooks->gl.glPushGroupMarkerEXT(length, marker); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) length, - (void *) source, + (void *) marker, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12686,40 +16483,16 @@ void GLTrace_glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GL glContext->traceGLMessage(&glmsg); } -void GLTrace_glCopyTextureLevelsAPPLE(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount) { +void GLTrace_glPopGroupMarkerEXT(void) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glCopyTextureLevelsAPPLE); - - // copy argument destinationTexture - GLMessage_DataType *arg_destinationTexture = glmsg.add_args(); - arg_destinationTexture->set_isarray(false); - arg_destinationTexture->set_type(GLMessage::DataType::INT); - arg_destinationTexture->add_intvalue(destinationTexture); - - // copy argument sourceTexture - GLMessage_DataType *arg_sourceTexture = glmsg.add_args(); - arg_sourceTexture->set_isarray(false); - arg_sourceTexture->set_type(GLMessage::DataType::INT); - arg_sourceTexture->add_intvalue(sourceTexture); - - // copy argument sourceBaseLevel - GLMessage_DataType *arg_sourceBaseLevel = glmsg.add_args(); - arg_sourceBaseLevel->set_isarray(false); - arg_sourceBaseLevel->set_type(GLMessage::DataType::INT); - arg_sourceBaseLevel->add_intvalue(sourceBaseLevel); - - // copy argument sourceLevelCount - GLMessage_DataType *arg_sourceLevelCount = glmsg.add_args(); - arg_sourceLevelCount->set_isarray(false); - arg_sourceLevelCount->set_type(GLMessage::DataType::INT); - arg_sourceLevelCount->add_intvalue(sourceLevelCount); + glmsg.set_function(GLMessage::glPopGroupMarkerEXT); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glCopyTextureLevelsAPPLE(destinationTexture, sourceTexture, sourceBaseLevel, sourceLevelCount); + glContext->hooks->gl.glPopGroupMarkerEXT(); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -12732,11 +16505,11 @@ void GLTrace_glCopyTextureLevelsAPPLE(GLuint destinationTexture, GLuint sourceTe glContext->traceGLMessage(&glmsg); } -void GLTrace_glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { +void GLTrace_glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum * attachments) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glRenderbufferStorageMultisampleAPPLE); + glmsg.set_function(GLMessage::glDiscardFramebufferEXT); // copy argument target GLMessage_DataType *arg_target = glmsg.add_args(); @@ -12744,38 +16517,27 @@ void GLTrace_glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei sample 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 numAttachments + GLMessage_DataType *arg_numAttachments = glmsg.add_args(); + arg_numAttachments->set_isarray(false); + arg_numAttachments->set_type(GLMessage::DataType::INT); + arg_numAttachments->add_intvalue(numAttachments); - // 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 attachments + GLMessage_DataType *arg_attachments = glmsg.add_args(); + arg_attachments->set_isarray(false); + arg_attachments->set_type(GLMessage::DataType::INT64); + arg_attachments->add_int64value((uintptr_t)attachments); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glRenderbufferStorageMultisampleAPPLE(target, samples, internalformat, width, height); + glContext->hooks->gl.glDiscardFramebufferEXT(target, numAttachments, attachments); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { + (void *) attachments, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12784,20 +16546,33 @@ void GLTrace_glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei sample glContext->traceGLMessage(&glmsg); } -void GLTrace_glResolveMultisampleFramebufferAPPLE(void) { +void GLTrace_glGenQueriesEXT(GLsizei n, GLuint * ids) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glResolveMultisampleFramebufferAPPLE); + glmsg.set_function(GLMessage::glGenQueriesEXT); + + // 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 ids + GLMessage_DataType *arg_ids = glmsg.add_args(); + arg_ids->set_isarray(false); + arg_ids->set_type(GLMessage::DataType::INT64); + arg_ids->add_int64value((uintptr_t)ids); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glResolveMultisampleFramebufferAPPLE(); + glContext->hooks->gl.glGenQueriesEXT(n, ids); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { + (void *) ids, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12806,65 +16581,57 @@ void GLTrace_glResolveMultisampleFramebufferAPPLE(void) { glContext->traceGLMessage(&glmsg); } -GLsync GLTrace_glFenceSyncAPPLE(GLenum condition, GLbitfield flags) { +void GLTrace_glDeleteQueriesEXT(GLsizei n, const GLuint * ids) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glFenceSyncAPPLE); + glmsg.set_function(GLMessage::glDeleteQueriesEXT); - // copy argument condition - GLMessage_DataType *arg_condition = glmsg.add_args(); - arg_condition->set_isarray(false); - arg_condition->set_type(GLMessage::DataType::ENUM); - arg_condition->add_intvalue((int)condition); + // 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 flags - GLMessage_DataType *arg_flags = glmsg.add_args(); - arg_flags->set_isarray(false); - arg_flags->set_type(GLMessage::DataType::INT); - arg_flags->add_intvalue(flags); + // copy argument ids + GLMessage_DataType *arg_ids = glmsg.add_args(); + arg_ids->set_isarray(false); + arg_ids->set_type(GLMessage::DataType::INT64); + arg_ids->add_int64value((uintptr_t)ids); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - GLsync retValue = glContext->hooks->gl.glFenceSyncAPPLE(condition, flags); + glContext->hooks->gl.glDeleteQueriesEXT(n, ids); 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::INT64); - rt->add_int64value((uintptr_t)retValue); - void *pointerArgs[] = { - (void *) retValue, + (void *) ids, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); - - return retValue; } -GLboolean GLTrace_glIsSyncAPPLE(GLsync sync) { +GLboolean GLTrace_glIsQueryEXT(GLuint id) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glIsSyncAPPLE); + glmsg.set_function(GLMessage::glIsQueryEXT); - // copy argument sync - GLMessage_DataType *arg_sync = glmsg.add_args(); - arg_sync->set_isarray(false); - arg_sync->set_type(GLMessage::DataType::INT64); - arg_sync->add_int64value((uintptr_t)sync); + // copy argument id + GLMessage_DataType *arg_id = glmsg.add_args(); + arg_id->set_isarray(false); + arg_id->set_type(GLMessage::DataType::INT); + arg_id->add_intvalue(id); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - GLboolean retValue = glContext->hooks->gl.glIsSyncAPPLE(sync); + GLboolean retValue = glContext->hooks->gl.glIsQueryEXT(id); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -12875,7 +16642,6 @@ GLboolean GLTrace_glIsSyncAPPLE(GLsync sync) { rt->add_boolvalue(retValue); void *pointerArgs[] = { - (void *) sync, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12886,27 +16652,32 @@ GLboolean GLTrace_glIsSyncAPPLE(GLsync sync) { return retValue; } -void GLTrace_glDeleteSyncAPPLE(GLsync sync) { +void GLTrace_glBeginQueryEXT(GLenum target, GLuint id) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDeleteSyncAPPLE); + glmsg.set_function(GLMessage::glBeginQueryEXT); - // copy argument sync - GLMessage_DataType *arg_sync = glmsg.add_args(); - arg_sync->set_isarray(false); - arg_sync->set_type(GLMessage::DataType::INT64); - arg_sync->add_int64value((uintptr_t)sync); + // 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 id + GLMessage_DataType *arg_id = glmsg.add_args(); + arg_id->set_isarray(false); + arg_id->set_type(GLMessage::DataType::INT); + arg_id->add_intvalue(id); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glDeleteSyncAPPLE(sync); + glContext->hooks->gl.glBeginQueryEXT(target, id); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) sync, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -12915,88 +16686,60 @@ void GLTrace_glDeleteSyncAPPLE(GLsync sync) { glContext->traceGLMessage(&glmsg); } -GLenum GLTrace_glClientWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout) { +void GLTrace_glEndQueryEXT(GLenum target) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glClientWaitSyncAPPLE); - - // copy argument sync - GLMessage_DataType *arg_sync = glmsg.add_args(); - arg_sync->set_isarray(false); - arg_sync->set_type(GLMessage::DataType::INT64); - arg_sync->add_int64value((uintptr_t)sync); - - // copy argument flags - GLMessage_DataType *arg_flags = glmsg.add_args(); - arg_flags->set_isarray(false); - arg_flags->set_type(GLMessage::DataType::INT); - arg_flags->add_intvalue(flags); + glmsg.set_function(GLMessage::glEndQueryEXT); - // copy argument timeout - GLMessage_DataType *arg_timeout = glmsg.add_args(); - arg_timeout->set_isarray(false); - arg_timeout->set_type(GLMessage::DataType::INT64); - arg_timeout->add_int64value(timeout); + // 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); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - GLenum retValue = glContext->hooks->gl.glClientWaitSyncAPPLE(sync, flags, timeout); + glContext->hooks->gl.glEndQueryEXT(target); 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::ENUM); - rt->add_intvalue((int)retValue); - void *pointerArgs[] = { - (void *) sync, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); - - return retValue; } -void GLTrace_glWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout) { +void GLTrace_glQueryCounterEXT(GLuint id, GLenum target) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glWaitSyncAPPLE); - - // copy argument sync - GLMessage_DataType *arg_sync = glmsg.add_args(); - arg_sync->set_isarray(false); - arg_sync->set_type(GLMessage::DataType::INT64); - arg_sync->add_int64value((uintptr_t)sync); + glmsg.set_function(GLMessage::glQueryCounterEXT); - // copy argument flags - GLMessage_DataType *arg_flags = glmsg.add_args(); - arg_flags->set_isarray(false); - arg_flags->set_type(GLMessage::DataType::INT); - arg_flags->add_intvalue(flags); + // copy argument id + GLMessage_DataType *arg_id = glmsg.add_args(); + arg_id->set_isarray(false); + arg_id->set_type(GLMessage::DataType::INT); + arg_id->add_intvalue(id); - // copy argument timeout - GLMessage_DataType *arg_timeout = glmsg.add_args(); - arg_timeout->set_isarray(false); - arg_timeout->set_type(GLMessage::DataType::INT64); - arg_timeout->add_int64value(timeout); + // 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); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glWaitSyncAPPLE(sync, flags, timeout); + glContext->hooks->gl.glQueryCounterEXT(id, target); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) sync, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13005,11 +16748,17 @@ void GLTrace_glWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetInteger64vAPPLE(GLenum pname, GLint64 * params) { +void GLTrace_glGetQueryivEXT(GLenum target, GLenum pname, GLint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetInteger64vAPPLE); + glmsg.set_function(GLMessage::glGetQueryivEXT); + + // 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(); @@ -13026,7 +16775,7 @@ void GLTrace_glGetInteger64vAPPLE(GLenum pname, GLint64 * params) { // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glGetInteger64vAPPLE(pname, params); + glContext->hooks->gl.glGetQueryivEXT(target, pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -13040,17 +16789,17 @@ void GLTrace_glGetInteger64vAPPLE(GLenum pname, GLint64 * params) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetSyncivAPPLE(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values) { +void GLTrace_glGetQueryObjectivEXT(GLuint id, GLenum pname, GLint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetSyncivAPPLE); + glmsg.set_function(GLMessage::glGetQueryObjectivEXT); - // copy argument sync - GLMessage_DataType *arg_sync = glmsg.add_args(); - arg_sync->set_isarray(false); - arg_sync->set_type(GLMessage::DataType::INT64); - arg_sync->add_int64value((uintptr_t)sync); + // copy argument id + GLMessage_DataType *arg_id = glmsg.add_args(); + arg_id->set_isarray(false); + arg_id->set_type(GLMessage::DataType::INT); + arg_id->add_intvalue(id); // copy argument pname GLMessage_DataType *arg_pname = glmsg.add_args(); @@ -13058,35 +16807,21 @@ void GLTrace_glGetSyncivAPPLE(GLsync sync, GLenum pname, GLsizei bufSize, GLsize arg_pname->set_type(GLMessage::DataType::ENUM); arg_pname->add_intvalue((int)pname); - // 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 values - GLMessage_DataType *arg_values = glmsg.add_args(); - arg_values->set_isarray(false); - arg_values->set_type(GLMessage::DataType::INT64); - arg_values->add_int64value((uintptr_t)values); + // 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.glGetSyncivAPPLE(sync, pname, bufSize, length, values); + glContext->hooks->gl.glGetQueryObjectivEXT(id, pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) sync, - (void *) length, - (void *) values, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13095,45 +16830,39 @@ void GLTrace_glGetSyncivAPPLE(GLsync sync, GLenum pname, GLsizei bufSize, GLsize glContext->traceGLMessage(&glmsg); } -void GLTrace_glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar * label) { +void GLTrace_glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glLabelObjectEXT); - - // 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); + glmsg.set_function(GLMessage::glGetQueryObjectuivEXT); - // copy argument object - GLMessage_DataType *arg_object = glmsg.add_args(); - arg_object->set_isarray(false); - arg_object->set_type(GLMessage::DataType::INT); - arg_object->add_intvalue(object); + // copy argument id + GLMessage_DataType *arg_id = glmsg.add_args(); + arg_id->set_isarray(false); + arg_id->set_type(GLMessage::DataType::INT); + arg_id->add_intvalue(id); - // copy argument length - GLMessage_DataType *arg_length = glmsg.add_args(); - arg_length->set_isarray(false); - arg_length->set_type(GLMessage::DataType::INT); - arg_length->add_intvalue(length); + // 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 label - GLMessage_DataType *arg_label = glmsg.add_args(); - arg_label->set_isarray(false); - arg_label->set_type(GLMessage::DataType::INT64); - arg_label->add_int64value((uintptr_t)label); + // 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.glLabelObjectEXT(type, object, length, label); + glContext->hooks->gl.glGetQueryObjectuivEXT(id, pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) label, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13142,52 +16871,39 @@ void GLTrace_glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GLsizei * length, GLchar * label) { +void GLTrace_glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64 * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetObjectLabelEXT); - - // 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 object - GLMessage_DataType *arg_object = glmsg.add_args(); - arg_object->set_isarray(false); - arg_object->set_type(GLMessage::DataType::INT); - arg_object->add_intvalue(object); + glmsg.set_function(GLMessage::glGetQueryObjecti64vEXT); - // 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 id + GLMessage_DataType *arg_id = glmsg.add_args(); + arg_id->set_isarray(false); + arg_id->set_type(GLMessage::DataType::INT); + arg_id->add_intvalue(id); - // 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 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 label - GLMessage_DataType *arg_label = glmsg.add_args(); - arg_label->set_isarray(false); - arg_label->set_type(GLMessage::DataType::INT64); - arg_label->add_int64value((uintptr_t)label); + // 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.glGetObjectLabelEXT(type, object, bufSize, length, label); + glContext->hooks->gl.glGetQueryObjecti64vEXT(id, pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) length, - (void *) label, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13196,33 +16912,39 @@ void GLTrace_glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GL glContext->traceGLMessage(&glmsg); } -void GLTrace_glInsertEventMarkerEXT(GLsizei length, const GLchar * marker) { +void GLTrace_glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64 * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glInsertEventMarkerEXT); + glmsg.set_function(GLMessage::glGetQueryObjectui64vEXT); - // copy argument length - GLMessage_DataType *arg_length = glmsg.add_args(); - arg_length->set_isarray(false); - arg_length->set_type(GLMessage::DataType::INT); - arg_length->add_intvalue(length); + // copy argument id + GLMessage_DataType *arg_id = glmsg.add_args(); + arg_id->set_isarray(false); + arg_id->set_type(GLMessage::DataType::INT); + arg_id->add_intvalue(id); - // copy argument marker - GLMessage_DataType *arg_marker = glmsg.add_args(); - arg_marker->set_isarray(false); - arg_marker->set_type(GLMessage::DataType::INT64); - arg_marker->add_int64value((uintptr_t)marker); + // 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.glInsertEventMarkerEXT(length, marker); + glContext->hooks->gl.glGetQueryObjectui64vEXT(id, pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) marker, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13231,33 +16953,33 @@ void GLTrace_glInsertEventMarkerEXT(GLsizei length, const GLchar * marker) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glPushGroupMarkerEXT(GLsizei length, const GLchar * marker) { +void GLTrace_glDrawBuffersEXT(GLsizei n, const GLenum * bufs) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glPushGroupMarkerEXT); + glmsg.set_function(GLMessage::glDrawBuffersEXT); - // copy argument length - GLMessage_DataType *arg_length = glmsg.add_args(); - arg_length->set_isarray(false); - arg_length->set_type(GLMessage::DataType::INT); - arg_length->add_intvalue(length); + // 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 marker - GLMessage_DataType *arg_marker = glmsg.add_args(); - arg_marker->set_isarray(false); - arg_marker->set_type(GLMessage::DataType::INT64); - arg_marker->add_int64value((uintptr_t)marker); + // copy argument bufs + GLMessage_DataType *arg_bufs = glmsg.add_args(); + arg_bufs->set_isarray(false); + arg_bufs->set_type(GLMessage::DataType::INT64); + arg_bufs->add_int64value((uintptr_t)bufs); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glPushGroupMarkerEXT(length, marker); + glContext->hooks->gl.glDrawBuffersEXT(n, bufs); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) marker, + (void *) bufs, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13266,16 +16988,28 @@ void GLTrace_glPushGroupMarkerEXT(GLsizei length, const GLchar * marker) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glPopGroupMarkerEXT(void) { +void GLTrace_glEnableiEXT(GLenum target, GLuint index) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glPopGroupMarkerEXT); + 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.glPopGroupMarkerEXT(); + glContext->hooks->gl.glEnableiEXT(target, index); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -13288,11 +17022,11 @@ void GLTrace_glPopGroupMarkerEXT(void) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum * attachments) { +void GLTrace_glDisableiEXT(GLenum target, GLuint index) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDiscardFramebufferEXT); + glmsg.set_function(GLMessage::glDisableiEXT); // copy argument target GLMessage_DataType *arg_target = glmsg.add_args(); @@ -13300,27 +17034,20 @@ void GLTrace_glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, cons arg_target->set_type(GLMessage::DataType::ENUM); arg_target->add_intvalue((int)target); - // copy argument numAttachments - GLMessage_DataType *arg_numAttachments = glmsg.add_args(); - arg_numAttachments->set_isarray(false); - arg_numAttachments->set_type(GLMessage::DataType::INT); - arg_numAttachments->add_intvalue(numAttachments); - - // copy argument attachments - GLMessage_DataType *arg_attachments = glmsg.add_args(); - arg_attachments->set_isarray(false); - arg_attachments->set_type(GLMessage::DataType::INT64); - arg_attachments->add_int64value((uintptr_t)attachments); + // 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.glDiscardFramebufferEXT(target, numAttachments, attachments); + glContext->hooks->gl.glDisableiEXT(target, index); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) attachments, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13329,33 +17056,32 @@ void GLTrace_glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, cons glContext->traceGLMessage(&glmsg); } -void GLTrace_glGenQueriesEXT(GLsizei n, GLuint * ids) { +void GLTrace_glBlendEquationiEXT(GLuint buf, GLenum mode) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGenQueriesEXT); + glmsg.set_function(GLMessage::glBlendEquationiEXT); - // 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 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 ids - GLMessage_DataType *arg_ids = glmsg.add_args(); - arg_ids->set_isarray(false); - arg_ids->set_type(GLMessage::DataType::INT64); - arg_ids->add_int64value((uintptr_t)ids); + // 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.glGenQueriesEXT(n, ids); + glContext->hooks->gl.glBlendEquationiEXT(buf, mode); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) ids, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13364,33 +17090,38 @@ void GLTrace_glGenQueriesEXT(GLsizei n, GLuint * ids) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glDeleteQueriesEXT(GLsizei n, const GLuint * ids) { +void GLTrace_glBlendEquationSeparateiEXT(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDeleteQueriesEXT); + glmsg.set_function(GLMessage::glBlendEquationSeparateiEXT); - // 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 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 ids - GLMessage_DataType *arg_ids = glmsg.add_args(); - arg_ids->set_isarray(false); - arg_ids->set_type(GLMessage::DataType::INT64); - arg_ids->add_int64value((uintptr_t)ids); + // 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.glDeleteQueriesEXT(n, ids); + glContext->hooks->gl.glBlendEquationSeparateiEXT(buf, modeRGB, modeAlpha); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) ids, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13399,31 +17130,37 @@ void GLTrace_glDeleteQueriesEXT(GLsizei n, const GLuint * ids) { glContext->traceGLMessage(&glmsg); } -GLboolean GLTrace_glIsQueryEXT(GLuint id) { +void GLTrace_glBlendFunciEXT(GLuint buf, GLenum src, GLenum dst) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glIsQueryEXT); + glmsg.set_function(GLMessage::glBlendFunciEXT); - // copy argument id - GLMessage_DataType *arg_id = glmsg.add_args(); - arg_id->set_isarray(false); - arg_id->set_type(GLMessage::DataType::INT); - arg_id->add_intvalue(id); + // 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); - GLboolean retValue = glContext->hooks->gl.glIsQueryEXT(id); + glContext->hooks->gl.glBlendFunciEXT(buf, src, dst); 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[] = { }; @@ -13431,32 +17168,48 @@ GLboolean GLTrace_glIsQueryEXT(GLuint id) { threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); - - return retValue; } -void GLTrace_glBeginQueryEXT(GLenum target, GLuint id) { +void GLTrace_glBlendFuncSeparateiEXT(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glBeginQueryEXT); + glmsg.set_function(GLMessage::glBlendFuncSeparateiEXT); - // 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 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 id - GLMessage_DataType *arg_id = glmsg.add_args(); - arg_id->set_isarray(false); - arg_id->set_type(GLMessage::DataType::INT); - arg_id->add_intvalue(id); + // 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.glBeginQueryEXT(target, id); + glContext->hooks->gl.glBlendFuncSeparateiEXT(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -13469,22 +17222,46 @@ void GLTrace_glBeginQueryEXT(GLenum target, GLuint id) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glEndQueryEXT(GLenum target) { +void GLTrace_glColorMaskiEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glEndQueryEXT); + glmsg.set_function(GLMessage::glColorMaskiEXT); - // 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 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.glEndQueryEXT(target); + glContext->hooks->gl.glColorMaskiEXT(index, r, g, b, a); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -13497,17 +17274,11 @@ void GLTrace_glEndQueryEXT(GLenum target) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glQueryCounterEXT(GLuint id, GLenum target) { +GLboolean GLTrace_glIsEnablediEXT(GLenum target, GLuint index) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glQueryCounterEXT); - - // copy argument id - GLMessage_DataType *arg_id = glmsg.add_args(); - arg_id->set_isarray(false); - arg_id->set_type(GLMessage::DataType::INT); - arg_id->add_intvalue(id); + glmsg.set_function(GLMessage::glIsEnablediEXT); // copy argument target GLMessage_DataType *arg_target = glmsg.add_args(); @@ -13515,13 +17286,25 @@ void GLTrace_glQueryCounterEXT(GLuint id, GLenum target) { 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.glQueryCounterEXT(id, target); + 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[] = { }; @@ -13529,41 +17312,48 @@ void GLTrace_glQueryCounterEXT(GLuint id, GLenum target) { threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); + + return retValue; } -void GLTrace_glGetQueryivEXT(GLenum target, GLenum pname, GLint * params) { +void GLTrace_glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetQueryivEXT); + glmsg.set_function(GLMessage::glDrawArraysInstancedEXT); - // 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 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 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 start + GLMessage_DataType *arg_start = glmsg.add_args(); + arg_start->set_isarray(false); + arg_start->set_type(GLMessage::DataType::INT); + arg_start->add_intvalue(start); - // 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); + // 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 primcount + GLMessage_DataType *arg_primcount = glmsg.add_args(); + arg_primcount->set_isarray(false); + arg_primcount->set_type(GLMessage::DataType::INT); + arg_primcount->add_intvalue(primcount); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glGetQueryivEXT(target, pname, params); + glContext->hooks->gl.glDrawArraysInstancedEXT(mode, start, count, primcount); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13572,39 +17362,51 @@ void GLTrace_glGetQueryivEXT(GLenum target, GLenum pname, GLint * params) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetQueryObjectivEXT(GLuint id, GLenum pname, GLint * params) { +void GLTrace_glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetQueryObjectivEXT); + glmsg.set_function(GLMessage::glDrawElementsInstancedEXT); - // copy argument id - GLMessage_DataType *arg_id = glmsg.add_args(); - arg_id->set_isarray(false); - arg_id->set_type(GLMessage::DataType::INT); - arg_id->add_intvalue(id); + // 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 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 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 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); + // 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 indices + GLMessage_DataType *arg_indices = glmsg.add_args(); + arg_indices->set_isarray(false); + arg_indices->set_type(GLMessage::DataType::INT64); + arg_indices->add_int64value((uintptr_t)indices); + + // copy argument primcount + GLMessage_DataType *arg_primcount = glmsg.add_args(); + arg_primcount->set_isarray(false); + arg_primcount->set_type(GLMessage::DataType::INT); + arg_primcount->add_intvalue(primcount); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glGetQueryObjectivEXT(id, pname, params); + glContext->hooks->gl.glDrawElementsInstancedEXT(mode, count, type, indices, primcount); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) params, + (void *) indices, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13613,39 +17415,44 @@ void GLTrace_glGetQueryObjectivEXT(GLuint id, GLenum pname, GLint * params) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint * params) { +void GLTrace_glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetQueryObjectuivEXT); + glmsg.set_function(GLMessage::glFramebufferTextureEXT); - // copy argument id - GLMessage_DataType *arg_id = glmsg.add_args(); - arg_id->set_isarray(false); - arg_id->set_type(GLMessage::DataType::INT); - arg_id->add_intvalue(id); + // 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 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 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); + // 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.glGetQueryObjectuivEXT(id, pname, params); + glContext->hooks->gl.glFramebufferTextureEXT(target, attachment, texture, level); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13654,39 +17461,32 @@ void GLTrace_glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint * params) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64 * params) { +void GLTrace_glVertexAttribDivisorEXT(GLuint index, GLuint divisor) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetQueryObjecti64vEXT); - - // copy argument id - GLMessage_DataType *arg_id = glmsg.add_args(); - arg_id->set_isarray(false); - arg_id->set_type(GLMessage::DataType::INT); - arg_id->add_intvalue(id); + glmsg.set_function(GLMessage::glVertexAttribDivisorEXT); - // 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 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); + // 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.glGetQueryObjecti64vEXT(id, pname, params); + glContext->hooks->gl.glVertexAttribDivisorEXT(index, divisor); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13695,74 +17495,93 @@ void GLTrace_glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64 * params) glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64 * params) { +void * GLTrace_glMapBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetQueryObjectui64vEXT); + glmsg.set_function(GLMessage::glMapBufferRangeEXT); - // copy argument id - GLMessage_DataType *arg_id = glmsg.add_args(); - arg_id->set_isarray(false); - arg_id->set_type(GLMessage::DataType::INT); - arg_id->add_intvalue(id); + // 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 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 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); + // copy argument length + GLMessage_DataType *arg_length = glmsg.add_args(); + arg_length->set_isarray(false); + arg_length->set_type(GLMessage::DataType::INT); + arg_length->add_intvalue(length); + + // copy argument access + GLMessage_DataType *arg_access = glmsg.add_args(); + arg_access->set_isarray(false); + arg_access->set_type(GLMessage::DataType::INT); + arg_access->add_intvalue(access); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glGetQueryObjectui64vEXT(id, pname, params); + void * retValue = glContext->hooks->gl.glMapBufferRangeEXT(target, offset, length, access); 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::INT64); + rt->add_int64value((uintptr_t)retValue); + void *pointerArgs[] = { - (void *) params, + (void *) retValue, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); + + return retValue; } -void GLTrace_glDrawBuffersEXT(GLsizei n, const GLenum * bufs) { +void GLTrace_glFlushMappedBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDrawBuffersEXT); + glmsg.set_function(GLMessage::glFlushMappedBufferRangeEXT); - // 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 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 bufs - GLMessage_DataType *arg_bufs = glmsg.add_args(); - arg_bufs->set_isarray(false); - arg_bufs->set_type(GLMessage::DataType::INT64); - arg_bufs->add_int64value((uintptr_t)bufs); + // 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 length + GLMessage_DataType *arg_length = glmsg.add_args(); + arg_length->set_isarray(false); + arg_length->set_type(GLMessage::DataType::INT); + arg_length->add_intvalue(length); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glDrawBuffersEXT(n, bufs); + glContext->hooks->gl.glFlushMappedBufferRangeEXT(target, offset, length); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) bufs, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13771,11 +17590,11 @@ void GLTrace_glDrawBuffersEXT(GLsizei n, const GLenum * bufs) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount) { +void GLTrace_glMultiDrawArraysEXT(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDrawArraysInstancedEXT); + glmsg.set_function(GLMessage::glMultiDrawArraysEXT); // copy argument mode GLMessage_DataType *arg_mode = glmsg.add_args(); @@ -13783,17 +17602,17 @@ void GLTrace_glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, G arg_mode->set_type(GLMessage::DataType::ENUM); arg_mode->add_intvalue((int)mode); - // copy argument start - GLMessage_DataType *arg_start = glmsg.add_args(); - arg_start->set_isarray(false); - arg_start->set_type(GLMessage::DataType::INT); - arg_start->add_intvalue(start); + // copy argument first + GLMessage_DataType *arg_first = glmsg.add_args(); + arg_first->set_isarray(false); + arg_first->set_type(GLMessage::DataType::INT64); + arg_first->add_int64value((uintptr_t)first); // 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); + arg_count->set_type(GLMessage::DataType::INT64); + arg_count->add_int64value((uintptr_t)count); // copy argument primcount GLMessage_DataType *arg_primcount = glmsg.add_args(); @@ -13804,11 +17623,13 @@ void GLTrace_glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, G // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glDrawArraysInstancedEXT(mode, start, count, primcount); + glContext->hooks->gl.glMultiDrawArraysEXT(mode, first, count, primcount); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { + (void *) first, + (void *) count, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -13817,11 +17638,11 @@ void GLTrace_glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, G glContext->traceGLMessage(&glmsg); } -void GLTrace_glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount) { +void GLTrace_glMultiDrawElementsEXT(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDrawElementsInstancedEXT); + glmsg.set_function(GLMessage::glMultiDrawElementsEXT); // copy argument mode GLMessage_DataType *arg_mode = glmsg.add_args(); @@ -13832,8 +17653,8 @@ void GLTrace_glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum 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); + arg_count->set_type(GLMessage::DataType::INT64); + arg_count->add_int64value((uintptr_t)count); // copy argument type GLMessage_DataType *arg_type = glmsg.add_args(); @@ -13856,11 +17677,12 @@ void GLTrace_glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glDrawElementsInstancedEXT(mode, count, type, indices, primcount); + glContext->hooks->gl.glMultiDrawElementsEXT(mode, count, type, indices, primcount); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { + (void *) count, (void *) indices, }; @@ -13870,28 +17692,46 @@ void GLTrace_glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, glContext->traceGLMessage(&glmsg); } -void GLTrace_glVertexAttribDivisorEXT(GLuint index, GLuint divisor) { +void GLTrace_glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glVertexAttribDivisorEXT); + glmsg.set_function(GLMessage::glRenderbufferStorageMultisampleEXT); - // 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 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 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); + // 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); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glVertexAttribDivisorEXT(index, divisor); + glContext->hooks->gl.glRenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -13904,11 +17744,11 @@ void GLTrace_glVertexAttribDivisorEXT(GLuint index, GLuint divisor) { glContext->traceGLMessage(&glmsg); } -void * GLTrace_glMapBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { +void GLTrace_glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glMapBufferRangeEXT); + glmsg.set_function(GLMessage::glFramebufferTexture2DMultisampleEXT); // copy argument target GLMessage_DataType *arg_target = glmsg.add_args(); @@ -13916,54 +17756,133 @@ void * GLTrace_glMapBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr le arg_target->set_type(GLMessage::DataType::ENUM); arg_target->add_intvalue((int)target); - // 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 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 length - GLMessage_DataType *arg_length = glmsg.add_args(); - arg_length->set_isarray(false); - arg_length->set_type(GLMessage::DataType::INT); - arg_length->add_intvalue(length); + // copy argument textarget + GLMessage_DataType *arg_textarget = glmsg.add_args(); + arg_textarget->set_isarray(false); + arg_textarget->set_type(GLMessage::DataType::ENUM); + arg_textarget->add_intvalue((int)textarget); - // copy argument access - GLMessage_DataType *arg_access = glmsg.add_args(); - arg_access->set_isarray(false); - arg_access->set_type(GLMessage::DataType::INT); - arg_access->add_intvalue(access); + // 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 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); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - void * retValue = glContext->hooks->gl.glMapBufferRangeEXT(target, offset, length, access); + glContext->hooks->gl.glFramebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level, samples); 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::INT64); - rt->add_int64value((uintptr_t)retValue); + void *pointerArgs[] = { + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glReadBufferIndexedEXT(GLenum src, GLint index) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glReadBufferIndexedEXT); + + // 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 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.glReadBufferIndexedEXT(src, 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_glDrawBuffersIndexedEXT(GLint n, const GLenum * location, const GLint * indices) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glDrawBuffersIndexedEXT); + + // 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 location + GLMessage_DataType *arg_location = glmsg.add_args(); + arg_location->set_isarray(false); + arg_location->set_type(GLMessage::DataType::INT64); + arg_location->add_int64value((uintptr_t)location); + + // copy argument indices + GLMessage_DataType *arg_indices = glmsg.add_args(); + arg_indices->set_isarray(false); + arg_indices->set_type(GLMessage::DataType::INT64); + arg_indices->add_int64value((uintptr_t)indices); + + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glDrawBuffersIndexedEXT(n, location, indices); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) retValue, + (void *) location, + (void *) indices, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); - - return retValue; } -void GLTrace_glFlushMappedBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length) { +void GLTrace_glGetIntegeri_vEXT(GLenum target, GLuint index, GLint * data) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glFlushMappedBufferRangeEXT); + glmsg.set_function(GLMessage::glGetIntegeri_vEXT); // copy argument target GLMessage_DataType *arg_target = glmsg.add_args(); @@ -13971,26 +17890,27 @@ void GLTrace_glFlushMappedBufferRangeEXT(GLenum target, GLintptr offset, GLsizei arg_target->set_type(GLMessage::DataType::ENUM); arg_target->add_intvalue((int)target); - // 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 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 length - GLMessage_DataType *arg_length = glmsg.add_args(); - arg_length->set_isarray(false); - arg_length->set_type(GLMessage::DataType::INT); - arg_length->add_intvalue(length); + // 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.glFlushMappedBufferRangeEXT(target, offset, length); + glContext->hooks->gl.glGetIntegeri_vEXT(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, @@ -13999,46 +17919,68 @@ void GLTrace_glFlushMappedBufferRangeEXT(GLenum target, GLintptr offset, GLsizei glContext->traceGLMessage(&glmsg); } -void GLTrace_glMultiDrawArraysEXT(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount) { +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::glMultiDrawArraysEXT); + glmsg.set_function(GLMessage::glPrimitiveBoundingBoxEXT); - // 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 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 first - GLMessage_DataType *arg_first = glmsg.add_args(); - arg_first->set_isarray(false); - arg_first->set_type(GLMessage::DataType::INT64); - arg_first->add_int64value((uintptr_t)first); + // 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 count - GLMessage_DataType *arg_count = glmsg.add_args(); - arg_count->set_isarray(false); - arg_count->set_type(GLMessage::DataType::INT64); - arg_count->add_int64value((uintptr_t)count); + // 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 primcount - GLMessage_DataType *arg_primcount = glmsg.add_args(); - arg_primcount->set_isarray(false); - arg_primcount->set_type(GLMessage::DataType::INT); - arg_primcount->add_intvalue(primcount); + // 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.glMultiDrawArraysEXT(mode, first, count, primcount); + 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[] = { - (void *) first, - (void *) count, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -14047,83 +17989,53 @@ void GLTrace_glMultiDrawArraysEXT(GLenum mode, const GLint * first, const GLsize glContext->traceGLMessage(&glmsg); } -void GLTrace_glMultiDrawElementsEXT(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount) { +GLenum GLTrace_glGetGraphicsResetStatusEXT(void) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glMultiDrawElementsEXT); - - // 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 count - GLMessage_DataType *arg_count = glmsg.add_args(); - arg_count->set_isarray(false); - arg_count->set_type(GLMessage::DataType::INT64); - arg_count->add_int64value((uintptr_t)count); - - // 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 indices - GLMessage_DataType *arg_indices = glmsg.add_args(); - arg_indices->set_isarray(false); - arg_indices->set_type(GLMessage::DataType::INT64); - arg_indices->add_int64value((uintptr_t)indices); - - // copy argument primcount - GLMessage_DataType *arg_primcount = glmsg.add_args(); - arg_primcount->set_isarray(false); - arg_primcount->set_type(GLMessage::DataType::INT); - arg_primcount->add_intvalue(primcount); + glmsg.set_function(GLMessage::glGetGraphicsResetStatusEXT); // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glMultiDrawElementsEXT(mode, count, type, indices, primcount); + GLenum retValue = glContext->hooks->gl.glGetGraphicsResetStatusEXT(); 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::ENUM); + rt->add_intvalue((int)retValue); + void *pointerArgs[] = { - (void *) count, - (void *) indices, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); + + return retValue; } -void GLTrace_glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { +void GLTrace_glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glRenderbufferStorageMultisampleEXT); - - // 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); + glmsg.set_function(GLMessage::glReadnPixelsEXT); - // 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 x + GLMessage_DataType *arg_x = glmsg.add_args(); + arg_x->set_isarray(false); + arg_x->set_type(GLMessage::DataType::INT); + arg_x->add_intvalue(x); - // 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 y + GLMessage_DataType *arg_y = glmsg.add_args(); + arg_y->set_isarray(false); + arg_y->set_type(GLMessage::DataType::INT); + arg_y->add_intvalue(y); // copy argument width GLMessage_DataType *arg_width = glmsg.add_args(); @@ -14137,14 +18049,39 @@ void GLTrace_glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, arg_height->set_type(GLMessage::DataType::INT); arg_height->add_intvalue(height); + // 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); + + // 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 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 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.glRenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height); + glContext->hooks->gl.glReadnPixelsEXT(x, y, width, height, format, type, bufSize, data); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { + (void *) data, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -14153,56 +18090,92 @@ void GLTrace_glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, glContext->traceGLMessage(&glmsg); } -void GLTrace_glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) { +void GLTrace_glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glFramebufferTexture2DMultisampleEXT); + glmsg.set_function(GLMessage::glGetnUniformfvEXT); - // 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 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 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 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 textarget - GLMessage_DataType *arg_textarget = glmsg.add_args(); - arg_textarget->set_isarray(false); - arg_textarget->set_type(GLMessage::DataType::ENUM); - arg_textarget->add_intvalue((int)textarget); + // 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 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 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); - // 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.glGetnUniformfvEXT(program, location, bufSize, params); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); - // 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); + void *pointerArgs[] = { + (void *) params, + }; + + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} + +void GLTrace_glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint * params) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetnUniformivEXT); + + // 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 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 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.glFramebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level, samples); + glContext->hooks->gl.glGetnUniformivEXT(program, location, bufSize, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -14211,28 +18184,28 @@ void GLTrace_glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachme glContext->traceGLMessage(&glmsg); } -void GLTrace_glReadBufferIndexedEXT(GLenum src, GLint index) { +void GLTrace_glActiveShaderProgramEXT(GLuint pipeline, GLuint program) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glReadBufferIndexedEXT); + glmsg.set_function(GLMessage::glActiveShaderProgramEXT); - // 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 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 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 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.glReadBufferIndexedEXT(src, index); + glContext->hooks->gl.glActiveShaderProgramEXT(pipeline, program); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -14245,40 +18218,26 @@ void GLTrace_glReadBufferIndexedEXT(GLenum src, GLint index) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glDrawBuffersIndexedEXT(GLint n, const GLenum * location, const GLint * indices) { +void GLTrace_glBindProgramPipelineEXT(GLuint pipeline) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDrawBuffersIndexedEXT); - - // 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 location - GLMessage_DataType *arg_location = glmsg.add_args(); - arg_location->set_isarray(false); - arg_location->set_type(GLMessage::DataType::INT64); - arg_location->add_int64value((uintptr_t)location); + glmsg.set_function(GLMessage::glBindProgramPipelineEXT); - // copy argument indices - GLMessage_DataType *arg_indices = glmsg.add_args(); - arg_indices->set_isarray(false); - arg_indices->set_type(GLMessage::DataType::INT64); - arg_indices->add_int64value((uintptr_t)indices); + // 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.glDrawBuffersIndexedEXT(n, location, indices); + glContext->hooks->gl.glBindProgramPipelineEXT(pipeline); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) location, - (void *) indices, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -14287,118 +18246,136 @@ void GLTrace_glDrawBuffersIndexedEXT(GLint n, const GLenum * location, const GLi glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetIntegeri_vEXT(GLenum target, GLuint index, GLint * data) { +GLuint GLTrace_glCreateShaderProgramvEXT(GLenum type, GLsizei count, const GLchar ** strings) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetIntegeri_vEXT); + glmsg.set_function(GLMessage::glCreateShaderProgramvEXT); - // 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 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 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 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 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); + // 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); - glContext->hooks->gl.glGetIntegeri_vEXT(target, index, data); + GLuint retValue = glContext->hooks->gl.glCreateShaderProgramvEXT(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 *) data, + (void *) strings, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); + + return retValue; } -GLenum GLTrace_glGetGraphicsResetStatusEXT(void) { +void GLTrace_glDeleteProgramPipelinesEXT(GLsizei n, const GLuint * pipelines) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetGraphicsResetStatusEXT); + glmsg.set_function(GLMessage::glDeleteProgramPipelinesEXT); + + // 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); - GLenum retValue = glContext->hooks->gl.glGetGraphicsResetStatusEXT(); + glContext->hooks->gl.glDeleteProgramPipelinesEXT(n, pipelines); 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::ENUM); - rt->add_intvalue((int)retValue); - void *pointerArgs[] = { + (void *) pipelines, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); - - return retValue; } -void GLTrace_glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data) { +void GLTrace_glGenProgramPipelinesEXT(GLsizei n, GLuint * pipelines) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glReadnPixelsEXT); + glmsg.set_function(GLMessage::glGenProgramPipelinesEXT); - // copy argument x - GLMessage_DataType *arg_x = glmsg.add_args(); - arg_x->set_isarray(false); - arg_x->set_type(GLMessage::DataType::INT); - arg_x->add_intvalue(x); + // 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 y - GLMessage_DataType *arg_y = glmsg.add_args(); - arg_y->set_isarray(false); - arg_y->set_type(GLMessage::DataType::INT); - arg_y->add_intvalue(y); + // 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); - // 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); + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glGenProgramPipelinesEXT(n, pipelines); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); - // 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); + void *pointerArgs[] = { + (void *) pipelines, + }; - // 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); + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} - // 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); +void GLTrace_glGetProgramPipelineInfoLogEXT(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glGetProgramPipelineInfoLogEXT); + + // 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(); @@ -14406,21 +18383,28 @@ void GLTrace_glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, G arg_bufSize->set_type(GLMessage::DataType::INT); arg_bufSize->add_intvalue(bufSize); - // 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); + // 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.glReadnPixelsEXT(x, y, width, height, format, type, bufSize, data); + glContext->hooks->gl.glGetProgramPipelineInfoLogEXT(pipeline, bufSize, length, infoLog); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) data, + (void *) length, + (void *) infoLog, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -14429,29 +18413,23 @@ void GLTrace_glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, G glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat * params) { +void GLTrace_glGetProgramPipelineivEXT(GLuint pipeline, GLenum pname, GLint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetnUniformfvEXT); - - // 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); + glmsg.set_function(GLMessage::glGetProgramPipelineivEXT); - // 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 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 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(); @@ -14462,7 +18440,7 @@ void GLTrace_glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glGetnUniformfvEXT(program, location, bufSize, params); + glContext->hooks->gl.glGetProgramPipelineivEXT(pipeline, pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -14476,64 +18454,47 @@ void GLTrace_glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint * params) { +GLboolean GLTrace_glIsProgramPipelineEXT(GLuint pipeline) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetnUniformivEXT); - - // 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 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); + glmsg.set_function(GLMessage::glIsProgramPipelineEXT); - // 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); + // 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.glGetnUniformivEXT(program, location, bufSize, params); + GLboolean retValue = glContext->hooks->gl.glIsProgramPipelineEXT(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[] = { - (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); + + return retValue; } -void GLTrace_glActiveShaderProgramEXT(GLuint pipeline, GLuint program) { +void GLTrace_glProgramParameteriEXT(GLuint program, GLenum pname, GLint value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glActiveShaderProgramEXT); - - // 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); + glmsg.set_function(GLMessage::glProgramParameteriEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -14541,10 +18502,22 @@ void GLTrace_glActiveShaderProgramEXT(GLuint pipeline, GLuint program) { arg_program->set_type(GLMessage::DataType::INT); arg_program->add_intvalue(program); + // 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.glActiveShaderProgramEXT(pipeline, program); + glContext->hooks->gl.glProgramParameteriEXT(program, pname, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -14557,22 +18530,34 @@ void GLTrace_glActiveShaderProgramEXT(GLuint pipeline, GLuint program) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glBindProgramPipelineEXT(GLuint pipeline) { +void GLTrace_glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glBindProgramPipelineEXT); + glmsg.set_function(GLMessage::glProgramUniform1fEXT); - // 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); + + // 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.glBindProgramPipelineEXT(pipeline); + glContext->hooks->gl.glProgramUniform1fEXT(program, location, v0); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -14585,17 +18570,23 @@ void GLTrace_glBindProgramPipelineEXT(GLuint pipeline) { glContext->traceGLMessage(&glmsg); } -GLuint GLTrace_glCreateShaderProgramvEXT(GLenum type, GLsizei count, const GLchar ** strings) { +void GLTrace_glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glCreateShaderProgramvEXT); + glmsg.set_function(GLMessage::glProgramUniform1fvEXT); - // 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 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(); @@ -14603,64 +18594,61 @@ GLuint GLTrace_glCreateShaderProgramvEXT(GLenum type, GLsizei count, const GLcha 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); + // 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); - GLuint retValue = glContext->hooks->gl.glCreateShaderProgramvEXT(type, count, strings); + glContext->hooks->gl.glProgramUniform1fvEXT(program, location, count, value); 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, + (void *) value, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); - - return retValue; } -void GLTrace_glDeleteProgramPipelinesEXT(GLsizei n, const GLuint * pipelines) { +void GLTrace_glProgramUniform1iEXT(GLuint program, GLint location, GLint v0) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glDeleteProgramPipelinesEXT); + glmsg.set_function(GLMessage::glProgramUniform1iEXT); - // 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 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 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); + // 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.glDeleteProgramPipelinesEXT(n, pipelines); + glContext->hooks->gl.glProgramUniform1iEXT(program, location, v0); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) pipelines, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -14669,33 +18657,45 @@ void GLTrace_glDeleteProgramPipelinesEXT(GLsizei n, const GLuint * pipelines) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glGenProgramPipelinesEXT(GLsizei n, GLuint * pipelines) { +void GLTrace_glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGenProgramPipelinesEXT); + glmsg.set_function(GLMessage::glProgramUniform1ivEXT); - // 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 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 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); + // 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.glGenProgramPipelinesEXT(n, pipelines); + glContext->hooks->gl.glProgramUniform1ivEXT(program, location, count, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) pipelines, + (void *) value, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -14704,46 +18704,44 @@ void GLTrace_glGenProgramPipelinesEXT(GLsizei n, GLuint * pipelines) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetProgramPipelineInfoLogEXT(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog) { +void GLTrace_glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetProgramPipelineInfoLogEXT); - - // 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); + glmsg.set_function(GLMessage::glProgramUniform2fEXT); - // 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 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 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 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 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); + // 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.glGetProgramPipelineInfoLogEXT(pipeline, bufSize, length, infoLog); + glContext->hooks->gl.glProgramUniform2fEXT(program, location, v0, v1); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) length, - (void *) infoLog, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -14752,39 +18750,45 @@ void GLTrace_glGetProgramPipelineInfoLogEXT(GLuint pipeline, GLsizei bufSize, GL glContext->traceGLMessage(&glmsg); } -void GLTrace_glGetProgramPipelineivEXT(GLuint pipeline, GLenum pname, GLint * params) { +void GLTrace_glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glGetProgramPipelineivEXT); + glmsg.set_function(GLMessage::glProgramUniform2fvEXT); - // 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); - // 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 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 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); + // 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.glGetProgramPipelineivEXT(pipeline, pname, params); + glContext->hooks->gl.glProgramUniform2fvEXT(program, location, count, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) params, + (void *) value, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -14793,31 +18797,43 @@ void GLTrace_glGetProgramPipelineivEXT(GLuint pipeline, GLenum pname, GLint * pa glContext->traceGLMessage(&glmsg); } -GLboolean GLTrace_glIsProgramPipelineEXT(GLuint pipeline) { +void GLTrace_glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLint v1) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glIsProgramPipelineEXT); + glmsg.set_function(GLMessage::glProgramUniform2iEXT); - // 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); + + // 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); - GLboolean retValue = glContext->hooks->gl.glIsProgramPipelineEXT(pipeline); + glContext->hooks->gl.glProgramUniform2iEXT(program, location, v0, v1); 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[] = { }; @@ -14825,15 +18841,13 @@ GLboolean GLTrace_glIsProgramPipelineEXT(GLuint pipeline) { threadStartTime, threadEndTime, &glmsg, pointerArgs); glContext->traceGLMessage(&glmsg); - - return retValue; } -void GLTrace_glProgramParameteriEXT(GLuint program, GLenum pname, GLint value) { +void GLTrace_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramParameteriEXT); + glmsg.set_function(GLMessage::glProgramUniform2ivEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -14841,26 +18855,33 @@ void GLTrace_glProgramParameteriEXT(GLuint program, GLenum pname, GLint value) { arg_program->set_type(GLMessage::DataType::INT); arg_program->add_intvalue(program); - // 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 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::INT); - arg_value->add_intvalue(value); + 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.glProgramParameteriEXT(program, pname, value); + glContext->hooks->gl.glProgramUniform2ivEXT(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, @@ -14869,11 +18890,11 @@ void GLTrace_glProgramParameteriEXT(GLuint program, GLenum pname, GLint value) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0) { +void GLTrace_glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform1fEXT); + glmsg.set_function(GLMessage::glProgramUniform3fEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -14893,10 +18914,22 @@ void GLTrace_glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0) { 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.glProgramUniform1fEXT(program, location, v0); + glContext->hooks->gl.glProgramUniform3fEXT(program, location, v0, v1, v2); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -14909,11 +18942,11 @@ void GLTrace_glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) { +void GLTrace_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform1fvEXT); + glmsg.set_function(GLMessage::glProgramUniform3fvEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -14942,7 +18975,7 @@ void GLTrace_glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei coun // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glProgramUniform1fvEXT(program, location, count, value); + glContext->hooks->gl.glProgramUniform3fvEXT(program, location, count, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -14956,11 +18989,11 @@ void GLTrace_glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei coun glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform1iEXT(GLuint program, GLint location, GLint v0) { +void GLTrace_glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform1iEXT); + glmsg.set_function(GLMessage::glProgramUniform3iEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -14980,10 +19013,22 @@ void GLTrace_glProgramUniform1iEXT(GLuint program, GLint location, GLint v0) { 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.glProgramUniform1iEXT(program, location, v0); + glContext->hooks->gl.glProgramUniform3iEXT(program, location, v0, v1, v2); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -14996,11 +19041,11 @@ void GLTrace_glProgramUniform1iEXT(GLuint program, GLint location, GLint v0) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) { +void GLTrace_glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform1ivEXT); + glmsg.set_function(GLMessage::glProgramUniform3ivEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15029,7 +19074,7 @@ void GLTrace_glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei coun // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glProgramUniform1ivEXT(program, location, count, value); + glContext->hooks->gl.glProgramUniform3ivEXT(program, location, count, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -15043,11 +19088,11 @@ void GLTrace_glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei coun glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1) { +void GLTrace_glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform2fEXT); + glmsg.set_function(GLMessage::glProgramUniform4fEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15073,10 +19118,22 @@ void GLTrace_glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, G 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.glProgramUniform2fEXT(program, location, v0, v1); + glContext->hooks->gl.glProgramUniform4fEXT(program, location, v0, v1, v2, v3); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -15089,11 +19146,11 @@ void GLTrace_glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, G glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) { +void GLTrace_glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform2fvEXT); + glmsg.set_function(GLMessage::glProgramUniform4fvEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15122,7 +19179,7 @@ void GLTrace_glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei coun // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glProgramUniform2fvEXT(program, location, count, value); + glContext->hooks->gl.glProgramUniform4fvEXT(program, location, count, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -15136,11 +19193,11 @@ void GLTrace_glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei coun glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLint v1) { +void GLTrace_glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform2iEXT); + glmsg.set_function(GLMessage::glProgramUniform4iEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15166,14 +19223,73 @@ void GLTrace_glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLi 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.glProgramUniform4iEXT(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_glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform4ivEXT); + + // 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.glProgramUniform2iEXT(program, location, v0, v1); + glContext->hooks->gl.glProgramUniform4ivEXT(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, @@ -15182,11 +19298,11 @@ void GLTrace_glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLi glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) { +void GLTrace_glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform2ivEXT); + glmsg.set_function(GLMessage::glProgramUniformMatrix2fvEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15206,6 +19322,12 @@ void GLTrace_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei coun 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); @@ -15215,7 +19337,7 @@ void GLTrace_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei coun // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glProgramUniform2ivEXT(program, location, count, value); + glContext->hooks->gl.glProgramUniformMatrix2fvEXT(program, location, count, transpose, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -15229,11 +19351,11 @@ void GLTrace_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei coun glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { +void GLTrace_glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform3fEXT); + glmsg.set_function(GLMessage::glProgramUniformMatrix3fvEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15247,32 +19369,33 @@ void GLTrace_glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, G 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 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 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 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 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 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.glProgramUniform3fEXT(program, location, v0, v1, v2); + glContext->hooks->gl.glProgramUniformMatrix3fvEXT(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, @@ -15281,11 +19404,11 @@ void GLTrace_glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, G glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) { +void GLTrace_glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform3fvEXT); + glmsg.set_function(GLMessage::glProgramUniformMatrix4fvEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15305,6 +19428,12 @@ void GLTrace_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei coun 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); @@ -15314,7 +19443,7 @@ void GLTrace_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei coun // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glProgramUniform3fvEXT(program, location, count, value); + glContext->hooks->gl.glProgramUniformMatrix4fvEXT(program, location, count, transpose, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -15328,11 +19457,23 @@ void GLTrace_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei coun glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { +void GLTrace_glUseProgramStagesEXT(GLuint pipeline, GLbitfield stages, GLuint program) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform3iEXT); + glmsg.set_function(GLMessage::glUseProgramStagesEXT); + + // 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(); @@ -15340,34 +19481,38 @@ void GLTrace_glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLi 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); + // call function + nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); + nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); + glContext->hooks->gl.glUseProgramStagesEXT(pipeline, stages, program); + nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); + nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); - // 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); + void *pointerArgs[] = { + }; - // 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); + fixupGLMessage(glContext, wallStartTime, wallEndTime, + threadStartTime, threadEndTime, + &glmsg, pointerArgs); + glContext->traceGLMessage(&glmsg); +} - // 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); +void GLTrace_glValidateProgramPipelineEXT(GLuint pipeline) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glValidateProgramPipelineEXT); + + // 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.glProgramUniform3iEXT(program, location, v0, v1, v2); + glContext->hooks->gl.glValidateProgramPipelineEXT(pipeline); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -15380,11 +19525,11 @@ void GLTrace_glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLi glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) { +void GLTrace_glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform3ivEXT); + glmsg.set_function(GLMessage::glProgramUniform1uiEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15398,27 +19543,20 @@ void GLTrace_glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei coun 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); + // 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.glProgramUniform3ivEXT(program, location, count, value); + glContext->hooks->gl.glProgramUniform1uiEXT(program, location, v0); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) value, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -15427,11 +19565,11 @@ void GLTrace_glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei coun glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { +void GLTrace_glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform4fEXT); + glmsg.set_function(GLMessage::glProgramUniform2uiEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15448,31 +19586,19 @@ void GLTrace_glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, G // 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); + 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::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); + 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.glProgramUniform4fEXT(program, location, v0, v1, v2, v3); + glContext->hooks->gl.glProgramUniform2uiEXT(program, location, v0, v1); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -15485,11 +19611,11 @@ void GLTrace_glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, G glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) { +void GLTrace_glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform4fvEXT); + glmsg.set_function(GLMessage::glProgramUniform3uiEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15503,27 +19629,32 @@ void GLTrace_glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei coun 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 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 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); + // 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.glProgramUniform4fvEXT(program, location, count, value); + glContext->hooks->gl.glProgramUniform3uiEXT(program, location, v0, v1, v2); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) value, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -15532,11 +19663,11 @@ void GLTrace_glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei coun glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { +void GLTrace_glProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform4iEXT); + glmsg.set_function(GLMessage::glProgramUniform4uiEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15577,11 +19708,58 @@ void GLTrace_glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLi // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glProgramUniform4iEXT(program, location, v0, v1, v2, v3); + glContext->hooks->gl.glProgramUniform4uiEXT(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_glProgramUniform1uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) { + GLMessage glmsg; + GLTraceContext *glContext = getGLTraceContext(); + + glmsg.set_function(GLMessage::glProgramUniform1uivEXT); + + // 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.glProgramUniform1uivEXT(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, @@ -15590,11 +19768,11 @@ void GLTrace_glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLi glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) { +void GLTrace_glProgramUniform2uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform4ivEXT); + glmsg.set_function(GLMessage::glProgramUniform2uivEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15623,7 +19801,7 @@ void GLTrace_glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei coun // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glProgramUniform4ivEXT(program, location, count, value); + glContext->hooks->gl.glProgramUniform2uivEXT(program, location, count, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -15637,11 +19815,11 @@ void GLTrace_glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei coun glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { +void GLTrace_glProgramUniform3uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniformMatrix2fvEXT); + glmsg.set_function(GLMessage::glProgramUniform3uivEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15661,12 +19839,6 @@ void GLTrace_glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsize 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); @@ -15676,7 +19848,7 @@ void GLTrace_glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsize // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glProgramUniformMatrix2fvEXT(program, location, count, transpose, value); + glContext->hooks->gl.glProgramUniform3uivEXT(program, location, count, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -15690,11 +19862,11 @@ void GLTrace_glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsize glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { +void GLTrace_glProgramUniform4uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniformMatrix3fvEXT); + glmsg.set_function(GLMessage::glProgramUniform4uivEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15714,12 +19886,6 @@ void GLTrace_glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsize 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); @@ -15729,7 +19895,7 @@ void GLTrace_glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsize // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glProgramUniformMatrix3fvEXT(program, location, count, transpose, value); + glContext->hooks->gl.glProgramUniform4uivEXT(program, location, count, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -15743,11 +19909,11 @@ void GLTrace_glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsize glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { +void GLTrace_glProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniformMatrix4fvEXT); + glmsg.set_function(GLMessage::glProgramUniformMatrix2x3fvEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15782,7 +19948,7 @@ void GLTrace_glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsize // call function nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC); nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD); - glContext->hooks->gl.glProgramUniformMatrix4fvEXT(program, location, count, transpose, value); + glContext->hooks->gl.glProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -15796,23 +19962,11 @@ void GLTrace_glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsize glContext->traceGLMessage(&glmsg); } -void GLTrace_glUseProgramStagesEXT(GLuint pipeline, GLbitfield stages, GLuint program) { +void GLTrace_glProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glUseProgramStagesEXT); - - // 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); + glmsg.set_function(GLMessage::glProgramUniformMatrix3x2fvEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15820,14 +19974,39 @@ void GLTrace_glUseProgramStagesEXT(GLuint pipeline, GLbitfield stages, GLuint pr 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.glUseProgramStagesEXT(pipeline, stages, program); + glContext->hooks->gl.glProgramUniformMatrix3x2fvEXT(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, @@ -15836,26 +20015,51 @@ void GLTrace_glUseProgramStagesEXT(GLuint pipeline, GLbitfield stages, GLuint pr glContext->traceGLMessage(&glmsg); } -void GLTrace_glValidateProgramPipelineEXT(GLuint pipeline) { +void GLTrace_glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glValidateProgramPipelineEXT); + glmsg.set_function(GLMessage::glProgramUniformMatrix2x4fvEXT); - // 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); + + // 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.glValidateProgramPipelineEXT(pipeline); + glContext->hooks->gl.glProgramUniformMatrix2x4fvEXT(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, @@ -15864,11 +20068,11 @@ void GLTrace_glValidateProgramPipelineEXT(GLuint pipeline) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0) { +void GLTrace_glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform1uiEXT); + glmsg.set_function(GLMessage::glProgramUniformMatrix4x2fvEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15882,20 +20086,33 @@ void GLTrace_glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0) { 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 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.glProgramUniform1uiEXT(program, location, v0); + glContext->hooks->gl.glProgramUniformMatrix4x2fvEXT(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, @@ -15904,11 +20121,11 @@ void GLTrace_glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0) { glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1) { +void GLTrace_glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform2uiEXT); + glmsg.set_function(GLMessage::glProgramUniformMatrix3x4fvEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15922,26 +20139,33 @@ void GLTrace_glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, G 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 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 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 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.glProgramUniform2uiEXT(program, location, v0, v1); + glContext->hooks->gl.glProgramUniformMatrix3x4fvEXT(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, @@ -15950,11 +20174,11 @@ void GLTrace_glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, G glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { +void GLTrace_glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform3uiEXT); + glmsg.set_function(GLMessage::glProgramUniformMatrix4x3fvEXT); // copy argument program GLMessage_DataType *arg_program = glmsg.add_args(); @@ -15968,32 +20192,33 @@ void GLTrace_glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, G 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 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 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 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 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 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.glProgramUniform3uiEXT(program, location, v0, v1, v2); + glContext->hooks->gl.glProgramUniformMatrix4x3fvEXT(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, @@ -16002,52 +20227,28 @@ void GLTrace_glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, G glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { +void GLTrace_glPatchParameteriEXT(GLenum pname, GLint value) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform4uiEXT); - - // 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); + glmsg.set_function(GLMessage::glPatchParameteriEXT); - // 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 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 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); + // 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.glProgramUniform4uiEXT(program, location, v0, v1, v2, v3); + glContext->hooks->gl.glPatchParameteriEXT(pname, value); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); @@ -16060,45 +20261,39 @@ void GLTrace_glProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, G glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform1uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) { +void GLTrace_glTexParameterIivEXT(GLenum target, GLenum pname, const GLint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform1uivEXT); - - // 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); + glmsg.set_function(GLMessage::glTexParameterIivEXT); - // 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 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 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 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::INT64); - arg_value->add_int64value((uintptr_t)value); + // 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.glProgramUniform1uivEXT(program, location, count, value); + glContext->hooks->gl.glTexParameterIivEXT(target, pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) value, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -16107,45 +20302,39 @@ void GLTrace_glProgramUniform1uivEXT(GLuint program, GLint location, GLsizei cou glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform2uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) { +void GLTrace_glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform2uivEXT); - - // 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); + glmsg.set_function(GLMessage::glTexParameterIuivEXT); - // 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 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 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 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::INT64); - arg_value->add_int64value((uintptr_t)value); + // 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.glProgramUniform2uivEXT(program, location, count, value); + glContext->hooks->gl.glTexParameterIuivEXT(target, pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) value, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -16154,45 +20343,39 @@ void GLTrace_glProgramUniform2uivEXT(GLuint program, GLint location, GLsizei cou glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform3uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) { +void GLTrace_glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform3uivEXT); - - // 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); + glmsg.set_function(GLMessage::glGetTexParameterIivEXT); - // 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 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 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 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::INT64); - arg_value->add_int64value((uintptr_t)value); + // 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.glProgramUniform3uivEXT(program, location, count, value); + glContext->hooks->gl.glGetTexParameterIivEXT(target, pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) value, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -16201,45 +20384,39 @@ void GLTrace_glProgramUniform3uivEXT(GLuint program, GLint location, GLsizei cou glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniform4uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) { +void GLTrace_glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniform4uivEXT); - - // 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); + glmsg.set_function(GLMessage::glGetTexParameterIuivEXT); - // 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 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 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 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::INT64); - arg_value->add_int64value((uintptr_t)value); + // 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.glProgramUniform4uivEXT(program, location, count, value); + glContext->hooks->gl.glGetTexParameterIuivEXT(target, pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) value, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -16248,51 +20425,39 @@ void GLTrace_glProgramUniform4uivEXT(GLuint program, GLint location, GLsizei cou glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { +void GLTrace_glSamplerParameterIivEXT(GLuint sampler, GLenum pname, const GLint * param) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniformMatrix2x3fvEXT); - - // 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); + glmsg.set_function(GLMessage::glSamplerParameterIivEXT); - // 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 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 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 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::INT64); - arg_value->add_int64value((uintptr_t)value); + // 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.glProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value); + glContext->hooks->gl.glSamplerParameterIivEXT(sampler, pname, param); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) value, + (void *) param, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -16301,51 +20466,39 @@ void GLTrace_glProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsi glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { +void GLTrace_glSamplerParameterIuivEXT(GLuint sampler, GLenum pname, const GLuint * param) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniformMatrix3x2fvEXT); - - // 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); + glmsg.set_function(GLMessage::glSamplerParameterIuivEXT); - // 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 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 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); + // 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.glProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value); + glContext->hooks->gl.glSamplerParameterIuivEXT(sampler, pname, param); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) value, + (void *) param, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -16354,51 +20507,39 @@ void GLTrace_glProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsi glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { +void GLTrace_glGetSamplerParameterIivEXT(GLuint sampler, GLenum pname, GLint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniformMatrix2x4fvEXT); - - // 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); + glmsg.set_function(GLMessage::glGetSamplerParameterIivEXT); - // 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 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 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 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::INT64); - arg_value->add_int64value((uintptr_t)value); + // 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.glProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value); + glContext->hooks->gl.glGetSamplerParameterIivEXT(sampler, pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) value, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -16407,51 +20548,39 @@ void GLTrace_glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsi glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { +void GLTrace_glGetSamplerParameterIuivEXT(GLuint sampler, GLenum pname, GLuint * params) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniformMatrix4x2fvEXT); - - // 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); + glmsg.set_function(GLMessage::glGetSamplerParameterIuivEXT); - // 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 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 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 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::INT64); - arg_value->add_int64value((uintptr_t)value); + // 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.glProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value); + glContext->hooks->gl.glGetSamplerParameterIuivEXT(sampler, pname, params); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) value, + (void *) params, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -16460,51 +20589,38 @@ void GLTrace_glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsi glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { +void GLTrace_glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniformMatrix3x4fvEXT); - - // 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); + glmsg.set_function(GLMessage::glTexBufferEXT); - // 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 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 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 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 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); + // 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.glProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value); + glContext->hooks->gl.glTexBufferEXT(target, internalformat, buffer); nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD); nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC); void *pointerArgs[] = { - (void *) value, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -16513,51 +20629,50 @@ void GLTrace_glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsi glContext->traceGLMessage(&glmsg); } -void GLTrace_glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { +void GLTrace_glTexBufferRangeEXT(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { GLMessage glmsg; GLTraceContext *glContext = getGLTraceContext(); - glmsg.set_function(GLMessage::glProgramUniformMatrix4x3fvEXT); + glmsg.set_function(GLMessage::glTexBufferRangeEXT); - // 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 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 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 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 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 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 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 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 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); + // 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.glProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value); + 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[] = { - (void *) value, }; fixupGLMessage(glContext, wallStartTime, wallEndTime, @@ -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 353057980d..a9ca3c492f 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); diff --git a/opengl/libs/GLES_trace/tools/genapi.py b/opengl/libs/GLES_trace/tools/genapi.py index 2dea5dac28..c44b985069 100755 --- a/opengl/libs/GLES_trace/tools/genapi.py +++ b/opengl/libs/GLES_trace/tools/genapi.py @@ -135,7 +135,6 @@ HEADER_LICENSE = """/* HEADER_INCLUDES = """ #include #include -#include #include "gltrace.pb.h" #include "gltrace_context.h" diff --git a/opengl/libs/entries.in b/opengl/libs/entries.in index 48e3890931..0dee45d0ec 100644 --- a/opengl/libs/entries.in +++ b/opengl/libs/entries.in @@ -1,3 +1,4 @@ +GL_ENTRY(void, glActiveShaderProgram, GLuint pipeline, GLuint program) GL_ENTRY(void, glActiveShaderProgramEXT, GLuint pipeline, GLuint program) GL_ENTRY(void, glActiveTexture, GLenum texture) GL_ENTRY(void, glAlphaFunc, GLenum func, GLfloat ref) @@ -16,6 +17,8 @@ GL_ENTRY(void, glBindBufferBase, GLenum target, GLuint index, GLuint buffer) GL_ENTRY(void, glBindBufferRange, GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) GL_ENTRY(void, glBindFramebuffer, GLenum target, GLuint framebuffer) GL_ENTRY(void, glBindFramebufferOES, GLenum target, GLuint framebuffer) +GL_ENTRY(void, glBindImageTexture, GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) +GL_ENTRY(void, glBindProgramPipeline, GLuint pipeline) GL_ENTRY(void, glBindProgramPipelineEXT, GLuint pipeline) GL_ENTRY(void, glBindRenderbuffer, GLenum target, GLuint renderbuffer) GL_ENTRY(void, glBindRenderbufferOES, GLenum target, GLuint renderbuffer) @@ -24,6 +27,7 @@ GL_ENTRY(void, glBindTexture, GLenum target, GLuint texture) GL_ENTRY(void, glBindTransformFeedback, GLenum target, GLuint id) GL_ENTRY(void, glBindVertexArray, GLuint array) GL_ENTRY(void, glBindVertexArrayOES, GLuint array) +GL_ENTRY(void, glBindVertexBuffer, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) GL_ENTRY(void, glBlendBarrierKHR, void) GL_ENTRY(void, glBlendBarrierNV, void) GL_ENTRY(void, glBlendColor, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) @@ -31,9 +35,13 @@ GL_ENTRY(void, glBlendEquation, GLenum mode) GL_ENTRY(void, glBlendEquationOES, GLenum mode) GL_ENTRY(void, glBlendEquationSeparate, GLenum modeRGB, GLenum modeAlpha) GL_ENTRY(void, glBlendEquationSeparateOES, GLenum modeRGB, GLenum modeAlpha) +GL_ENTRY(void, glBlendEquationSeparateiEXT, GLuint buf, GLenum modeRGB, GLenum modeAlpha) +GL_ENTRY(void, glBlendEquationiEXT, GLuint buf, GLenum mode) GL_ENTRY(void, glBlendFunc, GLenum sfactor, GLenum dfactor) GL_ENTRY(void, glBlendFuncSeparate, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) GL_ENTRY(void, glBlendFuncSeparateOES, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) +GL_ENTRY(void, glBlendFuncSeparateiEXT, GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) +GL_ENTRY(void, glBlendFunciEXT, GLuint buf, GLenum src, GLenum dst) GL_ENTRY(void, glBlendParameteriNV, GLenum pname, GLint value) GL_ENTRY(void, glBlitFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) GL_ENTRY(void, glBlitFramebufferANGLE, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) @@ -69,6 +77,7 @@ GL_ENTRY(void, glColor4ub, GLubyte red, GLubyte green, GLubyte blue, GLubyte alp GL_ENTRY(void, glColor4x, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) GL_ENTRY(void, glColor4xOES, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) GL_ENTRY(void, glColorMask, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) +GL_ENTRY(void, glColorMaskiEXT, GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) GL_ENTRY(void, glColorPointer, GLint size, GLenum type, GLsizei stride, const void * pointer) GL_ENTRY(void, glCompileShader, GLuint shader) GL_ENTRY(void, glCompressedTexImage2D, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data) @@ -79,6 +88,7 @@ GL_ENTRY(void, glCompressedTexSubImage3D, GLenum target, GLint level, GLint xoff GL_ENTRY(void, glCompressedTexSubImage3DOES, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data) GL_ENTRY(void, glCopyBufferSubData, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) GL_ENTRY(void, glCopyBufferSubDataNV, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) +GL_ENTRY(void, 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) GL_ENTRY(void, glCopyTexImage2D, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) GL_ENTRY(void, glCopyTexSubImage2D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) GL_ENTRY(void, glCopyTexSubImage3D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) @@ -89,6 +99,7 @@ GL_ENTRY(void, glCoverageOperationNV, GLenum operation) GL_ENTRY(void, glCreatePerfQueryINTEL, GLuint queryId, GLuint * queryHandle) GL_ENTRY(GLuint, glCreateProgram, void) GL_ENTRY(GLuint, glCreateShader, GLenum type) +GL_ENTRY(GLuint, glCreateShaderProgramv, GLenum type, GLsizei count, const GLchar *const* strings) GL_ENTRY(GLuint, glCreateShaderProgramvEXT, GLenum type, GLsizei count, const GLchar ** strings) GL_ENTRY(void, glCullFace, GLenum mode) GL_ENTRY(void, glCurrentPaletteMatrixOES, GLuint matrixpaletteindex) @@ -102,6 +113,7 @@ GL_ENTRY(void, glDeleteFramebuffersOES, GLsizei n, const GLuint * framebuffers) GL_ENTRY(void, glDeletePerfMonitorsAMD, GLsizei n, GLuint * monitors) GL_ENTRY(void, glDeletePerfQueryINTEL, GLuint queryHandle) GL_ENTRY(void, glDeleteProgram, GLuint program) +GL_ENTRY(void, glDeleteProgramPipelines, GLsizei n, const GLuint * pipelines) GL_ENTRY(void, glDeleteProgramPipelinesEXT, GLsizei n, const GLuint * pipelines) GL_ENTRY(void, glDeleteQueries, GLsizei n, const GLuint * ids) GL_ENTRY(void, glDeleteQueriesEXT, GLsizei n, const GLuint * ids) @@ -126,8 +138,12 @@ GL_ENTRY(void, glDisable, GLenum cap) GL_ENTRY(void, glDisableClientState, GLenum array) GL_ENTRY(void, glDisableDriverControlQCOM, GLuint driverControl) GL_ENTRY(void, glDisableVertexAttribArray, GLuint index) +GL_ENTRY(void, glDisableiEXT, GLenum target, GLuint index) GL_ENTRY(void, glDiscardFramebufferEXT, GLenum target, GLsizei numAttachments, const GLenum * attachments) +GL_ENTRY(void, glDispatchCompute, GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) +GL_ENTRY(void, glDispatchComputeIndirect, GLintptr indirect) GL_ENTRY(void, glDrawArrays, GLenum mode, GLint first, GLsizei count) +GL_ENTRY(void, glDrawArraysIndirect, GLenum mode, const void * indirect) GL_ENTRY(void, glDrawArraysInstanced, GLenum mode, GLint first, GLsizei count, GLsizei instancecount) GL_ENTRY(void, glDrawArraysInstancedANGLE, GLenum mode, GLint first, GLsizei count, GLsizei primcount) GL_ENTRY(void, glDrawArraysInstancedEXT, GLenum mode, GLint start, GLsizei count, GLsizei primcount) @@ -137,6 +153,7 @@ GL_ENTRY(void, glDrawBuffersEXT, GLsizei n, const GLenum * bufs) GL_ENTRY(void, glDrawBuffersIndexedEXT, GLint n, const GLenum * location, const GLint * indices) GL_ENTRY(void, glDrawBuffersNV, GLsizei n, const GLenum * bufs) GL_ENTRY(void, glDrawElements, GLenum mode, GLsizei count, GLenum type, const void * indices) +GL_ENTRY(void, glDrawElementsIndirect, GLenum mode, GLenum type, const void * indirect) GL_ENTRY(void, glDrawElementsInstanced, GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount) GL_ENTRY(void, glDrawElementsInstancedANGLE, GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount) GL_ENTRY(void, glDrawElementsInstancedEXT, GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount) @@ -156,6 +173,7 @@ GL_ENTRY(void, glEnable, GLenum cap) GL_ENTRY(void, glEnableClientState, GLenum array) GL_ENTRY(void, glEnableDriverControlQCOM, GLuint driverControl) GL_ENTRY(void, glEnableVertexAttribArray, GLuint index) +GL_ENTRY(void, glEnableiEXT, GLenum target, GLuint index) GL_ENTRY(void, glEndPerfMonitorAMD, GLuint monitor) GL_ENTRY(void, glEndPerfQueryINTEL, GLuint queryHandle) GL_ENTRY(void, glEndQuery, GLenum target) @@ -187,6 +205,7 @@ GL_ENTRY(void, glFogx, GLenum pname, GLfixed param) GL_ENTRY(void, glFogxOES, GLenum pname, GLfixed param) GL_ENTRY(void, glFogxv, GLenum pname, const GLfixed * param) GL_ENTRY(void, glFogxvOES, GLenum pname, const GLfixed * param) +GL_ENTRY(void, glFramebufferParameteri, GLenum target, GLenum pname, GLint param) GL_ENTRY(void, glFramebufferRenderbuffer, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) GL_ENTRY(void, glFramebufferRenderbufferOES, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) GL_ENTRY(void, glFramebufferTexture2D, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) @@ -194,6 +213,7 @@ GL_ENTRY(void, glFramebufferTexture2DMultisampleEXT, GLenum target, GLenum attac GL_ENTRY(void, glFramebufferTexture2DMultisampleIMG, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) GL_ENTRY(void, glFramebufferTexture2DOES, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) GL_ENTRY(void, glFramebufferTexture3DOES, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) +GL_ENTRY(void, glFramebufferTextureEXT, GLenum target, GLenum attachment, GLuint texture, GLint level) GL_ENTRY(void, glFramebufferTextureLayer, GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) GL_ENTRY(void, glFrontFace, GLenum mode) GL_ENTRY(void, glFrustumf, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) @@ -205,6 +225,7 @@ GL_ENTRY(void, glGenFencesNV, GLsizei n, GLuint * fences) GL_ENTRY(void, glGenFramebuffers, GLsizei n, GLuint * framebuffers) GL_ENTRY(void, glGenFramebuffersOES, GLsizei n, GLuint * framebuffers) GL_ENTRY(void, glGenPerfMonitorsAMD, GLsizei n, GLuint * monitors) +GL_ENTRY(void, glGenProgramPipelines, GLsizei n, GLuint * pipelines) GL_ENTRY(void, glGenProgramPipelinesEXT, GLsizei n, GLuint * pipelines) GL_ENTRY(void, glGenQueries, GLsizei n, GLuint * ids) GL_ENTRY(void, glGenQueriesEXT, GLsizei n, GLuint * ids) @@ -224,6 +245,7 @@ GL_ENTRY(void, glGetActiveUniformBlockiv, GLuint program, GLuint uniformBlockInd GL_ENTRY(void, glGetActiveUniformsiv, GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint * params) GL_ENTRY(void, glGetAttachedShaders, GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders) GL_ENTRY(GLint, glGetAttribLocation, GLuint program, const GLchar * name) +GL_ENTRY(void, glGetBooleani_v, GLenum target, GLuint index, GLboolean * data) GL_ENTRY(void, glGetBooleanv, GLenum pname, GLboolean * data) GL_ENTRY(void, glGetBufferParameteri64v, GLenum target, GLenum pname, GLint64 * params) GL_ENTRY(void, glGetBufferParameteriv, GLenum target, GLenum pname, GLint * params) @@ -245,6 +267,7 @@ GL_ENTRY(void, glGetFloatv, GLenum pname, GLfloat * data) GL_ENTRY(GLint, glGetFragDataLocation, GLuint program, const GLchar * name) GL_ENTRY(void, glGetFramebufferAttachmentParameteriv, GLenum target, GLenum attachment, GLenum pname, GLint * params) GL_ENTRY(void, glGetFramebufferAttachmentParameterivOES, GLenum target, GLenum attachment, GLenum pname, GLint * params) +GL_ENTRY(void, glGetFramebufferParameteriv, GLenum target, GLenum pname, GLint * params) GL_ENTRY(GLenum, glGetGraphicsResetStatusEXT, void) GL_ENTRY(void, glGetInteger64i_v, GLenum target, GLuint index, GLint64 * data) GL_ENTRY(void, glGetInteger64v, GLenum pname, GLint64 * data) @@ -259,6 +282,7 @@ GL_ENTRY(void, glGetLightxvOES, GLenum light, GLenum pname, GLfixed * params) GL_ENTRY(void, glGetMaterialfv, GLenum face, GLenum pname, GLfloat * params) GL_ENTRY(void, glGetMaterialxv, GLenum face, GLenum pname, GLfixed * params) GL_ENTRY(void, glGetMaterialxvOES, GLenum face, GLenum pname, GLfixed * params) +GL_ENTRY(void, glGetMultisamplefv, GLenum pname, GLuint index, GLfloat * val) GL_ENTRY(void, glGetNextPerfQueryIdINTEL, GLuint queryId, GLuint * nextQueryId) GL_ENTRY(void, glGetObjectLabelEXT, GLenum type, GLuint object, GLsizei bufSize, GLsizei * length, GLchar * label) GL_ENTRY(void, glGetObjectLabelKHR, GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label) @@ -278,8 +302,15 @@ GL_ENTRY(void, glGetPointervKHR, GLenum pname, void ** params) GL_ENTRY(void, glGetProgramBinary, GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary) GL_ENTRY(void, glGetProgramBinaryOES, GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary) GL_ENTRY(void, glGetProgramInfoLog, GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog) +GL_ENTRY(void, glGetProgramInterfaceiv, GLuint program, GLenum programInterface, GLenum pname, GLint * params) +GL_ENTRY(void, glGetProgramPipelineInfoLog, GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog) GL_ENTRY(void, glGetProgramPipelineInfoLogEXT, GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog) +GL_ENTRY(void, glGetProgramPipelineiv, GLuint pipeline, GLenum pname, GLint * params) GL_ENTRY(void, glGetProgramPipelineivEXT, GLuint pipeline, GLenum pname, GLint * params) +GL_ENTRY(GLuint, glGetProgramResourceIndex, GLuint program, GLenum programInterface, const GLchar * name) +GL_ENTRY(GLint, glGetProgramResourceLocation, GLuint program, GLenum programInterface, const GLchar * name) +GL_ENTRY(void, glGetProgramResourceName, GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name) +GL_ENTRY(void, glGetProgramResourceiv, GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params) GL_ENTRY(void, glGetProgramiv, GLuint program, GLenum pname, GLint * params) GL_ENTRY(void, glGetQueryObjecti64vEXT, GLuint id, GLenum pname, GLint64 * params) GL_ENTRY(void, glGetQueryObjectivEXT, GLuint id, GLenum pname, GLint * params) @@ -290,6 +321,8 @@ GL_ENTRY(void, glGetQueryiv, GLenum target, GLenum pname, GLint * params) GL_ENTRY(void, glGetQueryivEXT, GLenum target, GLenum pname, GLint * params) GL_ENTRY(void, glGetRenderbufferParameteriv, GLenum target, GLenum pname, GLint * params) GL_ENTRY(void, glGetRenderbufferParameterivOES, GLenum target, GLenum pname, GLint * params) +GL_ENTRY(void, glGetSamplerParameterIivEXT, GLuint sampler, GLenum pname, GLint * params) +GL_ENTRY(void, glGetSamplerParameterIuivEXT, GLuint sampler, GLenum pname, GLuint * params) GL_ENTRY(void, glGetSamplerParameterfv, GLuint sampler, GLenum pname, GLfloat * params) GL_ENTRY(void, glGetSamplerParameteriv, GLuint sampler, GLenum pname, GLint * params) GL_ENTRY(void, glGetShaderInfoLog, GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog) @@ -307,6 +340,10 @@ GL_ENTRY(void, glGetTexEnvxvOES, GLenum target, GLenum pname, GLfixed * params) GL_ENTRY(void, glGetTexGenfvOES, GLenum coord, GLenum pname, GLfloat * params) GL_ENTRY(void, glGetTexGenivOES, GLenum coord, GLenum pname, GLint * params) GL_ENTRY(void, glGetTexGenxvOES, GLenum coord, GLenum pname, GLfixed * params) +GL_ENTRY(void, glGetTexLevelParameterfv, GLenum target, GLint level, GLenum pname, GLfloat * params) +GL_ENTRY(void, glGetTexLevelParameteriv, GLenum target, GLint level, GLenum pname, GLint * params) +GL_ENTRY(void, glGetTexParameterIivEXT, GLenum target, GLenum pname, GLint * params) +GL_ENTRY(void, glGetTexParameterIuivEXT, GLenum target, GLenum pname, GLuint * params) GL_ENTRY(void, glGetTexParameterfv, GLenum target, GLenum pname, GLfloat * params) GL_ENTRY(void, glGetTexParameteriv, GLenum target, GLenum pname, GLint * params) GL_ENTRY(void, glGetTexParameterxv, GLenum target, GLenum pname, GLfixed * params) @@ -332,10 +369,12 @@ GL_ENTRY(void, glInvalidateFramebuffer, GLenum target, GLsizei numAttachments, c GL_ENTRY(void, glInvalidateSubFramebuffer, GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height) GL_ENTRY(GLboolean, glIsBuffer, GLuint buffer) GL_ENTRY(GLboolean, glIsEnabled, GLenum cap) +GL_ENTRY(GLboolean, glIsEnablediEXT, GLenum target, GLuint index) GL_ENTRY(GLboolean, glIsFenceNV, GLuint fence) GL_ENTRY(GLboolean, glIsFramebuffer, GLuint framebuffer) GL_ENTRY(GLboolean, glIsFramebufferOES, GLuint framebuffer) GL_ENTRY(GLboolean, glIsProgram, GLuint program) +GL_ENTRY(GLboolean, glIsProgramPipeline, GLuint pipeline) GL_ENTRY(GLboolean, glIsProgramPipelineEXT, GLuint pipeline) GL_ENTRY(GLboolean, glIsQuery, GLuint id) GL_ENTRY(GLboolean, glIsQueryEXT, GLuint id) @@ -383,6 +422,8 @@ GL_ENTRY(void, glMaterialxv, GLenum face, GLenum pname, const GLfixed * param) GL_ENTRY(void, glMaterialxvOES, GLenum face, GLenum pname, const GLfixed * param) GL_ENTRY(void, glMatrixIndexPointerOES, GLint size, GLenum type, GLsizei stride, const void * pointer) GL_ENTRY(void, glMatrixMode, GLenum mode) +GL_ENTRY(void, glMemoryBarrier, GLbitfield barriers) +GL_ENTRY(void, glMemoryBarrierByRegion, GLbitfield barriers) GL_ENTRY(void, glMinSampleShadingOES, GLfloat value) GL_ENTRY(void, glMultMatrixf, const GLfloat * m) GL_ENTRY(void, glMultMatrixx, const GLfixed * m) @@ -410,6 +451,7 @@ GL_ENTRY(void, glOrthof, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GL_ENTRY(void, glOrthofOES, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) GL_ENTRY(void, glOrthox, GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) GL_ENTRY(void, glOrthoxOES, GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) +GL_ENTRY(void, glPatchParameteriEXT, GLenum pname, GLint value) GL_ENTRY(void, glPauseTransformFeedback, void) GL_ENTRY(void, glPixelStorei, GLenum pname, GLint param) GL_ENTRY(void, glPointParameterf, GLenum pname, GLfloat param) @@ -428,42 +470,76 @@ GL_ENTRY(void, glPolygonOffsetxOES, GLfixed factor, GLfixed units) GL_ENTRY(void, glPopDebugGroupKHR, void) GL_ENTRY(void, glPopGroupMarkerEXT, void) GL_ENTRY(void, glPopMatrix, void) +GL_ENTRY(void, glPrimitiveBoundingBoxEXT, GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW) GL_ENTRY(void, glProgramBinary, GLuint program, GLenum binaryFormat, const void * binary, GLsizei length) GL_ENTRY(void, glProgramBinaryOES, GLuint program, GLenum binaryFormat, const void * binary, GLint length) GL_ENTRY(void, glProgramParameteri, GLuint program, GLenum pname, GLint value) GL_ENTRY(void, glProgramParameteriEXT, GLuint program, GLenum pname, GLint value) +GL_ENTRY(void, glProgramUniform1f, GLuint program, GLint location, GLfloat v0) GL_ENTRY(void, glProgramUniform1fEXT, GLuint program, GLint location, GLfloat v0) +GL_ENTRY(void, glProgramUniform1fv, GLuint program, GLint location, GLsizei count, const GLfloat * value) GL_ENTRY(void, glProgramUniform1fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat * value) +GL_ENTRY(void, glProgramUniform1i, GLuint program, GLint location, GLint v0) GL_ENTRY(void, glProgramUniform1iEXT, GLuint program, GLint location, GLint v0) +GL_ENTRY(void, glProgramUniform1iv, GLuint program, GLint location, GLsizei count, const GLint * value) GL_ENTRY(void, glProgramUniform1ivEXT, GLuint program, GLint location, GLsizei count, const GLint * value) +GL_ENTRY(void, glProgramUniform1ui, GLuint program, GLint location, GLuint v0) GL_ENTRY(void, glProgramUniform1uiEXT, GLuint program, GLint location, GLuint v0) +GL_ENTRY(void, glProgramUniform1uiv, GLuint program, GLint location, GLsizei count, const GLuint * value) GL_ENTRY(void, glProgramUniform1uivEXT, GLuint program, GLint location, GLsizei count, const GLuint * value) +GL_ENTRY(void, glProgramUniform2f, GLuint program, GLint location, GLfloat v0, GLfloat v1) GL_ENTRY(void, glProgramUniform2fEXT, GLuint program, GLint location, GLfloat v0, GLfloat v1) +GL_ENTRY(void, glProgramUniform2fv, GLuint program, GLint location, GLsizei count, const GLfloat * value) GL_ENTRY(void, glProgramUniform2fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat * value) +GL_ENTRY(void, glProgramUniform2i, GLuint program, GLint location, GLint v0, GLint v1) GL_ENTRY(void, glProgramUniform2iEXT, GLuint program, GLint location, GLint v0, GLint v1) +GL_ENTRY(void, glProgramUniform2iv, GLuint program, GLint location, GLsizei count, const GLint * value) GL_ENTRY(void, glProgramUniform2ivEXT, GLuint program, GLint location, GLsizei count, const GLint * value) +GL_ENTRY(void, glProgramUniform2ui, GLuint program, GLint location, GLuint v0, GLuint v1) GL_ENTRY(void, glProgramUniform2uiEXT, GLuint program, GLint location, GLuint v0, GLuint v1) +GL_ENTRY(void, glProgramUniform2uiv, GLuint program, GLint location, GLsizei count, const GLuint * value) GL_ENTRY(void, glProgramUniform2uivEXT, GLuint program, GLint location, GLsizei count, const GLuint * value) +GL_ENTRY(void, glProgramUniform3f, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) GL_ENTRY(void, glProgramUniform3fEXT, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) +GL_ENTRY(void, glProgramUniform3fv, GLuint program, GLint location, GLsizei count, const GLfloat * value) GL_ENTRY(void, glProgramUniform3fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat * value) +GL_ENTRY(void, glProgramUniform3i, GLuint program, GLint location, GLint v0, GLint v1, GLint v2) GL_ENTRY(void, glProgramUniform3iEXT, GLuint program, GLint location, GLint v0, GLint v1, GLint v2) +GL_ENTRY(void, glProgramUniform3iv, GLuint program, GLint location, GLsizei count, const GLint * value) GL_ENTRY(void, glProgramUniform3ivEXT, GLuint program, GLint location, GLsizei count, const GLint * value) +GL_ENTRY(void, glProgramUniform3ui, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) GL_ENTRY(void, glProgramUniform3uiEXT, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) +GL_ENTRY(void, glProgramUniform3uiv, GLuint program, GLint location, GLsizei count, const GLuint * value) GL_ENTRY(void, glProgramUniform3uivEXT, GLuint program, GLint location, GLsizei count, const GLuint * value) +GL_ENTRY(void, glProgramUniform4f, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) GL_ENTRY(void, glProgramUniform4fEXT, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) +GL_ENTRY(void, glProgramUniform4fv, GLuint program, GLint location, GLsizei count, const GLfloat * value) GL_ENTRY(void, glProgramUniform4fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat * value) +GL_ENTRY(void, glProgramUniform4i, GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) GL_ENTRY(void, glProgramUniform4iEXT, GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) +GL_ENTRY(void, glProgramUniform4iv, GLuint program, GLint location, GLsizei count, const GLint * value) GL_ENTRY(void, glProgramUniform4ivEXT, GLuint program, GLint location, GLsizei count, const GLint * value) +GL_ENTRY(void, glProgramUniform4ui, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) GL_ENTRY(void, glProgramUniform4uiEXT, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) +GL_ENTRY(void, glProgramUniform4uiv, GLuint program, GLint location, GLsizei count, const GLuint * value) GL_ENTRY(void, glProgramUniform4uivEXT, GLuint program, GLint location, GLsizei count, const GLuint * value) +GL_ENTRY(void, glProgramUniformMatrix2fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) GL_ENTRY(void, glProgramUniformMatrix2fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +GL_ENTRY(void, glProgramUniformMatrix2x3fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) GL_ENTRY(void, glProgramUniformMatrix2x3fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +GL_ENTRY(void, glProgramUniformMatrix2x4fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) GL_ENTRY(void, glProgramUniformMatrix2x4fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +GL_ENTRY(void, glProgramUniformMatrix3fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) GL_ENTRY(void, glProgramUniformMatrix3fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +GL_ENTRY(void, glProgramUniformMatrix3x2fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) GL_ENTRY(void, glProgramUniformMatrix3x2fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +GL_ENTRY(void, glProgramUniformMatrix3x4fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) GL_ENTRY(void, glProgramUniformMatrix3x4fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +GL_ENTRY(void, glProgramUniformMatrix4fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) GL_ENTRY(void, glProgramUniformMatrix4fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +GL_ENTRY(void, glProgramUniformMatrix4x2fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) GL_ENTRY(void, glProgramUniformMatrix4x2fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +GL_ENTRY(void, glProgramUniformMatrix4x3fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) GL_ENTRY(void, glProgramUniformMatrix4x3fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) GL_ENTRY(void, glPushDebugGroupKHR, GLenum source, GLuint id, GLsizei length, const GLchar * message) GL_ENTRY(void, glPushGroupMarkerEXT, GLsizei length, const GLchar * marker) @@ -493,6 +569,9 @@ GL_ENTRY(void, glSampleCoverage, GLfloat value, GLboolean invert) GL_ENTRY(void, glSampleCoverageOES, GLfixed value, GLboolean invert) GL_ENTRY(void, glSampleCoveragex, GLclampx value, GLboolean invert) GL_ENTRY(void, glSampleCoveragexOES, GLclampx value, GLboolean invert) +GL_ENTRY(void, glSampleMaski, GLuint maskNumber, GLbitfield mask) +GL_ENTRY(void, glSamplerParameterIivEXT, GLuint sampler, GLenum pname, const GLint * param) +GL_ENTRY(void, glSamplerParameterIuivEXT, GLuint sampler, GLenum pname, const GLuint * param) GL_ENTRY(void, glSamplerParameterf, GLuint sampler, GLenum pname, GLfloat param) GL_ENTRY(void, glSamplerParameterfv, GLuint sampler, GLenum pname, const GLfloat * param) GL_ENTRY(void, glSamplerParameteri, GLuint sampler, GLenum pname, GLint param) @@ -514,6 +593,8 @@ GL_ENTRY(void, glStencilMaskSeparate, GLenum face, GLuint mask) GL_ENTRY(void, glStencilOp, GLenum fail, GLenum zfail, GLenum zpass) GL_ENTRY(void, glStencilOpSeparate, GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) GL_ENTRY(GLboolean, glTestFenceNV, GLuint fence) +GL_ENTRY(void, glTexBufferEXT, GLenum target, GLenum internalformat, GLuint buffer) +GL_ENTRY(void, glTexBufferRangeEXT, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) GL_ENTRY(void, glTexCoord1bOES, GLbyte s) GL_ENTRY(void, glTexCoord1bvOES, const GLbyte * coords) GL_ENTRY(void, glTexCoord2bOES, GLbyte s, GLbyte t) @@ -540,6 +621,8 @@ GL_ENTRY(void, glTexGenxvOES, GLenum coord, GLenum pname, const GLfixed * params GL_ENTRY(void, glTexImage2D, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels) GL_ENTRY(void, glTexImage3D, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels) GL_ENTRY(void, glTexImage3DOES, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels) +GL_ENTRY(void, glTexParameterIivEXT, GLenum target, GLenum pname, const GLint * params) +GL_ENTRY(void, glTexParameterIuivEXT, GLenum target, GLenum pname, const GLuint * params) GL_ENTRY(void, glTexParameterf, GLenum target, GLenum pname, GLfloat param) GL_ENTRY(void, glTexParameterfv, GLenum target, GLenum pname, const GLfloat * params) GL_ENTRY(void, glTexParameteri, GLenum target, GLenum pname, GLint param) @@ -551,6 +634,7 @@ GL_ENTRY(void, glTexParameterxvOES, GLenum target, GLenum pname, const GLfixed * GL_ENTRY(void, glTexStorage1DEXT, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) GL_ENTRY(void, glTexStorage2D, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) GL_ENTRY(void, glTexStorage2DEXT, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) +GL_ENTRY(void, glTexStorage2DMultisample, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) GL_ENTRY(void, glTexStorage3D, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) GL_ENTRY(void, glTexStorage3DEXT, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) GL_ENTRY(void, glTexStorage3DMultisampleOES, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) @@ -560,6 +644,7 @@ GL_ENTRY(void, glTexSubImage3DOES, GLenum target, GLint level, GLint xoffset, GL GL_ENTRY(void, glTextureStorage1DEXT, GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) GL_ENTRY(void, glTextureStorage2DEXT, GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) GL_ENTRY(void, glTextureStorage3DEXT, GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) +GL_ENTRY(void, glTextureViewEXT, GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) GL_ENTRY(void, glTransformFeedbackVaryings, GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode) GL_ENTRY(void, glTranslatef, GLfloat x, GLfloat y, GLfloat z) GL_ENTRY(void, glTranslatex, GLfixed x, GLfixed y, GLfixed z) @@ -607,8 +692,10 @@ GL_ENTRY(void, glUniformMatrix4x3fvNV, GLint location, GLsizei count, GLboolean GL_ENTRY(GLboolean, glUnmapBuffer, GLenum target) GL_ENTRY(GLboolean, glUnmapBufferOES, GLenum target) GL_ENTRY(void, glUseProgram, GLuint program) +GL_ENTRY(void, glUseProgramStages, GLuint pipeline, GLbitfield stages, GLuint program) GL_ENTRY(void, glUseProgramStagesEXT, GLuint pipeline, GLbitfield stages, GLuint program) GL_ENTRY(void, glValidateProgram, GLuint program) +GL_ENTRY(void, glValidateProgramPipeline, GLuint pipeline) GL_ENTRY(void, glValidateProgramPipelineEXT, GLuint pipeline) GL_ENTRY(void, glVertex2bOES, GLbyte x) GL_ENTRY(void, glVertex2bvOES, const GLbyte * coords) @@ -624,16 +711,20 @@ GL_ENTRY(void, glVertexAttrib3f, GLuint index, GLfloat x, GLfloat y, GLfloat z) GL_ENTRY(void, glVertexAttrib3fv, GLuint index, const GLfloat * v) GL_ENTRY(void, glVertexAttrib4f, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) GL_ENTRY(void, glVertexAttrib4fv, GLuint index, const GLfloat * v) +GL_ENTRY(void, glVertexAttribBinding, GLuint attribindex, GLuint bindingindex) GL_ENTRY(void, glVertexAttribDivisor, GLuint index, GLuint divisor) GL_ENTRY(void, glVertexAttribDivisorANGLE, GLuint index, GLuint divisor) GL_ENTRY(void, glVertexAttribDivisorEXT, GLuint index, GLuint divisor) GL_ENTRY(void, glVertexAttribDivisorNV, GLuint index, GLuint divisor) +GL_ENTRY(void, glVertexAttribFormat, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) GL_ENTRY(void, glVertexAttribI4i, GLuint index, GLint x, GLint y, GLint z, GLint w) GL_ENTRY(void, glVertexAttribI4iv, GLuint index, const GLint * v) GL_ENTRY(void, glVertexAttribI4ui, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) GL_ENTRY(void, glVertexAttribI4uiv, GLuint index, const GLuint * v) +GL_ENTRY(void, glVertexAttribIFormat, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) GL_ENTRY(void, glVertexAttribIPointer, GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer) GL_ENTRY(void, glVertexAttribPointer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer) +GL_ENTRY(void, glVertexBindingDivisor, GLuint bindingindex, GLuint divisor) GL_ENTRY(void, glVertexPointer, GLint size, GLenum type, GLsizei stride, const void * pointer) GL_ENTRY(void, glViewport, GLint x, GLint y, GLsizei width, GLsizei height) GL_ENTRY(void, glWaitSync, GLsync sync, GLbitfield flags, GLuint64 timeout) diff --git a/opengl/libs/enums.in b/opengl/libs/enums.in index b4b276187e..f3d216d0ff 100644 --- a/opengl/libs/enums.in +++ b/opengl/libs/enums.in @@ -741,6 +741,162 @@ GL_ENUM(0x912F,GL_TEXTURE_IMMUTABLE_FORMAT) GL_ENUM(0x8D6B,GL_MAX_ELEMENT_INDEX) GL_ENUM(0x9380,GL_NUM_SAMPLE_COUNTS) GL_ENUM(0x82DF,GL_TEXTURE_IMMUTABLE_LEVELS) +GL_ENUM(0x91B9,GL_COMPUTE_SHADER) +GL_ENUM(0x91BB,GL_MAX_COMPUTE_UNIFORM_BLOCKS) +GL_ENUM(0x91BC,GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS) +GL_ENUM(0x91BD,GL_MAX_COMPUTE_IMAGE_UNIFORMS) +GL_ENUM(0x8262,GL_MAX_COMPUTE_SHARED_MEMORY_SIZE) +GL_ENUM(0x8263,GL_MAX_COMPUTE_UNIFORM_COMPONENTS) +GL_ENUM(0x8264,GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS) +GL_ENUM(0x8265,GL_MAX_COMPUTE_ATOMIC_COUNTERS) +GL_ENUM(0x8266,GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS) +GL_ENUM(0x90EB,GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS) +GL_ENUM(0x91BE,GL_MAX_COMPUTE_WORK_GROUP_COUNT) +GL_ENUM(0x91BF,GL_MAX_COMPUTE_WORK_GROUP_SIZE) +GL_ENUM(0x8267,GL_COMPUTE_WORK_GROUP_SIZE) +GL_ENUM(0x90EE,GL_DISPATCH_INDIRECT_BUFFER) +GL_ENUM(0x90EF,GL_DISPATCH_INDIRECT_BUFFER_BINDING) +GL_ENUM(0x8F3F,GL_DRAW_INDIRECT_BUFFER) +GL_ENUM(0x8F43,GL_DRAW_INDIRECT_BUFFER_BINDING) +GL_ENUM(0x826E,GL_MAX_UNIFORM_LOCATIONS) +GL_ENUM(0x9310,GL_FRAMEBUFFER_DEFAULT_WIDTH) +GL_ENUM(0x9311,GL_FRAMEBUFFER_DEFAULT_HEIGHT) +GL_ENUM(0x9313,GL_FRAMEBUFFER_DEFAULT_SAMPLES) +GL_ENUM(0x9314,GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS) +GL_ENUM(0x9315,GL_MAX_FRAMEBUFFER_WIDTH) +GL_ENUM(0x9316,GL_MAX_FRAMEBUFFER_HEIGHT) +GL_ENUM(0x9318,GL_MAX_FRAMEBUFFER_SAMPLES) +GL_ENUM(0x92E1,GL_UNIFORM) +GL_ENUM(0x92E2,GL_UNIFORM_BLOCK) +GL_ENUM(0x92E3,GL_PROGRAM_INPUT) +GL_ENUM(0x92E4,GL_PROGRAM_OUTPUT) +GL_ENUM(0x92E5,GL_BUFFER_VARIABLE) +GL_ENUM(0x92E6,GL_SHADER_STORAGE_BLOCK) +GL_ENUM(0x92C0,GL_ATOMIC_COUNTER_BUFFER) +GL_ENUM(0x92F4,GL_TRANSFORM_FEEDBACK_VARYING) +GL_ENUM(0x92F5,GL_ACTIVE_RESOURCES) +GL_ENUM(0x92F6,GL_MAX_NAME_LENGTH) +GL_ENUM(0x92F7,GL_MAX_NUM_ACTIVE_VARIABLES) +GL_ENUM(0x92F9,GL_NAME_LENGTH) +GL_ENUM(0x92FA,GL_TYPE) +GL_ENUM(0x92FB,GL_ARRAY_SIZE) +GL_ENUM(0x92FC,GL_OFFSET) +GL_ENUM(0x92FD,GL_BLOCK_INDEX) +GL_ENUM(0x92FE,GL_ARRAY_STRIDE) +GL_ENUM(0x92FF,GL_MATRIX_STRIDE) +GL_ENUM(0x9300,GL_IS_ROW_MAJOR) +GL_ENUM(0x9301,GL_ATOMIC_COUNTER_BUFFER_INDEX) +GL_ENUM(0x9302,GL_BUFFER_BINDING) +GL_ENUM(0x9303,GL_BUFFER_DATA_SIZE) +GL_ENUM(0x9304,GL_NUM_ACTIVE_VARIABLES) +GL_ENUM(0x9305,GL_ACTIVE_VARIABLES) +GL_ENUM(0x9306,GL_REFERENCED_BY_VERTEX_SHADER) +GL_ENUM(0x930A,GL_REFERENCED_BY_FRAGMENT_SHADER) +GL_ENUM(0x930B,GL_REFERENCED_BY_COMPUTE_SHADER) +GL_ENUM(0x930C,GL_TOP_LEVEL_ARRAY_SIZE) +GL_ENUM(0x930D,GL_TOP_LEVEL_ARRAY_STRIDE) +GL_ENUM(0x930E,GL_LOCATION) +GL_ENUM(0xFFFFFFFF,GL_ALL_SHADER_BITS) +GL_ENUM(0x8258,GL_PROGRAM_SEPARABLE) +GL_ENUM(0x8259,GL_ACTIVE_PROGRAM) +GL_ENUM(0x825A,GL_PROGRAM_PIPELINE_BINDING) +GL_ENUM(0x92C1,GL_ATOMIC_COUNTER_BUFFER_BINDING) +GL_ENUM(0x92C2,GL_ATOMIC_COUNTER_BUFFER_START) +GL_ENUM(0x92C3,GL_ATOMIC_COUNTER_BUFFER_SIZE) +GL_ENUM(0x92CC,GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS) +GL_ENUM(0x92D0,GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS) +GL_ENUM(0x92D1,GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS) +GL_ENUM(0x92D2,GL_MAX_VERTEX_ATOMIC_COUNTERS) +GL_ENUM(0x92D6,GL_MAX_FRAGMENT_ATOMIC_COUNTERS) +GL_ENUM(0x92D7,GL_MAX_COMBINED_ATOMIC_COUNTERS) +GL_ENUM(0x92D8,GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE) +GL_ENUM(0x92DC,GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS) +GL_ENUM(0x92D9,GL_ACTIVE_ATOMIC_COUNTER_BUFFERS) +GL_ENUM(0x92DB,GL_UNSIGNED_INT_ATOMIC_COUNTER) +GL_ENUM(0x8F38,GL_MAX_IMAGE_UNITS) +GL_ENUM(0x90CA,GL_MAX_VERTEX_IMAGE_UNIFORMS) +GL_ENUM(0x90CE,GL_MAX_FRAGMENT_IMAGE_UNIFORMS) +GL_ENUM(0x90CF,GL_MAX_COMBINED_IMAGE_UNIFORMS) +GL_ENUM(0x8F3A,GL_IMAGE_BINDING_NAME) +GL_ENUM(0x8F3B,GL_IMAGE_BINDING_LEVEL) +GL_ENUM(0x8F3C,GL_IMAGE_BINDING_LAYERED) +GL_ENUM(0x8F3D,GL_IMAGE_BINDING_LAYER) +GL_ENUM(0x8F3E,GL_IMAGE_BINDING_ACCESS) +GL_ENUM(0x906E,GL_IMAGE_BINDING_FORMAT) +GL_ENUM(0x904D,GL_IMAGE_2D) +GL_ENUM(0x904E,GL_IMAGE_3D) +GL_ENUM(0x9050,GL_IMAGE_CUBE) +GL_ENUM(0x9053,GL_IMAGE_2D_ARRAY) +GL_ENUM(0x9058,GL_INT_IMAGE_2D) +GL_ENUM(0x9059,GL_INT_IMAGE_3D) +GL_ENUM(0x905B,GL_INT_IMAGE_CUBE) +GL_ENUM(0x905E,GL_INT_IMAGE_2D_ARRAY) +GL_ENUM(0x9063,GL_UNSIGNED_INT_IMAGE_2D) +GL_ENUM(0x9064,GL_UNSIGNED_INT_IMAGE_3D) +GL_ENUM(0x9066,GL_UNSIGNED_INT_IMAGE_CUBE) +GL_ENUM(0x9069,GL_UNSIGNED_INT_IMAGE_2D_ARRAY) +GL_ENUM(0x90C7,GL_IMAGE_FORMAT_COMPATIBILITY_TYPE) +GL_ENUM(0x90C8,GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE) +GL_ENUM(0x90C9,GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS) +GL_ENUM(0x88B8,GL_READ_ONLY) +GL_ENUM(0x88B9,GL_WRITE_ONLY) +GL_ENUM(0x88BA,GL_READ_WRITE) +GL_ENUM(0x90D2,GL_SHADER_STORAGE_BUFFER) +GL_ENUM(0x90D3,GL_SHADER_STORAGE_BUFFER_BINDING) +GL_ENUM(0x90D4,GL_SHADER_STORAGE_BUFFER_START) +GL_ENUM(0x90D5,GL_SHADER_STORAGE_BUFFER_SIZE) +GL_ENUM(0x90D6,GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS) +GL_ENUM(0x90DA,GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS) +GL_ENUM(0x90DB,GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS) +GL_ENUM(0x90DC,GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS) +GL_ENUM(0x90DD,GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS) +GL_ENUM(0x90DE,GL_MAX_SHADER_STORAGE_BLOCK_SIZE) +GL_ENUM(0x90DF,GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT) +GL_ENUM(0x8F39,GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES) +GL_ENUM(0x90EA,GL_DEPTH_STENCIL_TEXTURE_MODE) +GL_ENUM(0x1901,GL_STENCIL_INDEX) +GL_ENUM(0x8E5E,GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET) +GL_ENUM(0x8E5F,GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET) +GL_ENUM(0x8E50,GL_SAMPLE_POSITION) +GL_ENUM(0x8E51,GL_SAMPLE_MASK) +GL_ENUM(0x8E52,GL_SAMPLE_MASK_VALUE) +GL_ENUM(0x9100,GL_TEXTURE_2D_MULTISAMPLE) +GL_ENUM(0x8E59,GL_MAX_SAMPLE_MASK_WORDS) +GL_ENUM(0x910E,GL_MAX_COLOR_TEXTURE_SAMPLES) +GL_ENUM(0x910F,GL_MAX_DEPTH_TEXTURE_SAMPLES) +GL_ENUM(0x9110,GL_MAX_INTEGER_SAMPLES) +GL_ENUM(0x9104,GL_TEXTURE_BINDING_2D_MULTISAMPLE) +GL_ENUM(0x9106,GL_TEXTURE_SAMPLES) +GL_ENUM(0x9107,GL_TEXTURE_FIXED_SAMPLE_LOCATIONS) +GL_ENUM(0x1000,GL_TEXTURE_WIDTH) +GL_ENUM(0x1001,GL_TEXTURE_HEIGHT) +GL_ENUM(0x8071,GL_TEXTURE_DEPTH) +GL_ENUM(0x1003,GL_TEXTURE_INTERNAL_FORMAT) +GL_ENUM(0x805C,GL_TEXTURE_RED_SIZE) +GL_ENUM(0x805D,GL_TEXTURE_GREEN_SIZE) +GL_ENUM(0x805E,GL_TEXTURE_BLUE_SIZE) +GL_ENUM(0x805F,GL_TEXTURE_ALPHA_SIZE) +GL_ENUM(0x884A,GL_TEXTURE_DEPTH_SIZE) +GL_ENUM(0x88F1,GL_TEXTURE_STENCIL_SIZE) +GL_ENUM(0x8C3F,GL_TEXTURE_SHARED_SIZE) +GL_ENUM(0x8C10,GL_TEXTURE_RED_TYPE) +GL_ENUM(0x8C11,GL_TEXTURE_GREEN_TYPE) +GL_ENUM(0x8C12,GL_TEXTURE_BLUE_TYPE) +GL_ENUM(0x8C13,GL_TEXTURE_ALPHA_TYPE) +GL_ENUM(0x8C16,GL_TEXTURE_DEPTH_TYPE) +GL_ENUM(0x86A1,GL_TEXTURE_COMPRESSED) +GL_ENUM(0x9108,GL_SAMPLER_2D_MULTISAMPLE) +GL_ENUM(0x9109,GL_INT_SAMPLER_2D_MULTISAMPLE) +GL_ENUM(0x910A,GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE) +GL_ENUM(0x82D4,GL_VERTEX_ATTRIB_BINDING) +GL_ENUM(0x82D5,GL_VERTEX_ATTRIB_RELATIVE_OFFSET) +GL_ENUM(0x82D6,GL_VERTEX_BINDING_DIVISOR) +GL_ENUM(0x82D7,GL_VERTEX_BINDING_OFFSET) +GL_ENUM(0x82D8,GL_VERTEX_BINDING_STRIDE) +GL_ENUM(0x8F4F,GL_VERTEX_BINDING_BUFFER) +GL_ENUM(0x82D9,GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET) +GL_ENUM(0x82DA,GL_MAX_VERTEX_ATTRIB_BINDINGS) +GL_ENUM(0x82E5,GL_MAX_VERTEX_ATTRIB_STRIDE) GL_ENUM(0x8D65,GL_TEXTURE_EXTERNAL_OES) GL_ENUM(0x8D67,GL_TEXTURE_BINDING_EXTERNAL_OES) GL_ENUM(0x8D68,GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES) @@ -758,7 +914,6 @@ GL_ENUM(0x8B99,GL_PALETTE8_RGB5_A1_OES) GL_ENUM(0x81A7,GL_DEPTH_COMPONENT32_OES) GL_ENUM(0x8B9D,GL_TEXTURE_CROP_RECT_OES) GL_ENUM(0x8CDA,GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES) -GL_ENUM(0x88B9,GL_WRITE_ONLY_OES) GL_ENUM(0x88BB,GL_BUFFER_ACCESS_OES) GL_ENUM(0x898D,GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) GL_ENUM(0x898E,GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) @@ -964,7 +1119,6 @@ GL_ENUM(0x93E7,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES) GL_ENUM(0x93E8,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES) GL_ENUM(0x93E9,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES) GL_ENUM(0x8D61,GL_HALF_FLOAT_OES) -GL_ENUM(0x1901,GL_STENCIL_INDEX_OES) GL_ENUM(0x9102,GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES) GL_ENUM(0x9105,GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES) GL_ENUM(0x910B,GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES) @@ -1006,26 +1160,126 @@ GL_ENUM(0x8864,GL_QUERY_COUNTER_BITS_EXT) GL_ENUM(0x88BF,GL_TIME_ELAPSED_EXT) GL_ENUM(0x8E28,GL_TIMESTAMP_EXT) GL_ENUM(0x8FBB,GL_GPU_DISJOINT_EXT) +GL_ENUM(0x8DD9,GL_GEOMETRY_SHADER_EXT) +GL_ENUM(0x8916,GL_GEOMETRY_LINKED_VERTICES_OUT_EXT) +GL_ENUM(0x8917,GL_GEOMETRY_LINKED_INPUT_TYPE_EXT) +GL_ENUM(0x8918,GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT) +GL_ENUM(0x887F,GL_GEOMETRY_SHADER_INVOCATIONS_EXT) +GL_ENUM(0x825E,GL_LAYER_PROVOKING_VERTEX_EXT) +GL_ENUM(0x000A,GL_LINES_ADJACENCY_EXT) +GL_ENUM(0x000B,GL_LINE_STRIP_ADJACENCY_EXT) +GL_ENUM(0x000C,GL_TRIANGLES_ADJACENCY_EXT) +GL_ENUM(0x000D,GL_TRIANGLE_STRIP_ADJACENCY_EXT) +GL_ENUM(0x8DDF,GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT) +GL_ENUM(0x8A2C,GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT) +GL_ENUM(0x8A32,GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT) +GL_ENUM(0x9123,GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT) +GL_ENUM(0x9124,GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT) +GL_ENUM(0x8DE0,GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT) +GL_ENUM(0x8DE1,GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT) +GL_ENUM(0x8E5A,GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT) +GL_ENUM(0x8C29,GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT) +GL_ENUM(0x92CF,GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT) +GL_ENUM(0x92D5,GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT) +GL_ENUM(0x90CD,GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT) +GL_ENUM(0x90D7,GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT) +GL_ENUM(0x8E4D,GL_FIRST_VERTEX_CONVENTION_EXT) +GL_ENUM(0x8E4E,GL_LAST_VERTEX_CONVENTION_EXT) +GL_ENUM(0x8260,GL_UNDEFINED_VERTEX_EXT) +GL_ENUM(0x8C87,GL_PRIMITIVES_GENERATED_EXT) +GL_ENUM(0x9312,GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT) +GL_ENUM(0x9317,GL_MAX_FRAMEBUFFER_LAYERS_EXT) +GL_ENUM(0x8DA8,GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT) +GL_ENUM(0x8DA7,GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT) +GL_ENUM(0x9309,GL_REFERENCED_BY_GEOMETRY_SHADER_EXT) GL_ENUM(0x90F0,GL_COLOR_ATTACHMENT_EXT) GL_ENUM(0x90F1,GL_MULTIVIEW_EXT) GL_ENUM(0x0C01,GL_DRAW_BUFFER_EXT) GL_ENUM(0x90F2,GL_MAX_MULTIVIEW_BUFFERS_EXT) +GL_ENUM(0x92BE,GL_PRIMITIVE_BOUNDING_BOX_EXT) GL_ENUM(0x8A54,GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT) GL_ENUM(0x8A55,GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT) GL_ENUM(0x8A56,GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT) GL_ENUM(0x8A57,GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT) +GL_ENUM(0x93F0,GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG) +GL_ENUM(0x93F1,GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG) GL_ENUM(0x8DB9,GL_FRAMEBUFFER_SRGB_EXT) -GL_ENUM(0x8259,GL_ACTIVE_PROGRAM_EXT) -GL_ENUM(0xFFFFFFFF,GL_ALL_SHADER_BITS_EXT) -GL_ENUM(0x8258,GL_PROGRAM_SEPARABLE_EXT) -GL_ENUM(0x825A,GL_PROGRAM_PIPELINE_BINDING_EXT) GL_ENUM(0x8A52,GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT) GL_ENUM(0x8F63,GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT) GL_ENUM(0x8F67,GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT) GL_ENUM(0x8F64,GL_SHADER_PIXEL_LOCAL_STORAGE_EXT) +GL_ENUM(0x000E,GL_PATCHES_EXT) +GL_ENUM(0x8E72,GL_PATCH_VERTICES_EXT) +GL_ENUM(0x8E75,GL_TESS_CONTROL_OUTPUT_VERTICES_EXT) +GL_ENUM(0x8E76,GL_TESS_GEN_MODE_EXT) +GL_ENUM(0x8E77,GL_TESS_GEN_SPACING_EXT) +GL_ENUM(0x8E78,GL_TESS_GEN_VERTEX_ORDER_EXT) +GL_ENUM(0x8E79,GL_TESS_GEN_POINT_MODE_EXT) +GL_ENUM(0x8E7A,GL_ISOLINES_EXT) +GL_ENUM(0x0007,GL_QUADS_EXT) +GL_ENUM(0x8E7B,GL_FRACTIONAL_ODD_EXT) +GL_ENUM(0x8E7C,GL_FRACTIONAL_EVEN_EXT) +GL_ENUM(0x8E7D,GL_MAX_PATCH_VERTICES_EXT) +GL_ENUM(0x8E7E,GL_MAX_TESS_GEN_LEVEL_EXT) +GL_ENUM(0x8E7F,GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT) +GL_ENUM(0x8E80,GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT) +GL_ENUM(0x8E81,GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT) +GL_ENUM(0x8E82,GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT) +GL_ENUM(0x8E83,GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT) +GL_ENUM(0x8E84,GL_MAX_TESS_PATCH_COMPONENTS_EXT) +GL_ENUM(0x8E85,GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT) +GL_ENUM(0x8E86,GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT) +GL_ENUM(0x8E89,GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT) +GL_ENUM(0x8E8A,GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT) +GL_ENUM(0x886C,GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT) +GL_ENUM(0x886D,GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT) +GL_ENUM(0x8E1E,GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT) +GL_ENUM(0x8E1F,GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT) +GL_ENUM(0x92CD,GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT) +GL_ENUM(0x92CE,GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT) +GL_ENUM(0x92D3,GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT) +GL_ENUM(0x92D4,GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT) +GL_ENUM(0x90CB,GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT) +GL_ENUM(0x90CC,GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT) +GL_ENUM(0x90D8,GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT) +GL_ENUM(0x90D9,GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT) +GL_ENUM(0x8221,GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED) +GL_ENUM(0x92E7,GL_IS_PER_PATCH_EXT) +GL_ENUM(0x9307,GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT) +GL_ENUM(0x9308,GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT) +GL_ENUM(0x8E88,GL_TESS_CONTROL_SHADER_EXT) +GL_ENUM(0x8E87,GL_TESS_EVALUATION_SHADER_EXT) +GL_ENUM(0x1004,GL_TEXTURE_BORDER_COLOR_EXT) +GL_ENUM(0x812D,GL_CLAMP_TO_BORDER_EXT) +GL_ENUM(0x8C2A,GL_TEXTURE_BUFFER_EXT) +GL_ENUM(0x8C2B,GL_MAX_TEXTURE_BUFFER_SIZE_EXT) +GL_ENUM(0x8C2C,GL_TEXTURE_BINDING_BUFFER_EXT) +GL_ENUM(0x8C2D,GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT) +GL_ENUM(0x919F,GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT) +GL_ENUM(0x8DC2,GL_SAMPLER_BUFFER_EXT) +GL_ENUM(0x8DD0,GL_INT_SAMPLER_BUFFER_EXT) +GL_ENUM(0x8DD8,GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT) +GL_ENUM(0x9051,GL_IMAGE_BUFFER_EXT) +GL_ENUM(0x905C,GL_INT_IMAGE_BUFFER_EXT) +GL_ENUM(0x9067,GL_UNSIGNED_INT_IMAGE_BUFFER_EXT) +GL_ENUM(0x919D,GL_TEXTURE_BUFFER_OFFSET_EXT) +GL_ENUM(0x919E,GL_TEXTURE_BUFFER_SIZE_EXT) +GL_ENUM(0x9009,GL_TEXTURE_CUBE_MAP_ARRAY_EXT) +GL_ENUM(0x900A,GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT) +GL_ENUM(0x900C,GL_SAMPLER_CUBE_MAP_ARRAY_EXT) +GL_ENUM(0x900D,GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT) +GL_ENUM(0x900E,GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT) +GL_ENUM(0x900F,GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT) +GL_ENUM(0x9054,GL_IMAGE_CUBE_MAP_ARRAY_EXT) +GL_ENUM(0x905F,GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT) +GL_ENUM(0x906A,GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT) GL_ENUM(0x8A48,GL_TEXTURE_SRGB_DECODE_EXT) GL_ENUM(0x8A49,GL_DECODE_EXT) GL_ENUM(0x8A4A,GL_SKIP_DECODE_EXT) +GL_ENUM(0x82DB,GL_TEXTURE_VIEW_MIN_LEVEL_EXT) +GL_ENUM(0x82DC,GL_TEXTURE_VIEW_NUM_LEVELS_EXT) +GL_ENUM(0x82DD,GL_TEXTURE_VIEW_MIN_LAYER_EXT) +GL_ENUM(0x82DE,GL_TEXTURE_VIEW_NUM_LAYERS_EXT) GL_ENUM(0x9260,GL_GCCSO_SHADER_BINARY_FJ) GL_ENUM(0x9130,GL_SGX_PROGRAM_BINARY_IMG) GL_ENUM(0x8C0A,GL_SGX_BINARY_IMG) @@ -1099,8 +1353,6 @@ GL_ENUM(0x8C4D,GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV) GL_ENUM(0x8C4E,GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV) GL_ENUM(0x8C4F,GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV) GL_ENUM(0x88EE,GL_ETC1_SRGB8_NV) -GL_ENUM(0x1004,GL_TEXTURE_BORDER_COLOR_NV) -GL_ENUM(0x812D,GL_CLAMP_TO_BORDER_NV) GL_ENUM(0x8FB0,GL_BINNING_CONTROL_HINT_QCOM) GL_ENUM(0x8FB1,GL_CPU_OPTIMIZED_QCOM) GL_ENUM(0x8FB2,GL_GPU_OPTIMIZED_QCOM) diff --git a/opengl/libs/hooks.h b/opengl/libs/hooks.h index 4b4319808e..3f36b7d6e6 100644 --- a/opengl/libs/hooks.h +++ b/opengl/libs/hooks.h @@ -30,7 +30,7 @@ #include #include #include -#include +#include // set to 1 for debugging #define USE_SLOW_BINDING 0 diff --git a/opengl/libs/trace.in b/opengl/libs/trace.in index 2897d3d5c8..4375a942d3 100644 --- a/opengl/libs/trace.in +++ b/opengl/libs/trace.in @@ -1,3 +1,4 @@ +TRACE_GL_VOID(glActiveShaderProgram, (GLuint pipeline, GLuint program), (pipeline, program), 2, "GLuint", pipeline, "GLuint", program) TRACE_GL_VOID(glActiveShaderProgramEXT, (GLuint pipeline, GLuint program), (pipeline, program), 2, "GLuint", pipeline, "GLuint", program) TRACE_GL_VOID(glActiveTexture, (GLenum texture), (texture), 1, "GLenum", texture) TRACE_GL_VOID(glAlphaFunc, (GLenum func, GLfloat ref), (func, ref), 2, "GLenum", func, "GLfloat", ref) @@ -16,6 +17,8 @@ TRACE_GL_VOID(glBindBufferBase, (GLenum target, GLuint index, GLuint buffer), (t TRACE_GL_VOID(glBindBufferRange, (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size), (target, index, buffer, offset, size), 5, "GLenum", target, "GLuint", index, "GLuint", buffer, "GLintptr", offset, "GLsizeiptr", size) TRACE_GL_VOID(glBindFramebuffer, (GLenum target, GLuint framebuffer), (target, framebuffer), 2, "GLenum", target, "GLuint", framebuffer) TRACE_GL_VOID(glBindFramebufferOES, (GLenum target, GLuint framebuffer), (target, framebuffer), 2, "GLenum", target, "GLuint", framebuffer) +TRACE_GL_VOID(glBindImageTexture, (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format), (unit, texture, level, layered, layer, access, format), 7, "GLuint", unit, "GLuint", texture, "GLint", level, "GLboolean", layered, "GLint", layer, "GLenum", access, "GLenum", format) +TRACE_GL_VOID(glBindProgramPipeline, (GLuint pipeline), (pipeline), 1, "GLuint", pipeline) TRACE_GL_VOID(glBindProgramPipelineEXT, (GLuint pipeline), (pipeline), 1, "GLuint", pipeline) TRACE_GL_VOID(glBindRenderbuffer, (GLenum target, GLuint renderbuffer), (target, renderbuffer), 2, "GLenum", target, "GLuint", renderbuffer) TRACE_GL_VOID(glBindRenderbufferOES, (GLenum target, GLuint renderbuffer), (target, renderbuffer), 2, "GLenum", target, "GLuint", renderbuffer) @@ -24,6 +27,7 @@ TRACE_GL_VOID(glBindTexture, (GLenum target, GLuint texture), (target, texture), TRACE_GL_VOID(glBindTransformFeedback, (GLenum target, GLuint id), (target, id), 2, "GLenum", target, "GLuint", id) TRACE_GL_VOID(glBindVertexArray, (GLuint array), (array), 1, "GLuint", array) TRACE_GL_VOID(glBindVertexArrayOES, (GLuint array), (array), 1, "GLuint", array) +TRACE_GL_VOID(glBindVertexBuffer, (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride), (bindingindex, buffer, offset, stride), 4, "GLuint", bindingindex, "GLuint", buffer, "GLintptr", offset, "GLsizei", stride) TRACE_GL_VOID(glBlendBarrierKHR, (void), (), 0) TRACE_GL_VOID(glBlendBarrierNV, (void), (), 0) TRACE_GL_VOID(glBlendColor, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha), (red, green, blue, alpha), 4, "GLfloat", red, "GLfloat", green, "GLfloat", blue, "GLfloat", alpha) @@ -31,9 +35,13 @@ TRACE_GL_VOID(glBlendEquation, (GLenum mode), (mode), 1, "GLenum", mode) TRACE_GL_VOID(glBlendEquationOES, (GLenum mode), (mode), 1, "GLenum", mode) TRACE_GL_VOID(glBlendEquationSeparate, (GLenum modeRGB, GLenum modeAlpha), (modeRGB, modeAlpha), 2, "GLenum", modeRGB, "GLenum", modeAlpha) TRACE_GL_VOID(glBlendEquationSeparateOES, (GLenum modeRGB, GLenum modeAlpha), (modeRGB, modeAlpha), 2, "GLenum", modeRGB, "GLenum", modeAlpha) +TRACE_GL_VOID(glBlendEquationSeparateiEXT, (GLuint buf, GLenum modeRGB, GLenum modeAlpha), (buf, modeRGB, modeAlpha), 3, "GLuint", buf, "GLenum", modeRGB, "GLenum", modeAlpha) +TRACE_GL_VOID(glBlendEquationiEXT, (GLuint buf, GLenum mode), (buf, mode), 2, "GLuint", buf, "GLenum", mode) TRACE_GL_VOID(glBlendFunc, (GLenum sfactor, GLenum dfactor), (sfactor, dfactor), 2, "GLenum", sfactor, "GLenum", dfactor) TRACE_GL_VOID(glBlendFuncSeparate, (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha), (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), 4, "GLenum", sfactorRGB, "GLenum", dfactorRGB, "GLenum", sfactorAlpha, "GLenum", dfactorAlpha) TRACE_GL_VOID(glBlendFuncSeparateOES, (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha), (srcRGB, dstRGB, srcAlpha, dstAlpha), 4, "GLenum", srcRGB, "GLenum", dstRGB, "GLenum", srcAlpha, "GLenum", dstAlpha) +TRACE_GL_VOID(glBlendFuncSeparateiEXT, (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha), (buf, srcRGB, dstRGB, srcAlpha, dstAlpha), 5, "GLuint", buf, "GLenum", srcRGB, "GLenum", dstRGB, "GLenum", srcAlpha, "GLenum", dstAlpha) +TRACE_GL_VOID(glBlendFunciEXT, (GLuint buf, GLenum src, GLenum dst), (buf, src, dst), 3, "GLuint", buf, "GLenum", src, "GLenum", dst) TRACE_GL_VOID(glBlendParameteriNV, (GLenum pname, GLint value), (pname, value), 2, "GLenum", pname, "GLint", value) TRACE_GL_VOID(glBlitFramebuffer, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter), (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), 10, "GLint", srcX0, "GLint", srcY0, "GLint", srcX1, "GLint", srcY1, "GLint", dstX0, "GLint", dstY0, "GLint", dstX1, "GLint", dstY1, "GLbitfield", mask, "GLenum", filter) TRACE_GL_VOID(glBlitFramebufferANGLE, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter), (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), 10, "GLint", srcX0, "GLint", srcY0, "GLint", srcX1, "GLint", srcY1, "GLint", dstX0, "GLint", dstY0, "GLint", dstX1, "GLint", dstY1, "GLbitfield", mask, "GLenum", filter) @@ -69,6 +77,7 @@ TRACE_GL_VOID(glColor4ub, (GLubyte red, GLubyte green, GLubyte blue, GLubyte alp TRACE_GL_VOID(glColor4x, (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha), (red, green, blue, alpha), 4, "GLfixed", red, "GLfixed", green, "GLfixed", blue, "GLfixed", alpha) TRACE_GL_VOID(glColor4xOES, (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha), (red, green, blue, alpha), 4, "GLfixed", red, "GLfixed", green, "GLfixed", blue, "GLfixed", alpha) TRACE_GL_VOID(glColorMask, (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha), (red, green, blue, alpha), 4, "GLboolean", red, "GLboolean", green, "GLboolean", blue, "GLboolean", alpha) +TRACE_GL_VOID(glColorMaskiEXT, (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a), (index, r, g, b, a), 5, "GLuint", index, "GLboolean", r, "GLboolean", g, "GLboolean", b, "GLboolean", a) TRACE_GL_VOID(glColorPointer, (GLint size, GLenum type, GLsizei stride, const void * pointer), (size, type, stride, pointer), 4, "GLint", size, "GLenum", type, "GLsizei", stride, "const void *", pointer) TRACE_GL_VOID(glCompileShader, (GLuint shader), (shader), 1, "GLuint", shader) TRACE_GL_VOID(glCompressedTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data), (target, level, internalformat, width, height, border, imageSize, data), 8, "GLenum", target, "GLint", level, "GLenum", internalformat, "GLsizei", width, "GLsizei", height, "GLint", border, "GLsizei", imageSize, "const void *", data) @@ -79,6 +88,7 @@ TRACE_GL_VOID(glCompressedTexSubImage3D, (GLenum target, GLint level, GLint xoff TRACE_GL_VOID(glCompressedTexSubImage3DOES, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data), (target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data), 11, "GLenum", target, "GLint", level, "GLint", xoffset, "GLint", yoffset, "GLint", zoffset, "GLsizei", width, "GLsizei", height, "GLsizei", depth, "GLenum", format, "GLsizei", imageSize, "const void *", data) TRACE_GL_VOID(glCopyBufferSubData, (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size), (readTarget, writeTarget, readOffset, writeOffset, size), 5, "GLenum", readTarget, "GLenum", writeTarget, "GLintptr", readOffset, "GLintptr", writeOffset, "GLsizeiptr", size) TRACE_GL_VOID(glCopyBufferSubDataNV, (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size), (readTarget, writeTarget, readOffset, writeOffset, size), 5, "GLenum", readTarget, "GLenum", writeTarget, "GLintptr", readOffset, "GLintptr", writeOffset, "GLsizeiptr", size) +TRACE_GL_VOID(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), (srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth), 15, "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) TRACE_GL_VOID(glCopyTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border), (target, level, internalformat, x, y, width, height, border), 8, "GLenum", target, "GLint", level, "GLenum", internalformat, "GLint", x, "GLint", y, "GLsizei", width, "GLsizei", height, "GLint", border) TRACE_GL_VOID(glCopyTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height), (target, level, xoffset, yoffset, x, y, width, height), 8, "GLenum", target, "GLint", level, "GLint", xoffset, "GLint", yoffset, "GLint", x, "GLint", y, "GLsizei", width, "GLsizei", height) TRACE_GL_VOID(glCopyTexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height), (target, level, xoffset, yoffset, zoffset, x, y, width, height), 9, "GLenum", target, "GLint", level, "GLint", xoffset, "GLint", yoffset, "GLint", zoffset, "GLint", x, "GLint", y, "GLsizei", width, "GLsizei", height) @@ -89,6 +99,7 @@ TRACE_GL_VOID(glCoverageOperationNV, (GLenum operation), (operation), 1, "GLenum TRACE_GL_VOID(glCreatePerfQueryINTEL, (GLuint queryId, GLuint * queryHandle), (queryId, queryHandle), 2, "GLuint", queryId, "GLuint *", queryHandle) TRACE_GL(GLuint, glCreateProgram, (void), (), 0) TRACE_GL(GLuint, glCreateShader, (GLenum type), (type), 1, "GLenum", type) +TRACE_GL(GLuint, glCreateShaderProgramv, (GLenum type, GLsizei count, const GLchar *const* strings), (type, count, strings), 3, "GLenum", type, "GLsizei", count, "const GLchar *const*", strings) TRACE_GL(GLuint, glCreateShaderProgramvEXT, (GLenum type, GLsizei count, const GLchar ** strings), (type, count, strings), 3, "GLenum", type, "GLsizei", count, "const GLchar **", strings) TRACE_GL_VOID(glCullFace, (GLenum mode), (mode), 1, "GLenum", mode) TRACE_GL_VOID(glCurrentPaletteMatrixOES, (GLuint matrixpaletteindex), (matrixpaletteindex), 1, "GLuint", matrixpaletteindex) @@ -102,6 +113,7 @@ TRACE_GL_VOID(glDeleteFramebuffersOES, (GLsizei n, const GLuint * framebuffers), TRACE_GL_VOID(glDeletePerfMonitorsAMD, (GLsizei n, GLuint * monitors), (n, monitors), 2, "GLsizei", n, "GLuint *", monitors) TRACE_GL_VOID(glDeletePerfQueryINTEL, (GLuint queryHandle), (queryHandle), 1, "GLuint", queryHandle) TRACE_GL_VOID(glDeleteProgram, (GLuint program), (program), 1, "GLuint", program) +TRACE_GL_VOID(glDeleteProgramPipelines, (GLsizei n, const GLuint * pipelines), (n, pipelines), 2, "GLsizei", n, "const GLuint *", pipelines) TRACE_GL_VOID(glDeleteProgramPipelinesEXT, (GLsizei n, const GLuint * pipelines), (n, pipelines), 2, "GLsizei", n, "const GLuint *", pipelines) TRACE_GL_VOID(glDeleteQueries, (GLsizei n, const GLuint * ids), (n, ids), 2, "GLsizei", n, "const GLuint *", ids) TRACE_GL_VOID(glDeleteQueriesEXT, (GLsizei n, const GLuint * ids), (n, ids), 2, "GLsizei", n, "const GLuint *", ids) @@ -126,8 +138,12 @@ TRACE_GL_VOID(glDisable, (GLenum cap), (cap), 1, "GLenum", cap) TRACE_GL_VOID(glDisableClientState, (GLenum array), (array), 1, "GLenum", array) TRACE_GL_VOID(glDisableDriverControlQCOM, (GLuint driverControl), (driverControl), 1, "GLuint", driverControl) TRACE_GL_VOID(glDisableVertexAttribArray, (GLuint index), (index), 1, "GLuint", index) +TRACE_GL_VOID(glDisableiEXT, (GLenum target, GLuint index), (target, index), 2, "GLenum", target, "GLuint", index) TRACE_GL_VOID(glDiscardFramebufferEXT, (GLenum target, GLsizei numAttachments, const GLenum * attachments), (target, numAttachments, attachments), 3, "GLenum", target, "GLsizei", numAttachments, "const GLenum *", attachments) +TRACE_GL_VOID(glDispatchCompute, (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z), (num_groups_x, num_groups_y, num_groups_z), 3, "GLuint", num_groups_x, "GLuint", num_groups_y, "GLuint", num_groups_z) +TRACE_GL_VOID(glDispatchComputeIndirect, (GLintptr indirect), (indirect), 1, "GLintptr", indirect) TRACE_GL_VOID(glDrawArrays, (GLenum mode, GLint first, GLsizei count), (mode, first, count), 3, "GLenum", mode, "GLint", first, "GLsizei", count) +TRACE_GL_VOID(glDrawArraysIndirect, (GLenum mode, const void * indirect), (mode, indirect), 2, "GLenum", mode, "const void *", indirect) TRACE_GL_VOID(glDrawArraysInstanced, (GLenum mode, GLint first, GLsizei count, GLsizei instancecount), (mode, first, count, instancecount), 4, "GLenum", mode, "GLint", first, "GLsizei", count, "GLsizei", instancecount) TRACE_GL_VOID(glDrawArraysInstancedANGLE, (GLenum mode, GLint first, GLsizei count, GLsizei primcount), (mode, first, count, primcount), 4, "GLenum", mode, "GLint", first, "GLsizei", count, "GLsizei", primcount) TRACE_GL_VOID(glDrawArraysInstancedEXT, (GLenum mode, GLint start, GLsizei count, GLsizei primcount), (mode, start, count, primcount), 4, "GLenum", mode, "GLint", start, "GLsizei", count, "GLsizei", primcount) @@ -137,6 +153,7 @@ TRACE_GL_VOID(glDrawBuffersEXT, (GLsizei n, const GLenum * bufs), (n, bufs), 2, TRACE_GL_VOID(glDrawBuffersIndexedEXT, (GLint n, const GLenum * location, const GLint * indices), (n, location, indices), 3, "GLint", n, "const GLenum *", location, "const GLint *", indices) TRACE_GL_VOID(glDrawBuffersNV, (GLsizei n, const GLenum * bufs), (n, bufs), 2, "GLsizei", n, "const GLenum *", bufs) TRACE_GL_VOID(glDrawElements, (GLenum mode, GLsizei count, GLenum type, const void * indices), (mode, count, type, indices), 4, "GLenum", mode, "GLsizei", count, "GLenum", type, "const void *", indices) +TRACE_GL_VOID(glDrawElementsIndirect, (GLenum mode, GLenum type, const void * indirect), (mode, type, indirect), 3, "GLenum", mode, "GLenum", type, "const void *", indirect) TRACE_GL_VOID(glDrawElementsInstanced, (GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount), (mode, count, type, indices, instancecount), 5, "GLenum", mode, "GLsizei", count, "GLenum", type, "const void *", indices, "GLsizei", instancecount) TRACE_GL_VOID(glDrawElementsInstancedANGLE, (GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount), (mode, count, type, indices, primcount), 5, "GLenum", mode, "GLsizei", count, "GLenum", type, "const void *", indices, "GLsizei", primcount) TRACE_GL_VOID(glDrawElementsInstancedEXT, (GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount), (mode, count, type, indices, primcount), 5, "GLenum", mode, "GLsizei", count, "GLenum", type, "const void *", indices, "GLsizei", primcount) @@ -156,6 +173,7 @@ TRACE_GL_VOID(glEnable, (GLenum cap), (cap), 1, "GLenum", cap) TRACE_GL_VOID(glEnableClientState, (GLenum array), (array), 1, "GLenum", array) TRACE_GL_VOID(glEnableDriverControlQCOM, (GLuint driverControl), (driverControl), 1, "GLuint", driverControl) TRACE_GL_VOID(glEnableVertexAttribArray, (GLuint index), (index), 1, "GLuint", index) +TRACE_GL_VOID(glEnableiEXT, (GLenum target, GLuint index), (target, index), 2, "GLenum", target, "GLuint", index) TRACE_GL_VOID(glEndPerfMonitorAMD, (GLuint monitor), (monitor), 1, "GLuint", monitor) TRACE_GL_VOID(glEndPerfQueryINTEL, (GLuint queryHandle), (queryHandle), 1, "GLuint", queryHandle) TRACE_GL_VOID(glEndQuery, (GLenum target), (target), 1, "GLenum", target) @@ -187,6 +205,7 @@ TRACE_GL_VOID(glFogx, (GLenum pname, GLfixed param), (pname, param), 2, "GLenum" TRACE_GL_VOID(glFogxOES, (GLenum pname, GLfixed param), (pname, param), 2, "GLenum", pname, "GLfixed", param) TRACE_GL_VOID(glFogxv, (GLenum pname, const GLfixed * param), (pname, param), 2, "GLenum", pname, "const GLfixed *", param) TRACE_GL_VOID(glFogxvOES, (GLenum pname, const GLfixed * param), (pname, param), 2, "GLenum", pname, "const GLfixed *", param) +TRACE_GL_VOID(glFramebufferParameteri, (GLenum target, GLenum pname, GLint param), (target, pname, param), 3, "GLenum", target, "GLenum", pname, "GLint", param) TRACE_GL_VOID(glFramebufferRenderbuffer, (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer), (target, attachment, renderbuffertarget, renderbuffer), 4, "GLenum", target, "GLenum", attachment, "GLenum", renderbuffertarget, "GLuint", renderbuffer) TRACE_GL_VOID(glFramebufferRenderbufferOES, (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer), (target, attachment, renderbuffertarget, renderbuffer), 4, "GLenum", target, "GLenum", attachment, "GLenum", renderbuffertarget, "GLuint", renderbuffer) TRACE_GL_VOID(glFramebufferTexture2D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level), (target, attachment, textarget, texture, level), 5, "GLenum", target, "GLenum", attachment, "GLenum", textarget, "GLuint", texture, "GLint", level) @@ -194,6 +213,7 @@ TRACE_GL_VOID(glFramebufferTexture2DMultisampleEXT, (GLenum target, GLenum attac TRACE_GL_VOID(glFramebufferTexture2DMultisampleIMG, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples), (target, attachment, textarget, texture, level, samples), 6, "GLenum", target, "GLenum", attachment, "GLenum", textarget, "GLuint", texture, "GLint", level, "GLsizei", samples) TRACE_GL_VOID(glFramebufferTexture2DOES, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level), (target, attachment, textarget, texture, level), 5, "GLenum", target, "GLenum", attachment, "GLenum", textarget, "GLuint", texture, "GLint", level) TRACE_GL_VOID(glFramebufferTexture3DOES, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset), (target, attachment, textarget, texture, level, zoffset), 6, "GLenum", target, "GLenum", attachment, "GLenum", textarget, "GLuint", texture, "GLint", level, "GLint", zoffset) +TRACE_GL_VOID(glFramebufferTextureEXT, (GLenum target, GLenum attachment, GLuint texture, GLint level), (target, attachment, texture, level), 4, "GLenum", target, "GLenum", attachment, "GLuint", texture, "GLint", level) TRACE_GL_VOID(glFramebufferTextureLayer, (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer), (target, attachment, texture, level, layer), 5, "GLenum", target, "GLenum", attachment, "GLuint", texture, "GLint", level, "GLint", layer) TRACE_GL_VOID(glFrontFace, (GLenum mode), (mode), 1, "GLenum", mode) TRACE_GL_VOID(glFrustumf, (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f), (l, r, b, t, n, f), 6, "GLfloat", l, "GLfloat", r, "GLfloat", b, "GLfloat", t, "GLfloat", n, "GLfloat", f) @@ -205,6 +225,7 @@ TRACE_GL_VOID(glGenFencesNV, (GLsizei n, GLuint * fences), (n, fences), 2, "GLsi TRACE_GL_VOID(glGenFramebuffers, (GLsizei n, GLuint * framebuffers), (n, framebuffers), 2, "GLsizei", n, "GLuint *", framebuffers) TRACE_GL_VOID(glGenFramebuffersOES, (GLsizei n, GLuint * framebuffers), (n, framebuffers), 2, "GLsizei", n, "GLuint *", framebuffers) TRACE_GL_VOID(glGenPerfMonitorsAMD, (GLsizei n, GLuint * monitors), (n, monitors), 2, "GLsizei", n, "GLuint *", monitors) +TRACE_GL_VOID(glGenProgramPipelines, (GLsizei n, GLuint * pipelines), (n, pipelines), 2, "GLsizei", n, "GLuint *", pipelines) TRACE_GL_VOID(glGenProgramPipelinesEXT, (GLsizei n, GLuint * pipelines), (n, pipelines), 2, "GLsizei", n, "GLuint *", pipelines) TRACE_GL_VOID(glGenQueries, (GLsizei n, GLuint * ids), (n, ids), 2, "GLsizei", n, "GLuint *", ids) TRACE_GL_VOID(glGenQueriesEXT, (GLsizei n, GLuint * ids), (n, ids), 2, "GLsizei", n, "GLuint *", ids) @@ -224,6 +245,7 @@ TRACE_GL_VOID(glGetActiveUniformBlockiv, (GLuint program, GLuint uniformBlockInd TRACE_GL_VOID(glGetActiveUniformsiv, (GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint * params), (program, uniformCount, uniformIndices, pname, params), 5, "GLuint", program, "GLsizei", uniformCount, "const GLuint *", uniformIndices, "GLenum", pname, "GLint *", params) TRACE_GL_VOID(glGetAttachedShaders, (GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders), (program, maxCount, count, shaders), 4, "GLuint", program, "GLsizei", maxCount, "GLsizei *", count, "GLuint *", shaders) TRACE_GL(GLint, glGetAttribLocation, (GLuint program, const GLchar * name), (program, name), 2, "GLuint", program, "const GLchar *", name) +TRACE_GL_VOID(glGetBooleani_v, (GLenum target, GLuint index, GLboolean * data), (target, index, data), 3, "GLenum", target, "GLuint", index, "GLboolean *", data) TRACE_GL_VOID(glGetBooleanv, (GLenum pname, GLboolean * data), (pname, data), 2, "GLenum", pname, "GLboolean *", data) TRACE_GL_VOID(glGetBufferParameteri64v, (GLenum target, GLenum pname, GLint64 * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "GLint64 *", params) TRACE_GL_VOID(glGetBufferParameteriv, (GLenum target, GLenum pname, GLint * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "GLint *", params) @@ -245,6 +267,7 @@ TRACE_GL_VOID(glGetFloatv, (GLenum pname, GLfloat * data), (pname, data), 2, "GL TRACE_GL(GLint, glGetFragDataLocation, (GLuint program, const GLchar * name), (program, name), 2, "GLuint", program, "const GLchar *", name) TRACE_GL_VOID(glGetFramebufferAttachmentParameteriv, (GLenum target, GLenum attachment, GLenum pname, GLint * params), (target, attachment, pname, params), 4, "GLenum", target, "GLenum", attachment, "GLenum", pname, "GLint *", params) TRACE_GL_VOID(glGetFramebufferAttachmentParameterivOES, (GLenum target, GLenum attachment, GLenum pname, GLint * params), (target, attachment, pname, params), 4, "GLenum", target, "GLenum", attachment, "GLenum", pname, "GLint *", params) +TRACE_GL_VOID(glGetFramebufferParameteriv, (GLenum target, GLenum pname, GLint * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "GLint *", params) TRACE_GL(GLenum, glGetGraphicsResetStatusEXT, (void), (), 0) TRACE_GL_VOID(glGetInteger64i_v, (GLenum target, GLuint index, GLint64 * data), (target, index, data), 3, "GLenum", target, "GLuint", index, "GLint64 *", data) TRACE_GL_VOID(glGetInteger64v, (GLenum pname, GLint64 * data), (pname, data), 2, "GLenum", pname, "GLint64 *", data) @@ -259,6 +282,7 @@ TRACE_GL_VOID(glGetLightxvOES, (GLenum light, GLenum pname, GLfixed * params), ( TRACE_GL_VOID(glGetMaterialfv, (GLenum face, GLenum pname, GLfloat * params), (face, pname, params), 3, "GLenum", face, "GLenum", pname, "GLfloat *", params) TRACE_GL_VOID(glGetMaterialxv, (GLenum face, GLenum pname, GLfixed * params), (face, pname, params), 3, "GLenum", face, "GLenum", pname, "GLfixed *", params) TRACE_GL_VOID(glGetMaterialxvOES, (GLenum face, GLenum pname, GLfixed * params), (face, pname, params), 3, "GLenum", face, "GLenum", pname, "GLfixed *", params) +TRACE_GL_VOID(glGetMultisamplefv, (GLenum pname, GLuint index, GLfloat * val), (pname, index, val), 3, "GLenum", pname, "GLuint", index, "GLfloat *", val) TRACE_GL_VOID(glGetNextPerfQueryIdINTEL, (GLuint queryId, GLuint * nextQueryId), (queryId, nextQueryId), 2, "GLuint", queryId, "GLuint *", nextQueryId) TRACE_GL_VOID(glGetObjectLabelEXT, (GLenum type, GLuint object, GLsizei bufSize, GLsizei * length, GLchar * label), (type, object, bufSize, length, label), 5, "GLenum", type, "GLuint", object, "GLsizei", bufSize, "GLsizei *", length, "GLchar *", label) TRACE_GL_VOID(glGetObjectLabelKHR, (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label), (identifier, name, bufSize, length, label), 5, "GLenum", identifier, "GLuint", name, "GLsizei", bufSize, "GLsizei *", length, "GLchar *", label) @@ -278,8 +302,15 @@ TRACE_GL_VOID(glGetPointervKHR, (GLenum pname, void ** params), (pname, params), TRACE_GL_VOID(glGetProgramBinary, (GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary), (program, bufSize, length, binaryFormat, binary), 5, "GLuint", program, "GLsizei", bufSize, "GLsizei *", length, "GLenum *", binaryFormat, "void *", binary) TRACE_GL_VOID(glGetProgramBinaryOES, (GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary), (program, bufSize, length, binaryFormat, binary), 5, "GLuint", program, "GLsizei", bufSize, "GLsizei *", length, "GLenum *", binaryFormat, "void *", binary) TRACE_GL_VOID(glGetProgramInfoLog, (GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog), (program, bufSize, length, infoLog), 4, "GLuint", program, "GLsizei", bufSize, "GLsizei *", length, "GLchar *", infoLog) +TRACE_GL_VOID(glGetProgramInterfaceiv, (GLuint program, GLenum programInterface, GLenum pname, GLint * params), (program, programInterface, pname, params), 4, "GLuint", program, "GLenum", programInterface, "GLenum", pname, "GLint *", params) +TRACE_GL_VOID(glGetProgramPipelineInfoLog, (GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog), (pipeline, bufSize, length, infoLog), 4, "GLuint", pipeline, "GLsizei", bufSize, "GLsizei *", length, "GLchar *", infoLog) TRACE_GL_VOID(glGetProgramPipelineInfoLogEXT, (GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog), (pipeline, bufSize, length, infoLog), 4, "GLuint", pipeline, "GLsizei", bufSize, "GLsizei *", length, "GLchar *", infoLog) +TRACE_GL_VOID(glGetProgramPipelineiv, (GLuint pipeline, GLenum pname, GLint * params), (pipeline, pname, params), 3, "GLuint", pipeline, "GLenum", pname, "GLint *", params) TRACE_GL_VOID(glGetProgramPipelineivEXT, (GLuint pipeline, GLenum pname, GLint * params), (pipeline, pname, params), 3, "GLuint", pipeline, "GLenum", pname, "GLint *", params) +TRACE_GL(GLuint, glGetProgramResourceIndex, (GLuint program, GLenum programInterface, const GLchar * name), (program, programInterface, name), 3, "GLuint", program, "GLenum", programInterface, "const GLchar *", name) +TRACE_GL(GLint, glGetProgramResourceLocation, (GLuint program, GLenum programInterface, const GLchar * name), (program, programInterface, name), 3, "GLuint", program, "GLenum", programInterface, "const GLchar *", name) +TRACE_GL_VOID(glGetProgramResourceName, (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name), (program, programInterface, index, bufSize, length, name), 6, "GLuint", program, "GLenum", programInterface, "GLuint", index, "GLsizei", bufSize, "GLsizei *", length, "GLchar *", name) +TRACE_GL_VOID(glGetProgramResourceiv, (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params), (program, programInterface, index, propCount, props, bufSize, length, params), 8, "GLuint", program, "GLenum", programInterface, "GLuint", index, "GLsizei", propCount, "const GLenum *", props, "GLsizei", bufSize, "GLsizei *", length, "GLint *", params) TRACE_GL_VOID(glGetProgramiv, (GLuint program, GLenum pname, GLint * params), (program, pname, params), 3, "GLuint", program, "GLenum", pname, "GLint *", params) TRACE_GL_VOID(glGetQueryObjecti64vEXT, (GLuint id, GLenum pname, GLint64 * params), (id, pname, params), 3, "GLuint", id, "GLenum", pname, "GLint64 *", params) TRACE_GL_VOID(glGetQueryObjectivEXT, (GLuint id, GLenum pname, GLint * params), (id, pname, params), 3, "GLuint", id, "GLenum", pname, "GLint *", params) @@ -290,6 +321,8 @@ TRACE_GL_VOID(glGetQueryiv, (GLenum target, GLenum pname, GLint * params), (targ TRACE_GL_VOID(glGetQueryivEXT, (GLenum target, GLenum pname, GLint * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "GLint *", params) TRACE_GL_VOID(glGetRenderbufferParameteriv, (GLenum target, GLenum pname, GLint * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "GLint *", params) TRACE_GL_VOID(glGetRenderbufferParameterivOES, (GLenum target, GLenum pname, GLint * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "GLint *", params) +TRACE_GL_VOID(glGetSamplerParameterIivEXT, (GLuint sampler, GLenum pname, GLint * params), (sampler, pname, params), 3, "GLuint", sampler, "GLenum", pname, "GLint *", params) +TRACE_GL_VOID(glGetSamplerParameterIuivEXT, (GLuint sampler, GLenum pname, GLuint * params), (sampler, pname, params), 3, "GLuint", sampler, "GLenum", pname, "GLuint *", params) TRACE_GL_VOID(glGetSamplerParameterfv, (GLuint sampler, GLenum pname, GLfloat * params), (sampler, pname, params), 3, "GLuint", sampler, "GLenum", pname, "GLfloat *", params) TRACE_GL_VOID(glGetSamplerParameteriv, (GLuint sampler, GLenum pname, GLint * params), (sampler, pname, params), 3, "GLuint", sampler, "GLenum", pname, "GLint *", params) TRACE_GL_VOID(glGetShaderInfoLog, (GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog), (shader, bufSize, length, infoLog), 4, "GLuint", shader, "GLsizei", bufSize, "GLsizei *", length, "GLchar *", infoLog) @@ -307,6 +340,10 @@ TRACE_GL_VOID(glGetTexEnvxvOES, (GLenum target, GLenum pname, GLfixed * params), TRACE_GL_VOID(glGetTexGenfvOES, (GLenum coord, GLenum pname, GLfloat * params), (coord, pname, params), 3, "GLenum", coord, "GLenum", pname, "GLfloat *", params) TRACE_GL_VOID(glGetTexGenivOES, (GLenum coord, GLenum pname, GLint * params), (coord, pname, params), 3, "GLenum", coord, "GLenum", pname, "GLint *", params) TRACE_GL_VOID(glGetTexGenxvOES, (GLenum coord, GLenum pname, GLfixed * params), (coord, pname, params), 3, "GLenum", coord, "GLenum", pname, "GLfixed *", params) +TRACE_GL_VOID(glGetTexLevelParameterfv, (GLenum target, GLint level, GLenum pname, GLfloat * params), (target, level, pname, params), 4, "GLenum", target, "GLint", level, "GLenum", pname, "GLfloat *", params) +TRACE_GL_VOID(glGetTexLevelParameteriv, (GLenum target, GLint level, GLenum pname, GLint * params), (target, level, pname, params), 4, "GLenum", target, "GLint", level, "GLenum", pname, "GLint *", params) +TRACE_GL_VOID(glGetTexParameterIivEXT, (GLenum target, GLenum pname, GLint * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "GLint *", params) +TRACE_GL_VOID(glGetTexParameterIuivEXT, (GLenum target, GLenum pname, GLuint * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "GLuint *", params) TRACE_GL_VOID(glGetTexParameterfv, (GLenum target, GLenum pname, GLfloat * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "GLfloat *", params) TRACE_GL_VOID(glGetTexParameteriv, (GLenum target, GLenum pname, GLint * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "GLint *", params) TRACE_GL_VOID(glGetTexParameterxv, (GLenum target, GLenum pname, GLfixed * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "GLfixed *", params) @@ -332,10 +369,12 @@ TRACE_GL_VOID(glInvalidateFramebuffer, (GLenum target, GLsizei numAttachments, c TRACE_GL_VOID(glInvalidateSubFramebuffer, (GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height), (target, numAttachments, attachments, x, y, width, height), 7, "GLenum", target, "GLsizei", numAttachments, "const GLenum *", attachments, "GLint", x, "GLint", y, "GLsizei", width, "GLsizei", height) TRACE_GL(GLboolean, glIsBuffer, (GLuint buffer), (buffer), 1, "GLuint", buffer) TRACE_GL(GLboolean, glIsEnabled, (GLenum cap), (cap), 1, "GLenum", cap) +TRACE_GL(GLboolean, glIsEnablediEXT, (GLenum target, GLuint index), (target, index), 2, "GLenum", target, "GLuint", index) TRACE_GL(GLboolean, glIsFenceNV, (GLuint fence), (fence), 1, "GLuint", fence) TRACE_GL(GLboolean, glIsFramebuffer, (GLuint framebuffer), (framebuffer), 1, "GLuint", framebuffer) TRACE_GL(GLboolean, glIsFramebufferOES, (GLuint framebuffer), (framebuffer), 1, "GLuint", framebuffer) TRACE_GL(GLboolean, glIsProgram, (GLuint program), (program), 1, "GLuint", program) +TRACE_GL(GLboolean, glIsProgramPipeline, (GLuint pipeline), (pipeline), 1, "GLuint", pipeline) TRACE_GL(GLboolean, glIsProgramPipelineEXT, (GLuint pipeline), (pipeline), 1, "GLuint", pipeline) TRACE_GL(GLboolean, glIsQuery, (GLuint id), (id), 1, "GLuint", id) TRACE_GL(GLboolean, glIsQueryEXT, (GLuint id), (id), 1, "GLuint", id) @@ -383,6 +422,8 @@ TRACE_GL_VOID(glMaterialxv, (GLenum face, GLenum pname, const GLfixed * param), TRACE_GL_VOID(glMaterialxvOES, (GLenum face, GLenum pname, const GLfixed * param), (face, pname, param), 3, "GLenum", face, "GLenum", pname, "const GLfixed *", param) TRACE_GL_VOID(glMatrixIndexPointerOES, (GLint size, GLenum type, GLsizei stride, const void * pointer), (size, type, stride, pointer), 4, "GLint", size, "GLenum", type, "GLsizei", stride, "const void *", pointer) TRACE_GL_VOID(glMatrixMode, (GLenum mode), (mode), 1, "GLenum", mode) +TRACE_GL_VOID(glMemoryBarrier, (GLbitfield barriers), (barriers), 1, "GLbitfield", barriers) +TRACE_GL_VOID(glMemoryBarrierByRegion, (GLbitfield barriers), (barriers), 1, "GLbitfield", barriers) TRACE_GL_VOID(glMinSampleShadingOES, (GLfloat value), (value), 1, "GLfloat", value) TRACE_GL_VOID(glMultMatrixf, (const GLfloat * m), (m), 1, "const GLfloat *", m) TRACE_GL_VOID(glMultMatrixx, (const GLfixed * m), (m), 1, "const GLfixed *", m) @@ -410,6 +451,7 @@ TRACE_GL_VOID(glOrthof, (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, TRACE_GL_VOID(glOrthofOES, (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f), (l, r, b, t, n, f), 6, "GLfloat", l, "GLfloat", r, "GLfloat", b, "GLfloat", t, "GLfloat", n, "GLfloat", f) TRACE_GL_VOID(glOrthox, (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f), (l, r, b, t, n, f), 6, "GLfixed", l, "GLfixed", r, "GLfixed", b, "GLfixed", t, "GLfixed", n, "GLfixed", f) TRACE_GL_VOID(glOrthoxOES, (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f), (l, r, b, t, n, f), 6, "GLfixed", l, "GLfixed", r, "GLfixed", b, "GLfixed", t, "GLfixed", n, "GLfixed", f) +TRACE_GL_VOID(glPatchParameteriEXT, (GLenum pname, GLint value), (pname, value), 2, "GLenum", pname, "GLint", value) TRACE_GL_VOID(glPauseTransformFeedback, (void), (), 0) TRACE_GL_VOID(glPixelStorei, (GLenum pname, GLint param), (pname, param), 2, "GLenum", pname, "GLint", param) TRACE_GL_VOID(glPointParameterf, (GLenum pname, GLfloat param), (pname, param), 2, "GLenum", pname, "GLfloat", param) @@ -428,42 +470,76 @@ TRACE_GL_VOID(glPolygonOffsetxOES, (GLfixed factor, GLfixed units), (factor, uni TRACE_GL_VOID(glPopDebugGroupKHR, (void), (), 0) TRACE_GL_VOID(glPopGroupMarkerEXT, (void), (), 0) TRACE_GL_VOID(glPopMatrix, (void), (), 0) +TRACE_GL_VOID(glPrimitiveBoundingBoxEXT, (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW), (minX, minY, minZ, minW, maxX, maxY, maxZ, maxW), 8, "GLfloat", minX, "GLfloat", minY, "GLfloat", minZ, "GLfloat", minW, "GLfloat", maxX, "GLfloat", maxY, "GLfloat", maxZ, "GLfloat", maxW) TRACE_GL_VOID(glProgramBinary, (GLuint program, GLenum binaryFormat, const void * binary, GLsizei length), (program, binaryFormat, binary, length), 4, "GLuint", program, "GLenum", binaryFormat, "const void *", binary, "GLsizei", length) TRACE_GL_VOID(glProgramBinaryOES, (GLuint program, GLenum binaryFormat, const void * binary, GLint length), (program, binaryFormat, binary, length), 4, "GLuint", program, "GLenum", binaryFormat, "const void *", binary, "GLint", length) TRACE_GL_VOID(glProgramParameteri, (GLuint program, GLenum pname, GLint value), (program, pname, value), 3, "GLuint", program, "GLenum", pname, "GLint", value) TRACE_GL_VOID(glProgramParameteriEXT, (GLuint program, GLenum pname, GLint value), (program, pname, value), 3, "GLuint", program, "GLenum", pname, "GLint", value) +TRACE_GL_VOID(glProgramUniform1f, (GLuint program, GLint location, GLfloat v0), (program, location, v0), 3, "GLuint", program, "GLint", location, "GLfloat", v0) TRACE_GL_VOID(glProgramUniform1fEXT, (GLuint program, GLint location, GLfloat v0), (program, location, v0), 3, "GLuint", program, "GLint", location, "GLfloat", v0) +TRACE_GL_VOID(glProgramUniform1fv, (GLuint program, GLint location, GLsizei count, const GLfloat * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniform1fvEXT, (GLuint program, GLint location, GLsizei count, const GLfloat * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLfloat *", value) +TRACE_GL_VOID(glProgramUniform1i, (GLuint program, GLint location, GLint v0), (program, location, v0), 3, "GLuint", program, "GLint", location, "GLint", v0) TRACE_GL_VOID(glProgramUniform1iEXT, (GLuint program, GLint location, GLint v0), (program, location, v0), 3, "GLuint", program, "GLint", location, "GLint", v0) +TRACE_GL_VOID(glProgramUniform1iv, (GLuint program, GLint location, GLsizei count, const GLint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLint *", value) TRACE_GL_VOID(glProgramUniform1ivEXT, (GLuint program, GLint location, GLsizei count, const GLint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLint *", value) +TRACE_GL_VOID(glProgramUniform1ui, (GLuint program, GLint location, GLuint v0), (program, location, v0), 3, "GLuint", program, "GLint", location, "GLuint", v0) TRACE_GL_VOID(glProgramUniform1uiEXT, (GLuint program, GLint location, GLuint v0), (program, location, v0), 3, "GLuint", program, "GLint", location, "GLuint", v0) +TRACE_GL_VOID(glProgramUniform1uiv, (GLuint program, GLint location, GLsizei count, const GLuint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLuint *", value) TRACE_GL_VOID(glProgramUniform1uivEXT, (GLuint program, GLint location, GLsizei count, const GLuint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLuint *", value) +TRACE_GL_VOID(glProgramUniform2f, (GLuint program, GLint location, GLfloat v0, GLfloat v1), (program, location, v0, v1), 4, "GLuint", program, "GLint", location, "GLfloat", v0, "GLfloat", v1) TRACE_GL_VOID(glProgramUniform2fEXT, (GLuint program, GLint location, GLfloat v0, GLfloat v1), (program, location, v0, v1), 4, "GLuint", program, "GLint", location, "GLfloat", v0, "GLfloat", v1) +TRACE_GL_VOID(glProgramUniform2fv, (GLuint program, GLint location, GLsizei count, const GLfloat * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniform2fvEXT, (GLuint program, GLint location, GLsizei count, const GLfloat * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLfloat *", value) +TRACE_GL_VOID(glProgramUniform2i, (GLuint program, GLint location, GLint v0, GLint v1), (program, location, v0, v1), 4, "GLuint", program, "GLint", location, "GLint", v0, "GLint", v1) TRACE_GL_VOID(glProgramUniform2iEXT, (GLuint program, GLint location, GLint v0, GLint v1), (program, location, v0, v1), 4, "GLuint", program, "GLint", location, "GLint", v0, "GLint", v1) +TRACE_GL_VOID(glProgramUniform2iv, (GLuint program, GLint location, GLsizei count, const GLint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLint *", value) TRACE_GL_VOID(glProgramUniform2ivEXT, (GLuint program, GLint location, GLsizei count, const GLint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLint *", value) +TRACE_GL_VOID(glProgramUniform2ui, (GLuint program, GLint location, GLuint v0, GLuint v1), (program, location, v0, v1), 4, "GLuint", program, "GLint", location, "GLuint", v0, "GLuint", v1) TRACE_GL_VOID(glProgramUniform2uiEXT, (GLuint program, GLint location, GLuint v0, GLuint v1), (program, location, v0, v1), 4, "GLuint", program, "GLint", location, "GLuint", v0, "GLuint", v1) +TRACE_GL_VOID(glProgramUniform2uiv, (GLuint program, GLint location, GLsizei count, const GLuint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLuint *", value) TRACE_GL_VOID(glProgramUniform2uivEXT, (GLuint program, GLint location, GLsizei count, const GLuint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLuint *", value) +TRACE_GL_VOID(glProgramUniform3f, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2), (program, location, v0, v1, v2), 5, "GLuint", program, "GLint", location, "GLfloat", v0, "GLfloat", v1, "GLfloat", v2) TRACE_GL_VOID(glProgramUniform3fEXT, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2), (program, location, v0, v1, v2), 5, "GLuint", program, "GLint", location, "GLfloat", v0, "GLfloat", v1, "GLfloat", v2) +TRACE_GL_VOID(glProgramUniform3fv, (GLuint program, GLint location, GLsizei count, const GLfloat * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniform3fvEXT, (GLuint program, GLint location, GLsizei count, const GLfloat * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLfloat *", value) +TRACE_GL_VOID(glProgramUniform3i, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2), (program, location, v0, v1, v2), 5, "GLuint", program, "GLint", location, "GLint", v0, "GLint", v1, "GLint", v2) TRACE_GL_VOID(glProgramUniform3iEXT, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2), (program, location, v0, v1, v2), 5, "GLuint", program, "GLint", location, "GLint", v0, "GLint", v1, "GLint", v2) +TRACE_GL_VOID(glProgramUniform3iv, (GLuint program, GLint location, GLsizei count, const GLint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLint *", value) TRACE_GL_VOID(glProgramUniform3ivEXT, (GLuint program, GLint location, GLsizei count, const GLint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLint *", value) +TRACE_GL_VOID(glProgramUniform3ui, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2), (program, location, v0, v1, v2), 5, "GLuint", program, "GLint", location, "GLuint", v0, "GLuint", v1, "GLuint", v2) TRACE_GL_VOID(glProgramUniform3uiEXT, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2), (program, location, v0, v1, v2), 5, "GLuint", program, "GLint", location, "GLuint", v0, "GLuint", v1, "GLuint", v2) +TRACE_GL_VOID(glProgramUniform3uiv, (GLuint program, GLint location, GLsizei count, const GLuint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLuint *", value) TRACE_GL_VOID(glProgramUniform3uivEXT, (GLuint program, GLint location, GLsizei count, const GLuint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLuint *", value) +TRACE_GL_VOID(glProgramUniform4f, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3), (program, location, v0, v1, v2, v3), 6, "GLuint", program, "GLint", location, "GLfloat", v0, "GLfloat", v1, "GLfloat", v2, "GLfloat", v3) TRACE_GL_VOID(glProgramUniform4fEXT, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3), (program, location, v0, v1, v2, v3), 6, "GLuint", program, "GLint", location, "GLfloat", v0, "GLfloat", v1, "GLfloat", v2, "GLfloat", v3) +TRACE_GL_VOID(glProgramUniform4fv, (GLuint program, GLint location, GLsizei count, const GLfloat * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniform4fvEXT, (GLuint program, GLint location, GLsizei count, const GLfloat * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLfloat *", value) +TRACE_GL_VOID(glProgramUniform4i, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3), (program, location, v0, v1, v2, v3), 6, "GLuint", program, "GLint", location, "GLint", v0, "GLint", v1, "GLint", v2, "GLint", v3) TRACE_GL_VOID(glProgramUniform4iEXT, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3), (program, location, v0, v1, v2, v3), 6, "GLuint", program, "GLint", location, "GLint", v0, "GLint", v1, "GLint", v2, "GLint", v3) +TRACE_GL_VOID(glProgramUniform4iv, (GLuint program, GLint location, GLsizei count, const GLint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLint *", value) TRACE_GL_VOID(glProgramUniform4ivEXT, (GLuint program, GLint location, GLsizei count, const GLint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLint *", value) +TRACE_GL_VOID(glProgramUniform4ui, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3), (program, location, v0, v1, v2, v3), 6, "GLuint", program, "GLint", location, "GLuint", v0, "GLuint", v1, "GLuint", v2, "GLuint", v3) TRACE_GL_VOID(glProgramUniform4uiEXT, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3), (program, location, v0, v1, v2, v3), 6, "GLuint", program, "GLint", location, "GLuint", v0, "GLuint", v1, "GLuint", v2, "GLuint", v3) +TRACE_GL_VOID(glProgramUniform4uiv, (GLuint program, GLint location, GLsizei count, const GLuint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLuint *", value) TRACE_GL_VOID(glProgramUniform4uivEXT, (GLuint program, GLint location, GLsizei count, const GLuint * value), (program, location, count, value), 4, "GLuint", program, "GLint", location, "GLsizei", count, "const GLuint *", value) +TRACE_GL_VOID(glProgramUniformMatrix2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniformMatrix2fvEXT, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) +TRACE_GL_VOID(glProgramUniformMatrix2x3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniformMatrix2x3fvEXT, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) +TRACE_GL_VOID(glProgramUniformMatrix2x4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniformMatrix2x4fvEXT, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) +TRACE_GL_VOID(glProgramUniformMatrix3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniformMatrix3fvEXT, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) +TRACE_GL_VOID(glProgramUniformMatrix3x2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniformMatrix3x2fvEXT, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) +TRACE_GL_VOID(glProgramUniformMatrix3x4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniformMatrix3x4fvEXT, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) +TRACE_GL_VOID(glProgramUniformMatrix4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniformMatrix4fvEXT, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) +TRACE_GL_VOID(glProgramUniformMatrix4x2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniformMatrix4x2fvEXT, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) +TRACE_GL_VOID(glProgramUniformMatrix4x3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) TRACE_GL_VOID(glProgramUniformMatrix4x3fvEXT, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value), (program, location, count, transpose, value), 5, "GLuint", program, "GLint", location, "GLsizei", count, "GLboolean", transpose, "const GLfloat *", value) TRACE_GL_VOID(glPushDebugGroupKHR, (GLenum source, GLuint id, GLsizei length, const GLchar * message), (source, id, length, message), 4, "GLenum", source, "GLuint", id, "GLsizei", length, "const GLchar *", message) TRACE_GL_VOID(glPushGroupMarkerEXT, (GLsizei length, const GLchar * marker), (length, marker), 2, "GLsizei", length, "const GLchar *", marker) @@ -493,6 +569,9 @@ TRACE_GL_VOID(glSampleCoverage, (GLfloat value, GLboolean invert), (value, inver TRACE_GL_VOID(glSampleCoverageOES, (GLfixed value, GLboolean invert), (value, invert), 2, "GLfixed", value, "GLboolean", invert) TRACE_GL_VOID(glSampleCoveragex, (GLclampx value, GLboolean invert), (value, invert), 2, "GLclampx", value, "GLboolean", invert) TRACE_GL_VOID(glSampleCoveragexOES, (GLclampx value, GLboolean invert), (value, invert), 2, "GLclampx", value, "GLboolean", invert) +TRACE_GL_VOID(glSampleMaski, (GLuint maskNumber, GLbitfield mask), (maskNumber, mask), 2, "GLuint", maskNumber, "GLbitfield", mask) +TRACE_GL_VOID(glSamplerParameterIivEXT, (GLuint sampler, GLenum pname, const GLint * param), (sampler, pname, param), 3, "GLuint", sampler, "GLenum", pname, "const GLint *", param) +TRACE_GL_VOID(glSamplerParameterIuivEXT, (GLuint sampler, GLenum pname, const GLuint * param), (sampler, pname, param), 3, "GLuint", sampler, "GLenum", pname, "const GLuint *", param) TRACE_GL_VOID(glSamplerParameterf, (GLuint sampler, GLenum pname, GLfloat param), (sampler, pname, param), 3, "GLuint", sampler, "GLenum", pname, "GLfloat", param) TRACE_GL_VOID(glSamplerParameterfv, (GLuint sampler, GLenum pname, const GLfloat * param), (sampler, pname, param), 3, "GLuint", sampler, "GLenum", pname, "const GLfloat *", param) TRACE_GL_VOID(glSamplerParameteri, (GLuint sampler, GLenum pname, GLint param), (sampler, pname, param), 3, "GLuint", sampler, "GLenum", pname, "GLint", param) @@ -514,6 +593,8 @@ TRACE_GL_VOID(glStencilMaskSeparate, (GLenum face, GLuint mask), (face, mask), 2 TRACE_GL_VOID(glStencilOp, (GLenum fail, GLenum zfail, GLenum zpass), (fail, zfail, zpass), 3, "GLenum", fail, "GLenum", zfail, "GLenum", zpass) TRACE_GL_VOID(glStencilOpSeparate, (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass), (face, sfail, dpfail, dppass), 4, "GLenum", face, "GLenum", sfail, "GLenum", dpfail, "GLenum", dppass) TRACE_GL(GLboolean, glTestFenceNV, (GLuint fence), (fence), 1, "GLuint", fence) +TRACE_GL_VOID(glTexBufferEXT, (GLenum target, GLenum internalformat, GLuint buffer), (target, internalformat, buffer), 3, "GLenum", target, "GLenum", internalformat, "GLuint", buffer) +TRACE_GL_VOID(glTexBufferRangeEXT, (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size), (target, internalformat, buffer, offset, size), 5, "GLenum", target, "GLenum", internalformat, "GLuint", buffer, "GLintptr", offset, "GLsizeiptr", size) TRACE_GL_VOID(glTexCoord1bOES, (GLbyte s), (s), 1, "GLbyte", s) TRACE_GL_VOID(glTexCoord1bvOES, (const GLbyte * coords), (coords), 1, "const GLbyte *", coords) TRACE_GL_VOID(glTexCoord2bOES, (GLbyte s, GLbyte t), (s, t), 2, "GLbyte", s, "GLbyte", t) @@ -540,6 +621,8 @@ TRACE_GL_VOID(glTexGenxvOES, (GLenum coord, GLenum pname, const GLfixed * params TRACE_GL_VOID(glTexImage2D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels), (target, level, internalformat, width, height, border, format, type, pixels), 9, "GLenum", target, "GLint", level, "GLint", internalformat, "GLsizei", width, "GLsizei", height, "GLint", border, "GLenum", format, "GLenum", type, "const void *", pixels) TRACE_GL_VOID(glTexImage3D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels), (target, level, internalformat, width, height, depth, border, format, type, pixels), 10, "GLenum", target, "GLint", level, "GLint", internalformat, "GLsizei", width, "GLsizei", height, "GLsizei", depth, "GLint", border, "GLenum", format, "GLenum", type, "const void *", pixels) TRACE_GL_VOID(glTexImage3DOES, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels), (target, level, internalformat, width, height, depth, border, format, type, pixels), 10, "GLenum", target, "GLint", level, "GLenum", internalformat, "GLsizei", width, "GLsizei", height, "GLsizei", depth, "GLint", border, "GLenum", format, "GLenum", type, "const void *", pixels) +TRACE_GL_VOID(glTexParameterIivEXT, (GLenum target, GLenum pname, const GLint * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "const GLint *", params) +TRACE_GL_VOID(glTexParameterIuivEXT, (GLenum target, GLenum pname, const GLuint * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "const GLuint *", params) TRACE_GL_VOID(glTexParameterf, (GLenum target, GLenum pname, GLfloat param), (target, pname, param), 3, "GLenum", target, "GLenum", pname, "GLfloat", param) TRACE_GL_VOID(glTexParameterfv, (GLenum target, GLenum pname, const GLfloat * params), (target, pname, params), 3, "GLenum", target, "GLenum", pname, "const GLfloat *", params) TRACE_GL_VOID(glTexParameteri, (GLenum target, GLenum pname, GLint param), (target, pname, param), 3, "GLenum", target, "GLenum", pname, "GLint", param) @@ -551,6 +634,7 @@ TRACE_GL_VOID(glTexParameterxvOES, (GLenum target, GLenum pname, const GLfixed * TRACE_GL_VOID(glTexStorage1DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width), (target, levels, internalformat, width), 4, "GLenum", target, "GLsizei", levels, "GLenum", internalformat, "GLsizei", width) TRACE_GL_VOID(glTexStorage2D, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height), (target, levels, internalformat, width, height), 5, "GLenum", target, "GLsizei", levels, "GLenum", internalformat, "GLsizei", width, "GLsizei", height) TRACE_GL_VOID(glTexStorage2DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height), (target, levels, internalformat, width, height), 5, "GLenum", target, "GLsizei", levels, "GLenum", internalformat, "GLsizei", width, "GLsizei", height) +TRACE_GL_VOID(glTexStorage2DMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations), (target, samples, internalformat, width, height, fixedsamplelocations), 6, "GLenum", target, "GLsizei", samples, "GLenum", internalformat, "GLsizei", width, "GLsizei", height, "GLboolean", fixedsamplelocations) TRACE_GL_VOID(glTexStorage3D, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth), (target, levels, internalformat, width, height, depth), 6, "GLenum", target, "GLsizei", levels, "GLenum", internalformat, "GLsizei", width, "GLsizei", height, "GLsizei", depth) TRACE_GL_VOID(glTexStorage3DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth), (target, levels, internalformat, width, height, depth), 6, "GLenum", target, "GLsizei", levels, "GLenum", internalformat, "GLsizei", width, "GLsizei", height, "GLsizei", depth) TRACE_GL_VOID(glTexStorage3DMultisampleOES, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations), (target, samples, internalformat, width, height, depth, fixedsamplelocations), 7, "GLenum", target, "GLsizei", samples, "GLenum", internalformat, "GLsizei", width, "GLsizei", height, "GLsizei", depth, "GLboolean", fixedsamplelocations) @@ -560,6 +644,7 @@ TRACE_GL_VOID(glTexSubImage3DOES, (GLenum target, GLint level, GLint xoffset, GL TRACE_GL_VOID(glTextureStorage1DEXT, (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width), (texture, target, levels, internalformat, width), 5, "GLuint", texture, "GLenum", target, "GLsizei", levels, "GLenum", internalformat, "GLsizei", width) TRACE_GL_VOID(glTextureStorage2DEXT, (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height), (texture, target, levels, internalformat, width, height), 6, "GLuint", texture, "GLenum", target, "GLsizei", levels, "GLenum", internalformat, "GLsizei", width, "GLsizei", height) TRACE_GL_VOID(glTextureStorage3DEXT, (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth), (texture, target, levels, internalformat, width, height, depth), 7, "GLuint", texture, "GLenum", target, "GLsizei", levels, "GLenum", internalformat, "GLsizei", width, "GLsizei", height, "GLsizei", depth) +TRACE_GL_VOID(glTextureViewEXT, (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers), (texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers), 8, "GLuint", texture, "GLenum", target, "GLuint", origtexture, "GLenum", internalformat, "GLuint", minlevel, "GLuint", numlevels, "GLuint", minlayer, "GLuint", numlayers) TRACE_GL_VOID(glTransformFeedbackVaryings, (GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode), (program, count, varyings, bufferMode), 4, "GLuint", program, "GLsizei", count, "const GLchar *const*", varyings, "GLenum", bufferMode) TRACE_GL_VOID(glTranslatef, (GLfloat x, GLfloat y, GLfloat z), (x, y, z), 3, "GLfloat", x, "GLfloat", y, "GLfloat", z) TRACE_GL_VOID(glTranslatex, (GLfixed x, GLfixed y, GLfixed z), (x, y, z), 3, "GLfixed", x, "GLfixed", y, "GLfixed", z) @@ -607,8 +692,10 @@ TRACE_GL_VOID(glUniformMatrix4x3fvNV, (GLint location, GLsizei count, GLboolean TRACE_GL(GLboolean, glUnmapBuffer, (GLenum target), (target), 1, "GLenum", target) TRACE_GL(GLboolean, glUnmapBufferOES, (GLenum target), (target), 1, "GLenum", target) TRACE_GL_VOID(glUseProgram, (GLuint program), (program), 1, "GLuint", program) +TRACE_GL_VOID(glUseProgramStages, (GLuint pipeline, GLbitfield stages, GLuint program), (pipeline, stages, program), 3, "GLuint", pipeline, "GLbitfield", stages, "GLuint", program) TRACE_GL_VOID(glUseProgramStagesEXT, (GLuint pipeline, GLbitfield stages, GLuint program), (pipeline, stages, program), 3, "GLuint", pipeline, "GLbitfield", stages, "GLuint", program) TRACE_GL_VOID(glValidateProgram, (GLuint program), (program), 1, "GLuint", program) +TRACE_GL_VOID(glValidateProgramPipeline, (GLuint pipeline), (pipeline), 1, "GLuint", pipeline) TRACE_GL_VOID(glValidateProgramPipelineEXT, (GLuint pipeline), (pipeline), 1, "GLuint", pipeline) TRACE_GL_VOID(glVertex2bOES, (GLbyte x), (x), 1, "GLbyte", x) TRACE_GL_VOID(glVertex2bvOES, (const GLbyte * coords), (coords), 1, "const GLbyte *", coords) @@ -624,16 +711,20 @@ TRACE_GL_VOID(glVertexAttrib3f, (GLuint index, GLfloat x, GLfloat y, GLfloat z), TRACE_GL_VOID(glVertexAttrib3fv, (GLuint index, const GLfloat * v), (index, v), 2, "GLuint", index, "const GLfloat *", v) TRACE_GL_VOID(glVertexAttrib4f, (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w), (index, x, y, z, w), 5, "GLuint", index, "GLfloat", x, "GLfloat", y, "GLfloat", z, "GLfloat", w) TRACE_GL_VOID(glVertexAttrib4fv, (GLuint index, const GLfloat * v), (index, v), 2, "GLuint", index, "const GLfloat *", v) +TRACE_GL_VOID(glVertexAttribBinding, (GLuint attribindex, GLuint bindingindex), (attribindex, bindingindex), 2, "GLuint", attribindex, "GLuint", bindingindex) TRACE_GL_VOID(glVertexAttribDivisor, (GLuint index, GLuint divisor), (index, divisor), 2, "GLuint", index, "GLuint", divisor) TRACE_GL_VOID(glVertexAttribDivisorANGLE, (GLuint index, GLuint divisor), (index, divisor), 2, "GLuint", index, "GLuint", divisor) TRACE_GL_VOID(glVertexAttribDivisorEXT, (GLuint index, GLuint divisor), (index, divisor), 2, "GLuint", index, "GLuint", divisor) TRACE_GL_VOID(glVertexAttribDivisorNV, (GLuint index, GLuint divisor), (index, divisor), 2, "GLuint", index, "GLuint", divisor) +TRACE_GL_VOID(glVertexAttribFormat, (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset), (attribindex, size, type, normalized, relativeoffset), 5, "GLuint", attribindex, "GLint", size, "GLenum", type, "GLboolean", normalized, "GLuint", relativeoffset) TRACE_GL_VOID(glVertexAttribI4i, (GLuint index, GLint x, GLint y, GLint z, GLint w), (index, x, y, z, w), 5, "GLuint", index, "GLint", x, "GLint", y, "GLint", z, "GLint", w) TRACE_GL_VOID(glVertexAttribI4iv, (GLuint index, const GLint * v), (index, v), 2, "GLuint", index, "const GLint *", v) TRACE_GL_VOID(glVertexAttribI4ui, (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w), (index, x, y, z, w), 5, "GLuint", index, "GLuint", x, "GLuint", y, "GLuint", z, "GLuint", w) TRACE_GL_VOID(glVertexAttribI4uiv, (GLuint index, const GLuint * v), (index, v), 2, "GLuint", index, "const GLuint *", v) +TRACE_GL_VOID(glVertexAttribIFormat, (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset), (attribindex, size, type, relativeoffset), 4, "GLuint", attribindex, "GLint", size, "GLenum", type, "GLuint", relativeoffset) TRACE_GL_VOID(glVertexAttribIPointer, (GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer), (index, size, type, stride, pointer), 5, "GLuint", index, "GLint", size, "GLenum", type, "GLsizei", stride, "const void *", pointer) TRACE_GL_VOID(glVertexAttribPointer, (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer), (index, size, type, normalized, stride, pointer), 6, "GLuint", index, "GLint", size, "GLenum", type, "GLboolean", normalized, "GLsizei", stride, "const void *", pointer) +TRACE_GL_VOID(glVertexBindingDivisor, (GLuint bindingindex, GLuint divisor), (bindingindex, divisor), 2, "GLuint", bindingindex, "GLuint", divisor) TRACE_GL_VOID(glVertexPointer, (GLint size, GLenum type, GLsizei stride, const void * pointer), (size, type, stride, pointer), 4, "GLint", size, "GLenum", type, "GLsizei", stride, "const void *", pointer) TRACE_GL_VOID(glViewport, (GLint x, GLint y, GLsizei width, GLsizei height), (x, y, width, height), 4, "GLint", x, "GLint", y, "GLsizei", width, "GLsizei", height) TRACE_GL_VOID(glWaitSync, (GLsync sync, GLbitfield flags, GLuint64 timeout), (sync, flags, timeout), 3, "GLsync", sync, "GLbitfield", flags, "GLuint64", timeout) diff --git a/opengl/tools/glgen2/glgen.py b/opengl/tools/glgen2/glgen.py index 4887f8d2fa..f4d54b33f4 100755 --- a/opengl/tools/glgen2/glgen.py +++ b/opengl/tools/glgen2/glgen.py @@ -206,12 +206,10 @@ if __name__ == '__main__': filename = '../../libs/GLES_CM/glext_api.in'), reg.GeneratorOptions( apiname = 'gles2', - versions = '(2|3)\.0', profile = 'common', filename = '../../libs/GLES2/gl2_api.in'), reg.GeneratorOptions( apiname = 'gles2', - versions = '(2|3)\.0', profile = 'common', emitversions = None, defaultExtensions = 'gles2', @@ -230,7 +228,6 @@ if __name__ == '__main__': profile = 'common'), reg.GeneratorOptions( apiname = 'gles2', - versions = '2\.0|3\.0', profile = 'common'), reg.GeneratorOptions( apiname = 'gles1', @@ -239,7 +236,6 @@ if __name__ == '__main__': defaultExtensions = 'gles1'), reg.GeneratorOptions( apiname = 'gles2', - versions = '2\.0|3\.0', profile = 'common', emitversions = None, defaultExtensions = 'gles2')] -- 2.11.0