/* Copyright (c) 2022 Alex Diener This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Alex Diener alex@ludobloom.com */ #ifndef __GLDebugFunctions_H__ #define __GLDebugFunctions_H__ #ifdef __cplusplus extern "C" { #endif // GLBaseFunctions_list.h #define glBindTexture(...) glBindTexture_debug(__VA_ARGS__) #define glBlendFunc(...) glBlendFunc_debug(__VA_ARGS__) #define glClear(...) glClear_debug(__VA_ARGS__) #define glClearColor(...) glClearColor_debug(__VA_ARGS__) #define glColorMask(...) glColorMask_debug(__VA_ARGS__) #define glDeleteTextures(...) glDeleteTextures_debug(__VA_ARGS__) #define glDepthFunc(...) glDepthFunc_debug(__VA_ARGS__) #define glDepthMask(...) glDepthMask_debug(__VA_ARGS__) #define glDisable(...) glDisable_debug(__VA_ARGS__) #define glDrawElements(...) glDrawElements_debug(__VA_ARGS__) #define glEnable(...) glEnable_debug(__VA_ARGS__) #define glGenTextures(...) glGenTextures_debug(__VA_ARGS__) #define glGetFloatv(...) glGetFloatv_debug(__VA_ARGS__) #define glGetIntegerv(...) glGetIntegerv_debug(__VA_ARGS__) #define glLineWidth(...) glLineWidth_debug(__VA_ARGS__) #define glPixelStorei(...) glPixelStorei_debug(__VA_ARGS__) #define glPolygonOffset(...) glPolygonOffset_debug(__VA_ARGS__) #define glReadPixels(...) glReadPixels_debug(__VA_ARGS__) #define glTexImage2D(...) glTexImage2D_debug(__VA_ARGS__) #define glTexImage3D(...) glTexImage3D_debug(__VA_ARGS__) #define glTexSubImage2D(...) glTexSubImage2D_debug(__VA_ARGS__) #define glTexSubImage3D(...) glTexSubImage3D_debug(__VA_ARGS__) #define glTexParameterf(...) glTexParameterf_debug(__VA_ARGS__) #define glTexParameteri(...) glTexParameteri_debug(__VA_ARGS__) #define glViewport(...) glViewport_debug(__VA_ARGS__) #if TARGET_OPENGL_ES #define glDepthRangef(...) glDepthRangef_debug(__VA_ARGS__) #else #define glDepthRange(...) glDepthRange_debug(__VA_ARGS__) #define glPointSize(...) glPointSize_debug(__VA_ARGS__) #define glPolygonMode(...) glPolygonMode_debug(__VA_ARGS__) #define glTexImage1D(...) glTexImage1D_debug(__VA_ARGS__) #define glTexSubImage1D(...) glTexSubImage1D_debug(__VA_ARGS__) #endif // GLFunctionPointers_list.h #define glActiveTexture(...) glActiveTexture_debug(__VA_ARGS__) #define glAttachShader(...) glAttachShader_debug(__VA_ARGS__) #define glBindAttribLocation(...) glBindAttribLocation_debug(__VA_ARGS__) #define glBindBuffer(...) glBindBuffer_debug(__VA_ARGS__) #define glBindBufferBase(...) glBindBufferBase_debug(__VA_ARGS__) #define glBindFramebuffer(...) glBindFramebuffer_debug(__VA_ARGS__) #define glBindRenderbuffer(...) glBindRenderbuffer_debug(__VA_ARGS__) #define glBindVertexArray(...) glBindVertexArray_debug(__VA_ARGS__) #define glBlendEquationSeparate(...) glBlendEquationSeparate_debug(__VA_ARGS__) #define glBlendFuncSeparate(...) glBlendFuncSeparate_debug(__VA_ARGS__) #define glBlitFramebuffer(...) glBlitFramebuffer_debug(__VA_ARGS__) #define glBufferData(...) glBufferData_debug(__VA_ARGS__) #define glCheckFramebufferStatus(...) glCheckFramebufferStatus_debug(__VA_ARGS__) #define glCreateProgram(...) glCreateProgram_debug(__VA_ARGS__) #define glCreateShader(...) glCreateShader_debug(__VA_ARGS__) #define glCompileShader(...) glCompileShader_debug(__VA_ARGS__) #define glDeleteBuffers(...) glDeleteBuffers_debug(__VA_ARGS__) #define glDeleteFramebuffers(...) glDeleteFramebuffers_debug(__VA_ARGS__) #define glDeleteProgram(...) glDeleteProgram_debug(__VA_ARGS__) #define glDeleteRenderbuffers(...) glDeleteRenderbuffers_debug(__VA_ARGS__) #define glDeleteShader(...) glDeleteShader_debug(__VA_ARGS__) #define glDeleteVertexArrays(...) glDeleteVertexArrays_debug(__VA_ARGS__) #define glDisableVertexAttribArray(...) glDisableVertexAttribArray_debug(__VA_ARGS__) #define glEnableVertexAttribArray(...) glEnableVertexAttribArray_debug(__VA_ARGS__) #define glFramebufferRenderbuffer(...) glFramebufferRenderbuffer_debug(__VA_ARGS__) #define glFramebufferTexture2D(...) glFramebufferTexture2D_debug(__VA_ARGS__) #define glGenBuffers(...) glGenBuffers_debug(__VA_ARGS__) #define glGenerateMipmap(...) glGenerateMipmap_debug(__VA_ARGS__) #define glGenFramebuffers(...) glGenFramebuffers_debug(__VA_ARGS__) #define glGenRenderbuffers(...) glGenRenderbuffers_debug(__VA_ARGS__) #define glGenVertexArrays(...) glGenVertexArrays_debug(__VA_ARGS__) #define glGetProgramInfoLog(...) glGetProgramInfoLog_debug(__VA_ARGS__) #define glGetProgramiv(...) glGetProgramiv_debug(__VA_ARGS__) #define glGetShaderiv(...) glGetShaderiv_debug(__VA_ARGS__) #define glGetShaderInfoLog(...) glGetShaderInfoLog_debug(__VA_ARGS__) #define glGetStringi(...) glGetStringi_debug(__VA_ARGS__) #define glGetUniformBlockIndex(...) glGetUniformBlockIndex_debug(__VA_ARGS__) #define glGetUniformLocation(...) glGetUniformLocation_debug(__VA_ARGS__) #define glLinkProgram(...) glLinkProgram_debug(__VA_ARGS__) #define glRenderbufferStorageMultisample(...) glRenderbufferStorageMultisample_debug(__VA_ARGS__) #define glShaderSource(...) glShaderSource_debug(__VA_ARGS__) #define glTexBuffer(...) glTexBuffer_debug(__VA_ARGS__) #define glUniformBlockBinding(...) glUniformBlockBinding_debug(__VA_ARGS__) #define glUniform1f(...) glUniform1f_debug(__VA_ARGS__) #define glUniform1i(...) glUniform1i_debug(__VA_ARGS__) #define glUniform1iv(...) glUniform1iv_debug(__VA_ARGS__) #define glUniform2f(...) glUniform2f_debug(__VA_ARGS__) #define glUniform3f(...) glUniform3f_debug(__VA_ARGS__) #define glUniform4f(...) glUniform4f_debug(__VA_ARGS__) #define glUniformMatrix3fv(...) glUniformMatrix3fv_debug(__VA_ARGS__) #define glUniformMatrix4fv(...) glUniformMatrix4fv_debug(__VA_ARGS__) #define glUnmapBuffer(...) glUnmapBuffer_debug(__VA_ARGS__) #define glUseProgram(...) glUseProgram_debug(__VA_ARGS__) #define glValidateProgram(...) glValidateProgram_debug(__VA_ARGS__) #define glVertexAttribPointer(...) glVertexAttribPointer_debug(__VA_ARGS__) #if TARGET_OPENGL_ES #define glMapBufferRange(...) glMapBufferRange_debug(__VA_ARGS__) #else #define glMapBuffer(...) glMapBuffer_debug(__VA_ARGS__) #endif #define GL_FUNCTION(name, return_type, ...) \ return_type name##_debug(__VA_ARGS__); #include "renderer/GLBaseFunctions_list.h" #include "renderer/GLFunctionPointers_list.h" #undef GL_FUNCTION #ifdef __cplusplus } #endif #endif