gltrace_api.cpp revision 0469dd6d55fa331bfd7de9431da98b6340d82271
10469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy/*
20469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy * Copyright 2011, The Android Open Source Project
30469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy *
40469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy * Licensed under the Apache License, Version 2.0 (the "License");
50469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy * you may not use this file except in compliance with the License.
60469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy * You may obtain a copy of the License at
70469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy *
80469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy *     http://www.apache.org/licenses/LICENSE-2.0
90469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy *
100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy * Unless required by applicable law or agreed to in writing, software
110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy * distributed under the License is distributed on an "AS IS" BASIS,
120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy * See the License for the specific language governing permissions and
140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy * limitations under the License.
150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy *
160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy * THIS FILE WAS GENERATED BY A SCRIPT. DO NOT EDIT.
170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy */
180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy#include <cutils/log.h>
200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy#include <GLES2/gl2.h>
210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy#include "gltrace.pb.h"
230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy#include "gltrace_context.h"
240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy#include "gltrace_fixup.h"
250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy#include "gltrace_transport.h"
260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamynamespace android {
280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamynamespace gltrace {
290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy// Definitions for GL2 APIs
320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glActiveTexture(GLenum texture) {
340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glActiveTexture);
390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument texture
410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_texture = glmsg.add_args();
420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_isarray(false);
430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_type(GLMessage::DataType::ENUM);
440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->add_intvalue((int)texture);
450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glActiveTexture(texture);
480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glAttachShader(GLuint program, GLuint shader) {
540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glAttachShader);
590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shader
670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shader = glmsg.add_args();
680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_isarray(false);
690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_type(GLMessage::DataType::INT);
700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->add_intvalue(shader);
710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glAttachShader(program, shader);
740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBindAttribLocation(GLuint program, GLuint index, const GLchar* name) {
800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBindAttribLocation);
850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument index
930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_index = glmsg.add_args();
940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_isarray(false);
950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_type(GLMessage::DataType::INT);
960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->add_intvalue(index);
970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument name
990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_name = glmsg.add_args();
1000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->set_isarray(false);
1010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->set_type(GLMessage::DataType::INT);
1020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->add_intvalue((int)name);
1030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
1050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBindAttribLocation(program, index, name);
1060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
1080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
1090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
1100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBindBuffer(GLenum target, GLuint buffer) {
1120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
1130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
1140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
1160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBindBuffer);
1170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
1190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
1200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
1210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
1220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
1230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument buffer
1250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_buffer = glmsg.add_args();
1260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffer->set_isarray(false);
1270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffer->set_type(GLMessage::DataType::INT);
1280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffer->add_intvalue(buffer);
1290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
1310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBindBuffer(target, buffer);
1320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
1340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
1350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
1360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBindFramebuffer(GLenum target, GLuint framebuffer) {
1380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
1390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
1400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
1420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBindFramebuffer);
1430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
1450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
1460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
1470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
1480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
1490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument framebuffer
1510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_framebuffer = glmsg.add_args();
1520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffer->set_isarray(false);
1530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffer->set_type(GLMessage::DataType::INT);
1540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffer->add_intvalue(framebuffer);
1550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
1570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBindFramebuffer(target, framebuffer);
1580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
1600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
1610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
1620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBindRenderbuffer(GLenum target, GLuint renderbuffer) {
1640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
1650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
1660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
1680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBindRenderbuffer);
1690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
1710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
1720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
1730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
1740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
1750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffer
1770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffer = glmsg.add_args();
1780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->set_isarray(false);
1790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->set_type(GLMessage::DataType::INT);
1800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->add_intvalue(renderbuffer);
1810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
1830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBindRenderbuffer(target, renderbuffer);
1840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
1860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
1870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
1880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBindTexture(GLenum target, GLuint texture) {
1900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
1910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
1920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
1940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBindTexture);
1950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
1960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
1970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
1980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
1990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
2000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
2010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument texture
2030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_texture = glmsg.add_args();
2040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_isarray(false);
2050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_type(GLMessage::DataType::INT);
2060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->add_intvalue(texture);
2070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
2090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBindTexture(target, texture);
2100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
2120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
2130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
2140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) {
2160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
2170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
2180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
2200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBlendColor);
2210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument red
2230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_red = glmsg.add_args();
2240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_isarray(false);
2250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_type(GLMessage::DataType::FLOAT);
2260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->add_floatvalue(red);
2270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument green
2290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_green = glmsg.add_args();
2300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_isarray(false);
2310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_type(GLMessage::DataType::FLOAT);
2320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->add_floatvalue(green);
2330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument blue
2350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_blue = glmsg.add_args();
2360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_isarray(false);
2370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_type(GLMessage::DataType::FLOAT);
2380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->add_floatvalue(blue);
2390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument alpha
2410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_alpha = glmsg.add_args();
2420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_isarray(false);
2430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_type(GLMessage::DataType::FLOAT);
2440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->add_floatvalue(alpha);
2450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
2470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBlendColor(red, green, blue, alpha);
2480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
2500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
2510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
2520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBlendEquation(GLenum mode) {
2540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
2550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
2560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
2580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBlendEquation);
2590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mode
2610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mode = glmsg.add_args();
2620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_isarray(false);
2630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_type(GLMessage::DataType::ENUM);
2640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->add_intvalue((int)mode);
2650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
2670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBlendEquation(mode);
2680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
2700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
2710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
2720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) {
2740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
2750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
2760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
2780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBlendEquationSeparate);
2790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument modeRGB
2810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_modeRGB = glmsg.add_args();
2820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_modeRGB->set_isarray(false);
2830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_modeRGB->set_type(GLMessage::DataType::ENUM);
2840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_modeRGB->add_intvalue((int)modeRGB);
2850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument modeAlpha
2870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_modeAlpha = glmsg.add_args();
2880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_modeAlpha->set_isarray(false);
2890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_modeAlpha->set_type(GLMessage::DataType::ENUM);
2900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_modeAlpha->add_intvalue((int)modeAlpha);
2910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
2930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBlendEquationSeparate(modeRGB, modeAlpha);
2940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
2960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
2970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
2980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
2990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBlendFunc(GLenum sfactor, GLenum dfactor) {
3000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
3010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
3020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
3040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBlendFunc);
3050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument sfactor
3070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_sfactor = glmsg.add_args();
3080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_sfactor->set_isarray(false);
3090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_sfactor->set_type(GLMessage::DataType::ENUM);
3100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_sfactor->add_intvalue((int)sfactor);
3110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument dfactor
3130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_dfactor = glmsg.add_args();
3140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dfactor->set_isarray(false);
3150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dfactor->set_type(GLMessage::DataType::ENUM);
3160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dfactor->add_intvalue((int)dfactor);
3170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
3190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBlendFunc(sfactor, dfactor);
3200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
3220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
3230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
3240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) {
3260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
3270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
3280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
3300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBlendFuncSeparate);
3310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument srcRGB
3330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_srcRGB = glmsg.add_args();
3340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_srcRGB->set_isarray(false);
3350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_srcRGB->set_type(GLMessage::DataType::ENUM);
3360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_srcRGB->add_intvalue((int)srcRGB);
3370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument dstRGB
3390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_dstRGB = glmsg.add_args();
3400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dstRGB->set_isarray(false);
3410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dstRGB->set_type(GLMessage::DataType::ENUM);
3420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dstRGB->add_intvalue((int)dstRGB);
3430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument srcAlpha
3450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_srcAlpha = glmsg.add_args();
3460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_srcAlpha->set_isarray(false);
3470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_srcAlpha->set_type(GLMessage::DataType::ENUM);
3480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_srcAlpha->add_intvalue((int)srcAlpha);
3490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument dstAlpha
3510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_dstAlpha = glmsg.add_args();
3520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dstAlpha->set_isarray(false);
3530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dstAlpha->set_type(GLMessage::DataType::ENUM);
3540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dstAlpha->add_intvalue((int)dstAlpha);
3550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
3570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
3580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
3600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
3610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
3620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage) {
3640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
3650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
3660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
3680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBufferData);
3690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
3710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
3720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
3730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
3740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
3750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
3770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
3780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
3790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
3800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue((int)size);
3810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument data
3830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_data = glmsg.add_args();
3840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_isarray(false);
3850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_type(GLMessage::DataType::INT);
3860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->add_intvalue((int)data);
3870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument usage
3890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_usage = glmsg.add_args();
3900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_usage->set_isarray(false);
3910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_usage->set_type(GLMessage::DataType::ENUM);
3920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_usage->add_intvalue((int)usage);
3930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
3950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBufferData(target, size, data, usage);
3960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
3970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
3980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
3990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
4000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data) {
4020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
4030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
4040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
4060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBufferSubData);
4070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
4090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
4100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
4110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
4120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
4130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument offset
4150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_offset = glmsg.add_args();
4160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_offset->set_isarray(false);
4170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_offset->set_type(GLMessage::DataType::INT);
4180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_offset->add_intvalue((int)offset);
4190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
4210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
4220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
4230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
4240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue((int)size);
4250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument data
4270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_data = glmsg.add_args();
4280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_isarray(false);
4290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_type(GLMessage::DataType::INT);
4300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->add_intvalue((int)data);
4310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
4330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBufferSubData(target, offset, size, data);
4340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
4360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
4370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
4380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4390469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLenum GLTrace_glCheckFramebufferStatus(GLenum target) {
4400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
4410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
4420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
4440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCheckFramebufferStatus);
4450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
4470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
4480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
4490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
4500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
4510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
4530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLenum retValue = glContext->hooks->gl.glCheckFramebufferStatus(target);
4540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
4560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
4570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
4580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::ENUM);
4590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_intvalue((int)retValue);
4600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
4620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
4630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
4650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
4660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClear(GLbitfield mask) {
4680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
4690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
4700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
4720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClear);
4730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mask
4750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mask = glmsg.add_args();
4760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->set_isarray(false);
4770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->set_type(GLMessage::DataType::INT);
4780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->add_intvalue(mask);
4790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
4810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClear(mask);
4820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
4840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
4850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
4860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) {
4880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
4890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
4900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
4920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClearColor);
4930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
4940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument red
4950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_red = glmsg.add_args();
4960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_isarray(false);
4970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_type(GLMessage::DataType::FLOAT);
4980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->add_floatvalue(red);
4990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument green
5010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_green = glmsg.add_args();
5020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_isarray(false);
5030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_type(GLMessage::DataType::FLOAT);
5040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->add_floatvalue(green);
5050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument blue
5070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_blue = glmsg.add_args();
5080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_isarray(false);
5090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_type(GLMessage::DataType::FLOAT);
5100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->add_floatvalue(blue);
5110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument alpha
5130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_alpha = glmsg.add_args();
5140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_isarray(false);
5150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_type(GLMessage::DataType::FLOAT);
5160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->add_floatvalue(alpha);
5170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
5190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClearColor(red, green, blue, alpha);
5200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
5220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
5230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
5240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClearDepthf(GLclampf depth) {
5260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
5270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
5280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
5300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClearDepthf);
5310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument depth
5330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_depth = glmsg.add_args();
5340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_isarray(false);
5350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_type(GLMessage::DataType::FLOAT);
5360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->add_floatvalue(depth);
5370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
5390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClearDepthf(depth);
5400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
5420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
5430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
5440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClearStencil(GLint s) {
5460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
5470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
5480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
5500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClearStencil);
5510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument s
5530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_s = glmsg.add_args();
5540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_s->set_isarray(false);
5550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_s->set_type(GLMessage::DataType::INT);
5560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_s->add_intvalue(s);
5570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
5590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClearStencil(s);
5600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
5620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
5630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
5640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) {
5660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
5670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
5680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
5700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glColorMask);
5710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument red
5730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_red = glmsg.add_args();
5740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_isarray(false);
5750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_type(GLMessage::DataType::BOOL);
5760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->add_boolvalue(red);
5770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument green
5790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_green = glmsg.add_args();
5800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_isarray(false);
5810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_type(GLMessage::DataType::BOOL);
5820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->add_boolvalue(green);
5830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument blue
5850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_blue = glmsg.add_args();
5860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_isarray(false);
5870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_type(GLMessage::DataType::BOOL);
5880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->add_boolvalue(blue);
5890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument alpha
5910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_alpha = glmsg.add_args();
5920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_isarray(false);
5930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_type(GLMessage::DataType::BOOL);
5940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->add_boolvalue(alpha);
5950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
5970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glColorMask(red, green, blue, alpha);
5980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
5990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
6000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
6010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
6020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glCompileShader(GLuint shader) {
6040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
6050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
6060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
6080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCompileShader);
6090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shader
6110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shader = glmsg.add_args();
6120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_isarray(false);
6130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_type(GLMessage::DataType::INT);
6140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->add_intvalue(shader);
6150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
6170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glCompileShader(shader);
6180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
6200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
6210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
6220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data) {
6240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
6250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
6260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
6280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCompressedTexImage2D);
6290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
6310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
6320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
6330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
6340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
6350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
6370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
6380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
6390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
6400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
6410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument internalformat
6430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_internalformat = glmsg.add_args();
6440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_isarray(false);
6450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_type(GLMessage::DataType::ENUM);
6460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->add_intvalue((int)internalformat);
6470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
6490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
6500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
6510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
6520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
6530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
6550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
6560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
6570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
6580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
6590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument border
6610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_border = glmsg.add_args();
6620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->set_isarray(false);
6630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->set_type(GLMessage::DataType::INT);
6640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->add_intvalue(border);
6650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument imageSize
6670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_imageSize = glmsg.add_args();
6680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_imageSize->set_isarray(false);
6690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_imageSize->set_type(GLMessage::DataType::INT);
6700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_imageSize->add_intvalue(imageSize);
6710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument data
6730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_data = glmsg.add_args();
6740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_isarray(false);
6750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_type(GLMessage::DataType::INT);
6760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->add_intvalue((int)data);
6770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
6790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
6800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
6820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
6830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
6840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data) {
6860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
6870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
6880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
6900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCompressedTexSubImage2D);
6910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
6930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
6940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
6950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
6960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
6970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
6980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
6990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
7000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
7010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
7020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
7030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument xoffset
7050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_xoffset = glmsg.add_args();
7060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_isarray(false);
7070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_type(GLMessage::DataType::INT);
7080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->add_intvalue(xoffset);
7090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument yoffset
7110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_yoffset = glmsg.add_args();
7120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_isarray(false);
7130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_type(GLMessage::DataType::INT);
7140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->add_intvalue(yoffset);
7150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
7170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
7180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
7190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
7200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
7210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
7230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
7240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
7250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
7260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
7270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument format
7290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_format = glmsg.add_args();
7300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_isarray(false);
7310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_type(GLMessage::DataType::ENUM);
7320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->add_intvalue((int)format);
7330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument imageSize
7350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_imageSize = glmsg.add_args();
7360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_imageSize->set_isarray(false);
7370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_imageSize->set_type(GLMessage::DataType::INT);
7380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_imageSize->add_intvalue(imageSize);
7390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument data
7410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_data = glmsg.add_args();
7420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_isarray(false);
7430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_type(GLMessage::DataType::INT);
7440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->add_intvalue((int)data);
7450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
7470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
7480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
7500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
7510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
7520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {
7540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
7550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
7560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
7580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCopyTexImage2D);
7590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
7610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
7620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
7630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
7640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
7650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
7670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
7680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
7690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
7700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
7710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument internalformat
7730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_internalformat = glmsg.add_args();
7740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_isarray(false);
7750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_type(GLMessage::DataType::ENUM);
7760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->add_intvalue((int)internalformat);
7770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
7790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
7800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
7810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
7820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
7830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
7850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
7860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
7870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
7880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
7890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
7910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
7920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
7930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
7940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
7950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
7960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
7970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
7980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
7990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
8000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
8010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument border
8030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_border = glmsg.add_args();
8040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->set_isarray(false);
8050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->set_type(GLMessage::DataType::INT);
8060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->add_intvalue(border);
8070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
8090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border);
8100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
8120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
8130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
8140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
8160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
8170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
8180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
8200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCopyTexSubImage2D);
8210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
8230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
8240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
8250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
8260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
8270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
8290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
8300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
8310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
8320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
8330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument xoffset
8350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_xoffset = glmsg.add_args();
8360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_isarray(false);
8370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_type(GLMessage::DataType::INT);
8380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->add_intvalue(xoffset);
8390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument yoffset
8410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_yoffset = glmsg.add_args();
8420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_isarray(false);
8430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_type(GLMessage::DataType::INT);
8440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->add_intvalue(yoffset);
8450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
8470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
8480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
8490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
8500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
8510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
8530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
8540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
8550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
8560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
8570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
8590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
8600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
8610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
8620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
8630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
8650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
8660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
8670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
8680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
8690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
8710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
8720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
8740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
8750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
8760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8770469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLuint GLTrace_glCreateProgram(void) {
8780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
8790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
8800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
8820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCreateProgram);
8830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
8850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLuint retValue = glContext->hooks->gl.glCreateProgram();
8860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
8880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
8890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
8900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::INT);
8910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_intvalue(retValue);
8920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
8940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
8950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
8970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
8980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
8990469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLuint GLTrace_glCreateShader(GLenum type) {
9000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
9010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
9020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
9040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCreateShader);
9050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
9070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
9080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
9090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
9100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
9110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
9130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLuint retValue = glContext->hooks->gl.glCreateShader(type);
9140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
9160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
9170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
9180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::INT);
9190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_intvalue(retValue);
9200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
9220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
9230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
9250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
9260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glCullFace(GLenum mode) {
9280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
9290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
9300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
9320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCullFace);
9330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mode
9350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mode = glmsg.add_args();
9360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_isarray(false);
9370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_type(GLMessage::DataType::ENUM);
9380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->add_intvalue((int)mode);
9390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
9410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glCullFace(mode);
9420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
9440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
9450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
9460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDeleteBuffers(GLsizei n, const GLuint* buffers) {
9480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
9490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
9500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
9520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDeleteBuffers);
9530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
9550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
9560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
9570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
9580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
9590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument buffers
9610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_buffers = glmsg.add_args();
9620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffers->set_isarray(false);
9630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffers->set_type(GLMessage::DataType::INT);
9640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffers->add_intvalue((int)buffers);
9650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
9670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDeleteBuffers(n, buffers);
9680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
9700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
9710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
9720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers) {
9740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
9750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
9760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
9780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDeleteFramebuffers);
9790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
9810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
9820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
9830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
9840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
9850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument framebuffers
9870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_framebuffers = glmsg.add_args();
9880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->set_isarray(false);
9890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->set_type(GLMessage::DataType::INT);
9900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->add_intvalue((int)framebuffers);
9910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
9930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDeleteFramebuffers(n, framebuffers);
9940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
9960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
9970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
9980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
9990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDeleteProgram(GLuint program) {
10000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
10010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
10020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
10040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDeleteProgram);
10050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
10070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
10080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
10090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
10100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
10110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
10130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDeleteProgram(program);
10140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
10160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
10170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
10180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) {
10200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
10210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
10220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
10240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDeleteRenderbuffers);
10250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
10270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
10280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
10290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
10300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
10310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffers
10330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffers = glmsg.add_args();
10340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->set_isarray(false);
10350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->set_type(GLMessage::DataType::INT);
10360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->add_intvalue((int)renderbuffers);
10370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
10390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDeleteRenderbuffers(n, renderbuffers);
10400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
10420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
10430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
10440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDeleteShader(GLuint shader) {
10460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
10470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
10480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
10500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDeleteShader);
10510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shader
10530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shader = glmsg.add_args();
10540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_isarray(false);
10550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_type(GLMessage::DataType::INT);
10560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->add_intvalue(shader);
10570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
10590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDeleteShader(shader);
10600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
10620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
10630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
10640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDeleteTextures(GLsizei n, const GLuint* textures) {
10660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
10670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
10680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
10700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDeleteTextures);
10710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
10730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
10740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
10750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
10760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
10770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument textures
10790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_textures = glmsg.add_args();
10800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textures->set_isarray(false);
10810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textures->set_type(GLMessage::DataType::INT);
10820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textures->add_intvalue((int)textures);
10830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
10850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDeleteTextures(n, textures);
10860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
10880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
10890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
10900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDepthFunc(GLenum func) {
10920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
10930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
10940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
10960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDepthFunc);
10970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
10980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument func
10990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_func = glmsg.add_args();
11000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->set_isarray(false);
11010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->set_type(GLMessage::DataType::ENUM);
11020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->add_intvalue((int)func);
11030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
11050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDepthFunc(func);
11060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
11080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
11090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
11100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDepthMask(GLboolean flag) {
11120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
11130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
11140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
11160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDepthMask);
11170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument flag
11190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_flag = glmsg.add_args();
11200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_flag->set_isarray(false);
11210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_flag->set_type(GLMessage::DataType::BOOL);
11220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_flag->add_boolvalue(flag);
11230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
11250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDepthMask(flag);
11260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
11280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
11290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
11300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDepthRangef(GLclampf zNear, GLclampf zFar) {
11320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
11330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
11340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
11360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDepthRangef);
11370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zNear
11390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zNear = glmsg.add_args();
11400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_isarray(false);
11410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_type(GLMessage::DataType::FLOAT);
11420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->add_floatvalue(zNear);
11430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zFar
11450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zFar = glmsg.add_args();
11460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_isarray(false);
11470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_type(GLMessage::DataType::FLOAT);
11480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->add_floatvalue(zFar);
11490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
11510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDepthRangef(zNear, zFar);
11520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
11540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
11550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
11560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDetachShader(GLuint program, GLuint shader) {
11580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
11590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
11600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
11620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDetachShader);
11630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
11650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
11660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
11670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
11680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
11690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shader
11710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shader = glmsg.add_args();
11720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_isarray(false);
11730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_type(GLMessage::DataType::INT);
11740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->add_intvalue(shader);
11750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
11770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDetachShader(program, shader);
11780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
11800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
11810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
11820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDisable(GLenum cap) {
11840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
11850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
11860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
11880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDisable);
11890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument cap
11910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_cap = glmsg.add_args();
11920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_cap->set_isarray(false);
11930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_cap->set_type(GLMessage::DataType::ENUM);
11940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_cap->add_intvalue((int)cap);
11950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
11970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDisable(cap);
11980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
11990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
12000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
12010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
12020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDisableVertexAttribArray(GLuint index) {
12040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
12050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
12060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
12080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDisableVertexAttribArray);
12090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument index
12110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_index = glmsg.add_args();
12120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_isarray(false);
12130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_type(GLMessage::DataType::INT);
12140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->add_intvalue(index);
12150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
12170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDisableVertexAttribArray(index);
12180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
12200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
12210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
12220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDrawArrays(GLenum mode, GLint first, GLsizei count) {
12240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
12250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
12260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
12280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDrawArrays);
12290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mode
12310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mode = glmsg.add_args();
12320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_isarray(false);
12330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_type(GLMessage::DataType::ENUM);
12340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->add_intvalue((int)mode);
12350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument first
12370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_first = glmsg.add_args();
12380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_first->set_isarray(false);
12390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_first->set_type(GLMessage::DataType::INT);
12400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_first->add_intvalue(first);
12410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
12430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
12440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
12450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
12460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
12470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
12490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDrawArrays(mode, first, count);
12500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
12520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
12530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
12540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices) {
12560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
12570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
12580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
12600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDrawElements);
12610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mode
12630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mode = glmsg.add_args();
12640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_isarray(false);
12650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_type(GLMessage::DataType::ENUM);
12660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->add_intvalue((int)mode);
12670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
12690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
12700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
12710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
12720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
12730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
12750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
12760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
12770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
12780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
12790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument indices
12810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_indices = glmsg.add_args();
12820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indices->set_isarray(false);
12830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indices->set_type(GLMessage::DataType::INT);
12840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indices->add_intvalue((int)indices);
12850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
12870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDrawElements(mode, count, type, indices);
12880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
12900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
12910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
12920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glEnable(GLenum cap) {
12940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
12950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
12960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
12970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
12980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glEnable);
12990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument cap
13010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_cap = glmsg.add_args();
13020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_cap->set_isarray(false);
13030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_cap->set_type(GLMessage::DataType::ENUM);
13040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_cap->add_intvalue((int)cap);
13050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
13070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glEnable(cap);
13080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
13100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
13110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
13120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glEnableVertexAttribArray(GLuint index) {
13140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
13150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
13160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
13180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glEnableVertexAttribArray);
13190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument index
13210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_index = glmsg.add_args();
13220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_isarray(false);
13230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_type(GLMessage::DataType::INT);
13240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->add_intvalue(index);
13250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
13270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glEnableVertexAttribArray(index);
13280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
13300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
13310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
13320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFinish(void) {
13340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
13350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
13360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
13380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFinish);
13390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
13410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFinish();
13420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
13440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
13450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
13460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFlush(void) {
13480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
13490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
13500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
13520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFlush);
13530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
13550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFlush();
13560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
13580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
13590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
13600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) {
13620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
13630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
13640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
13660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFramebufferRenderbuffer);
13670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
13690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
13700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
13710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
13720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
13730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument attachment
13750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_attachment = glmsg.add_args();
13760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_isarray(false);
13770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_type(GLMessage::DataType::ENUM);
13780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->add_intvalue((int)attachment);
13790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffertarget
13810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffertarget = glmsg.add_args();
13820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffertarget->set_isarray(false);
13830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffertarget->set_type(GLMessage::DataType::ENUM);
13840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffertarget->add_intvalue((int)renderbuffertarget);
13850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffer
13870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffer = glmsg.add_args();
13880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->set_isarray(false);
13890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->set_type(GLMessage::DataType::INT);
13900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->add_intvalue(renderbuffer);
13910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
13930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
13940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
13960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
13970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
13980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
13990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {
14000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
14010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
14020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
14040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFramebufferTexture2D);
14050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
14070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
14080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
14090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
14100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
14110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument attachment
14130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_attachment = glmsg.add_args();
14140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_isarray(false);
14150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_type(GLMessage::DataType::ENUM);
14160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->add_intvalue((int)attachment);
14170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument textarget
14190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_textarget = glmsg.add_args();
14200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textarget->set_isarray(false);
14210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textarget->set_type(GLMessage::DataType::ENUM);
14220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textarget->add_intvalue((int)textarget);
14230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument texture
14250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_texture = glmsg.add_args();
14260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_isarray(false);
14270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_type(GLMessage::DataType::INT);
14280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->add_intvalue(texture);
14290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
14310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
14320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
14330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
14340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
14350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
14370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFramebufferTexture2D(target, attachment, textarget, texture, level);
14380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
14400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
14410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
14420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFrontFace(GLenum mode) {
14440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
14450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
14460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
14480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFrontFace);
14490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mode
14510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mode = glmsg.add_args();
14520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_isarray(false);
14530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_type(GLMessage::DataType::ENUM);
14540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->add_intvalue((int)mode);
14550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
14570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFrontFace(mode);
14580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
14600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
14610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
14620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGenBuffers(GLsizei n, GLuint* buffers) {
14640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
14650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
14660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
14680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGenBuffers);
14690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
14710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
14720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
14730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
14740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
14750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument buffers
14770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_buffers = glmsg.add_args();
14780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffers->set_isarray(false);
14790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffers->set_type(GLMessage::DataType::INT);
14800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffers->add_intvalue((int)buffers);
14810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
14830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGenBuffers(n, buffers);
14840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
14860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
14870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
14880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGenerateMipmap(GLenum target) {
14900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
14910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
14920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
14940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGenerateMipmap);
14950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
14960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
14970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
14980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
14990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
15000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
15010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
15030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGenerateMipmap(target);
15040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
15060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
15070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
15080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGenFramebuffers(GLsizei n, GLuint* framebuffers) {
15100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
15110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
15120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
15140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGenFramebuffers);
15150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
15170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
15180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
15190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
15200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
15210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument framebuffers
15230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_framebuffers = glmsg.add_args();
15240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->set_isarray(false);
15250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->set_type(GLMessage::DataType::INT);
15260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->add_intvalue((int)framebuffers);
15270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
15290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGenFramebuffers(n, framebuffers);
15300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
15320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
15330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
15340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGenRenderbuffers(GLsizei n, GLuint* renderbuffers) {
15360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
15370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
15380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
15400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGenRenderbuffers);
15410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
15430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
15440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
15450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
15460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
15470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffers
15490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffers = glmsg.add_args();
15500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->set_isarray(false);
15510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->set_type(GLMessage::DataType::INT);
15520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->add_intvalue((int)renderbuffers);
15530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
15550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGenRenderbuffers(n, renderbuffers);
15560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
15580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
15590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
15600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGenTextures(GLsizei n, GLuint* textures) {
15620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
15630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
15640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
15660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGenTextures);
15670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
15690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
15700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
15710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
15720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
15730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument textures
15750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_textures = glmsg.add_args();
15760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textures->set_isarray(false);
15770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textures->set_type(GLMessage::DataType::INT);
15780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textures->add_intvalue((int)textures);
15790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
15810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGenTextures(n, textures);
15820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
15840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
15850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
15860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) {
15880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
15890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
15900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
15920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetActiveAttrib);
15930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
15940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
15950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
15960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
15970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
15980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
15990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument index
16010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_index = glmsg.add_args();
16020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_isarray(false);
16030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_type(GLMessage::DataType::INT);
16040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->add_intvalue(index);
16050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bufsize
16070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bufsize = glmsg.add_args();
16080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->set_isarray(false);
16090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->set_type(GLMessage::DataType::INT);
16100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->add_intvalue(bufsize);
16110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
16130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
16140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
16150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
16160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue((int)length);
16170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
16190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
16200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
16210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
16220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue((int)size);
16230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
16250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
16260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
16270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::INT);
16280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
16290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument name
16310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_name = glmsg.add_args();
16320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->set_isarray(false);
16330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->set_type(GLMessage::DataType::INT);
16340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->add_intvalue((int)name);
16350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
16370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetActiveAttrib(program, index, bufsize, length, size, type, name);
16380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
16400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
16410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
16420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) {
16440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
16450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
16460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
16480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetActiveUniform);
16490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
16510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
16520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
16530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
16540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
16550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument index
16570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_index = glmsg.add_args();
16580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_isarray(false);
16590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_type(GLMessage::DataType::INT);
16600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->add_intvalue(index);
16610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bufsize
16630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bufsize = glmsg.add_args();
16640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->set_isarray(false);
16650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->set_type(GLMessage::DataType::INT);
16660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->add_intvalue(bufsize);
16670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
16690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
16700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
16710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
16720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue((int)length);
16730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
16750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
16760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
16770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
16780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue((int)size);
16790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
16810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
16820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
16830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::INT);
16840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
16850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument name
16870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_name = glmsg.add_args();
16880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->set_isarray(false);
16890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->set_type(GLMessage::DataType::INT);
16900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->add_intvalue((int)name);
16910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
16930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetActiveUniform(program, index, bufsize, length, size, type, name);
16940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
16960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
16970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
16980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
16990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) {
17000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
17010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
17020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
17040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetAttachedShaders);
17050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
17070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
17080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
17090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
17100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
17110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument maxcount
17130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_maxcount = glmsg.add_args();
17140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxcount->set_isarray(false);
17150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxcount->set_type(GLMessage::DataType::INT);
17160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxcount->add_intvalue(maxcount);
17170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
17190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
17200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
17210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
17220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue((int)count);
17230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shaders
17250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shaders = glmsg.add_args();
17260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shaders->set_isarray(false);
17270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shaders->set_type(GLMessage::DataType::INT);
17280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shaders->add_intvalue((int)shaders);
17290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
17310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetAttachedShaders(program, maxcount, count, shaders);
17320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
17340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
17350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
17360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyint GLTrace_glGetAttribLocation(GLuint program, const GLchar* name) {
17380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
17390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
17400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
17420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetAttribLocation);
17430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
17450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
17460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
17470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
17480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
17490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument name
17510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_name = glmsg.add_args();
17520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->set_isarray(false);
17530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->set_type(GLMessage::DataType::INT);
17540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->add_intvalue((int)name);
17550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
17570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    int retValue = glContext->hooks->gl.glGetAttribLocation(program, name);
17580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
17600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
17610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
17620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::INT);
17630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_intvalue(retValue);
17640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
17660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
17670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
17690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
17700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetBooleanv(GLenum pname, GLboolean* params) {
17720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
17730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
17740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
17760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetBooleanv);
17770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
17790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
17800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
17810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
17820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
17830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
17850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
17860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
17870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
17880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
17890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
17910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetBooleanv(pname, params);
17920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
17940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
17950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
17960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
17970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params) {
17980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
17990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
18000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
18020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetBufferParameteriv);
18030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
18050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
18060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
18070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
18080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
18090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
18110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
18120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
18130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
18140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
18150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
18170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
18180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
18190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
18200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
18210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
18230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetBufferParameteriv(target, pname, params);
18240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
18260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
18270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
18280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18290469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLenum GLTrace_glGetError(void) {
18300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
18310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
18320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
18340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetError);
18350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
18370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLenum retValue = glContext->hooks->gl.glGetError();
18380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
18400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
18410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
18420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::ENUM);
18430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_intvalue((int)retValue);
18440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
18460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
18470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
18490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
18500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetFloatv(GLenum pname, GLfloat* params) {
18520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
18530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
18540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
18560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetFloatv);
18570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
18590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
18600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
18610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
18620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
18630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
18650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
18660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
18670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
18680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
18690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
18710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetFloatv(pname, params);
18720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
18740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
18750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
18760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params) {
18780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
18790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
18800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
18820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetFramebufferAttachmentParameteriv);
18830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
18850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
18860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
18870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
18880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
18890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument attachment
18910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_attachment = glmsg.add_args();
18920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_isarray(false);
18930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_type(GLMessage::DataType::ENUM);
18940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->add_intvalue((int)attachment);
18950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
18960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
18970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
18980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
18990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
19000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
19010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
19030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
19040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
19050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
19060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
19070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
19090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);
19100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
19120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
19130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
19140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetIntegerv(GLenum pname, GLint* params) {
19160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
19170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
19180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
19200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetIntegerv);
19210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
19230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
19240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
19250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
19260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
19270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
19290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
19300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
19310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
19320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
19330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
19350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetIntegerv(pname, params);
19360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
19380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
19390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
19400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetProgramiv(GLuint program, GLenum pname, GLint* params) {
19420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
19430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
19440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
19460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetProgramiv);
19470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
19490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
19500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
19510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
19520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
19530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
19550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
19560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
19570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
19580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
19590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
19610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
19620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
19630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
19640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
19650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
19670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetProgramiv(program, pname, params);
19680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
19700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
19710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
19720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog) {
19740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
19750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
19760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
19780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetProgramInfoLog);
19790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
19810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
19820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
19830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
19840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
19850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bufsize
19870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bufsize = glmsg.add_args();
19880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->set_isarray(false);
19890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->set_type(GLMessage::DataType::INT);
19900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->add_intvalue(bufsize);
19910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
19930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
19940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
19950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
19960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue((int)length);
19970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
19980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument infolog
19990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_infolog = glmsg.add_args();
20000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_infolog->set_isarray(false);
20010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_infolog->set_type(GLMessage::DataType::INT);
20020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_infolog->add_intvalue((int)infolog);
20030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
20050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetProgramInfoLog(program, bufsize, length, infolog);
20060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
20080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
20090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
20100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) {
20120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
20130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
20140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
20160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetRenderbufferParameteriv);
20170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
20190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
20200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
20210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
20220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
20230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
20250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
20260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
20270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
20280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
20290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
20310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
20320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
20330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
20340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
20350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
20370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetRenderbufferParameteriv(target, pname, params);
20380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
20400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
20410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
20420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetShaderiv(GLuint shader, GLenum pname, GLint* params) {
20440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
20450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
20460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
20480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetShaderiv);
20490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shader
20510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shader = glmsg.add_args();
20520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_isarray(false);
20530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_type(GLMessage::DataType::INT);
20540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->add_intvalue(shader);
20550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
20570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
20580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
20590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
20600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
20610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
20630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
20640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
20650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
20660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
20670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
20690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetShaderiv(shader, pname, params);
20700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
20720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
20730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
20740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog) {
20760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
20770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
20780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
20800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetShaderInfoLog);
20810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shader
20830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shader = glmsg.add_args();
20840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_isarray(false);
20850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_type(GLMessage::DataType::INT);
20860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->add_intvalue(shader);
20870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bufsize
20890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bufsize = glmsg.add_args();
20900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->set_isarray(false);
20910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->set_type(GLMessage::DataType::INT);
20920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->add_intvalue(bufsize);
20930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
20940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
20950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
20960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
20970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
20980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue((int)length);
20990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument infolog
21010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_infolog = glmsg.add_args();
21020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_infolog->set_isarray(false);
21030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_infolog->set_type(GLMessage::DataType::INT);
21040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_infolog->add_intvalue((int)infolog);
21050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
21070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetShaderInfoLog(shader, bufsize, length, infolog);
21080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
21100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
21110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
21120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) {
21140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
21150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
21160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
21180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetShaderPrecisionFormat);
21190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shadertype
21210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shadertype = glmsg.add_args();
21220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shadertype->set_isarray(false);
21230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shadertype->set_type(GLMessage::DataType::ENUM);
21240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shadertype->add_intvalue((int)shadertype);
21250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument precisiontype
21270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_precisiontype = glmsg.add_args();
21280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_precisiontype->set_isarray(false);
21290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_precisiontype->set_type(GLMessage::DataType::ENUM);
21300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_precisiontype->add_intvalue((int)precisiontype);
21310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument range
21330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_range = glmsg.add_args();
21340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_range->set_isarray(false);
21350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_range->set_type(GLMessage::DataType::INT);
21360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_range->add_intvalue((int)range);
21370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument precision
21390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_precision = glmsg.add_args();
21400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_precision->set_isarray(false);
21410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_precision->set_type(GLMessage::DataType::INT);
21420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_precision->add_intvalue((int)precision);
21430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
21450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
21460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
21480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
21490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
21500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source) {
21520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
21530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
21540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
21560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetShaderSource);
21570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shader
21590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shader = glmsg.add_args();
21600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_isarray(false);
21610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_type(GLMessage::DataType::INT);
21620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->add_intvalue(shader);
21630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bufsize
21650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bufsize = glmsg.add_args();
21660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->set_isarray(false);
21670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->set_type(GLMessage::DataType::INT);
21680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufsize->add_intvalue(bufsize);
21690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
21710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
21720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
21730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
21740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue((int)length);
21750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument source
21770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_source = glmsg.add_args();
21780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_source->set_isarray(false);
21790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_source->set_type(GLMessage::DataType::INT);
21800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_source->add_intvalue((int)source);
21810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
21830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetShaderSource(shader, bufsize, length, source);
21840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
21860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
21870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
21880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyconst GLubyte* GLTrace_glGetString(GLenum name) {
21900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
21910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
21920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
21940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetString);
21950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
21960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument name
21970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_name = glmsg.add_args();
21980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->set_isarray(false);
21990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->set_type(GLMessage::DataType::ENUM);
22000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->add_intvalue((int)name);
22010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
22030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    const GLubyte* retValue = glContext->hooks->gl.glGetString(name);
22040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
22060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
22070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
22080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::INT);
22090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_intvalue((int)retValue);
22100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
22120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
22130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
22150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
22160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) {
22180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
22190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
22200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
22220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetTexParameterfv);
22230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
22250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
22260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
22270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
22280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
22290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
22310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
22320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
22330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
22340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
22350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
22370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
22380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
22390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
22400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
22410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
22430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetTexParameterfv(target, pname, params);
22440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
22460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
22470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
22480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetTexParameteriv(GLenum target, GLenum pname, GLint* params) {
22500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
22510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
22520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
22540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetTexParameteriv);
22550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
22570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
22580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
22590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
22600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
22610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
22630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
22640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
22650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
22660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
22670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
22690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
22700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
22710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
22720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
22730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
22750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetTexParameteriv(target, pname, params);
22760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
22780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
22790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
22800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetUniformfv(GLuint program, GLint location, GLfloat* params) {
22820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
22830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
22840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
22860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetUniformfv);
22870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
22890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
22900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
22910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
22920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
22930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
22940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
22950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
22960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
22970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
22980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
22990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
23010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
23020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
23030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
23040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
23050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
23070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetUniformfv(program, location, params);
23080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
23100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
23110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
23120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetUniformiv(GLuint program, GLint location, GLint* params) {
23140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
23150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
23160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
23180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetUniformiv);
23190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
23210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
23220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
23230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
23240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
23250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
23270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
23280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
23290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
23300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
23310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
23330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
23340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
23350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
23360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
23370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
23390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetUniformiv(program, location, params);
23400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
23420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
23430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
23440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyint GLTrace_glGetUniformLocation(GLuint program, const GLchar* name) {
23460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
23470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
23480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
23500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetUniformLocation);
23510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
23530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
23540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
23550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
23560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
23570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument name
23590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_name = glmsg.add_args();
23600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->set_isarray(false);
23610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->set_type(GLMessage::DataType::INT);
23620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_name->add_intvalue((int)name);
23630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
23650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    int retValue = glContext->hooks->gl.glGetUniformLocation(program, name);
23660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
23680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
23690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
23700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::INT);
23710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_intvalue(retValue);
23720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
23740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
23750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
23770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
23780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params) {
23800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
23810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
23820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
23840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetVertexAttribfv);
23850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument index
23870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_index = glmsg.add_args();
23880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_isarray(false);
23890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_type(GLMessage::DataType::INT);
23900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->add_intvalue(index);
23910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
23930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
23940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
23950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
23960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
23970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
23980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
23990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
24000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
24010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
24020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
24030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
24050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetVertexAttribfv(index, pname, params);
24060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
24080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
24090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
24100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params) {
24120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
24130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
24140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
24160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetVertexAttribiv);
24170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument index
24190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_index = glmsg.add_args();
24200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_isarray(false);
24210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_type(GLMessage::DataType::INT);
24220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->add_intvalue(index);
24230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
24250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
24260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
24270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
24280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
24290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
24310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
24320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
24330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
24340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
24350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
24370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetVertexAttribiv(index, pname, params);
24380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
24400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
24410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
24420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer) {
24440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
24450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
24460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
24480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetVertexAttribPointerv);
24490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument index
24510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_index = glmsg.add_args();
24520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_isarray(false);
24530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->set_type(GLMessage::DataType::INT);
24540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_index->add_intvalue(index);
24550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
24570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
24580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
24590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
24600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
24610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pointer
24630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pointer = glmsg.add_args();
24640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_isarray(false);
24650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_type(GLMessage::DataType::INT);
24660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->add_intvalue((int)pointer);
24670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
24690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetVertexAttribPointerv(index, pname, pointer);
24700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
24720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
24730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
24740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glHint(GLenum target, GLenum mode) {
24760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
24770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
24780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
24800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glHint);
24810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
24830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
24840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
24850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
24860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
24870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mode
24890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mode = glmsg.add_args();
24900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_isarray(false);
24910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_type(GLMessage::DataType::ENUM);
24920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->add_intvalue((int)mode);
24930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
24950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glHint(target, mode);
24960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
24970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
24980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
24990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
25000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25010469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glIsBuffer(GLuint buffer) {
25020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
25030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
25040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
25060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glIsBuffer);
25070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument buffer
25090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_buffer = glmsg.add_args();
25100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffer->set_isarray(false);
25110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffer->set_type(GLMessage::DataType::INT);
25120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffer->add_intvalue(buffer);
25130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
25150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glIsBuffer(buffer);
25160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
25180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
25190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
25200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
25210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
25220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
25240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
25250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
25270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
25280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25290469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glIsEnabled(GLenum cap) {
25300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
25310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
25320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
25340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glIsEnabled);
25350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument cap
25370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_cap = glmsg.add_args();
25380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_cap->set_isarray(false);
25390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_cap->set_type(GLMessage::DataType::ENUM);
25400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_cap->add_intvalue((int)cap);
25410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
25430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glIsEnabled(cap);
25440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
25460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
25470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
25480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
25490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
25500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
25520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
25530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
25550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
25560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25570469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glIsFramebuffer(GLuint framebuffer) {
25580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
25590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
25600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
25620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glIsFramebuffer);
25630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument framebuffer
25650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_framebuffer = glmsg.add_args();
25660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffer->set_isarray(false);
25670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffer->set_type(GLMessage::DataType::INT);
25680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffer->add_intvalue(framebuffer);
25690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
25710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glIsFramebuffer(framebuffer);
25720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
25740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
25750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
25760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
25770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
25780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
25800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
25810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
25830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
25840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25850469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glIsProgram(GLuint program) {
25860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
25870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
25880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
25900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glIsProgram);
25910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
25930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
25940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
25950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
25960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
25970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
25980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
25990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glIsProgram(program);
26000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
26020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
26030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
26040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
26050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
26060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
26080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
26090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
26110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
26120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26130469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glIsRenderbuffer(GLuint renderbuffer) {
26140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
26150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
26160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
26180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glIsRenderbuffer);
26190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffer
26210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffer = glmsg.add_args();
26220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->set_isarray(false);
26230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->set_type(GLMessage::DataType::INT);
26240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->add_intvalue(renderbuffer);
26250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
26270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glIsRenderbuffer(renderbuffer);
26280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
26300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
26310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
26320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
26330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
26340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
26360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
26370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
26390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
26400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26410469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glIsShader(GLuint shader) {
26420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
26430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
26440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
26460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glIsShader);
26470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shader
26490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shader = glmsg.add_args();
26500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_isarray(false);
26510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_type(GLMessage::DataType::INT);
26520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->add_intvalue(shader);
26530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
26550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glIsShader(shader);
26560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
26580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
26590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
26600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
26610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
26620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
26640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
26650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
26670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
26680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26690469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glIsTexture(GLuint texture) {
26700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
26710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
26720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
26740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glIsTexture);
26750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument texture
26770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_texture = glmsg.add_args();
26780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_isarray(false);
26790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_type(GLMessage::DataType::INT);
26800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->add_intvalue(texture);
26810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
26830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glIsTexture(texture);
26840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
26860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
26870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
26880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
26890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
26900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
26920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
26930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
26950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
26960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
26970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLineWidth(GLfloat width) {
26980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
26990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
27000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
27020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLineWidth);
27030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
27050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
27060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
27070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::FLOAT);
27080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_floatvalue(width);
27090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
27110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLineWidth(width);
27120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
27140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
27150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
27160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLinkProgram(GLuint program) {
27180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
27190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
27200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
27220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLinkProgram);
27230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
27250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
27260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
27270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
27280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
27290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
27310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLinkProgram(program);
27320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
27340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
27350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
27360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPixelStorei(GLenum pname, GLint param) {
27380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
27390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
27400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
27420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPixelStorei);
27430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
27450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
27460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
27470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
27480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
27490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
27510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
27520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
27530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
27540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
27550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
27570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPixelStorei(pname, param);
27580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
27600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
27610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
27620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPolygonOffset(GLfloat factor, GLfloat units) {
27640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
27650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
27660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
27680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPolygonOffset);
27690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument factor
27710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_factor = glmsg.add_args();
27720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_factor->set_isarray(false);
27730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_factor->set_type(GLMessage::DataType::FLOAT);
27740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_factor->add_floatvalue(factor);
27750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument units
27770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_units = glmsg.add_args();
27780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_units->set_isarray(false);
27790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_units->set_type(GLMessage::DataType::FLOAT);
27800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_units->add_floatvalue(units);
27810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
27830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPolygonOffset(factor, units);
27840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
27860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
27870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
27880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels) {
27900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
27910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
27920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
27940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glReadPixels);
27950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
27960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
27970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
27980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
27990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
28000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
28010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
28030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
28040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
28050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
28060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
28070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
28090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
28100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
28110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
28120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
28130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
28150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
28160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
28170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
28180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
28190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument format
28210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_format = glmsg.add_args();
28220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_isarray(false);
28230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_type(GLMessage::DataType::ENUM);
28240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->add_intvalue((int)format);
28250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
28270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
28280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
28290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
28300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
28310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pixels
28330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pixels = glmsg.add_args();
28340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->set_isarray(false);
28350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->set_type(GLMessage::DataType::INT);
28360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->add_intvalue((int)pixels);
28370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
28390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glReadPixels(x, y, width, height, format, type, pixels);
28400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
28420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
28430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
28440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glReleaseShaderCompiler(void) {
28460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
28470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
28480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
28500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glReleaseShaderCompiler);
28510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
28530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glReleaseShaderCompiler();
28540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
28560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
28570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
28580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) {
28600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
28610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
28620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
28640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glRenderbufferStorage);
28650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
28670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
28680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
28690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
28700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
28710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument internalformat
28730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_internalformat = glmsg.add_args();
28740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_isarray(false);
28750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_type(GLMessage::DataType::ENUM);
28760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->add_intvalue((int)internalformat);
28770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
28790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
28800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
28810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
28820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
28830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
28850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
28860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
28870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
28880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
28890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
28910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glRenderbufferStorage(target, internalformat, width, height);
28920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
28940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
28950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
28960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
28970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glSampleCoverage(GLclampf value, GLboolean invert) {
28980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
28990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
29000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
29020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glSampleCoverage);
29030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument value
29050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_value = glmsg.add_args();
29060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->set_isarray(false);
29070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->set_type(GLMessage::DataType::FLOAT);
29080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->add_floatvalue(value);
29090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument invert
29110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_invert = glmsg.add_args();
29120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_invert->set_isarray(false);
29130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_invert->set_type(GLMessage::DataType::BOOL);
29140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_invert->add_boolvalue(invert);
29150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
29170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glSampleCoverage(value, invert);
29180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
29200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
29210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
29220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glScissor(GLint x, GLint y, GLsizei width, GLsizei height) {
29240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
29250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
29260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
29280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glScissor);
29290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
29310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
29320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
29330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
29340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
29350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
29370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
29380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
29390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
29400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
29410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
29430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
29440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
29450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
29460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
29470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
29490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
29500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
29510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
29520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
29530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
29550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glScissor(x, y, width, height);
29560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
29580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
29590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
29600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length) {
29620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
29630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
29640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
29660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glShaderBinary);
29670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
29690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
29700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
29710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
29720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
29730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shaders
29750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shaders = glmsg.add_args();
29760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shaders->set_isarray(false);
29770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shaders->set_type(GLMessage::DataType::INT);
29780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shaders->add_intvalue((int)shaders);
29790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument binaryformat
29810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_binaryformat = glmsg.add_args();
29820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binaryformat->set_isarray(false);
29830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binaryformat->set_type(GLMessage::DataType::ENUM);
29840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binaryformat->add_intvalue((int)binaryformat);
29850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument binary
29870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_binary = glmsg.add_args();
29880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binary->set_isarray(false);
29890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binary->set_type(GLMessage::DataType::INT);
29900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binary->add_intvalue((int)binary);
29910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
29930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
29940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
29950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
29960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue(length);
29970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
29980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
29990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glShaderBinary(n, shaders, binaryformat, binary, length);
30000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
30020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
30030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
30040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glShaderSource(GLuint shader, GLsizei count, const GLchar** string, const GLint* length) {
30060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
30070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
30080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
30100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glShaderSource);
30110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shader
30130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shader = glmsg.add_args();
30140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_isarray(false);
30150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->set_type(GLMessage::DataType::INT);
30160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shader->add_intvalue(shader);
30170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
30190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
30200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
30210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
30220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
30230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument string
30250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_string = glmsg.add_args();
30260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_string->set_isarray(false);
30270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_string->set_type(GLMessage::DataType::INT);
30280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_string->add_intvalue((int)string);
30290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
30310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
30320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
30330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
30340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue((int)length);
30350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
30370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glShaderSource(shader, count, string, length);
30380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
30400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
30410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
30420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glStencilFunc(GLenum func, GLint ref, GLuint mask) {
30440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
30450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
30460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
30480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glStencilFunc);
30490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument func
30510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_func = glmsg.add_args();
30520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->set_isarray(false);
30530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->set_type(GLMessage::DataType::ENUM);
30540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->add_intvalue((int)func);
30550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument ref
30570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_ref = glmsg.add_args();
30580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->set_isarray(false);
30590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->set_type(GLMessage::DataType::INT);
30600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->add_intvalue(ref);
30610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mask
30630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mask = glmsg.add_args();
30640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->set_isarray(false);
30650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->set_type(GLMessage::DataType::INT);
30660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->add_intvalue(mask);
30670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
30690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glStencilFunc(func, ref, mask);
30700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
30720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
30730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
30740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) {
30760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
30770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
30780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
30800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glStencilFuncSeparate);
30810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
30830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
30840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
30850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
30860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
30870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument func
30890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_func = glmsg.add_args();
30900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->set_isarray(false);
30910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->set_type(GLMessage::DataType::ENUM);
30920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->add_intvalue((int)func);
30930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
30940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument ref
30950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_ref = glmsg.add_args();
30960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->set_isarray(false);
30970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->set_type(GLMessage::DataType::INT);
30980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->add_intvalue(ref);
30990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mask
31010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mask = glmsg.add_args();
31020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->set_isarray(false);
31030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->set_type(GLMessage::DataType::INT);
31040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->add_intvalue(mask);
31050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
31070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glStencilFuncSeparate(face, func, ref, mask);
31080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
31100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
31110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
31120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glStencilMask(GLuint mask) {
31140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
31150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
31160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
31180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glStencilMask);
31190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mask
31210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mask = glmsg.add_args();
31220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->set_isarray(false);
31230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->set_type(GLMessage::DataType::INT);
31240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->add_intvalue(mask);
31250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
31270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glStencilMask(mask);
31280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
31300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
31310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
31320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glStencilMaskSeparate(GLenum face, GLuint mask) {
31340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
31350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
31360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
31380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glStencilMaskSeparate);
31390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
31410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
31420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
31430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
31440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
31450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mask
31470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mask = glmsg.add_args();
31480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->set_isarray(false);
31490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->set_type(GLMessage::DataType::INT);
31500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->add_intvalue(mask);
31510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
31530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glStencilMaskSeparate(face, mask);
31540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
31560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
31570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
31580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) {
31600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
31610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
31620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
31640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glStencilOp);
31650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument fail
31670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_fail = glmsg.add_args();
31680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fail->set_isarray(false);
31690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fail->set_type(GLMessage::DataType::ENUM);
31700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fail->add_intvalue((int)fail);
31710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zfail
31730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zfail = glmsg.add_args();
31740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zfail->set_isarray(false);
31750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zfail->set_type(GLMessage::DataType::ENUM);
31760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zfail->add_intvalue((int)zfail);
31770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zpass
31790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zpass = glmsg.add_args();
31800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zpass->set_isarray(false);
31810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zpass->set_type(GLMessage::DataType::ENUM);
31820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zpass->add_intvalue((int)zpass);
31830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
31850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glStencilOp(fail, zfail, zpass);
31860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
31880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
31890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
31900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) {
31920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
31930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
31940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
31960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glStencilOpSeparate);
31970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
31980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
31990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
32000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
32010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
32020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
32030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument fail
32050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_fail = glmsg.add_args();
32060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fail->set_isarray(false);
32070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fail->set_type(GLMessage::DataType::ENUM);
32080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fail->add_intvalue((int)fail);
32090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zfail
32110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zfail = glmsg.add_args();
32120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zfail->set_isarray(false);
32130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zfail->set_type(GLMessage::DataType::ENUM);
32140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zfail->add_intvalue((int)zfail);
32150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zpass
32170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zpass = glmsg.add_args();
32180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zpass->set_isarray(false);
32190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zpass->set_type(GLMessage::DataType::ENUM);
32200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zpass->add_intvalue((int)zpass);
32210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
32230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glStencilOpSeparate(face, fail, zfail, zpass);
32240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
32260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
32270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
32280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels) {
32300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
32310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
32320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
32340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexImage2D);
32350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
32370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
32380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
32390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
32400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
32410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
32430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
32440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
32450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
32460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
32470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument internalformat
32490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_internalformat = glmsg.add_args();
32500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_isarray(false);
32510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_type(GLMessage::DataType::INT);
32520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->add_intvalue(internalformat);
32530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
32550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
32560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
32570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
32580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
32590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
32610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
32620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
32630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
32640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
32650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument border
32670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_border = glmsg.add_args();
32680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->set_isarray(false);
32690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->set_type(GLMessage::DataType::INT);
32700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->add_intvalue(border);
32710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument format
32730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_format = glmsg.add_args();
32740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_isarray(false);
32750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_type(GLMessage::DataType::ENUM);
32760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->add_intvalue((int)format);
32770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
32790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
32800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
32810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
32820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
32830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pixels
32850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pixels = glmsg.add_args();
32860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->set_isarray(false);
32870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->set_type(GLMessage::DataType::INT);
32880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->add_intvalue((int)pixels);
32890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
32910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
32920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
32940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
32950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
32960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
32970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexParameterf(GLenum target, GLenum pname, GLfloat param) {
32980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
32990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
33000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
33020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexParameterf);
33030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
33050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
33060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
33070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
33080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
33090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
33110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
33120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
33130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
33140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
33150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
33170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
33180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
33190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::FLOAT);
33200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_floatvalue(param);
33210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
33230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexParameterf(target, pname, param);
33240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
33260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
33270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
33280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params) {
33300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
33310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
33320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
33340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexParameterfv);
33350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
33370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
33380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
33390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
33400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
33410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
33430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
33440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
33450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
33460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
33470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
33490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
33500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
33510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
33520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
33530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
33550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexParameterfv(target, pname, params);
33560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
33580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
33590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
33600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexParameteri(GLenum target, GLenum pname, GLint param) {
33620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
33630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
33640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
33660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexParameteri);
33670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
33690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
33700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
33710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
33720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
33730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
33750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
33760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
33770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
33780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
33790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
33810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
33820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
33830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
33840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
33850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
33870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexParameteri(target, pname, param);
33880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
33900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
33910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
33920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexParameteriv(GLenum target, GLenum pname, const GLint* params) {
33940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
33950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
33960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
33970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
33980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexParameteriv);
33990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
34010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
34020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
34030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
34040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
34050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
34070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
34080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
34090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
34100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
34110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
34130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
34140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
34150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
34160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
34170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
34190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexParameteriv(target, pname, params);
34200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
34220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
34230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
34240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels) {
34260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
34270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
34280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
34300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexSubImage2D);
34310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
34330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
34340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
34350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
34360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
34370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
34390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
34400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
34410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
34420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
34430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument xoffset
34450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_xoffset = glmsg.add_args();
34460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_isarray(false);
34470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_type(GLMessage::DataType::INT);
34480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->add_intvalue(xoffset);
34490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument yoffset
34510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_yoffset = glmsg.add_args();
34520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_isarray(false);
34530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_type(GLMessage::DataType::INT);
34540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->add_intvalue(yoffset);
34550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
34570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
34580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
34590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
34600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
34610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
34630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
34640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
34650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
34660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
34670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument format
34690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_format = glmsg.add_args();
34700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_isarray(false);
34710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_type(GLMessage::DataType::ENUM);
34720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->add_intvalue((int)format);
34730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
34750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
34760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
34770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
34780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
34790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pixels
34810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pixels = glmsg.add_args();
34820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->set_isarray(false);
34830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->set_type(GLMessage::DataType::INT);
34840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->add_intvalue((int)pixels);
34850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
34870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
34880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
34900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
34910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
34920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform1f(GLint location, GLfloat x) {
34940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
34950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
34960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
34970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
34980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform1f);
34990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
35010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
35020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
35030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
35040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
35050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
35070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
35080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
35090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::FLOAT);
35100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_floatvalue(x);
35110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
35130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform1f(location, x);
35140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
35160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
35170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
35180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform1fv(GLint location, GLsizei count, const GLfloat* v) {
35200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
35210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
35220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
35240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform1fv);
35250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
35270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
35280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
35290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
35300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
35310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
35330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
35340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
35350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
35360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
35370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument v
35390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_v = glmsg.add_args();
35400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_isarray(false);
35410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_type(GLMessage::DataType::INT);
35420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->add_intvalue((int)v);
35430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
35450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform1fv(location, count, v);
35460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
35480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
35490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
35500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform1i(GLint location, GLint x) {
35520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
35530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
35540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
35560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform1i);
35570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
35590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
35600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
35610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
35620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
35630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
35650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
35660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
35670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
35680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
35690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
35710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform1i(location, x);
35720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
35740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
35750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
35760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform1iv(GLint location, GLsizei count, const GLint* v) {
35780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
35790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
35800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
35820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform1iv);
35830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
35850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
35860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
35870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
35880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
35890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
35910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
35920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
35930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
35940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
35950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
35960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument v
35970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_v = glmsg.add_args();
35980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_isarray(false);
35990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_type(GLMessage::DataType::INT);
36000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->add_intvalue((int)v);
36010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
36030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform1iv(location, count, v);
36040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
36060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
36070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
36080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform2f(GLint location, GLfloat x, GLfloat y) {
36100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
36110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
36120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
36140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform2f);
36150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
36170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
36180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
36190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
36200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
36210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
36230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
36240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
36250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::FLOAT);
36260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_floatvalue(x);
36270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
36290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
36300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
36310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::FLOAT);
36320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_floatvalue(y);
36330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
36350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform2f(location, x, y);
36360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
36380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
36390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
36400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform2fv(GLint location, GLsizei count, const GLfloat* v) {
36420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
36430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
36440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
36460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform2fv);
36470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
36490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
36500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
36510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
36520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
36530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
36550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
36560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
36570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
36580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
36590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument v
36610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_v = glmsg.add_args();
36620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_isarray(false);
36630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_type(GLMessage::DataType::INT);
36640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->add_intvalue((int)v);
36650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
36670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform2fv(location, count, v);
36680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
36700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
36710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
36720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform2i(GLint location, GLint x, GLint y) {
36740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
36750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
36760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
36780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform2i);
36790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
36810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
36820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
36830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
36840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
36850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
36870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
36880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
36890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
36900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
36910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
36930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
36940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
36950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
36960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
36970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
36980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
36990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform2i(location, x, y);
37000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
37020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
37030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
37040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform2iv(GLint location, GLsizei count, const GLint* v) {
37060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
37070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
37080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
37100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform2iv);
37110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
37130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
37140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
37150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
37160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
37170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
37190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
37200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
37210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
37220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
37230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument v
37250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_v = glmsg.add_args();
37260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_isarray(false);
37270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_type(GLMessage::DataType::INT);
37280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->add_intvalue((int)v);
37290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
37310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform2iv(location, count, v);
37320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
37340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
37350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
37360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) {
37380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
37390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
37400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
37420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform3f);
37430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
37450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
37460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
37470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
37480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
37490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
37510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
37520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
37530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::FLOAT);
37540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_floatvalue(x);
37550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
37570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
37580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
37590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::FLOAT);
37600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_floatvalue(y);
37610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
37630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
37640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
37650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::FLOAT);
37660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_floatvalue(z);
37670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
37690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform3f(location, x, y, z);
37700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
37720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
37730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
37740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform3fv(GLint location, GLsizei count, const GLfloat* v) {
37760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
37770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
37780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
37800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform3fv);
37810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
37830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
37840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
37850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
37860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
37870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
37890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
37900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
37910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
37920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
37930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
37940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument v
37950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_v = glmsg.add_args();
37960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_isarray(false);
37970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_type(GLMessage::DataType::INT);
37980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->add_intvalue((int)v);
37990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
38010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform3fv(location, count, v);
38020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
38040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
38050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
38060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform3i(GLint location, GLint x, GLint y, GLint z) {
38080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
38090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
38100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
38120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform3i);
38130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
38150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
38160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
38170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
38180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
38190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
38210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
38220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
38230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
38240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
38250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
38270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
38280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
38290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
38300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
38310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
38330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
38340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
38350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::INT);
38360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_intvalue(z);
38370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
38390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform3i(location, x, y, z);
38400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
38420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
38430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
38440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform3iv(GLint location, GLsizei count, const GLint* v) {
38460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
38470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
38480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
38500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform3iv);
38510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
38530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
38540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
38550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
38560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
38570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
38590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
38600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
38610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
38620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
38630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument v
38650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_v = glmsg.add_args();
38660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_isarray(false);
38670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_type(GLMessage::DataType::INT);
38680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->add_intvalue((int)v);
38690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
38710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform3iv(location, count, v);
38720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
38740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
38750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
38760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
38780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
38790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
38800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
38820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform4f);
38830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
38850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
38860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
38870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
38880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
38890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
38910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
38920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
38930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::FLOAT);
38940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_floatvalue(x);
38950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
38960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
38970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
38980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
38990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::FLOAT);
39000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_floatvalue(y);
39010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
39030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
39040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
39050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::FLOAT);
39060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_floatvalue(z);
39070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument w
39090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_w = glmsg.add_args();
39100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_w->set_isarray(false);
39110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_w->set_type(GLMessage::DataType::FLOAT);
39120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_w->add_floatvalue(w);
39130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
39150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform4f(location, x, y, z, w);
39160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
39180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
39190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
39200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform4fv(GLint location, GLsizei count, const GLfloat* v) {
39220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
39230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
39240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
39260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform4fv);
39270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
39290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
39300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
39310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
39320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
39330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
39350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
39360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
39370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
39380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
39390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument v
39410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_v = glmsg.add_args();
39420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_isarray(false);
39430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_type(GLMessage::DataType::INT);
39440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->add_intvalue((int)v);
39450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
39470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform4fv(location, count, v);
39480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
39500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
39510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
39520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) {
39540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
39550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
39560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
39580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform4i);
39590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
39610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
39620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
39630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
39640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
39650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
39670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
39680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
39690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
39700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
39710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
39730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
39740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
39750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
39760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
39770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
39790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
39800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
39810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::INT);
39820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_intvalue(z);
39830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument w
39850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_w = glmsg.add_args();
39860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_w->set_isarray(false);
39870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_w->set_type(GLMessage::DataType::INT);
39880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_w->add_intvalue(w);
39890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
39910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform4i(location, x, y, z, w);
39920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
39940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
39950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
39960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
39970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniform4iv(GLint location, GLsizei count, const GLint* v) {
39980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
39990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
40000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
40020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniform4iv);
40030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
40050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
40060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
40070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
40080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
40090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
40110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
40120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
40130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
40140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
40150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument v
40170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_v = glmsg.add_args();
40180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_isarray(false);
40190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->set_type(GLMessage::DataType::INT);
40200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_v->add_intvalue((int)v);
40210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
40230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniform4iv(location, count, v);
40240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
40260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
40270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
40280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
40300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
40310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
40320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
40340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniformMatrix2fv);
40350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
40370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
40380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
40390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
40400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
40410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
40430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
40440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
40450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
40460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
40470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument transpose
40490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_transpose = glmsg.add_args();
40500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_transpose->set_isarray(false);
40510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_transpose->set_type(GLMessage::DataType::BOOL);
40520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_transpose->add_boolvalue(transpose);
40530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument value
40550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_value = glmsg.add_args();
40560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->set_isarray(false);
40570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->set_type(GLMessage::DataType::INT);
40580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->add_intvalue((int)value);
40590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
40610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniformMatrix2fv(location, count, transpose, value);
40620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
40640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
40650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
40660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
40680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
40690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
40700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
40720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniformMatrix3fv);
40730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
40750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
40760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
40770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
40780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
40790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
40810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
40820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
40830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
40840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
40850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument transpose
40870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_transpose = glmsg.add_args();
40880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_transpose->set_isarray(false);
40890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_transpose->set_type(GLMessage::DataType::BOOL);
40900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_transpose->add_boolvalue(transpose);
40910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument value
40930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_value = glmsg.add_args();
40940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->set_isarray(false);
40950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->set_type(GLMessage::DataType::INT);
40960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->add_intvalue((int)value);
40970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
40980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
40990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniformMatrix3fv(location, count, transpose, value);
41000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
41020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
41030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
41040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
41060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
41070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
41080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
41100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUniformMatrix4fv);
41110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument location
41130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_location = glmsg.add_args();
41140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_isarray(false);
41150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->set_type(GLMessage::DataType::INT);
41160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_location->add_intvalue(location);
41170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
41190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
41200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
41210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
41220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue(count);
41230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument transpose
41250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_transpose = glmsg.add_args();
41260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_transpose->set_isarray(false);
41270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_transpose->set_type(GLMessage::DataType::BOOL);
41280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_transpose->add_boolvalue(transpose);
41290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument value
41310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_value = glmsg.add_args();
41320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->set_isarray(false);
41330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->set_type(GLMessage::DataType::INT);
41340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->add_intvalue((int)value);
41350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
41370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUniformMatrix4fv(location, count, transpose, value);
41380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
41400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
41410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
41420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glUseProgram(GLuint program) {
41440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
41450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
41460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
41480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUseProgram);
41490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
41510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
41520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
41530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
41540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
41550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
41570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glUseProgram(program);
41580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
41600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
41610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
41620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glValidateProgram(GLuint program) {
41640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
41650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
41660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
41680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glValidateProgram);
41690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
41710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
41720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
41730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
41740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
41750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
41770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glValidateProgram(program);
41780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
41800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
41810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
41820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glVertexAttrib1f(GLuint indx, GLfloat x) {
41840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
41850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
41860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
41880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glVertexAttrib1f);
41890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument indx
41910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_indx = glmsg.add_args();
41920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_isarray(false);
41930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_type(GLMessage::DataType::INT);
41940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->add_intvalue(indx);
41950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
41960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
41970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
41980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
41990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::FLOAT);
42000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_floatvalue(x);
42010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
42030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glVertexAttrib1f(indx, x);
42040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
42060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
42070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
42080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glVertexAttrib1fv(GLuint indx, const GLfloat* values) {
42100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
42110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
42120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
42140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glVertexAttrib1fv);
42150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument indx
42170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_indx = glmsg.add_args();
42180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_isarray(false);
42190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_type(GLMessage::DataType::INT);
42200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->add_intvalue(indx);
42210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument values
42230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_values = glmsg.add_args();
42240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_values->set_isarray(false);
42250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_values->set_type(GLMessage::DataType::INT);
42260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_values->add_intvalue((int)values);
42270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
42290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glVertexAttrib1fv(indx, values);
42300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
42320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
42330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
42340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) {
42360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
42370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
42380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
42400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glVertexAttrib2f);
42410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument indx
42430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_indx = glmsg.add_args();
42440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_isarray(false);
42450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_type(GLMessage::DataType::INT);
42460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->add_intvalue(indx);
42470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
42490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
42500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
42510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::FLOAT);
42520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_floatvalue(x);
42530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
42550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
42560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
42570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::FLOAT);
42580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_floatvalue(y);
42590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
42610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glVertexAttrib2f(indx, x, y);
42620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
42640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
42650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
42660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glVertexAttrib2fv(GLuint indx, const GLfloat* values) {
42680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
42690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
42700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
42720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glVertexAttrib2fv);
42730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument indx
42750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_indx = glmsg.add_args();
42760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_isarray(false);
42770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_type(GLMessage::DataType::INT);
42780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->add_intvalue(indx);
42790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument values
42810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_values = glmsg.add_args();
42820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_values->set_isarray(false);
42830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_values->set_type(GLMessage::DataType::INT);
42840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_values->add_intvalue((int)values);
42850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
42870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glVertexAttrib2fv(indx, values);
42880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
42900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
42910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
42920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z) {
42940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
42950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
42960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
42970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
42980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glVertexAttrib3f);
42990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument indx
43010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_indx = glmsg.add_args();
43020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_isarray(false);
43030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_type(GLMessage::DataType::INT);
43040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->add_intvalue(indx);
43050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
43070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
43080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
43090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::FLOAT);
43100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_floatvalue(x);
43110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
43130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
43140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
43150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::FLOAT);
43160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_floatvalue(y);
43170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
43190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
43200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
43210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::FLOAT);
43220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_floatvalue(z);
43230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
43250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glVertexAttrib3f(indx, x, y, z);
43260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
43280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
43290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
43300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glVertexAttrib3fv(GLuint indx, const GLfloat* values) {
43320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
43330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
43340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
43360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glVertexAttrib3fv);
43370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument indx
43390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_indx = glmsg.add_args();
43400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_isarray(false);
43410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_type(GLMessage::DataType::INT);
43420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->add_intvalue(indx);
43430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument values
43450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_values = glmsg.add_args();
43460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_values->set_isarray(false);
43470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_values->set_type(GLMessage::DataType::INT);
43480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_values->add_intvalue((int)values);
43490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
43510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glVertexAttrib3fv(indx, values);
43520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
43540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
43550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
43560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
43580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
43590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
43600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
43620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glVertexAttrib4f);
43630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument indx
43650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_indx = glmsg.add_args();
43660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_isarray(false);
43670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_type(GLMessage::DataType::INT);
43680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->add_intvalue(indx);
43690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
43710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
43720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
43730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::FLOAT);
43740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_floatvalue(x);
43750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
43770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
43780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
43790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::FLOAT);
43800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_floatvalue(y);
43810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
43830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
43840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
43850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::FLOAT);
43860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_floatvalue(z);
43870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument w
43890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_w = glmsg.add_args();
43900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_w->set_isarray(false);
43910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_w->set_type(GLMessage::DataType::FLOAT);
43920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_w->add_floatvalue(w);
43930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
43950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glVertexAttrib4f(indx, x, y, z, w);
43960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
43970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
43980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
43990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
44000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glVertexAttrib4fv(GLuint indx, const GLfloat* values) {
44020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
44030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
44040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
44060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glVertexAttrib4fv);
44070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument indx
44090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_indx = glmsg.add_args();
44100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_isarray(false);
44110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_type(GLMessage::DataType::INT);
44120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->add_intvalue(indx);
44130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument values
44150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_values = glmsg.add_args();
44160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_values->set_isarray(false);
44170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_values->set_type(GLMessage::DataType::INT);
44180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_values->add_intvalue((int)values);
44190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
44210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glVertexAttrib4fv(indx, values);
44220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
44240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
44250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
44260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr) {
44280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
44290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
44300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
44320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glVertexAttribPointer);
44330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument indx
44350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_indx = glmsg.add_args();
44360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_isarray(false);
44370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->set_type(GLMessage::DataType::INT);
44380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indx->add_intvalue(indx);
44390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
44410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
44420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
44430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
44440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue(size);
44450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
44470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
44480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
44490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
44500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
44510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument normalized
44530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_normalized = glmsg.add_args();
44540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_normalized->set_isarray(false);
44550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_normalized->set_type(GLMessage::DataType::BOOL);
44560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_normalized->add_boolvalue(normalized);
44570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument stride
44590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_stride = glmsg.add_args();
44600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_isarray(false);
44610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_type(GLMessage::DataType::INT);
44620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->add_intvalue(stride);
44630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument ptr
44650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_ptr = glmsg.add_args();
44660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ptr->set_isarray(false);
44670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ptr->set_type(GLMessage::DataType::INT);
44680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ptr->add_intvalue((int)ptr);
44690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
44710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glVertexAttribPointer(indx, size, type, normalized, stride, ptr);
44720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
44740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
44750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
44760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glViewport(GLint x, GLint y, GLsizei width, GLsizei height) {
44780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
44790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
44800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
44820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glViewport);
44830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
44850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
44860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
44870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
44880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
44890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
44910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
44920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
44930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
44940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
44950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
44960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
44970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
44980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
44990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
45000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
45010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
45030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
45040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
45050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
45060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
45070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
45090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glViewport(x, y, width, height);
45100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
45120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
45130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
45140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy// Definitions for GL2Ext APIs
45170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) {
45190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
45200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
45210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
45230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glEGLImageTargetTexture2DOES);
45240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
45260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
45270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
45280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
45290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
45300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument image
45320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_image = glmsg.add_args();
45330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_image->set_isarray(false);
45340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_image->set_type(GLMessage::DataType::INT);
45350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_image->add_intvalue((int)image);
45360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
45380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glEGLImageTargetTexture2DOES(target, image);
45390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
45410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
45420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
45430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image) {
45450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
45460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
45470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
45490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glEGLImageTargetRenderbufferStorageOES);
45500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
45520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
45530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
45540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
45550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
45560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument image
45580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_image = glmsg.add_args();
45590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_image->set_isarray(false);
45600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_image->set_type(GLMessage::DataType::INT);
45610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_image->add_intvalue((int)image);
45620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
45640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glEGLImageTargetRenderbufferStorageOES(target, image);
45650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
45670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
45680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
45690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary) {
45710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
45720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
45730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
45750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetProgramBinaryOES);
45760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
45780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
45790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
45800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
45810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
45820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bufSize
45840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bufSize = glmsg.add_args();
45850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufSize->set_isarray(false);
45860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufSize->set_type(GLMessage::DataType::INT);
45870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufSize->add_intvalue(bufSize);
45880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
45900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
45910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
45920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
45930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue((int)length);
45940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
45950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument binaryFormat
45960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_binaryFormat = glmsg.add_args();
45970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binaryFormat->set_isarray(false);
45980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binaryFormat->set_type(GLMessage::DataType::INT);
45990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binaryFormat->add_intvalue((int)binaryFormat);
46000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument binary
46020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_binary = glmsg.add_args();
46030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binary->set_isarray(false);
46040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binary->set_type(GLMessage::DataType::INT);
46050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binary->add_intvalue((int)binary);
46060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
46080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetProgramBinaryOES(program, bufSize, length, binaryFormat, binary);
46090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
46110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
46120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
46130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length) {
46150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
46160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
46170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
46190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glProgramBinaryOES);
46200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
46220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
46230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
46240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
46250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
46260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument binaryFormat
46280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_binaryFormat = glmsg.add_args();
46290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binaryFormat->set_isarray(false);
46300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binaryFormat->set_type(GLMessage::DataType::ENUM);
46310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binaryFormat->add_intvalue((int)binaryFormat);
46320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument binary
46340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_binary = glmsg.add_args();
46350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binary->set_isarray(false);
46360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binary->set_type(GLMessage::DataType::INT);
46370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_binary->add_intvalue((int)binary);
46380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
46400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
46410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
46420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
46430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue(length);
46440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
46460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glProgramBinaryOES(program, binaryFormat, binary, length);
46470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
46490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
46500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
46510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid* GLTrace_glMapBufferOES(GLenum target, GLenum access) {
46530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
46540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
46550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
46570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMapBufferOES);
46580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
46600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
46610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
46620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
46630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
46640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument access
46660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_access = glmsg.add_args();
46670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_access->set_isarray(false);
46680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_access->set_type(GLMessage::DataType::ENUM);
46690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_access->add_intvalue((int)access);
46700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
46720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    void* retValue = glContext->hooks->gl.glMapBufferOES(target, access);
46730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
46750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
46760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
46770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::INT);
46780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_intvalue((int)retValue);
46790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
46810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
46820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
46840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
46850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46860469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glUnmapBufferOES(GLenum target) {
46870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
46880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
46890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
46910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glUnmapBufferOES);
46920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
46940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
46950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
46960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
46970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
46980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
46990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
47000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glUnmapBufferOES(target);
47010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
47030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
47040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
47050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
47060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
47070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
47090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
47100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
47120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
47130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid** params) {
47150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
47160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
47170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
47190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetBufferPointervOES);
47200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
47220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
47230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
47240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
47250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
47260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
47280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
47290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
47300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
47310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
47320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
47340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
47350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
47360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
47370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
47380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
47400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetBufferPointervOES(target, pname, params);
47410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
47430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
47440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
47450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels) {
47470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
47480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
47490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
47510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexImage3DOES);
47520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
47540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
47550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
47560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
47570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
47580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
47600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
47610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
47620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
47630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
47640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument internalformat
47660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_internalformat = glmsg.add_args();
47670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_isarray(false);
47680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_type(GLMessage::DataType::ENUM);
47690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->add_intvalue((int)internalformat);
47700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
47720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
47730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
47740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
47750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
47760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
47780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
47790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
47800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
47810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
47820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument depth
47840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_depth = glmsg.add_args();
47850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_isarray(false);
47860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_type(GLMessage::DataType::INT);
47870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->add_intvalue(depth);
47880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument border
47900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_border = glmsg.add_args();
47910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->set_isarray(false);
47920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->set_type(GLMessage::DataType::INT);
47930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->add_intvalue(border);
47940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
47950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument format
47960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_format = glmsg.add_args();
47970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_isarray(false);
47980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_type(GLMessage::DataType::ENUM);
47990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->add_intvalue((int)format);
48000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
48020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
48030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
48040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
48050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
48060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pixels
48080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pixels = glmsg.add_args();
48090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->set_isarray(false);
48100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->set_type(GLMessage::DataType::INT);
48110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->add_intvalue((int)pixels);
48120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
48140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexImage3DOES(target, level, internalformat, width, height, depth, border, format, type, pixels);
48150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
48170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
48180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
48190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels) {
48210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
48220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
48230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
48250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexSubImage3DOES);
48260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
48280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
48290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
48300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
48310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
48320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
48340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
48350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
48360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
48370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
48380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument xoffset
48400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_xoffset = glmsg.add_args();
48410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_isarray(false);
48420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_type(GLMessage::DataType::INT);
48430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->add_intvalue(xoffset);
48440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument yoffset
48460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_yoffset = glmsg.add_args();
48470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_isarray(false);
48480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_type(GLMessage::DataType::INT);
48490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->add_intvalue(yoffset);
48500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zoffset
48520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zoffset = glmsg.add_args();
48530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->set_isarray(false);
48540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->set_type(GLMessage::DataType::INT);
48550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->add_intvalue(zoffset);
48560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
48580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
48590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
48600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
48610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
48620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
48640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
48650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
48660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
48670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
48680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument depth
48700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_depth = glmsg.add_args();
48710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_isarray(false);
48720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_type(GLMessage::DataType::INT);
48730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->add_intvalue(depth);
48740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument format
48760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_format = glmsg.add_args();
48770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_isarray(false);
48780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_type(GLMessage::DataType::ENUM);
48790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->add_intvalue((int)format);
48800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
48820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
48830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
48840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
48850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
48860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pixels
48880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pixels = glmsg.add_args();
48890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->set_isarray(false);
48900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->set_type(GLMessage::DataType::INT);
48910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pixels->add_intvalue((int)pixels);
48920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
48940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
48950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
48960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
48970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
48980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
48990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
49010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
49020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
49030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
49050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCopyTexSubImage3DOES);
49060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
49080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
49090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
49100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
49110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
49120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
49140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
49150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
49160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
49170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
49180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument xoffset
49200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_xoffset = glmsg.add_args();
49210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_isarray(false);
49220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_type(GLMessage::DataType::INT);
49230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->add_intvalue(xoffset);
49240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument yoffset
49260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_yoffset = glmsg.add_args();
49270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_isarray(false);
49280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_type(GLMessage::DataType::INT);
49290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->add_intvalue(yoffset);
49300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zoffset
49320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zoffset = glmsg.add_args();
49330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->set_isarray(false);
49340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->set_type(GLMessage::DataType::INT);
49350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->add_intvalue(zoffset);
49360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
49380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
49390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
49400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
49410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
49420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
49440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
49450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
49460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
49470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
49480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
49500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
49510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
49520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
49530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
49540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
49560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
49570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
49580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
49590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
49600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
49620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glCopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height);
49630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
49650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
49660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
49670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data) {
49690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
49700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
49710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
49730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCompressedTexImage3DOES);
49740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
49760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
49770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
49780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
49790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
49800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
49820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
49830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
49840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
49850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
49860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument internalformat
49880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_internalformat = glmsg.add_args();
49890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_isarray(false);
49900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_type(GLMessage::DataType::ENUM);
49910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->add_intvalue((int)internalformat);
49920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
49940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
49950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
49960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
49970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
49980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
49990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
50000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
50010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
50020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
50030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
50040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument depth
50060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_depth = glmsg.add_args();
50070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_isarray(false);
50080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_type(GLMessage::DataType::INT);
50090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->add_intvalue(depth);
50100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument border
50120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_border = glmsg.add_args();
50130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->set_isarray(false);
50140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->set_type(GLMessage::DataType::INT);
50150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_border->add_intvalue(border);
50160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument imageSize
50180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_imageSize = glmsg.add_args();
50190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_imageSize->set_isarray(false);
50200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_imageSize->set_type(GLMessage::DataType::INT);
50210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_imageSize->add_intvalue(imageSize);
50220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument data
50240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_data = glmsg.add_args();
50250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_isarray(false);
50260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_type(GLMessage::DataType::INT);
50270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->add_intvalue((int)data);
50280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
50300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glCompressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, data);
50310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
50330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
50340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
50350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data) {
50370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
50380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
50390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
50410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCompressedTexSubImage3DOES);
50420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
50440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
50450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
50460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
50470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
50480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
50500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
50510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
50520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
50530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
50540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument xoffset
50560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_xoffset = glmsg.add_args();
50570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_isarray(false);
50580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_type(GLMessage::DataType::INT);
50590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->add_intvalue(xoffset);
50600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument yoffset
50620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_yoffset = glmsg.add_args();
50630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_isarray(false);
50640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_type(GLMessage::DataType::INT);
50650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->add_intvalue(yoffset);
50660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zoffset
50680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zoffset = glmsg.add_args();
50690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->set_isarray(false);
50700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->set_type(GLMessage::DataType::INT);
50710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->add_intvalue(zoffset);
50720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
50740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
50750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
50760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
50770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
50780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
50800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
50810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
50820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
50830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
50840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument depth
50860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_depth = glmsg.add_args();
50870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_isarray(false);
50880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_type(GLMessage::DataType::INT);
50890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->add_intvalue(depth);
50900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument format
50920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_format = glmsg.add_args();
50930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_isarray(false);
50940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_type(GLMessage::DataType::ENUM);
50950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->add_intvalue((int)format);
50960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
50970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument imageSize
50980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_imageSize = glmsg.add_args();
50990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_imageSize->set_isarray(false);
51000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_imageSize->set_type(GLMessage::DataType::INT);
51010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_imageSize->add_intvalue(imageSize);
51020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument data
51040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_data = glmsg.add_args();
51050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_isarray(false);
51060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_type(GLMessage::DataType::INT);
51070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->add_intvalue((int)data);
51080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
51100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glCompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
51110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
51130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
51140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
51150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) {
51170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
51180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
51190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
51210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFramebufferTexture3DOES);
51220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
51240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
51250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
51260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
51270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
51280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument attachment
51300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_attachment = glmsg.add_args();
51310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_isarray(false);
51320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_type(GLMessage::DataType::ENUM);
51330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->add_intvalue((int)attachment);
51340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument textarget
51360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_textarget = glmsg.add_args();
51370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textarget->set_isarray(false);
51380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textarget->set_type(GLMessage::DataType::ENUM);
51390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textarget->add_intvalue((int)textarget);
51400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument texture
51420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_texture = glmsg.add_args();
51430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_isarray(false);
51440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_type(GLMessage::DataType::INT);
51450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->add_intvalue(texture);
51460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
51480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
51490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
51500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
51510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
51520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zoffset
51540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zoffset = glmsg.add_args();
51550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->set_isarray(false);
51560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->set_type(GLMessage::DataType::INT);
51570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->add_intvalue(zoffset);
51580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
51600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset);
51610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
51630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
51640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
51650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBindVertexArrayOES(GLuint array) {
51670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
51680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
51690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
51710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBindVertexArrayOES);
51720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument array
51740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_array = glmsg.add_args();
51750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_array->set_isarray(false);
51760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_array->set_type(GLMessage::DataType::INT);
51770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_array->add_intvalue(array);
51780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
51800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBindVertexArrayOES(array);
51810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
51830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
51840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
51850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDeleteVertexArraysOES(GLsizei n, const GLuint *arrays) {
51870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
51880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
51890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
51910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDeleteVertexArraysOES);
51920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
51940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
51950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
51960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
51970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
51980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
51990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument arrays
52000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_arrays = glmsg.add_args();
52010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_arrays->set_isarray(false);
52020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_arrays->set_type(GLMessage::DataType::INT);
52030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_arrays->add_intvalue((int)arrays);
52040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
52060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDeleteVertexArraysOES(n, arrays);
52070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
52090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
52100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
52110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGenVertexArraysOES(GLsizei n, GLuint *arrays) {
52130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
52140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
52150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
52170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGenVertexArraysOES);
52180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
52200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
52210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
52220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
52230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
52240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument arrays
52260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_arrays = glmsg.add_args();
52270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_arrays->set_isarray(false);
52280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_arrays->set_type(GLMessage::DataType::INT);
52290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_arrays->add_intvalue((int)arrays);
52300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
52320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGenVertexArraysOES(n, arrays);
52330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
52350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
52360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
52370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52380469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glIsVertexArrayOES(GLuint array) {
52390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
52400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
52410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
52430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glIsVertexArrayOES);
52440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument array
52460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_array = glmsg.add_args();
52470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_array->set_isarray(false);
52480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_array->set_type(GLMessage::DataType::INT);
52490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_array->add_intvalue(array);
52500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
52520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glIsVertexArrayOES(array);
52530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
52550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
52560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
52570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
52580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
52590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
52610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
52620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
52640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
52650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLuint *groups) {
52670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
52680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
52690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
52710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetPerfMonitorGroupsAMD);
52720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument numGroups
52740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_numGroups = glmsg.add_args();
52750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numGroups->set_isarray(false);
52760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numGroups->set_type(GLMessage::DataType::INT);
52770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numGroups->add_intvalue((int)numGroups);
52780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument groupsSize
52800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_groupsSize = glmsg.add_args();
52810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_groupsSize->set_isarray(false);
52820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_groupsSize->set_type(GLMessage::DataType::INT);
52830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_groupsSize->add_intvalue(groupsSize);
52840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument groups
52860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_groups = glmsg.add_args();
52870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_groups->set_isarray(false);
52880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_groups->set_type(GLMessage::DataType::INT);
52890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_groups->add_intvalue((int)groups);
52900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
52920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups);
52930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
52950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
52960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
52970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
52980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters) {
52990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
53000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
53010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
53030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetPerfMonitorCountersAMD);
53040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument group
53060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_group = glmsg.add_args();
53070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->set_isarray(false);
53080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->set_type(GLMessage::DataType::INT);
53090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->add_intvalue(group);
53100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument numCounters
53120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_numCounters = glmsg.add_args();
53130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numCounters->set_isarray(false);
53140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numCounters->set_type(GLMessage::DataType::INT);
53150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numCounters->add_intvalue((int)numCounters);
53160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument maxActiveCounters
53180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_maxActiveCounters = glmsg.add_args();
53190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxActiveCounters->set_isarray(false);
53200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxActiveCounters->set_type(GLMessage::DataType::INT);
53210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxActiveCounters->add_intvalue((int)maxActiveCounters);
53220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument counterSize
53240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_counterSize = glmsg.add_args();
53250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counterSize->set_isarray(false);
53260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counterSize->set_type(GLMessage::DataType::INT);
53270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counterSize->add_intvalue(counterSize);
53280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument counters
53300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_counters = glmsg.add_args();
53310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counters->set_isarray(false);
53320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counters->set_type(GLMessage::DataType::INT);
53330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counters->add_intvalue((int)counters);
53340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
53360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters);
53370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
53390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
53400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
53410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString) {
53430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
53440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
53450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
53470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetPerfMonitorGroupStringAMD);
53480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument group
53500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_group = glmsg.add_args();
53510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->set_isarray(false);
53520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->set_type(GLMessage::DataType::INT);
53530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->add_intvalue(group);
53540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bufSize
53560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bufSize = glmsg.add_args();
53570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufSize->set_isarray(false);
53580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufSize->set_type(GLMessage::DataType::INT);
53590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufSize->add_intvalue(bufSize);
53600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
53620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
53630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
53640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
53650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue((int)length);
53660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument groupString
53680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_groupString = glmsg.add_args();
53690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_groupString->set_isarray(false);
53700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_groupString->set_type(GLMessage::DataType::INT);
53710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_groupString->add_intvalue((int)groupString);
53720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
53740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString);
53750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
53770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
53780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
53790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString) {
53810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
53820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
53830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
53850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetPerfMonitorCounterStringAMD);
53860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument group
53880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_group = glmsg.add_args();
53890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->set_isarray(false);
53900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->set_type(GLMessage::DataType::INT);
53910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->add_intvalue(group);
53920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument counter
53940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_counter = glmsg.add_args();
53950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counter->set_isarray(false);
53960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counter->set_type(GLMessage::DataType::INT);
53970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counter->add_intvalue(counter);
53980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
53990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bufSize
54000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bufSize = glmsg.add_args();
54010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufSize->set_isarray(false);
54020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufSize->set_type(GLMessage::DataType::INT);
54030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufSize->add_intvalue(bufSize);
54040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
54060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
54070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
54080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
54090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue((int)length);
54100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument counterString
54120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_counterString = glmsg.add_args();
54130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counterString->set_isarray(false);
54140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counterString->set_type(GLMessage::DataType::INT);
54150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counterString->add_intvalue((int)counterString);
54160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
54180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString);
54190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
54210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
54220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
54230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid *data) {
54250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
54260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
54270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
54290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetPerfMonitorCounterInfoAMD);
54300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument group
54320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_group = glmsg.add_args();
54330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->set_isarray(false);
54340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->set_type(GLMessage::DataType::INT);
54350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->add_intvalue(group);
54360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument counter
54380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_counter = glmsg.add_args();
54390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counter->set_isarray(false);
54400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counter->set_type(GLMessage::DataType::INT);
54410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_counter->add_intvalue(counter);
54420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
54440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
54450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
54460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
54470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
54480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument data
54500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_data = glmsg.add_args();
54510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_isarray(false);
54520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_type(GLMessage::DataType::INT);
54530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->add_intvalue((int)data);
54540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
54560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetPerfMonitorCounterInfoAMD(group, counter, pname, data);
54570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
54590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
54600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
54610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors) {
54630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
54640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
54650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
54670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGenPerfMonitorsAMD);
54680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
54700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
54710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
54720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
54730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
54740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument monitors
54760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_monitors = glmsg.add_args();
54770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitors->set_isarray(false);
54780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitors->set_type(GLMessage::DataType::INT);
54790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitors->add_intvalue((int)monitors);
54800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
54820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGenPerfMonitorsAMD(n, monitors);
54830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
54850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
54860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
54870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors) {
54890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
54900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
54910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
54930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDeletePerfMonitorsAMD);
54940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
54950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
54960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
54970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
54980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
54990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
55000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument monitors
55020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_monitors = glmsg.add_args();
55030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitors->set_isarray(false);
55040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitors->set_type(GLMessage::DataType::INT);
55050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitors->add_intvalue((int)monitors);
55060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
55080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDeletePerfMonitorsAMD(n, monitors);
55090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
55110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
55120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
55130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList) {
55150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
55160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
55170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
55190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glSelectPerfMonitorCountersAMD);
55200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument monitor
55220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_monitor = glmsg.add_args();
55230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitor->set_isarray(false);
55240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitor->set_type(GLMessage::DataType::INT);
55250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitor->add_intvalue(monitor);
55260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument enable
55280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_enable = glmsg.add_args();
55290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_enable->set_isarray(false);
55300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_enable->set_type(GLMessage::DataType::BOOL);
55310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_enable->add_boolvalue(enable);
55320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument group
55340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_group = glmsg.add_args();
55350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->set_isarray(false);
55360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->set_type(GLMessage::DataType::INT);
55370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_group->add_intvalue(group);
55380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument numCounters
55400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_numCounters = glmsg.add_args();
55410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numCounters->set_isarray(false);
55420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numCounters->set_type(GLMessage::DataType::INT);
55430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numCounters->add_intvalue(numCounters);
55440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument countersList
55460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_countersList = glmsg.add_args();
55470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_countersList->set_isarray(false);
55480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_countersList->set_type(GLMessage::DataType::INT);
55490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_countersList->add_intvalue((int)countersList);
55500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
55520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, countersList);
55530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
55550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
55560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
55570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBeginPerfMonitorAMD(GLuint monitor) {
55590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
55600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
55610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
55630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBeginPerfMonitorAMD);
55640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument monitor
55660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_monitor = glmsg.add_args();
55670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitor->set_isarray(false);
55680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitor->set_type(GLMessage::DataType::INT);
55690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitor->add_intvalue(monitor);
55700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
55720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBeginPerfMonitorAMD(monitor);
55730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
55750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
55760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
55770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glEndPerfMonitorAMD(GLuint monitor) {
55790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
55800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
55810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
55830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glEndPerfMonitorAMD);
55840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument monitor
55860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_monitor = glmsg.add_args();
55870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitor->set_isarray(false);
55880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitor->set_type(GLMessage::DataType::INT);
55890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitor->add_intvalue(monitor);
55900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
55920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glEndPerfMonitorAMD(monitor);
55930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
55950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
55960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
55970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
55980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten) {
55990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
56000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
56010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
56030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetPerfMonitorCounterDataAMD);
56040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument monitor
56060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_monitor = glmsg.add_args();
56070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitor->set_isarray(false);
56080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitor->set_type(GLMessage::DataType::INT);
56090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_monitor->add_intvalue(monitor);
56100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
56120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
56130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
56140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
56150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
56160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument dataSize
56180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_dataSize = glmsg.add_args();
56190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dataSize->set_isarray(false);
56200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dataSize->set_type(GLMessage::DataType::INT);
56210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dataSize->add_intvalue(dataSize);
56220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument data
56240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_data = glmsg.add_args();
56250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_isarray(false);
56260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->set_type(GLMessage::DataType::INT);
56270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_data->add_intvalue((int)data);
56280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bytesWritten
56300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bytesWritten = glmsg.add_args();
56310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bytesWritten->set_isarray(false);
56320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bytesWritten->set_type(GLMessage::DataType::INT);
56330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bytesWritten->add_intvalue((int)bytesWritten);
56340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
56360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten);
56370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
56390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
56400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
56410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum *attachments) {
56430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
56440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
56450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
56470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDiscardFramebufferEXT);
56480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
56500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
56510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
56520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
56530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
56540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument numAttachments
56560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_numAttachments = glmsg.add_args();
56570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numAttachments->set_isarray(false);
56580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numAttachments->set_type(GLMessage::DataType::INT);
56590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numAttachments->add_intvalue(numAttachments);
56600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument attachments
56620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_attachments = glmsg.add_args();
56630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachments->set_isarray(false);
56640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachments->set_type(GLMessage::DataType::INT);
56650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachments->add_intvalue((int)attachments);
56660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
56680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDiscardFramebufferEXT(target, numAttachments, attachments);
56690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
56710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
56720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
56730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMultiDrawArraysEXT(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount) {
56750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
56760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
56770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
56790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMultiDrawArraysEXT);
56800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mode
56820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mode = glmsg.add_args();
56830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_isarray(false);
56840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_type(GLMessage::DataType::ENUM);
56850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->add_intvalue((int)mode);
56860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument first
56880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_first = glmsg.add_args();
56890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_first->set_isarray(false);
56900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_first->set_type(GLMessage::DataType::INT);
56910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_first->add_intvalue((int)first);
56920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
56940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
56950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
56960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
56970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue((int)count);
56980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
56990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument primcount
57000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_primcount = glmsg.add_args();
57010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_primcount->set_isarray(false);
57020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_primcount->set_type(GLMessage::DataType::INT);
57030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_primcount->add_intvalue(primcount);
57040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
57060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMultiDrawArraysEXT(mode, first, count, primcount);
57070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
57090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
57100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
57110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount) {
57130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
57140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
57150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
57170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMultiDrawElementsEXT);
57180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mode
57200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mode = glmsg.add_args();
57210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_isarray(false);
57220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_type(GLMessage::DataType::ENUM);
57230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->add_intvalue((int)mode);
57240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument count
57260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_count = glmsg.add_args();
57270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_isarray(false);
57280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->set_type(GLMessage::DataType::INT);
57290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_count->add_intvalue((int)count);
57300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
57320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
57330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
57340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
57350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
57360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument indices
57380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_indices = glmsg.add_args();
57390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indices->set_isarray(false);
57400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indices->set_type(GLMessage::DataType::INT);
57410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_indices->add_intvalue((int)indices);
57420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument primcount
57440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_primcount = glmsg.add_args();
57450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_primcount->set_isarray(false);
57460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_primcount->set_type(GLMessage::DataType::INT);
57470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_primcount->add_intvalue(primcount);
57480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
57500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMultiDrawElementsEXT(mode, count, type, indices, primcount);
57510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
57530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
57540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
57550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {
57570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
57580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
57590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
57610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glRenderbufferStorageMultisampleIMG);
57620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
57640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
57650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
57660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
57670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
57680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument samples
57700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_samples = glmsg.add_args();
57710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_samples->set_isarray(false);
57720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_samples->set_type(GLMessage::DataType::INT);
57730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_samples->add_intvalue(samples);
57740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument internalformat
57760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_internalformat = glmsg.add_args();
57770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_isarray(false);
57780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_type(GLMessage::DataType::ENUM);
57790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->add_intvalue((int)internalformat);
57800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
57820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
57830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
57840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
57850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
57860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
57880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
57890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
57900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
57910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
57920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
57940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glRenderbufferStorageMultisampleIMG(target, samples, internalformat, width, height);
57950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
57960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
57970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
57980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
57990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) {
58010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
58020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
58030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
58050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFramebufferTexture2DMultisampleIMG);
58060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
58080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
58090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
58100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
58110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
58120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument attachment
58140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_attachment = glmsg.add_args();
58150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_isarray(false);
58160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_type(GLMessage::DataType::ENUM);
58170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->add_intvalue((int)attachment);
58180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument textarget
58200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_textarget = glmsg.add_args();
58210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textarget->set_isarray(false);
58220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textarget->set_type(GLMessage::DataType::ENUM);
58230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textarget->add_intvalue((int)textarget);
58240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument texture
58260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_texture = glmsg.add_args();
58270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_isarray(false);
58280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_type(GLMessage::DataType::INT);
58290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->add_intvalue(texture);
58300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
58320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
58330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
58340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
58350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
58360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument samples
58380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_samples = glmsg.add_args();
58390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_samples->set_isarray(false);
58400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_samples->set_type(GLMessage::DataType::INT);
58410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_samples->add_intvalue(samples);
58420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
58440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFramebufferTexture2DMultisampleIMG(target, attachment, textarget, texture, level, samples);
58450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
58470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
58480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
58490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDeleteFencesNV(GLsizei n, const GLuint *fences) {
58510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
58520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
58530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
58550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDeleteFencesNV);
58560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
58580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
58590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
58600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
58610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
58620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument fences
58640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_fences = glmsg.add_args();
58650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fences->set_isarray(false);
58660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fences->set_type(GLMessage::DataType::INT);
58670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fences->add_intvalue((int)fences);
58680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
58700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDeleteFencesNV(n, fences);
58710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
58730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
58740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
58750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGenFencesNV(GLsizei n, GLuint *fences) {
58770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
58780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
58790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
58810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGenFencesNV);
58820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
58840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
58850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
58860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
58870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
58880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument fences
58900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_fences = glmsg.add_args();
58910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fences->set_isarray(false);
58920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fences->set_type(GLMessage::DataType::INT);
58930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fences->add_intvalue((int)fences);
58940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
58960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGenFencesNV(n, fences);
58970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
58980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
58990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
59000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
59010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59020469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glIsFenceNV(GLuint fence) {
59030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
59040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
59050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
59070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glIsFenceNV);
59080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument fence
59100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_fence = glmsg.add_args();
59110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->set_isarray(false);
59120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->set_type(GLMessage::DataType::INT);
59130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->add_intvalue(fence);
59140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
59160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glIsFenceNV(fence);
59170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
59190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
59200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
59210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
59220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
59230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
59250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
59260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
59280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
59290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59300469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glTestFenceNV(GLuint fence) {
59310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
59320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
59330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
59350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTestFenceNV);
59360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument fence
59380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_fence = glmsg.add_args();
59390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->set_isarray(false);
59400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->set_type(GLMessage::DataType::INT);
59410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->add_intvalue(fence);
59420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
59440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glTestFenceNV(fence);
59450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
59470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
59480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
59490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
59500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
59510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
59530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
59540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
59560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
59570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetFenceivNV(GLuint fence, GLenum pname, GLint *params) {
59590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
59600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
59610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
59630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetFenceivNV);
59640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument fence
59660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_fence = glmsg.add_args();
59670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->set_isarray(false);
59680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->set_type(GLMessage::DataType::INT);
59690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->add_intvalue(fence);
59700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
59720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
59730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
59740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
59750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
59760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
59780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
59790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
59800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
59810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
59820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
59840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetFenceivNV(fence, pname, params);
59850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
59870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
59880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
59890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFinishFenceNV(GLuint fence) {
59910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
59920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
59930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
59950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFinishFenceNV);
59960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
59970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument fence
59980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_fence = glmsg.add_args();
59990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->set_isarray(false);
60000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->set_type(GLMessage::DataType::INT);
60010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->add_intvalue(fence);
60020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
60040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFinishFenceNV(fence);
60050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
60070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
60080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
60090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glSetFenceNV(GLuint fence, GLenum condition) {
60110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
60120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
60130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
60150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glSetFenceNV);
60160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument fence
60180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_fence = glmsg.add_args();
60190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->set_isarray(false);
60200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->set_type(GLMessage::DataType::INT);
60210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_fence->add_intvalue(fence);
60220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument condition
60240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_condition = glmsg.add_args();
60250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_condition->set_isarray(false);
60260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_condition->set_type(GLMessage::DataType::ENUM);
60270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_condition->add_intvalue((int)condition);
60280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
60300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glSetFenceNV(fence, condition);
60310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
60330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
60340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
60350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glCoverageMaskNV(GLboolean mask) {
60370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
60380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
60390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
60410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCoverageMaskNV);
60420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mask
60440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mask = glmsg.add_args();
60450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->set_isarray(false);
60460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->set_type(GLMessage::DataType::BOOL);
60470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mask->add_boolvalue(mask);
60480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
60500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glCoverageMaskNV(mask);
60510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
60530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
60540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
60550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glCoverageOperationNV(GLenum operation) {
60570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
60580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
60590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
60610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCoverageOperationNV);
60620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument operation
60640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_operation = glmsg.add_args();
60650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_operation->set_isarray(false);
60660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_operation->set_type(GLMessage::DataType::ENUM);
60670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_operation->add_intvalue((int)operation);
60680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
60700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glCoverageOperationNV(operation);
60710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
60730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
60740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
60750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetDriverControlsQCOM(GLint *num, GLsizei size, GLuint *driverControls) {
60770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
60780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
60790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
60810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetDriverControlsQCOM);
60820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument num
60840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_num = glmsg.add_args();
60850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_num->set_isarray(false);
60860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_num->set_type(GLMessage::DataType::INT);
60870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_num->add_intvalue((int)num);
60880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
60900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
60910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
60920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
60930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue(size);
60940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
60950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument driverControls
60960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_driverControls = glmsg.add_args();
60970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControls->set_isarray(false);
60980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControls->set_type(GLMessage::DataType::INT);
60990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControls->add_intvalue((int)driverControls);
61000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
61020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetDriverControlsQCOM(num, size, driverControls);
61030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
61050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
61060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
61070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString) {
61090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
61100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
61110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
61130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetDriverControlStringQCOM);
61140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument driverControl
61160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_driverControl = glmsg.add_args();
61170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControl->set_isarray(false);
61180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControl->set_type(GLMessage::DataType::INT);
61190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControl->add_intvalue(driverControl);
61200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bufSize
61220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bufSize = glmsg.add_args();
61230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufSize->set_isarray(false);
61240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufSize->set_type(GLMessage::DataType::INT);
61250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bufSize->add_intvalue(bufSize);
61260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
61280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
61290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
61300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
61310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue((int)length);
61320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument driverControlString
61340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_driverControlString = glmsg.add_args();
61350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControlString->set_isarray(false);
61360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControlString->set_type(GLMessage::DataType::INT);
61370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControlString->add_intvalue((int)driverControlString);
61380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
61400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetDriverControlStringQCOM(driverControl, bufSize, length, driverControlString);
61410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
61430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
61440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
61450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glEnableDriverControlQCOM(GLuint driverControl) {
61470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
61480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
61490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
61510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glEnableDriverControlQCOM);
61520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument driverControl
61540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_driverControl = glmsg.add_args();
61550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControl->set_isarray(false);
61560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControl->set_type(GLMessage::DataType::INT);
61570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControl->add_intvalue(driverControl);
61580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
61600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glEnableDriverControlQCOM(driverControl);
61610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
61630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
61640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
61650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDisableDriverControlQCOM(GLuint driverControl) {
61670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
61680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
61690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
61710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDisableDriverControlQCOM);
61720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument driverControl
61740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_driverControl = glmsg.add_args();
61750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControl->set_isarray(false);
61760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControl->set_type(GLMessage::DataType::INT);
61770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_driverControl->add_intvalue(driverControl);
61780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
61800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDisableDriverControlQCOM(driverControl);
61810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
61830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
61840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
61850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glExtGetTexturesQCOM(GLuint *textures, GLint maxTextures, GLint *numTextures) {
61870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
61880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
61890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
61910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glExtGetTexturesQCOM);
61920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument textures
61940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_textures = glmsg.add_args();
61950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textures->set_isarray(false);
61960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textures->set_type(GLMessage::DataType::INT);
61970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textures->add_intvalue((int)textures);
61980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
61990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument maxTextures
62000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_maxTextures = glmsg.add_args();
62010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxTextures->set_isarray(false);
62020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxTextures->set_type(GLMessage::DataType::INT);
62030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxTextures->add_intvalue(maxTextures);
62040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument numTextures
62060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_numTextures = glmsg.add_args();
62070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numTextures->set_isarray(false);
62080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numTextures->set_type(GLMessage::DataType::INT);
62090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numTextures->add_intvalue((int)numTextures);
62100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
62120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glExtGetTexturesQCOM(textures, maxTextures, numTextures);
62130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
62150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
62160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
62170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glExtGetBuffersQCOM(GLuint *buffers, GLint maxBuffers, GLint *numBuffers) {
62190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
62200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
62210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
62230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glExtGetBuffersQCOM);
62240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument buffers
62260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_buffers = glmsg.add_args();
62270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffers->set_isarray(false);
62280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffers->set_type(GLMessage::DataType::INT);
62290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_buffers->add_intvalue((int)buffers);
62300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument maxBuffers
62320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_maxBuffers = glmsg.add_args();
62330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxBuffers->set_isarray(false);
62340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxBuffers->set_type(GLMessage::DataType::INT);
62350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxBuffers->add_intvalue(maxBuffers);
62360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument numBuffers
62380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_numBuffers = glmsg.add_args();
62390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numBuffers->set_isarray(false);
62400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numBuffers->set_type(GLMessage::DataType::INT);
62410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numBuffers->add_intvalue((int)numBuffers);
62420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
62440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glExtGetBuffersQCOM(buffers, maxBuffers, numBuffers);
62450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
62470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
62480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
62490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glExtGetRenderbuffersQCOM(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers) {
62510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
62520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
62530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
62550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glExtGetRenderbuffersQCOM);
62560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffers
62580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffers = glmsg.add_args();
62590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->set_isarray(false);
62600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->set_type(GLMessage::DataType::INT);
62610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->add_intvalue((int)renderbuffers);
62620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument maxRenderbuffers
62640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_maxRenderbuffers = glmsg.add_args();
62650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxRenderbuffers->set_isarray(false);
62660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxRenderbuffers->set_type(GLMessage::DataType::INT);
62670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxRenderbuffers->add_intvalue(maxRenderbuffers);
62680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument numRenderbuffers
62700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_numRenderbuffers = glmsg.add_args();
62710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numRenderbuffers->set_isarray(false);
62720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numRenderbuffers->set_type(GLMessage::DataType::INT);
62730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numRenderbuffers->add_intvalue((int)numRenderbuffers);
62740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
62760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, numRenderbuffers);
62770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
62790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
62800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
62810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glExtGetFramebuffersQCOM(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers) {
62830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
62840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
62850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
62870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glExtGetFramebuffersQCOM);
62880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument framebuffers
62900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_framebuffers = glmsg.add_args();
62910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->set_isarray(false);
62920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->set_type(GLMessage::DataType::INT);
62930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->add_intvalue((int)framebuffers);
62940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
62950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument maxFramebuffers
62960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_maxFramebuffers = glmsg.add_args();
62970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxFramebuffers->set_isarray(false);
62980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxFramebuffers->set_type(GLMessage::DataType::INT);
62990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxFramebuffers->add_intvalue(maxFramebuffers);
63000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument numFramebuffers
63020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_numFramebuffers = glmsg.add_args();
63030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numFramebuffers->set_isarray(false);
63040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numFramebuffers->set_type(GLMessage::DataType::INT);
63050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numFramebuffers->add_intvalue((int)numFramebuffers);
63060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
63080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, numFramebuffers);
63090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
63110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
63120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
63130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params) {
63150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
63160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
63170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
63190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glExtGetTexLevelParameterivQCOM);
63200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument texture
63220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_texture = glmsg.add_args();
63230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_isarray(false);
63240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_type(GLMessage::DataType::INT);
63250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->add_intvalue(texture);
63260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
63280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
63290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
63300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
63310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
63320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
63340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
63350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
63360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
63370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
63380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
63400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
63410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
63420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
63430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
63440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
63460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
63470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
63480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
63490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
63500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
63520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glExtGetTexLevelParameterivQCOM(texture, face, level, pname, params);
63530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
63550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
63560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
63570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param) {
63590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
63600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
63610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
63630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glExtTexObjectStateOverrideiQCOM);
63640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
63660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
63670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
63680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
63690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
63700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
63720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
63730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
63740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
63750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
63760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
63780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
63790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
63800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
63810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
63820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
63840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glExtTexObjectStateOverrideiQCOM(target, pname, param);
63850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
63870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
63880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
63890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels) {
63910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
63920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
63930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
63950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glExtGetTexSubImageQCOM);
63960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
63970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
63980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
63990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
64000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
64010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
64020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
64040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
64050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
64060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
64070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
64080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument xoffset
64100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_xoffset = glmsg.add_args();
64110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_isarray(false);
64120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->set_type(GLMessage::DataType::INT);
64130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_xoffset->add_intvalue(xoffset);
64140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument yoffset
64160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_yoffset = glmsg.add_args();
64170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_isarray(false);
64180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->set_type(GLMessage::DataType::INT);
64190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_yoffset->add_intvalue(yoffset);
64200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zoffset
64220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zoffset = glmsg.add_args();
64230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->set_isarray(false);
64240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->set_type(GLMessage::DataType::INT);
64250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zoffset->add_intvalue(zoffset);
64260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
64280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
64290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
64300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
64310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
64320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
64340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
64350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
64360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
64370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
64380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument depth
64400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_depth = glmsg.add_args();
64410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_isarray(false);
64420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_type(GLMessage::DataType::INT);
64430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->add_intvalue(depth);
64440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument format
64460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_format = glmsg.add_args();
64470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_isarray(false);
64480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->set_type(GLMessage::DataType::ENUM);
64490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_format->add_intvalue((int)format);
64500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
64520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
64530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
64540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
64550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
64560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument texels
64580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_texels = glmsg.add_args();
64590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texels->set_isarray(false);
64600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texels->set_type(GLMessage::DataType::INT);
64610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texels->add_intvalue((int)texels);
64620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
64640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glExtGetTexSubImageQCOM(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, texels);
64650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
64670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
64680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
64690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glExtGetBufferPointervQCOM(GLenum target, GLvoid **params) {
64710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
64720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
64730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
64750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glExtGetBufferPointervQCOM);
64760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
64780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
64790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
64800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
64810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
64820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
64840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
64850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
64860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
64870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
64880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
64900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glExtGetBufferPointervQCOM(target, params);
64910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
64930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
64940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
64950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
64960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glExtGetShadersQCOM(GLuint *shaders, GLint maxShaders, GLint *numShaders) {
64970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
64980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
64990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
65010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glExtGetShadersQCOM);
65020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shaders
65040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shaders = glmsg.add_args();
65050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shaders->set_isarray(false);
65060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shaders->set_type(GLMessage::DataType::INT);
65070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shaders->add_intvalue((int)shaders);
65080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument maxShaders
65100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_maxShaders = glmsg.add_args();
65110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxShaders->set_isarray(false);
65120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxShaders->set_type(GLMessage::DataType::INT);
65130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxShaders->add_intvalue(maxShaders);
65140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument numShaders
65160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_numShaders = glmsg.add_args();
65170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numShaders->set_isarray(false);
65180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numShaders->set_type(GLMessage::DataType::INT);
65190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numShaders->add_intvalue((int)numShaders);
65200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
65220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glExtGetShadersQCOM(shaders, maxShaders, numShaders);
65230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
65250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
65260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
65270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glExtGetProgramsQCOM(GLuint *programs, GLint maxPrograms, GLint *numPrograms) {
65290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
65300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
65310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
65330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glExtGetProgramsQCOM);
65340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument programs
65360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_programs = glmsg.add_args();
65370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_programs->set_isarray(false);
65380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_programs->set_type(GLMessage::DataType::INT);
65390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_programs->add_intvalue((int)programs);
65400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument maxPrograms
65420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_maxPrograms = glmsg.add_args();
65430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxPrograms->set_isarray(false);
65440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxPrograms->set_type(GLMessage::DataType::INT);
65450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_maxPrograms->add_intvalue(maxPrograms);
65460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument numPrograms
65480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_numPrograms = glmsg.add_args();
65490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numPrograms->set_isarray(false);
65500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numPrograms->set_type(GLMessage::DataType::INT);
65510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_numPrograms->add_intvalue((int)numPrograms);
65520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
65540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glExtGetProgramsQCOM(programs, maxPrograms, numPrograms);
65550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
65570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
65580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
65590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65600469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glExtIsProgramBinaryQCOM(GLuint program) {
65610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
65620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
65630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
65650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glExtIsProgramBinaryQCOM);
65660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
65680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
65690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
65700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
65710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
65720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
65740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glExtIsProgramBinaryQCOM(program);
65750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
65770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
65780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
65790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
65800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
65810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
65830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
65840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
65860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
65870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar *source, GLint *length) {
65890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
65900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
65910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
65930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glExtGetProgramBinarySourceQCOM);
65940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
65950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument program
65960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_program = glmsg.add_args();
65970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_isarray(false);
65980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->set_type(GLMessage::DataType::INT);
65990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_program->add_intvalue(program);
66000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument shadertype
66020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_shadertype = glmsg.add_args();
66030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shadertype->set_isarray(false);
66040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shadertype->set_type(GLMessage::DataType::ENUM);
66050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_shadertype->add_intvalue((int)shadertype);
66060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument source
66080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_source = glmsg.add_args();
66090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_source->set_isarray(false);
66100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_source->set_type(GLMessage::DataType::INT);
66110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_source->add_intvalue((int)source);
66120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument length
66140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_length = glmsg.add_args();
66150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_isarray(false);
66160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->set_type(GLMessage::DataType::INT);
66170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_length->add_intvalue((int)length);
66180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
66200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glExtGetProgramBinarySourceQCOM(program, shadertype, source, length);
66210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
66230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
66240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
66250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask) {
66270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
66280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
66290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
66310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glStartTilingQCOM);
66320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
66340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
66350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
66360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
66370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
66380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
66400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
66410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
66420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
66430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
66440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
66460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
66470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
66480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
66490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
66500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
66520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
66530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
66540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
66550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
66560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument preserveMask
66580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_preserveMask = glmsg.add_args();
66590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_preserveMask->set_isarray(false);
66600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_preserveMask->set_type(GLMessage::DataType::INT);
66610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_preserveMask->add_intvalue(preserveMask);
66620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
66640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glStartTilingQCOM(x, y, width, height, preserveMask);
66650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
66670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
66680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
66690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glEndTilingQCOM(GLbitfield preserveMask) {
66710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
66720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
66730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
66750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glEndTilingQCOM);
66760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument preserveMask
66780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_preserveMask = glmsg.add_args();
66790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_preserveMask->set_isarray(false);
66800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_preserveMask->set_type(GLMessage::DataType::INT);
66810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_preserveMask->add_intvalue(preserveMask);
66820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
66840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glEndTilingQCOM(preserveMask);
66850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
66870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
66880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
66890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy// Definitions for GL1 APIs
66920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glAlphaFunc(GLenum func, GLclampf ref) {
66940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
66950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
66960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
66970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
66980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glAlphaFunc);
66990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument func
67010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_func = glmsg.add_args();
67020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->set_isarray(false);
67030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->set_type(GLMessage::DataType::ENUM);
67040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->add_intvalue((int)func);
67050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument ref
67070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_ref = glmsg.add_args();
67080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->set_isarray(false);
67090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->set_type(GLMessage::DataType::FLOAT);
67100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->add_floatvalue(ref);
67110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
67130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glAlphaFunc(func, ref);
67140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
67160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
67170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
67180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClipPlanef(GLenum plane, const GLfloat *equation) {
67200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
67210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
67220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
67240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClipPlanef);
67250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument plane
67270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_plane = glmsg.add_args();
67280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_plane->set_isarray(false);
67290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_plane->set_type(GLMessage::DataType::ENUM);
67300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_plane->add_intvalue((int)plane);
67310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument equation
67330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_equation = glmsg.add_args();
67340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_equation->set_isarray(false);
67350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_equation->set_type(GLMessage::DataType::INT);
67360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_equation->add_intvalue((int)equation);
67370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
67390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClipPlanef(plane, equation);
67400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
67420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
67430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
67440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) {
67460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
67470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
67480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
67500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glColor4f);
67510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument red
67530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_red = glmsg.add_args();
67540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_isarray(false);
67550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_type(GLMessage::DataType::FLOAT);
67560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->add_floatvalue(red);
67570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument green
67590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_green = glmsg.add_args();
67600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_isarray(false);
67610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_type(GLMessage::DataType::FLOAT);
67620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->add_floatvalue(green);
67630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument blue
67650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_blue = glmsg.add_args();
67660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_isarray(false);
67670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_type(GLMessage::DataType::FLOAT);
67680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->add_floatvalue(blue);
67690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument alpha
67710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_alpha = glmsg.add_args();
67720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_isarray(false);
67730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_type(GLMessage::DataType::FLOAT);
67740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->add_floatvalue(alpha);
67750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
67770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glColor4f(red, green, blue, alpha);
67780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
67800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
67810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
67820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFogf(GLenum pname, GLfloat param) {
67840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
67850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
67860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
67880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFogf);
67890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
67910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
67920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
67930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
67940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
67950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
67960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
67970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
67980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
67990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::FLOAT);
68000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_floatvalue(param);
68010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
68030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFogf(pname, param);
68040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
68060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
68070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
68080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFogfv(GLenum pname, const GLfloat *params) {
68100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
68110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
68120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
68140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFogfv);
68150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
68170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
68180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
68190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
68200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
68210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
68230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
68240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
68250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
68260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
68270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
68290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFogfv(pname, params);
68300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
68320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
68330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
68340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) {
68360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
68370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
68380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
68400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFrustumf);
68410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument left
68430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_left = glmsg.add_args();
68440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_isarray(false);
68450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_type(GLMessage::DataType::FLOAT);
68460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->add_floatvalue(left);
68470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument right
68490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_right = glmsg.add_args();
68500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_isarray(false);
68510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_type(GLMessage::DataType::FLOAT);
68520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->add_floatvalue(right);
68530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bottom
68550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bottom = glmsg.add_args();
68560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_isarray(false);
68570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_type(GLMessage::DataType::FLOAT);
68580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->add_floatvalue(bottom);
68590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument top
68610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_top = glmsg.add_args();
68620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_isarray(false);
68630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_type(GLMessage::DataType::FLOAT);
68640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->add_floatvalue(top);
68650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zNear
68670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zNear = glmsg.add_args();
68680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_isarray(false);
68690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_type(GLMessage::DataType::FLOAT);
68700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->add_floatvalue(zNear);
68710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zFar
68730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zFar = glmsg.add_args();
68740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_isarray(false);
68750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_type(GLMessage::DataType::FLOAT);
68760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->add_floatvalue(zFar);
68770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
68790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFrustumf(left, right, bottom, top, zNear, zFar);
68800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
68820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
68830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
68840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetClipPlanef(GLenum pname, GLfloat eqn[4]) {
68860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
68870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
68880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
68900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetClipPlanef);
68910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
68930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
68940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
68950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
68960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
68970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
68980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument eqn
68990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_eqn = glmsg.add_args();
69000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->set_isarray(false);
69010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->set_type(GLMessage::DataType::INT);
69020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->add_intvalue((int)eqn);
69030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
69050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetClipPlanef(pname, eqn);
69060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
69080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
69090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
69100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetLightfv(GLenum light, GLenum pname, GLfloat *params) {
69120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
69130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
69140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
69160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetLightfv);
69170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument light
69190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_light = glmsg.add_args();
69200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_isarray(false);
69210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_type(GLMessage::DataType::ENUM);
69220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->add_intvalue((int)light);
69230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
69250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
69260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
69270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
69280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
69290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
69310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
69320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
69330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
69340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
69350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
69370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetLightfv(light, pname, params);
69380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
69400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
69410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
69420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) {
69440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
69450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
69460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
69480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetMaterialfv);
69490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
69510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
69520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
69530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
69540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
69550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
69570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
69580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
69590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
69600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
69610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
69630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
69640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
69650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
69660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
69670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
69690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetMaterialfv(face, pname, params);
69700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
69720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
69730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
69740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetTexEnvfv(GLenum env, GLenum pname, GLfloat *params) {
69760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
69770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
69780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
69800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetTexEnvfv);
69810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument env
69830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_env = glmsg.add_args();
69840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_env->set_isarray(false);
69850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_env->set_type(GLMessage::DataType::ENUM);
69860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_env->add_intvalue((int)env);
69870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
69890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
69900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
69910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
69920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
69930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
69940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
69950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
69960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
69970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
69980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
69990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
70010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetTexEnvfv(env, pname, params);
70020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
70040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
70050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
70060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLightModelf(GLenum pname, GLfloat param) {
70080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
70090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
70100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
70120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLightModelf);
70130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
70150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
70160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
70170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
70180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
70190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
70210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
70220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
70230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::FLOAT);
70240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_floatvalue(param);
70250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
70270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLightModelf(pname, param);
70280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
70300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
70310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
70320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLightModelfv(GLenum pname, const GLfloat *params) {
70340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
70350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
70360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
70380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLightModelfv);
70390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
70410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
70420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
70430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
70440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
70450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
70470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
70480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
70490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
70500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
70510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
70530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLightModelfv(pname, params);
70540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
70560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
70570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
70580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLightf(GLenum light, GLenum pname, GLfloat param) {
70600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
70610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
70620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
70640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLightf);
70650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument light
70670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_light = glmsg.add_args();
70680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_isarray(false);
70690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_type(GLMessage::DataType::ENUM);
70700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->add_intvalue((int)light);
70710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
70730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
70740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
70750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
70760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
70770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
70790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
70800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
70810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::FLOAT);
70820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_floatvalue(param);
70830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
70850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLightf(light, pname, param);
70860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
70880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
70890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
70900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLightfv(GLenum light, GLenum pname, const GLfloat *params) {
70920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
70930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
70940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
70960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLightfv);
70970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
70980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument light
70990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_light = glmsg.add_args();
71000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_isarray(false);
71010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_type(GLMessage::DataType::ENUM);
71020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->add_intvalue((int)light);
71030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
71050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
71060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
71070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
71080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
71090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
71110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
71120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
71130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
71140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
71150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
71170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLightfv(light, pname, params);
71180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
71200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
71210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
71220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLoadMatrixf(const GLfloat *m) {
71240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
71250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
71260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
71280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLoadMatrixf);
71290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument m
71310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_m = glmsg.add_args();
71320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->set_isarray(false);
71330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->set_type(GLMessage::DataType::INT);
71340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->add_intvalue((int)m);
71350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
71370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLoadMatrixf(m);
71380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
71400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
71410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
71420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMaterialf(GLenum face, GLenum pname, GLfloat param) {
71440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
71450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
71460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
71480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMaterialf);
71490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
71510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
71520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
71530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
71540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
71550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
71570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
71580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
71590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
71600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
71610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
71630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
71640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
71650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::FLOAT);
71660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_floatvalue(param);
71670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
71690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMaterialf(face, pname, param);
71700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
71720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
71730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
71740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) {
71760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
71770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
71780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
71800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMaterialfv);
71810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
71830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
71840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
71850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
71860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
71870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
71890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
71900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
71910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
71920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
71930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
71940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
71950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
71960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
71970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
71980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
71990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
72010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMaterialfv(face, pname, params);
72020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
72040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
72050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
72060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMultMatrixf(const GLfloat *m) {
72080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
72090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
72100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
72120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMultMatrixf);
72130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument m
72150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_m = glmsg.add_args();
72160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->set_isarray(false);
72170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->set_type(GLMessage::DataType::INT);
72180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->add_intvalue((int)m);
72190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
72210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMultMatrixf(m);
72220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
72240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
72250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
72260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) {
72280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
72290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
72300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
72320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMultiTexCoord4f);
72330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
72350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
72360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
72370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
72380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
72390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument s
72410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_s = glmsg.add_args();
72420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_s->set_isarray(false);
72430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_s->set_type(GLMessage::DataType::FLOAT);
72440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_s->add_floatvalue(s);
72450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument t
72470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_t = glmsg.add_args();
72480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_t->set_isarray(false);
72490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_t->set_type(GLMessage::DataType::FLOAT);
72500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_t->add_floatvalue(t);
72510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument r
72530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_r = glmsg.add_args();
72540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_r->set_isarray(false);
72550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_r->set_type(GLMessage::DataType::FLOAT);
72560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_r->add_floatvalue(r);
72570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument q
72590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_q = glmsg.add_args();
72600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_q->set_isarray(false);
72610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_q->set_type(GLMessage::DataType::FLOAT);
72620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_q->add_floatvalue(q);
72630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
72650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMultiTexCoord4f(target, s, t, r, q);
72660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
72680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
72690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
72700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) {
72720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
72730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
72740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
72760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glNormal3f);
72770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument nx
72790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_nx = glmsg.add_args();
72800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nx->set_isarray(false);
72810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nx->set_type(GLMessage::DataType::FLOAT);
72820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nx->add_floatvalue(nx);
72830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument ny
72850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_ny = glmsg.add_args();
72860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ny->set_isarray(false);
72870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ny->set_type(GLMessage::DataType::FLOAT);
72880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ny->add_floatvalue(ny);
72890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument nz
72910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_nz = glmsg.add_args();
72920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nz->set_isarray(false);
72930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nz->set_type(GLMessage::DataType::FLOAT);
72940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nz->add_floatvalue(nz);
72950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
72970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glNormal3f(nx, ny, nz);
72980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
72990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
73000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
73010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
73020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) {
73040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
73050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
73060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
73080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glOrthof);
73090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument left
73110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_left = glmsg.add_args();
73120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_isarray(false);
73130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_type(GLMessage::DataType::FLOAT);
73140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->add_floatvalue(left);
73150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument right
73170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_right = glmsg.add_args();
73180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_isarray(false);
73190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_type(GLMessage::DataType::FLOAT);
73200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->add_floatvalue(right);
73210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bottom
73230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bottom = glmsg.add_args();
73240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_isarray(false);
73250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_type(GLMessage::DataType::FLOAT);
73260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->add_floatvalue(bottom);
73270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument top
73290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_top = glmsg.add_args();
73300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_isarray(false);
73310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_type(GLMessage::DataType::FLOAT);
73320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->add_floatvalue(top);
73330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zNear
73350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zNear = glmsg.add_args();
73360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_isarray(false);
73370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_type(GLMessage::DataType::FLOAT);
73380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->add_floatvalue(zNear);
73390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zFar
73410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zFar = glmsg.add_args();
73420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_isarray(false);
73430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_type(GLMessage::DataType::FLOAT);
73440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->add_floatvalue(zFar);
73450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
73470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glOrthof(left, right, bottom, top, zNear, zFar);
73480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
73500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
73510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
73520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPointParameterf(GLenum pname, GLfloat param) {
73540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
73550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
73560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
73580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPointParameterf);
73590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
73610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
73620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
73630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
73640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
73650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
73670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
73680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
73690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::FLOAT);
73700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_floatvalue(param);
73710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
73730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPointParameterf(pname, param);
73740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
73760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
73770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
73780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPointParameterfv(GLenum pname, const GLfloat *params) {
73800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
73810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
73820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
73840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPointParameterfv);
73850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
73870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
73880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
73890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
73900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
73910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
73930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
73940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
73950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
73960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
73970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
73980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
73990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPointParameterfv(pname, params);
74000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
74020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
74030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
74040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPointSize(GLfloat size) {
74060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
74070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
74080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
74100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPointSize);
74110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
74130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
74140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
74150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::FLOAT);
74160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_floatvalue(size);
74170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
74190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPointSize(size);
74200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
74220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
74230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
74240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) {
74260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
74270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
74280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
74300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glRotatef);
74310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument angle
74330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_angle = glmsg.add_args();
74340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_angle->set_isarray(false);
74350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_angle->set_type(GLMessage::DataType::FLOAT);
74360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_angle->add_floatvalue(angle);
74370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
74390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
74400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
74410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::FLOAT);
74420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_floatvalue(x);
74430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
74450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
74460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
74470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::FLOAT);
74480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_floatvalue(y);
74490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
74510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
74520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
74530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::FLOAT);
74540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_floatvalue(z);
74550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
74570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glRotatef(angle, x, y, z);
74580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
74600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
74610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
74620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glScalef(GLfloat x, GLfloat y, GLfloat z) {
74640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
74650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
74660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
74680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glScalef);
74690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
74710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
74720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
74730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::FLOAT);
74740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_floatvalue(x);
74750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
74770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
74780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
74790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::FLOAT);
74800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_floatvalue(y);
74810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
74830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
74840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
74850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::FLOAT);
74860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_floatvalue(z);
74870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
74890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glScalef(x, y, z);
74900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
74920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
74930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
74940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexEnvf(GLenum target, GLenum pname, GLfloat param) {
74960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
74970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
74980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
74990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
75000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexEnvf);
75010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
75030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
75040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
75050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
75060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
75070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
75090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
75100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
75110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
75120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
75130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
75150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
75160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
75170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::FLOAT);
75180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_floatvalue(param);
75190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
75210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexEnvf(target, pname, param);
75220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
75240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
75250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
75260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) {
75280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
75290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
75300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
75320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexEnvfv);
75330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
75350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
75360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
75370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
75380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
75390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
75410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
75420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
75430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
75440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
75450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
75470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
75480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
75490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
75500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
75510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
75530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexEnvfv(target, pname, params);
75540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
75560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
75570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
75580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTranslatef(GLfloat x, GLfloat y, GLfloat z) {
75600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
75610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
75620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
75640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTranslatef);
75650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
75670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
75680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
75690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::FLOAT);
75700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_floatvalue(x);
75710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
75730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
75740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
75750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::FLOAT);
75760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_floatvalue(y);
75770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
75790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
75800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
75810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::FLOAT);
75820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_floatvalue(z);
75830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
75850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTranslatef(x, y, z);
75860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
75880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
75890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
75900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glAlphaFuncx(GLenum func, GLclampx ref) {
75920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
75930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
75940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
75960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glAlphaFuncx);
75970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
75980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument func
75990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_func = glmsg.add_args();
76000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->set_isarray(false);
76010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->set_type(GLMessage::DataType::ENUM);
76020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->add_intvalue((int)func);
76030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument ref
76050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_ref = glmsg.add_args();
76060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->set_isarray(false);
76070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->set_type(GLMessage::DataType::INT);
76080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->add_intvalue(ref);
76090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
76110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glAlphaFuncx(func, ref);
76120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
76140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
76150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
76160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) {
76180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
76190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
76200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
76220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClearColorx);
76230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument red
76250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_red = glmsg.add_args();
76260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_isarray(false);
76270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_type(GLMessage::DataType::INT);
76280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->add_intvalue(red);
76290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument green
76310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_green = glmsg.add_args();
76320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_isarray(false);
76330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_type(GLMessage::DataType::INT);
76340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->add_intvalue(green);
76350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument blue
76370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_blue = glmsg.add_args();
76380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_isarray(false);
76390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_type(GLMessage::DataType::INT);
76400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->add_intvalue(blue);
76410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument alpha
76430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_alpha = glmsg.add_args();
76440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_isarray(false);
76450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_type(GLMessage::DataType::INT);
76460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->add_intvalue(alpha);
76470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
76490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClearColorx(red, green, blue, alpha);
76500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
76520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
76530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
76540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClearDepthx(GLclampx depth) {
76560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
76570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
76580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
76600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClearDepthx);
76610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument depth
76630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_depth = glmsg.add_args();
76640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_isarray(false);
76650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_type(GLMessage::DataType::INT);
76660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->add_intvalue(depth);
76670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
76690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClearDepthx(depth);
76700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
76720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
76730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
76740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClientActiveTexture(GLenum texture) {
76760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
76770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
76780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
76800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClientActiveTexture);
76810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument texture
76830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_texture = glmsg.add_args();
76840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_isarray(false);
76850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_type(GLMessage::DataType::ENUM);
76860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->add_intvalue((int)texture);
76870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
76890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClientActiveTexture(texture);
76900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
76920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
76930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
76940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClipPlanex(GLenum plane, const GLfixed *equation) {
76960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
76970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
76980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
76990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
77000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClipPlanex);
77010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument plane
77030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_plane = glmsg.add_args();
77040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_plane->set_isarray(false);
77050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_plane->set_type(GLMessage::DataType::ENUM);
77060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_plane->add_intvalue((int)plane);
77070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument equation
77090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_equation = glmsg.add_args();
77100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_equation->set_isarray(false);
77110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_equation->set_type(GLMessage::DataType::INT);
77120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_equation->add_intvalue((int)equation);
77130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
77150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClipPlanex(plane, equation);
77160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
77180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
77190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
77200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) {
77220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
77230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
77240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
77260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glColor4ub);
77270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument red
77290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_red = glmsg.add_args();
77300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_isarray(false);
77310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_type(GLMessage::DataType::BYTE);
77320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->add_intvalue((int)red);
77330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument green
77350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_green = glmsg.add_args();
77360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_isarray(false);
77370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_type(GLMessage::DataType::BYTE);
77380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->add_intvalue((int)green);
77390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument blue
77410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_blue = glmsg.add_args();
77420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_isarray(false);
77430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_type(GLMessage::DataType::BYTE);
77440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->add_intvalue((int)blue);
77450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument alpha
77470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_alpha = glmsg.add_args();
77480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_isarray(false);
77490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_type(GLMessage::DataType::BYTE);
77500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->add_intvalue((int)alpha);
77510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
77530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glColor4ub(red, green, blue, alpha);
77540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
77560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
77570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
77580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) {
77600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
77610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
77620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
77640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glColor4x);
77650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument red
77670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_red = glmsg.add_args();
77680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_isarray(false);
77690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_type(GLMessage::DataType::INT);
77700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->add_intvalue(red);
77710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument green
77730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_green = glmsg.add_args();
77740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_isarray(false);
77750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_type(GLMessage::DataType::INT);
77760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->add_intvalue(green);
77770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument blue
77790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_blue = glmsg.add_args();
77800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_isarray(false);
77810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_type(GLMessage::DataType::INT);
77820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->add_intvalue(blue);
77830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument alpha
77850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_alpha = glmsg.add_args();
77860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_isarray(false);
77870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_type(GLMessage::DataType::INT);
77880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->add_intvalue(alpha);
77890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
77910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glColor4x(red, green, blue, alpha);
77920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
77940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
77950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
77960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
77970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
77980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
77990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
78000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
78020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glColorPointer);
78030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
78050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
78060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
78070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
78080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue(size);
78090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
78110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
78120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
78130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
78140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
78150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument stride
78170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_stride = glmsg.add_args();
78180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_isarray(false);
78190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_type(GLMessage::DataType::INT);
78200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->add_intvalue(stride);
78210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pointer
78230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pointer = glmsg.add_args();
78240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_isarray(false);
78250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_type(GLMessage::DataType::INT);
78260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->add_intvalue((int)pointer);
78270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
78290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glColorPointer(size, type, stride, pointer);
78300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
78320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
78330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
78340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDepthRangex(GLclampx zNear, GLclampx zFar) {
78360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
78370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
78380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
78400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDepthRangex);
78410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zNear
78430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zNear = glmsg.add_args();
78440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_isarray(false);
78450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_type(GLMessage::DataType::INT);
78460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->add_intvalue(zNear);
78470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zFar
78490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zFar = glmsg.add_args();
78500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_isarray(false);
78510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_type(GLMessage::DataType::INT);
78520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->add_intvalue(zFar);
78530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
78550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDepthRangex(zNear, zFar);
78560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
78580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
78590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
78600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDisableClientState(GLenum array) {
78620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
78630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
78640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
78660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDisableClientState);
78670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument array
78690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_array = glmsg.add_args();
78700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_array->set_isarray(false);
78710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_array->set_type(GLMessage::DataType::ENUM);
78720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_array->add_intvalue((int)array);
78730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
78750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDisableClientState(array);
78760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
78780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
78790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
78800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glEnableClientState(GLenum array) {
78820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
78830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
78840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
78860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glEnableClientState);
78870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument array
78890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_array = glmsg.add_args();
78900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_array->set_isarray(false);
78910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_array->set_type(GLMessage::DataType::ENUM);
78920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_array->add_intvalue((int)array);
78930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
78950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glEnableClientState(array);
78960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
78970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
78980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
78990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
79000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFogx(GLenum pname, GLfixed param) {
79020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
79030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
79040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
79060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFogx);
79070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
79090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
79100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
79110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
79120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
79130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
79150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
79160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
79170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
79180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
79190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
79210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFogx(pname, param);
79220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
79240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
79250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
79260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFogxv(GLenum pname, const GLfixed *params) {
79280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
79290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
79300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
79320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFogxv);
79330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
79350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
79360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
79370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
79380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
79390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
79410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
79420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
79430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
79440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
79450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
79470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFogxv(pname, params);
79480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
79500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
79510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
79520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) {
79540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
79550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
79560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
79580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFrustumx);
79590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument left
79610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_left = glmsg.add_args();
79620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_isarray(false);
79630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_type(GLMessage::DataType::INT);
79640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->add_intvalue(left);
79650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument right
79670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_right = glmsg.add_args();
79680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_isarray(false);
79690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_type(GLMessage::DataType::INT);
79700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->add_intvalue(right);
79710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bottom
79730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bottom = glmsg.add_args();
79740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_isarray(false);
79750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_type(GLMessage::DataType::INT);
79760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->add_intvalue(bottom);
79770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument top
79790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_top = glmsg.add_args();
79800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_isarray(false);
79810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_type(GLMessage::DataType::INT);
79820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->add_intvalue(top);
79830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zNear
79850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zNear = glmsg.add_args();
79860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_isarray(false);
79870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_type(GLMessage::DataType::INT);
79880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->add_intvalue(zNear);
79890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zFar
79910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zFar = glmsg.add_args();
79920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_isarray(false);
79930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_type(GLMessage::DataType::INT);
79940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->add_intvalue(zFar);
79950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
79970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFrustumx(left, right, bottom, top, zNear, zFar);
79980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
79990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
80000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
80010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
80020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetClipPlanex(GLenum pname, GLfixed eqn[4]) {
80040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
80050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
80060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
80080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetClipPlanex);
80090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
80110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
80120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
80130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
80140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
80150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument eqn
80170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_eqn = glmsg.add_args();
80180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->set_isarray(false);
80190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->set_type(GLMessage::DataType::INT);
80200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->add_intvalue((int)eqn);
80210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
80230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetClipPlanex(pname, eqn);
80240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
80260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
80270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
80280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetFixedv(GLenum pname, GLfixed *params) {
80300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
80310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
80320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
80340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetFixedv);
80350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
80370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
80380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
80390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
80400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
80410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
80430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
80440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
80450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
80460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
80470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
80490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetFixedv(pname, params);
80500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
80520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
80530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
80540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetLightxv(GLenum light, GLenum pname, GLfixed *params) {
80560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
80570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
80580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
80600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetLightxv);
80610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument light
80630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_light = glmsg.add_args();
80640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_isarray(false);
80650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_type(GLMessage::DataType::ENUM);
80660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->add_intvalue((int)light);
80670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
80690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
80700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
80710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
80720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
80730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
80750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
80760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
80770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
80780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
80790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
80810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetLightxv(light, pname, params);
80820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
80840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
80850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
80860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetMaterialxv(GLenum face, GLenum pname, GLfixed *params) {
80880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
80890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
80900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
80920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetMaterialxv);
80930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
80940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
80950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
80960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
80970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
80980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
80990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
81010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
81020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
81030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
81040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
81050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
81070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
81080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
81090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
81100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
81110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
81130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetMaterialxv(face, pname, params);
81140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
81160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
81170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
81180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetPointerv(GLenum pname, GLvoid **params) {
81200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
81210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
81220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
81240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetPointerv);
81250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
81270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
81280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
81290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
81300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
81310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
81330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
81340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
81350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
81360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
81370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
81390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetPointerv(pname, params);
81400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
81420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
81430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
81440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetTexEnviv(GLenum env, GLenum pname, GLint *params) {
81460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
81470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
81480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
81500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetTexEnviv);
81510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument env
81530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_env = glmsg.add_args();
81540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_env->set_isarray(false);
81550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_env->set_type(GLMessage::DataType::ENUM);
81560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_env->add_intvalue((int)env);
81570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
81590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
81600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
81610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
81620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
81630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
81650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
81660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
81670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
81680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
81690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
81710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetTexEnviv(env, pname, params);
81720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
81740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
81750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
81760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetTexEnvxv(GLenum env, GLenum pname, GLfixed *params) {
81780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
81790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
81800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
81820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetTexEnvxv);
81830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument env
81850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_env = glmsg.add_args();
81860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_env->set_isarray(false);
81870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_env->set_type(GLMessage::DataType::ENUM);
81880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_env->add_intvalue((int)env);
81890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
81910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
81920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
81930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
81940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
81950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
81960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
81970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
81980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
81990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
82000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
82010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
82030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetTexEnvxv(env, pname, params);
82040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
82060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
82070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
82080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetTexParameterxv(GLenum target, GLenum pname, GLfixed *params) {
82100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
82110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
82120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
82140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetTexParameterxv);
82150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
82170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
82180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
82190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
82200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
82210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
82230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
82240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
82250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
82260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
82270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
82290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
82300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
82310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
82320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
82330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
82350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetTexParameterxv(target, pname, params);
82360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
82380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
82390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
82400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLightModelx(GLenum pname, GLfixed param) {
82420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
82430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
82440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
82460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLightModelx);
82470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
82490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
82500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
82510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
82520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
82530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
82550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
82560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
82570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
82580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
82590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
82610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLightModelx(pname, param);
82620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
82640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
82650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
82660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLightModelxv(GLenum pname, const GLfixed *params) {
82680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
82690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
82700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
82720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLightModelxv);
82730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
82750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
82760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
82770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
82780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
82790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
82810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
82820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
82830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
82840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
82850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
82870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLightModelxv(pname, params);
82880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
82900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
82910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
82920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLightx(GLenum light, GLenum pname, GLfixed param) {
82940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
82950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
82960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
82970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
82980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLightx);
82990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument light
83010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_light = glmsg.add_args();
83020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_isarray(false);
83030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_type(GLMessage::DataType::ENUM);
83040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->add_intvalue((int)light);
83050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
83070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
83080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
83090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
83100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
83110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
83130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
83140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
83150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
83160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
83170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
83190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLightx(light, pname, param);
83200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
83220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
83230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
83240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLightxv(GLenum light, GLenum pname, const GLfixed *params) {
83260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
83270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
83280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
83300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLightxv);
83310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument light
83330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_light = glmsg.add_args();
83340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_isarray(false);
83350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_type(GLMessage::DataType::ENUM);
83360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->add_intvalue((int)light);
83370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
83390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
83400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
83410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
83420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
83430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
83450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
83460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
83470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
83480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
83490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
83510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLightxv(light, pname, params);
83520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
83540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
83550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
83560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLineWidthx(GLfixed width) {
83580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
83590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
83600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
83620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLineWidthx);
83630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
83650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
83660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
83670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
83680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
83690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
83710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLineWidthx(width);
83720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
83740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
83750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
83760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLoadIdentity(void) {
83780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
83790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
83800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
83820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLoadIdentity);
83830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
83850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLoadIdentity();
83860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
83880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
83890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
83900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLoadMatrixx(const GLfixed *m) {
83920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
83930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
83940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
83960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLoadMatrixx);
83970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
83980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument m
83990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_m = glmsg.add_args();
84000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->set_isarray(false);
84010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->set_type(GLMessage::DataType::INT);
84020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->add_intvalue((int)m);
84030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
84050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLoadMatrixx(m);
84060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
84080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
84090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
84100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLogicOp(GLenum opcode) {
84120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
84130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
84140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
84160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLogicOp);
84170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument opcode
84190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_opcode = glmsg.add_args();
84200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_opcode->set_isarray(false);
84210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_opcode->set_type(GLMessage::DataType::ENUM);
84220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_opcode->add_intvalue((int)opcode);
84230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
84250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLogicOp(opcode);
84260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
84280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
84290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
84300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMaterialx(GLenum face, GLenum pname, GLfixed param) {
84320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
84330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
84340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
84360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMaterialx);
84370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
84390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
84400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
84410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
84420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
84430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
84450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
84460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
84470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
84480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
84490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
84510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
84520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
84530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
84540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
84550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
84570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMaterialx(face, pname, param);
84580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
84600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
84610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
84620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMaterialxv(GLenum face, GLenum pname, const GLfixed *params) {
84640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
84650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
84660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
84680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMaterialxv);
84690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
84710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
84720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
84730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
84740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
84750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
84770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
84780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
84790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
84800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
84810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
84830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
84840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
84850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
84860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
84870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
84890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMaterialxv(face, pname, params);
84900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
84920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
84930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
84940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMatrixMode(GLenum mode) {
84960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
84970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
84980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
84990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
85000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMatrixMode);
85010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mode
85030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mode = glmsg.add_args();
85040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_isarray(false);
85050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_type(GLMessage::DataType::ENUM);
85060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->add_intvalue((int)mode);
85070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
85090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMatrixMode(mode);
85100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
85120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
85130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
85140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMultMatrixx(const GLfixed *m) {
85160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
85170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
85180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
85200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMultMatrixx);
85210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument m
85230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_m = glmsg.add_args();
85240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->set_isarray(false);
85250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->set_type(GLMessage::DataType::INT);
85260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->add_intvalue((int)m);
85270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
85290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMultMatrixx(m);
85300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
85320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
85330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
85340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q) {
85360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
85370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
85380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
85400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMultiTexCoord4x);
85410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
85430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
85440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
85450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
85460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
85470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument s
85490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_s = glmsg.add_args();
85500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_s->set_isarray(false);
85510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_s->set_type(GLMessage::DataType::INT);
85520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_s->add_intvalue(s);
85530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument t
85550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_t = glmsg.add_args();
85560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_t->set_isarray(false);
85570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_t->set_type(GLMessage::DataType::INT);
85580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_t->add_intvalue(t);
85590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument r
85610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_r = glmsg.add_args();
85620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_r->set_isarray(false);
85630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_r->set_type(GLMessage::DataType::INT);
85640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_r->add_intvalue(r);
85650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument q
85670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_q = glmsg.add_args();
85680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_q->set_isarray(false);
85690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_q->set_type(GLMessage::DataType::INT);
85700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_q->add_intvalue(q);
85710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
85730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMultiTexCoord4x(target, s, t, r, q);
85740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
85760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
85770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
85780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz) {
85800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
85810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
85820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
85840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glNormal3x);
85850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument nx
85870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_nx = glmsg.add_args();
85880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nx->set_isarray(false);
85890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nx->set_type(GLMessage::DataType::INT);
85900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nx->add_intvalue(nx);
85910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument ny
85930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_ny = glmsg.add_args();
85940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ny->set_isarray(false);
85950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ny->set_type(GLMessage::DataType::INT);
85960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ny->add_intvalue(ny);
85970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
85980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument nz
85990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_nz = glmsg.add_args();
86000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nz->set_isarray(false);
86010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nz->set_type(GLMessage::DataType::INT);
86020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nz->add_intvalue(nz);
86030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
86050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glNormal3x(nx, ny, nz);
86060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
86080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
86090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
86100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) {
86120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
86130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
86140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
86160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glNormalPointer);
86170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
86190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
86200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
86210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
86220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
86230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument stride
86250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_stride = glmsg.add_args();
86260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_isarray(false);
86270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_type(GLMessage::DataType::INT);
86280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->add_intvalue(stride);
86290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pointer
86310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pointer = glmsg.add_args();
86320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_isarray(false);
86330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_type(GLMessage::DataType::INT);
86340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->add_intvalue((int)pointer);
86350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
86370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glNormalPointer(type, stride, pointer);
86380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
86400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
86410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
86420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) {
86440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
86450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
86460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
86480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glOrthox);
86490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument left
86510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_left = glmsg.add_args();
86520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_isarray(false);
86530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_type(GLMessage::DataType::INT);
86540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->add_intvalue(left);
86550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument right
86570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_right = glmsg.add_args();
86580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_isarray(false);
86590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_type(GLMessage::DataType::INT);
86600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->add_intvalue(right);
86610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bottom
86630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bottom = glmsg.add_args();
86640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_isarray(false);
86650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_type(GLMessage::DataType::INT);
86660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->add_intvalue(bottom);
86670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument top
86690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_top = glmsg.add_args();
86700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_isarray(false);
86710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_type(GLMessage::DataType::INT);
86720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->add_intvalue(top);
86730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zNear
86750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zNear = glmsg.add_args();
86760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_isarray(false);
86770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_type(GLMessage::DataType::INT);
86780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->add_intvalue(zNear);
86790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zFar
86810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zFar = glmsg.add_args();
86820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_isarray(false);
86830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_type(GLMessage::DataType::INT);
86840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->add_intvalue(zFar);
86850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
86870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glOrthox(left, right, bottom, top, zNear, zFar);
86880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
86900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
86910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
86920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPointParameterx(GLenum pname, GLfixed param) {
86940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
86950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
86960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
86970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
86980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPointParameterx);
86990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
87010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
87020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
87030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
87040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
87050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
87070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
87080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
87090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
87100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
87110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
87130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPointParameterx(pname, param);
87140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
87160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
87170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
87180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPointParameterxv(GLenum pname, const GLfixed *params) {
87200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
87210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
87220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
87240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPointParameterxv);
87250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
87270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
87280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
87290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
87300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
87310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
87330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
87340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
87350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
87360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
87370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
87390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPointParameterxv(pname, params);
87400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
87420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
87430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
87440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPointSizex(GLfixed size) {
87460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
87470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
87480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
87500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPointSizex);
87510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
87530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
87540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
87550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
87560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue(size);
87570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
87590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPointSizex(size);
87600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
87620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
87630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
87640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPolygonOffsetx(GLfixed factor, GLfixed units) {
87660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
87670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
87680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
87700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPolygonOffsetx);
87710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument factor
87730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_factor = glmsg.add_args();
87740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_factor->set_isarray(false);
87750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_factor->set_type(GLMessage::DataType::INT);
87760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_factor->add_intvalue(factor);
87770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument units
87790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_units = glmsg.add_args();
87800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_units->set_isarray(false);
87810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_units->set_type(GLMessage::DataType::INT);
87820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_units->add_intvalue(units);
87830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
87850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPolygonOffsetx(factor, units);
87860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
87880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
87890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
87900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPopMatrix(void) {
87920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
87930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
87940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
87960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPopMatrix);
87970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
87980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
87990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPopMatrix();
88000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
88020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
88030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
88040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPushMatrix(void) {
88060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
88070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
88080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
88100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPushMatrix);
88110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
88130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPushMatrix();
88140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
88160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
88170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
88180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) {
88200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
88210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
88220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
88240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glRotatex);
88250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument angle
88270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_angle = glmsg.add_args();
88280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_angle->set_isarray(false);
88290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_angle->set_type(GLMessage::DataType::INT);
88300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_angle->add_intvalue(angle);
88310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
88330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
88340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
88350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
88360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
88370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
88390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
88400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
88410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
88420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
88430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
88450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
88460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
88470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::INT);
88480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_intvalue(z);
88490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
88510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glRotatex(angle, x, y, z);
88520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
88540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
88550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
88560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glSampleCoveragex(GLclampx value, GLboolean invert) {
88580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
88590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
88600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
88620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glSampleCoveragex);
88630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument value
88650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_value = glmsg.add_args();
88660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->set_isarray(false);
88670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->set_type(GLMessage::DataType::INT);
88680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->add_intvalue(value);
88690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument invert
88710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_invert = glmsg.add_args();
88720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_invert->set_isarray(false);
88730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_invert->set_type(GLMessage::DataType::BOOL);
88740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_invert->add_boolvalue(invert);
88750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
88770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glSampleCoveragex(value, invert);
88780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
88800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
88810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
88820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glScalex(GLfixed x, GLfixed y, GLfixed z) {
88840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
88850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
88860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
88880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glScalex);
88890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
88910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
88920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
88930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
88940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
88950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
88960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
88970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
88980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
88990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
89000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
89010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
89030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
89040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
89050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::INT);
89060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_intvalue(z);
89070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
89090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glScalex(x, y, z);
89100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
89120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
89130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
89140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glShadeModel(GLenum mode) {
89160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
89170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
89180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
89200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glShadeModel);
89210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mode
89230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mode = glmsg.add_args();
89240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_isarray(false);
89250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_type(GLMessage::DataType::ENUM);
89260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->add_intvalue((int)mode);
89270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
89290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glShadeModel(mode);
89300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
89320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
89330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
89340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
89360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
89370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
89380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
89400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexCoordPointer);
89410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
89430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
89440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
89450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
89460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue(size);
89470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
89490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
89500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
89510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
89520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
89530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument stride
89550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_stride = glmsg.add_args();
89560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_isarray(false);
89570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_type(GLMessage::DataType::INT);
89580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->add_intvalue(stride);
89590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pointer
89610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pointer = glmsg.add_args();
89620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_isarray(false);
89630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_type(GLMessage::DataType::INT);
89640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->add_intvalue((int)pointer);
89650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
89670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexCoordPointer(size, type, stride, pointer);
89680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
89700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
89710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
89720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexEnvi(GLenum target, GLenum pname, GLint param) {
89740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
89750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
89760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
89780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexEnvi);
89790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
89810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
89820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
89830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
89840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
89850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
89870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
89880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
89890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
89900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
89910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
89930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
89940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
89950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
89960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
89970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
89980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
89990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexEnvi(target, pname, param);
90000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
90020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
90030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
90040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexEnvx(GLenum target, GLenum pname, GLfixed param) {
90060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
90070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
90080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
90100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexEnvx);
90110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
90130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
90140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
90150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
90160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
90170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
90190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
90200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
90210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
90220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
90230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
90250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
90260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
90270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
90280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
90290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
90310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexEnvx(target, pname, param);
90320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
90340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
90350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
90360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexEnviv(GLenum target, GLenum pname, const GLint *params) {
90380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
90390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
90400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
90420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexEnviv);
90430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
90450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
90460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
90470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
90480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
90490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
90510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
90520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
90530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
90540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
90550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
90570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
90580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
90590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
90600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
90610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
90630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexEnviv(target, pname, params);
90640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
90660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
90670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
90680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexEnvxv(GLenum target, GLenum pname, const GLfixed *params) {
90700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
90710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
90720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
90740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexEnvxv);
90750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
90770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
90780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
90790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
90800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
90810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
90830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
90840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
90850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
90860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
90870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
90890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
90900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
90910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
90920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
90930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
90950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexEnvxv(target, pname, params);
90960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
90970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
90980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
90990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
91000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexParameterx(GLenum target, GLenum pname, GLfixed param) {
91020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
91030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
91040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
91060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexParameterx);
91070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
91090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
91100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
91110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
91120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
91130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
91150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
91160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
91170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
91180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
91190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
91210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
91220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
91230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
91240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
91250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
91270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexParameterx(target, pname, param);
91280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
91300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
91310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
91320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexParameterxv(GLenum target, GLenum pname, const GLfixed *params) {
91340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
91350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
91360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
91380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexParameterxv);
91390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
91410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
91420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
91430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
91440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
91450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
91470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
91480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
91490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
91500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
91510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
91530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
91540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
91550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
91560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
91570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
91590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexParameterxv(target, pname, params);
91600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
91620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
91630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
91640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTranslatex(GLfixed x, GLfixed y, GLfixed z) {
91660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
91670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
91680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
91700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTranslatex);
91710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
91730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
91740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
91750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
91760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
91770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
91790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
91800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
91810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
91820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
91830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
91850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
91860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
91870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::INT);
91880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_intvalue(z);
91890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
91910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTranslatex(x, y, z);
91920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
91940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
91950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
91960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
91970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
91980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
91990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
92000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
92020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glVertexPointer);
92030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
92050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
92060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
92070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
92080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue(size);
92090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
92110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
92120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
92130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
92140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
92150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument stride
92170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_stride = glmsg.add_args();
92180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_isarray(false);
92190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_type(GLMessage::DataType::INT);
92200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->add_intvalue(stride);
92210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pointer
92230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pointer = glmsg.add_args();
92240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_isarray(false);
92250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_type(GLMessage::DataType::INT);
92260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->add_intvalue((int)pointer);
92270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
92290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glVertexPointer(size, type, stride, pointer);
92300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
92320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
92330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
92340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPointSizePointerOES(GLenum type, GLsizei stride, const GLvoid *pointer) {
92360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
92370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
92380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
92400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPointSizePointerOES);
92410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
92430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
92440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
92450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
92460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
92470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument stride
92490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_stride = glmsg.add_args();
92500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_isarray(false);
92510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_type(GLMessage::DataType::INT);
92520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->add_intvalue(stride);
92530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pointer
92550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pointer = glmsg.add_args();
92560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_isarray(false);
92570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_type(GLMessage::DataType::INT);
92580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->add_intvalue((int)pointer);
92590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
92610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPointSizePointerOES(type, stride, pointer);
92620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
92640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
92650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
92660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy// Definitions for GL1Ext APIs
92690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha) {
92710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
92720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
92730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
92750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBlendEquationSeparateOES);
92760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument modeRGB
92780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_modeRGB = glmsg.add_args();
92790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_modeRGB->set_isarray(false);
92800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_modeRGB->set_type(GLMessage::DataType::ENUM);
92810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_modeRGB->add_intvalue((int)modeRGB);
92820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument modeAlpha
92840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_modeAlpha = glmsg.add_args();
92850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_modeAlpha->set_isarray(false);
92860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_modeAlpha->set_type(GLMessage::DataType::ENUM);
92870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_modeAlpha->add_intvalue((int)modeAlpha);
92880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
92900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBlendEquationSeparateOES(modeRGB, modeAlpha);
92910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
92930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
92940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
92950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
92960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) {
92970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
92980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
92990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
93010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBlendFuncSeparateOES);
93020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument srcRGB
93040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_srcRGB = glmsg.add_args();
93050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_srcRGB->set_isarray(false);
93060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_srcRGB->set_type(GLMessage::DataType::ENUM);
93070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_srcRGB->add_intvalue((int)srcRGB);
93080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument dstRGB
93100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_dstRGB = glmsg.add_args();
93110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dstRGB->set_isarray(false);
93120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dstRGB->set_type(GLMessage::DataType::ENUM);
93130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dstRGB->add_intvalue((int)dstRGB);
93140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument srcAlpha
93160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_srcAlpha = glmsg.add_args();
93170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_srcAlpha->set_isarray(false);
93180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_srcAlpha->set_type(GLMessage::DataType::ENUM);
93190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_srcAlpha->add_intvalue((int)srcAlpha);
93200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument dstAlpha
93220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_dstAlpha = glmsg.add_args();
93230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dstAlpha->set_isarray(false);
93240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dstAlpha->set_type(GLMessage::DataType::ENUM);
93250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_dstAlpha->add_intvalue((int)dstAlpha);
93260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
93280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBlendFuncSeparateOES(srcRGB, dstRGB, srcAlpha, dstAlpha);
93290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
93310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
93320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
93330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBlendEquationOES(GLenum mode) {
93350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
93360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
93370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
93390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBlendEquationOES);
93400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mode
93420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mode = glmsg.add_args();
93430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_isarray(false);
93440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->set_type(GLMessage::DataType::ENUM);
93450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mode->add_intvalue((int)mode);
93460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
93480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBlendEquationOES(mode);
93490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
93510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
93520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
93530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height) {
93550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
93560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
93570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
93590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDrawTexsOES);
93600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
93620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
93630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
93640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
93650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
93660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
93680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
93690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
93700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
93710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
93720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
93740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
93750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
93760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::INT);
93770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_intvalue(z);
93780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
93800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
93810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
93820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
93830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
93840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
93860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
93870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
93880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
93890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
93900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
93920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDrawTexsOES(x, y, z, width, height);
93930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
93950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
93960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
93970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
93980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height) {
93990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
94000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
94010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
94030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDrawTexiOES);
94040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
94060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
94070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
94080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
94090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
94100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
94120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
94130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
94140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
94150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
94160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
94180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
94190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
94200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::INT);
94210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_intvalue(z);
94220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
94240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
94250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
94260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
94270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
94280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
94300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
94310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
94320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
94330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
94340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
94360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDrawTexiOES(x, y, z, width, height);
94370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
94390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
94400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
94410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height) {
94430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
94440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
94450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
94470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDrawTexxOES);
94480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
94500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
94510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
94520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
94530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
94540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
94560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
94570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
94580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
94590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
94600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
94620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
94630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
94640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::INT);
94650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_intvalue(z);
94660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
94680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
94690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
94700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
94710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
94720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
94740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
94750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
94760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
94770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
94780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
94800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDrawTexxOES(x, y, z, width, height);
94810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
94830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
94840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
94850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDrawTexsvOES(const GLshort *coords) {
94870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
94880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
94890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
94910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDrawTexsvOES);
94920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coords
94940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coords = glmsg.add_args();
94950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coords->set_isarray(false);
94960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coords->set_type(GLMessage::DataType::INT);
94970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coords->add_intvalue((int)coords);
94980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
94990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
95000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDrawTexsvOES(coords);
95010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
95030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
95040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
95050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDrawTexivOES(const GLint *coords) {
95070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
95080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
95090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
95110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDrawTexivOES);
95120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coords
95140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coords = glmsg.add_args();
95150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coords->set_isarray(false);
95160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coords->set_type(GLMessage::DataType::INT);
95170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coords->add_intvalue((int)coords);
95180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
95200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDrawTexivOES(coords);
95210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
95230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
95240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
95250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDrawTexxvOES(const GLfixed *coords) {
95270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
95280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
95290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
95310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDrawTexxvOES);
95320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coords
95340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coords = glmsg.add_args();
95350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coords->set_isarray(false);
95360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coords->set_type(GLMessage::DataType::INT);
95370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coords->add_intvalue((int)coords);
95380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
95400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDrawTexxvOES(coords);
95410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
95430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
95440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
95450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) {
95470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
95480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
95490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
95510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDrawTexfOES);
95520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
95540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
95550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
95560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::FLOAT);
95570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_floatvalue(x);
95580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
95600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
95610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
95620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::FLOAT);
95630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_floatvalue(y);
95640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
95660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
95670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
95680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::FLOAT);
95690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_floatvalue(z);
95700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
95720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
95730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
95740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::FLOAT);
95750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_floatvalue(width);
95760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
95780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
95790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
95800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::FLOAT);
95810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_floatvalue(height);
95820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
95840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDrawTexfOES(x, y, z, width, height);
95850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
95870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
95880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
95890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDrawTexfvOES(const GLfloat *coords) {
95910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
95920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
95930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
95950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDrawTexfvOES);
95960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
95970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coords
95980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coords = glmsg.add_args();
95990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coords->set_isarray(false);
96000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coords->set_type(GLMessage::DataType::INT);
96010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coords->add_intvalue((int)coords);
96020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
96040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDrawTexfvOES(coords);
96050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
96070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
96080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
96090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glAlphaFuncxOES(GLenum func, GLclampx ref) {
96110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
96120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
96130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
96150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glAlphaFuncxOES);
96160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument func
96180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_func = glmsg.add_args();
96190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->set_isarray(false);
96200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->set_type(GLMessage::DataType::ENUM);
96210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_func->add_intvalue((int)func);
96220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument ref
96240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_ref = glmsg.add_args();
96250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->set_isarray(false);
96260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->set_type(GLMessage::DataType::INT);
96270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ref->add_intvalue(ref);
96280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
96300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glAlphaFuncxOES(func, ref);
96310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
96330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
96340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
96350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClearColorxOES(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) {
96370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
96380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
96390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
96410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClearColorxOES);
96420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument red
96440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_red = glmsg.add_args();
96450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_isarray(false);
96460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_type(GLMessage::DataType::INT);
96470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->add_intvalue(red);
96480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument green
96500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_green = glmsg.add_args();
96510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_isarray(false);
96520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_type(GLMessage::DataType::INT);
96530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->add_intvalue(green);
96540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument blue
96560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_blue = glmsg.add_args();
96570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_isarray(false);
96580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_type(GLMessage::DataType::INT);
96590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->add_intvalue(blue);
96600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument alpha
96620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_alpha = glmsg.add_args();
96630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_isarray(false);
96640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_type(GLMessage::DataType::INT);
96650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->add_intvalue(alpha);
96660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
96680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClearColorxOES(red, green, blue, alpha);
96690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
96710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
96720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
96730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClearDepthxOES(GLclampx depth) {
96750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
96760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
96770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
96790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClearDepthxOES);
96800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument depth
96820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_depth = glmsg.add_args();
96830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_isarray(false);
96840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_type(GLMessage::DataType::INT);
96850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->add_intvalue(depth);
96860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
96880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClearDepthxOES(depth);
96890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
96910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
96920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
96930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClipPlanexOES(GLenum plane, const GLfixed *equation) {
96950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
96960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
96970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
96980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
96990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClipPlanexOES);
97000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument plane
97020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_plane = glmsg.add_args();
97030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_plane->set_isarray(false);
97040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_plane->set_type(GLMessage::DataType::ENUM);
97050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_plane->add_intvalue((int)plane);
97060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument equation
97080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_equation = glmsg.add_args();
97090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_equation->set_isarray(false);
97100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_equation->set_type(GLMessage::DataType::INT);
97110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_equation->add_intvalue((int)equation);
97120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
97140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClipPlanexOES(plane, equation);
97150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
97170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
97180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
97190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glColor4xOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) {
97210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
97220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
97230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
97250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glColor4xOES);
97260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument red
97280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_red = glmsg.add_args();
97290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_isarray(false);
97300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->set_type(GLMessage::DataType::INT);
97310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_red->add_intvalue(red);
97320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument green
97340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_green = glmsg.add_args();
97350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_isarray(false);
97360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->set_type(GLMessage::DataType::INT);
97370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_green->add_intvalue(green);
97380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument blue
97400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_blue = glmsg.add_args();
97410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_isarray(false);
97420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->set_type(GLMessage::DataType::INT);
97430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_blue->add_intvalue(blue);
97440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument alpha
97460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_alpha = glmsg.add_args();
97470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_isarray(false);
97480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->set_type(GLMessage::DataType::INT);
97490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_alpha->add_intvalue(alpha);
97500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
97520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glColor4xOES(red, green, blue, alpha);
97530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
97550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
97560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
97570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDepthRangexOES(GLclampx zNear, GLclampx zFar) {
97590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
97600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
97610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
97630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDepthRangexOES);
97640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zNear
97660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zNear = glmsg.add_args();
97670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_isarray(false);
97680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_type(GLMessage::DataType::INT);
97690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->add_intvalue(zNear);
97700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zFar
97720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zFar = glmsg.add_args();
97730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_isarray(false);
97740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_type(GLMessage::DataType::INT);
97750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->add_intvalue(zFar);
97760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
97780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDepthRangexOES(zNear, zFar);
97790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
97810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
97820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
97830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFogxOES(GLenum pname, GLfixed param) {
97850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
97860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
97870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
97890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFogxOES);
97900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
97920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
97930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
97940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
97950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
97960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
97970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
97980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
97990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
98000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
98010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
98020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
98040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFogxOES(pname, param);
98050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
98070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
98080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
98090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFogxvOES(GLenum pname, const GLfixed *params) {
98110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
98120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
98130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
98150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFogxvOES);
98160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
98180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
98190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
98200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
98210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
98220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
98240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
98250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
98260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
98270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
98280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
98300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFogxvOES(pname, params);
98310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
98330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
98340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
98350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFrustumxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) {
98370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
98380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
98390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
98410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFrustumxOES);
98420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument left
98440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_left = glmsg.add_args();
98450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_isarray(false);
98460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_type(GLMessage::DataType::INT);
98470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->add_intvalue(left);
98480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument right
98500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_right = glmsg.add_args();
98510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_isarray(false);
98520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_type(GLMessage::DataType::INT);
98530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->add_intvalue(right);
98540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bottom
98560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bottom = glmsg.add_args();
98570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_isarray(false);
98580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_type(GLMessage::DataType::INT);
98590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->add_intvalue(bottom);
98600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument top
98620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_top = glmsg.add_args();
98630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_isarray(false);
98640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_type(GLMessage::DataType::INT);
98650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->add_intvalue(top);
98660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zNear
98680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zNear = glmsg.add_args();
98690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_isarray(false);
98700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_type(GLMessage::DataType::INT);
98710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->add_intvalue(zNear);
98720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zFar
98740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zFar = glmsg.add_args();
98750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_isarray(false);
98760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_type(GLMessage::DataType::INT);
98770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->add_intvalue(zFar);
98780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
98800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFrustumxOES(left, right, bottom, top, zNear, zFar);
98810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
98830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
98840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
98850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetClipPlanexOES(GLenum pname, GLfixed eqn[4]) {
98870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
98880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
98890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
98910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetClipPlanexOES);
98920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
98940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
98950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
98960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
98970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
98980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
98990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument eqn
99000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_eqn = glmsg.add_args();
99010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->set_isarray(false);
99020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->set_type(GLMessage::DataType::INT);
99030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->add_intvalue((int)eqn);
99040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
99060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetClipPlanexOES(pname, eqn);
99070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
99090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
99100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
99110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetFixedvOES(GLenum pname, GLfixed *params) {
99130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
99140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
99150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
99170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetFixedvOES);
99180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
99200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
99210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
99220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
99230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
99240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
99260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
99270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
99280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
99290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
99300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
99320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetFixedvOES(pname, params);
99330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
99350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
99360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
99370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetLightxvOES(GLenum light, GLenum pname, GLfixed *params) {
99390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
99400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
99410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
99430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetLightxvOES);
99440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument light
99460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_light = glmsg.add_args();
99470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_isarray(false);
99480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_type(GLMessage::DataType::ENUM);
99490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->add_intvalue((int)light);
99500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
99520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
99530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
99540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
99550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
99560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
99580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
99590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
99600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
99610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
99620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
99640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetLightxvOES(light, pname, params);
99650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
99670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
99680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
99690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetMaterialxvOES(GLenum face, GLenum pname, GLfixed *params) {
99710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
99720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
99730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
99750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetMaterialxvOES);
99760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
99780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
99790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
99800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
99810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
99820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
99840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
99850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
99860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
99870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
99880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
99900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
99910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
99920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
99930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
99940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
99960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetMaterialxvOES(face, pname, params);
99970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
99980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
99990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
100000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
100010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetTexEnvxvOES(GLenum env, GLenum pname, GLfixed *params) {
100030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
100040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
100050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
100070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetTexEnvxvOES);
100080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument env
100100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_env = glmsg.add_args();
100110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_env->set_isarray(false);
100120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_env->set_type(GLMessage::DataType::ENUM);
100130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_env->add_intvalue((int)env);
100140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
100160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
100170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
100180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
100190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
100200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
100220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
100230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
100240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
100250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
100260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
100280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetTexEnvxvOES(env, pname, params);
100290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
100310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
100320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
100330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetTexParameterxvOES(GLenum target, GLenum pname, GLfixed *params) {
100350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
100360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
100370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
100390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetTexParameterxvOES);
100400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
100420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
100430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
100440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
100450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
100460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
100480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
100490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
100500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
100510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
100520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
100540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
100550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
100560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
100570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
100580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
100600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetTexParameterxvOES(target, pname, params);
100610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
100630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
100640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
100650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLightModelxOES(GLenum pname, GLfixed param) {
100670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
100680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
100690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
100710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLightModelxOES);
100720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
100740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
100750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
100760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
100770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
100780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
100800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
100810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
100820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
100830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
100840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
100860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLightModelxOES(pname, param);
100870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
100890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
100900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
100910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLightModelxvOES(GLenum pname, const GLfixed *params) {
100930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
100940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
100950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
100970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLightModelxvOES);
100980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
100990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
101000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
101010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
101020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
101030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
101040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
101060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
101070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
101080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
101090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
101100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
101120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLightModelxvOES(pname, params);
101130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
101150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
101160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
101170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLightxOES(GLenum light, GLenum pname, GLfixed param) {
101190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
101200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
101210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
101230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLightxOES);
101240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument light
101260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_light = glmsg.add_args();
101270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_isarray(false);
101280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_type(GLMessage::DataType::ENUM);
101290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->add_intvalue((int)light);
101300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
101320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
101330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
101340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
101350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
101360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
101380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
101390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
101400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
101410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
101420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
101440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLightxOES(light, pname, param);
101450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
101470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
101480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
101490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLightxvOES(GLenum light, GLenum pname, const GLfixed *params) {
101510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
101520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
101530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
101550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLightxvOES);
101560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument light
101580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_light = glmsg.add_args();
101590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_isarray(false);
101600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->set_type(GLMessage::DataType::ENUM);
101610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_light->add_intvalue((int)light);
101620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
101640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
101650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
101660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
101670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
101680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
101700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
101710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
101720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
101730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
101740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
101760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLightxvOES(light, pname, params);
101770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
101790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
101800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
101810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLineWidthxOES(GLfixed width) {
101830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
101840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
101850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
101870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLineWidthxOES);
101880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
101900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
101910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
101920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
101930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
101940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
101960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLineWidthxOES(width);
101970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
101980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
101990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
102000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
102010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLoadMatrixxOES(const GLfixed *m) {
102030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
102040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
102050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
102070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLoadMatrixxOES);
102080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument m
102100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_m = glmsg.add_args();
102110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->set_isarray(false);
102120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->set_type(GLMessage::DataType::INT);
102130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->add_intvalue((int)m);
102140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
102160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLoadMatrixxOES(m);
102170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
102190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
102200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
102210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMaterialxOES(GLenum face, GLenum pname, GLfixed param) {
102230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
102240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
102250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
102270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMaterialxOES);
102280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
102300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
102310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
102320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
102330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
102340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
102360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
102370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
102380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
102390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
102400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
102420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
102430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
102440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
102450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
102460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
102480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMaterialxOES(face, pname, param);
102490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
102510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
102520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
102530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMaterialxvOES(GLenum face, GLenum pname, const GLfixed *params) {
102550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
102560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
102570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
102590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMaterialxvOES);
102600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument face
102620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_face = glmsg.add_args();
102630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_isarray(false);
102640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->set_type(GLMessage::DataType::ENUM);
102650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_face->add_intvalue((int)face);
102660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
102680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
102690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
102700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
102710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
102720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
102740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
102750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
102760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
102770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
102780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
102800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMaterialxvOES(face, pname, params);
102810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
102830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
102840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
102850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMultMatrixxOES(const GLfixed *m) {
102870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
102880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
102890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
102910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMultMatrixxOES);
102920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument m
102940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_m = glmsg.add_args();
102950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->set_isarray(false);
102960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->set_type(GLMessage::DataType::INT);
102970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_m->add_intvalue((int)m);
102980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
102990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
103000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMultMatrixxOES(m);
103010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
103030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
103040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
103050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMultiTexCoord4xOES(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q) {
103070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
103080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
103090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
103110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMultiTexCoord4xOES);
103120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
103140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
103150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
103160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
103170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
103180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument s
103200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_s = glmsg.add_args();
103210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_s->set_isarray(false);
103220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_s->set_type(GLMessage::DataType::INT);
103230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_s->add_intvalue(s);
103240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument t
103260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_t = glmsg.add_args();
103270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_t->set_isarray(false);
103280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_t->set_type(GLMessage::DataType::INT);
103290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_t->add_intvalue(t);
103300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument r
103320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_r = glmsg.add_args();
103330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_r->set_isarray(false);
103340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_r->set_type(GLMessage::DataType::INT);
103350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_r->add_intvalue(r);
103360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument q
103380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_q = glmsg.add_args();
103390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_q->set_isarray(false);
103400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_q->set_type(GLMessage::DataType::INT);
103410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_q->add_intvalue(q);
103420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
103440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMultiTexCoord4xOES(target, s, t, r, q);
103450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
103470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
103480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
103490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glNormal3xOES(GLfixed nx, GLfixed ny, GLfixed nz) {
103510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
103520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
103530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
103550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glNormal3xOES);
103560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument nx
103580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_nx = glmsg.add_args();
103590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nx->set_isarray(false);
103600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nx->set_type(GLMessage::DataType::INT);
103610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nx->add_intvalue(nx);
103620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument ny
103640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_ny = glmsg.add_args();
103650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ny->set_isarray(false);
103660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ny->set_type(GLMessage::DataType::INT);
103670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_ny->add_intvalue(ny);
103680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument nz
103700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_nz = glmsg.add_args();
103710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nz->set_isarray(false);
103720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nz->set_type(GLMessage::DataType::INT);
103730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_nz->add_intvalue(nz);
103740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
103760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glNormal3xOES(nx, ny, nz);
103770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
103790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
103800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
103810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glOrthoxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) {
103830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
103840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
103850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
103870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glOrthoxOES);
103880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument left
103900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_left = glmsg.add_args();
103910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_isarray(false);
103920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_type(GLMessage::DataType::INT);
103930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->add_intvalue(left);
103940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
103950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument right
103960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_right = glmsg.add_args();
103970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_isarray(false);
103980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_type(GLMessage::DataType::INT);
103990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->add_intvalue(right);
104000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bottom
104020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bottom = glmsg.add_args();
104030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_isarray(false);
104040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_type(GLMessage::DataType::INT);
104050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->add_intvalue(bottom);
104060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument top
104080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_top = glmsg.add_args();
104090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_isarray(false);
104100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_type(GLMessage::DataType::INT);
104110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->add_intvalue(top);
104120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zNear
104140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zNear = glmsg.add_args();
104150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_isarray(false);
104160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_type(GLMessage::DataType::INT);
104170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->add_intvalue(zNear);
104180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zFar
104200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zFar = glmsg.add_args();
104210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_isarray(false);
104220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_type(GLMessage::DataType::INT);
104230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->add_intvalue(zFar);
104240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
104260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glOrthoxOES(left, right, bottom, top, zNear, zFar);
104270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
104290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
104300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
104310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPointParameterxOES(GLenum pname, GLfixed param) {
104330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
104340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
104350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
104370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPointParameterxOES);
104380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
104400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
104410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
104420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
104430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
104440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
104460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
104470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
104480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
104490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
104500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
104520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPointParameterxOES(pname, param);
104530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
104550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
104560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
104570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPointParameterxvOES(GLenum pname, const GLfixed *params) {
104590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
104600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
104610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
104630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPointParameterxvOES);
104640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
104660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
104670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
104680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
104690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
104700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
104720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
104730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
104740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
104750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
104760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
104780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPointParameterxvOES(pname, params);
104790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
104810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
104820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
104830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPointSizexOES(GLfixed size) {
104850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
104860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
104870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
104890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPointSizexOES);
104900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
104920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
104930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
104940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
104950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue(size);
104960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
104970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
104980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPointSizexOES(size);
104990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
105010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
105020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
105030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glPolygonOffsetxOES(GLfixed factor, GLfixed units) {
105050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
105060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
105070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
105090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glPolygonOffsetxOES);
105100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument factor
105120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_factor = glmsg.add_args();
105130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_factor->set_isarray(false);
105140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_factor->set_type(GLMessage::DataType::INT);
105150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_factor->add_intvalue(factor);
105160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument units
105180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_units = glmsg.add_args();
105190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_units->set_isarray(false);
105200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_units->set_type(GLMessage::DataType::INT);
105210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_units->add_intvalue(units);
105220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
105240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glPolygonOffsetxOES(factor, units);
105250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
105270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
105280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
105290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glRotatexOES(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) {
105310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
105320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
105330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
105350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glRotatexOES);
105360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument angle
105380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_angle = glmsg.add_args();
105390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_angle->set_isarray(false);
105400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_angle->set_type(GLMessage::DataType::INT);
105410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_angle->add_intvalue(angle);
105420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
105440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
105450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
105460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
105470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
105480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
105500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
105510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
105520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
105530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
105540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
105560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
105570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
105580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::INT);
105590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_intvalue(z);
105600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
105620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glRotatexOES(angle, x, y, z);
105630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
105650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
105660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
105670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glSampleCoveragexOES(GLclampx value, GLboolean invert) {
105690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
105700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
105710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
105730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glSampleCoveragexOES);
105740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument value
105760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_value = glmsg.add_args();
105770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->set_isarray(false);
105780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->set_type(GLMessage::DataType::INT);
105790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_value->add_intvalue(value);
105800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument invert
105820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_invert = glmsg.add_args();
105830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_invert->set_isarray(false);
105840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_invert->set_type(GLMessage::DataType::BOOL);
105850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_invert->add_boolvalue(invert);
105860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
105880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glSampleCoveragexOES(value, invert);
105890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
105910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
105920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
105930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glScalexOES(GLfixed x, GLfixed y, GLfixed z) {
105950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
105960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
105970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
105980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
105990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glScalexOES);
106000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
106020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
106030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
106040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
106050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
106060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
106080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
106090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
106100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
106110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
106120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
106140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
106150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
106160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::INT);
106170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_intvalue(z);
106180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
106200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glScalexOES(x, y, z);
106210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
106230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
106240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
106250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexEnvxOES(GLenum target, GLenum pname, GLfixed param) {
106270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
106280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
106290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
106310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexEnvxOES);
106320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
106340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
106350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
106360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
106370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
106380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
106400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
106410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
106420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
106430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
106440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
106460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
106470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
106480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
106490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
106500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
106520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexEnvxOES(target, pname, param);
106530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
106550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
106560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
106570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexEnvxvOES(GLenum target, GLenum pname, const GLfixed *params) {
106590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
106600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
106610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
106630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexEnvxvOES);
106640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
106660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
106670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
106680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
106690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
106700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
106720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
106730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
106740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
106750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
106760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
106780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
106790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
106800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
106810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
106820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
106840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexEnvxvOES(target, pname, params);
106850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
106870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
106880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
106890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexParameterxOES(GLenum target, GLenum pname, GLfixed param) {
106910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
106920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
106930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
106950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexParameterxOES);
106960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
106970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
106980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
106990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
107000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
107010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
107020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
107040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
107050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
107060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
107070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
107080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
107100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
107110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
107120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
107130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
107140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
107160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexParameterxOES(target, pname, param);
107170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
107190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
107200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
107210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexParameterxvOES(GLenum target, GLenum pname, const GLfixed *params) {
107230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
107240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
107250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
107270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexParameterxvOES);
107280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
107300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
107310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
107320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
107330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
107340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
107360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
107370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
107380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
107390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
107400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
107420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
107430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
107440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
107450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
107460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
107480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexParameterxvOES(target, pname, params);
107490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
107510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
107520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
107530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTranslatexOES(GLfixed x, GLfixed y, GLfixed z) {
107550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
107560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
107570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
107590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTranslatexOES);
107600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument x
107620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_x = glmsg.add_args();
107630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_isarray(false);
107640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->set_type(GLMessage::DataType::INT);
107650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_x->add_intvalue(x);
107660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument y
107680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_y = glmsg.add_args();
107690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_isarray(false);
107700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->set_type(GLMessage::DataType::INT);
107710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_y->add_intvalue(y);
107720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument z
107740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_z = glmsg.add_args();
107750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_isarray(false);
107760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->set_type(GLMessage::DataType::INT);
107770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_z->add_intvalue(z);
107780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
107800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTranslatexOES(x, y, z);
107810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
107830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
107840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
107850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107860469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glIsRenderbufferOES(GLuint renderbuffer) {
107870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
107880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
107890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
107910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glIsRenderbufferOES);
107920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffer
107940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffer = glmsg.add_args();
107950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->set_isarray(false);
107960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->set_type(GLMessage::DataType::INT);
107970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->add_intvalue(renderbuffer);
107980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
107990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
108000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glIsRenderbufferOES(renderbuffer);
108010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
108030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
108040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
108050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
108060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
108070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
108090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
108100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
108120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
108130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBindRenderbufferOES(GLenum target, GLuint renderbuffer) {
108150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
108160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
108170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
108190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBindRenderbufferOES);
108200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
108220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
108230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
108240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
108250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
108260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffer
108280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffer = glmsg.add_args();
108290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->set_isarray(false);
108300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->set_type(GLMessage::DataType::INT);
108310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->add_intvalue(renderbuffer);
108320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
108340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBindRenderbufferOES(target, renderbuffer);
108350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
108370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
108380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
108390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers) {
108410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
108420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
108430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
108450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDeleteRenderbuffersOES);
108460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
108480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
108490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
108500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
108510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
108520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffers
108540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffers = glmsg.add_args();
108550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->set_isarray(false);
108560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->set_type(GLMessage::DataType::INT);
108570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->add_intvalue((int)renderbuffers);
108580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
108600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDeleteRenderbuffersOES(n, renderbuffers);
108610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
108630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
108640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
108650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGenRenderbuffersOES(GLsizei n, GLuint* renderbuffers) {
108670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
108680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
108690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
108710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGenRenderbuffersOES);
108720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
108740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
108750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
108760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
108770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
108780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffers
108800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffers = glmsg.add_args();
108810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->set_isarray(false);
108820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->set_type(GLMessage::DataType::INT);
108830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffers->add_intvalue((int)renderbuffers);
108840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
108860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGenRenderbuffersOES(n, renderbuffers);
108870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
108890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
108900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
108910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glRenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) {
108930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
108940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
108950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
108970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glRenderbufferStorageOES);
108980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
108990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
109000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
109010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
109020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
109030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
109040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument internalformat
109060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_internalformat = glmsg.add_args();
109070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_isarray(false);
109080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->set_type(GLMessage::DataType::ENUM);
109090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_internalformat->add_intvalue((int)internalformat);
109100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument width
109120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_width = glmsg.add_args();
109130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_isarray(false);
109140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->set_type(GLMessage::DataType::INT);
109150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_width->add_intvalue(width);
109160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument height
109180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_height = glmsg.add_args();
109190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_isarray(false);
109200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->set_type(GLMessage::DataType::INT);
109210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_height->add_intvalue(height);
109220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
109240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glRenderbufferStorageOES(target, internalformat, width, height);
109250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
109270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
109280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
109290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint* params) {
109310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
109320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
109330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
109350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetRenderbufferParameterivOES);
109360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
109380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
109390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
109400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
109410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
109420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
109440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
109450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
109460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
109470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
109480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
109500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
109510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
109520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
109530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
109540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
109560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetRenderbufferParameterivOES(target, pname, params);
109570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
109590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
109600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
109610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109620469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLboolean GLTrace_glIsFramebufferOES(GLuint framebuffer) {
109630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
109640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
109650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
109670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glIsFramebufferOES);
109680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument framebuffer
109700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_framebuffer = glmsg.add_args();
109710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffer->set_isarray(false);
109720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffer->set_type(GLMessage::DataType::INT);
109730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffer->add_intvalue(framebuffer);
109740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
109760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLboolean retValue = glContext->hooks->gl.glIsFramebufferOES(framebuffer);
109770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
109790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
109800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
109810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::BOOL);
109820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_boolvalue(retValue);
109830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
109850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
109860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
109880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
109890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glBindFramebufferOES(GLenum target, GLuint framebuffer) {
109910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
109920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
109930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
109950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glBindFramebufferOES);
109960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
109970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
109980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
109990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
110000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
110010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
110020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument framebuffer
110040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_framebuffer = glmsg.add_args();
110050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffer->set_isarray(false);
110060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffer->set_type(GLMessage::DataType::INT);
110070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffer->add_intvalue(framebuffer);
110080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
110100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glBindFramebufferOES(target, framebuffer);
110110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
110130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
110140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
110150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers) {
110170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
110180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
110190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
110210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDeleteFramebuffersOES);
110220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
110240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
110250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
110260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
110270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
110280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument framebuffers
110300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_framebuffers = glmsg.add_args();
110310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->set_isarray(false);
110320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->set_type(GLMessage::DataType::INT);
110330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->add_intvalue((int)framebuffers);
110340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
110360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDeleteFramebuffersOES(n, framebuffers);
110370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
110390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
110400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
110410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGenFramebuffersOES(GLsizei n, GLuint* framebuffers) {
110430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
110440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
110450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
110470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGenFramebuffersOES);
110480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument n
110500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_n = glmsg.add_args();
110510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_isarray(false);
110520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->set_type(GLMessage::DataType::INT);
110530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_n->add_intvalue(n);
110540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument framebuffers
110560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_framebuffers = glmsg.add_args();
110570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->set_isarray(false);
110580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->set_type(GLMessage::DataType::INT);
110590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_framebuffers->add_intvalue((int)framebuffers);
110600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
110620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGenFramebuffersOES(n, framebuffers);
110630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
110650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
110660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
110670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110680469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLenum GLTrace_glCheckFramebufferStatusOES(GLenum target) {
110690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
110700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
110710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
110730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCheckFramebufferStatusOES);
110740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
110760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
110770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
110780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
110790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
110800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
110820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLenum retValue = glContext->hooks->gl.glCheckFramebufferStatusOES(target);
110830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
110850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
110860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
110870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::ENUM);
110880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_intvalue((int)retValue);
110890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
110910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
110920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
110940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
110950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
110960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) {
110970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
110980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
110990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
111010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFramebufferRenderbufferOES);
111020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
111040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
111050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
111060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
111070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
111080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument attachment
111100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_attachment = glmsg.add_args();
111110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_isarray(false);
111120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_type(GLMessage::DataType::ENUM);
111130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->add_intvalue((int)attachment);
111140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffertarget
111160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffertarget = glmsg.add_args();
111170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffertarget->set_isarray(false);
111180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffertarget->set_type(GLMessage::DataType::ENUM);
111190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffertarget->add_intvalue((int)renderbuffertarget);
111200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument renderbuffer
111220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_renderbuffer = glmsg.add_args();
111230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->set_isarray(false);
111240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->set_type(GLMessage::DataType::INT);
111250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_renderbuffer->add_intvalue(renderbuffer);
111260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
111280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFramebufferRenderbufferOES(target, attachment, renderbuffertarget, renderbuffer);
111290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
111310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
111320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
111330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {
111350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
111360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
111370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
111390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFramebufferTexture2DOES);
111400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
111420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
111430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
111440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
111450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
111460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument attachment
111480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_attachment = glmsg.add_args();
111490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_isarray(false);
111500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_type(GLMessage::DataType::ENUM);
111510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->add_intvalue((int)attachment);
111520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument textarget
111540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_textarget = glmsg.add_args();
111550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textarget->set_isarray(false);
111560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textarget->set_type(GLMessage::DataType::ENUM);
111570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_textarget->add_intvalue((int)textarget);
111580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument texture
111600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_texture = glmsg.add_args();
111610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_isarray(false);
111620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->set_type(GLMessage::DataType::INT);
111630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_texture->add_intvalue(texture);
111640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument level
111660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_level = glmsg.add_args();
111670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_isarray(false);
111680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->set_type(GLMessage::DataType::INT);
111690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_level->add_intvalue(level);
111700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
111720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFramebufferTexture2DOES(target, attachment, textarget, texture, level);
111730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
111750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
111760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
111770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint* params) {
111790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
111800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
111810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
111830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetFramebufferAttachmentParameterivOES);
111840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
111860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
111870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
111880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
111890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
111900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument attachment
111920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_attachment = glmsg.add_args();
111930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_isarray(false);
111940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->set_type(GLMessage::DataType::ENUM);
111950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_attachment->add_intvalue((int)attachment);
111960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
111970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
111980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
111990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
112000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
112010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
112020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
112040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
112050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
112060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
112070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
112080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
112100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetFramebufferAttachmentParameterivOES(target, attachment, pname, params);
112110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
112130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
112140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
112150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGenerateMipmapOES(GLenum target) {
112170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
112180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
112190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
112210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGenerateMipmapOES);
112220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument target
112240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_target = glmsg.add_args();
112250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_isarray(false);
112260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->set_type(GLMessage::DataType::ENUM);
112270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_target->add_intvalue((int)target);
112280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
112300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGenerateMipmapOES(target);
112310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
112330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
112340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
112350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glCurrentPaletteMatrixOES(GLuint matrixpaletteindex) {
112370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
112380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
112390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
112410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glCurrentPaletteMatrixOES);
112420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument matrixpaletteindex
112440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_matrixpaletteindex = glmsg.add_args();
112450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_matrixpaletteindex->set_isarray(false);
112460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_matrixpaletteindex->set_type(GLMessage::DataType::INT);
112470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_matrixpaletteindex->add_intvalue(matrixpaletteindex);
112480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
112500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glCurrentPaletteMatrixOES(matrixpaletteindex);
112510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
112530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
112540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
112550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glLoadPaletteFromModelViewMatrixOES(void) {
112570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
112580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
112590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
112610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glLoadPaletteFromModelViewMatrixOES);
112620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
112640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glLoadPaletteFromModelViewMatrixOES();
112650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
112670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
112680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
112690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glMatrixIndexPointerOES(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
112710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
112720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
112730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
112750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glMatrixIndexPointerOES);
112760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
112780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
112790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
112800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
112810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue(size);
112820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
112840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
112850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
112860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
112870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
112880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument stride
112900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_stride = glmsg.add_args();
112910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_isarray(false);
112920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_type(GLMessage::DataType::INT);
112930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->add_intvalue(stride);
112940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
112950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pointer
112960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pointer = glmsg.add_args();
112970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_isarray(false);
112980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_type(GLMessage::DataType::INT);
112990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->add_intvalue((int)pointer);
113000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
113020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glMatrixIndexPointerOES(size, type, stride, pointer);
113030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
113050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
113060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
113070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glWeightPointerOES(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
113090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
113100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
113110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
113130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glWeightPointerOES);
113140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument size
113160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_size = glmsg.add_args();
113170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_isarray(false);
113180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->set_type(GLMessage::DataType::INT);
113190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_size->add_intvalue(size);
113200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument type
113220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_type = glmsg.add_args();
113230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_isarray(false);
113240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->set_type(GLMessage::DataType::ENUM);
113250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_type->add_intvalue((int)type);
113260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument stride
113280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_stride = glmsg.add_args();
113290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_isarray(false);
113300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->set_type(GLMessage::DataType::INT);
113310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_stride->add_intvalue(stride);
113320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pointer
113340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pointer = glmsg.add_args();
113350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_isarray(false);
113360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->set_type(GLMessage::DataType::INT);
113370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pointer->add_intvalue((int)pointer);
113380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
113400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glWeightPointerOES(size, type, stride, pointer);
113410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
113430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
113440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
113450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113460469dd6d55fa331bfd7de9431da98b6340d82271Siva VelusamyGLbitfield GLTrace_glQueryMatrixxOES(GLfixed mantissa[16], GLint exponent[16]) {
113470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
113480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
113490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
113510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glQueryMatrixxOES);
113520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument mantissa
113540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_mantissa = glmsg.add_args();
113550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mantissa->set_isarray(false);
113560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mantissa->set_type(GLMessage::DataType::INT);
113570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_mantissa->add_intvalue((int)mantissa);
113580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument exponent
113600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_exponent = glmsg.add_args();
113610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_exponent->set_isarray(false);
113620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_exponent->set_type(GLMessage::DataType::INT);
113630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_exponent->add_intvalue((int)exponent);
113640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
113660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLbitfield retValue = glContext->hooks->gl.glQueryMatrixxOES(mantissa, exponent);
113670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // set return value
113690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *rt = glmsg.mutable_returnvalue();
113700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_isarray(false);
113710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->set_type(GLMessage::DataType::INT);
113720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    rt->add_intvalue(retValue);
113730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
113750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
113760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    return retValue;
113780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
113790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glDepthRangefOES(GLclampf zNear, GLclampf zFar) {
113810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
113820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
113830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
113850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glDepthRangefOES);
113860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zNear
113880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zNear = glmsg.add_args();
113890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_isarray(false);
113900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_type(GLMessage::DataType::FLOAT);
113910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->add_floatvalue(zNear);
113920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zFar
113940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zFar = glmsg.add_args();
113950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_isarray(false);
113960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_type(GLMessage::DataType::FLOAT);
113970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->add_floatvalue(zFar);
113980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
113990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
114000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glDepthRangefOES(zNear, zFar);
114010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
114030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
114040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
114050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glFrustumfOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) {
114070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
114080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
114090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
114110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glFrustumfOES);
114120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument left
114140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_left = glmsg.add_args();
114150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_isarray(false);
114160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_type(GLMessage::DataType::FLOAT);
114170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->add_floatvalue(left);
114180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument right
114200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_right = glmsg.add_args();
114210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_isarray(false);
114220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_type(GLMessage::DataType::FLOAT);
114230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->add_floatvalue(right);
114240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bottom
114260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bottom = glmsg.add_args();
114270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_isarray(false);
114280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_type(GLMessage::DataType::FLOAT);
114290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->add_floatvalue(bottom);
114300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument top
114320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_top = glmsg.add_args();
114330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_isarray(false);
114340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_type(GLMessage::DataType::FLOAT);
114350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->add_floatvalue(top);
114360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zNear
114380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zNear = glmsg.add_args();
114390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_isarray(false);
114400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_type(GLMessage::DataType::FLOAT);
114410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->add_floatvalue(zNear);
114420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zFar
114440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zFar = glmsg.add_args();
114450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_isarray(false);
114460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_type(GLMessage::DataType::FLOAT);
114470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->add_floatvalue(zFar);
114480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
114500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glFrustumfOES(left, right, bottom, top, zNear, zFar);
114510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
114530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
114540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
114550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glOrthofOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) {
114570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
114580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
114590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
114610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glOrthofOES);
114620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument left
114640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_left = glmsg.add_args();
114650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_isarray(false);
114660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->set_type(GLMessage::DataType::FLOAT);
114670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_left->add_floatvalue(left);
114680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument right
114700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_right = glmsg.add_args();
114710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_isarray(false);
114720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->set_type(GLMessage::DataType::FLOAT);
114730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_right->add_floatvalue(right);
114740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument bottom
114760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_bottom = glmsg.add_args();
114770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_isarray(false);
114780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->set_type(GLMessage::DataType::FLOAT);
114790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_bottom->add_floatvalue(bottom);
114800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument top
114820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_top = glmsg.add_args();
114830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_isarray(false);
114840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->set_type(GLMessage::DataType::FLOAT);
114850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_top->add_floatvalue(top);
114860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zNear
114880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zNear = glmsg.add_args();
114890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_isarray(false);
114900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->set_type(GLMessage::DataType::FLOAT);
114910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zNear->add_floatvalue(zNear);
114920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument zFar
114940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_zFar = glmsg.add_args();
114950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_isarray(false);
114960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->set_type(GLMessage::DataType::FLOAT);
114970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_zFar->add_floatvalue(zFar);
114980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
114990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
115000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glOrthofOES(left, right, bottom, top, zNear, zFar);
115010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
115030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
115040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
115050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClipPlanefOES(GLenum plane, const GLfloat *equation) {
115070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
115080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
115090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
115110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClipPlanefOES);
115120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument plane
115140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_plane = glmsg.add_args();
115150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_plane->set_isarray(false);
115160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_plane->set_type(GLMessage::DataType::ENUM);
115170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_plane->add_intvalue((int)plane);
115180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument equation
115200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_equation = glmsg.add_args();
115210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_equation->set_isarray(false);
115220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_equation->set_type(GLMessage::DataType::INT);
115230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_equation->add_intvalue((int)equation);
115240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
115260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClipPlanefOES(plane, equation);
115270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
115290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
115300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
115310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetClipPlanefOES(GLenum pname, GLfloat eqn[4]) {
115330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
115340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
115350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
115370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetClipPlanefOES);
115380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
115400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
115410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
115420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
115430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
115440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument eqn
115460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_eqn = glmsg.add_args();
115470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->set_isarray(false);
115480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->set_type(GLMessage::DataType::INT);
115490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->add_intvalue((int)eqn);
115500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
115520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetClipPlanefOES(pname, eqn);
115530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
115550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
115560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
115570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClearDepthfOES(GLclampf depth) {
115590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
115600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
115610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
115630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClearDepthfOES);
115640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument depth
115660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_depth = glmsg.add_args();
115670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_isarray(false);
115680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->set_type(GLMessage::DataType::FLOAT);
115690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_depth->add_floatvalue(depth);
115700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
115720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClearDepthfOES(depth);
115730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
115750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
115760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
115770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexGenfOES(GLenum coord, GLenum pname, GLfloat param) {
115790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
115800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
115810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
115830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexGenfOES);
115840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coord
115860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coord = glmsg.add_args();
115870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_isarray(false);
115880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_type(GLMessage::DataType::ENUM);
115890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->add_intvalue((int)coord);
115900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
115920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
115930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
115940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
115950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
115960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
115970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
115980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
115990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
116000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::FLOAT);
116010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_floatvalue(param);
116020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
116040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexGenfOES(coord, pname, param);
116050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
116070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
116080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
116090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexGenfvOES(GLenum coord, GLenum pname, const GLfloat *params) {
116110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
116120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
116130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
116150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexGenfvOES);
116160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coord
116180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coord = glmsg.add_args();
116190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_isarray(false);
116200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_type(GLMessage::DataType::ENUM);
116210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->add_intvalue((int)coord);
116220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
116240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
116250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
116260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
116270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
116280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
116300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
116310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
116320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
116330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
116340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
116360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexGenfvOES(coord, pname, params);
116370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
116390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
116400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
116410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexGeniOES(GLenum coord, GLenum pname, GLint param) {
116430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
116440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
116450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
116470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexGeniOES);
116480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coord
116500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coord = glmsg.add_args();
116510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_isarray(false);
116520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_type(GLMessage::DataType::ENUM);
116530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->add_intvalue((int)coord);
116540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
116560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
116570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
116580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
116590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
116600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
116620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
116630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
116640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
116650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
116660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
116680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexGeniOES(coord, pname, param);
116690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
116710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
116720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
116730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexGenivOES(GLenum coord, GLenum pname, const GLint *params) {
116750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
116760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
116770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
116790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexGenivOES);
116800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coord
116820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coord = glmsg.add_args();
116830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_isarray(false);
116840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_type(GLMessage::DataType::ENUM);
116850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->add_intvalue((int)coord);
116860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
116880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
116890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
116900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
116910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
116920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
116940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
116950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
116960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
116970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
116980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
116990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
117000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexGenivOES(coord, pname, params);
117010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
117030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
117040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
117050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexGenxOES(GLenum coord, GLenum pname, GLfixed param) {
117070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
117080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
117090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
117110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexGenxOES);
117120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coord
117140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coord = glmsg.add_args();
117150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_isarray(false);
117160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_type(GLMessage::DataType::ENUM);
117170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->add_intvalue((int)coord);
117180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
117200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
117210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
117220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
117230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
117240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument param
117260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_param = glmsg.add_args();
117270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_isarray(false);
117280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->set_type(GLMessage::DataType::INT);
117290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_param->add_intvalue(param);
117300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
117320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexGenxOES(coord, pname, param);
117330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
117350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
117360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
117370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params) {
117390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
117400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
117410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
117430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glTexGenxvOES);
117440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coord
117460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coord = glmsg.add_args();
117470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_isarray(false);
117480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_type(GLMessage::DataType::ENUM);
117490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->add_intvalue((int)coord);
117500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
117520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
117530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
117540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
117550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
117560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
117580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
117590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
117600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
117610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
117620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
117640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glTexGenxvOES(coord, pname, params);
117650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
117670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
117680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
117690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params) {
117710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
117720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
117730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
117750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetTexGenfvOES);
117760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coord
117780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coord = glmsg.add_args();
117790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_isarray(false);
117800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_type(GLMessage::DataType::ENUM);
117810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->add_intvalue((int)coord);
117820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
117840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
117850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
117860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
117870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
117880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
117900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
117910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
117920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
117930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
117940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
117960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetTexGenfvOES(coord, pname, params);
117970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
117980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
117990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
118000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
118010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetTexGenivOES(GLenum coord, GLenum pname, GLint *params) {
118030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
118040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
118050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
118070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetTexGenivOES);
118080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coord
118100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coord = glmsg.add_args();
118110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_isarray(false);
118120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_type(GLMessage::DataType::ENUM);
118130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->add_intvalue((int)coord);
118140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
118160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
118170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
118180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
118190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
118200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
118220469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
118230469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
118240469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
118250469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
118260469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118270469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
118280469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetTexGenivOES(coord, pname, params);
118290469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118300469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
118310469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
118320469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
118330469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118340469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glGetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params) {
118350469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
118360469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
118370469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118380469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
118390469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glGetTexGenxvOES);
118400469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118410469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument coord
118420469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_coord = glmsg.add_args();
118430469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_isarray(false);
118440469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->set_type(GLMessage::DataType::ENUM);
118450469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_coord->add_intvalue((int)coord);
118460469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118470469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument pname
118480469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_pname = glmsg.add_args();
118490469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_isarray(false);
118500469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->set_type(GLMessage::DataType::ENUM);
118510469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_pname->add_intvalue((int)pname);
118520469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118530469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument params
118540469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_params = glmsg.add_args();
118550469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_isarray(false);
118560469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->set_type(GLMessage::DataType::INT);
118570469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_params->add_intvalue((int)params);
118580469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118590469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
118600469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glGetTexGenxvOES(coord, pname, params);
118610469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118620469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
118630469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
118640469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
118650469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118660469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClipPlanefIMG(GLenum p, const GLfloat *eqn) {
118670469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
118680469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
118690469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118700469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
118710469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClipPlanefIMG);
118720469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118730469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument p
118740469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_p = glmsg.add_args();
118750469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_p->set_isarray(false);
118760469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_p->set_type(GLMessage::DataType::ENUM);
118770469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_p->add_intvalue((int)p);
118780469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118790469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument eqn
118800469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_eqn = glmsg.add_args();
118810469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->set_isarray(false);
118820469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->set_type(GLMessage::DataType::INT);
118830469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->add_intvalue((int)eqn);
118840469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118850469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
118860469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClipPlanefIMG(p, eqn);
118870469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118880469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
118890469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
118900469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
118910469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118920469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamyvoid GLTrace_glClipPlanexIMG(GLenum p, const GLfixed *eqn) {
118930469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage glmsg;
118940469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLTraceContext *glContext = getGLTraceContext();
118950469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118960469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_context_id(1);
118970469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glmsg.set_function(GLMessage::glClipPlanexIMG);
118980469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
118990469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument p
119000469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_p = glmsg.add_args();
119010469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_p->set_isarray(false);
119020469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_p->set_type(GLMessage::DataType::ENUM);
119030469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_p->add_intvalue((int)p);
119040469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
119050469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // copy argument eqn
119060469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    GLMessage_DataType *arg_eqn = glmsg.add_args();
119070469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->set_isarray(false);
119080469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->set_type(GLMessage::DataType::INT);
119090469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    arg_eqn->add_intvalue((int)eqn);
119100469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
119110469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    // call function
119120469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    glContext->hooks->gl.glClipPlanexIMG(p, eqn);
119130469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
119140469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    fixupGLMessage(&glmsg);
119150469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy    traceGLMessage(&glmsg);
119160469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}
119170469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
119180469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
119190469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy
119200469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}; // namespace gltrace
119210469dd6d55fa331bfd7de9431da98b6340d82271Siva Velusamy}; // namespace android
11922