155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li/* 255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** Copyright 2011, The Android Open Source Project 355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** 455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** Licensed under the Apache License, Version 2.0 (the "License"); 555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** you may not use this file except in compliance with the License. 655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** You may obtain a copy of the License at 755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** 855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** http://www.apache.org/licenses/LICENSE-2.0 955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** 1055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** Unless required by applicable law or agreed to in writing, software 1155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** distributed under the License is distributed on an "AS IS" BASIS, 1255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** See the License for the specific language governing permissions and 1455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li ** limitations under the License. 1555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li */ 1655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 1728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// auto generated by generate_api_cpp.py 1828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 19ce30eb8a90a1ac458e15e773057a8a73b0918ae6David Li#include <utils/Debug.h> 20ce30eb8a90a1ac458e15e773057a8a73b0918ae6David Li 215c425f2eafc3d63e475153586edcf12eb6348aadDavid Li#include "src/header.h" 225c425f2eafc3d63e475153586edcf12eb6348aadDavid Li#include "src/api.h" 2328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 24ce30eb8a90a1ac458e15e773057a8a73b0918ae6David Litemplate<typename T> static int ToInt(const T & t) 25ce30eb8a90a1ac458e15e773057a8a73b0918ae6David Li{ 26ce30eb8a90a1ac458e15e773057a8a73b0918ae6David Li COMPILE_TIME_ASSERT_FUNCTION_SCOPE(sizeof(T) == sizeof(int)); 27ce30eb8a90a1ac458e15e773057a8a73b0918ae6David Li return (int &)t; 28ce30eb8a90a1ac458e15e773057a8a73b0918ae6David Li} 2928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 3028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glActiveTexture(GLenum texture) 3128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 3255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 3355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 3455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum texture; 3555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 3655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 3755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glActiveTexture(texture); 3855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 3955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 4055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 4155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.texture = texture; 4255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 4355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(texture); 4455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 45fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glActiveTexture); 4628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 4728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 4828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glAttachShader(GLuint program, GLuint shader) 4928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 5055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 5155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 5255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 5355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint shader; 5455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 5555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 5655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glAttachShader(program, shader); 5755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 5855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 5955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 6055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 6155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.shader = shader; 6255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 6355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 6455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(shader); 6555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 66fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glAttachShader); 6728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 6828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 6928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glBindAttribLocation(GLuint program, GLuint index, const GLchar* name) 7028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 7155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 7255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 7355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 7455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint index; 7555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLchar* name; 7655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 7755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 7855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glBindAttribLocation(program, index, name); 7955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 8055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 8155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 8255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 8355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.index = index; 8455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.name = name; 8555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 8655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 8755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(index); 8855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(name)); 8955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 9055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 9155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(name), strlen(name) * sizeof(GLchar)); 92fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glBindAttribLocation); 9328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 9428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 9528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glBindBuffer(GLenum target, GLuint buffer) 9628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 9755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 9855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 9955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 10055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint buffer; 10155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 10255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 10355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glBindBuffer(target, buffer); 1045c425f2eafc3d63e475153586edcf12eb6348aadDavid Li getDbgContextThreadSpecific()->glBindBuffer(target, buffer); 10555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 10655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 10755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 10855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 10955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.buffer = buffer; 11055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 11155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 11255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(buffer); 11355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 114fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glBindBuffer); 11528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 11628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 11728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glBindFramebuffer(GLenum target, GLuint framebuffer) 11828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 11955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 12055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 12155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 12255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint framebuffer; 12355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 12455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 12555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glBindFramebuffer(target, framebuffer); 12655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 12755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 12855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 12955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 13055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.framebuffer = framebuffer; 13155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 13255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 13355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(framebuffer); 13455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 135fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glBindFramebuffer); 13628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 13728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 13828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glBindRenderbuffer(GLenum target, GLuint renderbuffer) 13928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 14055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 14155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 14255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 14355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint renderbuffer; 14455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 14555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 14655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glBindRenderbuffer(target, renderbuffer); 14755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 14855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 14955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 15055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 15155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.renderbuffer = renderbuffer; 15255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 15355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 15455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(renderbuffer); 15555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 156fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glBindRenderbuffer); 15728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 15828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 15928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glBindTexture(GLenum target, GLuint texture) 16028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 16155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 16255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 16355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 16455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint texture; 16555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 16655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 16755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glBindTexture(target, texture); 16855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 16955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 17055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 17155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 17255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.texture = texture; 17355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 17455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 17555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(texture); 17655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 177fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glBindTexture); 17828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 17928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 18028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) 18128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 18255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 18355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 18455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLclampf red; 18555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLclampf green; 18655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLclampf blue; 18755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLclampf alpha; 18855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 18955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 19055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glBlendColor(red, green, blue, alpha); 19155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 19255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 19355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 19455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.red = red; 19555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.green = green; 19655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.blue = blue; 19755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.alpha = alpha; 19855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 19955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(ToInt(red)); 20055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(green)); 20155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(blue)); 20255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(alpha)); 20355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 204fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glBlendColor); 20528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 20628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 20728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glBlendEquation( GLenum mode ) 20828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 20955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 21055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 21155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum mode; 21255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 21355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 21455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glBlendEquation(mode); 21555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 21655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 21755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 21855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.mode = mode; 21955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 22055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(mode); 22155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 222fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glBlendEquation); 22328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 22428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 22528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) 22628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 22755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 22855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 22955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum modeRGB; 23055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum modeAlpha; 23155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 23255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 23355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glBlendEquationSeparate(modeRGB, modeAlpha); 23455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 23555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 23655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 23755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.modeRGB = modeRGB; 23855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.modeAlpha = modeAlpha; 23955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 24055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(modeRGB); 24155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(modeAlpha); 24255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 243fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glBlendEquationSeparate); 24428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 24528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 24628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glBlendFunc(GLenum sfactor, GLenum dfactor) 24728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 24855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 24955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 25055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum sfactor; 25155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum dfactor; 25255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 25355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 25455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glBlendFunc(sfactor, dfactor); 25555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 25655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 25755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 25855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.sfactor = sfactor; 25955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.dfactor = dfactor; 26055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 26155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(sfactor); 26255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(dfactor); 26355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 264fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glBlendFunc); 26528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 26628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 26728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) 26828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 26955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 27055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 27155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum srcRGB; 27255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum dstRGB; 27355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum srcAlpha; 27455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum dstAlpha; 27555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 27655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 27755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); 27855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 27955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 28055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 28155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.srcRGB = srcRGB; 28255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.dstRGB = dstRGB; 28355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.srcAlpha = srcAlpha; 28455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.dstAlpha = dstAlpha; 28555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 28655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(srcRGB); 28755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(dstRGB); 28855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(srcAlpha); 28955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(dstAlpha); 29055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 291fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glBlendFuncSeparate); 29228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 29328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 29428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage) 29528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 29655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 29755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 29855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 29955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizeiptr size; 30055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLvoid* data; 30155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum usage; 30255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 30355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 30455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glBufferData(target, size, data, usage); 3055c425f2eafc3d63e475153586edcf12eb6348aadDavid Li getDbgContextThreadSpecific()->glBufferData(target, size, data, usage); 30655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 30755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 30855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 30955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 31055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.size = size; 31155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.data = data; 31255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.usage = usage; 31355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 31455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 31555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(size); 31655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(data)); 31755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(usage); 31855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 31955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 32055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(data), size * sizeof(char)); 321fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glBufferData); 32228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 32328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 32428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data) 32528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 32655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 32755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 32855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 32955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLintptr offset; 33055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizeiptr size; 33155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLvoid* data; 33255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 33355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 33455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glBufferSubData(target, offset, size, data); 3355c425f2eafc3d63e475153586edcf12eb6348aadDavid Li getDbgContextThreadSpecific()->glBufferSubData(target, offset, size, data); 33655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 33755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 33855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 33955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 34055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.offset = offset; 34155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.size = size; 34255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.data = data; 34355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 34455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 34555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(offset); 34655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(size); 34755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(data)); 34855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 34955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 35055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(data), size * sizeof(char)); 351fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glBufferSubData); 35228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 35328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 35428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David LiGLenum Debug_glCheckFramebufferStatus(GLenum target) 35528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 35655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 35755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 35855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 35955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 36055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 36155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glCheckFramebufferStatus(target)); 36255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 36355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 36455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 36555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 36655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 36755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 36855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 36955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 370fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glCheckFramebufferStatus); 37155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return reinterpret_cast<GLenum>(ret); 37228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 37328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 37428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glClear(GLbitfield mask) 37528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 37655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 37755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 37855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLbitfield mask; 37955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 38055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 38155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glClear(mask); 38255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 38355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 38455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 38555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.mask = mask; 38655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 38755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(mask); 38855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 389fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glClear); 39028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 39128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 39228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) 39328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 39455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 39555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 39655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLclampf red; 39755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLclampf green; 39855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLclampf blue; 39955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLclampf alpha; 40055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 40155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 40255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glClearColor(red, green, blue, alpha); 40355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 40455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 40555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 40655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.red = red; 40755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.green = green; 40855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.blue = blue; 40955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.alpha = alpha; 41055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 41155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(ToInt(red)); 41255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(green)); 41355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(blue)); 41455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(alpha)); 41555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 416fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glClearColor); 41728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 41828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 41928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glClearDepthf(GLclampf depth) 42028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 42155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 42255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 42355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLclampf depth; 42455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 42555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 42655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glClearDepthf(depth); 42755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 42855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 42955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 43055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.depth = depth; 43155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 43255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(ToInt(depth)); 43355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 434fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glClearDepthf); 43528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 43628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 43728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glClearStencil(GLint s) 43828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 43955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 44055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 44155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint s; 44255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 44355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 44455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glClearStencil(s); 44555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 44655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 44755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 44855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.s = s; 44955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 45055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(s); 45155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 452fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glClearStencil); 45328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 45428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 45528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) 45628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 45755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 45855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 45955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLboolean red; 46055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLboolean green; 46155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLboolean blue; 46255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLboolean alpha; 46355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 46455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 46555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glColorMask(red, green, blue, alpha); 46655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 46755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 46855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 46955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.red = red; 47055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.green = green; 47155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.blue = blue; 47255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.alpha = alpha; 47355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 47455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(red); 47555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(green); 47655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(blue); 47755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(alpha); 47855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 479fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glColorMask); 48028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 48128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 48228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glCompileShader(GLuint shader) 48328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 48455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 48555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 48655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint shader; 48755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 48855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 48955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glCompileShader(shader); 49055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 49155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 49255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 49355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.shader = shader; 49455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 49555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(shader); 49655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 497fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glCompileShader); 49828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 49928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 50028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 50128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data) 50228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 50355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 50455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 50555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 50655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint level; 50755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum internalformat; 50855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei width; 50955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei height; 51055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint border; 51155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei imageSize; 51255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLvoid* data; 51355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 51455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 51555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); 51655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 51755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 51855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 51955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 52055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.level = level; 52155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.internalformat = internalformat; 52255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.width = width; 52355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.height = height; 52455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.border = border; 52555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.imageSize = imageSize; 52655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.data = data; 52755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 52855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 52955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(level); 53055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(internalformat); 53155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(width); 53255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg4(height); 53355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg5(border); 53455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg6(imageSize); 53555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg7(ToInt(data)); 53655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 53755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 538fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glCompressedTexImage2D); 53928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 54028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 54128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 54228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data) 54328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 54455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 54555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 54655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 54755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint level; 54855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint xoffset; 54955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint yoffset; 55055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei width; 55155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei height; 55255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum format; 55355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei imageSize; 55455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLvoid* data; 55555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 55655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 55755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); 55855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 55955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 56055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 56155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 56255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.level = level; 56355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.xoffset = xoffset; 56455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.yoffset = yoffset; 56555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.width = width; 56655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.height = height; 56755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.format = format; 56855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.imageSize = imageSize; 56955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.data = data; 57055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 57155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 57255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(level); 57355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(xoffset); 57455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(yoffset); 57555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg4(width); 57655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg5(height); 57755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg6(format); 57855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg7(imageSize); 57955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg8(ToInt(data)); 58055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 58155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 582fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glCompressedTexSubImage2D); 58328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 58428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 58528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) 58628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 58755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 58855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 58955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 59055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint level; 59155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum internalformat; 59255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint x; 59355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint y; 59455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei width; 59555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei height; 59655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint border; 59755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 59855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 59955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glCopyTexImage2D(target, level, internalformat, x, y, width, height, border); 600e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#ifdef EXTEND_AFTER_CALL_Debug_glCopyTexImage2D 601e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li EXTEND_AFTER_CALL_Debug_glCopyTexImage2D; 602e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#endif 60355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 60455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 60555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 60655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 60755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.level = level; 60855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.internalformat = internalformat; 60955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 61055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 61155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.width = width; 61255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.height = height; 61355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.border = border; 61455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 61555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 61655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(level); 61755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(internalformat); 61855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(x); 61955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg4(y); 62055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg5(width); 62155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg6(height); 62255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg7(border); 62355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 624e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#ifdef EXTEND_Debug_glCopyTexImage2D 6255c425f2eafc3d63e475153586edcf12eb6348aadDavid Li EXTEND_Debug_glCopyTexImage2D; 626e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#endif 627fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glCopyTexImage2D); 62828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 62928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 63028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) 63128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 63255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 63355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 63455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 63555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint level; 63655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint xoffset; 63755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint yoffset; 63855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint x; 63955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint y; 64055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei width; 64155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei height; 64255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 64355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 64455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); 645e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#ifdef EXTEND_AFTER_CALL_Debug_glCopyTexSubImage2D 646e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li EXTEND_AFTER_CALL_Debug_glCopyTexSubImage2D; 647e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#endif 64855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 64955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 65055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 65155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 65255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.level = level; 65355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.xoffset = xoffset; 65455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.yoffset = yoffset; 65555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 65655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 65755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.width = width; 65855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.height = height; 65955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 66055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 66155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(level); 66255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(xoffset); 66355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(yoffset); 66455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg4(x); 66555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg5(y); 66655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg6(width); 66755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg7(height); 66855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 669e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#ifdef EXTEND_Debug_glCopyTexSubImage2D 6705c425f2eafc3d63e475153586edcf12eb6348aadDavid Li EXTEND_Debug_glCopyTexSubImage2D; 671e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#endif 672fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glCopyTexSubImage2D); 67328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 67428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 67528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David LiGLuint Debug_glCreateProgram(void) 67628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 67755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 67855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 67955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 68055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 68155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glCreateProgram()); 68255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 68355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 68455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 68555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 68655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 68755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 688fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glCreateProgram); 68955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return reinterpret_cast<GLuint>(ret); 69028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 69128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 69228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David LiGLuint Debug_glCreateShader(GLenum type) 69328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 69455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 69555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 69655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum type; 69755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 69855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 69955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glCreateShader(type)); 70055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 70155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 70255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 70355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 70455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.type = type; 70555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 70655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(type); 70755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 708fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glCreateShader); 70955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return reinterpret_cast<GLuint>(ret); 71028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 71128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 71228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glCullFace(GLenum mode) 71328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 71455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 71555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 71655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum mode; 71755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 71855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 71955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glCullFace(mode); 72055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 72155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 72255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 72355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.mode = mode; 72455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 72555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(mode); 72655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 727fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glCullFace); 72828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 72928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 73028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glDeleteBuffers(GLsizei n, const GLuint* buffers) 73128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 73255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 73355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 73455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei n; 73555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLuint* buffers; 73655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 73755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 73855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glDeleteBuffers(n, buffers); 7395c425f2eafc3d63e475153586edcf12eb6348aadDavid Li getDbgContextThreadSpecific()->glDeleteBuffers(n, buffers); 74055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 74155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 74255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 74355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.n = n; 74455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.buffers = buffers; 74555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 74655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(n); 74755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(buffers)); 74855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 74955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 75055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(buffers), n * sizeof(GLuint)); 751fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glDeleteBuffers); 75228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 75328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 75428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers) 75528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 75655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 75755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 75855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei n; 75955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLuint* framebuffers; 76055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 76155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 76255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glDeleteFramebuffers(n, framebuffers); 76355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 76455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 76555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 76655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.n = n; 76755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.framebuffers = framebuffers; 76855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 76955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(n); 77055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(framebuffers)); 77155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 77255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 77355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(framebuffers), n * sizeof(GLuint)); 774fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glDeleteFramebuffers); 77528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 77628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 77728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glDeleteProgram(GLuint program) 77828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 77955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 78055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 78155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 78255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 78355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 78455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glDeleteProgram(program); 78555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 78655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 78755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 78855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 78955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 79055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 79155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 792fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glDeleteProgram); 79328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 79428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 79528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) 79628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 79755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 79855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 79955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei n; 80055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLuint* renderbuffers; 80155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 80255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 80355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glDeleteRenderbuffers(n, renderbuffers); 80455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 80555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 80655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 80755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.n = n; 80855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.renderbuffers = renderbuffers; 80955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 81055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(n); 81155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(renderbuffers)); 81255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 81355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 81455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(renderbuffers), n * sizeof(GLuint)); 815fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glDeleteRenderbuffers); 81628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 81728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 81828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glDeleteShader(GLuint shader) 81928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 82055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 82155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 82255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint shader; 82355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 82455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 82555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glDeleteShader(shader); 82655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 82755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 82855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 82955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.shader = shader; 83055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 83155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(shader); 83255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 833fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glDeleteShader); 83428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 83528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 83628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glDeleteTextures(GLsizei n, const GLuint* textures) 83728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 83855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 83955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 84055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei n; 84155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLuint* textures; 84255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 84355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 84455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glDeleteTextures(n, textures); 84555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 84655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 84755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 84855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.n = n; 84955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.textures = textures; 85055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 85155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(n); 85255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(textures)); 85355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 85455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 85555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(textures), n * sizeof(GLuint)); 856fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glDeleteTextures); 85728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 85828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 85928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glDepthFunc(GLenum func) 86028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 86155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 86255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 86355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum func; 86455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 86555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 86655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glDepthFunc(func); 86755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 86855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 86955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 87055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.func = func; 87155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 87255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(func); 87355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 874fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glDepthFunc); 87528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 87628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 87728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glDepthMask(GLboolean flag) 87828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 87955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 88055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 88155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLboolean flag; 88255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 88355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 88455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glDepthMask(flag); 88555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 88655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 88755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 88855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.flag = flag; 88955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 89055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(flag); 89155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 892fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glDepthMask); 89328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 89428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 89528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glDepthRangef(GLclampf zNear, GLclampf zFar) 89628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 89755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 89855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 89955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLclampf zNear; 90055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLclampf zFar; 90155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 90255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 90355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glDepthRangef(zNear, zFar); 90455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 90555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 90655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 90755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.zNear = zNear; 90855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.zFar = zFar; 90955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 91055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(ToInt(zNear)); 91155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(zFar)); 91255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 913fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glDepthRangef); 91428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 91528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 91628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glDetachShader(GLuint program, GLuint shader) 91728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 91855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 91955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 92055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 92155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint shader; 92255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 92355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 92455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glDetachShader(program, shader); 92555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 92655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 92755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 92855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 92955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.shader = shader; 93055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 93155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 93255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(shader); 93355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 934fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glDetachShader); 93528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 93628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 93728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glDisable(GLenum cap) 93828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 93955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 94055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 94155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum cap; 94255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 94355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 94455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glDisable(cap); 94555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 94655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 94755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 94855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.cap = cap; 94955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 95055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(cap); 95155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 952fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glDisable); 95328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 95428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 95528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glDisableVertexAttribArray(GLuint index) 95628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 95755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 95855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 95955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint index; 96028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 96155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 96255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glDisableVertexAttribArray(index); 9635c425f2eafc3d63e475153586edcf12eb6348aadDavid Li getDbgContextThreadSpecific()->glDisableVertexAttribArray(index); 96455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 96555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 96655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 96755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.index = index; 96855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 96955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(index); 97055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 971fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glDisableVertexAttribArray); 97228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 97328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 97428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glEnable(GLenum cap) 97528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 97655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 97755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 97855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum cap; 97955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 98055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 98155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glEnable(cap); 98255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 98355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 98455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 98555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.cap = cap; 98655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 98755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(cap); 98855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 989fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glEnable); 99028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 99128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 99228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glEnableVertexAttribArray(GLuint index) 99328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 99455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 99555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 99655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint index; 99755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 99855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 99955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glEnableVertexAttribArray(index); 10005c425f2eafc3d63e475153586edcf12eb6348aadDavid Li getDbgContextThreadSpecific()->glEnableVertexAttribArray(index); 100155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 100255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 100355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 100455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.index = index; 100555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 100655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(index); 100755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 1008fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glEnableVertexAttribArray); 100928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 101028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 101128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glFinish(void) 101228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 101355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 101455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 101555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 101655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 101755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glFinish(); 101855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 101955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 102055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 102155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 102255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 1023fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glFinish); 102428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 102528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 102628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glFlush(void) 102728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 102855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 102955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 103055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 103155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 103255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glFlush(); 103355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 103455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 103555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 103655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 103755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 1038fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glFlush); 103928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 104028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 104128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) 104228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 104355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 104455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 104555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 104655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum attachment; 104755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum renderbuffertarget; 104855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint renderbuffer; 104955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 105055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 105155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); 105255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 105355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 105455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 105555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 105655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.attachment = attachment; 105755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.renderbuffertarget = renderbuffertarget; 105855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.renderbuffer = renderbuffer; 105955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 106055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 106155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(attachment); 106255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(renderbuffertarget); 106355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(renderbuffer); 106455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 1065fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glFramebufferRenderbuffer); 106628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 106728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 106828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 106928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 107055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 107155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 107255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 107355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum attachment; 107455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum textarget; 107555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint texture; 107655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint level; 107755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 107855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 107955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glFramebufferTexture2D(target, attachment, textarget, texture, level); 108055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 108155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 108255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 108355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 108455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.attachment = attachment; 108555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.textarget = textarget; 108655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.texture = texture; 108755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.level = level; 108855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 108955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 109055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(attachment); 109155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(textarget); 109255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(texture); 109355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg4(level); 109455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 1095fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glFramebufferTexture2D); 109628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 109728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 109828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glFrontFace(GLenum mode) 109928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 110055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 110155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 110255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum mode; 110355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 110455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 110555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glFrontFace(mode); 110655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 110755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 110855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 110955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.mode = mode; 111055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 111155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(mode); 111255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 1113fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glFrontFace); 111428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 111528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 111628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGenBuffers(GLsizei n, GLuint* buffers) 111728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 111855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 111955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 112055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei n; 112155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint* buffers; 112255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 112355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 112455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li nsecs_t c0 = systemTime(timeMode); 112555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGenBuffers(n, buffers); 112655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_time((systemTime(timeMode) - c0) * 1e-6f); 112755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(buffers), n * sizeof(GLuint)); 112855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 112955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 113055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 113155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.n = n; 113255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.buffers = buffers; 113355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 113455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(n); 113555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(buffers)); 113655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 113755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1138fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGenBuffers); 113928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 114028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 114128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGenerateMipmap(GLenum target) 114228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 114355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 114455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 114555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 114655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 114755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 114855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGenerateMipmap(target); 114955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 115055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 115155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 115255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 115355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 115455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 115555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 1156fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGenerateMipmap); 115728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 115828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 115928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGenFramebuffers(GLsizei n, GLuint* framebuffers) 116028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 116155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 116255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 116355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei n; 116455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint* framebuffers; 116555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 116655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 116755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li nsecs_t c0 = systemTime(timeMode); 116855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGenFramebuffers(n, framebuffers); 116955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_time((systemTime(timeMode) - c0) * 1e-6f); 117055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(framebuffers), n * sizeof(GLuint)); 117155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 117255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 117355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 117455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.n = n; 117555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.framebuffers = framebuffers; 117655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 117755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(n); 117855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(framebuffers)); 117955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 118055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1181fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGenFramebuffers); 118228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 118328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 118428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGenRenderbuffers(GLsizei n, GLuint* renderbuffers) 118528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 118655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 118755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 118855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei n; 118955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint* renderbuffers; 119055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 119155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 119255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li nsecs_t c0 = systemTime(timeMode); 119355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGenRenderbuffers(n, renderbuffers); 119455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_time((systemTime(timeMode) - c0) * 1e-6f); 119555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(renderbuffers), n * sizeof(GLuint)); 119655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 119755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 119855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 119955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.n = n; 120055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.renderbuffers = renderbuffers; 120155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 120255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(n); 120355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(renderbuffers)); 120455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 120555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1206fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGenRenderbuffers); 120728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 120828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 120928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGenTextures(GLsizei n, GLuint* textures) 121028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 121155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 121255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 121355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei n; 121455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint* textures; 121555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 121655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 121755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li nsecs_t c0 = systemTime(timeMode); 121855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGenTextures(n, textures); 121955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_time((systemTime(timeMode) - c0) * 1e-6f); 122055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(textures), n * sizeof(GLuint)); 122155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 122255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 122355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 122455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.n = n; 122555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.textures = textures; 122655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 122755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(n); 122855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(textures)); 122955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 123055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1231fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGenTextures); 123228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 123328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 123428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 123528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) 123628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 123755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 123855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 123955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 124055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint index; 124155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei bufsize; 124255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei* length; 124355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* size; 124455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum* type; 124555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLchar* name; 124655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 124755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 124855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetActiveAttrib(program, index, bufsize, length, size, type, name); 124955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 125055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 125155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 125255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 125355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.index = index; 125455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.bufsize = bufsize; 125555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.length = length; 125655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.size = size; 125755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.type = type; 125855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.name = name; 125955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 126055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 126155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(index); 126255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(bufsize); 126355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(length)); 126455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg4(ToInt(size)); 126555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg5(ToInt(type)); 126655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg6(ToInt(name)); 126755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 126855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 126955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(name), strlen(name) * sizeof(GLchar)); 1270fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetActiveAttrib); 127128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 127228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 127328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 127428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) 127528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 127655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 127755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 127855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 127955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint index; 128055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei bufsize; 128155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei* length; 128255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* size; 128355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum* type; 128455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLchar* name; 128555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 128655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 128755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetActiveUniform(program, index, bufsize, length, size, type, name); 128855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 128955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 129055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 129155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 129255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.index = index; 129355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.bufsize = bufsize; 129455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.length = length; 129555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.size = size; 129655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.type = type; 129755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.name = name; 129855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 129955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 130055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(index); 130155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(bufsize); 130255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(length)); 130355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg4(ToInt(size)); 130455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg5(ToInt(type)); 130555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg6(ToInt(name)); 130655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 130755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 130855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(name), strlen(name) * sizeof(GLchar)); 1309fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetActiveUniform); 131028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 131128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 131228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 131328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) 131428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 131555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 131655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 131755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 131855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei maxcount; 131955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei* count; 132055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint* shaders; 132155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 132255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 132355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetAttachedShaders(program, maxcount, count, shaders); 132455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 132555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 132655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 132755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 132855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.maxcount = maxcount; 132955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.count = count; 133055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.shaders = shaders; 133155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 133255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 133355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(maxcount); 133455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(count)); 133555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(shaders)); 133655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 133755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1338fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetAttachedShaders); 133928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 134028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 134128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Liint Debug_glGetAttribLocation(GLuint program, const GLchar* name) 134228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 134355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 134455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 134555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 134655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLchar* name; 134755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 134855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 134955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glGetAttribLocation(program, name)); 135055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 135155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 135255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 135355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 135455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 135555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.name = name; 135655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 135755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 135855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(name)); 135955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 136055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 136155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(name), strlen(name) * sizeof(GLchar)); 1362fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetAttribLocation); 136355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return reinterpret_cast<int>(ret); 136428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 136528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 136628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 136728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetBooleanv(GLenum pname, GLboolean* params) 136828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 136955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 137055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 137155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 137255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLboolean* params; 137355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 137455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 137555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetBooleanv(pname, params); 137655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 137755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 137855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 137955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 138055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 138155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 138255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(pname); 138355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(params)); 138455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 138555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1386fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetBooleanv); 138728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 138828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 138928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 139028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params) 139128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 139255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 139355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 139455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 139555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 139655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* params; 139755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 139855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 139955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetBufferParameteriv(target, pname, params); 140055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 140155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 140255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 140355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 140455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 140555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 140655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 140755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 140855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 140955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(params)); 141055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 141155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1412fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetBufferParameteriv); 141328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 141428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 141528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David LiGLenum Debug_glGetError(void) 141628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 141755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 141855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 141955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 142055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 142155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glGetError()); 142255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 142355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 142455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 142555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 142655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 142755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 1428fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetError); 142955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return reinterpret_cast<GLenum>(ret); 143028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 143128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 143228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 143328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetFloatv(GLenum pname, GLfloat* params) 143428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 143555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 143655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 143755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 143855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat* params; 143955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 144055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 144155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetFloatv(pname, params); 144255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 144355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 144455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 144555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 144655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 144755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 144855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(pname); 144955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(params)); 145055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 145155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1452fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetFloatv); 145328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 145428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 145528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 145628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params) 145728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 145855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 145955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 146055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 146155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum attachment; 146255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 146355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* params; 146455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 146555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 146655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetFramebufferAttachmentParameteriv(target, attachment, pname, params); 146755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 146855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 146955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 147055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 147155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.attachment = attachment; 147255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 147355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 147455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 147555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 147655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(attachment); 147755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(pname); 147855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(params)); 147955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 148055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1481fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetFramebufferAttachmentParameteriv); 148228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 148328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 148428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 148528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetIntegerv(GLenum pname, GLint* params) 148628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 148755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 148855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 148955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 149055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* params; 149155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 149255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 149355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetIntegerv(pname, params); 149455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 149555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 149655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 149755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 149855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 149955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 150055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(pname); 150155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(params)); 150255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 150355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1504fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetIntegerv); 150528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 150628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 150728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetProgramiv(GLuint program, GLenum pname, GLint* params) 150828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 150955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 151055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 151155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 151255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 151355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* params; 151455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 151555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 151655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li nsecs_t c0 = systemTime(timeMode); 151755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetProgramiv(program, pname, params); 151855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_time((systemTime(timeMode) - c0) * 1e-6f); 151955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(params), 1 * sizeof(GLint)); 152055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 152155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 152255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 152355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 152455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 152555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 152655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 152755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 152855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 152955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(params)); 153055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 153155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1532fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetProgramiv); 153328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 153428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 153528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 153628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog) 153728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 153855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 153955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 154055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 154155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei bufsize; 154255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei* length; 154355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLchar* infolog; 154455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 154555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 154655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li nsecs_t c0 = systemTime(timeMode); 154755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetProgramInfoLog(program, bufsize, length, infolog); 154855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_time((systemTime(timeMode) - c0) * 1e-6f); 154955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(infolog), strlen(infolog) * sizeof(GLchar)); 155055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 155155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 155255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 155355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 155455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.bufsize = bufsize; 155555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.length = length; 155655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.infolog = infolog; 155755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 155855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 155955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(bufsize); 156055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(length)); 156155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(infolog)); 156255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 156355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1564fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetProgramInfoLog); 156528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 156628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 156728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 156828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) 156928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 157055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 157155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 157255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 157355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 157455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* params; 157555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 157655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 157755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetRenderbufferParameteriv(target, pname, params); 157855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 157955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 158055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 158155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 158255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 158355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 158455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 158555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 158655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 158755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(params)); 158855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 158955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1590fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetRenderbufferParameteriv); 159128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 159228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 159328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetShaderiv(GLuint shader, GLenum pname, GLint* params) 159428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 159555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 159655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 159755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint shader; 159855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 159955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* params; 160055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 160155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 160255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li nsecs_t c0 = systemTime(timeMode); 160355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetShaderiv(shader, pname, params); 160455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_time((systemTime(timeMode) - c0) * 1e-6f); 160555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(params), 1 * sizeof(GLint)); 160655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 160755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 160855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 160955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.shader = shader; 161055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 161155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 161255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 161355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(shader); 161455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 161555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(params)); 161655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 161755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1618fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetShaderiv); 161928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 162028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 162128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 162228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog) 162328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 162455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 162555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 162655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint shader; 162755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei bufsize; 162855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei* length; 162955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLchar* infolog; 163055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 163155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 163255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li nsecs_t c0 = systemTime(timeMode); 163355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetShaderInfoLog(shader, bufsize, length, infolog); 163455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_time((systemTime(timeMode) - c0) * 1e-6f); 163555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(infolog), strlen(infolog) * sizeof(GLchar)); 163655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 163755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 163855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 163955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.shader = shader; 164055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.bufsize = bufsize; 164155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.length = length; 164255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.infolog = infolog; 164355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 164455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(shader); 164555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(bufsize); 164655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(length)); 164755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(infolog)); 164855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 164955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1650fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetShaderInfoLog); 165128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 165228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 165328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 165428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) 165528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 165655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 165755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 165855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum shadertype; 165955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum precisiontype; 166055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* range; 166155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* precision; 166255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 166355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 166455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision); 166555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 166655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 166755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 166855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.shadertype = shadertype; 166955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.precisiontype = precisiontype; 167055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.range = range; 167155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.precision = precision; 167255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 167355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(shadertype); 167455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(precisiontype); 167555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(range)); 167655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(precision)); 167755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 167855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1679fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetShaderPrecisionFormat); 168028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 168128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 168228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 168328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source) 168428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 168555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 168655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 168755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint shader; 168855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei bufsize; 168955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei* length; 169055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLchar* source; 169155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 169255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 169355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li nsecs_t c0 = systemTime(timeMode); 169455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetShaderSource(shader, bufsize, length, source); 169555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_time((systemTime(timeMode) - c0) * 1e-6f); 169655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(source), strlen(source) * sizeof(GLchar)); 169755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 169855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 169955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 170055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.shader = shader; 170155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.bufsize = bufsize; 170255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.length = length; 170355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.source = source; 170455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 170555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(shader); 170655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(bufsize); 170755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(length)); 170855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(source)); 170955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 171055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1711fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetShaderSource); 171228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 171328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 171428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 171528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Liconst GLubyte* Debug_glGetString(GLenum name) 171628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 171755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 171855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 171955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum name; 172055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 172155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 172255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glGetString(name)); 172355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 172455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 172555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 172655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 172755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.name = name; 172855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 172955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(name); 173055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 173155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1732fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetString); 173355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return reinterpret_cast<const GLubyte*>(ret); 173428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 173528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 173628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 173728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) 173828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 173955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 174055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 174155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 174255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 174355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat* params; 174455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 174555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 174655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetTexParameterfv(target, pname, params); 174755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 174855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 174955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 175055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 175155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 175255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 175355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 175455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 175555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 175655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(params)); 175755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 175855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1759fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetTexParameterfv); 176028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 176128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 176228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 176328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetTexParameteriv(GLenum target, GLenum pname, GLint* params) 176428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 176555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 176655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 176755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 176855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 176955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* params; 177055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 177155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 177255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetTexParameteriv(target, pname, params); 177355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 177455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 177555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 177655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 177755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 177855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 177955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 178055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 178155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 178255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(params)); 178355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 178455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1785fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetTexParameteriv); 178628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 178728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 178828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 178928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetUniformfv(GLuint program, GLint location, GLfloat* params) 179028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 179155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 179255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 179355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 179455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 179555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat* params; 179655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 179755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 179855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetUniformfv(program, location, params); 179955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 180055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 180155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 180255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 180355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 180455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 180555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 180655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 180755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(location); 180855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(params)); 180955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 181055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1811fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetUniformfv); 181228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 181328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 181428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 181528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetUniformiv(GLuint program, GLint location, GLint* params) 181628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 181755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 181855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 181955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 182055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 182155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* params; 182255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 182355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 182455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetUniformiv(program, location, params); 182555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 182655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 182755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 182855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 182955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 183055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 183155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 183255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 183355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(location); 183455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(params)); 183555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 183655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1837fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetUniformiv); 183828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 183928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 184028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Liint Debug_glGetUniformLocation(GLuint program, const GLchar* name) 184128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 184255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 184355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 184455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 184555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLchar* name; 184655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 184755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 184855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glGetUniformLocation(program, name)); 184955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 185055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 185155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 185255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 185355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 185455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.name = name; 185555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 185655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 185755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(name)); 185855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 185955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 186055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(name), strlen(name) * sizeof(GLchar)); 1861fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetUniformLocation); 186255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return reinterpret_cast<int>(ret); 186328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 186428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 186528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 186628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params) 186728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 186855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 186955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 187055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint index; 187155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 187255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat* params; 187355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 187455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 187555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetVertexAttribfv(index, pname, params); 187655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 187755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 187855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 187955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.index = index; 188055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 188155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 188255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 188355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(index); 188455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 188555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(params)); 188655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 188755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1888fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetVertexAttribfv); 188928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 189028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 189128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 189228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params) 189328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 189455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 189555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 189655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint index; 189755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 189855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint* params; 189955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 190055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 190155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetVertexAttribiv(index, pname, params); 190255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 190355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 190455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 190555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.index = index; 190655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 190755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 190855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 190955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(index); 191055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 191155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(params)); 191255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 191355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1914fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetVertexAttribiv); 191528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 191628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 191728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 191828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer) 191928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 192055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 192155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 192255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint index; 192355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 192455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLvoid** pointer; 192555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 192655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 192755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glGetVertexAttribPointerv(index, pname, pointer); 192855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 192955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 193055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 193155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.index = index; 193255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 193355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pointer = pointer; 193455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 193555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(index); 193655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 193755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(pointer)); 193855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 193955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 1940fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glGetVertexAttribPointerv); 194128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 194228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 194328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glHint(GLenum target, GLenum mode) 194428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 194555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 194655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 194755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 194855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum mode; 194955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 195055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 195155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glHint(target, mode); 195255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 195355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 195455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 195555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 195655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.mode = mode; 195755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 195855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 195955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(mode); 196055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 1961fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glHint); 196228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 196328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 196428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David LiGLboolean Debug_glIsBuffer(GLuint buffer) 196528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 196655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 196755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 196855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint buffer; 196955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 197055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 197155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glIsBuffer(buffer)); 197255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 197355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 197455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 197555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 197655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.buffer = buffer; 197755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 197855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(buffer); 197955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 1980fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glIsBuffer); 198155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return static_cast<GLboolean>(reinterpret_cast<int>(ret)); 198228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 198328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 198428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David LiGLboolean Debug_glIsEnabled(GLenum cap) 198528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 198655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 198755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 198855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum cap; 198955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 199055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 199155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glIsEnabled(cap)); 199255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 199355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 199455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 199555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 199655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.cap = cap; 199755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 199855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(cap); 199955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2000fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glIsEnabled); 200155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return static_cast<GLboolean>(reinterpret_cast<int>(ret)); 200228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 200328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 200428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David LiGLboolean Debug_glIsFramebuffer(GLuint framebuffer) 200528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 200655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 200755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 200855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint framebuffer; 200955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 201055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 201155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glIsFramebuffer(framebuffer)); 201255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 201355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 201455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 201555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 201655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.framebuffer = framebuffer; 201755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 201855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(framebuffer); 201955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2020fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glIsFramebuffer); 202155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return static_cast<GLboolean>(reinterpret_cast<int>(ret)); 202228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 202328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 202428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David LiGLboolean Debug_glIsProgram(GLuint program) 202528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 202655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 202755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 202855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 202955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 203055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 203155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glIsProgram(program)); 203255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 203355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 203455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 203555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 203655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 203755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 203855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 203955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2040fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glIsProgram); 204155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return static_cast<GLboolean>(reinterpret_cast<int>(ret)); 204228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 204328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 204428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David LiGLboolean Debug_glIsRenderbuffer(GLuint renderbuffer) 204528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 204655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 204755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 204855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint renderbuffer; 204955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 205055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 205155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glIsRenderbuffer(renderbuffer)); 205255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 205355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 205455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 205555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 205655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.renderbuffer = renderbuffer; 205755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 205855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(renderbuffer); 205955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2060fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glIsRenderbuffer); 206155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return static_cast<GLboolean>(reinterpret_cast<int>(ret)); 206228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 206328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 206428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David LiGLboolean Debug_glIsShader(GLuint shader) 206528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 206655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 206755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 206855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint shader; 206955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 207055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 207155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glIsShader(shader)); 207255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 207355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 207455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 207555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 207655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.shader = shader; 207755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 207855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(shader); 207955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2080fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glIsShader); 208155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return static_cast<GLboolean>(reinterpret_cast<int>(ret)); 208228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 208328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 208428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David LiGLboolean Debug_glIsTexture(GLuint texture) 208528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 208655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 208755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 208855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint texture; 208955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 209055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 209155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * ret = reinterpret_cast<const int *>(_c->glIsTexture(texture)); 209255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_ret(ToInt(ret)); 209355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return ret; 209455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 209555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 209655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.texture = texture; 209755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 209855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(texture); 209955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2100fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glIsTexture); 210155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return static_cast<GLboolean>(reinterpret_cast<int>(ret)); 210228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 210328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 210428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glLineWidth(GLfloat width) 210528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 210655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 210755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 210855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat width; 210955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 211055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 211155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glLineWidth(width); 211255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 211355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 211455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 211555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.width = width; 211655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 211755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(ToInt(width)); 211855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2119fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glLineWidth); 212028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 212128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 212228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glLinkProgram(GLuint program) 212328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 212455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 212555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 212655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 212755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 212855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 212955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glLinkProgram(program); 213055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 213155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 213255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 213355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 213455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 213555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 213655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2137fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glLinkProgram); 213828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 213928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 214028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glPixelStorei(GLenum pname, GLint param) 214128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 214255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 214355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 214455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 214555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint param; 214655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 214755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 214855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glPixelStorei(pname, param); 214955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 215055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 215155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 215255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 215355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.param = param; 215455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 215555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(pname); 215655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(param); 215755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2158fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glPixelStorei); 215928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 216028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 216128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glPolygonOffset(GLfloat factor, GLfloat units) 216228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 216355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 216455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 216555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat factor; 216655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat units; 216728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 216855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 216955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glPolygonOffset(factor, units); 217055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 217155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 217255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 217355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.factor = factor; 217455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.units = units; 217555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 217655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(ToInt(factor)); 217755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(units)); 217855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2179fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glPolygonOffset); 218028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 218128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 2182e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Livoid Debug_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels) 2183e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li{ 2184e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li glesv2debugger::Message msg; 2185e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li struct : public FunctionCall { 2186e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li GLint x; 2187e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li GLint y; 2188e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li GLsizei width; 2189e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li GLsizei height; 2190e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li GLenum format; 2191e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li GLenum type; 2192e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li GLvoid* pixels; 2193e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li 2194e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 2195e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li _c->glReadPixels(x, y, width, height, format, type, pixels); 2196e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#ifdef EXTEND_AFTER_CALL_Debug_glReadPixels 2197e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li EXTEND_AFTER_CALL_Debug_glReadPixels; 2198e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#endif 2199e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li return 0; 2200e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li } 2201e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li } caller; 2202e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li caller.x = x; 2203e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li caller.y = y; 2204e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li caller.width = width; 2205e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li caller.height = height; 2206e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li caller.format = format; 2207e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li caller.type = type; 2208e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li caller.pixels = pixels; 2209e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li 2210e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li msg.set_arg0(x); 2211e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li msg.set_arg1(y); 2212e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li msg.set_arg2(width); 2213e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li msg.set_arg3(height); 2214e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li msg.set_arg4(format); 2215e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li msg.set_arg5(type); 2216e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li msg.set_arg6(ToInt(pixels)); 2217e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li 2218e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li // FIXME: check for pointer usage 2219e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#ifdef EXTEND_Debug_glReadPixels 2220e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li EXTEND_Debug_glReadPixels; 2221e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#endif 2222e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glReadPixels); 2223e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li} 2224e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li 222528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glReleaseShaderCompiler(void) 222628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 222755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 222855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 222955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 223055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 223155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glReleaseShaderCompiler(); 223255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 223355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 223455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 223555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 223655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2237fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glReleaseShaderCompiler); 223828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 223928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 224028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) 224128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 224255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 224355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 224455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 224555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum internalformat; 224655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei width; 224755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei height; 224855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 224955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 225055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glRenderbufferStorage(target, internalformat, width, height); 225155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 225255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 225355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 225455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 225555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.internalformat = internalformat; 225655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.width = width; 225755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.height = height; 225855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 225955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 226055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(internalformat); 226155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(width); 226255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(height); 226355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2264fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glRenderbufferStorage); 226528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 226628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 226728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glSampleCoverage(GLclampf value, GLboolean invert) 226828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 226955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 227055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 227155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLclampf value; 227255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLboolean invert; 227355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 227455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 227555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glSampleCoverage(value, invert); 227655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 227755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 227855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 227955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.value = value; 228055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.invert = invert; 228155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 228255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(ToInt(value)); 228355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(invert); 228455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2285fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glSampleCoverage); 228628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 228728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 228828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glScissor(GLint x, GLint y, GLsizei width, GLsizei height) 228928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 229055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 229155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 229255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint x; 229355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint y; 229455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei width; 229555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei height; 229655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 229755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 229855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glScissor(x, y, width, height); 229955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 230055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 230155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 230255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 230355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 230455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.width = width; 230555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.height = height; 230655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 230755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(x); 230855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(y); 230955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(width); 231055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(height); 231155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2312fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glScissor); 231328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 231428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 231528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 231628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length) 231728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 231855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 231955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 232055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei n; 232155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLuint* shaders; 232255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum binaryformat; 232355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLvoid* binary; 232455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei length; 232555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 232655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 232755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glShaderBinary(n, shaders, binaryformat, binary, length); 232855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 232955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 233055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 233155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.n = n; 233255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.shaders = shaders; 233355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.binaryformat = binaryformat; 233455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.binary = binary; 233555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.length = length; 233655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 233755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(n); 233855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(shaders)); 233955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(binaryformat); 234055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(binary)); 234155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg4(length); 234255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 234355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 2344fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glShaderBinary); 234528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 234628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 23475c425f2eafc3d63e475153586edcf12eb6348aadDavid Livoid Debug_glShaderSource(GLuint shader, GLsizei count, const GLchar** string, const GLint* length) 23485c425f2eafc3d63e475153586edcf12eb6348aadDavid Li{ 23495c425f2eafc3d63e475153586edcf12eb6348aadDavid Li glesv2debugger::Message msg; 23505c425f2eafc3d63e475153586edcf12eb6348aadDavid Li struct : public FunctionCall { 23515c425f2eafc3d63e475153586edcf12eb6348aadDavid Li GLuint shader; 23525c425f2eafc3d63e475153586edcf12eb6348aadDavid Li GLsizei count; 23535c425f2eafc3d63e475153586edcf12eb6348aadDavid Li const GLchar** string; 23545c425f2eafc3d63e475153586edcf12eb6348aadDavid Li const GLint* length; 23555c425f2eafc3d63e475153586edcf12eb6348aadDavid Li 23565c425f2eafc3d63e475153586edcf12eb6348aadDavid Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 23575c425f2eafc3d63e475153586edcf12eb6348aadDavid Li _c->glShaderSource(shader, count, string, length); 2358e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#ifdef EXTEND_AFTER_CALL_Debug_glShaderSource 2359e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li EXTEND_AFTER_CALL_Debug_glShaderSource; 2360e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#endif 23615c425f2eafc3d63e475153586edcf12eb6348aadDavid Li return 0; 23625c425f2eafc3d63e475153586edcf12eb6348aadDavid Li } 23635c425f2eafc3d63e475153586edcf12eb6348aadDavid Li } caller; 23645c425f2eafc3d63e475153586edcf12eb6348aadDavid Li caller.shader = shader; 23655c425f2eafc3d63e475153586edcf12eb6348aadDavid Li caller.count = count; 23665c425f2eafc3d63e475153586edcf12eb6348aadDavid Li caller.string = string; 23675c425f2eafc3d63e475153586edcf12eb6348aadDavid Li caller.length = length; 23685c425f2eafc3d63e475153586edcf12eb6348aadDavid Li 23695c425f2eafc3d63e475153586edcf12eb6348aadDavid Li msg.set_arg0(shader); 23705c425f2eafc3d63e475153586edcf12eb6348aadDavid Li msg.set_arg1(count); 23715c425f2eafc3d63e475153586edcf12eb6348aadDavid Li msg.set_arg2(ToInt(string)); 23725c425f2eafc3d63e475153586edcf12eb6348aadDavid Li msg.set_arg3(ToInt(length)); 23735c425f2eafc3d63e475153586edcf12eb6348aadDavid Li 23745c425f2eafc3d63e475153586edcf12eb6348aadDavid Li // FIXME: check for pointer usage 2375e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#ifdef EXTEND_Debug_glShaderSource 23765c425f2eafc3d63e475153586edcf12eb6348aadDavid Li EXTEND_Debug_glShaderSource; 2377e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#endif 2378fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glShaderSource); 23795c425f2eafc3d63e475153586edcf12eb6348aadDavid Li} 23805c425f2eafc3d63e475153586edcf12eb6348aadDavid Li 238128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glStencilFunc(GLenum func, GLint ref, GLuint mask) 238228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 238355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 238455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 238555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum func; 238655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint ref; 238755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint mask; 238855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 238955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 239055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glStencilFunc(func, ref, mask); 239155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 239255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 239355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 239455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.func = func; 239555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.ref = ref; 239655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.mask = mask; 239755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 239855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(func); 239955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ref); 240055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(mask); 240155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2402fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glStencilFunc); 240328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 240428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 240528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) 240628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 240755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 240855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 240955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum face; 241055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum func; 241155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint ref; 241255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint mask; 241355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 241455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 241555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glStencilFuncSeparate(face, func, ref, mask); 241655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 241755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 241855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 241955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.face = face; 242055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.func = func; 242155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.ref = ref; 242255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.mask = mask; 242355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 242455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(face); 242555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(func); 242655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ref); 242755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(mask); 242855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2429fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glStencilFuncSeparate); 243028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 243128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 243228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glStencilMask(GLuint mask) 243328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 243455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 243555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 243655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint mask; 243755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 243855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 243955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glStencilMask(mask); 244055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 244155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 244255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 244355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.mask = mask; 244455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 244555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(mask); 244655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2447fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glStencilMask); 244828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 244928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 245028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glStencilMaskSeparate(GLenum face, GLuint mask) 245128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 245255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 245355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 245455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum face; 245555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint mask; 245655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 245755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 245855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glStencilMaskSeparate(face, mask); 245955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 246055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 246155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 246255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.face = face; 246355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.mask = mask; 246455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 246555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(face); 246655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(mask); 246755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2468fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glStencilMaskSeparate); 246928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 247028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 247128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) 247228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 247355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 247455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 247555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum fail; 247655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum zfail; 247755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum zpass; 247855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 247955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 248055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glStencilOp(fail, zfail, zpass); 248155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 248255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 248355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 248455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.fail = fail; 248555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.zfail = zfail; 248655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.zpass = zpass; 248755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 248855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(fail); 248955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(zfail); 249055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(zpass); 249155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2492fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glStencilOp); 249328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 249428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 249528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) 249628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 249755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 249855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 249955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum face; 250055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum fail; 250155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum zfail; 250255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum zpass; 250355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 250455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 250555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glStencilOpSeparate(face, fail, zfail, zpass); 250655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 250755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 250855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 250955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.face = face; 251055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.fail = fail; 251155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.zfail = zfail; 251255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.zpass = zpass; 251355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 251455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(face); 251555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(fail); 251655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(zfail); 251755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(zpass); 251855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2519fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glStencilOpSeparate); 2520fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li} 2521fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li 2522fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Livoid Debug_glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels) 2523fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li{ 2524fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li glesv2debugger::Message msg; 2525fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li struct : public FunctionCall { 2526fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLenum target; 2527fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLint level; 2528fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLint internalformat; 2529fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLsizei width; 2530fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLsizei height; 2531fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLint border; 2532fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLenum format; 2533fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLenum type; 2534fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li const GLvoid* pixels; 2535fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li 2536fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 2537fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li _c->glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); 2538e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#ifdef EXTEND_AFTER_CALL_Debug_glTexImage2D 2539e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li EXTEND_AFTER_CALL_Debug_glTexImage2D; 2540e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#endif 2541fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li return 0; 2542fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li } 2543fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li } caller; 2544fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.target = target; 2545fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.level = level; 2546fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.internalformat = internalformat; 2547fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.width = width; 2548fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.height = height; 2549fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.border = border; 2550fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.format = format; 2551fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.type = type; 2552fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.pixels = pixels; 2553fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li 2554fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg0(target); 2555fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg1(level); 2556fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg2(internalformat); 2557fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg3(width); 2558fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg4(height); 2559fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg5(border); 2560fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg6(format); 2561fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg7(type); 2562fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg8(ToInt(pixels)); 2563fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li 2564fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li // FIXME: check for pointer usage 2565e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#ifdef EXTEND_Debug_glTexImage2D 2566fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li EXTEND_Debug_glTexImage2D; 2567e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#endif 2568fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glTexImage2D); 256928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 257028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 257128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glTexParameterf(GLenum target, GLenum pname, GLfloat param) 257228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 257355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 257455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 257555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 257655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 257755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat param; 257855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 257955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 258055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glTexParameterf(target, pname, param); 258155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 258255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 258355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 258455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 258555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 258655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.param = param; 258755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 258855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 258955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 259055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(param)); 259155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2592fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glTexParameterf); 259328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 259428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 259528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 259628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params) 259728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 259855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 259955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 260055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 260155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 260255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLfloat* params; 260355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 260455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 260555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glTexParameterfv(target, pname, params); 260655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 260755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 260855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 260955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 261055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 261155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 261255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 261355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 261455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 261555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(params)); 261655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 261755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 2618fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glTexParameterfv); 261928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 262028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 262128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glTexParameteri(GLenum target, GLenum pname, GLint param) 262228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 262355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 262455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 262555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 262655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 262755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint param; 262855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 262955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 263055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glTexParameteri(target, pname, param); 263155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 263255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 263355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 263455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 263555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 263655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.param = param; 263755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 263855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 263955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 264055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(param); 264155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2642fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glTexParameteri); 264328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 264428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 264528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 264628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glTexParameteriv(GLenum target, GLenum pname, const GLint* params) 264728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 264855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 264955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 265055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum target; 265155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum pname; 265255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLint* params; 265355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 265455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 265555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glTexParameteriv(target, pname, params); 265655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 265755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 265855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 265955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.target = target; 266055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.pname = pname; 266155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.params = params; 266255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 266355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(target); 266455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(pname); 266555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(params)); 266655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 266755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 2668fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glTexParameteriv); 2669fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li} 2670fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li 2671fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Livoid Debug_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels) 2672fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li{ 2673fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li glesv2debugger::Message msg; 2674fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li struct : public FunctionCall { 2675fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLenum target; 2676fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLint level; 2677fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLint xoffset; 2678fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLint yoffset; 2679fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLsizei width; 2680fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLsizei height; 2681fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLenum format; 2682fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li GLenum type; 2683fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li const GLvoid* pixels; 2684fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li 2685fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 2686fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li _c->glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); 2687e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#ifdef EXTEND_AFTER_CALL_Debug_glTexSubImage2D 2688e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li EXTEND_AFTER_CALL_Debug_glTexSubImage2D; 2689e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#endif 2690fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li return 0; 2691fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li } 2692fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li } caller; 2693fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.target = target; 2694fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.level = level; 2695fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.xoffset = xoffset; 2696fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.yoffset = yoffset; 2697fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.width = width; 2698fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.height = height; 2699fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.format = format; 2700fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.type = type; 2701fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li caller.pixels = pixels; 2702fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li 2703fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg0(target); 2704fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg1(level); 2705fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg2(xoffset); 2706fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg3(yoffset); 2707fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg4(width); 2708fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg5(height); 2709fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg6(format); 2710fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg7(type); 2711fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li msg.set_arg8(ToInt(pixels)); 2712fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li 2713fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li // FIXME: check for pointer usage 2714e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#ifdef EXTEND_Debug_glTexSubImage2D 2715fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li EXTEND_Debug_glTexSubImage2D; 2716e2ad4d0e3748c2f0180d24d1b3468aac79adac3aDavid Li#endif 2717fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glTexSubImage2D); 271828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 271928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 272028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform1f(GLint location, GLfloat x) 272128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 272255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 272355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 272455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 272555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat x; 272655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 272755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 272855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform1f(location, x); 272955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 273055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 273155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 273255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 273355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 273455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 273555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 273655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(x)); 273755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2738fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform1f); 273928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 274028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 274128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform1fv(GLint location, GLsizei count, const GLfloat* v) 274228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 274355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 274455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 274555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 274655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei count; 274755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLfloat* v; 274855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 274955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 275055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform1fv(location, count, v); 275155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 275255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 275355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 275455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 275555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.count = count; 275655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.v = v; 275755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 275855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 275955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(count); 276055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(v)); 276155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 276255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 276355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 1*count * sizeof(GLfloat)); 2764fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform1fv); 276528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 276628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 276728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform1i(GLint location, GLint x) 276828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 276955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 277055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 277155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 277255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint x; 277355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 277455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 277555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform1i(location, x); 277655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 277755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 277855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 277955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 278055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 278155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 278255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 278355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(x); 278455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2785fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform1i); 278628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 278728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 278828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform1iv(GLint location, GLsizei count, const GLint* v) 278928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 279055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 279155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 279255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 279355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei count; 279455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLint* v; 279555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 279655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 279755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform1iv(location, count, v); 279855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 279955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 280055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 280155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 280255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.count = count; 280355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.v = v; 280455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 280555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 280655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(count); 280755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(v)); 280855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 280955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 281055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 1*count * sizeof(GLint)); 2811fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform1iv); 281228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 281328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 281428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform2f(GLint location, GLfloat x, GLfloat y) 281528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 281655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 281755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 281855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 281955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat x; 282055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat y; 282155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 282255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 282355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform2f(location, x, y); 282455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 282555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 282655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 282755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 282855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 282955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 283055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 283155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 283255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(x)); 283355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(y)); 283455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2835fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform2f); 283628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 283728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 283828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform2fv(GLint location, GLsizei count, const GLfloat* v) 283928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 284055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 284155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 284255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 284355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei count; 284455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLfloat* v; 284555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 284655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 284755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform2fv(location, count, v); 284855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 284955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 285055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 285155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 285255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.count = count; 285355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.v = v; 285455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 285555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 285655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(count); 285755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(v)); 285855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 285955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 286055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 2*count * sizeof(GLfloat)); 2861fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform2fv); 286228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 286328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 286428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform2i(GLint location, GLint x, GLint y) 286528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 286655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 286755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 286855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 286955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint x; 287055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint y; 287155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 287255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 287355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform2i(location, x, y); 287455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 287555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 287655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 287755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 287855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 287955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 288055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 288155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 288255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(x); 288355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(y); 288455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2885fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform2i); 288628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 288728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 288828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform2iv(GLint location, GLsizei count, const GLint* v) 288928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 289055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 289155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 289255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 289355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei count; 289455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLint* v; 289555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 289655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 289755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform2iv(location, count, v); 289855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 289955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 290055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 290155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 290255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.count = count; 290355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.v = v; 290455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 290555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 290655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(count); 290755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(v)); 290855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 290955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 291055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 2*count * sizeof(GLint)); 2911fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform2iv); 291228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 291328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 291428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) 291528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 291655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 291755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 291855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 291955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat x; 292055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat y; 292155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat z; 292255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 292355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 292455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform3f(location, x, y, z); 292555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 292655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 292755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 292855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 292955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 293055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 293155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.z = z; 293255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 293355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 293455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(x)); 293555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(y)); 293655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(z)); 293755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2938fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform3f); 293928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 294028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 294128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform3fv(GLint location, GLsizei count, const GLfloat* v) 294228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 294355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 294455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 294555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 294655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei count; 294755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLfloat* v; 294855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 294955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 295055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform3fv(location, count, v); 295155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 295255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 295355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 295455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 295555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.count = count; 295655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.v = v; 295755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 295855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 295955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(count); 296055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(v)); 296155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 296255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 296355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 3*count * sizeof(GLfloat)); 2964fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform3fv); 296528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 296628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 296728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform3i(GLint location, GLint x, GLint y, GLint z) 296828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 296955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 297055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 297155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 297255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint x; 297355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint y; 297455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint z; 297555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 297655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 297755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform3i(location, x, y, z); 297855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 297955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 298055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 298155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 298255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 298355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 298455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.z = z; 298555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 298655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 298755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(x); 298855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(y); 298955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(z); 299055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 2991fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform3i); 299228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 299328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 299428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform3iv(GLint location, GLsizei count, const GLint* v) 299528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 299655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 299755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 299855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 299955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei count; 300055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLint* v; 300155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 300255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 300355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform3iv(location, count, v); 300455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 300555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 300655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 300755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 300855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.count = count; 300955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.v = v; 301055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 301155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 301255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(count); 301355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(v)); 301455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 301555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 301655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 3*count * sizeof(GLint)); 3017fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform3iv); 301828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 301928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 302028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 302128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 302255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 302355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 302455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 302555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat x; 302655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat y; 302755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat z; 302855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat w; 302955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 303055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 303155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform4f(location, x, y, z, w); 303255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 303355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 303455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 303555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 303655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 303755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 303855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.z = z; 303955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.w = w; 304055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 304155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 304255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(x)); 304355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(y)); 304455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(z)); 304555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg4(ToInt(w)); 304655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 3047fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform4f); 304828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 304928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 305028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform4fv(GLint location, GLsizei count, const GLfloat* v) 305128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 305255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 305355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 305455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 305555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei count; 305655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLfloat* v; 305755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 305855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 305955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform4fv(location, count, v); 306055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 306155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 306255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 306355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 306455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.count = count; 306555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.v = v; 306655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 306755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 306855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(count); 306955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(v)); 307055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 307155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 307255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 4*count * sizeof(GLfloat)); 3073fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform4fv); 307428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 307528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 307628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) 307728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 307855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 307955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 308055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 308155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint x; 308255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint y; 308355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint z; 308455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint w; 308555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 308655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 308755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform4i(location, x, y, z, w); 308855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 308955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 309055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 309155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 309255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 309355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 309455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.z = z; 309555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.w = w; 309655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 309755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 309855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(x); 309955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(y); 310055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(z); 310155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg4(w); 310255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 3103fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform4i); 310428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 310528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 310628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniform4iv(GLint location, GLsizei count, const GLint* v) 310728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 310855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 310955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 311055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 311155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei count; 311255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLint* v; 311355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 311455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 311555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniform4iv(location, count, v); 311655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 311755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 311855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 311955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 312055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.count = count; 312155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.v = v; 312255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 312355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 312455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(count); 312555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(v)); 312655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 312755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 312855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 4*count * sizeof(GLint)); 3129fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniform4iv); 313028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 313128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 313228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 313328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 313455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 313555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 313655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 313755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei count; 313855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLboolean transpose; 313955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLfloat* value; 314055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 314155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 314255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniformMatrix2fv(location, count, transpose, value); 314355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 314455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 314555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 314655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 314755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.count = count; 314855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.transpose = transpose; 314955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.value = value; 315055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 315155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 315255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(count); 315355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(transpose); 315455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(value)); 315555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 315655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 315755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(value), 4*count * sizeof(GLfloat)); 3158fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniformMatrix2fv); 315928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 316028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 316128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 316228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 316355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 316455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 316555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 316655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei count; 316755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLboolean transpose; 316855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLfloat* value; 316955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 317055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 317155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniformMatrix3fv(location, count, transpose, value); 317255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 317355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 317455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 317555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 317655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.count = count; 317755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.transpose = transpose; 317855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.value = value; 317955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 318055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 318155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(count); 318255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(transpose); 318355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(value)); 318455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 318555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 318655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(value), 9*count * sizeof(GLfloat)); 3187fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniformMatrix3fv); 318828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 318928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 319028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 319128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 319255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 319355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 319455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint location; 319555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei count; 319655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLboolean transpose; 319755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLfloat* value; 319855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 319955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 320055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUniformMatrix4fv(location, count, transpose, value); 320155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 320255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 320355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 320455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.location = location; 320555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.count = count; 320655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.transpose = transpose; 320755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.value = value; 320855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 320955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(location); 321055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(count); 321155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(transpose); 321255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(value)); 321355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 321455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 321555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(value), 16*count * sizeof(GLfloat)); 3216fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUniformMatrix4fv); 321728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 321828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 321928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glUseProgram(GLuint program) 322028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 322155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 322255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 322355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 322455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 322555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 322655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glUseProgram(program); 32275c425f2eafc3d63e475153586edcf12eb6348aadDavid Li getDbgContextThreadSpecific()->glUseProgram(program); 322855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 322955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 323055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 323155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 323255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 323355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 323455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 3235fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glUseProgram); 323628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 323728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 323828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glValidateProgram(GLuint program) 323928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 324055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 324155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 324255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint program; 324355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 324455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 324555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glValidateProgram(program); 324655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 324755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 324855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 324955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.program = program; 325055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 325155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(program); 325255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 3253fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glValidateProgram); 325428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 325528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 325628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glVertexAttrib1f(GLuint indx, GLfloat x) 325728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 325855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 325955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 326055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint indx; 326155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat x; 326255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 326355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 326455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glVertexAttrib1f(indx, x); 326555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 326655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 326755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 326855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.indx = indx; 326955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 327055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 327155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(indx); 327255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(x)); 327355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 3274fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glVertexAttrib1f); 327528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 327628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 327728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glVertexAttrib1fv(GLuint indx, const GLfloat* values) 327828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 327955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 328055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 328155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint indx; 328255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLfloat* values; 328355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 328455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 328555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glVertexAttrib1fv(indx, values); 328655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 328755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 328855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 328955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.indx = indx; 329055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.values = values; 329155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 329255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(indx); 329355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(values)); 329455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 329555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 329655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(values), 1 * sizeof(GLfloat)); 3297fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glVertexAttrib1fv); 329828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 329928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 330028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) 330128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 330255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 330355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 330455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint indx; 330555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat x; 330655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat y; 330755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 330855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 330955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glVertexAttrib2f(indx, x, y); 331055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 331155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 331255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 331355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.indx = indx; 331455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 331555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 331655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 331755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(indx); 331855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(x)); 331955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(y)); 332055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 3321fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glVertexAttrib2f); 332228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 332328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 332428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glVertexAttrib2fv(GLuint indx, const GLfloat* values) 332528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 332655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 332755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 332855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint indx; 332955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLfloat* values; 333055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 333155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 333255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glVertexAttrib2fv(indx, values); 333355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 333455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 333555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 333655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.indx = indx; 333755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.values = values; 333855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 333955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(indx); 334055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(values)); 334155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 334255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 334355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(values), 2 * sizeof(GLfloat)); 3344fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glVertexAttrib2fv); 334528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 334628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 334728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z) 334828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 334955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 335055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 335155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint indx; 335255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat x; 335355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat y; 335455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat z; 335555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 335655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 335755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glVertexAttrib3f(indx, x, y, z); 335855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 335955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 336055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 336155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.indx = indx; 336255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 336355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 336455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.z = z; 336555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 336655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(indx); 336755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(x)); 336855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(y)); 336955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(z)); 337055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 3371fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glVertexAttrib3f); 337228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 337328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 337428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glVertexAttrib3fv(GLuint indx, const GLfloat* values) 337528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 337655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 337755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 337855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint indx; 337955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLfloat* values; 338055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 338155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 338255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glVertexAttrib3fv(indx, values); 338355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 338455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 338555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 338655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.indx = indx; 338755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.values = values; 338855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 338955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(indx); 339055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(values)); 339155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 339255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 339355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(values), 3 * sizeof(GLfloat)); 3394fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glVertexAttrib3fv); 339528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 339628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 339728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 339828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 339955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 340055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 340155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint indx; 340255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat x; 340355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat y; 340455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat z; 340555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLfloat w; 340655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 340755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 340855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glVertexAttrib4f(indx, x, y, z, w); 340955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 341055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 341155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 341255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.indx = indx; 341355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 341455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 341555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.z = z; 341655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.w = w; 341755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 341855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(indx); 341955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(x)); 342055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(ToInt(y)); 342155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(ToInt(z)); 342255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg4(ToInt(w)); 342355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 3424fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glVertexAttrib4f); 342528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 342628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 342728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glVertexAttrib4fv(GLuint indx, const GLfloat* values) 342828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 342955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 343055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 343155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint indx; 343255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLfloat* values; 343355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 343455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 343555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glVertexAttrib4fv(indx, values); 343655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 343755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 343855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 343955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.indx = indx; 344055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.values = values; 344155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 344255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(indx); 344355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(ToInt(values)); 344455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 344555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 344655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.mutable_data()->assign(reinterpret_cast<const char *>(values), 4 * sizeof(GLfloat)); 3447fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glVertexAttrib4fv); 344828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 344928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 345028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: this function has pointers, it should be hand written 345128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr) 345228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 345355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 345455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 345555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLuint indx; 345655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint size; 345755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLenum type; 345855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLboolean normalized; 345955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei stride; 346055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const GLvoid* ptr; 346155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 346255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 346355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glVertexAttribPointer(indx, size, type, normalized, stride, ptr); 34645c425f2eafc3d63e475153586edcf12eb6348aadDavid Li getDbgContextThreadSpecific()->glVertexAttribPointer(indx, size, type, normalized, stride, ptr); 346555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 346655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 346755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 346855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.indx = indx; 346955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.size = size; 347055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.type = type; 347155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.normalized = normalized; 347255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.stride = stride; 347355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.ptr = ptr; 347455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 347555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(indx); 347655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(size); 347755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(type); 347855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(normalized); 347955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg4(stride); 348055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg5(ToInt(ptr)); 348155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 348255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li // FIXME: check for pointer usage 3483fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glVertexAttribPointer); 348428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 348528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 348628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glViewport(GLint x, GLint y, GLsizei width, GLsizei height) 348728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li{ 348855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li glesv2debugger::Message msg; 348955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li struct : public FunctionCall { 349055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint x; 349155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLint y; 349255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei width; 349355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li GLsizei height; 349455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 349555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) { 349655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li _c->glViewport(x, y, width, height); 349755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li return 0; 349855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } 349955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li } caller; 350055c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.x = x; 350155c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.y = y; 350255c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.width = width; 350355c94ccd495aa19784cb4ca9a1fe51fad9631542David Li caller.height = height; 350455c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 350555c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg0(x); 350655c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg1(y); 350755c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg2(width); 350855c94ccd495aa19784cb4ca9a1fe51fad9631542David Li msg.set_arg3(height); 350955c94ccd495aa19784cb4ca9a1fe51fad9631542David Li 3510fbfc703c6e77e3441d8833644278a5a79f3ca8e3David Li int * ret = MessageLoop(caller, msg, glesv2debugger::Message_Function_glViewport); 351128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li} 351228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li 351328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Li// FIXME: the following functions should be written by hand 351428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data); 351528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data); 351628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); 351728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); 351828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); 351928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetBooleanv(GLenum pname, GLboolean* params); 352028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params); 352128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetFloatv(GLenum pname, GLfloat* params); 352228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params); 352328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetIntegerv(GLenum pname, GLint* params); 352428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog); 352528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params); 352628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog); 352728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); 352828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); 352928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Liconst GLubyte* Debug_glGetString(GLenum name); 353028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params); 353128ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetTexParameteriv(GLenum target, GLenum pname, GLint* params); 353228ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetUniformfv(GLuint program, GLint location, GLfloat* params); 353328ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetUniformiv(GLuint program, GLint location, GLint* params); 353428ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params); 353528ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params); 353628ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer); 353728ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length); 353828ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params); 353928ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glTexParameteriv(GLenum target, GLenum pname, const GLint* params); 354028ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2David Livoid Debug_glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr); 3541